From 7d7b8c8d64399d6a2b85a721f18f41f7840cec48 Mon Sep 17 00:00:00 2001 From: Ivan Shumkov Date: Wed, 24 Sep 2025 13:32:35 +0700 Subject: [PATCH 1/3] chore(release): update changelog and version to 2.1.0-dev.6 --- CHANGELOG.md | 13 ++++ Cargo.lock | 70 +++++++++---------- package.json | 2 +- packages/bench-suite/package.json | 2 +- packages/check-features/Cargo.toml | 2 +- packages/dapi-grpc/Cargo.toml | 2 +- packages/dapi-grpc/package.json | 2 +- packages/dapi/package.json | 2 +- .../dash-platform-balance-checker/Cargo.toml | 2 +- packages/dash-spv/package.json | 2 +- packages/dashmate/package.json | 2 +- packages/dashpay-contract/Cargo.toml | 2 +- packages/dashpay-contract/package.json | 2 +- packages/data-contracts/Cargo.toml | 2 +- packages/dpns-contract/Cargo.toml | 2 +- packages/dpns-contract/package.json | 2 +- packages/feature-flags-contract/Cargo.toml | 2 +- packages/feature-flags-contract/package.json | 2 +- packages/js-dapi-client/package.json | 2 +- packages/js-dash-sdk/package.json | 2 +- packages/js-evo-sdk/package.json | 2 +- packages/js-grpc-common/package.json | 2 +- packages/keyword-search-contract/Cargo.toml | 2 +- packages/keyword-search-contract/package.json | 2 +- .../Cargo.toml | 2 +- .../package.json | 2 +- packages/platform-test-suite/package.json | 2 +- packages/rs-context-provider/Cargo.toml | 2 +- packages/rs-dapi-client/Cargo.toml | 2 +- packages/rs-dapi-grpc-macros/Cargo.toml | 2 +- packages/rs-dpp/Cargo.toml | 2 +- packages/rs-drive-abci/Cargo.toml | 2 +- packages/rs-drive-proof-verifier/Cargo.toml | 2 +- packages/rs-drive/Cargo.toml | 2 +- .../Cargo.toml | 2 +- .../Cargo.toml | 2 +- packages/rs-platform-serialization/Cargo.toml | 2 +- .../rs-platform-value-convertible/Cargo.toml | 2 +- packages/rs-platform-value/Cargo.toml | 2 +- packages/rs-platform-version/Cargo.toml | 2 +- packages/rs-platform-versioning/Cargo.toml | 2 +- packages/rs-platform-wallet/Cargo.toml | 2 +- packages/rs-sdk-ffi/Cargo.toml | 2 +- .../Cargo.toml | 2 +- packages/rs-sdk/Cargo.toml | 2 +- packages/simple-signer/Cargo.toml | 2 +- packages/strategy-tests/Cargo.toml | 2 +- packages/token-history-contract/Cargo.toml | 2 +- packages/token-history-contract/package.json | 2 +- packages/wallet-lib/package.json | 2 +- packages/wallet-utils-contract/Cargo.toml | 2 +- packages/wallet-utils-contract/package.json | 2 +- packages/wasm-dpp/Cargo.toml | 2 +- packages/wasm-dpp/package.json | 2 +- packages/wasm-drive-verify/Cargo.toml | 2 +- packages/wasm-drive-verify/package.json | 2 +- packages/wasm-sdk/Cargo.toml | 2 +- packages/wasm-sdk/package.json | 2 +- packages/withdrawals-contract/Cargo.toml | 2 +- packages/withdrawals-contract/package.json | 2 +- 60 files changed, 106 insertions(+), 93 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1028969558..ebfbeee916 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,16 @@ +## [2.1.0-dev.6](https://github.com/dashpay/platform/compare/v2.1.0-dev.5...v2.1.0-dev.6) (2025-09-24) + + +### Features + +* **drive:** document filter for state transition subscriptions part 2 ([#2781](https://github.com/dashpay/platform/issues/2781)) +* **sdk:** add more SDK methods ([#2784](https://github.com/dashpay/platform/issues/2784)) + + +### Performance Improvements + +* **rs-sdk:** optimize wasm-sdk bundle size ([#2783](https://github.com/dashpay/platform/issues/2783)) + ## [2.1.0-dev.5](https://github.com/dashpay/platform/compare/v2.1.0-dev.4...v2.1.0-dev.5) (2025-09-19) diff --git a/Cargo.lock b/Cargo.lock index 8ee45f5ad8..17cf9c69f5 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -876,7 +876,7 @@ checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" [[package]] name = "check-features" -version = "2.1.0-dev.5" +version = "2.1.0-dev.6" dependencies = [ "toml", ] @@ -1308,7 +1308,7 @@ dependencies = [ [[package]] name = "dapi-grpc" -version = "2.1.0-dev.5" +version = "2.1.0-dev.6" dependencies = [ "dapi-grpc-macros", "futures-core", @@ -1326,7 +1326,7 @@ dependencies = [ [[package]] name = "dapi-grpc-macros" -version = "2.1.0-dev.5" +version = "2.1.0-dev.6" dependencies = [ "dapi-grpc", "heck 0.5.0", @@ -1371,7 +1371,7 @@ dependencies = [ [[package]] name = "dash-context-provider" -version = "2.1.0-dev.5" +version = "2.1.0-dev.6" dependencies = [ "dpp", "drive", @@ -1394,7 +1394,7 @@ dependencies = [ [[package]] name = "dash-platform-balance-checker" -version = "2.1.0-dev.5" +version = "2.1.0-dev.6" dependencies = [ "anyhow", "clap", @@ -1410,7 +1410,7 @@ dependencies = [ [[package]] name = "dash-sdk" -version = "2.1.0-dev.5" +version = "2.1.0-dev.6" dependencies = [ "arc-swap", "assert_matches", @@ -1576,7 +1576,7 @@ dependencies = [ [[package]] name = "dashpay-contract" -version = "2.1.0-dev.5" +version = "2.1.0-dev.6" dependencies = [ "platform-value", "platform-version", @@ -1586,7 +1586,7 @@ dependencies = [ [[package]] name = "data-contracts" -version = "2.1.0-dev.5" +version = "2.1.0-dev.6" dependencies = [ "dashpay-contract", "dpns-contract", @@ -1733,7 +1733,7 @@ checksum = "1435fa1053d8b2fbbe9be7e97eca7f33d37b28409959813daefc1446a14247f1" [[package]] name = "dpns-contract" -version = "2.1.0-dev.5" +version = "2.1.0-dev.6" dependencies = [ "platform-value", "platform-version", @@ -1743,7 +1743,7 @@ dependencies = [ [[package]] name = "dpp" -version = "2.1.0-dev.5" +version = "2.1.0-dev.6" dependencies = [ "anyhow", "assert_matches", @@ -1799,7 +1799,7 @@ dependencies = [ [[package]] name = "drive" -version = "2.1.0-dev.5" +version = "2.1.0-dev.6" dependencies = [ "arc-swap", "assert_matches", @@ -1840,7 +1840,7 @@ dependencies = [ [[package]] name = "drive-abci" -version = "2.1.0-dev.5" +version = "2.1.0-dev.6" dependencies = [ "arc-swap", "assert_matches", @@ -1894,7 +1894,7 @@ dependencies = [ [[package]] name = "drive-proof-verifier" -version = "2.1.0-dev.5" +version = "2.1.0-dev.6" dependencies = [ "bincode 2.0.0-rc.3", "dapi-grpc", @@ -2148,7 +2148,7 @@ checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" [[package]] name = "feature-flags-contract" -version = "2.1.0-dev.5" +version = "2.1.0-dev.6" dependencies = [ "platform-value", "platform-version", @@ -3316,7 +3316,7 @@ dependencies = [ [[package]] name = "json-schema-compatibility-validator" -version = "2.1.0-dev.5" +version = "2.1.0-dev.6" dependencies = [ "assert_matches", "json-patch", @@ -3433,7 +3433,7 @@ dependencies = [ [[package]] name = "keyword-search-contract" -version = "2.1.0-dev.5" +version = "2.1.0-dev.6" dependencies = [ "platform-value", "platform-version", @@ -3584,7 +3584,7 @@ dependencies = [ [[package]] name = "masternode-reward-shares-contract" -version = "2.1.0-dev.5" +version = "2.1.0-dev.6" dependencies = [ "platform-value", "platform-version", @@ -4296,7 +4296,7 @@ checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c" [[package]] name = "platform-serialization" -version = "2.1.0-dev.5" +version = "2.1.0-dev.6" dependencies = [ "bincode 2.0.0-rc.3", "platform-version", @@ -4304,7 +4304,7 @@ dependencies = [ [[package]] name = "platform-serialization-derive" -version = "2.1.0-dev.5" +version = "2.1.0-dev.6" dependencies = [ "proc-macro2", "quote", @@ -4314,7 +4314,7 @@ dependencies = [ [[package]] name = "platform-value" -version = "2.1.0-dev.5" +version = "2.1.0-dev.6" dependencies = [ "base64 0.22.1", "bincode 2.0.0-rc.3", @@ -4333,7 +4333,7 @@ dependencies = [ [[package]] name = "platform-value-convertible" -version = "2.1.0-dev.5" +version = "2.1.0-dev.6" dependencies = [ "quote", "syn 2.0.106", @@ -4341,7 +4341,7 @@ dependencies = [ [[package]] name = "platform-version" -version = "2.1.0-dev.5" +version = "2.1.0-dev.6" dependencies = [ "bincode 2.0.0-rc.3", "grovedb-version", @@ -4352,7 +4352,7 @@ dependencies = [ [[package]] name = "platform-versioning" -version = "2.1.0-dev.5" +version = "2.1.0-dev.6" dependencies = [ "proc-macro2", "quote", @@ -4361,7 +4361,7 @@ dependencies = [ [[package]] name = "platform-wallet" -version = "2.1.0-dev.5" +version = "2.1.0-dev.6" dependencies = [ "dashcore", "dpp", @@ -5041,7 +5041,7 @@ dependencies = [ [[package]] name = "rs-dapi-client" -version = "2.1.0-dev.5" +version = "2.1.0-dev.6" dependencies = [ "backon", "chrono", @@ -5068,7 +5068,7 @@ dependencies = [ [[package]] name = "rs-sdk-ffi" -version = "2.1.0-dev.5" +version = "2.1.0-dev.6" dependencies = [ "bincode 2.0.0-rc.3", "bs58", @@ -5097,7 +5097,7 @@ dependencies = [ [[package]] name = "rs-sdk-trusted-context-provider" -version = "2.1.0-dev.5" +version = "2.1.0-dev.6" dependencies = [ "arc-swap", "async-trait", @@ -5748,7 +5748,7 @@ checksum = "e3a9fe34e3e7a50316060351f37187a3f546bce95496156754b601a5fa71b76e" [[package]] name = "simple-signer" -version = "2.1.0-dev.5" +version = "2.1.0-dev.6" dependencies = [ "base64 0.22.1", "bincode 2.0.0-rc.3", @@ -5845,7 +5845,7 @@ dependencies = [ [[package]] name = "strategy-tests" -version = "2.1.0-dev.5" +version = "2.1.0-dev.6" dependencies = [ "bincode 2.0.0-rc.3", "dpp", @@ -6242,7 +6242,7 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "token-history-contract" -version = "2.1.0-dev.5" +version = "2.1.0-dev.6" dependencies = [ "platform-value", "platform-version", @@ -6916,7 +6916,7 @@ dependencies = [ [[package]] name = "wallet-utils-contract" -version = "2.1.0-dev.5" +version = "2.1.0-dev.6" dependencies = [ "platform-value", "platform-version", @@ -7054,7 +7054,7 @@ dependencies = [ [[package]] name = "wasm-dpp" -version = "2.1.0-dev.5" +version = "2.1.0-dev.6" dependencies = [ "anyhow", "async-trait", @@ -7078,7 +7078,7 @@ dependencies = [ [[package]] name = "wasm-drive-verify" -version = "2.1.0-dev.5" +version = "2.1.0-dev.6" dependencies = [ "base64 0.22.1", "bincode 2.0.0-rc.3", @@ -7113,7 +7113,7 @@ dependencies = [ [[package]] name = "wasm-sdk" -version = "2.1.0-dev.5" +version = "2.1.0-dev.6" dependencies = [ "base64 0.22.1", "bip39", @@ -7676,7 +7676,7 @@ checksum = "f17a85883d4e6d00e8a97c586de764dabcc06133f7f1d55dce5cdc070ad7fe59" [[package]] name = "withdrawals-contract" -version = "2.1.0-dev.5" +version = "2.1.0-dev.6" dependencies = [ "num_enum 0.5.11", "platform-value", diff --git a/package.json b/package.json index 35a1e3bcff..ba71670b71 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@dashevo/platform", - "version": "2.1.0-dev.5", + "version": "2.1.0-dev.6", "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 f71c81fe91..8e9fbd0d62 100644 --- a/packages/bench-suite/package.json +++ b/packages/bench-suite/package.json @@ -1,7 +1,7 @@ { "name": "@dashevo/bench-suite", "private": true, - "version": "2.1.0-dev.5", + "version": "2.1.0-dev.6", "description": "Dash Platform benchmark tool", "scripts": { "bench": "node ./bin/bench.js", diff --git a/packages/check-features/Cargo.toml b/packages/check-features/Cargo.toml index 0db441b955..4f9b684b83 100644 --- a/packages/check-features/Cargo.toml +++ b/packages/check-features/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "check-features" -version = "2.1.0-dev.5" +version = "2.1.0-dev.6" edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/packages/dapi-grpc/Cargo.toml b/packages/dapi-grpc/Cargo.toml index 8a93681b40..84bdf73cc4 100644 --- a/packages/dapi-grpc/Cargo.toml +++ b/packages/dapi-grpc/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "dapi-grpc" description = "GRPC client for Dash Platform" -version = "2.1.0-dev.5" +version = "2.1.0-dev.6" authors = [ "Samuel Westrich ", "Igor Markin ", diff --git a/packages/dapi-grpc/package.json b/packages/dapi-grpc/package.json index cd318ed028..475179fa01 100644 --- a/packages/dapi-grpc/package.json +++ b/packages/dapi-grpc/package.json @@ -1,6 +1,6 @@ { "name": "@dashevo/dapi-grpc", - "version": "2.1.0-dev.5", + "version": "2.1.0-dev.6", "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 f8929e3b66..c4ba3df4c4 100644 --- a/packages/dapi/package.json +++ b/packages/dapi/package.json @@ -1,7 +1,7 @@ { "name": "@dashevo/dapi", "private": true, - "version": "2.1.0-dev.5", + "version": "2.1.0-dev.6", "description": "A decentralized API for the Dash network", "scripts": { "api": "node scripts/api.js", diff --git a/packages/dash-platform-balance-checker/Cargo.toml b/packages/dash-platform-balance-checker/Cargo.toml index db9e9abceb..ff88cc9134 100644 --- a/packages/dash-platform-balance-checker/Cargo.toml +++ b/packages/dash-platform-balance-checker/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "dash-platform-balance-checker" -version = "2.1.0-dev.5" +version = "2.1.0-dev.6" edition = "2021" [[bin]] diff --git a/packages/dash-spv/package.json b/packages/dash-spv/package.json index a7224896b7..44d0bfb67d 100644 --- a/packages/dash-spv/package.json +++ b/packages/dash-spv/package.json @@ -1,6 +1,6 @@ { "name": "@dashevo/dash-spv", - "version": "3.1.0-dev.5", + "version": "3.1.0-dev.6", "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 4d072d63a8..989658471a 100644 --- a/packages/dashmate/package.json +++ b/packages/dashmate/package.json @@ -1,6 +1,6 @@ { "name": "dashmate", - "version": "2.1.0-dev.5", + "version": "2.1.0-dev.6", "description": "Distribution package for Dash node installation", "scripts": { "lint": "eslint .", diff --git a/packages/dashpay-contract/Cargo.toml b/packages/dashpay-contract/Cargo.toml index 29a1c00694..b39cdcff65 100644 --- a/packages/dashpay-contract/Cargo.toml +++ b/packages/dashpay-contract/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "dashpay-contract" description = "DashPay data contract schema and tools" -version = "2.1.0-dev.5" +version = "2.1.0-dev.6" edition = "2021" rust-version.workspace = true license = "MIT" diff --git a/packages/dashpay-contract/package.json b/packages/dashpay-contract/package.json index f94cde1d78..40f74c8aee 100644 --- a/packages/dashpay-contract/package.json +++ b/packages/dashpay-contract/package.json @@ -1,6 +1,6 @@ { "name": "@dashevo/dashpay-contract", - "version": "2.1.0-dev.5", + "version": "2.1.0-dev.6", "description": "Reference contract of the DashPay DPA on Dash Evolution", "scripts": { "lint": "eslint .", diff --git a/packages/data-contracts/Cargo.toml b/packages/data-contracts/Cargo.toml index 681d4b1b55..a053e9e7cf 100644 --- a/packages/data-contracts/Cargo.toml +++ b/packages/data-contracts/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "data-contracts" description = "Dash Platform system data contracts" -version = "2.1.0-dev.5" +version = "2.1.0-dev.6" edition = "2021" rust-version.workspace = true license = "MIT" diff --git a/packages/dpns-contract/Cargo.toml b/packages/dpns-contract/Cargo.toml index 49277f4dcf..60e2485c37 100644 --- a/packages/dpns-contract/Cargo.toml +++ b/packages/dpns-contract/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "dpns-contract" description = "DPNS data contract schema and tools" -version = "2.1.0-dev.5" +version = "2.1.0-dev.6" edition = "2021" rust-version.workspace = true license = "MIT" diff --git a/packages/dpns-contract/package.json b/packages/dpns-contract/package.json index 6738643e15..0afafd2804 100644 --- a/packages/dpns-contract/package.json +++ b/packages/dpns-contract/package.json @@ -1,6 +1,6 @@ { "name": "@dashevo/dpns-contract", - "version": "2.1.0-dev.5", + "version": "2.1.0-dev.6", "description": "A contract and helper scripts for DPNS DApp", "scripts": { "lint": "eslint .", diff --git a/packages/feature-flags-contract/Cargo.toml b/packages/feature-flags-contract/Cargo.toml index f82cc9e8ca..80c7590967 100644 --- a/packages/feature-flags-contract/Cargo.toml +++ b/packages/feature-flags-contract/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "feature-flags-contract" description = "Feature flags data contract schema and tools" -version = "2.1.0-dev.5" +version = "2.1.0-dev.6" edition = "2021" rust-version.workspace = true license = "MIT" diff --git a/packages/feature-flags-contract/package.json b/packages/feature-flags-contract/package.json index e074b46106..d2573234f7 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": "2.1.0-dev.5", + "version": "2.1.0-dev.6", "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 49f02e59df..aebc3fcd6a 100644 --- a/packages/js-dapi-client/package.json +++ b/packages/js-dapi-client/package.json @@ -1,6 +1,6 @@ { "name": "@dashevo/dapi-client", - "version": "2.1.0-dev.5", + "version": "2.1.0-dev.6", "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 1db2bbc47e..88977006bc 100644 --- a/packages/js-dash-sdk/package.json +++ b/packages/js-dash-sdk/package.json @@ -1,6 +1,6 @@ { "name": "dash", - "version": "5.1.0-dev.5", + "version": "5.1.0-dev.6", "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-evo-sdk/package.json b/packages/js-evo-sdk/package.json index 038a1d0877..e2d1903f0e 100644 --- a/packages/js-evo-sdk/package.json +++ b/packages/js-evo-sdk/package.json @@ -1,6 +1,6 @@ { "name": "@dashevo/evo-sdk", - "version": "2.1.0-dev.5", + "version": "2.1.0-dev.6", "type": "module", "main": "./dist/evo-sdk.module.js", "types": "./dist/sdk.d.ts", diff --git a/packages/js-grpc-common/package.json b/packages/js-grpc-common/package.json index 8f29c81f02..2d6f06d8c6 100644 --- a/packages/js-grpc-common/package.json +++ b/packages/js-grpc-common/package.json @@ -1,6 +1,6 @@ { "name": "@dashevo/grpc-common", - "version": "2.1.0-dev.5", + "version": "2.1.0-dev.6", "description": "Common GRPC library", "main": "index.js", "scripts": { diff --git a/packages/keyword-search-contract/Cargo.toml b/packages/keyword-search-contract/Cargo.toml index dc772dfaa2..2246393338 100644 --- a/packages/keyword-search-contract/Cargo.toml +++ b/packages/keyword-search-contract/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "keyword-search-contract" description = "Search data contract schema and tools. Keyword Search contract is used to find other contracts and tokens" -version = "2.1.0-dev.5" +version = "2.1.0-dev.6" edition = "2021" rust-version.workspace = true license = "MIT" diff --git a/packages/keyword-search-contract/package.json b/packages/keyword-search-contract/package.json index 0c83592dff..636606ce83 100644 --- a/packages/keyword-search-contract/package.json +++ b/packages/keyword-search-contract/package.json @@ -1,6 +1,6 @@ { "name": "@dashevo/keyword-search-contract", - "version": "2.1.0-dev.5", + "version": "2.1.0-dev.6", "description": "A contract that allows searching for contracts", "scripts": { "lint": "eslint .", diff --git a/packages/masternode-reward-shares-contract/Cargo.toml b/packages/masternode-reward-shares-contract/Cargo.toml index f7bb05fe78..9e6fbbb1bf 100644 --- a/packages/masternode-reward-shares-contract/Cargo.toml +++ b/packages/masternode-reward-shares-contract/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "masternode-reward-shares-contract" description = "Masternode reward shares data contract schema and tools" -version = "2.1.0-dev.5" +version = "2.1.0-dev.6" edition = "2021" rust-version.workspace = true license = "MIT" diff --git a/packages/masternode-reward-shares-contract/package.json b/packages/masternode-reward-shares-contract/package.json index 72775efc6a..e21f3ab34a 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": "2.1.0-dev.5", + "version": "2.1.0-dev.6", "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 712e535ae0..8ed8c3c3b6 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": "2.1.0-dev.5", + "version": "2.1.0-dev.6", "description": "Dash Network end-to-end tests", "scripts": { "test": "yarn exec bin/test.sh", diff --git a/packages/rs-context-provider/Cargo.toml b/packages/rs-context-provider/Cargo.toml index c87a7e2cac..12b783bf46 100644 --- a/packages/rs-context-provider/Cargo.toml +++ b/packages/rs-context-provider/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "dash-context-provider" -version = "2.1.0-dev.5" +version = "2.1.0-dev.6" edition = "2021" authors = ["sam@dash.org"] license = "MIT" diff --git a/packages/rs-dapi-client/Cargo.toml b/packages/rs-dapi-client/Cargo.toml index 19ffd1d2ca..7549f54fcd 100644 --- a/packages/rs-dapi-client/Cargo.toml +++ b/packages/rs-dapi-client/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "rs-dapi-client" -version = "2.1.0-dev.5" +version = "2.1.0-dev.6" edition = "2021" [features] diff --git a/packages/rs-dapi-grpc-macros/Cargo.toml b/packages/rs-dapi-grpc-macros/Cargo.toml index 5357bff3e4..07c27e62c9 100644 --- a/packages/rs-dapi-grpc-macros/Cargo.toml +++ b/packages/rs-dapi-grpc-macros/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "dapi-grpc-macros" -version = "2.1.0-dev.5" +version = "2.1.0-dev.6" edition = "2021" description = "Macros used by dapi-grpc. Internal use only." diff --git a/packages/rs-dpp/Cargo.toml b/packages/rs-dpp/Cargo.toml index ee164d2170..18b0f07fe2 100644 --- a/packages/rs-dpp/Cargo.toml +++ b/packages/rs-dpp/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "dpp" -version = "2.1.0-dev.5" +version = "2.1.0-dev.6" edition = "2021" rust-version.workspace = true authors = [ diff --git a/packages/rs-drive-abci/Cargo.toml b/packages/rs-drive-abci/Cargo.toml index caf9172b07..b8530bf969 100644 --- a/packages/rs-drive-abci/Cargo.toml +++ b/packages/rs-drive-abci/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "drive-abci" -version = "2.1.0-dev.5" +version = "2.1.0-dev.6" authors = [ "Samuel Westrich ", "Ivan Shumkov ", diff --git a/packages/rs-drive-proof-verifier/Cargo.toml b/packages/rs-drive-proof-verifier/Cargo.toml index 64e0839fa6..ab6838862b 100644 --- a/packages/rs-drive-proof-verifier/Cargo.toml +++ b/packages/rs-drive-proof-verifier/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "drive-proof-verifier" -version = "2.1.0-dev.5" +version = "2.1.0-dev.6" edition = "2021" rust-version.workspace = true diff --git a/packages/rs-drive/Cargo.toml b/packages/rs-drive/Cargo.toml index ed43e99843..6ecea3fc20 100644 --- a/packages/rs-drive/Cargo.toml +++ b/packages/rs-drive/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "drive" description = "Dash drive built on top of GroveDB" -version = "2.1.0-dev.5" +version = "2.1.0-dev.6" authors = [ "Samuel Westrich ", "Ivan Shumkov ", diff --git a/packages/rs-json-schema-compatibility-validator/Cargo.toml b/packages/rs-json-schema-compatibility-validator/Cargo.toml index c9c644f741..c4a7b43962 100644 --- a/packages/rs-json-schema-compatibility-validator/Cargo.toml +++ b/packages/rs-json-schema-compatibility-validator/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "json-schema-compatibility-validator" -version = "2.1.0-dev.5" +version = "2.1.0-dev.6" edition = "2021" rust-version.workspace = true authors = ["Ivan Shumkov "] diff --git a/packages/rs-platform-serialization-derive/Cargo.toml b/packages/rs-platform-serialization-derive/Cargo.toml index f7faa48f5b..552079fa6e 100644 --- a/packages/rs-platform-serialization-derive/Cargo.toml +++ b/packages/rs-platform-serialization-derive/Cargo.toml @@ -2,7 +2,7 @@ name = "platform-serialization-derive" authors = ["Samuel Westrich "] description = "Bincode serialization and deserialization derivations" -version = "2.1.0-dev.5" +version = "2.1.0-dev.6" edition = "2021" rust-version.workspace = true license = "MIT" diff --git a/packages/rs-platform-serialization/Cargo.toml b/packages/rs-platform-serialization/Cargo.toml index 9726cd58a0..fba61626ff 100644 --- a/packages/rs-platform-serialization/Cargo.toml +++ b/packages/rs-platform-serialization/Cargo.toml @@ -2,7 +2,7 @@ name = "platform-serialization" authors = ["Samuel Westrich "] description = "Bincode based serialization and deserialization" -version = "2.1.0-dev.5" +version = "2.1.0-dev.6" edition = "2021" rust-version.workspace = true license = "MIT" diff --git a/packages/rs-platform-value-convertible/Cargo.toml b/packages/rs-platform-value-convertible/Cargo.toml index 978bb92f6d..7468052871 100644 --- a/packages/rs-platform-value-convertible/Cargo.toml +++ b/packages/rs-platform-value-convertible/Cargo.toml @@ -2,7 +2,7 @@ name = "platform-value-convertible" authors = ["Samuel Westrich "] description = "Convertion to and from platform values" -version = "2.1.0-dev.5" +version = "2.1.0-dev.6" edition = "2021" rust-version.workspace = true license = "MIT" diff --git a/packages/rs-platform-value/Cargo.toml b/packages/rs-platform-value/Cargo.toml index aae17cfe77..4a21f1f871 100644 --- a/packages/rs-platform-value/Cargo.toml +++ b/packages/rs-platform-value/Cargo.toml @@ -2,7 +2,7 @@ name = "platform-value" authors = ["Samuel Westrich "] description = "A simple value module" -version = "2.1.0-dev.5" +version = "2.1.0-dev.6" edition = "2021" rust-version.workspace = true license = "MIT" diff --git a/packages/rs-platform-version/Cargo.toml b/packages/rs-platform-version/Cargo.toml index 629a830234..c770548d4f 100644 --- a/packages/rs-platform-version/Cargo.toml +++ b/packages/rs-platform-version/Cargo.toml @@ -2,7 +2,7 @@ name = "platform-version" authors = ["Samuel Westrich "] description = "Versioning library for Platform" -version = "2.1.0-dev.5" +version = "2.1.0-dev.6" edition = "2021" rust-version.workspace = true license = "MIT" diff --git a/packages/rs-platform-versioning/Cargo.toml b/packages/rs-platform-versioning/Cargo.toml index 07afdb7b78..711775da66 100644 --- a/packages/rs-platform-versioning/Cargo.toml +++ b/packages/rs-platform-versioning/Cargo.toml @@ -2,7 +2,7 @@ name = "platform-versioning" authors = ["Samuel Westrich "] description = "Version derivation" -version = "2.1.0-dev.5" +version = "2.1.0-dev.6" edition = "2021" rust-version.workspace = true license = "MIT" diff --git a/packages/rs-platform-wallet/Cargo.toml b/packages/rs-platform-wallet/Cargo.toml index 26347a4d7a..e1547421cd 100644 --- a/packages/rs-platform-wallet/Cargo.toml +++ b/packages/rs-platform-wallet/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "platform-wallet" -version = "2.1.0-dev.5" +version = "2.1.0-dev.6" edition = "2021" authors = ["Dash Core Team"] license = "MIT" diff --git a/packages/rs-sdk-ffi/Cargo.toml b/packages/rs-sdk-ffi/Cargo.toml index 961480ecdf..1572f0470b 100644 --- a/packages/rs-sdk-ffi/Cargo.toml +++ b/packages/rs-sdk-ffi/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "rs-sdk-ffi" -version = "2.1.0-dev.5" +version = "2.1.0-dev.6" authors = ["Dash Core Group "] edition = "2021" license = "MIT" diff --git a/packages/rs-sdk-trusted-context-provider/Cargo.toml b/packages/rs-sdk-trusted-context-provider/Cargo.toml index eb924ecb70..768b94172a 100644 --- a/packages/rs-sdk-trusted-context-provider/Cargo.toml +++ b/packages/rs-sdk-trusted-context-provider/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "rs-sdk-trusted-context-provider" -version = "2.1.0-dev.5" +version = "2.1.0-dev.6" edition = "2021" authors = ["sam@dash.org"] license = "MIT" diff --git a/packages/rs-sdk/Cargo.toml b/packages/rs-sdk/Cargo.toml index b64842a8dd..ec54b18604 100644 --- a/packages/rs-sdk/Cargo.toml +++ b/packages/rs-sdk/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "dash-sdk" -version = "2.1.0-dev.5" +version = "2.1.0-dev.6" edition = "2021" [dependencies] diff --git a/packages/simple-signer/Cargo.toml b/packages/simple-signer/Cargo.toml index 341e23caca..00a70e4371 100644 --- a/packages/simple-signer/Cargo.toml +++ b/packages/simple-signer/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "simple-signer" -version = "2.1.0-dev.5" +version = "2.1.0-dev.6" edition = "2021" rust-version.workspace = true diff --git a/packages/strategy-tests/Cargo.toml b/packages/strategy-tests/Cargo.toml index 212053102c..8ce1f1f6d7 100644 --- a/packages/strategy-tests/Cargo.toml +++ b/packages/strategy-tests/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "strategy-tests" -version = "2.1.0-dev.5" +version = "2.1.0-dev.6" authors = [ "Samuel Westrich ", "Ivan Shumkov ", diff --git a/packages/token-history-contract/Cargo.toml b/packages/token-history-contract/Cargo.toml index 8569cf7853..a61059402a 100644 --- a/packages/token-history-contract/Cargo.toml +++ b/packages/token-history-contract/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "token-history-contract" description = "Token history data contract schema and tools" -version = "2.1.0-dev.5" +version = "2.1.0-dev.6" edition = "2021" rust-version.workspace = true license = "MIT" diff --git a/packages/token-history-contract/package.json b/packages/token-history-contract/package.json index 28bec3d978..395794b6cf 100644 --- a/packages/token-history-contract/package.json +++ b/packages/token-history-contract/package.json @@ -1,6 +1,6 @@ { "name": "@dashevo/token-history-contract", - "version": "2.1.0-dev.5", + "version": "2.1.0-dev.6", "description": "The token history contract", "scripts": { "lint": "eslint .", diff --git a/packages/wallet-lib/package.json b/packages/wallet-lib/package.json index 08a77ffb26..831cfdde65 100644 --- a/packages/wallet-lib/package.json +++ b/packages/wallet-lib/package.json @@ -1,6 +1,6 @@ { "name": "@dashevo/wallet-lib", - "version": "9.1.0-dev.5", + "version": "9.1.0-dev.6", "description": "Light wallet library for Dash", "main": "src/index.js", "unpkg": "dist/wallet-lib.min.js", diff --git a/packages/wallet-utils-contract/Cargo.toml b/packages/wallet-utils-contract/Cargo.toml index 92b3786430..21b3db78d3 100644 --- a/packages/wallet-utils-contract/Cargo.toml +++ b/packages/wallet-utils-contract/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "wallet-utils-contract" description = "Wallet data contract schema and tools" -version = "2.1.0-dev.5" +version = "2.1.0-dev.6" edition = "2021" rust-version.workspace = true license = "MIT" diff --git a/packages/wallet-utils-contract/package.json b/packages/wallet-utils-contract/package.json index 8db2c757a3..72b1332129 100644 --- a/packages/wallet-utils-contract/package.json +++ b/packages/wallet-utils-contract/package.json @@ -1,6 +1,6 @@ { "name": "@dashevo/wallet-utils-contract", - "version": "2.1.0-dev.5", + "version": "2.1.0-dev.6", "description": "A contract and helper scripts for Wallet DApp", "scripts": { "lint": "eslint .", diff --git a/packages/wasm-dpp/Cargo.toml b/packages/wasm-dpp/Cargo.toml index 407c437553..508954ca39 100644 --- a/packages/wasm-dpp/Cargo.toml +++ b/packages/wasm-dpp/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "wasm-dpp" -version = "2.1.0-dev.5" +version = "2.1.0-dev.6" edition = "2021" rust-version.workspace = true authors = ["Anton Suprunchuk "] diff --git a/packages/wasm-dpp/package.json b/packages/wasm-dpp/package.json index 3fdd8965d7..f41f88c114 100644 --- a/packages/wasm-dpp/package.json +++ b/packages/wasm-dpp/package.json @@ -1,6 +1,6 @@ { "name": "@dashevo/wasm-dpp", - "version": "2.1.0-dev.5", + "version": "2.1.0-dev.6", "description": "The JavaScript implementation of the Dash Platform Protocol", "main": "dist/index.js", "types": "dist/index.d.ts", diff --git a/packages/wasm-drive-verify/Cargo.toml b/packages/wasm-drive-verify/Cargo.toml index d879152e96..1129190c97 100644 --- a/packages/wasm-drive-verify/Cargo.toml +++ b/packages/wasm-drive-verify/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "wasm-drive-verify" -version = "2.1.0-dev.5" +version = "2.1.0-dev.6" authors = ["Dash Core Group "] edition = "2021" rust-version = "1.89" diff --git a/packages/wasm-drive-verify/package.json b/packages/wasm-drive-verify/package.json index 9c4f3e5a38..c0394d0a16 100644 --- a/packages/wasm-drive-verify/package.json +++ b/packages/wasm-drive-verify/package.json @@ -3,7 +3,7 @@ "collaborators": [ "Dash Core Group " ], - "version": "2.1.0-dev.5", + "version": "2.1.0-dev.6", "license": "MIT", "description": "WASM bindings for Drive verify functions", "repository": { diff --git a/packages/wasm-sdk/Cargo.toml b/packages/wasm-sdk/Cargo.toml index 99fd0f6e0e..fdb4506396 100644 --- a/packages/wasm-sdk/Cargo.toml +++ b/packages/wasm-sdk/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "wasm-sdk" -version = "2.1.0-dev.5" +version = "2.1.0-dev.6" edition = "2021" publish = false rust-version.workspace = true diff --git a/packages/wasm-sdk/package.json b/packages/wasm-sdk/package.json index c6ebcdf7de..552bfc127f 100644 --- a/packages/wasm-sdk/package.json +++ b/packages/wasm-sdk/package.json @@ -1,6 +1,6 @@ { "name": "@dashevo/wasm-sdk", - "version": "2.1.0-dev.5", + "version": "2.1.0-dev.6", "type": "module", "main": "./dist/sdk.js", "types": "./dist/sdk.d.ts", diff --git a/packages/withdrawals-contract/Cargo.toml b/packages/withdrawals-contract/Cargo.toml index 9758b4c54f..8986c32a09 100644 --- a/packages/withdrawals-contract/Cargo.toml +++ b/packages/withdrawals-contract/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "withdrawals-contract" description = "Witdrawals data contract schema and tools" -version = "2.1.0-dev.5" +version = "2.1.0-dev.6" edition = "2021" rust-version.workspace = true license = "MIT" diff --git a/packages/withdrawals-contract/package.json b/packages/withdrawals-contract/package.json index 1bb9ae7040..907fe4a538 100644 --- a/packages/withdrawals-contract/package.json +++ b/packages/withdrawals-contract/package.json @@ -1,6 +1,6 @@ { "name": "@dashevo/withdrawals-contract", - "version": "2.1.0-dev.5", + "version": "2.1.0-dev.6", "description": "Data Contract to manipulate and track withdrawals", "scripts": { "build": "", From ad8a6209d8767569f17d5e91d3f6094a54fb356e Mon Sep 17 00:00:00 2001 From: Ivan Shumkov Date: Wed, 24 Sep 2025 19:24:40 +0700 Subject: [PATCH 2/3] build: switch to compatible tenderdash version --- Cargo.lock | 16 +- .../clients/drive/v0/nodejs/drive_pbjs.js | 41846 +++++++++------- .../dash/platform/dapi/v0/PlatformGrpc.java | 350 +- .../platform/v0/nodejs/platform_pbjs.js | 41846 +++++++++------- .../platform/v0/nodejs/platform_protoc.js | 30837 +++++++----- .../platform/v0/objective-c/Platform.pbobjc.h | 733 +- .../platform/v0/objective-c/Platform.pbobjc.m | 9306 ++-- .../platform/v0/objective-c/Platform.pbrpc.h | 52 + .../platform/v0/objective-c/Platform.pbrpc.m | 80 + .../platform/v0/python/platform_pb2.py | 2518 +- .../platform/v0/python/platform_pb2_grpc.py | 132 + .../clients/platform/v0/web/platform_pb.d.ts | 861 +- .../clients/platform/v0/web/platform_pb.js | 30837 +++++++----- .../platform/v0/web/platform_pb_service.d.ts | 76 + .../platform/v0/web/platform_pb_service.js | 160 + .../configs/defaults/getBaseConfigFactory.js | 2 +- .../configs/getConfigFileMigrationsFactory.js | 1 + 17 files changed, 94737 insertions(+), 64916 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 17cf9c69f5..609dcf222a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1017,7 +1017,7 @@ version = "3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fde0e0ec90c9dfb3b4b1a0891a7dcd0e2bffde2f7efed5fe7c9bb00e5bfb915e" dependencies = [ - "windows-sys 0.59.0", + "windows-sys 0.48.0", ] [[package]] @@ -2105,7 +2105,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" dependencies = [ "libc", - "windows-sys 0.61.0", + "windows-sys 0.52.0", ] [[package]] @@ -3208,7 +3208,7 @@ checksum = "e04d7f318608d35d4b61ddd75cbdaee86b023ebe2bd5a66ee0915f0bf93095a9" dependencies = [ "hermit-abi", "libc", - "windows-sys 0.59.0", + "windows-sys 0.52.0", ] [[package]] @@ -3472,7 +3472,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "07033963ba89ebaf1584d767badaa2e8fcec21aedea6b8c0346d487d49c28667" dependencies = [ "cfg-if 1.0.3", - "windows-targets 0.53.3", + "windows-targets 0.48.5", ] [[package]] @@ -5200,7 +5200,7 @@ dependencies = [ "errno", "libc", "linux-raw-sys 0.4.15", - "windows-sys 0.59.0", + "windows-sys 0.52.0", ] [[package]] @@ -5213,7 +5213,7 @@ dependencies = [ "errno", "libc", "linux-raw-sys 0.11.0", - "windows-sys 0.61.0", + "windows-sys 0.52.0", ] [[package]] @@ -6011,7 +6011,7 @@ dependencies = [ "getrandom 0.3.3", "once_cell", "rustix 1.1.2", - "windows-sys 0.61.0", + "windows-sys 0.52.0", ] [[package]] @@ -7241,7 +7241,7 @@ version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" dependencies = [ - "windows-sys 0.61.0", + "windows-sys 0.48.0", ] [[package]] diff --git a/packages/dapi-grpc/clients/drive/v0/nodejs/drive_pbjs.js b/packages/dapi-grpc/clients/drive/v0/nodejs/drive_pbjs.js index c49cd692e3..12f26c56d9 100644 --- a/packages/dapi-grpc/clients/drive/v0/nodejs/drive_pbjs.js +++ b/packages/dapi-grpc/clients/drive/v0/nodejs/drive_pbjs.js @@ -1122,6 +1122,39 @@ $root.org = (function() { * @variation 2 */ + /** + * Callback as used by {@link org.dash.platform.dapi.v0.Platform#getIdentityByNonUniquePublicKeyHash}. + * @memberof org.dash.platform.dapi.v0.Platform + * @typedef getIdentityByNonUniquePublicKeyHashCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse} [response] GetIdentityByNonUniquePublicKeyHashResponse + */ + + /** + * Calls getIdentityByNonUniquePublicKeyHash. + * @function getIdentityByNonUniquePublicKeyHash + * @memberof org.dash.platform.dapi.v0.Platform + * @instance + * @param {org.dash.platform.dapi.v0.IGetIdentityByNonUniquePublicKeyHashRequest} request GetIdentityByNonUniquePublicKeyHashRequest message or plain object + * @param {org.dash.platform.dapi.v0.Platform.getIdentityByNonUniquePublicKeyHashCallback} callback Node-style callback called with the error, if any, and GetIdentityByNonUniquePublicKeyHashResponse + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(Platform.prototype.getIdentityByNonUniquePublicKeyHash = function getIdentityByNonUniquePublicKeyHash(request, callback) { + return this.rpcCall(getIdentityByNonUniquePublicKeyHash, $root.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest, $root.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse, request, callback); + }, "name", { value: "getIdentityByNonUniquePublicKeyHash" }); + + /** + * Calls getIdentityByNonUniquePublicKeyHash. + * @function getIdentityByNonUniquePublicKeyHash + * @memberof org.dash.platform.dapi.v0.Platform + * @instance + * @param {org.dash.platform.dapi.v0.IGetIdentityByNonUniquePublicKeyHashRequest} request GetIdentityByNonUniquePublicKeyHashRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + /** * Callback as used by {@link org.dash.platform.dapi.v0.Platform#waitForStateTransitionResult}. * @memberof org.dash.platform.dapi.v0.Platform @@ -1287,6 +1320,39 @@ $root.org = (function() { * @variation 2 */ + /** + * Callback as used by {@link org.dash.platform.dapi.v0.Platform#getFinalizedEpochInfos}. + * @memberof org.dash.platform.dapi.v0.Platform + * @typedef getFinalizedEpochInfosCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse} [response] GetFinalizedEpochInfosResponse + */ + + /** + * Calls getFinalizedEpochInfos. + * @function getFinalizedEpochInfos + * @memberof org.dash.platform.dapi.v0.Platform + * @instance + * @param {org.dash.platform.dapi.v0.IGetFinalizedEpochInfosRequest} request GetFinalizedEpochInfosRequest message or plain object + * @param {org.dash.platform.dapi.v0.Platform.getFinalizedEpochInfosCallback} callback Node-style callback called with the error, if any, and GetFinalizedEpochInfosResponse + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(Platform.prototype.getFinalizedEpochInfos = function getFinalizedEpochInfos(request, callback) { + return this.rpcCall(getFinalizedEpochInfos, $root.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest, $root.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse, request, callback); + }, "name", { value: "getFinalizedEpochInfos" }); + + /** + * Calls getFinalizedEpochInfos. + * @function getFinalizedEpochInfos + * @memberof org.dash.platform.dapi.v0.Platform + * @instance + * @param {org.dash.platform.dapi.v0.IGetFinalizedEpochInfosRequest} request GetFinalizedEpochInfosRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + /** * Callback as used by {@link org.dash.platform.dapi.v0.Platform#getContestedResources}. * @memberof org.dash.platform.dapi.v0.Platform @@ -1815,6 +1881,39 @@ $root.org = (function() { * @variation 2 */ + /** + * Callback as used by {@link org.dash.platform.dapi.v0.Platform#getTokenContractInfo}. + * @memberof org.dash.platform.dapi.v0.Platform + * @typedef getTokenContractInfoCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {org.dash.platform.dapi.v0.GetTokenContractInfoResponse} [response] GetTokenContractInfoResponse + */ + + /** + * Calls getTokenContractInfo. + * @function getTokenContractInfo + * @memberof org.dash.platform.dapi.v0.Platform + * @instance + * @param {org.dash.platform.dapi.v0.IGetTokenContractInfoRequest} request GetTokenContractInfoRequest message or plain object + * @param {org.dash.platform.dapi.v0.Platform.getTokenContractInfoCallback} callback Node-style callback called with the error, if any, and GetTokenContractInfoResponse + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(Platform.prototype.getTokenContractInfo = function getTokenContractInfo(request, callback) { + return this.rpcCall(getTokenContractInfo, $root.org.dash.platform.dapi.v0.GetTokenContractInfoRequest, $root.org.dash.platform.dapi.v0.GetTokenContractInfoResponse, request, callback); + }, "name", { value: "getTokenContractInfo" }); + + /** + * Calls getTokenContractInfo. + * @function getTokenContractInfo + * @memberof org.dash.platform.dapi.v0.Platform + * @instance + * @param {org.dash.platform.dapi.v0.IGetTokenContractInfoRequest} request GetTokenContractInfoRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + /** * Callback as used by {@link org.dash.platform.dapi.v0.Platform#getTokenPreProgrammedDistributions}. * @memberof org.dash.platform.dapi.v0.Platform @@ -1848,6 +1947,39 @@ $root.org = (function() { * @variation 2 */ + /** + * Callback as used by {@link org.dash.platform.dapi.v0.Platform#getTokenPerpetualDistributionLastClaim}. + * @memberof org.dash.platform.dapi.v0.Platform + * @typedef getTokenPerpetualDistributionLastClaimCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse} [response] GetTokenPerpetualDistributionLastClaimResponse + */ + + /** + * Calls getTokenPerpetualDistributionLastClaim. + * @function getTokenPerpetualDistributionLastClaim + * @memberof org.dash.platform.dapi.v0.Platform + * @instance + * @param {org.dash.platform.dapi.v0.IGetTokenPerpetualDistributionLastClaimRequest} request GetTokenPerpetualDistributionLastClaimRequest message or plain object + * @param {org.dash.platform.dapi.v0.Platform.getTokenPerpetualDistributionLastClaimCallback} callback Node-style callback called with the error, if any, and GetTokenPerpetualDistributionLastClaimResponse + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(Platform.prototype.getTokenPerpetualDistributionLastClaim = function getTokenPerpetualDistributionLastClaim(request, callback) { + return this.rpcCall(getTokenPerpetualDistributionLastClaim, $root.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest, $root.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse, request, callback); + }, "name", { value: "getTokenPerpetualDistributionLastClaim" }); + + /** + * Calls getTokenPerpetualDistributionLastClaim. + * @function getTokenPerpetualDistributionLastClaim + * @memberof org.dash.platform.dapi.v0.Platform + * @instance + * @param {org.dash.platform.dapi.v0.IGetTokenPerpetualDistributionLastClaimRequest} request GetTokenPerpetualDistributionLastClaimRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + /** * Callback as used by {@link org.dash.platform.dapi.v0.Platform#getTokenTotalSupply}. * @memberof org.dash.platform.dapi.v0.Platform @@ -21433,24 +21565,24 @@ $root.org = (function() { return GetIdentityByPublicKeyHashResponse; })(); - v0.WaitForStateTransitionResultRequest = (function() { + v0.GetIdentityByNonUniquePublicKeyHashRequest = (function() { /** - * Properties of a WaitForStateTransitionResultRequest. + * Properties of a GetIdentityByNonUniquePublicKeyHashRequest. * @memberof org.dash.platform.dapi.v0 - * @interface IWaitForStateTransitionResultRequest - * @property {org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.IWaitForStateTransitionResultRequestV0|null} [v0] WaitForStateTransitionResultRequest v0 + * @interface IGetIdentityByNonUniquePublicKeyHashRequest + * @property {org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.IGetIdentityByNonUniquePublicKeyHashRequestV0|null} [v0] GetIdentityByNonUniquePublicKeyHashRequest v0 */ /** - * Constructs a new WaitForStateTransitionResultRequest. + * Constructs a new GetIdentityByNonUniquePublicKeyHashRequest. * @memberof org.dash.platform.dapi.v0 - * @classdesc Represents a WaitForStateTransitionResultRequest. - * @implements IWaitForStateTransitionResultRequest + * @classdesc Represents a GetIdentityByNonUniquePublicKeyHashRequest. + * @implements IGetIdentityByNonUniquePublicKeyHashRequest * @constructor - * @param {org.dash.platform.dapi.v0.IWaitForStateTransitionResultRequest=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.IGetIdentityByNonUniquePublicKeyHashRequest=} [properties] Properties to set */ - function WaitForStateTransitionResultRequest(properties) { + function GetIdentityByNonUniquePublicKeyHashRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -21458,89 +21590,89 @@ $root.org = (function() { } /** - * WaitForStateTransitionResultRequest v0. - * @member {org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.IWaitForStateTransitionResultRequestV0|null|undefined} v0 - * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest + * GetIdentityByNonUniquePublicKeyHashRequest v0. + * @member {org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.IGetIdentityByNonUniquePublicKeyHashRequestV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest * @instance */ - WaitForStateTransitionResultRequest.prototype.v0 = null; + GetIdentityByNonUniquePublicKeyHashRequest.prototype.v0 = null; // OneOf field names bound to virtual getters and setters var $oneOfFields; /** - * WaitForStateTransitionResultRequest version. + * GetIdentityByNonUniquePublicKeyHashRequest version. * @member {"v0"|undefined} version - * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest + * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest * @instance */ - Object.defineProperty(WaitForStateTransitionResultRequest.prototype, "version", { + Object.defineProperty(GetIdentityByNonUniquePublicKeyHashRequest.prototype, "version", { get: $util.oneOfGetter($oneOfFields = ["v0"]), set: $util.oneOfSetter($oneOfFields) }); /** - * Creates a new WaitForStateTransitionResultRequest instance using the specified properties. + * Creates a new GetIdentityByNonUniquePublicKeyHashRequest instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest + * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest * @static - * @param {org.dash.platform.dapi.v0.IWaitForStateTransitionResultRequest=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest} WaitForStateTransitionResultRequest instance + * @param {org.dash.platform.dapi.v0.IGetIdentityByNonUniquePublicKeyHashRequest=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest} GetIdentityByNonUniquePublicKeyHashRequest instance */ - WaitForStateTransitionResultRequest.create = function create(properties) { - return new WaitForStateTransitionResultRequest(properties); + GetIdentityByNonUniquePublicKeyHashRequest.create = function create(properties) { + return new GetIdentityByNonUniquePublicKeyHashRequest(properties); }; /** - * Encodes the specified WaitForStateTransitionResultRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.verify|verify} messages. + * Encodes the specified GetIdentityByNonUniquePublicKeyHashRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest + * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest * @static - * @param {org.dash.platform.dapi.v0.IWaitForStateTransitionResultRequest} message WaitForStateTransitionResultRequest message or plain object to encode + * @param {org.dash.platform.dapi.v0.IGetIdentityByNonUniquePublicKeyHashRequest} message GetIdentityByNonUniquePublicKeyHashRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - WaitForStateTransitionResultRequest.encode = function encode(message, writer) { + GetIdentityByNonUniquePublicKeyHashRequest.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.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + $root.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified WaitForStateTransitionResultRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.verify|verify} messages. + * Encodes the specified GetIdentityByNonUniquePublicKeyHashRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest + * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest * @static - * @param {org.dash.platform.dapi.v0.IWaitForStateTransitionResultRequest} message WaitForStateTransitionResultRequest message or plain object to encode + * @param {org.dash.platform.dapi.v0.IGetIdentityByNonUniquePublicKeyHashRequest} message GetIdentityByNonUniquePublicKeyHashRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - WaitForStateTransitionResultRequest.encodeDelimited = function encodeDelimited(message, writer) { + GetIdentityByNonUniquePublicKeyHashRequest.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a WaitForStateTransitionResultRequest message from the specified reader or buffer. + * Decodes a GetIdentityByNonUniquePublicKeyHashRequest message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest + * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest * @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} WaitForStateTransitionResultRequest + * @returns {org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest} GetIdentityByNonUniquePublicKeyHashRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - WaitForStateTransitionResultRequest.decode = function decode(reader, length) { + GetIdentityByNonUniquePublicKeyHashRequest.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(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.v0 = $root.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.decode(reader, reader.uint32()); + message.v0 = $root.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -21551,37 +21683,37 @@ $root.org = (function() { }; /** - * Decodes a WaitForStateTransitionResultRequest message from the specified reader or buffer, length delimited. + * Decodes a GetIdentityByNonUniquePublicKeyHashRequest message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest + * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest} WaitForStateTransitionResultRequest + * @returns {org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest} GetIdentityByNonUniquePublicKeyHashRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - WaitForStateTransitionResultRequest.decodeDelimited = function decodeDelimited(reader) { + GetIdentityByNonUniquePublicKeyHashRequest.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a WaitForStateTransitionResultRequest message. + * Verifies a GetIdentityByNonUniquePublicKeyHashRequest message. * @function verify - * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest + * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - WaitForStateTransitionResultRequest.verify = function verify(message) { + GetIdentityByNonUniquePublicKeyHashRequest.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.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.verify(message.v0); + var error = $root.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0.verify(message.v0); if (error) return "v0." + error; } @@ -21590,40 +21722,40 @@ $root.org = (function() { }; /** - * Creates a WaitForStateTransitionResultRequest message from a plain object. Also converts values to their respective internal types. + * Creates a GetIdentityByNonUniquePublicKeyHashRequest message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest + * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest} WaitForStateTransitionResultRequest + * @returns {org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest} GetIdentityByNonUniquePublicKeyHashRequest */ - WaitForStateTransitionResultRequest.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest) + GetIdentityByNonUniquePublicKeyHashRequest.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest) return object; - var message = new $root.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest(); + var message = new $root.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest(); 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); + throw TypeError(".org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.v0: object expected"); + message.v0 = $root.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0.fromObject(object.v0); } return message; }; /** - * Creates a plain object from a WaitForStateTransitionResultRequest message. Also converts values to other types if specified. + * Creates a plain object from a GetIdentityByNonUniquePublicKeyHashRequest message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest + * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest * @static - * @param {org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest} message WaitForStateTransitionResultRequest + * @param {org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest} message GetIdentityByNonUniquePublicKeyHashRequest * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - WaitForStateTransitionResultRequest.toObject = function toObject(message, options) { + GetIdentityByNonUniquePublicKeyHashRequest.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); + object.v0 = $root.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0.toObject(message.v0, options); if (options.oneofs) object.version = "v0"; } @@ -21631,35 +21763,36 @@ $root.org = (function() { }; /** - * Converts this WaitForStateTransitionResultRequest to JSON. + * Converts this GetIdentityByNonUniquePublicKeyHashRequest to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest + * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest * @instance * @returns {Object.} JSON object */ - WaitForStateTransitionResultRequest.prototype.toJSON = function toJSON() { + GetIdentityByNonUniquePublicKeyHashRequest.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0 = (function() { + GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0 = (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 + * Properties of a GetIdentityByNonUniquePublicKeyHashRequestV0. + * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest + * @interface IGetIdentityByNonUniquePublicKeyHashRequestV0 + * @property {Uint8Array|null} [publicKeyHash] GetIdentityByNonUniquePublicKeyHashRequestV0 publicKeyHash + * @property {Uint8Array|null} [startAfter] GetIdentityByNonUniquePublicKeyHashRequestV0 startAfter + * @property {boolean|null} [prove] GetIdentityByNonUniquePublicKeyHashRequestV0 prove */ /** - * Constructs a new WaitForStateTransitionResultRequestV0. - * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest - * @classdesc Represents a WaitForStateTransitionResultRequestV0. - * @implements IWaitForStateTransitionResultRequestV0 + * Constructs a new GetIdentityByNonUniquePublicKeyHashRequestV0. + * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest + * @classdesc Represents a GetIdentityByNonUniquePublicKeyHashRequestV0. + * @implements IGetIdentityByNonUniquePublicKeyHashRequestV0 * @constructor - * @param {org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.IWaitForStateTransitionResultRequestV0=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.IGetIdentityByNonUniquePublicKeyHashRequestV0=} [properties] Properties to set */ - function WaitForStateTransitionResultRequestV0(properties) { + function GetIdentityByNonUniquePublicKeyHashRequestV0(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -21667,87 +21800,100 @@ $root.org = (function() { } /** - * WaitForStateTransitionResultRequestV0 stateTransitionHash. - * @member {Uint8Array} stateTransitionHash - * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0 + * GetIdentityByNonUniquePublicKeyHashRequestV0 publicKeyHash. + * @member {Uint8Array} publicKeyHash + * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0 * @instance */ - WaitForStateTransitionResultRequestV0.prototype.stateTransitionHash = $util.newBuffer([]); + GetIdentityByNonUniquePublicKeyHashRequestV0.prototype.publicKeyHash = $util.newBuffer([]); /** - * WaitForStateTransitionResultRequestV0 prove. + * GetIdentityByNonUniquePublicKeyHashRequestV0 startAfter. + * @member {Uint8Array} startAfter + * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0 + * @instance + */ + GetIdentityByNonUniquePublicKeyHashRequestV0.prototype.startAfter = $util.newBuffer([]); + + /** + * GetIdentityByNonUniquePublicKeyHashRequestV0 prove. * @member {boolean} prove - * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0 + * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0 * @instance */ - WaitForStateTransitionResultRequestV0.prototype.prove = false; + GetIdentityByNonUniquePublicKeyHashRequestV0.prototype.prove = false; /** - * Creates a new WaitForStateTransitionResultRequestV0 instance using the specified properties. + * Creates a new GetIdentityByNonUniquePublicKeyHashRequestV0 instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0 + * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0 * @static - * @param {org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.IWaitForStateTransitionResultRequestV0=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0} WaitForStateTransitionResultRequestV0 instance + * @param {org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.IGetIdentityByNonUniquePublicKeyHashRequestV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0} GetIdentityByNonUniquePublicKeyHashRequestV0 instance */ - WaitForStateTransitionResultRequestV0.create = function create(properties) { - return new WaitForStateTransitionResultRequestV0(properties); + GetIdentityByNonUniquePublicKeyHashRequestV0.create = function create(properties) { + return new GetIdentityByNonUniquePublicKeyHashRequestV0(properties); }; /** - * Encodes the specified WaitForStateTransitionResultRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.verify|verify} messages. + * Encodes the specified GetIdentityByNonUniquePublicKeyHashRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0 + * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0 * @static - * @param {org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.IWaitForStateTransitionResultRequestV0} message WaitForStateTransitionResultRequestV0 message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.IGetIdentityByNonUniquePublicKeyHashRequestV0} message GetIdentityByNonUniquePublicKeyHashRequestV0 message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - WaitForStateTransitionResultRequestV0.encode = function encode(message, writer) { + GetIdentityByNonUniquePublicKeyHashRequestV0.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.publicKeyHash != null && Object.hasOwnProperty.call(message, "publicKeyHash")) + writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.publicKeyHash); + if (message.startAfter != null && Object.hasOwnProperty.call(message, "startAfter")) + writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.startAfter); if (message.prove != null && Object.hasOwnProperty.call(message, "prove")) - writer.uint32(/* id 2, wireType 0 =*/16).bool(message.prove); + writer.uint32(/* id 3, wireType 0 =*/24).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. + * Encodes the specified GetIdentityByNonUniquePublicKeyHashRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0 + * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0 * @static - * @param {org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.IWaitForStateTransitionResultRequestV0} message WaitForStateTransitionResultRequestV0 message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.IGetIdentityByNonUniquePublicKeyHashRequestV0} message GetIdentityByNonUniquePublicKeyHashRequestV0 message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - WaitForStateTransitionResultRequestV0.encodeDelimited = function encodeDelimited(message, writer) { + GetIdentityByNonUniquePublicKeyHashRequestV0.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a WaitForStateTransitionResultRequestV0 message from the specified reader or buffer. + * Decodes a GetIdentityByNonUniquePublicKeyHashRequestV0 message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0 + * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0 * @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 + * @returns {org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0} GetIdentityByNonUniquePublicKeyHashRequestV0 * @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) { + GetIdentityByNonUniquePublicKeyHashRequestV0.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(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.stateTransitionHash = reader.bytes(); + message.publicKeyHash = reader.bytes(); break; case 2: + message.startAfter = reader.bytes(); + break; + case 3: message.prove = reader.bool(); break; default: @@ -21759,35 +21905,38 @@ $root.org = (function() { }; /** - * Decodes a WaitForStateTransitionResultRequestV0 message from the specified reader or buffer, length delimited. + * Decodes a GetIdentityByNonUniquePublicKeyHashRequestV0 message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0 + * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0 * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0} WaitForStateTransitionResultRequestV0 + * @returns {org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0} GetIdentityByNonUniquePublicKeyHashRequestV0 * @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) { + GetIdentityByNonUniquePublicKeyHashRequestV0.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a WaitForStateTransitionResultRequestV0 message. + * Verifies a GetIdentityByNonUniquePublicKeyHashRequestV0 message. * @function verify - * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0 + * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0 * @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) { + GetIdentityByNonUniquePublicKeyHashRequestV0.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.publicKeyHash != null && message.hasOwnProperty("publicKeyHash")) + if (!(message.publicKeyHash && typeof message.publicKeyHash.length === "number" || $util.isString(message.publicKeyHash))) + return "publicKeyHash: buffer expected"; + if (message.startAfter != null && message.hasOwnProperty("startAfter")) + if (!(message.startAfter && typeof message.startAfter.length === "number" || $util.isString(message.startAfter))) + return "startAfter: buffer expected"; if (message.prove != null && message.hasOwnProperty("prove")) if (typeof message.prove !== "boolean") return "prove: boolean expected"; @@ -21795,92 +21944,106 @@ $root.org = (function() { }; /** - * Creates a WaitForStateTransitionResultRequestV0 message from a plain object. Also converts values to their respective internal types. + * Creates a GetIdentityByNonUniquePublicKeyHashRequestV0 message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0 + * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0 * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0} WaitForStateTransitionResultRequestV0 + * @returns {org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0} GetIdentityByNonUniquePublicKeyHashRequestV0 */ - WaitForStateTransitionResultRequestV0.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0) + GetIdentityByNonUniquePublicKeyHashRequestV0.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0) 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; + var message = new $root.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0(); + 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.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.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. + * Creates a plain object from a GetIdentityByNonUniquePublicKeyHashRequestV0 message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0 + * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0 * @static - * @param {org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0} message WaitForStateTransitionResultRequestV0 + * @param {org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0} message GetIdentityByNonUniquePublicKeyHashRequestV0 * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - WaitForStateTransitionResultRequestV0.toObject = function toObject(message, options) { + GetIdentityByNonUniquePublicKeyHashRequestV0.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { if (options.bytes === String) - object.stateTransitionHash = ""; + object.publicKeyHash = ""; else { - object.stateTransitionHash = []; + object.publicKeyHash = []; if (options.bytes !== Array) - object.stateTransitionHash = $util.newBuffer(object.stateTransitionHash); + object.publicKeyHash = $util.newBuffer(object.publicKeyHash); + } + if (options.bytes === String) + object.startAfter = ""; + else { + object.startAfter = []; + if (options.bytes !== Array) + object.startAfter = $util.newBuffer(object.startAfter); } 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.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.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.prove != null && message.hasOwnProperty("prove")) object.prove = message.prove; return object; }; /** - * Converts this WaitForStateTransitionResultRequestV0 to JSON. + * Converts this GetIdentityByNonUniquePublicKeyHashRequestV0 to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0 + * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0 * @instance * @returns {Object.} JSON object */ - WaitForStateTransitionResultRequestV0.prototype.toJSON = function toJSON() { + GetIdentityByNonUniquePublicKeyHashRequestV0.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return WaitForStateTransitionResultRequestV0; + return GetIdentityByNonUniquePublicKeyHashRequestV0; })(); - return WaitForStateTransitionResultRequest; + return GetIdentityByNonUniquePublicKeyHashRequest; })(); - v0.WaitForStateTransitionResultResponse = (function() { + v0.GetIdentityByNonUniquePublicKeyHashResponse = (function() { /** - * Properties of a WaitForStateTransitionResultResponse. + * Properties of a GetIdentityByNonUniquePublicKeyHashResponse. * @memberof org.dash.platform.dapi.v0 - * @interface IWaitForStateTransitionResultResponse - * @property {org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.IWaitForStateTransitionResultResponseV0|null} [v0] WaitForStateTransitionResultResponse v0 + * @interface IGetIdentityByNonUniquePublicKeyHashResponse + * @property {org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.IGetIdentityByNonUniquePublicKeyHashResponseV0|null} [v0] GetIdentityByNonUniquePublicKeyHashResponse v0 */ /** - * Constructs a new WaitForStateTransitionResultResponse. + * Constructs a new GetIdentityByNonUniquePublicKeyHashResponse. * @memberof org.dash.platform.dapi.v0 - * @classdesc Represents a WaitForStateTransitionResultResponse. - * @implements IWaitForStateTransitionResultResponse + * @classdesc Represents a GetIdentityByNonUniquePublicKeyHashResponse. + * @implements IGetIdentityByNonUniquePublicKeyHashResponse * @constructor - * @param {org.dash.platform.dapi.v0.IWaitForStateTransitionResultResponse=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.IGetIdentityByNonUniquePublicKeyHashResponse=} [properties] Properties to set */ - function WaitForStateTransitionResultResponse(properties) { + function GetIdentityByNonUniquePublicKeyHashResponse(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -21888,89 +22051,89 @@ $root.org = (function() { } /** - * WaitForStateTransitionResultResponse v0. - * @member {org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.IWaitForStateTransitionResultResponseV0|null|undefined} v0 - * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse + * GetIdentityByNonUniquePublicKeyHashResponse v0. + * @member {org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.IGetIdentityByNonUniquePublicKeyHashResponseV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse * @instance */ - WaitForStateTransitionResultResponse.prototype.v0 = null; + GetIdentityByNonUniquePublicKeyHashResponse.prototype.v0 = null; // OneOf field names bound to virtual getters and setters var $oneOfFields; /** - * WaitForStateTransitionResultResponse version. + * GetIdentityByNonUniquePublicKeyHashResponse version. * @member {"v0"|undefined} version - * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse + * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse * @instance */ - Object.defineProperty(WaitForStateTransitionResultResponse.prototype, "version", { + Object.defineProperty(GetIdentityByNonUniquePublicKeyHashResponse.prototype, "version", { get: $util.oneOfGetter($oneOfFields = ["v0"]), set: $util.oneOfSetter($oneOfFields) }); /** - * Creates a new WaitForStateTransitionResultResponse instance using the specified properties. + * Creates a new GetIdentityByNonUniquePublicKeyHashResponse instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse + * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse * @static - * @param {org.dash.platform.dapi.v0.IWaitForStateTransitionResultResponse=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse} WaitForStateTransitionResultResponse instance + * @param {org.dash.platform.dapi.v0.IGetIdentityByNonUniquePublicKeyHashResponse=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse} GetIdentityByNonUniquePublicKeyHashResponse instance */ - WaitForStateTransitionResultResponse.create = function create(properties) { - return new WaitForStateTransitionResultResponse(properties); + GetIdentityByNonUniquePublicKeyHashResponse.create = function create(properties) { + return new GetIdentityByNonUniquePublicKeyHashResponse(properties); }; /** - * Encodes the specified WaitForStateTransitionResultResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.verify|verify} messages. + * Encodes the specified GetIdentityByNonUniquePublicKeyHashResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse + * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse * @static - * @param {org.dash.platform.dapi.v0.IWaitForStateTransitionResultResponse} message WaitForStateTransitionResultResponse message or plain object to encode + * @param {org.dash.platform.dapi.v0.IGetIdentityByNonUniquePublicKeyHashResponse} message GetIdentityByNonUniquePublicKeyHashResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - WaitForStateTransitionResultResponse.encode = function encode(message, writer) { + GetIdentityByNonUniquePublicKeyHashResponse.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.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + $root.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified WaitForStateTransitionResultResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.verify|verify} messages. + * Encodes the specified GetIdentityByNonUniquePublicKeyHashResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse + * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse * @static - * @param {org.dash.platform.dapi.v0.IWaitForStateTransitionResultResponse} message WaitForStateTransitionResultResponse message or plain object to encode + * @param {org.dash.platform.dapi.v0.IGetIdentityByNonUniquePublicKeyHashResponse} message GetIdentityByNonUniquePublicKeyHashResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - WaitForStateTransitionResultResponse.encodeDelimited = function encodeDelimited(message, writer) { + GetIdentityByNonUniquePublicKeyHashResponse.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a WaitForStateTransitionResultResponse message from the specified reader or buffer. + * Decodes a GetIdentityByNonUniquePublicKeyHashResponse message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse + * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse * @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} WaitForStateTransitionResultResponse + * @returns {org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse} GetIdentityByNonUniquePublicKeyHashResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - WaitForStateTransitionResultResponse.decode = function decode(reader, length) { + GetIdentityByNonUniquePublicKeyHashResponse.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(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.v0 = $root.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.decode(reader, reader.uint32()); + message.v0 = $root.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -21981,37 +22144,37 @@ $root.org = (function() { }; /** - * Decodes a WaitForStateTransitionResultResponse message from the specified reader or buffer, length delimited. + * Decodes a GetIdentityByNonUniquePublicKeyHashResponse message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse + * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse} WaitForStateTransitionResultResponse + * @returns {org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse} GetIdentityByNonUniquePublicKeyHashResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - WaitForStateTransitionResultResponse.decodeDelimited = function decodeDelimited(reader) { + GetIdentityByNonUniquePublicKeyHashResponse.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a WaitForStateTransitionResultResponse message. + * Verifies a GetIdentityByNonUniquePublicKeyHashResponse message. * @function verify - * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse + * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - WaitForStateTransitionResultResponse.verify = function verify(message) { + GetIdentityByNonUniquePublicKeyHashResponse.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.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.verify(message.v0); + var error = $root.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.verify(message.v0); if (error) return "v0." + error; } @@ -22020,40 +22183,40 @@ $root.org = (function() { }; /** - * Creates a WaitForStateTransitionResultResponse message from a plain object. Also converts values to their respective internal types. + * Creates a GetIdentityByNonUniquePublicKeyHashResponse message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse + * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse} WaitForStateTransitionResultResponse + * @returns {org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse} GetIdentityByNonUniquePublicKeyHashResponse */ - WaitForStateTransitionResultResponse.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse) + GetIdentityByNonUniquePublicKeyHashResponse.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse) return object; - var message = new $root.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse(); + var message = new $root.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse(); 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); + throw TypeError(".org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.v0: object expected"); + message.v0 = $root.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.fromObject(object.v0); } return message; }; /** - * Creates a plain object from a WaitForStateTransitionResultResponse message. Also converts values to other types if specified. + * Creates a plain object from a GetIdentityByNonUniquePublicKeyHashResponse message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse + * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse * @static - * @param {org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse} message WaitForStateTransitionResultResponse + * @param {org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse} message GetIdentityByNonUniquePublicKeyHashResponse * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - WaitForStateTransitionResultResponse.toObject = function toObject(message, options) { + GetIdentityByNonUniquePublicKeyHashResponse.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); + object.v0 = $root.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.toObject(message.v0, options); if (options.oneofs) object.version = "v0"; } @@ -22061,36 +22224,36 @@ $root.org = (function() { }; /** - * Converts this WaitForStateTransitionResultResponse to JSON. + * Converts this GetIdentityByNonUniquePublicKeyHashResponse to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse + * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse * @instance * @returns {Object.} JSON object */ - WaitForStateTransitionResultResponse.prototype.toJSON = function toJSON() { + GetIdentityByNonUniquePublicKeyHashResponse.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0 = (function() { + GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0 = (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 + * Properties of a GetIdentityByNonUniquePublicKeyHashResponseV0. + * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse + * @interface IGetIdentityByNonUniquePublicKeyHashResponseV0 + * @property {org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IIdentityResponse|null} [identity] GetIdentityByNonUniquePublicKeyHashResponseV0 identity + * @property {org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IIdentityProvedResponse|null} [proof] GetIdentityByNonUniquePublicKeyHashResponseV0 proof + * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetIdentityByNonUniquePublicKeyHashResponseV0 metadata */ /** - * Constructs a new WaitForStateTransitionResultResponseV0. - * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse - * @classdesc Represents a WaitForStateTransitionResultResponseV0. - * @implements IWaitForStateTransitionResultResponseV0 + * Constructs a new GetIdentityByNonUniquePublicKeyHashResponseV0. + * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse + * @classdesc Represents a GetIdentityByNonUniquePublicKeyHashResponseV0. + * @implements IGetIdentityByNonUniquePublicKeyHashResponseV0 * @constructor - * @param {org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.IWaitForStateTransitionResultResponseV0=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.IGetIdentityByNonUniquePublicKeyHashResponseV0=} [properties] Properties to set */ - function WaitForStateTransitionResultResponseV0(properties) { + function GetIdentityByNonUniquePublicKeyHashResponseV0(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -22098,112 +22261,112 @@ $root.org = (function() { } /** - * WaitForStateTransitionResultResponseV0 error. - * @member {org.dash.platform.dapi.v0.IStateTransitionBroadcastError|null|undefined} error - * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0 + * GetIdentityByNonUniquePublicKeyHashResponseV0 identity. + * @member {org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IIdentityResponse|null|undefined} identity + * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0 * @instance */ - WaitForStateTransitionResultResponseV0.prototype.error = null; + GetIdentityByNonUniquePublicKeyHashResponseV0.prototype.identity = null; /** - * WaitForStateTransitionResultResponseV0 proof. - * @member {org.dash.platform.dapi.v0.IProof|null|undefined} proof - * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0 + * GetIdentityByNonUniquePublicKeyHashResponseV0 proof. + * @member {org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IIdentityProvedResponse|null|undefined} proof + * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0 * @instance */ - WaitForStateTransitionResultResponseV0.prototype.proof = null; + GetIdentityByNonUniquePublicKeyHashResponseV0.prototype.proof = null; /** - * WaitForStateTransitionResultResponseV0 metadata. + * GetIdentityByNonUniquePublicKeyHashResponseV0 metadata. * @member {org.dash.platform.dapi.v0.IResponseMetadata|null|undefined} metadata - * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0 + * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0 * @instance */ - WaitForStateTransitionResultResponseV0.prototype.metadata = null; + GetIdentityByNonUniquePublicKeyHashResponseV0.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 + * GetIdentityByNonUniquePublicKeyHashResponseV0 result. + * @member {"identity"|"proof"|undefined} result + * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0 * @instance */ - Object.defineProperty(WaitForStateTransitionResultResponseV0.prototype, "result", { - get: $util.oneOfGetter($oneOfFields = ["error", "proof"]), + Object.defineProperty(GetIdentityByNonUniquePublicKeyHashResponseV0.prototype, "result", { + get: $util.oneOfGetter($oneOfFields = ["identity", "proof"]), set: $util.oneOfSetter($oneOfFields) }); /** - * Creates a new WaitForStateTransitionResultResponseV0 instance using the specified properties. + * Creates a new GetIdentityByNonUniquePublicKeyHashResponseV0 instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0 + * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0 * @static - * @param {org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.IWaitForStateTransitionResultResponseV0=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} WaitForStateTransitionResultResponseV0 instance + * @param {org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.IGetIdentityByNonUniquePublicKeyHashResponseV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0} GetIdentityByNonUniquePublicKeyHashResponseV0 instance */ - WaitForStateTransitionResultResponseV0.create = function create(properties) { - return new WaitForStateTransitionResultResponseV0(properties); + GetIdentityByNonUniquePublicKeyHashResponseV0.create = function create(properties) { + return new GetIdentityByNonUniquePublicKeyHashResponseV0(properties); }; /** - * Encodes the specified WaitForStateTransitionResultResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.verify|verify} messages. + * Encodes the specified GetIdentityByNonUniquePublicKeyHashResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0 + * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0 * @static - * @param {org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.IWaitForStateTransitionResultResponseV0} message WaitForStateTransitionResultResponseV0 message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.IGetIdentityByNonUniquePublicKeyHashResponseV0} message GetIdentityByNonUniquePublicKeyHashResponseV0 message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - WaitForStateTransitionResultResponseV0.encode = function encode(message, writer) { + GetIdentityByNonUniquePublicKeyHashResponseV0.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.identity != null && Object.hasOwnProperty.call(message, "identity")) + $root.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse.encode(message.identity, 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(); + $root.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse.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. + * Encodes the specified GetIdentityByNonUniquePublicKeyHashResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0 + * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0 * @static - * @param {org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.IWaitForStateTransitionResultResponseV0} message WaitForStateTransitionResultResponseV0 message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.IGetIdentityByNonUniquePublicKeyHashResponseV0} message GetIdentityByNonUniquePublicKeyHashResponseV0 message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - WaitForStateTransitionResultResponseV0.encodeDelimited = function encodeDelimited(message, writer) { + GetIdentityByNonUniquePublicKeyHashResponseV0.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a WaitForStateTransitionResultResponseV0 message from the specified reader or buffer. + * Decodes a GetIdentityByNonUniquePublicKeyHashResponseV0 message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0 + * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0 * @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 + * @returns {org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0} GetIdentityByNonUniquePublicKeyHashResponseV0 * @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) { + GetIdentityByNonUniquePublicKeyHashResponseV0.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(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0(); 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()); + message.identity = $root.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse.decode(reader, reader.uint32()); break; case 2: - message.proof = $root.org.dash.platform.dapi.v0.Proof.decode(reader, reader.uint32()); + message.proof = $root.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse.decode(reader, reader.uint32()); break; case 3: message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.decode(reader, reader.uint32()); @@ -22217,39 +22380,39 @@ $root.org = (function() { }; /** - * Decodes a WaitForStateTransitionResultResponseV0 message from the specified reader or buffer, length delimited. + * Decodes a GetIdentityByNonUniquePublicKeyHashResponseV0 message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0 + * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0 * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} WaitForStateTransitionResultResponseV0 + * @returns {org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0} GetIdentityByNonUniquePublicKeyHashResponseV0 * @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) { + GetIdentityByNonUniquePublicKeyHashResponseV0.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a WaitForStateTransitionResultResponseV0 message. + * Verifies a GetIdentityByNonUniquePublicKeyHashResponseV0 message. * @function verify - * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0 + * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0 * @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) { + GetIdentityByNonUniquePublicKeyHashResponseV0.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; var properties = {}; - if (message.error != null && message.hasOwnProperty("error")) { + if (message.identity != null && message.hasOwnProperty("identity")) { properties.result = 1; { - var error = $root.org.dash.platform.dapi.v0.StateTransitionBroadcastError.verify(message.error); + var error = $root.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse.verify(message.identity); if (error) - return "error." + error; + return "identity." + error; } } if (message.proof != null && message.hasOwnProperty("proof")) { @@ -22257,7 +22420,7 @@ $root.org = (function() { return "result: multiple values"; properties.result = 1; { - var error = $root.org.dash.platform.dapi.v0.Proof.verify(message.proof); + var error = $root.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse.verify(message.proof); if (error) return "proof." + error; } @@ -22271,57 +22434,57 @@ $root.org = (function() { }; /** - * Creates a WaitForStateTransitionResultResponseV0 message from a plain object. Also converts values to their respective internal types. + * Creates a GetIdentityByNonUniquePublicKeyHashResponseV0 message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0 + * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0 * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} WaitForStateTransitionResultResponseV0 + * @returns {org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0} GetIdentityByNonUniquePublicKeyHashResponseV0 */ - WaitForStateTransitionResultResponseV0.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0) + GetIdentityByNonUniquePublicKeyHashResponseV0.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0) 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); + var message = new $root.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0(); + if (object.identity != null) { + if (typeof object.identity !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.identity: object expected"); + message.identity = $root.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse.fromObject(object.identity); } 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); + throw TypeError(".org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.proof: object expected"); + message.proof = $root.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse.fromObject(object.proof); } if (object.metadata != null) { if (typeof object.metadata !== "object") - throw TypeError(".org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.metadata: object expected"); + throw TypeError(".org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.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. + * Creates a plain object from a GetIdentityByNonUniquePublicKeyHashResponseV0 message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0 + * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0 * @static - * @param {org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} message WaitForStateTransitionResultResponseV0 + * @param {org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0} message GetIdentityByNonUniquePublicKeyHashResponseV0 * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - WaitForStateTransitionResultResponseV0.toObject = function toObject(message, options) { + GetIdentityByNonUniquePublicKeyHashResponseV0.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 (message.identity != null && message.hasOwnProperty("identity")) { + object.identity = $root.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse.toObject(message.identity, options); if (options.oneofs) - object.result = "error"; + object.result = "identity"; } if (message.proof != null && message.hasOwnProperty("proof")) { - object.proof = $root.org.dash.platform.dapi.v0.Proof.toObject(message.proof, options); + object.proof = $root.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse.toObject(message.proof, options); if (options.oneofs) object.result = "proof"; } @@ -22331,130 +22494,550 @@ $root.org = (function() { }; /** - * Converts this WaitForStateTransitionResultResponseV0 to JSON. + * Converts this GetIdentityByNonUniquePublicKeyHashResponseV0 to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0 + * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0 * @instance * @returns {Object.} JSON object */ - WaitForStateTransitionResultResponseV0.prototype.toJSON = function toJSON() { + GetIdentityByNonUniquePublicKeyHashResponseV0.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return WaitForStateTransitionResultResponseV0; - })(); + GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse = (function() { - return WaitForStateTransitionResultResponse; - })(); + /** + * Properties of an IdentityResponse. + * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0 + * @interface IIdentityResponse + * @property {Uint8Array|null} [identity] IdentityResponse identity + */ - v0.GetConsensusParamsRequest = (function() { + /** + * Constructs a new IdentityResponse. + * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0 + * @classdesc Represents an IdentityResponse. + * @implements IIdentityResponse + * @constructor + * @param {org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IIdentityResponse=} [properties] Properties to set + */ + function IdentityResponse(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]]; + } - /** - * Properties of a GetConsensusParamsRequest. - * @memberof org.dash.platform.dapi.v0 - * @interface IGetConsensusParamsRequest - * @property {org.dash.platform.dapi.v0.GetConsensusParamsRequest.IGetConsensusParamsRequestV0|null} [v0] GetConsensusParamsRequest v0 - */ + /** + * IdentityResponse identity. + * @member {Uint8Array} identity + * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse + * @instance + */ + IdentityResponse.prototype.identity = $util.newBuffer([]); - /** - * 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]]; - } + /** + * Creates a new IdentityResponse instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse + * @static + * @param {org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IIdentityResponse=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse} IdentityResponse instance + */ + IdentityResponse.create = function create(properties) { + return new IdentityResponse(properties); + }; - /** - * GetConsensusParamsRequest v0. - * @member {org.dash.platform.dapi.v0.GetConsensusParamsRequest.IGetConsensusParamsRequestV0|null|undefined} v0 - * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest - * @instance - */ - GetConsensusParamsRequest.prototype.v0 = null; + /** + * Encodes the specified IdentityResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse + * @static + * @param {org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IIdentityResponse} message IdentityResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + IdentityResponse.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); + return writer; + }; - // OneOf field names bound to virtual getters and setters - var $oneOfFields; + /** + * Encodes the specified IdentityResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse + * @static + * @param {org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IIdentityResponse} message IdentityResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + IdentityResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; - /** - * GetConsensusParamsRequest version. - * @member {"v0"|undefined} version - * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest - * @instance - */ - Object.defineProperty(GetConsensusParamsRequest.prototype, "version", { - get: $util.oneOfGetter($oneOfFields = ["v0"]), - set: $util.oneOfSetter($oneOfFields) - }); + /** + * Decodes an IdentityResponse message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse + * @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.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse} IdentityResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + IdentityResponse.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.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.identity = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; - /** - * Creates a new GetConsensusParamsRequest instance using the specified properties. + /** + * Decodes an IdentityResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse} IdentityResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + IdentityResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an IdentityResponse message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + IdentityResponse.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.identity != null && message.hasOwnProperty("identity")) + if (!(message.identity && typeof message.identity.length === "number" || $util.isString(message.identity))) + return "identity: buffer expected"; + return null; + }; + + /** + * Creates an IdentityResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse} IdentityResponse + */ + IdentityResponse.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse(); + 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; + return message; + }; + + /** + * Creates a plain object from an IdentityResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse + * @static + * @param {org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse} message IdentityResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + IdentityResponse.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + if (options.bytes === String) + object.identity = ""; + else { + object.identity = []; + if (options.bytes !== Array) + object.identity = $util.newBuffer(object.identity); + } + 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; + return object; + }; + + /** + * Converts this IdentityResponse to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse + * @instance + * @returns {Object.} JSON object + */ + IdentityResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return IdentityResponse; + })(); + + GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse = (function() { + + /** + * Properties of an IdentityProvedResponse. + * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0 + * @interface IIdentityProvedResponse + * @property {org.dash.platform.dapi.v0.IProof|null} [grovedbIdentityPublicKeyHashProof] IdentityProvedResponse grovedbIdentityPublicKeyHashProof + * @property {Uint8Array|null} [identityProofBytes] IdentityProvedResponse identityProofBytes + */ + + /** + * Constructs a new IdentityProvedResponse. + * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0 + * @classdesc Represents an IdentityProvedResponse. + * @implements IIdentityProvedResponse + * @constructor + * @param {org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IIdentityProvedResponse=} [properties] Properties to set + */ + function IdentityProvedResponse(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]]; + } + + /** + * IdentityProvedResponse grovedbIdentityPublicKeyHashProof. + * @member {org.dash.platform.dapi.v0.IProof|null|undefined} grovedbIdentityPublicKeyHashProof + * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse + * @instance + */ + IdentityProvedResponse.prototype.grovedbIdentityPublicKeyHashProof = null; + + /** + * IdentityProvedResponse identityProofBytes. + * @member {Uint8Array} identityProofBytes + * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse + * @instance + */ + IdentityProvedResponse.prototype.identityProofBytes = $util.newBuffer([]); + + /** + * Creates a new IdentityProvedResponse instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse + * @static + * @param {org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IIdentityProvedResponse=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse} IdentityProvedResponse instance + */ + IdentityProvedResponse.create = function create(properties) { + return new IdentityProvedResponse(properties); + }; + + /** + * Encodes the specified IdentityProvedResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse + * @static + * @param {org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IIdentityProvedResponse} message IdentityProvedResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + IdentityProvedResponse.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.grovedbIdentityPublicKeyHashProof != null && Object.hasOwnProperty.call(message, "grovedbIdentityPublicKeyHashProof")) + $root.org.dash.platform.dapi.v0.Proof.encode(message.grovedbIdentityPublicKeyHashProof, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.identityProofBytes != null && Object.hasOwnProperty.call(message, "identityProofBytes")) + writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.identityProofBytes); + return writer; + }; + + /** + * Encodes the specified IdentityProvedResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse + * @static + * @param {org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IIdentityProvedResponse} message IdentityProvedResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + IdentityProvedResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an IdentityProvedResponse message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse + * @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.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse} IdentityProvedResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + IdentityProvedResponse.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.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.grovedbIdentityPublicKeyHashProof = $root.org.dash.platform.dapi.v0.Proof.decode(reader, reader.uint32()); + break; + case 2: + message.identityProofBytes = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an IdentityProvedResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse} IdentityProvedResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + IdentityProvedResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an IdentityProvedResponse message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + IdentityProvedResponse.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.grovedbIdentityPublicKeyHashProof != null && message.hasOwnProperty("grovedbIdentityPublicKeyHashProof")) { + var error = $root.org.dash.platform.dapi.v0.Proof.verify(message.grovedbIdentityPublicKeyHashProof); + if (error) + return "grovedbIdentityPublicKeyHashProof." + error; + } + if (message.identityProofBytes != null && message.hasOwnProperty("identityProofBytes")) + if (!(message.identityProofBytes && typeof message.identityProofBytes.length === "number" || $util.isString(message.identityProofBytes))) + return "identityProofBytes: buffer expected"; + return null; + }; + + /** + * Creates an IdentityProvedResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse} IdentityProvedResponse + */ + IdentityProvedResponse.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse(); + if (object.grovedbIdentityPublicKeyHashProof != null) { + if (typeof object.grovedbIdentityPublicKeyHashProof !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse.grovedbIdentityPublicKeyHashProof: object expected"); + message.grovedbIdentityPublicKeyHashProof = $root.org.dash.platform.dapi.v0.Proof.fromObject(object.grovedbIdentityPublicKeyHashProof); + } + if (object.identityProofBytes != null) + if (typeof object.identityProofBytes === "string") + $util.base64.decode(object.identityProofBytes, message.identityProofBytes = $util.newBuffer($util.base64.length(object.identityProofBytes)), 0); + else if (object.identityProofBytes.length >= 0) + message.identityProofBytes = object.identityProofBytes; + return message; + }; + + /** + * Creates a plain object from an IdentityProvedResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse + * @static + * @param {org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse} message IdentityProvedResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + IdentityProvedResponse.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.grovedbIdentityPublicKeyHashProof = null; + if (options.bytes === String) + object.identityProofBytes = ""; + else { + object.identityProofBytes = []; + if (options.bytes !== Array) + object.identityProofBytes = $util.newBuffer(object.identityProofBytes); + } + } + if (message.grovedbIdentityPublicKeyHashProof != null && message.hasOwnProperty("grovedbIdentityPublicKeyHashProof")) + object.grovedbIdentityPublicKeyHashProof = $root.org.dash.platform.dapi.v0.Proof.toObject(message.grovedbIdentityPublicKeyHashProof, options); + if (message.identityProofBytes != null && message.hasOwnProperty("identityProofBytes")) + object.identityProofBytes = options.bytes === String ? $util.base64.encode(message.identityProofBytes, 0, message.identityProofBytes.length) : options.bytes === Array ? Array.prototype.slice.call(message.identityProofBytes) : message.identityProofBytes; + return object; + }; + + /** + * Converts this IdentityProvedResponse to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse + * @instance + * @returns {Object.} JSON object + */ + IdentityProvedResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return IdentityProvedResponse; + })(); + + return GetIdentityByNonUniquePublicKeyHashResponseV0; + })(); + + return GetIdentityByNonUniquePublicKeyHashResponse; + })(); + + v0.WaitForStateTransitionResultRequest = (function() { + + /** + * Properties of a WaitForStateTransitionResultRequest. + * @memberof org.dash.platform.dapi.v0 + * @interface IWaitForStateTransitionResultRequest + * @property {org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.IWaitForStateTransitionResultRequestV0|null} [v0] WaitForStateTransitionResultRequest v0 + */ + + /** + * Constructs a new WaitForStateTransitionResultRequest. + * @memberof org.dash.platform.dapi.v0 + * @classdesc Represents a WaitForStateTransitionResultRequest. + * @implements IWaitForStateTransitionResultRequest + * @constructor + * @param {org.dash.platform.dapi.v0.IWaitForStateTransitionResultRequest=} [properties] Properties to set + */ + function WaitForStateTransitionResultRequest(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]]; + } + + /** + * WaitForStateTransitionResultRequest v0. + * @member {org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.IWaitForStateTransitionResultRequestV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest + * @instance + */ + WaitForStateTransitionResultRequest.prototype.v0 = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * WaitForStateTransitionResultRequest version. + * @member {"v0"|undefined} version + * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest + * @instance + */ + Object.defineProperty(WaitForStateTransitionResultRequest.prototype, "version", { + get: $util.oneOfGetter($oneOfFields = ["v0"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new WaitForStateTransitionResultRequest instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest + * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest * @static - * @param {org.dash.platform.dapi.v0.IGetConsensusParamsRequest=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetConsensusParamsRequest} GetConsensusParamsRequest instance + * @param {org.dash.platform.dapi.v0.IWaitForStateTransitionResultRequest=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest} WaitForStateTransitionResultRequest instance */ - GetConsensusParamsRequest.create = function create(properties) { - return new GetConsensusParamsRequest(properties); + WaitForStateTransitionResultRequest.create = function create(properties) { + return new WaitForStateTransitionResultRequest(properties); }; /** - * Encodes the specified GetConsensusParamsRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetConsensusParamsRequest.verify|verify} messages. + * Encodes the specified WaitForStateTransitionResultRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest + * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest * @static - * @param {org.dash.platform.dapi.v0.IGetConsensusParamsRequest} message GetConsensusParamsRequest message or plain object to encode + * @param {org.dash.platform.dapi.v0.IWaitForStateTransitionResultRequest} message WaitForStateTransitionResultRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetConsensusParamsRequest.encode = function encode(message, writer) { + WaitForStateTransitionResultRequest.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.GetConsensusParamsRequest.GetConsensusParamsRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + $root.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified GetConsensusParamsRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetConsensusParamsRequest.verify|verify} messages. + * Encodes the specified WaitForStateTransitionResultRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest + * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest * @static - * @param {org.dash.platform.dapi.v0.IGetConsensusParamsRequest} message GetConsensusParamsRequest message or plain object to encode + * @param {org.dash.platform.dapi.v0.IWaitForStateTransitionResultRequest} message WaitForStateTransitionResultRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetConsensusParamsRequest.encodeDelimited = function encodeDelimited(message, writer) { + WaitForStateTransitionResultRequest.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetConsensusParamsRequest message from the specified reader or buffer. + * Decodes a WaitForStateTransitionResultRequest message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest + * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest * @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 + * @returns {org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest} WaitForStateTransitionResultRequest * @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) { + WaitForStateTransitionResultRequest.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(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.v0 = $root.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.decode(reader, reader.uint32()); + message.v0 = $root.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -22465,37 +23048,37 @@ $root.org = (function() { }; /** - * Decodes a GetConsensusParamsRequest message from the specified reader or buffer, length delimited. + * Decodes a WaitForStateTransitionResultRequest message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest + * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetConsensusParamsRequest} GetConsensusParamsRequest + * @returns {org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest} WaitForStateTransitionResultRequest * @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) { + WaitForStateTransitionResultRequest.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GetConsensusParamsRequest message. + * Verifies a WaitForStateTransitionResultRequest message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest + * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest * @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) { + WaitForStateTransitionResultRequest.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.GetConsensusParamsRequest.GetConsensusParamsRequestV0.verify(message.v0); + var error = $root.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.verify(message.v0); if (error) return "v0." + error; } @@ -22504,40 +23087,40 @@ $root.org = (function() { }; /** - * Creates a GetConsensusParamsRequest message from a plain object. Also converts values to their respective internal types. + * Creates a WaitForStateTransitionResultRequest message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest + * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetConsensusParamsRequest} GetConsensusParamsRequest + * @returns {org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest} WaitForStateTransitionResultRequest */ - GetConsensusParamsRequest.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetConsensusParamsRequest) + WaitForStateTransitionResultRequest.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest) return object; - var message = new $root.org.dash.platform.dapi.v0.GetConsensusParamsRequest(); + var message = new $root.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest(); 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); + 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 GetConsensusParamsRequest message. Also converts values to other types if specified. + * Creates a plain object from a WaitForStateTransitionResultRequest message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest + * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest * @static - * @param {org.dash.platform.dapi.v0.GetConsensusParamsRequest} message GetConsensusParamsRequest + * @param {org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest} message WaitForStateTransitionResultRequest * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetConsensusParamsRequest.toObject = function toObject(message, options) { + 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.GetConsensusParamsRequest.GetConsensusParamsRequestV0.toObject(message.v0, options); + object.v0 = $root.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.toObject(message.v0, options); if (options.oneofs) object.version = "v0"; } @@ -22545,35 +23128,35 @@ $root.org = (function() { }; /** - * Converts this GetConsensusParamsRequest to JSON. + * Converts this WaitForStateTransitionResultRequest to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest + * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest * @instance * @returns {Object.} JSON object */ - GetConsensusParamsRequest.prototype.toJSON = function toJSON() { + WaitForStateTransitionResultRequest.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - GetConsensusParamsRequest.GetConsensusParamsRequestV0 = (function() { + WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0 = (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 + * 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 GetConsensusParamsRequestV0. - * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest - * @classdesc Represents a GetConsensusParamsRequestV0. - * @implements IGetConsensusParamsRequestV0 + * Constructs a new WaitForStateTransitionResultRequestV0. + * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest + * @classdesc Represents a WaitForStateTransitionResultRequestV0. + * @implements IWaitForStateTransitionResultRequestV0 * @constructor - * @param {org.dash.platform.dapi.v0.GetConsensusParamsRequest.IGetConsensusParamsRequestV0=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.IWaitForStateTransitionResultRequestV0=} [properties] Properties to set */ - function GetConsensusParamsRequestV0(properties) { + function WaitForStateTransitionResultRequestV0(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -22581,85 +23164,85 @@ $root.org = (function() { } /** - * GetConsensusParamsRequestV0 height. - * @member {number} height - * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0 + * WaitForStateTransitionResultRequestV0 stateTransitionHash. + * @member {Uint8Array} stateTransitionHash + * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0 * @instance */ - GetConsensusParamsRequestV0.prototype.height = 0; + WaitForStateTransitionResultRequestV0.prototype.stateTransitionHash = $util.newBuffer([]); /** - * GetConsensusParamsRequestV0 prove. + * WaitForStateTransitionResultRequestV0 prove. * @member {boolean} prove - * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0 + * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0 * @instance */ - GetConsensusParamsRequestV0.prototype.prove = false; + WaitForStateTransitionResultRequestV0.prototype.prove = false; /** - * Creates a new GetConsensusParamsRequestV0 instance using the specified properties. + * Creates a new WaitForStateTransitionResultRequestV0 instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0 + * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetConsensusParamsRequest.IGetConsensusParamsRequestV0=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0} GetConsensusParamsRequestV0 instance + * @param {org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.IWaitForStateTransitionResultRequestV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0} WaitForStateTransitionResultRequestV0 instance */ - GetConsensusParamsRequestV0.create = function create(properties) { - return new GetConsensusParamsRequestV0(properties); + WaitForStateTransitionResultRequestV0.create = function create(properties) { + return new WaitForStateTransitionResultRequestV0(properties); }; /** - * Encodes the specified GetConsensusParamsRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.verify|verify} messages. + * 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.GetConsensusParamsRequest.GetConsensusParamsRequestV0 + * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetConsensusParamsRequest.IGetConsensusParamsRequestV0} message GetConsensusParamsRequestV0 message or plain object to encode + * @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 */ - GetConsensusParamsRequestV0.encode = function encode(message, writer) { + WaitForStateTransitionResultRequestV0.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.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 GetConsensusParamsRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.verify|verify} messages. + * 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.GetConsensusParamsRequest.GetConsensusParamsRequestV0 + * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetConsensusParamsRequest.IGetConsensusParamsRequestV0} message GetConsensusParamsRequestV0 message or plain object to encode + * @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 */ - GetConsensusParamsRequestV0.encodeDelimited = function encodeDelimited(message, writer) { + WaitForStateTransitionResultRequestV0.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetConsensusParamsRequestV0 message from the specified reader or buffer. + * Decodes a WaitForStateTransitionResultRequestV0 message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0 + * @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.GetConsensusParamsRequest.GetConsensusParamsRequestV0} GetConsensusParamsRequestV0 + * @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 */ - GetConsensusParamsRequestV0.decode = function decode(reader, length) { + 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.GetConsensusParamsRequest.GetConsensusParamsRequestV0(); + 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.height = reader.int32(); + message.stateTransitionHash = reader.bytes(); break; case 2: message.prove = reader.bool(); @@ -22673,35 +23256,35 @@ $root.org = (function() { }; /** - * Decodes a GetConsensusParamsRequestV0 message from the specified reader or buffer, length delimited. + * Decodes a WaitForStateTransitionResultRequestV0 message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0 + * @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.GetConsensusParamsRequest.GetConsensusParamsRequestV0} GetConsensusParamsRequestV0 + * @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 */ - GetConsensusParamsRequestV0.decodeDelimited = function decodeDelimited(reader) { + WaitForStateTransitionResultRequestV0.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GetConsensusParamsRequestV0 message. + * Verifies a WaitForStateTransitionResultRequestV0 message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0 + * @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 */ - GetConsensusParamsRequestV0.verify = function verify(message) { + WaitForStateTransitionResultRequestV0.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.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"; @@ -22709,83 +23292,92 @@ $root.org = (function() { }; /** - * Creates a GetConsensusParamsRequestV0 message from a plain object. Also converts values to their respective internal types. + * Creates a WaitForStateTransitionResultRequestV0 message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0 + * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0 * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0} GetConsensusParamsRequestV0 + * @returns {org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0} WaitForStateTransitionResultRequestV0 */ - GetConsensusParamsRequestV0.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0) + 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.GetConsensusParamsRequest.GetConsensusParamsRequestV0(); - if (object.height != null) - message.height = object.height | 0; + 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 GetConsensusParamsRequestV0 message. Also converts values to other types if specified. + * Creates a plain object from a WaitForStateTransitionResultRequestV0 message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0 + * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0} message GetConsensusParamsRequestV0 + * @param {org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0} message WaitForStateTransitionResultRequestV0 * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetConsensusParamsRequestV0.toObject = function toObject(message, options) { + WaitForStateTransitionResultRequestV0.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { - object.height = 0; + if (options.bytes === String) + object.stateTransitionHash = ""; + else { + object.stateTransitionHash = []; + if (options.bytes !== Array) + object.stateTransitionHash = $util.newBuffer(object.stateTransitionHash); + } object.prove = false; } - if (message.height != null && message.hasOwnProperty("height")) - object.height = message.height; + 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 GetConsensusParamsRequestV0 to JSON. + * Converts this WaitForStateTransitionResultRequestV0 to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0 + * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0 * @instance * @returns {Object.} JSON object */ - GetConsensusParamsRequestV0.prototype.toJSON = function toJSON() { + WaitForStateTransitionResultRequestV0.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return GetConsensusParamsRequestV0; + return WaitForStateTransitionResultRequestV0; })(); - return GetConsensusParamsRequest; + return WaitForStateTransitionResultRequest; })(); - v0.GetConsensusParamsResponse = (function() { + v0.WaitForStateTransitionResultResponse = (function() { /** - * Properties of a GetConsensusParamsResponse. + * Properties of a WaitForStateTransitionResultResponse. * @memberof org.dash.platform.dapi.v0 - * @interface IGetConsensusParamsResponse - * @property {org.dash.platform.dapi.v0.GetConsensusParamsResponse.IGetConsensusParamsResponseV0|null} [v0] GetConsensusParamsResponse v0 + * @interface IWaitForStateTransitionResultResponse + * @property {org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.IWaitForStateTransitionResultResponseV0|null} [v0] WaitForStateTransitionResultResponse v0 */ /** - * Constructs a new GetConsensusParamsResponse. + * Constructs a new WaitForStateTransitionResultResponse. * @memberof org.dash.platform.dapi.v0 - * @classdesc Represents a GetConsensusParamsResponse. - * @implements IGetConsensusParamsResponse + * @classdesc Represents a WaitForStateTransitionResultResponse. + * @implements IWaitForStateTransitionResultResponse * @constructor - * @param {org.dash.platform.dapi.v0.IGetConsensusParamsResponse=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.IWaitForStateTransitionResultResponse=} [properties] Properties to set */ - function GetConsensusParamsResponse(properties) { + function WaitForStateTransitionResultResponse(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -22793,89 +23385,89 @@ $root.org = (function() { } /** - * GetConsensusParamsResponse v0. - * @member {org.dash.platform.dapi.v0.GetConsensusParamsResponse.IGetConsensusParamsResponseV0|null|undefined} v0 - * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse + * WaitForStateTransitionResultResponse v0. + * @member {org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.IWaitForStateTransitionResultResponseV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse * @instance */ - GetConsensusParamsResponse.prototype.v0 = null; + WaitForStateTransitionResultResponse.prototype.v0 = null; // OneOf field names bound to virtual getters and setters var $oneOfFields; /** - * GetConsensusParamsResponse version. + * WaitForStateTransitionResultResponse version. * @member {"v0"|undefined} version - * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse + * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse * @instance */ - Object.defineProperty(GetConsensusParamsResponse.prototype, "version", { + Object.defineProperty(WaitForStateTransitionResultResponse.prototype, "version", { get: $util.oneOfGetter($oneOfFields = ["v0"]), set: $util.oneOfSetter($oneOfFields) }); /** - * Creates a new GetConsensusParamsResponse instance using the specified properties. + * Creates a new WaitForStateTransitionResultResponse instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse + * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse * @static - * @param {org.dash.platform.dapi.v0.IGetConsensusParamsResponse=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetConsensusParamsResponse} GetConsensusParamsResponse instance + * @param {org.dash.platform.dapi.v0.IWaitForStateTransitionResultResponse=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse} WaitForStateTransitionResultResponse instance */ - GetConsensusParamsResponse.create = function create(properties) { - return new GetConsensusParamsResponse(properties); + WaitForStateTransitionResultResponse.create = function create(properties) { + return new WaitForStateTransitionResultResponse(properties); }; /** - * Encodes the specified GetConsensusParamsResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetConsensusParamsResponse.verify|verify} messages. + * Encodes the specified WaitForStateTransitionResultResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse + * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse * @static - * @param {org.dash.platform.dapi.v0.IGetConsensusParamsResponse} message GetConsensusParamsResponse message or plain object to encode + * @param {org.dash.platform.dapi.v0.IWaitForStateTransitionResultResponse} message WaitForStateTransitionResultResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetConsensusParamsResponse.encode = function encode(message, writer) { + WaitForStateTransitionResultResponse.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.GetConsensusParamsResponse.GetConsensusParamsResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + $root.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified GetConsensusParamsResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetConsensusParamsResponse.verify|verify} messages. + * Encodes the specified WaitForStateTransitionResultResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse + * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse * @static - * @param {org.dash.platform.dapi.v0.IGetConsensusParamsResponse} message GetConsensusParamsResponse message or plain object to encode + * @param {org.dash.platform.dapi.v0.IWaitForStateTransitionResultResponse} message WaitForStateTransitionResultResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetConsensusParamsResponse.encodeDelimited = function encodeDelimited(message, writer) { + WaitForStateTransitionResultResponse.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetConsensusParamsResponse message from the specified reader or buffer. + * Decodes a WaitForStateTransitionResultResponse message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse + * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse * @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 + * @returns {org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse} WaitForStateTransitionResultResponse * @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) { + WaitForStateTransitionResultResponse.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(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.v0 = $root.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.decode(reader, reader.uint32()); + message.v0 = $root.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -22886,37 +23478,37 @@ $root.org = (function() { }; /** - * Decodes a GetConsensusParamsResponse message from the specified reader or buffer, length delimited. + * Decodes a WaitForStateTransitionResultResponse message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse + * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetConsensusParamsResponse} GetConsensusParamsResponse + * @returns {org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse} WaitForStateTransitionResultResponse * @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) { + WaitForStateTransitionResultResponse.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GetConsensusParamsResponse message. + * Verifies a WaitForStateTransitionResultResponse message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse + * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse * @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) { + WaitForStateTransitionResultResponse.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.GetConsensusParamsResponse.GetConsensusParamsResponseV0.verify(message.v0); + var error = $root.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.verify(message.v0); if (error) return "v0." + error; } @@ -22925,40 +23517,40 @@ $root.org = (function() { }; /** - * Creates a GetConsensusParamsResponse message from a plain object. Also converts values to their respective internal types. + * Creates a WaitForStateTransitionResultResponse message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse + * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetConsensusParamsResponse} GetConsensusParamsResponse + * @returns {org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse} WaitForStateTransitionResultResponse */ - GetConsensusParamsResponse.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetConsensusParamsResponse) + WaitForStateTransitionResultResponse.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse) return object; - var message = new $root.org.dash.platform.dapi.v0.GetConsensusParamsResponse(); + var message = new $root.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse(); 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); + 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 GetConsensusParamsResponse message. Also converts values to other types if specified. + * Creates a plain object from a WaitForStateTransitionResultResponse message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse + * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse * @static - * @param {org.dash.platform.dapi.v0.GetConsensusParamsResponse} message GetConsensusParamsResponse + * @param {org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse} message WaitForStateTransitionResultResponse * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetConsensusParamsResponse.toObject = function toObject(message, options) { + 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.GetConsensusParamsResponse.GetConsensusParamsResponseV0.toObject(message.v0, options); + object.v0 = $root.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.toObject(message.v0, options); if (options.oneofs) object.version = "v0"; } @@ -22966,36 +23558,36 @@ $root.org = (function() { }; /** - * Converts this GetConsensusParamsResponse to JSON. + * Converts this WaitForStateTransitionResultResponse to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse + * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse * @instance * @returns {Object.} JSON object */ - GetConsensusParamsResponse.prototype.toJSON = function toJSON() { + WaitForStateTransitionResultResponse.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - GetConsensusParamsResponse.ConsensusParamsBlock = (function() { + WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0 = (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 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 ConsensusParamsBlock. - * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse - * @classdesc Represents a ConsensusParamsBlock. - * @implements IConsensusParamsBlock + * Constructs a new WaitForStateTransitionResultResponseV0. + * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse + * @classdesc Represents a WaitForStateTransitionResultResponseV0. + * @implements IWaitForStateTransitionResultResponseV0 * @constructor - * @param {org.dash.platform.dapi.v0.GetConsensusParamsResponse.IConsensusParamsBlock=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.IWaitForStateTransitionResultResponseV0=} [properties] Properties to set */ - function ConsensusParamsBlock(properties) { + function WaitForStateTransitionResultResponseV0(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -23003,101 +23595,115 @@ $root.org = (function() { } /** - * ConsensusParamsBlock maxBytes. - * @member {string} maxBytes - * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock + * WaitForStateTransitionResultResponseV0 error. + * @member {org.dash.platform.dapi.v0.IStateTransitionBroadcastError|null|undefined} error + * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0 * @instance */ - ConsensusParamsBlock.prototype.maxBytes = ""; + WaitForStateTransitionResultResponseV0.prototype.error = null; /** - * ConsensusParamsBlock maxGas. - * @member {string} maxGas - * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock + * WaitForStateTransitionResultResponseV0 proof. + * @member {org.dash.platform.dapi.v0.IProof|null|undefined} proof + * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0 * @instance */ - ConsensusParamsBlock.prototype.maxGas = ""; + WaitForStateTransitionResultResponseV0.prototype.proof = null; /** - * ConsensusParamsBlock timeIotaMs. - * @member {string} timeIotaMs - * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock + * WaitForStateTransitionResultResponseV0 metadata. + * @member {org.dash.platform.dapi.v0.IResponseMetadata|null|undefined} metadata + * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0 * @instance */ - ConsensusParamsBlock.prototype.timeIotaMs = ""; + WaitForStateTransitionResultResponseV0.prototype.metadata = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; /** - * Creates a new ConsensusParamsBlock instance using the specified properties. + * 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.GetConsensusParamsResponse.ConsensusParamsBlock + * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetConsensusParamsResponse.IConsensusParamsBlock=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock} ConsensusParamsBlock instance + * @param {org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.IWaitForStateTransitionResultResponseV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} WaitForStateTransitionResultResponseV0 instance */ - ConsensusParamsBlock.create = function create(properties) { - return new ConsensusParamsBlock(properties); + WaitForStateTransitionResultResponseV0.create = function create(properties) { + return new WaitForStateTransitionResultResponseV0(properties); }; /** - * Encodes the specified ConsensusParamsBlock message. Does not implicitly {@link org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.verify|verify} messages. + * 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.GetConsensusParamsResponse.ConsensusParamsBlock + * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetConsensusParamsResponse.IConsensusParamsBlock} message ConsensusParamsBlock message or plain object to encode + * @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 */ - ConsensusParamsBlock.encode = function encode(message, writer) { + WaitForStateTransitionResultResponseV0.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.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 ConsensusParamsBlock message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.verify|verify} messages. + * 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.GetConsensusParamsResponse.ConsensusParamsBlock + * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetConsensusParamsResponse.IConsensusParamsBlock} message ConsensusParamsBlock message or plain object to encode + * @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 */ - ConsensusParamsBlock.encodeDelimited = function encodeDelimited(message, writer) { + WaitForStateTransitionResultResponseV0.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a ConsensusParamsBlock message from the specified reader or buffer. + * Decodes a WaitForStateTransitionResultResponseV0 message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock + * @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.GetConsensusParamsResponse.ConsensusParamsBlock} ConsensusParamsBlock + * @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 */ - ConsensusParamsBlock.decode = function decode(reader, length) { + 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.GetConsensusParamsResponse.ConsensusParamsBlock(); + 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.maxBytes = reader.string(); + message.error = $root.org.dash.platform.dapi.v0.StateTransitionBroadcastError.decode(reader, reader.uint32()); break; case 2: - message.maxGas = reader.string(); + message.proof = $root.org.dash.platform.dapi.v0.Proof.decode(reader, reader.uint32()); break; case 3: - message.timeIotaMs = reader.string(); + message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -23108,357 +23714,363 @@ $root.org = (function() { }; /** - * Decodes a ConsensusParamsBlock message from the specified reader or buffer, length delimited. + * Decodes a WaitForStateTransitionResultResponseV0 message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock + * @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.GetConsensusParamsResponse.ConsensusParamsBlock} ConsensusParamsBlock + * @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 */ - ConsensusParamsBlock.decodeDelimited = function decodeDelimited(reader) { + WaitForStateTransitionResultResponseV0.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a ConsensusParamsBlock message. + * Verifies a WaitForStateTransitionResultResponseV0 message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock + * @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 */ - ConsensusParamsBlock.verify = function verify(message) { + WaitForStateTransitionResultResponseV0.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.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 ConsensusParamsBlock message from a plain object. Also converts values to their respective internal types. + * Creates a WaitForStateTransitionResultResponseV0 message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock + * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0 * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock} ConsensusParamsBlock + * @returns {org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} WaitForStateTransitionResultResponseV0 */ - ConsensusParamsBlock.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock) + 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.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); + 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 ConsensusParamsBlock message. Also converts values to other types if specified. + * Creates a plain object from a WaitForStateTransitionResultResponseV0 message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock + * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock} message ConsensusParamsBlock + * @param {org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} message WaitForStateTransitionResultResponseV0 * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - ConsensusParamsBlock.toObject = function toObject(message, options) { + WaitForStateTransitionResultResponseV0.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.defaults) { - object.maxBytes = ""; - object.maxGas = ""; - object.timeIotaMs = ""; + 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.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; + 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 ConsensusParamsBlock to JSON. + * Converts this WaitForStateTransitionResultResponseV0 to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock + * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0 * @instance * @returns {Object.} JSON object */ - ConsensusParamsBlock.prototype.toJSON = function toJSON() { + WaitForStateTransitionResultResponseV0.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return ConsensusParamsBlock; + return WaitForStateTransitionResultResponseV0; })(); - GetConsensusParamsResponse.ConsensusParamsEvidence = (function() { + return WaitForStateTransitionResultResponse; + })(); - /** - * 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 - */ + v0.GetConsensusParamsRequest = (function() { - /** - * 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]]; - } + /** + * Properties of a GetConsensusParamsRequest. + * @memberof org.dash.platform.dapi.v0 + * @interface IGetConsensusParamsRequest + * @property {org.dash.platform.dapi.v0.GetConsensusParamsRequest.IGetConsensusParamsRequestV0|null} [v0] GetConsensusParamsRequest v0 + */ - /** - * ConsensusParamsEvidence maxAgeNumBlocks. - * @member {string} maxAgeNumBlocks - * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence - * @instance - */ - ConsensusParamsEvidence.prototype.maxAgeNumBlocks = ""; + /** + * 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]]; + } - /** - * ConsensusParamsEvidence maxAgeDuration. - * @member {string} maxAgeDuration - * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence - * @instance - */ - ConsensusParamsEvidence.prototype.maxAgeDuration = ""; + /** + * GetConsensusParamsRequest v0. + * @member {org.dash.platform.dapi.v0.GetConsensusParamsRequest.IGetConsensusParamsRequestV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest + * @instance + */ + GetConsensusParamsRequest.prototype.v0 = null; - /** - * ConsensusParamsEvidence maxBytes. - * @member {string} maxBytes - * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence - * @instance - */ - ConsensusParamsEvidence.prototype.maxBytes = ""; + // OneOf field names bound to virtual getters and setters + var $oneOfFields; - /** - * 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); - }; + /** + * GetConsensusParamsRequest version. + * @member {"v0"|undefined} version + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest + * @instance + */ + Object.defineProperty(GetConsensusParamsRequest.prototype, "version", { + get: $util.oneOfGetter($oneOfFields = ["v0"]), + set: $util.oneOfSetter($oneOfFields) + }); - /** - * 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; - }; + /** + * 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); + }; - /** - * 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(); - }; + /** + * 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.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; + }; - /** - * 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; - }; - - /** - * 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()); - }; + /** + * 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(); + }; - /** - * 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; - }; + /** + * 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.v0 = $root.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + 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; - }; + /** + * 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()); + }; - /** - * 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 = ""; + /** + * 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"; + 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; } - 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 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.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; + }; - /** - * 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); - }; + /** + * 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 (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"; + } + return object; + }; - return ConsensusParamsEvidence; - })(); + /** + * 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); + }; - GetConsensusParamsResponse.GetConsensusParamsResponseV0 = (function() { + GetConsensusParamsRequest.GetConsensusParamsRequestV0 = (function() { /** - * 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 + * 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 GetConsensusParamsResponseV0. - * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse - * @classdesc Represents a GetConsensusParamsResponseV0. - * @implements IGetConsensusParamsResponseV0 + * Constructs a new GetConsensusParamsRequestV0. + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest + * @classdesc Represents a GetConsensusParamsRequestV0. + * @implements IGetConsensusParamsRequestV0 * @constructor - * @param {org.dash.platform.dapi.v0.GetConsensusParamsResponse.IGetConsensusParamsResponseV0=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetConsensusParamsRequest.IGetConsensusParamsRequestV0=} [properties] Properties to set */ - function GetConsensusParamsResponseV0(properties) { + function GetConsensusParamsRequestV0(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -23466,88 +24078,88 @@ $root.org = (function() { } /** - * GetConsensusParamsResponseV0 block. - * @member {org.dash.platform.dapi.v0.GetConsensusParamsResponse.IConsensusParamsBlock|null|undefined} block - * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0 + * GetConsensusParamsRequestV0 height. + * @member {number} height + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0 * @instance */ - GetConsensusParamsResponseV0.prototype.block = null; + GetConsensusParamsRequestV0.prototype.height = 0; /** - * GetConsensusParamsResponseV0 evidence. - * @member {org.dash.platform.dapi.v0.GetConsensusParamsResponse.IConsensusParamsEvidence|null|undefined} evidence - * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0 + * GetConsensusParamsRequestV0 prove. + * @member {boolean} prove + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0 * @instance */ - GetConsensusParamsResponseV0.prototype.evidence = null; + GetConsensusParamsRequestV0.prototype.prove = false; /** - * Creates a new GetConsensusParamsResponseV0 instance using the specified properties. + * Creates a new GetConsensusParamsRequestV0 instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0 + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetConsensusParamsResponse.IGetConsensusParamsResponseV0=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0} GetConsensusParamsResponseV0 instance + * @param {org.dash.platform.dapi.v0.GetConsensusParamsRequest.IGetConsensusParamsRequestV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0} GetConsensusParamsRequestV0 instance */ - GetConsensusParamsResponseV0.create = function create(properties) { - return new GetConsensusParamsResponseV0(properties); + GetConsensusParamsRequestV0.create = function create(properties) { + return new GetConsensusParamsRequestV0(properties); }; /** - * Encodes the specified GetConsensusParamsResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.verify|verify} messages. + * 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.GetConsensusParamsResponse.GetConsensusParamsResponseV0 + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetConsensusParamsResponse.IGetConsensusParamsResponseV0} message GetConsensusParamsResponseV0 message or plain object to encode + * @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 */ - GetConsensusParamsResponseV0.encode = function encode(message, writer) { + GetConsensusParamsRequestV0.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(); + 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 GetConsensusParamsResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.verify|verify} messages. + * 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.GetConsensusParamsResponse.GetConsensusParamsResponseV0 + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetConsensusParamsResponse.IGetConsensusParamsResponseV0} message GetConsensusParamsResponseV0 message or plain object to encode + * @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 */ - GetConsensusParamsResponseV0.encodeDelimited = function encodeDelimited(message, writer) { + GetConsensusParamsRequestV0.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetConsensusParamsResponseV0 message from the specified reader or buffer. + * Decodes a GetConsensusParamsRequestV0 message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0 + * @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.GetConsensusParamsResponse.GetConsensusParamsResponseV0} GetConsensusParamsResponseV0 + * @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 */ - GetConsensusParamsResponseV0.decode = function decode(reader, length) { + 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.GetConsensusParamsResponse.GetConsensusParamsResponseV0(); + 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.block = $root.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.decode(reader, reader.uint32()); + message.height = reader.int32(); break; case 2: - message.evidence = $root.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.decode(reader, reader.uint32()); + message.prove = reader.bool(); break; default: reader.skipType(tag & 7); @@ -23558,129 +24170,119 @@ $root.org = (function() { }; /** - * Decodes a GetConsensusParamsResponseV0 message from the specified reader or buffer, length delimited. + * Decodes a GetConsensusParamsRequestV0 message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0 + * @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.GetConsensusParamsResponse.GetConsensusParamsResponseV0} GetConsensusParamsResponseV0 + * @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 */ - GetConsensusParamsResponseV0.decodeDelimited = function decodeDelimited(reader) { + GetConsensusParamsRequestV0.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GetConsensusParamsResponseV0 message. + * Verifies a GetConsensusParamsRequestV0 message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0 + * @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 */ - GetConsensusParamsResponseV0.verify = function verify(message) { + GetConsensusParamsRequestV0.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; - } + 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 GetConsensusParamsResponseV0 message from a plain object. Also converts values to their respective internal types. + * Creates a GetConsensusParamsRequestV0 message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0 + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0 * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0} GetConsensusParamsResponseV0 + * @returns {org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0} GetConsensusParamsRequestV0 */ - GetConsensusParamsResponseV0.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0) + 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.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); - } + 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 GetConsensusParamsResponseV0 message. Also converts values to other types if specified. + * Creates a plain object from a GetConsensusParamsRequestV0 message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0 + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0} message GetConsensusParamsResponseV0 + * @param {org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0} message GetConsensusParamsRequestV0 * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetConsensusParamsResponseV0.toObject = function toObject(message, options) { + GetConsensusParamsRequestV0.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { - object.block = null; - object.evidence = null; + object.height = 0; + object.prove = false; } - 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); + 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 GetConsensusParamsResponseV0 to JSON. + * Converts this GetConsensusParamsRequestV0 to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0 + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0 * @instance * @returns {Object.} JSON object */ - GetConsensusParamsResponseV0.prototype.toJSON = function toJSON() { + GetConsensusParamsRequestV0.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return GetConsensusParamsResponseV0; + return GetConsensusParamsRequestV0; })(); - return GetConsensusParamsResponse; + return GetConsensusParamsRequest; })(); - v0.GetProtocolVersionUpgradeStateRequest = (function() { + v0.GetConsensusParamsResponse = (function() { /** - * Properties of a GetProtocolVersionUpgradeStateRequest. + * Properties of a GetConsensusParamsResponse. * @memberof org.dash.platform.dapi.v0 - * @interface IGetProtocolVersionUpgradeStateRequest - * @property {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.IGetProtocolVersionUpgradeStateRequestV0|null} [v0] GetProtocolVersionUpgradeStateRequest v0 + * @interface IGetConsensusParamsResponse + * @property {org.dash.platform.dapi.v0.GetConsensusParamsResponse.IGetConsensusParamsResponseV0|null} [v0] GetConsensusParamsResponse v0 */ /** - * Constructs a new GetProtocolVersionUpgradeStateRequest. + * Constructs a new GetConsensusParamsResponse. * @memberof org.dash.platform.dapi.v0 - * @classdesc Represents a GetProtocolVersionUpgradeStateRequest. - * @implements IGetProtocolVersionUpgradeStateRequest + * @classdesc Represents a GetConsensusParamsResponse. + * @implements IGetConsensusParamsResponse * @constructor - * @param {org.dash.platform.dapi.v0.IGetProtocolVersionUpgradeStateRequest=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.IGetConsensusParamsResponse=} [properties] Properties to set */ - function GetProtocolVersionUpgradeStateRequest(properties) { + function GetConsensusParamsResponse(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -23688,89 +24290,89 @@ $root.org = (function() { } /** - * GetProtocolVersionUpgradeStateRequest v0. - * @member {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.IGetProtocolVersionUpgradeStateRequestV0|null|undefined} v0 - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest + * GetConsensusParamsResponse v0. + * @member {org.dash.platform.dapi.v0.GetConsensusParamsResponse.IGetConsensusParamsResponseV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse * @instance */ - GetProtocolVersionUpgradeStateRequest.prototype.v0 = null; + GetConsensusParamsResponse.prototype.v0 = null; // OneOf field names bound to virtual getters and setters var $oneOfFields; /** - * GetProtocolVersionUpgradeStateRequest version. + * GetConsensusParamsResponse version. * @member {"v0"|undefined} version - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse * @instance */ - Object.defineProperty(GetProtocolVersionUpgradeStateRequest.prototype, "version", { + Object.defineProperty(GetConsensusParamsResponse.prototype, "version", { get: $util.oneOfGetter($oneOfFields = ["v0"]), set: $util.oneOfSetter($oneOfFields) }); /** - * Creates a new GetProtocolVersionUpgradeStateRequest instance using the specified properties. + * Creates a new GetConsensusParamsResponse instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse * @static - * @param {org.dash.platform.dapi.v0.IGetProtocolVersionUpgradeStateRequest=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest} GetProtocolVersionUpgradeStateRequest instance + * @param {org.dash.platform.dapi.v0.IGetConsensusParamsResponse=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetConsensusParamsResponse} GetConsensusParamsResponse instance */ - GetProtocolVersionUpgradeStateRequest.create = function create(properties) { - return new GetProtocolVersionUpgradeStateRequest(properties); + GetConsensusParamsResponse.create = function create(properties) { + return new GetConsensusParamsResponse(properties); }; /** - * Encodes the specified GetProtocolVersionUpgradeStateRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.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.GetProtocolVersionUpgradeStateRequest + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse * @static - * @param {org.dash.platform.dapi.v0.IGetProtocolVersionUpgradeStateRequest} message GetProtocolVersionUpgradeStateRequest 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 */ - GetProtocolVersionUpgradeStateRequest.encode = function encode(message, writer) { + GetConsensusParamsResponse.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.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + $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 GetProtocolVersionUpgradeStateRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.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.GetProtocolVersionUpgradeStateRequest + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse * @static - * @param {org.dash.platform.dapi.v0.IGetProtocolVersionUpgradeStateRequest} message GetProtocolVersionUpgradeStateRequest 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 */ - GetProtocolVersionUpgradeStateRequest.encodeDelimited = function encodeDelimited(message, writer) { + GetConsensusParamsResponse.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetProtocolVersionUpgradeStateRequest 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.GetProtocolVersionUpgradeStateRequest + * @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.GetProtocolVersionUpgradeStateRequest} GetProtocolVersionUpgradeStateRequest + * @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 */ - GetProtocolVersionUpgradeStateRequest.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.GetProtocolVersionUpgradeStateRequest(); + 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.v0 = $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.decode(reader, reader.uint32()); + message.v0 = $root.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -23781,37 +24383,37 @@ $root.org = (function() { }; /** - * Decodes a GetProtocolVersionUpgradeStateRequest 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.GetProtocolVersionUpgradeStateRequest + * @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.GetProtocolVersionUpgradeStateRequest} GetProtocolVersionUpgradeStateRequest + * @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 */ - GetProtocolVersionUpgradeStateRequest.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 GetProtocolVersionUpgradeStateRequest message. + * Verifies a GetConsensusParamsResponse message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest + * @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 */ - GetProtocolVersionUpgradeStateRequest.verify = function verify(message) { + GetConsensusParamsResponse.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.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.verify(message.v0); + var error = $root.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.verify(message.v0); if (error) return "v0." + error; } @@ -23820,40 +24422,40 @@ $root.org = (function() { }; /** - * Creates a GetProtocolVersionUpgradeStateRequest 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.GetProtocolVersionUpgradeStateRequest + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest} GetProtocolVersionUpgradeStateRequest + * @returns {org.dash.platform.dapi.v0.GetConsensusParamsResponse} GetConsensusParamsResponse */ - GetProtocolVersionUpgradeStateRequest.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest) + 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.GetProtocolVersionUpgradeStateRequest(); + 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.GetProtocolVersionUpgradeStateRequest.v0: object expected"); - message.v0 = $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.fromObject(object.v0); + 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 GetProtocolVersionUpgradeStateRequest 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.GetProtocolVersionUpgradeStateRequest + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse * @static - * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest} message GetProtocolVersionUpgradeStateRequest + * @param {org.dash.platform.dapi.v0.GetConsensusParamsResponse} message GetConsensusParamsResponse * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetProtocolVersionUpgradeStateRequest.toObject = function toObject(message, options) { + GetConsensusParamsResponse.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.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.toObject(message.v0, options); + object.v0 = $root.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.toObject(message.v0, options); if (options.oneofs) object.version = "v0"; } @@ -23861,34 +24463,36 @@ $root.org = (function() { }; /** - * Converts this GetProtocolVersionUpgradeStateRequest to JSON. + * Converts this GetConsensusParamsResponse to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse * @instance * @returns {Object.} JSON object */ - GetProtocolVersionUpgradeStateRequest.prototype.toJSON = function toJSON() { + GetConsensusParamsResponse.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0 = (function() { + GetConsensusParamsResponse.ConsensusParamsBlock = (function() { /** - * Properties of a GetProtocolVersionUpgradeStateRequestV0. - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest - * @interface IGetProtocolVersionUpgradeStateRequestV0 - * @property {boolean|null} [prove] GetProtocolVersionUpgradeStateRequestV0 prove + * 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 */ /** - * Constructs a new GetProtocolVersionUpgradeStateRequestV0. - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest - * @classdesc Represents a GetProtocolVersionUpgradeStateRequestV0. - * @implements IGetProtocolVersionUpgradeStateRequestV0 + * Constructs a new ConsensusParamsBlock. + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse + * @classdesc Represents a ConsensusParamsBlock. + * @implements IConsensusParamsBlock * @constructor - * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.IGetProtocolVersionUpgradeStateRequestV0=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetConsensusParamsResponse.IConsensusParamsBlock=} [properties] Properties to set */ - function GetProtocolVersionUpgradeStateRequestV0(properties) { + function ConsensusParamsBlock(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -23896,75 +24500,101 @@ $root.org = (function() { } /** - * GetProtocolVersionUpgradeStateRequestV0 prove. - * @member {boolean} prove - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0 + * ConsensusParamsBlock maxBytes. + * @member {string} maxBytes + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock * @instance */ - GetProtocolVersionUpgradeStateRequestV0.prototype.prove = false; + ConsensusParamsBlock.prototype.maxBytes = ""; /** - * Creates a new GetProtocolVersionUpgradeStateRequestV0 instance using the specified properties. + * ConsensusParamsBlock maxGas. + * @member {string} maxGas + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock + * @instance + */ + ConsensusParamsBlock.prototype.maxGas = ""; + + /** + * ConsensusParamsBlock timeIotaMs. + * @member {string} timeIotaMs + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock + * @instance + */ + ConsensusParamsBlock.prototype.timeIotaMs = ""; + + /** + * Creates a new ConsensusParamsBlock instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0 + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock * @static - * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.IGetProtocolVersionUpgradeStateRequestV0=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0} GetProtocolVersionUpgradeStateRequestV0 instance + * @param {org.dash.platform.dapi.v0.GetConsensusParamsResponse.IConsensusParamsBlock=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock} ConsensusParamsBlock instance */ - GetProtocolVersionUpgradeStateRequestV0.create = function create(properties) { - return new GetProtocolVersionUpgradeStateRequestV0(properties); + ConsensusParamsBlock.create = function create(properties) { + return new ConsensusParamsBlock(properties); }; /** - * Encodes the specified GetProtocolVersionUpgradeStateRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.verify|verify} messages. + * 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.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0 + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock * @static - * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.IGetProtocolVersionUpgradeStateRequestV0} message GetProtocolVersionUpgradeStateRequestV0 message or plain object to encode + * @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 */ - GetProtocolVersionUpgradeStateRequestV0.encode = function encode(message, writer) { + ConsensusParamsBlock.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); + 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 GetProtocolVersionUpgradeStateRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.verify|verify} messages. + * 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.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0 + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock * @static - * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.IGetProtocolVersionUpgradeStateRequestV0} message GetProtocolVersionUpgradeStateRequestV0 message or plain object to encode + * @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 */ - GetProtocolVersionUpgradeStateRequestV0.encodeDelimited = function encodeDelimited(message, writer) { + ConsensusParamsBlock.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetProtocolVersionUpgradeStateRequestV0 message from the specified reader or buffer. + * Decodes a ConsensusParamsBlock message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0 + * @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.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0} GetProtocolVersionUpgradeStateRequestV0 + * @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 */ - GetProtocolVersionUpgradeStateRequestV0.decode = function decode(reader, length) { + 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.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0(); + 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.prove = reader.bool(); + message.maxBytes = reader.string(); + break; + case 2: + message.maxGas = reader.string(); + break; + case 3: + message.timeIotaMs = reader.string(); break; default: reader.skipType(tag & 7); @@ -23975,320 +24605,126 @@ $root.org = (function() { }; /** - * Decodes a GetProtocolVersionUpgradeStateRequestV0 message from the specified reader or buffer, length delimited. + * Decodes a ConsensusParamsBlock message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0 + * @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.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0} GetProtocolVersionUpgradeStateRequestV0 + * @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 */ - GetProtocolVersionUpgradeStateRequestV0.decodeDelimited = function decodeDelimited(reader) { + ConsensusParamsBlock.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GetProtocolVersionUpgradeStateRequestV0 message. + * Verifies a ConsensusParamsBlock message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0 + * @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 */ - GetProtocolVersionUpgradeStateRequestV0.verify = function verify(message) { + ConsensusParamsBlock.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"; + 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 GetProtocolVersionUpgradeStateRequestV0 message from a plain object. Also converts values to their respective internal types. + * Creates a ConsensusParamsBlock message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0 + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0} GetProtocolVersionUpgradeStateRequestV0 + * @returns {org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock} ConsensusParamsBlock */ - GetProtocolVersionUpgradeStateRequestV0.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0) + 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.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0(); - if (object.prove != null) - message.prove = Boolean(object.prove); + 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 GetProtocolVersionUpgradeStateRequestV0 message. Also converts values to other types if specified. + * Creates a plain object from a ConsensusParamsBlock message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0 + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock * @static - * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0} message GetProtocolVersionUpgradeStateRequestV0 + * @param {org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock} message ConsensusParamsBlock * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetProtocolVersionUpgradeStateRequestV0.toObject = function toObject(message, options) { + ConsensusParamsBlock.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; + 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 GetProtocolVersionUpgradeStateRequestV0 to JSON. + * Converts this ConsensusParamsBlock to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0 + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock * @instance * @returns {Object.} JSON object */ - GetProtocolVersionUpgradeStateRequestV0.prototype.toJSON = function toJSON() { + ConsensusParamsBlock.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return GetProtocolVersionUpgradeStateRequestV0; + return ConsensusParamsBlock; })(); - return GetProtocolVersionUpgradeStateRequest; - })(); - - v0.GetProtocolVersionUpgradeStateResponse = (function() { - - /** - * Properties of a GetProtocolVersionUpgradeStateResponse. - * @memberof org.dash.platform.dapi.v0 - * @interface IGetProtocolVersionUpgradeStateResponse - * @property {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.IGetProtocolVersionUpgradeStateResponseV0|null} [v0] GetProtocolVersionUpgradeStateResponse v0 - */ - - /** - * Constructs a new GetProtocolVersionUpgradeStateResponse. - * @memberof org.dash.platform.dapi.v0 - * @classdesc Represents a GetProtocolVersionUpgradeStateResponse. - * @implements IGetProtocolVersionUpgradeStateResponse - * @constructor - * @param {org.dash.platform.dapi.v0.IGetProtocolVersionUpgradeStateResponse=} [properties] Properties to set - */ - function GetProtocolVersionUpgradeStateResponse(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]]; - } - - /** - * GetProtocolVersionUpgradeStateResponse v0. - * @member {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.IGetProtocolVersionUpgradeStateResponseV0|null|undefined} v0 - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse - * @instance - */ - GetProtocolVersionUpgradeStateResponse.prototype.v0 = null; - - // OneOf field names bound to virtual getters and setters - var $oneOfFields; - - /** - * GetProtocolVersionUpgradeStateResponse version. - * @member {"v0"|undefined} version - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse - * @instance - */ - Object.defineProperty(GetProtocolVersionUpgradeStateResponse.prototype, "version", { - get: $util.oneOfGetter($oneOfFields = ["v0"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Creates a new GetProtocolVersionUpgradeStateResponse instance using the specified properties. - * @function create - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse - * @static - * @param {org.dash.platform.dapi.v0.IGetProtocolVersionUpgradeStateResponse=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse} GetProtocolVersionUpgradeStateResponse instance - */ - GetProtocolVersionUpgradeStateResponse.create = function create(properties) { - return new GetProtocolVersionUpgradeStateResponse(properties); - }; - - /** - * Encodes the specified GetProtocolVersionUpgradeStateResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.verify|verify} messages. - * @function encode - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse - * @static - * @param {org.dash.platform.dapi.v0.IGetProtocolVersionUpgradeStateResponse} message GetProtocolVersionUpgradeStateResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - GetProtocolVersionUpgradeStateResponse.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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified GetProtocolVersionUpgradeStateResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse - * @static - * @param {org.dash.platform.dapi.v0.IGetProtocolVersionUpgradeStateResponse} message GetProtocolVersionUpgradeStateResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - GetProtocolVersionUpgradeStateResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a GetProtocolVersionUpgradeStateResponse message from the specified reader or buffer. - * @function decode - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse - * @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.GetProtocolVersionUpgradeStateResponse} GetProtocolVersionUpgradeStateResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - GetProtocolVersionUpgradeStateResponse.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.GetProtocolVersionUpgradeStateResponse(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.v0 = $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a GetProtocolVersionUpgradeStateResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse} GetProtocolVersionUpgradeStateResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - GetProtocolVersionUpgradeStateResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a GetProtocolVersionUpgradeStateResponse message. - * @function verify - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - GetProtocolVersionUpgradeStateResponse.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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.verify(message.v0); - if (error) - return "v0." + error; - } - } - return null; - }; - - /** - * Creates a GetProtocolVersionUpgradeStateResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse - * @static - * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse} GetProtocolVersionUpgradeStateResponse - */ - GetProtocolVersionUpgradeStateResponse.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse) - return object; - var message = new $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse(); - if (object.v0 != null) { - if (typeof object.v0 !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.v0: object expected"); - message.v0 = $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.fromObject(object.v0); - } - return message; - }; - - /** - * Creates a plain object from a GetProtocolVersionUpgradeStateResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse - * @static - * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse} message GetProtocolVersionUpgradeStateResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - GetProtocolVersionUpgradeStateResponse.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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.toObject(message.v0, options); - if (options.oneofs) - object.version = "v0"; - } - return object; - }; - - /** - * Converts this GetProtocolVersionUpgradeStateResponse to JSON. - * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse - * @instance - * @returns {Object.} JSON object - */ - GetProtocolVersionUpgradeStateResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0 = (function() { + GetConsensusParamsResponse.ConsensusParamsEvidence = (function() { /** - * Properties of a GetProtocolVersionUpgradeStateResponseV0. - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse - * @interface IGetProtocolVersionUpgradeStateResponseV0 - * @property {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.IVersions|null} [versions] GetProtocolVersionUpgradeStateResponseV0 versions - * @property {org.dash.platform.dapi.v0.IProof|null} [proof] GetProtocolVersionUpgradeStateResponseV0 proof - * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetProtocolVersionUpgradeStateResponseV0 metadata + * 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 GetProtocolVersionUpgradeStateResponseV0. - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse - * @classdesc Represents a GetProtocolVersionUpgradeStateResponseV0. - * @implements IGetProtocolVersionUpgradeStateResponseV0 + * Constructs a new ConsensusParamsEvidence. + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse + * @classdesc Represents a ConsensusParamsEvidence. + * @implements IConsensusParamsEvidence * @constructor - * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.IGetProtocolVersionUpgradeStateResponseV0=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetConsensusParamsResponse.IConsensusParamsEvidence=} [properties] Properties to set */ - function GetProtocolVersionUpgradeStateResponseV0(properties) { + function ConsensusParamsEvidence(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -24296,115 +24732,101 @@ $root.org = (function() { } /** - * GetProtocolVersionUpgradeStateResponseV0 versions. - * @member {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.IVersions|null|undefined} versions - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0 - * @instance - */ - GetProtocolVersionUpgradeStateResponseV0.prototype.versions = null; - - /** - * GetProtocolVersionUpgradeStateResponseV0 proof. - * @member {org.dash.platform.dapi.v0.IProof|null|undefined} proof - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0 + * ConsensusParamsEvidence maxAgeNumBlocks. + * @member {string} maxAgeNumBlocks + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence * @instance */ - GetProtocolVersionUpgradeStateResponseV0.prototype.proof = null; + ConsensusParamsEvidence.prototype.maxAgeNumBlocks = ""; /** - * GetProtocolVersionUpgradeStateResponseV0 metadata. - * @member {org.dash.platform.dapi.v0.IResponseMetadata|null|undefined} metadata - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0 + * ConsensusParamsEvidence maxAgeDuration. + * @member {string} maxAgeDuration + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence * @instance */ - GetProtocolVersionUpgradeStateResponseV0.prototype.metadata = null; - - // OneOf field names bound to virtual getters and setters - var $oneOfFields; + ConsensusParamsEvidence.prototype.maxAgeDuration = ""; /** - * GetProtocolVersionUpgradeStateResponseV0 result. - * @member {"versions"|"proof"|undefined} result - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0 + * ConsensusParamsEvidence maxBytes. + * @member {string} maxBytes + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence * @instance */ - Object.defineProperty(GetProtocolVersionUpgradeStateResponseV0.prototype, "result", { - get: $util.oneOfGetter($oneOfFields = ["versions", "proof"]), - set: $util.oneOfSetter($oneOfFields) - }); + ConsensusParamsEvidence.prototype.maxBytes = ""; /** - * Creates a new GetProtocolVersionUpgradeStateResponseV0 instance using the specified properties. + * Creates a new ConsensusParamsEvidence instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0 + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence * @static - * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.IGetProtocolVersionUpgradeStateResponseV0=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0} GetProtocolVersionUpgradeStateResponseV0 instance + * @param {org.dash.platform.dapi.v0.GetConsensusParamsResponse.IConsensusParamsEvidence=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence} ConsensusParamsEvidence instance */ - GetProtocolVersionUpgradeStateResponseV0.create = function create(properties) { - return new GetProtocolVersionUpgradeStateResponseV0(properties); + ConsensusParamsEvidence.create = function create(properties) { + return new ConsensusParamsEvidence(properties); }; /** - * Encodes the specified GetProtocolVersionUpgradeStateResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.verify|verify} messages. + * 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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0 + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence * @static - * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.IGetProtocolVersionUpgradeStateResponseV0} message GetProtocolVersionUpgradeStateResponseV0 message or plain object to encode + * @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 */ - GetProtocolVersionUpgradeStateResponseV0.encode = function encode(message, writer) { + ConsensusParamsEvidence.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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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(); + 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 GetProtocolVersionUpgradeStateResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.verify|verify} messages. + * 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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0 + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence * @static - * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.IGetProtocolVersionUpgradeStateResponseV0} message GetProtocolVersionUpgradeStateResponseV0 message or plain object to encode + * @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 */ - GetProtocolVersionUpgradeStateResponseV0.encodeDelimited = function encodeDelimited(message, writer) { + ConsensusParamsEvidence.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetProtocolVersionUpgradeStateResponseV0 message from the specified reader or buffer. + * Decodes a ConsensusParamsEvidence message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0 + * @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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0} GetProtocolVersionUpgradeStateResponseV0 + * @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 */ - GetProtocolVersionUpgradeStateResponseV0.decode = function decode(reader, length) { + 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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0(); + 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.versions = $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.decode(reader, reader.uint32()); + message.maxAgeNumBlocks = reader.string(); break; case 2: - message.proof = $root.org.dash.platform.dapi.v0.Proof.decode(reader, reader.uint32()); + message.maxAgeDuration = reader.string(); break; case 3: - message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.decode(reader, reader.uint32()); + message.maxBytes = reader.string(); break; default: reader.skipType(tag & 7); @@ -24415,662 +24837,437 @@ $root.org = (function() { }; /** - * Decodes a GetProtocolVersionUpgradeStateResponseV0 message from the specified reader or buffer, length delimited. + * Decodes a ConsensusParamsEvidence message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0 + * @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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0} GetProtocolVersionUpgradeStateResponseV0 + * @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 */ - GetProtocolVersionUpgradeStateResponseV0.decodeDelimited = function decodeDelimited(reader) { + ConsensusParamsEvidence.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GetProtocolVersionUpgradeStateResponseV0 message. + * Verifies a ConsensusParamsEvidence message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0 + * @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 */ - GetProtocolVersionUpgradeStateResponseV0.verify = function verify(message) { + ConsensusParamsEvidence.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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.verify(message.versions); - if (error) - return "versions." + error; - } + 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 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 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.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.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. + * @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 ConsensusParamsEvidence; + })(); + + GetConsensusParamsResponse.GetConsensusParamsResponseV0 = (function() { + + /** + * 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 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]]; + } + + /** + * 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; + + /** + * 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 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 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 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 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; } } - if (message.metadata != null && message.hasOwnProperty("metadata")) { - var error = $root.org.dash.platform.dapi.v0.ResponseMetadata.verify(message.metadata); + return message; + }; + + /** + * 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 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 "metadata." + 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 GetProtocolVersionUpgradeStateResponseV0 message from a plain object. Also converts values to their respective internal types. + * Creates a GetConsensusParamsResponseV0 message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0 + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0 * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0} GetProtocolVersionUpgradeStateResponseV0 + * @returns {org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0} GetConsensusParamsResponseV0 */ - GetProtocolVersionUpgradeStateResponseV0.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0) + 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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0(); - if (object.versions != null) { - if (typeof object.versions !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.versions: object expected"); - message.versions = $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.fromObject(object.versions); - } - if (object.proof != null) { - if (typeof object.proof !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.proof: object expected"); - message.proof = $root.org.dash.platform.dapi.v0.Proof.fromObject(object.proof); + 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.metadata != null) { - if (typeof object.metadata !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.metadata: object expected"); - message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.fromObject(object.metadata); + 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 GetProtocolVersionUpgradeStateResponseV0 message. Also converts values to other types if specified. + * Creates a plain object from a GetConsensusParamsResponseV0 message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0 + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0} message GetProtocolVersionUpgradeStateResponseV0 + * @param {org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0} message GetConsensusParamsResponseV0 * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetProtocolVersionUpgradeStateResponseV0.toObject = function toObject(message, options) { + GetConsensusParamsResponseV0.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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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 (options.defaults) { + object.block = null; + object.evidence = null; } - if (message.metadata != null && message.hasOwnProperty("metadata")) - object.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.toObject(message.metadata, options); + 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; }; /** - * Converts this GetProtocolVersionUpgradeStateResponseV0 to JSON. + * Converts this GetConsensusParamsResponseV0 to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0 + * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0 * @instance * @returns {Object.} JSON object */ - GetProtocolVersionUpgradeStateResponseV0.prototype.toJSON = function toJSON() { + GetConsensusParamsResponseV0.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - GetProtocolVersionUpgradeStateResponseV0.Versions = (function() { + return GetConsensusParamsResponseV0; + })(); - /** - * Properties of a Versions. - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0 - * @interface IVersions - * @property {Array.|null} [versions] Versions versions - */ + return GetConsensusParamsResponse; + })(); - /** - * Constructs a new Versions. - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0 - * @classdesc Represents a Versions. - * @implements IVersions - * @constructor - * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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]]; - } + v0.GetProtocolVersionUpgradeStateRequest = (function() { - /** - * Versions versions. - * @member {Array.} versions - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions - * @instance - */ - Versions.prototype.versions = $util.emptyArray; + /** + * Properties of a GetProtocolVersionUpgradeStateRequest. + * @memberof org.dash.platform.dapi.v0 + * @interface IGetProtocolVersionUpgradeStateRequest + * @property {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.IGetProtocolVersionUpgradeStateRequestV0|null} [v0] GetProtocolVersionUpgradeStateRequest v0 + */ - /** - * Creates a new Versions instance using the specified properties. - * @function create - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions - * @static - * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.IVersions=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions} Versions instance - */ - Versions.create = function create(properties) { - return new Versions(properties); - }; + /** + * Constructs a new GetProtocolVersionUpgradeStateRequest. + * @memberof org.dash.platform.dapi.v0 + * @classdesc Represents a GetProtocolVersionUpgradeStateRequest. + * @implements IGetProtocolVersionUpgradeStateRequest + * @constructor + * @param {org.dash.platform.dapi.v0.IGetProtocolVersionUpgradeStateRequest=} [properties] Properties to set + */ + function GetProtocolVersionUpgradeStateRequest(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 Versions message. Does not implicitly {@link org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.verify|verify} messages. - * @function encode - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions - * @static - * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.encode(message.versions[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - return writer; - }; + /** + * GetProtocolVersionUpgradeStateRequest v0. + * @member {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.IGetProtocolVersionUpgradeStateRequestV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest + * @instance + */ + GetProtocolVersionUpgradeStateRequest.prototype.v0 = null; - /** - * Encodes the specified Versions message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.verify|verify} messages. - * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions - * @static - * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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(); - }; + // OneOf field names bound to virtual getters and setters + var $oneOfFields; - /** - * Decodes a Versions message from the specified reader or buffer. - * @function decode - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.decode(reader, reader.uint32())); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; + /** + * GetProtocolVersionUpgradeStateRequest version. + * @member {"v0"|undefined} version + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest + * @instance + */ + Object.defineProperty(GetProtocolVersionUpgradeStateRequest.prototype, "version", { + get: $util.oneOfGetter($oneOfFields = ["v0"]), + set: $util.oneOfSetter($oneOfFields) + }); - /** - * Decodes a Versions message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions - * @static - * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions} Versions - */ - Versions.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions) - return object; - var message = new $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions(); - if (object.versions) { - if (!Array.isArray(object.versions)) - throw TypeError(".org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.versions: object expected"); - message.versions[i] = $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions - * @static - * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.toObject(message.versions[j], options); - } - return object; - }; - - /** - * Converts this Versions to JSON. - * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions - * @instance - * @returns {Object.} JSON object - */ - Versions.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return Versions; - })(); - - GetProtocolVersionUpgradeStateResponseV0.VersionEntry = (function() { - - /** - * Properties of a VersionEntry. - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0 - * @interface IVersionEntry - * @property {number|null} [versionNumber] VersionEntry versionNumber - * @property {number|null} [voteCount] VersionEntry voteCount - */ - - /** - * Constructs a new VersionEntry. - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0 - * @classdesc Represents a VersionEntry. - * @implements IVersionEntry - * @constructor - * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry - * @instance - */ - VersionEntry.prototype.versionNumber = 0; - - /** - * VersionEntry voteCount. - * @member {number} voteCount - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry - * @instance - */ - VersionEntry.prototype.voteCount = 0; - - /** - * Creates a new VersionEntry instance using the specified properties. - * @function create - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry - * @static - * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.IVersionEntry=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.verify|verify} messages. - * @function encode - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry - * @static - * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.verify|verify} messages. - * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry - * @static - * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry - * @static - * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry} VersionEntry - */ - VersionEntry.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry) - return object; - var message = new $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry - * @static - * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry - * @instance - * @returns {Object.} JSON object - */ - VersionEntry.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return VersionEntry; - })(); - - return GetProtocolVersionUpgradeStateResponseV0; - })(); - - return GetProtocolVersionUpgradeStateResponse; - })(); - - v0.GetProtocolVersionUpgradeVoteStatusRequest = (function() { - - /** - * Properties of a GetProtocolVersionUpgradeVoteStatusRequest. - * @memberof org.dash.platform.dapi.v0 - * @interface IGetProtocolVersionUpgradeVoteStatusRequest - * @property {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.IGetProtocolVersionUpgradeVoteStatusRequestV0|null} [v0] GetProtocolVersionUpgradeVoteStatusRequest v0 - */ - - /** - * Constructs a new GetProtocolVersionUpgradeVoteStatusRequest. - * @memberof org.dash.platform.dapi.v0 - * @classdesc Represents a GetProtocolVersionUpgradeVoteStatusRequest. - * @implements IGetProtocolVersionUpgradeVoteStatusRequest - * @constructor - * @param {org.dash.platform.dapi.v0.IGetProtocolVersionUpgradeVoteStatusRequest=} [properties] Properties to set - */ - function GetProtocolVersionUpgradeVoteStatusRequest(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]]; - } - - /** - * GetProtocolVersionUpgradeVoteStatusRequest v0. - * @member {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.IGetProtocolVersionUpgradeVoteStatusRequestV0|null|undefined} v0 - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest - * @instance - */ - GetProtocolVersionUpgradeVoteStatusRequest.prototype.v0 = null; - - // OneOf field names bound to virtual getters and setters - var $oneOfFields; - - /** - * GetProtocolVersionUpgradeVoteStatusRequest version. - * @member {"v0"|undefined} version - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest - * @instance - */ - Object.defineProperty(GetProtocolVersionUpgradeVoteStatusRequest.prototype, "version", { - get: $util.oneOfGetter($oneOfFields = ["v0"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Creates a new GetProtocolVersionUpgradeVoteStatusRequest instance using the specified properties. - * @function create - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest - * @static - * @param {org.dash.platform.dapi.v0.IGetProtocolVersionUpgradeVoteStatusRequest=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest} GetProtocolVersionUpgradeVoteStatusRequest instance - */ - GetProtocolVersionUpgradeVoteStatusRequest.create = function create(properties) { - return new GetProtocolVersionUpgradeVoteStatusRequest(properties); - }; + /** + * Creates a new GetProtocolVersionUpgradeStateRequest instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest + * @static + * @param {org.dash.platform.dapi.v0.IGetProtocolVersionUpgradeStateRequest=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest} GetProtocolVersionUpgradeStateRequest instance + */ + GetProtocolVersionUpgradeStateRequest.create = function create(properties) { + return new GetProtocolVersionUpgradeStateRequest(properties); + }; /** - * Encodes the specified GetProtocolVersionUpgradeVoteStatusRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.verify|verify} messages. + * Encodes the specified GetProtocolVersionUpgradeStateRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest * @static - * @param {org.dash.platform.dapi.v0.IGetProtocolVersionUpgradeVoteStatusRequest} message GetProtocolVersionUpgradeVoteStatusRequest message or plain object to encode + * @param {org.dash.platform.dapi.v0.IGetProtocolVersionUpgradeStateRequest} message GetProtocolVersionUpgradeStateRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetProtocolVersionUpgradeVoteStatusRequest.encode = function encode(message, writer) { + GetProtocolVersionUpgradeStateRequest.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.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified GetProtocolVersionUpgradeVoteStatusRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.verify|verify} messages. + * Encodes the specified GetProtocolVersionUpgradeStateRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest * @static - * @param {org.dash.platform.dapi.v0.IGetProtocolVersionUpgradeVoteStatusRequest} message GetProtocolVersionUpgradeVoteStatusRequest message or plain object to encode + * @param {org.dash.platform.dapi.v0.IGetProtocolVersionUpgradeStateRequest} message GetProtocolVersionUpgradeStateRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetProtocolVersionUpgradeVoteStatusRequest.encodeDelimited = function encodeDelimited(message, writer) { + GetProtocolVersionUpgradeStateRequest.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetProtocolVersionUpgradeVoteStatusRequest message from the specified reader or buffer. + * Decodes a GetProtocolVersionUpgradeStateRequest message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest * @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.GetProtocolVersionUpgradeVoteStatusRequest} GetProtocolVersionUpgradeVoteStatusRequest + * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest} GetProtocolVersionUpgradeStateRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetProtocolVersionUpgradeVoteStatusRequest.decode = function decode(reader, length) { + GetProtocolVersionUpgradeStateRequest.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.GetProtocolVersionUpgradeVoteStatusRequest(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.v0 = $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.decode(reader, reader.uint32()); + message.v0 = $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -25081,37 +25278,37 @@ $root.org = (function() { }; /** - * Decodes a GetProtocolVersionUpgradeVoteStatusRequest message from the specified reader or buffer, length delimited. + * Decodes a GetProtocolVersionUpgradeStateRequest message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest} GetProtocolVersionUpgradeVoteStatusRequest + * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest} GetProtocolVersionUpgradeStateRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetProtocolVersionUpgradeVoteStatusRequest.decodeDelimited = function decodeDelimited(reader) { + GetProtocolVersionUpgradeStateRequest.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GetProtocolVersionUpgradeVoteStatusRequest message. + * Verifies a GetProtocolVersionUpgradeStateRequest message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetProtocolVersionUpgradeVoteStatusRequest.verify = function verify(message) { + GetProtocolVersionUpgradeStateRequest.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.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.verify(message.v0); + var error = $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.verify(message.v0); if (error) return "v0." + error; } @@ -25120,40 +25317,40 @@ $root.org = (function() { }; /** - * Creates a GetProtocolVersionUpgradeVoteStatusRequest message from a plain object. Also converts values to their respective internal types. + * Creates a GetProtocolVersionUpgradeStateRequest message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest} GetProtocolVersionUpgradeVoteStatusRequest + * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest} GetProtocolVersionUpgradeStateRequest */ - GetProtocolVersionUpgradeVoteStatusRequest.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest) + GetProtocolVersionUpgradeStateRequest.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest) return object; - var message = new $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest(); + var message = new $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest(); if (object.v0 != null) { if (typeof object.v0 !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.v0: object expected"); - message.v0 = $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.fromObject(object.v0); + throw TypeError(".org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.v0: object expected"); + message.v0 = $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.fromObject(object.v0); } return message; }; /** - * Creates a plain object from a GetProtocolVersionUpgradeVoteStatusRequest message. Also converts values to other types if specified. + * Creates a plain object from a GetProtocolVersionUpgradeStateRequest message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest * @static - * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest} message GetProtocolVersionUpgradeVoteStatusRequest + * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest} message GetProtocolVersionUpgradeStateRequest * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetProtocolVersionUpgradeVoteStatusRequest.toObject = function toObject(message, options) { + GetProtocolVersionUpgradeStateRequest.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.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.toObject(message.v0, options); + object.v0 = $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.toObject(message.v0, options); if (options.oneofs) object.version = "v0"; } @@ -25161,36 +25358,34 @@ $root.org = (function() { }; /** - * Converts this GetProtocolVersionUpgradeVoteStatusRequest to JSON. + * Converts this GetProtocolVersionUpgradeStateRequest to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest * @instance * @returns {Object.} JSON object */ - GetProtocolVersionUpgradeVoteStatusRequest.prototype.toJSON = function toJSON() { + GetProtocolVersionUpgradeStateRequest.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0 = (function() { + GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0 = (function() { /** - * Properties of a GetProtocolVersionUpgradeVoteStatusRequestV0. - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest - * @interface IGetProtocolVersionUpgradeVoteStatusRequestV0 - * @property {Uint8Array|null} [startProTxHash] GetProtocolVersionUpgradeVoteStatusRequestV0 startProTxHash - * @property {number|null} [count] GetProtocolVersionUpgradeVoteStatusRequestV0 count - * @property {boolean|null} [prove] GetProtocolVersionUpgradeVoteStatusRequestV0 prove + * Properties of a GetProtocolVersionUpgradeStateRequestV0. + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest + * @interface IGetProtocolVersionUpgradeStateRequestV0 + * @property {boolean|null} [prove] GetProtocolVersionUpgradeStateRequestV0 prove */ /** - * Constructs a new GetProtocolVersionUpgradeVoteStatusRequestV0. - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest - * @classdesc Represents a GetProtocolVersionUpgradeVoteStatusRequestV0. - * @implements IGetProtocolVersionUpgradeVoteStatusRequestV0 + * Constructs a new GetProtocolVersionUpgradeStateRequestV0. + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest + * @classdesc Represents a GetProtocolVersionUpgradeStateRequestV0. + * @implements IGetProtocolVersionUpgradeStateRequestV0 * @constructor - * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.IGetProtocolVersionUpgradeVoteStatusRequestV0=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.IGetProtocolVersionUpgradeStateRequestV0=} [properties] Properties to set */ - function GetProtocolVersionUpgradeVoteStatusRequestV0(properties) { + function GetProtocolVersionUpgradeStateRequestV0(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -25198,100 +25393,74 @@ $root.org = (function() { } /** - * GetProtocolVersionUpgradeVoteStatusRequestV0 startProTxHash. - * @member {Uint8Array} startProTxHash - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0 - * @instance - */ - GetProtocolVersionUpgradeVoteStatusRequestV0.prototype.startProTxHash = $util.newBuffer([]); - - /** - * GetProtocolVersionUpgradeVoteStatusRequestV0 count. - * @member {number} count - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0 - * @instance - */ - GetProtocolVersionUpgradeVoteStatusRequestV0.prototype.count = 0; - - /** - * GetProtocolVersionUpgradeVoteStatusRequestV0 prove. + * GetProtocolVersionUpgradeStateRequestV0 prove. * @member {boolean} prove - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0 + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0 * @instance */ - GetProtocolVersionUpgradeVoteStatusRequestV0.prototype.prove = false; + GetProtocolVersionUpgradeStateRequestV0.prototype.prove = false; /** - * Creates a new GetProtocolVersionUpgradeVoteStatusRequestV0 instance using the specified properties. + * Creates a new GetProtocolVersionUpgradeStateRequestV0 instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0 + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.IGetProtocolVersionUpgradeVoteStatusRequestV0=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0} GetProtocolVersionUpgradeVoteStatusRequestV0 instance + * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.IGetProtocolVersionUpgradeStateRequestV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0} GetProtocolVersionUpgradeStateRequestV0 instance */ - GetProtocolVersionUpgradeVoteStatusRequestV0.create = function create(properties) { - return new GetProtocolVersionUpgradeVoteStatusRequestV0(properties); + GetProtocolVersionUpgradeStateRequestV0.create = function create(properties) { + return new GetProtocolVersionUpgradeStateRequestV0(properties); }; /** - * Encodes the specified GetProtocolVersionUpgradeVoteStatusRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.verify|verify} messages. + * Encodes the specified GetProtocolVersionUpgradeStateRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0 + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.IGetProtocolVersionUpgradeVoteStatusRequestV0} message GetProtocolVersionUpgradeVoteStatusRequestV0 message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.IGetProtocolVersionUpgradeStateRequestV0} message GetProtocolVersionUpgradeStateRequestV0 message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetProtocolVersionUpgradeVoteStatusRequestV0.encode = function encode(message, writer) { + GetProtocolVersionUpgradeStateRequestV0.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); + writer.uint32(/* id 1, wireType 0 =*/8).bool(message.prove); return writer; }; /** - * Encodes the specified GetProtocolVersionUpgradeVoteStatusRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.verify|verify} messages. + * Encodes the specified GetProtocolVersionUpgradeStateRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0 + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.IGetProtocolVersionUpgradeVoteStatusRequestV0} message GetProtocolVersionUpgradeVoteStatusRequestV0 message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.IGetProtocolVersionUpgradeStateRequestV0} message GetProtocolVersionUpgradeStateRequestV0 message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetProtocolVersionUpgradeVoteStatusRequestV0.encodeDelimited = function encodeDelimited(message, writer) { + GetProtocolVersionUpgradeStateRequestV0.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetProtocolVersionUpgradeVoteStatusRequestV0 message from the specified reader or buffer. + * Decodes a GetProtocolVersionUpgradeStateRequestV0 message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0 + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0 * @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.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0} GetProtocolVersionUpgradeVoteStatusRequestV0 + * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0} GetProtocolVersionUpgradeStateRequestV0 * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetProtocolVersionUpgradeVoteStatusRequestV0.decode = function decode(reader, length) { + GetProtocolVersionUpgradeStateRequestV0.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.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0(); 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: @@ -25303,38 +25472,32 @@ $root.org = (function() { }; /** - * Decodes a GetProtocolVersionUpgradeVoteStatusRequestV0 message from the specified reader or buffer, length delimited. + * Decodes a GetProtocolVersionUpgradeStateRequestV0 message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0 + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0 * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0} GetProtocolVersionUpgradeVoteStatusRequestV0 + * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0} GetProtocolVersionUpgradeStateRequestV0 * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetProtocolVersionUpgradeVoteStatusRequestV0.decodeDelimited = function decodeDelimited(reader) { + GetProtocolVersionUpgradeStateRequestV0.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GetProtocolVersionUpgradeVoteStatusRequestV0 message. + * Verifies a GetProtocolVersionUpgradeStateRequestV0 message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0 + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0 * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetProtocolVersionUpgradeVoteStatusRequestV0.verify = function verify(message) { + GetProtocolVersionUpgradeStateRequestV0.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"; @@ -25342,97 +25505,77 @@ $root.org = (function() { }; /** - * Creates a GetProtocolVersionUpgradeVoteStatusRequestV0 message from a plain object. Also converts values to their respective internal types. + * Creates a GetProtocolVersionUpgradeStateRequestV0 message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0 + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0 * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0} GetProtocolVersionUpgradeVoteStatusRequestV0 + * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0} GetProtocolVersionUpgradeStateRequestV0 */ - GetProtocolVersionUpgradeVoteStatusRequestV0.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0) + GetProtocolVersionUpgradeStateRequestV0.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0) return object; - var message = new $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0(); - 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; + var message = new $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0(); if (object.prove != null) message.prove = Boolean(object.prove); return message; }; /** - * Creates a plain object from a GetProtocolVersionUpgradeVoteStatusRequestV0 message. Also converts values to other types if specified. + * Creates a plain object from a GetProtocolVersionUpgradeStateRequestV0 message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0 + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0} message GetProtocolVersionUpgradeVoteStatusRequestV0 + * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0} message GetProtocolVersionUpgradeStateRequestV0 * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetProtocolVersionUpgradeVoteStatusRequestV0.toObject = function toObject(message, options) { + GetProtocolVersionUpgradeStateRequestV0.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; + if (options.defaults) 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 GetProtocolVersionUpgradeVoteStatusRequestV0 to JSON. + * Converts this GetProtocolVersionUpgradeStateRequestV0 to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0 + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0 * @instance * @returns {Object.} JSON object */ - GetProtocolVersionUpgradeVoteStatusRequestV0.prototype.toJSON = function toJSON() { + GetProtocolVersionUpgradeStateRequestV0.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return GetProtocolVersionUpgradeVoteStatusRequestV0; + return GetProtocolVersionUpgradeStateRequestV0; })(); - return GetProtocolVersionUpgradeVoteStatusRequest; + return GetProtocolVersionUpgradeStateRequest; })(); - v0.GetProtocolVersionUpgradeVoteStatusResponse = (function() { + v0.GetProtocolVersionUpgradeStateResponse = (function() { /** - * Properties of a GetProtocolVersionUpgradeVoteStatusResponse. + * Properties of a GetProtocolVersionUpgradeStateResponse. * @memberof org.dash.platform.dapi.v0 - * @interface IGetProtocolVersionUpgradeVoteStatusResponse - * @property {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.IGetProtocolVersionUpgradeVoteStatusResponseV0|null} [v0] GetProtocolVersionUpgradeVoteStatusResponse v0 + * @interface IGetProtocolVersionUpgradeStateResponse + * @property {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.IGetProtocolVersionUpgradeStateResponseV0|null} [v0] GetProtocolVersionUpgradeStateResponse v0 */ /** - * Constructs a new GetProtocolVersionUpgradeVoteStatusResponse. + * Constructs a new GetProtocolVersionUpgradeStateResponse. * @memberof org.dash.platform.dapi.v0 - * @classdesc Represents a GetProtocolVersionUpgradeVoteStatusResponse. - * @implements IGetProtocolVersionUpgradeVoteStatusResponse + * @classdesc Represents a GetProtocolVersionUpgradeStateResponse. + * @implements IGetProtocolVersionUpgradeStateResponse * @constructor - * @param {org.dash.platform.dapi.v0.IGetProtocolVersionUpgradeVoteStatusResponse=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.IGetProtocolVersionUpgradeStateResponse=} [properties] Properties to set */ - function GetProtocolVersionUpgradeVoteStatusResponse(properties) { + function GetProtocolVersionUpgradeStateResponse(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -25440,89 +25583,89 @@ $root.org = (function() { } /** - * GetProtocolVersionUpgradeVoteStatusResponse v0. - * @member {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.IGetProtocolVersionUpgradeVoteStatusResponseV0|null|undefined} v0 - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse + * GetProtocolVersionUpgradeStateResponse v0. + * @member {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.IGetProtocolVersionUpgradeStateResponseV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse * @instance */ - GetProtocolVersionUpgradeVoteStatusResponse.prototype.v0 = null; + GetProtocolVersionUpgradeStateResponse.prototype.v0 = null; // OneOf field names bound to virtual getters and setters var $oneOfFields; /** - * GetProtocolVersionUpgradeVoteStatusResponse version. + * GetProtocolVersionUpgradeStateResponse version. * @member {"v0"|undefined} version - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse * @instance */ - Object.defineProperty(GetProtocolVersionUpgradeVoteStatusResponse.prototype, "version", { + Object.defineProperty(GetProtocolVersionUpgradeStateResponse.prototype, "version", { get: $util.oneOfGetter($oneOfFields = ["v0"]), set: $util.oneOfSetter($oneOfFields) }); /** - * Creates a new GetProtocolVersionUpgradeVoteStatusResponse instance using the specified properties. + * Creates a new GetProtocolVersionUpgradeStateResponse instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse * @static - * @param {org.dash.platform.dapi.v0.IGetProtocolVersionUpgradeVoteStatusResponse=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse} GetProtocolVersionUpgradeVoteStatusResponse instance + * @param {org.dash.platform.dapi.v0.IGetProtocolVersionUpgradeStateResponse=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse} GetProtocolVersionUpgradeStateResponse instance */ - GetProtocolVersionUpgradeVoteStatusResponse.create = function create(properties) { - return new GetProtocolVersionUpgradeVoteStatusResponse(properties); + GetProtocolVersionUpgradeStateResponse.create = function create(properties) { + return new GetProtocolVersionUpgradeStateResponse(properties); }; /** - * Encodes the specified GetProtocolVersionUpgradeVoteStatusResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.verify|verify} messages. + * Encodes the specified GetProtocolVersionUpgradeStateResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse * @static - * @param {org.dash.platform.dapi.v0.IGetProtocolVersionUpgradeVoteStatusResponse} message GetProtocolVersionUpgradeVoteStatusResponse message or plain object to encode + * @param {org.dash.platform.dapi.v0.IGetProtocolVersionUpgradeStateResponse} message GetProtocolVersionUpgradeStateResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetProtocolVersionUpgradeVoteStatusResponse.encode = function encode(message, writer) { + GetProtocolVersionUpgradeStateResponse.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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified GetProtocolVersionUpgradeVoteStatusResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.verify|verify} messages. + * Encodes the specified GetProtocolVersionUpgradeStateResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse * @static - * @param {org.dash.platform.dapi.v0.IGetProtocolVersionUpgradeVoteStatusResponse} message GetProtocolVersionUpgradeVoteStatusResponse message or plain object to encode + * @param {org.dash.platform.dapi.v0.IGetProtocolVersionUpgradeStateResponse} message GetProtocolVersionUpgradeStateResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetProtocolVersionUpgradeVoteStatusResponse.encodeDelimited = function encodeDelimited(message, writer) { + GetProtocolVersionUpgradeStateResponse.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetProtocolVersionUpgradeVoteStatusResponse message from the specified reader or buffer. + * Decodes a GetProtocolVersionUpgradeStateResponse message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse * @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.GetProtocolVersionUpgradeVoteStatusResponse} GetProtocolVersionUpgradeVoteStatusResponse + * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse} GetProtocolVersionUpgradeStateResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetProtocolVersionUpgradeVoteStatusResponse.decode = function decode(reader, length) { + GetProtocolVersionUpgradeStateResponse.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.GetProtocolVersionUpgradeVoteStatusResponse(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.v0 = $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.decode(reader, reader.uint32()); + message.v0 = $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -25533,37 +25676,37 @@ $root.org = (function() { }; /** - * Decodes a GetProtocolVersionUpgradeVoteStatusResponse message from the specified reader or buffer, length delimited. + * Decodes a GetProtocolVersionUpgradeStateResponse message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse} GetProtocolVersionUpgradeVoteStatusResponse + * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse} GetProtocolVersionUpgradeStateResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetProtocolVersionUpgradeVoteStatusResponse.decodeDelimited = function decodeDelimited(reader) { + GetProtocolVersionUpgradeStateResponse.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GetProtocolVersionUpgradeVoteStatusResponse message. + * Verifies a GetProtocolVersionUpgradeStateResponse message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetProtocolVersionUpgradeVoteStatusResponse.verify = function verify(message) { + GetProtocolVersionUpgradeStateResponse.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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.verify(message.v0); + var error = $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.verify(message.v0); if (error) return "v0." + error; } @@ -25572,40 +25715,40 @@ $root.org = (function() { }; /** - * Creates a GetProtocolVersionUpgradeVoteStatusResponse message from a plain object. Also converts values to their respective internal types. + * Creates a GetProtocolVersionUpgradeStateResponse message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse} GetProtocolVersionUpgradeVoteStatusResponse + * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse} GetProtocolVersionUpgradeStateResponse */ - GetProtocolVersionUpgradeVoteStatusResponse.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse) + GetProtocolVersionUpgradeStateResponse.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse) return object; - var message = new $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse(); + var message = new $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse(); if (object.v0 != null) { if (typeof object.v0 !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.v0: object expected"); - message.v0 = $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.fromObject(object.v0); + throw TypeError(".org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.v0: object expected"); + message.v0 = $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.fromObject(object.v0); } return message; }; /** - * Creates a plain object from a GetProtocolVersionUpgradeVoteStatusResponse message. Also converts values to other types if specified. + * Creates a plain object from a GetProtocolVersionUpgradeStateResponse message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse * @static - * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse} message GetProtocolVersionUpgradeVoteStatusResponse + * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse} message GetProtocolVersionUpgradeStateResponse * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetProtocolVersionUpgradeVoteStatusResponse.toObject = function toObject(message, options) { + GetProtocolVersionUpgradeStateResponse.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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.toObject(message.v0, options); + object.v0 = $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.toObject(message.v0, options); if (options.oneofs) object.version = "v0"; } @@ -25613,36 +25756,36 @@ $root.org = (function() { }; /** - * Converts this GetProtocolVersionUpgradeVoteStatusResponse to JSON. + * Converts this GetProtocolVersionUpgradeStateResponse to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse * @instance * @returns {Object.} JSON object */ - GetProtocolVersionUpgradeVoteStatusResponse.prototype.toJSON = function toJSON() { + GetProtocolVersionUpgradeStateResponse.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0 = (function() { + GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0 = (function() { /** - * Properties of a GetProtocolVersionUpgradeVoteStatusResponseV0. - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse - * @interface IGetProtocolVersionUpgradeVoteStatusResponseV0 - * @property {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.IVersionSignals|null} [versions] GetProtocolVersionUpgradeVoteStatusResponseV0 versions - * @property {org.dash.platform.dapi.v0.IProof|null} [proof] GetProtocolVersionUpgradeVoteStatusResponseV0 proof - * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetProtocolVersionUpgradeVoteStatusResponseV0 metadata + * Properties of a GetProtocolVersionUpgradeStateResponseV0. + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse + * @interface IGetProtocolVersionUpgradeStateResponseV0 + * @property {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.IVersions|null} [versions] GetProtocolVersionUpgradeStateResponseV0 versions + * @property {org.dash.platform.dapi.v0.IProof|null} [proof] GetProtocolVersionUpgradeStateResponseV0 proof + * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetProtocolVersionUpgradeStateResponseV0 metadata */ /** - * Constructs a new GetProtocolVersionUpgradeVoteStatusResponseV0. - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse - * @classdesc Represents a GetProtocolVersionUpgradeVoteStatusResponseV0. - * @implements IGetProtocolVersionUpgradeVoteStatusResponseV0 + * Constructs a new GetProtocolVersionUpgradeStateResponseV0. + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse + * @classdesc Represents a GetProtocolVersionUpgradeStateResponseV0. + * @implements IGetProtocolVersionUpgradeStateResponseV0 * @constructor - * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.IGetProtocolVersionUpgradeVoteStatusResponseV0=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.IGetProtocolVersionUpgradeStateResponseV0=} [properties] Properties to set */ - function GetProtocolVersionUpgradeVoteStatusResponseV0(properties) { + function GetProtocolVersionUpgradeStateResponseV0(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -25650,69 +25793,69 @@ $root.org = (function() { } /** - * GetProtocolVersionUpgradeVoteStatusResponseV0 versions. - * @member {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.IVersionSignals|null|undefined} versions - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0 + * GetProtocolVersionUpgradeStateResponseV0 versions. + * @member {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.IVersions|null|undefined} versions + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0 * @instance */ - GetProtocolVersionUpgradeVoteStatusResponseV0.prototype.versions = null; + GetProtocolVersionUpgradeStateResponseV0.prototype.versions = null; /** - * GetProtocolVersionUpgradeVoteStatusResponseV0 proof. + * GetProtocolVersionUpgradeStateResponseV0 proof. * @member {org.dash.platform.dapi.v0.IProof|null|undefined} proof - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0 + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0 * @instance */ - GetProtocolVersionUpgradeVoteStatusResponseV0.prototype.proof = null; + GetProtocolVersionUpgradeStateResponseV0.prototype.proof = null; /** - * GetProtocolVersionUpgradeVoteStatusResponseV0 metadata. + * GetProtocolVersionUpgradeStateResponseV0 metadata. * @member {org.dash.platform.dapi.v0.IResponseMetadata|null|undefined} metadata - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0 + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0 * @instance */ - GetProtocolVersionUpgradeVoteStatusResponseV0.prototype.metadata = null; + GetProtocolVersionUpgradeStateResponseV0.prototype.metadata = null; // OneOf field names bound to virtual getters and setters var $oneOfFields; /** - * GetProtocolVersionUpgradeVoteStatusResponseV0 result. + * GetProtocolVersionUpgradeStateResponseV0 result. * @member {"versions"|"proof"|undefined} result - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0 + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0 * @instance */ - Object.defineProperty(GetProtocolVersionUpgradeVoteStatusResponseV0.prototype, "result", { + Object.defineProperty(GetProtocolVersionUpgradeStateResponseV0.prototype, "result", { get: $util.oneOfGetter($oneOfFields = ["versions", "proof"]), set: $util.oneOfSetter($oneOfFields) }); /** - * Creates a new GetProtocolVersionUpgradeVoteStatusResponseV0 instance using the specified properties. + * Creates a new GetProtocolVersionUpgradeStateResponseV0 instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0 + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.IGetProtocolVersionUpgradeVoteStatusResponseV0=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0} GetProtocolVersionUpgradeVoteStatusResponseV0 instance + * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.IGetProtocolVersionUpgradeStateResponseV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0} GetProtocolVersionUpgradeStateResponseV0 instance */ - GetProtocolVersionUpgradeVoteStatusResponseV0.create = function create(properties) { - return new GetProtocolVersionUpgradeVoteStatusResponseV0(properties); + GetProtocolVersionUpgradeStateResponseV0.create = function create(properties) { + return new GetProtocolVersionUpgradeStateResponseV0(properties); }; /** - * Encodes the specified GetProtocolVersionUpgradeVoteStatusResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.verify|verify} messages. + * Encodes the specified GetProtocolVersionUpgradeStateResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0 + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.IGetProtocolVersionUpgradeVoteStatusResponseV0} message GetProtocolVersionUpgradeVoteStatusResponseV0 message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.IGetProtocolVersionUpgradeStateResponseV0} message GetProtocolVersionUpgradeStateResponseV0 message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetProtocolVersionUpgradeVoteStatusResponseV0.encode = function encode(message, writer) { + GetProtocolVersionUpgradeStateResponseV0.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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.encode(message.versions, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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")) @@ -25721,38 +25864,38 @@ $root.org = (function() { }; /** - * Encodes the specified GetProtocolVersionUpgradeVoteStatusResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.verify|verify} messages. + * Encodes the specified GetProtocolVersionUpgradeStateResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0 + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.IGetProtocolVersionUpgradeVoteStatusResponseV0} message GetProtocolVersionUpgradeVoteStatusResponseV0 message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.IGetProtocolVersionUpgradeStateResponseV0} message GetProtocolVersionUpgradeStateResponseV0 message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetProtocolVersionUpgradeVoteStatusResponseV0.encodeDelimited = function encodeDelimited(message, writer) { + GetProtocolVersionUpgradeStateResponseV0.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetProtocolVersionUpgradeVoteStatusResponseV0 message from the specified reader or buffer. + * Decodes a GetProtocolVersionUpgradeStateResponseV0 message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0 + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0 * @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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0} GetProtocolVersionUpgradeVoteStatusResponseV0 + * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0} GetProtocolVersionUpgradeStateResponseV0 * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetProtocolVersionUpgradeVoteStatusResponseV0.decode = function decode(reader, length) { + GetProtocolVersionUpgradeStateResponseV0.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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.versions = $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.decode(reader, reader.uint32()); + message.versions = $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.decode(reader, reader.uint32()); break; case 2: message.proof = $root.org.dash.platform.dapi.v0.Proof.decode(reader, reader.uint32()); @@ -25769,37 +25912,37 @@ $root.org = (function() { }; /** - * Decodes a GetProtocolVersionUpgradeVoteStatusResponseV0 message from the specified reader or buffer, length delimited. + * Decodes a GetProtocolVersionUpgradeStateResponseV0 message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0 + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0 * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0} GetProtocolVersionUpgradeVoteStatusResponseV0 + * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0} GetProtocolVersionUpgradeStateResponseV0 * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetProtocolVersionUpgradeVoteStatusResponseV0.decodeDelimited = function decodeDelimited(reader) { + GetProtocolVersionUpgradeStateResponseV0.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GetProtocolVersionUpgradeVoteStatusResponseV0 message. + * Verifies a GetProtocolVersionUpgradeStateResponseV0 message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0 + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0 * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetProtocolVersionUpgradeVoteStatusResponseV0.verify = function verify(message) { + GetProtocolVersionUpgradeStateResponseV0.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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.verify(message.versions); + var error = $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.verify(message.versions); if (error) return "versions." + error; } @@ -25823,52 +25966,52 @@ $root.org = (function() { }; /** - * Creates a GetProtocolVersionUpgradeVoteStatusResponseV0 message from a plain object. Also converts values to their respective internal types. + * Creates a GetProtocolVersionUpgradeStateResponseV0 message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0 + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0 * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0} GetProtocolVersionUpgradeVoteStatusResponseV0 + * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0} GetProtocolVersionUpgradeStateResponseV0 */ - GetProtocolVersionUpgradeVoteStatusResponseV0.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0) + GetProtocolVersionUpgradeStateResponseV0.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0) return object; - var message = new $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0(); + var message = new $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0(); if (object.versions != null) { if (typeof object.versions !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.versions: object expected"); - message.versions = $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.fromObject(object.versions); + throw TypeError(".org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.versions: object expected"); + message.versions = $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.fromObject(object.versions); } if (object.proof != null) { if (typeof object.proof !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.proof: object expected"); + throw TypeError(".org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.metadata: object expected"); + throw TypeError(".org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.metadata: object expected"); message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.fromObject(object.metadata); } return message; }; /** - * Creates a plain object from a GetProtocolVersionUpgradeVoteStatusResponseV0 message. Also converts values to other types if specified. + * Creates a plain object from a GetProtocolVersionUpgradeStateResponseV0 message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0 + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0} message GetProtocolVersionUpgradeVoteStatusResponseV0 + * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0} message GetProtocolVersionUpgradeStateResponseV0 * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetProtocolVersionUpgradeVoteStatusResponseV0.toObject = function toObject(message, options) { + GetProtocolVersionUpgradeStateResponseV0.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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.toObject(message.versions, options); + object.versions = $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.toObject(message.versions, options); if (options.oneofs) object.result = "versions"; } @@ -25883,35 +26026,35 @@ $root.org = (function() { }; /** - * Converts this GetProtocolVersionUpgradeVoteStatusResponseV0 to JSON. + * Converts this GetProtocolVersionUpgradeStateResponseV0 to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0 + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0 * @instance * @returns {Object.} JSON object */ - GetProtocolVersionUpgradeVoteStatusResponseV0.prototype.toJSON = function toJSON() { + GetProtocolVersionUpgradeStateResponseV0.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals = (function() { + GetProtocolVersionUpgradeStateResponseV0.Versions = (function() { /** - * Properties of a VersionSignals. - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0 - * @interface IVersionSignals - * @property {Array.|null} [versionSignals] VersionSignals versionSignals + * Properties of a Versions. + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0 + * @interface IVersions + * @property {Array.|null} [versions] Versions versions */ /** - * Constructs a new VersionSignals. - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0 - * @classdesc Represents a VersionSignals. - * @implements IVersionSignals + * Constructs a new Versions. + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0 + * @classdesc Represents a Versions. + * @implements IVersions * @constructor - * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.IVersionSignals=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.IVersions=} [properties] Properties to set */ - function VersionSignals(properties) { - this.versionSignals = []; + function Versions(properties) { + this.versions = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -25919,78 +26062,78 @@ $root.org = (function() { } /** - * VersionSignals versionSignals. - * @member {Array.} versionSignals - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals + * Versions versions. + * @member {Array.} versions + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions * @instance */ - VersionSignals.prototype.versionSignals = $util.emptyArray; + Versions.prototype.versions = $util.emptyArray; /** - * Creates a new VersionSignals instance using the specified properties. + * Creates a new Versions instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions * @static - * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.IVersionSignals=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals} VersionSignals instance + * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.IVersions=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions} Versions instance */ - VersionSignals.create = function create(properties) { - return new VersionSignals(properties); + Versions.create = function create(properties) { + return new Versions(properties); }; /** - * Encodes the specified VersionSignals message. Does not implicitly {@link org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.verify|verify} messages. + * Encodes the specified Versions message. Does not implicitly {@link org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions * @static - * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.IVersionSignals} message VersionSignals message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.IVersions} message Versions message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - VersionSignals.encode = function encode(message, writer) { + Versions.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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.encode(message.versionSignals[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.versions != null && message.versions.length) + for (var i = 0; i < message.versions.length; ++i) + $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.encode(message.versions[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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.verify|verify} messages. + * Encodes the specified Versions message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions * @static - * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.IVersionSignals} message VersionSignals message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.IVersions} message Versions message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - VersionSignals.encodeDelimited = function encodeDelimited(message, writer) { + Versions.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a VersionSignals message from the specified reader or buffer. + * Decodes a Versions message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals} VersionSignals + * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions} Versions * @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) { + 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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions(); 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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.decode(reader, reader.uint32())); + if (!(message.versions && message.versions.length)) + message.versions = []; + message.versions.push($root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.decode(reader, reader.uint32())); break; default: reader.skipType(tag & 7); @@ -26001,125 +26144,125 @@ $root.org = (function() { }; /** - * Decodes a VersionSignals message from the specified reader or buffer, length delimited. + * Decodes a Versions message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals} VersionSignals + * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions} Versions * @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) { + Versions.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a VersionSignals message. + * Verifies a Versions message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions * @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) { + Versions.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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.verify(message.versionSignals[i]); + 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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.verify(message.versions[i]); if (error) - return "versionSignals." + error; + return "versions." + error; } } return null; }; /** - * Creates a VersionSignals message from a plain object. Also converts values to their respective internal types. + * Creates a Versions message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals} VersionSignals + * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions} Versions */ - VersionSignals.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals) + Versions.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions) return object; - var message = new $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals(); - if (object.versionSignals) { - if (!Array.isArray(object.versionSignals)) - throw TypeError(".org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.versionSignals: object expected"); - message.versionSignals[i] = $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.fromObject(object.versionSignals[i]); + var message = new $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions(); + if (object.versions) { + if (!Array.isArray(object.versions)) + throw TypeError(".org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.versions: object expected"); + message.versions[i] = $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.fromObject(object.versions[i]); } } return message; }; /** - * Creates a plain object from a VersionSignals message. Also converts values to other types if specified. + * Creates a plain object from a Versions message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions * @static - * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals} message VersionSignals + * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions} message Versions * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - VersionSignals.toObject = function toObject(message, options) { + Versions.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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.toObject(message.versionSignals[j], options); + 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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.toObject(message.versions[j], options); } return object; }; /** - * Converts this VersionSignals to JSON. + * Converts this Versions to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions * @instance * @returns {Object.} JSON object */ - VersionSignals.prototype.toJSON = function toJSON() { + Versions.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return VersionSignals; + return Versions; })(); - GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal = (function() { + GetProtocolVersionUpgradeStateResponseV0.VersionEntry = (function() { /** - * Properties of a VersionSignal. - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0 - * @interface IVersionSignal - * @property {Uint8Array|null} [proTxHash] VersionSignal proTxHash - * @property {number|null} [version] VersionSignal version + * Properties of a VersionEntry. + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0 + * @interface IVersionEntry + * @property {number|null} [versionNumber] VersionEntry versionNumber + * @property {number|null} [voteCount] VersionEntry voteCount */ /** - * Constructs a new VersionSignal. - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0 - * @classdesc Represents a VersionSignal. - * @implements IVersionSignal + * Constructs a new VersionEntry. + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0 + * @classdesc Represents a VersionEntry. + * @implements IVersionEntry * @constructor - * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.IVersionSignal=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.IVersionEntry=} [properties] Properties to set */ - function VersionSignal(properties) { + function VersionEntry(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -26127,88 +26270,88 @@ $root.org = (function() { } /** - * VersionSignal proTxHash. - * @member {Uint8Array} proTxHash - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal + * VersionEntry versionNumber. + * @member {number} versionNumber + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry * @instance */ - VersionSignal.prototype.proTxHash = $util.newBuffer([]); + VersionEntry.prototype.versionNumber = 0; /** - * VersionSignal version. - * @member {number} version - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal + * VersionEntry voteCount. + * @member {number} voteCount + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry * @instance */ - VersionSignal.prototype.version = 0; + VersionEntry.prototype.voteCount = 0; /** - * Creates a new VersionSignal instance using the specified properties. + * Creates a new VersionEntry instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry * @static - * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.IVersionSignal=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal} VersionSignal instance + * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.IVersionEntry=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry} VersionEntry instance */ - VersionSignal.create = function create(properties) { - return new VersionSignal(properties); + VersionEntry.create = function create(properties) { + return new VersionEntry(properties); }; /** - * Encodes the specified VersionSignal message. Does not implicitly {@link org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.verify|verify} messages. + * Encodes the specified VersionEntry message. Does not implicitly {@link org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry * @static - * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.IVersionSignal} message VersionSignal message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.IVersionEntry} message VersionEntry message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - VersionSignal.encode = function encode(message, writer) { + VersionEntry.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); + 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 VersionSignal message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.verify|verify} messages. + * Encodes the specified VersionEntry message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry * @static - * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.IVersionSignal} message VersionSignal message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.IVersionEntry} message VersionEntry message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - VersionSignal.encodeDelimited = function encodeDelimited(message, writer) { + VersionEntry.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a VersionSignal message from the specified reader or buffer. + * Decodes a VersionEntry message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal} VersionSignal + * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry} VersionEntry * @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) { + 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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.proTxHash = reader.bytes(); + message.versionNumber = reader.uint32(); break; case 2: - message.version = reader.uint32(); + message.voteCount = reader.uint32(); break; default: reader.skipType(tag & 7); @@ -26219,131 +26362,122 @@ $root.org = (function() { }; /** - * Decodes a VersionSignal message from the specified reader or buffer, length delimited. + * Decodes a VersionEntry message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal} VersionSignal + * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry} VersionEntry * @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) { + VersionEntry.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a VersionSignal message. + * Verifies a VersionEntry message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry * @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) { + VersionEntry.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"; + 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 VersionSignal message from a plain object. Also converts values to their respective internal types. + * Creates a VersionEntry message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal} VersionSignal + * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry} VersionEntry */ - VersionSignal.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal) + VersionEntry.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry) return object; - var message = new $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.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; + var message = new $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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 VersionSignal message. Also converts values to other types if specified. + * Creates a plain object from a VersionEntry message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry * @static - * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal} message VersionSignal + * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry} message VersionEntry * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - VersionSignal.toObject = function toObject(message, options) { + VersionEntry.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; + object.versionNumber = 0; + object.voteCount = 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; + 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 VersionSignal to JSON. + * Converts this VersionEntry to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry * @instance * @returns {Object.} JSON object */ - VersionSignal.prototype.toJSON = function toJSON() { + VersionEntry.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return VersionSignal; + return VersionEntry; })(); - return GetProtocolVersionUpgradeVoteStatusResponseV0; + return GetProtocolVersionUpgradeStateResponseV0; })(); - return GetProtocolVersionUpgradeVoteStatusResponse; + return GetProtocolVersionUpgradeStateResponse; })(); - v0.GetEpochsInfoRequest = (function() { + v0.GetProtocolVersionUpgradeVoteStatusRequest = (function() { /** - * Properties of a GetEpochsInfoRequest. + * Properties of a GetProtocolVersionUpgradeVoteStatusRequest. * @memberof org.dash.platform.dapi.v0 - * @interface IGetEpochsInfoRequest - * @property {org.dash.platform.dapi.v0.GetEpochsInfoRequest.IGetEpochsInfoRequestV0|null} [v0] GetEpochsInfoRequest v0 + * @interface IGetProtocolVersionUpgradeVoteStatusRequest + * @property {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.IGetProtocolVersionUpgradeVoteStatusRequestV0|null} [v0] GetProtocolVersionUpgradeVoteStatusRequest v0 */ /** - * Constructs a new GetEpochsInfoRequest. + * Constructs a new GetProtocolVersionUpgradeVoteStatusRequest. * @memberof org.dash.platform.dapi.v0 - * @classdesc Represents a GetEpochsInfoRequest. - * @implements IGetEpochsInfoRequest + * @classdesc Represents a GetProtocolVersionUpgradeVoteStatusRequest. + * @implements IGetProtocolVersionUpgradeVoteStatusRequest * @constructor - * @param {org.dash.platform.dapi.v0.IGetEpochsInfoRequest=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.IGetProtocolVersionUpgradeVoteStatusRequest=} [properties] Properties to set */ - function GetEpochsInfoRequest(properties) { + function GetProtocolVersionUpgradeVoteStatusRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -26351,89 +26485,89 @@ $root.org = (function() { } /** - * GetEpochsInfoRequest v0. - * @member {org.dash.platform.dapi.v0.GetEpochsInfoRequest.IGetEpochsInfoRequestV0|null|undefined} v0 - * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest + * GetProtocolVersionUpgradeVoteStatusRequest v0. + * @member {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.IGetProtocolVersionUpgradeVoteStatusRequestV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest * @instance */ - GetEpochsInfoRequest.prototype.v0 = null; + GetProtocolVersionUpgradeVoteStatusRequest.prototype.v0 = null; // OneOf field names bound to virtual getters and setters var $oneOfFields; /** - * GetEpochsInfoRequest version. + * GetProtocolVersionUpgradeVoteStatusRequest version. * @member {"v0"|undefined} version - * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest * @instance */ - Object.defineProperty(GetEpochsInfoRequest.prototype, "version", { + Object.defineProperty(GetProtocolVersionUpgradeVoteStatusRequest.prototype, "version", { get: $util.oneOfGetter($oneOfFields = ["v0"]), set: $util.oneOfSetter($oneOfFields) }); /** - * Creates a new GetEpochsInfoRequest instance using the specified properties. + * Creates a new GetProtocolVersionUpgradeVoteStatusRequest instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest * @static - * @param {org.dash.platform.dapi.v0.IGetEpochsInfoRequest=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetEpochsInfoRequest} GetEpochsInfoRequest instance + * @param {org.dash.platform.dapi.v0.IGetProtocolVersionUpgradeVoteStatusRequest=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest} GetProtocolVersionUpgradeVoteStatusRequest instance */ - GetEpochsInfoRequest.create = function create(properties) { - return new GetEpochsInfoRequest(properties); + GetProtocolVersionUpgradeVoteStatusRequest.create = function create(properties) { + return new GetProtocolVersionUpgradeVoteStatusRequest(properties); }; /** - * Encodes the specified GetEpochsInfoRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetEpochsInfoRequest.verify|verify} messages. + * Encodes the specified GetProtocolVersionUpgradeVoteStatusRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest * @static - * @param {org.dash.platform.dapi.v0.IGetEpochsInfoRequest} message GetEpochsInfoRequest message or plain object to encode + * @param {org.dash.platform.dapi.v0.IGetProtocolVersionUpgradeVoteStatusRequest} message GetProtocolVersionUpgradeVoteStatusRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetEpochsInfoRequest.encode = function encode(message, writer) { + GetProtocolVersionUpgradeVoteStatusRequest.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(); + $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.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. + * Encodes the specified GetProtocolVersionUpgradeVoteStatusRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest * @static - * @param {org.dash.platform.dapi.v0.IGetEpochsInfoRequest} message GetEpochsInfoRequest message or plain object to encode + * @param {org.dash.platform.dapi.v0.IGetProtocolVersionUpgradeVoteStatusRequest} message GetProtocolVersionUpgradeVoteStatusRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetEpochsInfoRequest.encodeDelimited = function encodeDelimited(message, writer) { + GetProtocolVersionUpgradeVoteStatusRequest.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetEpochsInfoRequest message from the specified reader or buffer. + * Decodes a GetProtocolVersionUpgradeVoteStatusRequest message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest * @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 + * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest} GetProtocolVersionUpgradeVoteStatusRequest * @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) { + GetProtocolVersionUpgradeVoteStatusRequest.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(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest(); 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()); + message.v0 = $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -26444,37 +26578,37 @@ $root.org = (function() { }; /** - * Decodes a GetEpochsInfoRequest message from the specified reader or buffer, length delimited. + * Decodes a GetProtocolVersionUpgradeVoteStatusRequest message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetEpochsInfoRequest} GetEpochsInfoRequest + * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest} GetProtocolVersionUpgradeVoteStatusRequest * @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) { + GetProtocolVersionUpgradeVoteStatusRequest.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GetEpochsInfoRequest message. + * Verifies a GetProtocolVersionUpgradeVoteStatusRequest message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest * @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) { + GetProtocolVersionUpgradeVoteStatusRequest.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); + var error = $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.verify(message.v0); if (error) return "v0." + error; } @@ -26483,40 +26617,40 @@ $root.org = (function() { }; /** - * Creates a GetEpochsInfoRequest message from a plain object. Also converts values to their respective internal types. + * Creates a GetProtocolVersionUpgradeVoteStatusRequest message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetEpochsInfoRequest} GetEpochsInfoRequest + * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest} GetProtocolVersionUpgradeVoteStatusRequest */ - GetEpochsInfoRequest.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetEpochsInfoRequest) + GetProtocolVersionUpgradeVoteStatusRequest.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest) return object; - var message = new $root.org.dash.platform.dapi.v0.GetEpochsInfoRequest(); + var message = new $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest(); 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); + throw TypeError(".org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.v0: object expected"); + message.v0 = $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.fromObject(object.v0); } return message; }; /** - * Creates a plain object from a GetEpochsInfoRequest message. Also converts values to other types if specified. + * Creates a plain object from a GetProtocolVersionUpgradeVoteStatusRequest message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest * @static - * @param {org.dash.platform.dapi.v0.GetEpochsInfoRequest} message GetEpochsInfoRequest + * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest} message GetProtocolVersionUpgradeVoteStatusRequest * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetEpochsInfoRequest.toObject = function toObject(message, options) { + GetProtocolVersionUpgradeVoteStatusRequest.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); + object.v0 = $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.toObject(message.v0, options); if (options.oneofs) object.version = "v0"; } @@ -26524,37 +26658,36 @@ $root.org = (function() { }; /** - * Converts this GetEpochsInfoRequest to JSON. + * Converts this GetProtocolVersionUpgradeVoteStatusRequest to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest * @instance * @returns {Object.} JSON object */ - GetEpochsInfoRequest.prototype.toJSON = function toJSON() { + GetProtocolVersionUpgradeVoteStatusRequest.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - GetEpochsInfoRequest.GetEpochsInfoRequestV0 = (function() { + GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0 = (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 + * Properties of a GetProtocolVersionUpgradeVoteStatusRequestV0. + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest + * @interface IGetProtocolVersionUpgradeVoteStatusRequestV0 + * @property {Uint8Array|null} [startProTxHash] GetProtocolVersionUpgradeVoteStatusRequestV0 startProTxHash + * @property {number|null} [count] GetProtocolVersionUpgradeVoteStatusRequestV0 count + * @property {boolean|null} [prove] GetProtocolVersionUpgradeVoteStatusRequestV0 prove */ /** - * Constructs a new GetEpochsInfoRequestV0. - * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest - * @classdesc Represents a GetEpochsInfoRequestV0. - * @implements IGetEpochsInfoRequestV0 + * Constructs a new GetProtocolVersionUpgradeVoteStatusRequestV0. + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest + * @classdesc Represents a GetProtocolVersionUpgradeVoteStatusRequestV0. + * @implements IGetProtocolVersionUpgradeVoteStatusRequestV0 * @constructor - * @param {org.dash.platform.dapi.v0.GetEpochsInfoRequest.IGetEpochsInfoRequestV0=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.IGetProtocolVersionUpgradeVoteStatusRequestV0=} [properties] Properties to set */ - function GetEpochsInfoRequestV0(properties) { + function GetProtocolVersionUpgradeVoteStatusRequestV0(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -26562,113 +26695,100 @@ $root.org = (function() { } /** - * GetEpochsInfoRequestV0 startEpoch. - * @member {google.protobuf.IUInt32Value|null|undefined} startEpoch - * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0 + * GetProtocolVersionUpgradeVoteStatusRequestV0 startProTxHash. + * @member {Uint8Array} startProTxHash + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0 * @instance */ - GetEpochsInfoRequestV0.prototype.startEpoch = null; + GetProtocolVersionUpgradeVoteStatusRequestV0.prototype.startProTxHash = $util.newBuffer([]); /** - * GetEpochsInfoRequestV0 count. + * GetProtocolVersionUpgradeVoteStatusRequestV0 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 + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0 * @instance */ - GetEpochsInfoRequestV0.prototype.ascending = false; + GetProtocolVersionUpgradeVoteStatusRequestV0.prototype.count = 0; /** - * GetEpochsInfoRequestV0 prove. + * GetProtocolVersionUpgradeVoteStatusRequestV0 prove. * @member {boolean} prove - * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0 + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0 * @instance */ - GetEpochsInfoRequestV0.prototype.prove = false; + GetProtocolVersionUpgradeVoteStatusRequestV0.prototype.prove = false; /** - * Creates a new GetEpochsInfoRequestV0 instance using the specified properties. + * Creates a new GetProtocolVersionUpgradeVoteStatusRequestV0 instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0 + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetEpochsInfoRequest.IGetEpochsInfoRequestV0=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0} GetEpochsInfoRequestV0 instance + * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.IGetProtocolVersionUpgradeVoteStatusRequestV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0} GetProtocolVersionUpgradeVoteStatusRequestV0 instance */ - GetEpochsInfoRequestV0.create = function create(properties) { - return new GetEpochsInfoRequestV0(properties); + GetProtocolVersionUpgradeVoteStatusRequestV0.create = function create(properties) { + return new GetProtocolVersionUpgradeVoteStatusRequestV0(properties); }; /** - * Encodes the specified GetEpochsInfoRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.verify|verify} messages. + * Encodes the specified GetProtocolVersionUpgradeVoteStatusRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0 + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetEpochsInfoRequest.IGetEpochsInfoRequestV0} message GetEpochsInfoRequestV0 message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.IGetProtocolVersionUpgradeVoteStatusRequestV0} message GetProtocolVersionUpgradeVoteStatusRequestV0 message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetEpochsInfoRequestV0.encode = function encode(message, writer) { + GetProtocolVersionUpgradeVoteStatusRequestV0.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.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.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); + writer.uint32(/* id 3, wireType 0 =*/24).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. + * Encodes the specified GetProtocolVersionUpgradeVoteStatusRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0 + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetEpochsInfoRequest.IGetEpochsInfoRequestV0} message GetEpochsInfoRequestV0 message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.IGetProtocolVersionUpgradeVoteStatusRequestV0} message GetProtocolVersionUpgradeVoteStatusRequestV0 message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetEpochsInfoRequestV0.encodeDelimited = function encodeDelimited(message, writer) { + GetProtocolVersionUpgradeVoteStatusRequestV0.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetEpochsInfoRequestV0 message from the specified reader or buffer. + * Decodes a GetProtocolVersionUpgradeVoteStatusRequestV0 message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0 + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0 * @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 + * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0} GetProtocolVersionUpgradeVoteStatusRequestV0 * @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) { + GetProtocolVersionUpgradeVoteStatusRequestV0.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(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.startEpoch = $root.google.protobuf.UInt32Value.decode(reader, reader.uint32()); + message.startProTxHash = reader.bytes(); break; case 2: message.count = reader.uint32(); break; case 3: - message.ascending = reader.bool(); - break; - case 4: message.prove = reader.bool(); break; default: @@ -26680,43 +26800,38 @@ $root.org = (function() { }; /** - * Decodes a GetEpochsInfoRequestV0 message from the specified reader or buffer, length delimited. + * Decodes a GetProtocolVersionUpgradeVoteStatusRequestV0 message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0 + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0 * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0} GetEpochsInfoRequestV0 + * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0} GetProtocolVersionUpgradeVoteStatusRequestV0 * @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) { + GetProtocolVersionUpgradeVoteStatusRequestV0.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GetEpochsInfoRequestV0 message. + * Verifies a GetProtocolVersionUpgradeVoteStatusRequestV0 message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0 + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0 * @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) { + GetProtocolVersionUpgradeVoteStatusRequestV0.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.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.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"; @@ -26724,96 +26839,97 @@ $root.org = (function() { }; /** - * Creates a GetEpochsInfoRequestV0 message from a plain object. Also converts values to their respective internal types. + * Creates a GetProtocolVersionUpgradeVoteStatusRequestV0 message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0 + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0 * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0} GetEpochsInfoRequestV0 + * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0} GetProtocolVersionUpgradeVoteStatusRequestV0 */ - GetEpochsInfoRequestV0.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0) + GetProtocolVersionUpgradeVoteStatusRequestV0.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0) 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); - } + var message = new $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0(); + 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.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. + * Creates a plain object from a GetProtocolVersionUpgradeVoteStatusRequestV0 message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0 + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0} message GetEpochsInfoRequestV0 + * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0} message GetProtocolVersionUpgradeVoteStatusRequestV0 * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetEpochsInfoRequestV0.toObject = function toObject(message, options) { + GetProtocolVersionUpgradeVoteStatusRequestV0.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { - object.startEpoch = null; + if (options.bytes === String) + object.startProTxHash = ""; + else { + object.startProTxHash = []; + if (options.bytes !== Array) + object.startProTxHash = $util.newBuffer(object.startProTxHash); + } 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.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.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. + * Converts this GetProtocolVersionUpgradeVoteStatusRequestV0 to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0 + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0 * @instance * @returns {Object.} JSON object */ - GetEpochsInfoRequestV0.prototype.toJSON = function toJSON() { + GetProtocolVersionUpgradeVoteStatusRequestV0.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return GetEpochsInfoRequestV0; + return GetProtocolVersionUpgradeVoteStatusRequestV0; })(); - return GetEpochsInfoRequest; + return GetProtocolVersionUpgradeVoteStatusRequest; })(); - v0.GetEpochsInfoResponse = (function() { + v0.GetProtocolVersionUpgradeVoteStatusResponse = (function() { /** - * Properties of a GetEpochsInfoResponse. + * Properties of a GetProtocolVersionUpgradeVoteStatusResponse. * @memberof org.dash.platform.dapi.v0 - * @interface IGetEpochsInfoResponse - * @property {org.dash.platform.dapi.v0.GetEpochsInfoResponse.IGetEpochsInfoResponseV0|null} [v0] GetEpochsInfoResponse v0 + * @interface IGetProtocolVersionUpgradeVoteStatusResponse + * @property {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.IGetProtocolVersionUpgradeVoteStatusResponseV0|null} [v0] GetProtocolVersionUpgradeVoteStatusResponse v0 */ /** - * Constructs a new GetEpochsInfoResponse. + * Constructs a new GetProtocolVersionUpgradeVoteStatusResponse. * @memberof org.dash.platform.dapi.v0 - * @classdesc Represents a GetEpochsInfoResponse. - * @implements IGetEpochsInfoResponse + * @classdesc Represents a GetProtocolVersionUpgradeVoteStatusResponse. + * @implements IGetProtocolVersionUpgradeVoteStatusResponse * @constructor - * @param {org.dash.platform.dapi.v0.IGetEpochsInfoResponse=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.IGetProtocolVersionUpgradeVoteStatusResponse=} [properties] Properties to set */ - function GetEpochsInfoResponse(properties) { + function GetProtocolVersionUpgradeVoteStatusResponse(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -26821,89 +26937,89 @@ $root.org = (function() { } /** - * GetEpochsInfoResponse v0. - * @member {org.dash.platform.dapi.v0.GetEpochsInfoResponse.IGetEpochsInfoResponseV0|null|undefined} v0 - * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse + * GetProtocolVersionUpgradeVoteStatusResponse v0. + * @member {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.IGetProtocolVersionUpgradeVoteStatusResponseV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse * @instance */ - GetEpochsInfoResponse.prototype.v0 = null; + GetProtocolVersionUpgradeVoteStatusResponse.prototype.v0 = null; // OneOf field names bound to virtual getters and setters var $oneOfFields; /** - * GetEpochsInfoResponse version. + * GetProtocolVersionUpgradeVoteStatusResponse version. * @member {"v0"|undefined} version - * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse * @instance */ - Object.defineProperty(GetEpochsInfoResponse.prototype, "version", { + Object.defineProperty(GetProtocolVersionUpgradeVoteStatusResponse.prototype, "version", { get: $util.oneOfGetter($oneOfFields = ["v0"]), set: $util.oneOfSetter($oneOfFields) }); /** - * Creates a new GetEpochsInfoResponse instance using the specified properties. + * Creates a new GetProtocolVersionUpgradeVoteStatusResponse instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse * @static - * @param {org.dash.platform.dapi.v0.IGetEpochsInfoResponse=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetEpochsInfoResponse} GetEpochsInfoResponse instance + * @param {org.dash.platform.dapi.v0.IGetProtocolVersionUpgradeVoteStatusResponse=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse} GetProtocolVersionUpgradeVoteStatusResponse instance */ - GetEpochsInfoResponse.create = function create(properties) { - return new GetEpochsInfoResponse(properties); + GetProtocolVersionUpgradeVoteStatusResponse.create = function create(properties) { + return new GetProtocolVersionUpgradeVoteStatusResponse(properties); }; /** - * Encodes the specified GetEpochsInfoResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetEpochsInfoResponse.verify|verify} messages. + * Encodes the specified GetProtocolVersionUpgradeVoteStatusResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse * @static - * @param {org.dash.platform.dapi.v0.IGetEpochsInfoResponse} message GetEpochsInfoResponse message or plain object to encode + * @param {org.dash.platform.dapi.v0.IGetProtocolVersionUpgradeVoteStatusResponse} message GetProtocolVersionUpgradeVoteStatusResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetEpochsInfoResponse.encode = function encode(message, writer) { + GetProtocolVersionUpgradeVoteStatusResponse.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(); + $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.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. + * Encodes the specified GetProtocolVersionUpgradeVoteStatusResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse * @static - * @param {org.dash.platform.dapi.v0.IGetEpochsInfoResponse} message GetEpochsInfoResponse message or plain object to encode + * @param {org.dash.platform.dapi.v0.IGetProtocolVersionUpgradeVoteStatusResponse} message GetProtocolVersionUpgradeVoteStatusResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetEpochsInfoResponse.encodeDelimited = function encodeDelimited(message, writer) { + GetProtocolVersionUpgradeVoteStatusResponse.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetEpochsInfoResponse message from the specified reader or buffer. + * Decodes a GetProtocolVersionUpgradeVoteStatusResponse message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse * @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 + * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse} GetProtocolVersionUpgradeVoteStatusResponse * @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) { + GetProtocolVersionUpgradeVoteStatusResponse.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(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse(); 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()); + message.v0 = $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -26914,37 +27030,37 @@ $root.org = (function() { }; /** - * Decodes a GetEpochsInfoResponse message from the specified reader or buffer, length delimited. + * Decodes a GetProtocolVersionUpgradeVoteStatusResponse message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetEpochsInfoResponse} GetEpochsInfoResponse + * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse} GetProtocolVersionUpgradeVoteStatusResponse * @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) { + GetProtocolVersionUpgradeVoteStatusResponse.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GetEpochsInfoResponse message. + * Verifies a GetProtocolVersionUpgradeVoteStatusResponse message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse * @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) { + GetProtocolVersionUpgradeVoteStatusResponse.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); + var error = $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.verify(message.v0); if (error) return "v0." + error; } @@ -26953,40 +27069,40 @@ $root.org = (function() { }; /** - * Creates a GetEpochsInfoResponse message from a plain object. Also converts values to their respective internal types. + * Creates a GetProtocolVersionUpgradeVoteStatusResponse message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetEpochsInfoResponse} GetEpochsInfoResponse + * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse} GetProtocolVersionUpgradeVoteStatusResponse */ - GetEpochsInfoResponse.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetEpochsInfoResponse) + GetProtocolVersionUpgradeVoteStatusResponse.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse) return object; - var message = new $root.org.dash.platform.dapi.v0.GetEpochsInfoResponse(); + var message = new $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse(); 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); + throw TypeError(".org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.v0: object expected"); + message.v0 = $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.fromObject(object.v0); } return message; }; /** - * Creates a plain object from a GetEpochsInfoResponse message. Also converts values to other types if specified. + * Creates a plain object from a GetProtocolVersionUpgradeVoteStatusResponse message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse * @static - * @param {org.dash.platform.dapi.v0.GetEpochsInfoResponse} message GetEpochsInfoResponse + * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse} message GetProtocolVersionUpgradeVoteStatusResponse * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetEpochsInfoResponse.toObject = function toObject(message, options) { + GetProtocolVersionUpgradeVoteStatusResponse.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); + object.v0 = $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.toObject(message.v0, options); if (options.oneofs) object.version = "v0"; } @@ -26994,36 +27110,36 @@ $root.org = (function() { }; /** - * Converts this GetEpochsInfoResponse to JSON. + * Converts this GetProtocolVersionUpgradeVoteStatusResponse to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse * @instance * @returns {Object.} JSON object */ - GetEpochsInfoResponse.prototype.toJSON = function toJSON() { + GetProtocolVersionUpgradeVoteStatusResponse.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - GetEpochsInfoResponse.GetEpochsInfoResponseV0 = (function() { + GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0 = (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 + * Properties of a GetProtocolVersionUpgradeVoteStatusResponseV0. + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse + * @interface IGetProtocolVersionUpgradeVoteStatusResponseV0 + * @property {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.IVersionSignals|null} [versions] GetProtocolVersionUpgradeVoteStatusResponseV0 versions + * @property {org.dash.platform.dapi.v0.IProof|null} [proof] GetProtocolVersionUpgradeVoteStatusResponseV0 proof + * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetProtocolVersionUpgradeVoteStatusResponseV0 metadata */ /** - * Constructs a new GetEpochsInfoResponseV0. - * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse - * @classdesc Represents a GetEpochsInfoResponseV0. - * @implements IGetEpochsInfoResponseV0 + * Constructs a new GetProtocolVersionUpgradeVoteStatusResponseV0. + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse + * @classdesc Represents a GetProtocolVersionUpgradeVoteStatusResponseV0. + * @implements IGetProtocolVersionUpgradeVoteStatusResponseV0 * @constructor - * @param {org.dash.platform.dapi.v0.GetEpochsInfoResponse.IGetEpochsInfoResponseV0=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.IGetProtocolVersionUpgradeVoteStatusResponseV0=} [properties] Properties to set */ - function GetEpochsInfoResponseV0(properties) { + function GetProtocolVersionUpgradeVoteStatusResponseV0(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -27031,69 +27147,69 @@ $root.org = (function() { } /** - * GetEpochsInfoResponseV0 epochs. - * @member {org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.IEpochInfos|null|undefined} epochs - * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0 + * GetProtocolVersionUpgradeVoteStatusResponseV0 versions. + * @member {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.IVersionSignals|null|undefined} versions + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0 * @instance */ - GetEpochsInfoResponseV0.prototype.epochs = null; + GetProtocolVersionUpgradeVoteStatusResponseV0.prototype.versions = null; /** - * GetEpochsInfoResponseV0 proof. + * GetProtocolVersionUpgradeVoteStatusResponseV0 proof. * @member {org.dash.platform.dapi.v0.IProof|null|undefined} proof - * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0 + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0 * @instance */ - GetEpochsInfoResponseV0.prototype.proof = null; + GetProtocolVersionUpgradeVoteStatusResponseV0.prototype.proof = null; /** - * GetEpochsInfoResponseV0 metadata. + * GetProtocolVersionUpgradeVoteStatusResponseV0 metadata. * @member {org.dash.platform.dapi.v0.IResponseMetadata|null|undefined} metadata - * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0 + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0 * @instance */ - GetEpochsInfoResponseV0.prototype.metadata = null; + GetProtocolVersionUpgradeVoteStatusResponseV0.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 + * GetProtocolVersionUpgradeVoteStatusResponseV0 result. + * @member {"versions"|"proof"|undefined} result + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0 * @instance */ - Object.defineProperty(GetEpochsInfoResponseV0.prototype, "result", { - get: $util.oneOfGetter($oneOfFields = ["epochs", "proof"]), + Object.defineProperty(GetProtocolVersionUpgradeVoteStatusResponseV0.prototype, "result", { + get: $util.oneOfGetter($oneOfFields = ["versions", "proof"]), set: $util.oneOfSetter($oneOfFields) }); /** - * Creates a new GetEpochsInfoResponseV0 instance using the specified properties. + * Creates a new GetProtocolVersionUpgradeVoteStatusResponseV0 instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0 + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetEpochsInfoResponse.IGetEpochsInfoResponseV0=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0} GetEpochsInfoResponseV0 instance + * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.IGetProtocolVersionUpgradeVoteStatusResponseV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0} GetProtocolVersionUpgradeVoteStatusResponseV0 instance */ - GetEpochsInfoResponseV0.create = function create(properties) { - return new GetEpochsInfoResponseV0(properties); + GetProtocolVersionUpgradeVoteStatusResponseV0.create = function create(properties) { + return new GetProtocolVersionUpgradeVoteStatusResponseV0(properties); }; /** - * Encodes the specified GetEpochsInfoResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.verify|verify} messages. + * Encodes the specified GetProtocolVersionUpgradeVoteStatusResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0 + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetEpochsInfoResponse.IGetEpochsInfoResponseV0} message GetEpochsInfoResponseV0 message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.IGetProtocolVersionUpgradeVoteStatusResponseV0} message GetProtocolVersionUpgradeVoteStatusResponseV0 message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetEpochsInfoResponseV0.encode = function encode(message, writer) { + GetProtocolVersionUpgradeVoteStatusResponseV0.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.versions != null && Object.hasOwnProperty.call(message, "versions")) + $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.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")) @@ -27102,38 +27218,38 @@ $root.org = (function() { }; /** - * Encodes the specified GetEpochsInfoResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.verify|verify} messages. + * Encodes the specified GetProtocolVersionUpgradeVoteStatusResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0 + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetEpochsInfoResponse.IGetEpochsInfoResponseV0} message GetEpochsInfoResponseV0 message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.IGetProtocolVersionUpgradeVoteStatusResponseV0} message GetProtocolVersionUpgradeVoteStatusResponseV0 message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetEpochsInfoResponseV0.encodeDelimited = function encodeDelimited(message, writer) { + GetProtocolVersionUpgradeVoteStatusResponseV0.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetEpochsInfoResponseV0 message from the specified reader or buffer. + * Decodes a GetProtocolVersionUpgradeVoteStatusResponseV0 message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0 + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0 * @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 + * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0} GetProtocolVersionUpgradeVoteStatusResponseV0 * @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) { + GetProtocolVersionUpgradeVoteStatusResponseV0.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(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0(); 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()); + message.versions = $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.decode(reader, reader.uint32()); break; case 2: message.proof = $root.org.dash.platform.dapi.v0.Proof.decode(reader, reader.uint32()); @@ -27150,39 +27266,39 @@ $root.org = (function() { }; /** - * Decodes a GetEpochsInfoResponseV0 message from the specified reader or buffer, length delimited. + * Decodes a GetProtocolVersionUpgradeVoteStatusResponseV0 message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0 + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0 * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0} GetEpochsInfoResponseV0 + * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0} GetProtocolVersionUpgradeVoteStatusResponseV0 * @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) { + GetProtocolVersionUpgradeVoteStatusResponseV0.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GetEpochsInfoResponseV0 message. + * Verifies a GetProtocolVersionUpgradeVoteStatusResponseV0 message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0 + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0 * @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) { + GetProtocolVersionUpgradeVoteStatusResponseV0.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; var properties = {}; - if (message.epochs != null && message.hasOwnProperty("epochs")) { + if (message.versions != null && message.hasOwnProperty("versions")) { properties.result = 1; { - var error = $root.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.verify(message.epochs); + var error = $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.verify(message.versions); if (error) - return "epochs." + error; + return "versions." + error; } } if (message.proof != null && message.hasOwnProperty("proof")) { @@ -27204,54 +27320,54 @@ $root.org = (function() { }; /** - * Creates a GetEpochsInfoResponseV0 message from a plain object. Also converts values to their respective internal types. + * Creates a GetProtocolVersionUpgradeVoteStatusResponseV0 message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0 + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0 * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0} GetEpochsInfoResponseV0 + * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0} GetProtocolVersionUpgradeVoteStatusResponseV0 */ - GetEpochsInfoResponseV0.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0) + GetProtocolVersionUpgradeVoteStatusResponseV0.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0) 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); + var message = new $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0(); + if (object.versions != null) { + if (typeof object.versions !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.versions: object expected"); + message.versions = $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.fromObject(object.versions); } if (object.proof != null) { if (typeof object.proof !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.proof: object expected"); + throw TypeError(".org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.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"); + throw TypeError(".org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.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. + * Creates a plain object from a GetProtocolVersionUpgradeVoteStatusResponseV0 message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0 + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0} message GetEpochsInfoResponseV0 + * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0} message GetProtocolVersionUpgradeVoteStatusResponseV0 * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetEpochsInfoResponseV0.toObject = function toObject(message, options) { + GetProtocolVersionUpgradeVoteStatusResponseV0.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 (message.versions != null && message.hasOwnProperty("versions")) { + object.versions = $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.toObject(message.versions, options); if (options.oneofs) - object.result = "epochs"; + object.result = "versions"; } if (message.proof != null && message.hasOwnProperty("proof")) { object.proof = $root.org.dash.platform.dapi.v0.Proof.toObject(message.proof, options); @@ -27264,35 +27380,35 @@ $root.org = (function() { }; /** - * Converts this GetEpochsInfoResponseV0 to JSON. + * Converts this GetProtocolVersionUpgradeVoteStatusResponseV0 to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0 + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0 * @instance * @returns {Object.} JSON object */ - GetEpochsInfoResponseV0.prototype.toJSON = function toJSON() { + GetProtocolVersionUpgradeVoteStatusResponseV0.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - GetEpochsInfoResponseV0.EpochInfos = (function() { + GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals = (function() { /** - * Properties of an EpochInfos. - * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0 - * @interface IEpochInfos - * @property {Array.|null} [epochInfos] EpochInfos epochInfos + * Properties of a VersionSignals. + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0 + * @interface IVersionSignals + * @property {Array.|null} [versionSignals] VersionSignals versionSignals */ /** - * Constructs a new EpochInfos. - * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0 - * @classdesc Represents an EpochInfos. - * @implements IEpochInfos + * Constructs a new VersionSignals. + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0 + * @classdesc Represents a VersionSignals. + * @implements IVersionSignals * @constructor - * @param {org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.IEpochInfos=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.IVersionSignals=} [properties] Properties to set */ - function EpochInfos(properties) { - this.epochInfos = []; + function VersionSignals(properties) { + this.versionSignals = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -27300,78 +27416,78 @@ $root.org = (function() { } /** - * EpochInfos epochInfos. - * @member {Array.} epochInfos - * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos + * VersionSignals versionSignals. + * @member {Array.} versionSignals + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals * @instance */ - EpochInfos.prototype.epochInfos = $util.emptyArray; + VersionSignals.prototype.versionSignals = $util.emptyArray; /** - * Creates a new EpochInfos instance using the specified properties. + * Creates a new VersionSignals instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals * @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 + * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.IVersionSignals=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals} VersionSignals instance */ - EpochInfos.create = function create(properties) { - return new EpochInfos(properties); + VersionSignals.create = function create(properties) { + return new VersionSignals(properties); }; /** - * Encodes the specified EpochInfos message. Does not implicitly {@link org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.verify|verify} messages. + * Encodes the specified VersionSignals message. Does not implicitly {@link org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals * @static - * @param {org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.IEpochInfos} message EpochInfos message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.IVersionSignals} message VersionSignals message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - EpochInfos.encode = function encode(message, writer) { + VersionSignals.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(); + if (message.versionSignals != null && message.versionSignals.length) + for (var i = 0; i < message.versionSignals.length; ++i) + $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.encode(message.versionSignals[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. + * Encodes the specified VersionSignals message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals * @static - * @param {org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.IEpochInfos} message EpochInfos message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.IVersionSignals} message VersionSignals message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - EpochInfos.encodeDelimited = function encodeDelimited(message, writer) { + VersionSignals.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes an EpochInfos message from the specified reader or buffer. + * Decodes a VersionSignals message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.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.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos} EpochInfos + * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals} VersionSignals * @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) { + 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.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals(); 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())); + if (!(message.versionSignals && message.versionSignals.length)) + message.versionSignals = []; + message.versionSignals.push($root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.decode(reader, reader.uint32())); break; default: reader.skipType(tag & 7); @@ -27382,129 +27498,125 @@ $root.org = (function() { }; /** - * Decodes an EpochInfos message from the specified reader or buffer, length delimited. + * Decodes a VersionSignals message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos} EpochInfos + * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals} VersionSignals * @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) { + VersionSignals.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies an EpochInfos message. + * Verifies a VersionSignals message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals * @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) { + VersionSignals.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 (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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.verify(message.versionSignals[i]); if (error) - return "epochInfos." + error; + return "versionSignals." + error; } } return null; }; /** - * Creates an EpochInfos message from a plain object. Also converts values to their respective internal types. + * Creates a VersionSignals message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos} EpochInfos + * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals} VersionSignals */ - EpochInfos.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos) + VersionSignals.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals) 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]); + var message = new $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals(); + if (object.versionSignals) { + if (!Array.isArray(object.versionSignals)) + throw TypeError(".org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.versionSignals: object expected"); + message.versionSignals[i] = $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.fromObject(object.versionSignals[i]); } } return message; }; /** - * Creates a plain object from an EpochInfos message. Also converts values to other types if specified. + * Creates a plain object from a VersionSignals message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals * @static - * @param {org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos} message EpochInfos + * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals} message VersionSignals * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - EpochInfos.toObject = function toObject(message, options) { + VersionSignals.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); + 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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.toObject(message.versionSignals[j], options); } return object; }; /** - * Converts this EpochInfos to JSON. + * Converts this VersionSignals to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals * @instance * @returns {Object.} JSON object */ - EpochInfos.prototype.toJSON = function toJSON() { + VersionSignals.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return EpochInfos; + return VersionSignals; })(); - GetEpochsInfoResponseV0.EpochInfo = (function() { + GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal = (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 - * @property {number|null} [protocolVersion] EpochInfo protocolVersion + * Properties of a VersionSignal. + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0 + * @interface IVersionSignal + * @property {Uint8Array|null} [proTxHash] VersionSignal proTxHash + * @property {number|null} [version] VersionSignal version */ /** - * Constructs a new EpochInfo. - * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0 - * @classdesc Represents an EpochInfo. - * @implements IEpochInfo + * Constructs a new VersionSignal. + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0 + * @classdesc Represents a VersionSignal. + * @implements IVersionSignal * @constructor - * @param {org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.IEpochInfo=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.IVersionSignal=} [properties] Properties to set */ - function EpochInfo(properties) { + function VersionSignal(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -27512,140 +27624,88 @@ $root.org = (function() { } /** - * EpochInfo number. - * @member {number} number - * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo + * VersionSignal proTxHash. + * @member {Uint8Array} proTxHash + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal * @instance */ - EpochInfo.prototype.number = 0; + VersionSignal.prototype.proTxHash = $util.newBuffer([]); /** - * EpochInfo firstBlockHeight. - * @member {number|Long} firstBlockHeight - * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo + * VersionSignal version. + * @member {number} version + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal * @instance */ - EpochInfo.prototype.firstBlockHeight = $util.Long ? $util.Long.fromBits(0,0,true) : 0; + VersionSignal.prototype.version = 0; /** - * EpochInfo firstCoreBlockHeight. - * @member {number} firstCoreBlockHeight - * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo - * @instance + * Creates a new VersionSignal instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal + * @static + * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.IVersionSignal=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal} VersionSignal instance */ - EpochInfo.prototype.firstCoreBlockHeight = 0; + VersionSignal.create = function create(properties) { + return new VersionSignal(properties); + }; /** - * EpochInfo startTime. - * @member {number|Long} startTime - * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo - * @instance + * Encodes the specified VersionSignal message. Does not implicitly {@link org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal + * @static + * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.IVersionSignal} message VersionSignal message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer */ - EpochInfo.prototype.startTime = $util.Long ? $util.Long.fromBits(0,0,true) : 0; + 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; + }; /** - * EpochInfo feeMultiplier. - * @member {number} feeMultiplier - * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo - * @instance - */ - EpochInfo.prototype.feeMultiplier = 0; - - /** - * EpochInfo protocolVersion. - * @member {number} protocolVersion - * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo - * @instance - */ - EpochInfo.prototype.protocolVersion = 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); - if (message.protocolVersion != null && Object.hasOwnProperty.call(message, "protocolVersion")) - writer.uint32(/* id 6, wireType 0 =*/48).uint32(message.protocolVersion); - return writer; - }; - - /** - * Encodes the specified EpochInfo message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.verify|verify} messages. + * Encodes the specified VersionSignal message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal * @static - * @param {org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.IEpochInfo} message EpochInfo message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.IVersionSignal} message VersionSignal message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - EpochInfo.encodeDelimited = function encodeDelimited(message, writer) { + VersionSignal.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes an EpochInfo message from the specified reader or buffer. + * Decodes a VersionSignal message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.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.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo} EpochInfo + * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal} VersionSignal * @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) { + 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.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.number = reader.uint32(); + message.proTxHash = reader.bytes(); 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; - case 6: - message.protocolVersion = reader.uint32(); + message.version = reader.uint32(); break; default: reader.skipType(tag & 7); @@ -27656,182 +27716,131 @@ $root.org = (function() { }; /** - * Decodes an EpochInfo message from the specified reader or buffer, length delimited. + * Decodes a VersionSignal message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo} EpochInfo + * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal} VersionSignal * @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) { + VersionSignal.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies an EpochInfo message. + * Verifies a VersionSignal message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal * @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) { + VersionSignal.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"; - if (message.protocolVersion != null && message.hasOwnProperty("protocolVersion")) - if (!$util.isInteger(message.protocolVersion)) - return "protocolVersion: integer 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 an EpochInfo message from a plain object. Also converts values to their respective internal types. + * Creates a VersionSignal message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo} EpochInfo + * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal} VersionSignal */ - EpochInfo.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo) + VersionSignal.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal) 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); - if (object.protocolVersion != null) - message.protocolVersion = object.protocolVersion >>> 0; + var message = new $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.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 an EpochInfo message. Also converts values to other types if specified. + * Creates a plain object from a VersionSignal message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal * @static - * @param {org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo} message EpochInfo + * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal} message VersionSignal * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - EpochInfo.toObject = function toObject(message, options) { + VersionSignal.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; - object.protocolVersion = 0; + if (options.bytes === String) + object.proTxHash = ""; + else { + object.proTxHash = []; + if (options.bytes !== Array) + object.proTxHash = $util.newBuffer(object.proTxHash); + } + object.version = 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; - if (message.protocolVersion != null && message.hasOwnProperty("protocolVersion")) - object.protocolVersion = message.protocolVersion; + 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 EpochInfo to JSON. + * Converts this VersionSignal to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo + * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal * @instance * @returns {Object.} JSON object */ - EpochInfo.prototype.toJSON = function toJSON() { + VersionSignal.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return EpochInfo; + return VersionSignal; })(); - return GetEpochsInfoResponseV0; + return GetProtocolVersionUpgradeVoteStatusResponseV0; })(); - return GetEpochsInfoResponse; + return GetProtocolVersionUpgradeVoteStatusResponse; })(); - v0.GetContestedResourcesRequest = (function() { + v0.GetEpochsInfoRequest = (function() { /** - * Properties of a GetContestedResourcesRequest. + * Properties of a GetEpochsInfoRequest. * @memberof org.dash.platform.dapi.v0 - * @interface IGetContestedResourcesRequest - * @property {org.dash.platform.dapi.v0.GetContestedResourcesRequest.IGetContestedResourcesRequestV0|null} [v0] GetContestedResourcesRequest v0 + * @interface IGetEpochsInfoRequest + * @property {org.dash.platform.dapi.v0.GetEpochsInfoRequest.IGetEpochsInfoRequestV0|null} [v0] GetEpochsInfoRequest v0 */ /** - * Constructs a new GetContestedResourcesRequest. + * Constructs a new GetEpochsInfoRequest. * @memberof org.dash.platform.dapi.v0 - * @classdesc Represents a GetContestedResourcesRequest. - * @implements IGetContestedResourcesRequest + * @classdesc Represents a GetEpochsInfoRequest. + * @implements IGetEpochsInfoRequest * @constructor - * @param {org.dash.platform.dapi.v0.IGetContestedResourcesRequest=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.IGetEpochsInfoRequest=} [properties] Properties to set */ - function GetContestedResourcesRequest(properties) { + function GetEpochsInfoRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -27839,89 +27848,89 @@ $root.org = (function() { } /** - * GetContestedResourcesRequest v0. - * @member {org.dash.platform.dapi.v0.GetContestedResourcesRequest.IGetContestedResourcesRequestV0|null|undefined} v0 - * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest + * GetEpochsInfoRequest v0. + * @member {org.dash.platform.dapi.v0.GetEpochsInfoRequest.IGetEpochsInfoRequestV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest * @instance */ - GetContestedResourcesRequest.prototype.v0 = null; + GetEpochsInfoRequest.prototype.v0 = null; // OneOf field names bound to virtual getters and setters var $oneOfFields; /** - * GetContestedResourcesRequest version. + * GetEpochsInfoRequest version. * @member {"v0"|undefined} version - * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest * @instance */ - Object.defineProperty(GetContestedResourcesRequest.prototype, "version", { + Object.defineProperty(GetEpochsInfoRequest.prototype, "version", { get: $util.oneOfGetter($oneOfFields = ["v0"]), set: $util.oneOfSetter($oneOfFields) }); /** - * Creates a new GetContestedResourcesRequest instance using the specified properties. + * Creates a new GetEpochsInfoRequest instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest * @static - * @param {org.dash.platform.dapi.v0.IGetContestedResourcesRequest=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetContestedResourcesRequest} GetContestedResourcesRequest instance + * @param {org.dash.platform.dapi.v0.IGetEpochsInfoRequest=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetEpochsInfoRequest} GetEpochsInfoRequest instance */ - GetContestedResourcesRequest.create = function create(properties) { - return new GetContestedResourcesRequest(properties); + GetEpochsInfoRequest.create = function create(properties) { + return new GetEpochsInfoRequest(properties); }; /** - * Encodes the specified GetContestedResourcesRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourcesRequest.verify|verify} messages. + * 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.GetContestedResourcesRequest + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest * @static - * @param {org.dash.platform.dapi.v0.IGetContestedResourcesRequest} message GetContestedResourcesRequest message or plain object to encode + * @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 */ - GetContestedResourcesRequest.encode = function encode(message, 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.GetContestedResourcesRequest.GetContestedResourcesRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + $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 GetContestedResourcesRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourcesRequest.verify|verify} messages. + * 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.GetContestedResourcesRequest + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest * @static - * @param {org.dash.platform.dapi.v0.IGetContestedResourcesRequest} message GetContestedResourcesRequest message or plain object to encode + * @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 */ - GetContestedResourcesRequest.encodeDelimited = function encodeDelimited(message, writer) { + GetEpochsInfoRequest.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetContestedResourcesRequest message from the specified reader or buffer. + * Decodes a GetEpochsInfoRequest message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest + * @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.GetContestedResourcesRequest} GetContestedResourcesRequest + * @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 */ - GetContestedResourcesRequest.decode = function decode(reader, length) { + 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.GetContestedResourcesRequest(); + 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.GetContestedResourcesRequest.GetContestedResourcesRequestV0.decode(reader, reader.uint32()); + message.v0 = $root.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -27932,37 +27941,37 @@ $root.org = (function() { }; /** - * Decodes a GetContestedResourcesRequest message from the specified reader or buffer, length delimited. + * Decodes a GetEpochsInfoRequest message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest + * @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.GetContestedResourcesRequest} GetContestedResourcesRequest + * @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 */ - GetContestedResourcesRequest.decodeDelimited = function decodeDelimited(reader) { + GetEpochsInfoRequest.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GetContestedResourcesRequest message. + * Verifies a GetEpochsInfoRequest message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest + * @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 */ - GetContestedResourcesRequest.verify = function verify(message) { + 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.GetContestedResourcesRequest.GetContestedResourcesRequestV0.verify(message.v0); + var error = $root.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.verify(message.v0); if (error) return "v0." + error; } @@ -27971,40 +27980,40 @@ $root.org = (function() { }; /** - * Creates a GetContestedResourcesRequest message from a plain object. Also converts values to their respective internal types. + * Creates a GetEpochsInfoRequest message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetContestedResourcesRequest} GetContestedResourcesRequest + * @returns {org.dash.platform.dapi.v0.GetEpochsInfoRequest} GetEpochsInfoRequest */ - GetContestedResourcesRequest.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourcesRequest) + 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.GetContestedResourcesRequest(); + 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.GetContestedResourcesRequest.v0: object expected"); - message.v0 = $root.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.fromObject(object.v0); + 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 GetContestedResourcesRequest message. Also converts values to other types if specified. + * Creates a plain object from a GetEpochsInfoRequest message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourcesRequest} message GetContestedResourcesRequest + * @param {org.dash.platform.dapi.v0.GetEpochsInfoRequest} message GetEpochsInfoRequest * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetContestedResourcesRequest.toObject = function toObject(message, options) { + 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.GetContestedResourcesRequest.GetContestedResourcesRequestV0.toObject(message.v0, options); + object.v0 = $root.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.toObject(message.v0, options); if (options.oneofs) object.version = "v0"; } @@ -28012,44 +28021,37 @@ $root.org = (function() { }; /** - * Converts this GetContestedResourcesRequest to JSON. + * Converts this GetEpochsInfoRequest to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest * @instance * @returns {Object.} JSON object */ - GetContestedResourcesRequest.prototype.toJSON = function toJSON() { + GetEpochsInfoRequest.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - GetContestedResourcesRequest.GetContestedResourcesRequestV0 = (function() { + GetEpochsInfoRequest.GetEpochsInfoRequestV0 = (function() { /** - * Properties of a GetContestedResourcesRequestV0. - * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest - * @interface IGetContestedResourcesRequestV0 - * @property {Uint8Array|null} [contractId] GetContestedResourcesRequestV0 contractId - * @property {string|null} [documentTypeName] GetContestedResourcesRequestV0 documentTypeName - * @property {string|null} [indexName] GetContestedResourcesRequestV0 indexName - * @property {Array.|null} [startIndexValues] GetContestedResourcesRequestV0 startIndexValues - * @property {Array.|null} [endIndexValues] GetContestedResourcesRequestV0 endIndexValues - * @property {org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.IStartAtValueInfo|null} [startAtValueInfo] GetContestedResourcesRequestV0 startAtValueInfo - * @property {number|null} [count] GetContestedResourcesRequestV0 count - * @property {boolean|null} [orderAscending] GetContestedResourcesRequestV0 orderAscending - * @property {boolean|null} [prove] GetContestedResourcesRequestV0 prove + * 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 GetContestedResourcesRequestV0. - * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest - * @classdesc Represents a GetContestedResourcesRequestV0. - * @implements IGetContestedResourcesRequestV0 + * Constructs a new GetEpochsInfoRequestV0. + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest + * @classdesc Represents a GetEpochsInfoRequestV0. + * @implements IGetEpochsInfoRequestV0 * @constructor - * @param {org.dash.platform.dapi.v0.GetContestedResourcesRequest.IGetContestedResourcesRequestV0=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetEpochsInfoRequest.IGetEpochsInfoRequestV0=} [properties] Properties to set */ - function GetContestedResourcesRequestV0(properties) { - this.startIndexValues = []; - this.endIndexValues = []; + function GetEpochsInfoRequestV0(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -28057,184 +28059,113 @@ $root.org = (function() { } /** - * GetContestedResourcesRequestV0 contractId. - * @member {Uint8Array} contractId - * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0 - * @instance - */ - GetContestedResourcesRequestV0.prototype.contractId = $util.newBuffer([]); - - /** - * GetContestedResourcesRequestV0 documentTypeName. - * @member {string} documentTypeName - * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0 - * @instance - */ - GetContestedResourcesRequestV0.prototype.documentTypeName = ""; - - /** - * GetContestedResourcesRequestV0 indexName. - * @member {string} indexName - * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0 - * @instance - */ - GetContestedResourcesRequestV0.prototype.indexName = ""; - - /** - * GetContestedResourcesRequestV0 startIndexValues. - * @member {Array.} startIndexValues - * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0 - * @instance - */ - GetContestedResourcesRequestV0.prototype.startIndexValues = $util.emptyArray; - - /** - * GetContestedResourcesRequestV0 endIndexValues. - * @member {Array.} endIndexValues - * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0 - * @instance - */ - GetContestedResourcesRequestV0.prototype.endIndexValues = $util.emptyArray; - - /** - * GetContestedResourcesRequestV0 startAtValueInfo. - * @member {org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.IStartAtValueInfo|null|undefined} startAtValueInfo - * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0 + * GetEpochsInfoRequestV0 startEpoch. + * @member {google.protobuf.IUInt32Value|null|undefined} startEpoch + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0 * @instance */ - GetContestedResourcesRequestV0.prototype.startAtValueInfo = null; + GetEpochsInfoRequestV0.prototype.startEpoch = null; /** - * GetContestedResourcesRequestV0 count. + * GetEpochsInfoRequestV0 count. * @member {number} count - * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0 + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0 * @instance */ - GetContestedResourcesRequestV0.prototype.count = 0; + GetEpochsInfoRequestV0.prototype.count = 0; /** - * GetContestedResourcesRequestV0 orderAscending. - * @member {boolean} orderAscending - * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0 + * GetEpochsInfoRequestV0 ascending. + * @member {boolean} ascending + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0 * @instance */ - GetContestedResourcesRequestV0.prototype.orderAscending = false; + GetEpochsInfoRequestV0.prototype.ascending = false; /** - * GetContestedResourcesRequestV0 prove. + * GetEpochsInfoRequestV0 prove. * @member {boolean} prove - * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0 + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0 * @instance */ - GetContestedResourcesRequestV0.prototype.prove = false; + GetEpochsInfoRequestV0.prototype.prove = false; /** - * Creates a new GetContestedResourcesRequestV0 instance using the specified properties. + * Creates a new GetEpochsInfoRequestV0 instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0 + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourcesRequest.IGetContestedResourcesRequestV0=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0} GetContestedResourcesRequestV0 instance + * @param {org.dash.platform.dapi.v0.GetEpochsInfoRequest.IGetEpochsInfoRequestV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0} GetEpochsInfoRequestV0 instance */ - GetContestedResourcesRequestV0.create = function create(properties) { - return new GetContestedResourcesRequestV0(properties); + GetEpochsInfoRequestV0.create = function create(properties) { + return new GetEpochsInfoRequestV0(properties); }; /** - * Encodes the specified GetContestedResourcesRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.verify|verify} messages. + * 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.GetContestedResourcesRequest.GetContestedResourcesRequestV0 + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourcesRequest.IGetContestedResourcesRequestV0} message GetContestedResourcesRequestV0 message or plain object to encode + * @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 */ - GetContestedResourcesRequestV0.encode = function encode(message, writer) { + GetEpochsInfoRequestV0.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.documentTypeName != null && Object.hasOwnProperty.call(message, "documentTypeName")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.documentTypeName); - if (message.indexName != null && Object.hasOwnProperty.call(message, "indexName")) - writer.uint32(/* id 3, wireType 2 =*/26).string(message.indexName); - if (message.startIndexValues != null && message.startIndexValues.length) - for (var i = 0; i < message.startIndexValues.length; ++i) - writer.uint32(/* id 4, wireType 2 =*/34).bytes(message.startIndexValues[i]); - if (message.endIndexValues != null && message.endIndexValues.length) - for (var i = 0; i < message.endIndexValues.length; ++i) - writer.uint32(/* id 5, wireType 2 =*/42).bytes(message.endIndexValues[i]); - if (message.startAtValueInfo != null && Object.hasOwnProperty.call(message, "startAtValueInfo")) - $root.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.encode(message.startAtValueInfo, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); + 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 7, wireType 0 =*/56).uint32(message.count); - if (message.orderAscending != null && Object.hasOwnProperty.call(message, "orderAscending")) - writer.uint32(/* id 8, wireType 0 =*/64).bool(message.orderAscending); + 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 9, wireType 0 =*/72).bool(message.prove); + writer.uint32(/* id 4, wireType 0 =*/32).bool(message.prove); return writer; }; /** - * Encodes the specified GetContestedResourcesRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.verify|verify} messages. + * 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.GetContestedResourcesRequest.GetContestedResourcesRequestV0 + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourcesRequest.IGetContestedResourcesRequestV0} message GetContestedResourcesRequestV0 message or plain object to encode + * @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 */ - GetContestedResourcesRequestV0.encodeDelimited = function encodeDelimited(message, writer) { + GetEpochsInfoRequestV0.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetContestedResourcesRequestV0 message from the specified reader or buffer. + * Decodes a GetEpochsInfoRequestV0 message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0 + * @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.GetContestedResourcesRequest.GetContestedResourcesRequestV0} GetContestedResourcesRequestV0 + * @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 */ - GetContestedResourcesRequestV0.decode = function decode(reader, length) { + 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.GetContestedResourcesRequest.GetContestedResourcesRequestV0(); + 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.contractId = reader.bytes(); + message.startEpoch = $root.google.protobuf.UInt32Value.decode(reader, reader.uint32()); break; case 2: - message.documentTypeName = reader.string(); + message.count = reader.uint32(); break; case 3: - message.indexName = reader.string(); + message.ascending = reader.bool(); break; case 4: - if (!(message.startIndexValues && message.startIndexValues.length)) - message.startIndexValues = []; - message.startIndexValues.push(reader.bytes()); - break; - case 5: - if (!(message.endIndexValues && message.endIndexValues.length)) - message.endIndexValues = []; - message.endIndexValues.push(reader.bytes()); - break; - case 6: - message.startAtValueInfo = $root.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.decode(reader, reader.uint32()); - break; - case 7: - message.count = reader.uint32(); - break; - case 8: - message.orderAscending = reader.bool(); - break; - case 9: message.prove = reader.bool(); break; default: @@ -28246,66 +28177,43 @@ $root.org = (function() { }; /** - * Decodes a GetContestedResourcesRequestV0 message from the specified reader or buffer, length delimited. + * Decodes a GetEpochsInfoRequestV0 message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0 + * @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.GetContestedResourcesRequest.GetContestedResourcesRequestV0} GetContestedResourcesRequestV0 + * @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 */ - GetContestedResourcesRequestV0.decodeDelimited = function decodeDelimited(reader) { + GetEpochsInfoRequestV0.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GetContestedResourcesRequestV0 message. + * Verifies a GetEpochsInfoRequestV0 message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0 + * @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 */ - GetContestedResourcesRequestV0.verify = function verify(message) { + GetEpochsInfoRequestV0.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.documentTypeName != null && message.hasOwnProperty("documentTypeName")) - if (!$util.isString(message.documentTypeName)) - return "documentTypeName: string expected"; - if (message.indexName != null && message.hasOwnProperty("indexName")) - if (!$util.isString(message.indexName)) - return "indexName: string expected"; - if (message.startIndexValues != null && message.hasOwnProperty("startIndexValues")) { - if (!Array.isArray(message.startIndexValues)) - return "startIndexValues: array expected"; - for (var i = 0; i < message.startIndexValues.length; ++i) - if (!(message.startIndexValues[i] && typeof message.startIndexValues[i].length === "number" || $util.isString(message.startIndexValues[i]))) - return "startIndexValues: buffer[] expected"; - } - if (message.endIndexValues != null && message.hasOwnProperty("endIndexValues")) { - if (!Array.isArray(message.endIndexValues)) - return "endIndexValues: array expected"; - for (var i = 0; i < message.endIndexValues.length; ++i) - if (!(message.endIndexValues[i] && typeof message.endIndexValues[i].length === "number" || $util.isString(message.endIndexValues[i]))) - return "endIndexValues: buffer[] expected"; - } - if (message.startAtValueInfo != null && message.hasOwnProperty("startAtValueInfo")) { - var error = $root.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.verify(message.startAtValueInfo); + if (message.startEpoch != null && message.hasOwnProperty("startEpoch")) { + var error = $root.google.protobuf.UInt32Value.verify(message.startEpoch); if (error) - return "startAtValueInfo." + error; + return "startEpoch." + error; } if (message.count != null && message.hasOwnProperty("count")) if (!$util.isInteger(message.count)) return "count: integer expected"; - if (message.orderAscending != null && message.hasOwnProperty("orderAscending")) - if (typeof message.orderAscending !== "boolean") - return "orderAscending: boolean 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"; @@ -28313,373 +28221,96 @@ $root.org = (function() { }; /** - * Creates a GetContestedResourcesRequestV0 message from a plain object. Also converts values to their respective internal types. + * Creates a GetEpochsInfoRequestV0 message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0 + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0 * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0} GetContestedResourcesRequestV0 + * @returns {org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0} GetEpochsInfoRequestV0 */ - GetContestedResourcesRequestV0.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0) + 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.GetContestedResourcesRequest.GetContestedResourcesRequestV0(); - 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.documentTypeName != null) - message.documentTypeName = String(object.documentTypeName); - if (object.indexName != null) - message.indexName = String(object.indexName); - if (object.startIndexValues) { - if (!Array.isArray(object.startIndexValues)) - throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.startIndexValues: array expected"); - message.startIndexValues = []; - for (var i = 0; i < object.startIndexValues.length; ++i) - if (typeof object.startIndexValues[i] === "string") - $util.base64.decode(object.startIndexValues[i], message.startIndexValues[i] = $util.newBuffer($util.base64.length(object.startIndexValues[i])), 0); - else if (object.startIndexValues[i].length >= 0) - message.startIndexValues[i] = object.startIndexValues[i]; - } - if (object.endIndexValues) { - if (!Array.isArray(object.endIndexValues)) - throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.endIndexValues: array expected"); - message.endIndexValues = []; - for (var i = 0; i < object.endIndexValues.length; ++i) - if (typeof object.endIndexValues[i] === "string") - $util.base64.decode(object.endIndexValues[i], message.endIndexValues[i] = $util.newBuffer($util.base64.length(object.endIndexValues[i])), 0); - else if (object.endIndexValues[i].length >= 0) - message.endIndexValues[i] = object.endIndexValues[i]; - } - if (object.startAtValueInfo != null) { - if (typeof object.startAtValueInfo !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.startAtValueInfo: object expected"); - message.startAtValueInfo = $root.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.fromObject(object.startAtValueInfo); + 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.orderAscending != null) - message.orderAscending = Boolean(object.orderAscending); + 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 GetContestedResourcesRequestV0 message. Also converts values to other types if specified. + * Creates a plain object from a GetEpochsInfoRequestV0 message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0 + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0} message GetContestedResourcesRequestV0 + * @param {org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0} message GetEpochsInfoRequestV0 * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetContestedResourcesRequestV0.toObject = function toObject(message, options) { + GetEpochsInfoRequestV0.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.arrays || options.defaults) { - object.startIndexValues = []; - object.endIndexValues = []; - } if (options.defaults) { - if (options.bytes === String) - object.contractId = ""; - else { - object.contractId = []; - if (options.bytes !== Array) - object.contractId = $util.newBuffer(object.contractId); - } - object.documentTypeName = ""; - object.indexName = ""; - object.startAtValueInfo = null; + object.startEpoch = null; object.count = 0; - object.orderAscending = false; + object.ascending = false; object.prove = false; } - 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.documentTypeName != null && message.hasOwnProperty("documentTypeName")) - object.documentTypeName = message.documentTypeName; - if (message.indexName != null && message.hasOwnProperty("indexName")) - object.indexName = message.indexName; - if (message.startIndexValues && message.startIndexValues.length) { - object.startIndexValues = []; - for (var j = 0; j < message.startIndexValues.length; ++j) - object.startIndexValues[j] = options.bytes === String ? $util.base64.encode(message.startIndexValues[j], 0, message.startIndexValues[j].length) : options.bytes === Array ? Array.prototype.slice.call(message.startIndexValues[j]) : message.startIndexValues[j]; - } - if (message.endIndexValues && message.endIndexValues.length) { - object.endIndexValues = []; - for (var j = 0; j < message.endIndexValues.length; ++j) - object.endIndexValues[j] = options.bytes === String ? $util.base64.encode(message.endIndexValues[j], 0, message.endIndexValues[j].length) : options.bytes === Array ? Array.prototype.slice.call(message.endIndexValues[j]) : message.endIndexValues[j]; - } - if (message.startAtValueInfo != null && message.hasOwnProperty("startAtValueInfo")) - object.startAtValueInfo = $root.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.toObject(message.startAtValueInfo, options); + 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.orderAscending != null && message.hasOwnProperty("orderAscending")) - object.orderAscending = message.orderAscending; + 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 GetContestedResourcesRequestV0 to JSON. + * Converts this GetEpochsInfoRequestV0 to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0 + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0 * @instance * @returns {Object.} JSON object */ - GetContestedResourcesRequestV0.prototype.toJSON = function toJSON() { + GetEpochsInfoRequestV0.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - GetContestedResourcesRequestV0.StartAtValueInfo = (function() { - - /** - * Properties of a StartAtValueInfo. - * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0 - * @interface IStartAtValueInfo - * @property {Uint8Array|null} [startValue] StartAtValueInfo startValue - * @property {boolean|null} [startValueIncluded] StartAtValueInfo startValueIncluded - */ - - /** - * Constructs a new StartAtValueInfo. - * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0 - * @classdesc Represents a StartAtValueInfo. - * @implements IStartAtValueInfo - * @constructor - * @param {org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.IStartAtValueInfo=} [properties] Properties to set - */ - function StartAtValueInfo(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]]; - } - - /** - * StartAtValueInfo startValue. - * @member {Uint8Array} startValue - * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo - * @instance - */ - StartAtValueInfo.prototype.startValue = $util.newBuffer([]); - - /** - * StartAtValueInfo startValueIncluded. - * @member {boolean} startValueIncluded - * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo - * @instance - */ - StartAtValueInfo.prototype.startValueIncluded = false; - - /** - * Creates a new StartAtValueInfo instance using the specified properties. - * @function create - * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo - * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.IStartAtValueInfo=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo} StartAtValueInfo instance - */ - StartAtValueInfo.create = function create(properties) { - return new StartAtValueInfo(properties); - }; - - /** - * Encodes the specified StartAtValueInfo message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.verify|verify} messages. - * @function encode - * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo - * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.IStartAtValueInfo} message StartAtValueInfo message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - StartAtValueInfo.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.startValue != null && Object.hasOwnProperty.call(message, "startValue")) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.startValue); - if (message.startValueIncluded != null && Object.hasOwnProperty.call(message, "startValueIncluded")) - writer.uint32(/* id 2, wireType 0 =*/16).bool(message.startValueIncluded); - return writer; - }; - - /** - * Encodes the specified StartAtValueInfo message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.verify|verify} messages. - * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo - * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.IStartAtValueInfo} message StartAtValueInfo message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - StartAtValueInfo.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a StartAtValueInfo message from the specified reader or buffer. - * @function decode - * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo - * @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.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo} StartAtValueInfo - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - StartAtValueInfo.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.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.startValue = reader.bytes(); - break; - case 2: - message.startValueIncluded = reader.bool(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a StartAtValueInfo message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo} StartAtValueInfo - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - StartAtValueInfo.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a StartAtValueInfo message. - * @function verify - * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - StartAtValueInfo.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.startValue != null && message.hasOwnProperty("startValue")) - if (!(message.startValue && typeof message.startValue.length === "number" || $util.isString(message.startValue))) - return "startValue: buffer expected"; - if (message.startValueIncluded != null && message.hasOwnProperty("startValueIncluded")) - if (typeof message.startValueIncluded !== "boolean") - return "startValueIncluded: boolean expected"; - return null; - }; - - /** - * Creates a StartAtValueInfo message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo - * @static - * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo} StartAtValueInfo - */ - StartAtValueInfo.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo) - return object; - var message = new $root.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo(); - if (object.startValue != null) - if (typeof object.startValue === "string") - $util.base64.decode(object.startValue, message.startValue = $util.newBuffer($util.base64.length(object.startValue)), 0); - else if (object.startValue.length >= 0) - message.startValue = object.startValue; - if (object.startValueIncluded != null) - message.startValueIncluded = Boolean(object.startValueIncluded); - return message; - }; - - /** - * Creates a plain object from a StartAtValueInfo message. Also converts values to other types if specified. - * @function toObject - * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo - * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo} message StartAtValueInfo - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - StartAtValueInfo.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - if (options.bytes === String) - object.startValue = ""; - else { - object.startValue = []; - if (options.bytes !== Array) - object.startValue = $util.newBuffer(object.startValue); - } - object.startValueIncluded = false; - } - if (message.startValue != null && message.hasOwnProperty("startValue")) - object.startValue = options.bytes === String ? $util.base64.encode(message.startValue, 0, message.startValue.length) : options.bytes === Array ? Array.prototype.slice.call(message.startValue) : message.startValue; - if (message.startValueIncluded != null && message.hasOwnProperty("startValueIncluded")) - object.startValueIncluded = message.startValueIncluded; - return object; - }; - - /** - * Converts this StartAtValueInfo to JSON. - * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo - * @instance - * @returns {Object.} JSON object - */ - StartAtValueInfo.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return StartAtValueInfo; - })(); - - return GetContestedResourcesRequestV0; + return GetEpochsInfoRequestV0; })(); - return GetContestedResourcesRequest; + return GetEpochsInfoRequest; })(); - v0.GetContestedResourcesResponse = (function() { + v0.GetEpochsInfoResponse = (function() { /** - * Properties of a GetContestedResourcesResponse. + * Properties of a GetEpochsInfoResponse. * @memberof org.dash.platform.dapi.v0 - * @interface IGetContestedResourcesResponse - * @property {org.dash.platform.dapi.v0.GetContestedResourcesResponse.IGetContestedResourcesResponseV0|null} [v0] GetContestedResourcesResponse v0 + * @interface IGetEpochsInfoResponse + * @property {org.dash.platform.dapi.v0.GetEpochsInfoResponse.IGetEpochsInfoResponseV0|null} [v0] GetEpochsInfoResponse v0 */ /** - * Constructs a new GetContestedResourcesResponse. + * Constructs a new GetEpochsInfoResponse. * @memberof org.dash.platform.dapi.v0 - * @classdesc Represents a GetContestedResourcesResponse. - * @implements IGetContestedResourcesResponse + * @classdesc Represents a GetEpochsInfoResponse. + * @implements IGetEpochsInfoResponse * @constructor - * @param {org.dash.platform.dapi.v0.IGetContestedResourcesResponse=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.IGetEpochsInfoResponse=} [properties] Properties to set */ - function GetContestedResourcesResponse(properties) { + function GetEpochsInfoResponse(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -28687,89 +28318,89 @@ $root.org = (function() { } /** - * GetContestedResourcesResponse v0. - * @member {org.dash.platform.dapi.v0.GetContestedResourcesResponse.IGetContestedResourcesResponseV0|null|undefined} v0 - * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse + * GetEpochsInfoResponse v0. + * @member {org.dash.platform.dapi.v0.GetEpochsInfoResponse.IGetEpochsInfoResponseV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse * @instance */ - GetContestedResourcesResponse.prototype.v0 = null; + GetEpochsInfoResponse.prototype.v0 = null; // OneOf field names bound to virtual getters and setters var $oneOfFields; /** - * GetContestedResourcesResponse version. + * GetEpochsInfoResponse version. * @member {"v0"|undefined} version - * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse * @instance */ - Object.defineProperty(GetContestedResourcesResponse.prototype, "version", { + Object.defineProperty(GetEpochsInfoResponse.prototype, "version", { get: $util.oneOfGetter($oneOfFields = ["v0"]), set: $util.oneOfSetter($oneOfFields) }); /** - * Creates a new GetContestedResourcesResponse instance using the specified properties. + * Creates a new GetEpochsInfoResponse instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse * @static - * @param {org.dash.platform.dapi.v0.IGetContestedResourcesResponse=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetContestedResourcesResponse} GetContestedResourcesResponse instance + * @param {org.dash.platform.dapi.v0.IGetEpochsInfoResponse=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetEpochsInfoResponse} GetEpochsInfoResponse instance */ - GetContestedResourcesResponse.create = function create(properties) { - return new GetContestedResourcesResponse(properties); + GetEpochsInfoResponse.create = function create(properties) { + return new GetEpochsInfoResponse(properties); }; /** - * Encodes the specified GetContestedResourcesResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourcesResponse.verify|verify} messages. + * 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.GetContestedResourcesResponse + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse * @static - * @param {org.dash.platform.dapi.v0.IGetContestedResourcesResponse} message GetContestedResourcesResponse message or plain object to encode + * @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 */ - GetContestedResourcesResponse.encode = function encode(message, 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.GetContestedResourcesResponse.GetContestedResourcesResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + $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 GetContestedResourcesResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourcesResponse.verify|verify} messages. + * 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.GetContestedResourcesResponse + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse * @static - * @param {org.dash.platform.dapi.v0.IGetContestedResourcesResponse} message GetContestedResourcesResponse message or plain object to encode + * @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 */ - GetContestedResourcesResponse.encodeDelimited = function encodeDelimited(message, writer) { + GetEpochsInfoResponse.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetContestedResourcesResponse message from the specified reader or buffer. + * Decodes a GetEpochsInfoResponse message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse + * @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.GetContestedResourcesResponse} GetContestedResourcesResponse + * @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 */ - GetContestedResourcesResponse.decode = function decode(reader, length) { + 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.GetContestedResourcesResponse(); + 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.GetContestedResourcesResponse.GetContestedResourcesResponseV0.decode(reader, reader.uint32()); + message.v0 = $root.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -28780,37 +28411,37 @@ $root.org = (function() { }; /** - * Decodes a GetContestedResourcesResponse message from the specified reader or buffer, length delimited. + * Decodes a GetEpochsInfoResponse message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse + * @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.GetContestedResourcesResponse} GetContestedResourcesResponse + * @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 */ - GetContestedResourcesResponse.decodeDelimited = function decodeDelimited(reader) { + GetEpochsInfoResponse.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GetContestedResourcesResponse message. + * Verifies a GetEpochsInfoResponse message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse + * @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 */ - GetContestedResourcesResponse.verify = function verify(message) { + 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.GetContestedResourcesResponse.GetContestedResourcesResponseV0.verify(message.v0); + var error = $root.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.verify(message.v0); if (error) return "v0." + error; } @@ -28819,40 +28450,40 @@ $root.org = (function() { }; /** - * Creates a GetContestedResourcesResponse message from a plain object. Also converts values to their respective internal types. + * Creates a GetEpochsInfoResponse message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetContestedResourcesResponse} GetContestedResourcesResponse + * @returns {org.dash.platform.dapi.v0.GetEpochsInfoResponse} GetEpochsInfoResponse */ - GetContestedResourcesResponse.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourcesResponse) + 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.GetContestedResourcesResponse(); + 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.GetContestedResourcesResponse.v0: object expected"); - message.v0 = $root.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.fromObject(object.v0); + 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 GetContestedResourcesResponse message. Also converts values to other types if specified. + * Creates a plain object from a GetEpochsInfoResponse message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourcesResponse} message GetContestedResourcesResponse + * @param {org.dash.platform.dapi.v0.GetEpochsInfoResponse} message GetEpochsInfoResponse * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetContestedResourcesResponse.toObject = function toObject(message, options) { + 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.GetContestedResourcesResponse.GetContestedResourcesResponseV0.toObject(message.v0, options); + object.v0 = $root.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.toObject(message.v0, options); if (options.oneofs) object.version = "v0"; } @@ -28860,36 +28491,36 @@ $root.org = (function() { }; /** - * Converts this GetContestedResourcesResponse to JSON. + * Converts this GetEpochsInfoResponse to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse * @instance * @returns {Object.} JSON object */ - GetContestedResourcesResponse.prototype.toJSON = function toJSON() { + GetEpochsInfoResponse.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - GetContestedResourcesResponse.GetContestedResourcesResponseV0 = (function() { + GetEpochsInfoResponse.GetEpochsInfoResponseV0 = (function() { /** - * Properties of a GetContestedResourcesResponseV0. - * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse - * @interface IGetContestedResourcesResponseV0 - * @property {org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.IContestedResourceValues|null} [contestedResourceValues] GetContestedResourcesResponseV0 contestedResourceValues - * @property {org.dash.platform.dapi.v0.IProof|null} [proof] GetContestedResourcesResponseV0 proof - * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetContestedResourcesResponseV0 metadata + * 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 GetContestedResourcesResponseV0. - * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse - * @classdesc Represents a GetContestedResourcesResponseV0. - * @implements IGetContestedResourcesResponseV0 + * Constructs a new GetEpochsInfoResponseV0. + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse + * @classdesc Represents a GetEpochsInfoResponseV0. + * @implements IGetEpochsInfoResponseV0 * @constructor - * @param {org.dash.platform.dapi.v0.GetContestedResourcesResponse.IGetContestedResourcesResponseV0=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetEpochsInfoResponse.IGetEpochsInfoResponseV0=} [properties] Properties to set */ - function GetContestedResourcesResponseV0(properties) { + function GetEpochsInfoResponseV0(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -28897,69 +28528,69 @@ $root.org = (function() { } /** - * GetContestedResourcesResponseV0 contestedResourceValues. - * @member {org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.IContestedResourceValues|null|undefined} contestedResourceValues - * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0 + * GetEpochsInfoResponseV0 epochs. + * @member {org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.IEpochInfos|null|undefined} epochs + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0 * @instance */ - GetContestedResourcesResponseV0.prototype.contestedResourceValues = null; + GetEpochsInfoResponseV0.prototype.epochs = null; /** - * GetContestedResourcesResponseV0 proof. + * GetEpochsInfoResponseV0 proof. * @member {org.dash.platform.dapi.v0.IProof|null|undefined} proof - * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0 + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0 * @instance */ - GetContestedResourcesResponseV0.prototype.proof = null; + GetEpochsInfoResponseV0.prototype.proof = null; /** - * GetContestedResourcesResponseV0 metadata. + * GetEpochsInfoResponseV0 metadata. * @member {org.dash.platform.dapi.v0.IResponseMetadata|null|undefined} metadata - * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0 + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0 * @instance */ - GetContestedResourcesResponseV0.prototype.metadata = null; + GetEpochsInfoResponseV0.prototype.metadata = null; // OneOf field names bound to virtual getters and setters var $oneOfFields; /** - * GetContestedResourcesResponseV0 result. - * @member {"contestedResourceValues"|"proof"|undefined} result - * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0 + * GetEpochsInfoResponseV0 result. + * @member {"epochs"|"proof"|undefined} result + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0 * @instance */ - Object.defineProperty(GetContestedResourcesResponseV0.prototype, "result", { - get: $util.oneOfGetter($oneOfFields = ["contestedResourceValues", "proof"]), + Object.defineProperty(GetEpochsInfoResponseV0.prototype, "result", { + get: $util.oneOfGetter($oneOfFields = ["epochs", "proof"]), set: $util.oneOfSetter($oneOfFields) }); /** - * Creates a new GetContestedResourcesResponseV0 instance using the specified properties. + * Creates a new GetEpochsInfoResponseV0 instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0 + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourcesResponse.IGetContestedResourcesResponseV0=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0} GetContestedResourcesResponseV0 instance + * @param {org.dash.platform.dapi.v0.GetEpochsInfoResponse.IGetEpochsInfoResponseV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0} GetEpochsInfoResponseV0 instance */ - GetContestedResourcesResponseV0.create = function create(properties) { - return new GetContestedResourcesResponseV0(properties); + GetEpochsInfoResponseV0.create = function create(properties) { + return new GetEpochsInfoResponseV0(properties); }; /** - * Encodes the specified GetContestedResourcesResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.verify|verify} messages. + * 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.GetContestedResourcesResponse.GetContestedResourcesResponseV0 + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourcesResponse.IGetContestedResourcesResponseV0} message GetContestedResourcesResponseV0 message or plain object to encode + * @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 */ - GetContestedResourcesResponseV0.encode = function encode(message, writer) { + GetEpochsInfoResponseV0.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.contestedResourceValues != null && Object.hasOwnProperty.call(message, "contestedResourceValues")) - $root.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.encode(message.contestedResourceValues, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + 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")) @@ -28968,38 +28599,38 @@ $root.org = (function() { }; /** - * Encodes the specified GetContestedResourcesResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.verify|verify} messages. + * 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.GetContestedResourcesResponse.GetContestedResourcesResponseV0 + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourcesResponse.IGetContestedResourcesResponseV0} message GetContestedResourcesResponseV0 message or plain object to encode + * @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 */ - GetContestedResourcesResponseV0.encodeDelimited = function encodeDelimited(message, writer) { + GetEpochsInfoResponseV0.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetContestedResourcesResponseV0 message from the specified reader or buffer. + * Decodes a GetEpochsInfoResponseV0 message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0 + * @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.GetContestedResourcesResponse.GetContestedResourcesResponseV0} GetContestedResourcesResponseV0 + * @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 */ - GetContestedResourcesResponseV0.decode = function decode(reader, length) { + 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.GetContestedResourcesResponse.GetContestedResourcesResponseV0(); + 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.contestedResourceValues = $root.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.decode(reader, reader.uint32()); + 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()); @@ -29016,39 +28647,39 @@ $root.org = (function() { }; /** - * Decodes a GetContestedResourcesResponseV0 message from the specified reader or buffer, length delimited. + * Decodes a GetEpochsInfoResponseV0 message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0 + * @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.GetContestedResourcesResponse.GetContestedResourcesResponseV0} GetContestedResourcesResponseV0 + * @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 */ - GetContestedResourcesResponseV0.decodeDelimited = function decodeDelimited(reader) { + GetEpochsInfoResponseV0.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GetContestedResourcesResponseV0 message. + * Verifies a GetEpochsInfoResponseV0 message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0 + * @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 */ - GetContestedResourcesResponseV0.verify = function verify(message) { + GetEpochsInfoResponseV0.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; var properties = {}; - if (message.contestedResourceValues != null && message.hasOwnProperty("contestedResourceValues")) { + if (message.epochs != null && message.hasOwnProperty("epochs")) { properties.result = 1; { - var error = $root.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.verify(message.contestedResourceValues); + var error = $root.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.verify(message.epochs); if (error) - return "contestedResourceValues." + error; + return "epochs." + error; } } if (message.proof != null && message.hasOwnProperty("proof")) { @@ -29070,54 +28701,54 @@ $root.org = (function() { }; /** - * Creates a GetContestedResourcesResponseV0 message from a plain object. Also converts values to their respective internal types. + * Creates a GetEpochsInfoResponseV0 message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0 + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0 * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0} GetContestedResourcesResponseV0 + * @returns {org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0} GetEpochsInfoResponseV0 */ - GetContestedResourcesResponseV0.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0) + 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.GetContestedResourcesResponse.GetContestedResourcesResponseV0(); - if (object.contestedResourceValues != null) { - if (typeof object.contestedResourceValues !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.contestedResourceValues: object expected"); - message.contestedResourceValues = $root.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.fromObject(object.contestedResourceValues); + 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.GetContestedResourcesResponse.GetContestedResourcesResponseV0.proof: object expected"); + 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.GetContestedResourcesResponse.GetContestedResourcesResponseV0.metadata: object expected"); + 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 GetContestedResourcesResponseV0 message. Also converts values to other types if specified. + * Creates a plain object from a GetEpochsInfoResponseV0 message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0 + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0} message GetContestedResourcesResponseV0 + * @param {org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0} message GetEpochsInfoResponseV0 * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetContestedResourcesResponseV0.toObject = function toObject(message, options) { + GetEpochsInfoResponseV0.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) object.metadata = null; - if (message.contestedResourceValues != null && message.hasOwnProperty("contestedResourceValues")) { - object.contestedResourceValues = $root.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.toObject(message.contestedResourceValues, options); + 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 = "contestedResourceValues"; + object.result = "epochs"; } if (message.proof != null && message.hasOwnProperty("proof")) { object.proof = $root.org.dash.platform.dapi.v0.Proof.toObject(message.proof, options); @@ -29130,35 +28761,35 @@ $root.org = (function() { }; /** - * Converts this GetContestedResourcesResponseV0 to JSON. + * Converts this GetEpochsInfoResponseV0 to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0 + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0 * @instance * @returns {Object.} JSON object */ - GetContestedResourcesResponseV0.prototype.toJSON = function toJSON() { + GetEpochsInfoResponseV0.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - GetContestedResourcesResponseV0.ContestedResourceValues = (function() { + GetEpochsInfoResponseV0.EpochInfos = (function() { /** - * Properties of a ContestedResourceValues. - * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0 - * @interface IContestedResourceValues - * @property {Array.|null} [contestedResourceValues] ContestedResourceValues contestedResourceValues + * Properties of an EpochInfos. + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0 + * @interface IEpochInfos + * @property {Array.|null} [epochInfos] EpochInfos epochInfos */ /** - * Constructs a new ContestedResourceValues. - * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0 - * @classdesc Represents a ContestedResourceValues. - * @implements IContestedResourceValues + * 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.GetContestedResourcesResponse.GetContestedResourcesResponseV0.IContestedResourceValues=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.IEpochInfos=} [properties] Properties to set */ - function ContestedResourceValues(properties) { - this.contestedResourceValues = []; + function EpochInfos(properties) { + this.epochInfos = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -29166,78 +28797,78 @@ $root.org = (function() { } /** - * ContestedResourceValues contestedResourceValues. - * @member {Array.} contestedResourceValues - * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues + * EpochInfos epochInfos. + * @member {Array.} epochInfos + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos * @instance */ - ContestedResourceValues.prototype.contestedResourceValues = $util.emptyArray; + EpochInfos.prototype.epochInfos = $util.emptyArray; /** - * Creates a new ContestedResourceValues instance using the specified properties. + * Creates a new EpochInfos instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.IContestedResourceValues=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues} ContestedResourceValues instance + * @param {org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.IEpochInfos=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos} EpochInfos instance */ - ContestedResourceValues.create = function create(properties) { - return new ContestedResourceValues(properties); + EpochInfos.create = function create(properties) { + return new EpochInfos(properties); }; /** - * Encodes the specified ContestedResourceValues message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.verify|verify} messages. + * 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.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.IContestedResourceValues} message ContestedResourceValues message or plain object to encode + * @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 */ - ContestedResourceValues.encode = function encode(message, writer) { + EpochInfos.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.contestedResourceValues != null && message.contestedResourceValues.length) - for (var i = 0; i < message.contestedResourceValues.length; ++i) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.contestedResourceValues[i]); + 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 ContestedResourceValues message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.verify|verify} messages. + * 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.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.IContestedResourceValues} message ContestedResourceValues message or plain object to encode + * @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 */ - ContestedResourceValues.encodeDelimited = function encodeDelimited(message, writer) { + EpochInfos.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a ContestedResourceValues message from the specified reader or buffer. + * Decodes an EpochInfos message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues + * @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.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues} ContestedResourceValues + * @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 */ - ContestedResourceValues.decode = function decode(reader, length) { + 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.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues(); + 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.contestedResourceValues && message.contestedResourceValues.length)) - message.contestedResourceValues = []; - message.contestedResourceValues.push(reader.bytes()); + 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); @@ -29248,218 +28879,546 @@ $root.org = (function() { }; /** - * Decodes a ContestedResourceValues message from the specified reader or buffer, length delimited. + * Decodes an EpochInfos message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues + * @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.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues} ContestedResourceValues + * @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 */ - ContestedResourceValues.decodeDelimited = function decodeDelimited(reader) { + EpochInfos.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a ContestedResourceValues message. + * Verifies an EpochInfos message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues + * @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 */ - ContestedResourceValues.verify = function verify(message) { + EpochInfos.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.contestedResourceValues != null && message.hasOwnProperty("contestedResourceValues")) { - if (!Array.isArray(message.contestedResourceValues)) - return "contestedResourceValues: array expected"; - for (var i = 0; i < message.contestedResourceValues.length; ++i) - if (!(message.contestedResourceValues[i] && typeof message.contestedResourceValues[i].length === "number" || $util.isString(message.contestedResourceValues[i]))) - return "contestedResourceValues: buffer[] 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 a ContestedResourceValues message from a plain object. Also converts values to their respective internal types. + * Creates an EpochInfos message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues} ContestedResourceValues + * @returns {org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos} EpochInfos */ - ContestedResourceValues.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues) + 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.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues(); - if (object.contestedResourceValues) { - if (!Array.isArray(object.contestedResourceValues)) - throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.contestedResourceValues: array expected"); - message.contestedResourceValues = []; - for (var i = 0; i < object.contestedResourceValues.length; ++i) - if (typeof object.contestedResourceValues[i] === "string") - $util.base64.decode(object.contestedResourceValues[i], message.contestedResourceValues[i] = $util.newBuffer($util.base64.length(object.contestedResourceValues[i])), 0); - else if (object.contestedResourceValues[i].length >= 0) - message.contestedResourceValues[i] = object.contestedResourceValues[i]; + 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 a ContestedResourceValues message. Also converts values to other types if specified. + * Creates a plain object from an EpochInfos message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues} message ContestedResourceValues + * @param {org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos} message EpochInfos * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - ContestedResourceValues.toObject = function toObject(message, options) { + EpochInfos.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.arrays || options.defaults) - object.contestedResourceValues = []; - if (message.contestedResourceValues && message.contestedResourceValues.length) { - object.contestedResourceValues = []; - for (var j = 0; j < message.contestedResourceValues.length; ++j) - object.contestedResourceValues[j] = options.bytes === String ? $util.base64.encode(message.contestedResourceValues[j], 0, message.contestedResourceValues[j].length) : options.bytes === Array ? Array.prototype.slice.call(message.contestedResourceValues[j]) : message.contestedResourceValues[j]; + 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 ContestedResourceValues to JSON. + * Converts this EpochInfos to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos * @instance * @returns {Object.} JSON object */ - ContestedResourceValues.prototype.toJSON = function toJSON() { + EpochInfos.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return ContestedResourceValues; + return EpochInfos; })(); - return GetContestedResourcesResponseV0; - })(); + GetEpochsInfoResponseV0.EpochInfo = (function() { - return GetContestedResourcesResponse; - })(); + /** + * 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 + * @property {number|null} [protocolVersion] EpochInfo protocolVersion + */ - v0.GetVotePollsByEndDateRequest = (function() { + /** + * 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]]; + } - /** - * Properties of a GetVotePollsByEndDateRequest. - * @memberof org.dash.platform.dapi.v0 - * @interface IGetVotePollsByEndDateRequest - * @property {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.IGetVotePollsByEndDateRequestV0|null} [v0] GetVotePollsByEndDateRequest v0 - */ + /** + * EpochInfo number. + * @member {number} number + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo + * @instance + */ + EpochInfo.prototype.number = 0; - /** - * Constructs a new GetVotePollsByEndDateRequest. - * @memberof org.dash.platform.dapi.v0 - * @classdesc Represents a GetVotePollsByEndDateRequest. - * @implements IGetVotePollsByEndDateRequest - * @constructor - * @param {org.dash.platform.dapi.v0.IGetVotePollsByEndDateRequest=} [properties] Properties to set - */ - function GetVotePollsByEndDateRequest(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 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; - /** - * GetVotePollsByEndDateRequest v0. - * @member {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.IGetVotePollsByEndDateRequestV0|null|undefined} v0 - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest - * @instance - */ - GetVotePollsByEndDateRequest.prototype.v0 = null; + /** + * EpochInfo firstCoreBlockHeight. + * @member {number} firstCoreBlockHeight + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo + * @instance + */ + EpochInfo.prototype.firstCoreBlockHeight = 0; - // OneOf field names bound to virtual getters and setters - var $oneOfFields; + /** + * 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; - /** - * GetVotePollsByEndDateRequest version. - * @member {"v0"|undefined} version - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest - * @instance - */ - Object.defineProperty(GetVotePollsByEndDateRequest.prototype, "version", { - get: $util.oneOfGetter($oneOfFields = ["v0"]), - set: $util.oneOfSetter($oneOfFields) - }); + /** + * EpochInfo feeMultiplier. + * @member {number} feeMultiplier + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo + * @instance + */ + EpochInfo.prototype.feeMultiplier = 0; - /** - * Creates a new GetVotePollsByEndDateRequest instance using the specified properties. - * @function create - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest - * @static - * @param {org.dash.platform.dapi.v0.IGetVotePollsByEndDateRequest=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest} GetVotePollsByEndDateRequest instance - */ - GetVotePollsByEndDateRequest.create = function create(properties) { - return new GetVotePollsByEndDateRequest(properties); - }; + /** + * EpochInfo protocolVersion. + * @member {number} protocolVersion + * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo + * @instance + */ + EpochInfo.prototype.protocolVersion = 0; - /** - * Encodes the specified GetVotePollsByEndDateRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.verify|verify} messages. - * @function encode - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest - * @static - * @param {org.dash.platform.dapi.v0.IGetVotePollsByEndDateRequest} message GetVotePollsByEndDateRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - GetVotePollsByEndDateRequest.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.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - return writer; - }; + /** + * 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 GetVotePollsByEndDateRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest - * @static - * @param {org.dash.platform.dapi.v0.IGetVotePollsByEndDateRequest} message GetVotePollsByEndDateRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - GetVotePollsByEndDateRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); + /** + * 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); + if (message.protocolVersion != null && Object.hasOwnProperty.call(message, "protocolVersion")) + writer.uint32(/* id 6, wireType 0 =*/48).uint32(message.protocolVersion); + 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; + case 6: + message.protocolVersion = reader.uint32(); + 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"; + if (message.protocolVersion != null && message.hasOwnProperty("protocolVersion")) + if (!$util.isInteger(message.protocolVersion)) + return "protocolVersion: integer 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); + if (object.protocolVersion != null) + message.protocolVersion = object.protocolVersion >>> 0; + 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; + object.protocolVersion = 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; + if (message.protocolVersion != null && message.hasOwnProperty("protocolVersion")) + object.protocolVersion = message.protocolVersion; + 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; + })(); + + v0.GetFinalizedEpochInfosRequest = (function() { + + /** + * Properties of a GetFinalizedEpochInfosRequest. + * @memberof org.dash.platform.dapi.v0 + * @interface IGetFinalizedEpochInfosRequest + * @property {org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.IGetFinalizedEpochInfosRequestV0|null} [v0] GetFinalizedEpochInfosRequest v0 + */ + + /** + * Constructs a new GetFinalizedEpochInfosRequest. + * @memberof org.dash.platform.dapi.v0 + * @classdesc Represents a GetFinalizedEpochInfosRequest. + * @implements IGetFinalizedEpochInfosRequest + * @constructor + * @param {org.dash.platform.dapi.v0.IGetFinalizedEpochInfosRequest=} [properties] Properties to set + */ + function GetFinalizedEpochInfosRequest(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]]; + } + + /** + * GetFinalizedEpochInfosRequest v0. + * @member {org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.IGetFinalizedEpochInfosRequestV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest + * @instance + */ + GetFinalizedEpochInfosRequest.prototype.v0 = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * GetFinalizedEpochInfosRequest version. + * @member {"v0"|undefined} version + * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest + * @instance + */ + Object.defineProperty(GetFinalizedEpochInfosRequest.prototype, "version", { + get: $util.oneOfGetter($oneOfFields = ["v0"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new GetFinalizedEpochInfosRequest instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest + * @static + * @param {org.dash.platform.dapi.v0.IGetFinalizedEpochInfosRequest=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest} GetFinalizedEpochInfosRequest instance + */ + GetFinalizedEpochInfosRequest.create = function create(properties) { + return new GetFinalizedEpochInfosRequest(properties); }; /** - * Decodes a GetVotePollsByEndDateRequest message from the specified reader or buffer. + * Encodes the specified GetFinalizedEpochInfosRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest + * @static + * @param {org.dash.platform.dapi.v0.IGetFinalizedEpochInfosRequest} message GetFinalizedEpochInfosRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetFinalizedEpochInfosRequest.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.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified GetFinalizedEpochInfosRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest + * @static + * @param {org.dash.platform.dapi.v0.IGetFinalizedEpochInfosRequest} message GetFinalizedEpochInfosRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetFinalizedEpochInfosRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GetFinalizedEpochInfosRequest message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest + * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest * @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.GetVotePollsByEndDateRequest} GetVotePollsByEndDateRequest + * @returns {org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest} GetFinalizedEpochInfosRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetVotePollsByEndDateRequest.decode = function decode(reader, length) { + GetFinalizedEpochInfosRequest.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.GetVotePollsByEndDateRequest(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.v0 = $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.decode(reader, reader.uint32()); + message.v0 = $root.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -29470,37 +29429,37 @@ $root.org = (function() { }; /** - * Decodes a GetVotePollsByEndDateRequest message from the specified reader or buffer, length delimited. + * Decodes a GetFinalizedEpochInfosRequest message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest + * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest} GetVotePollsByEndDateRequest + * @returns {org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest} GetFinalizedEpochInfosRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetVotePollsByEndDateRequest.decodeDelimited = function decodeDelimited(reader) { + GetFinalizedEpochInfosRequest.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GetVotePollsByEndDateRequest message. + * Verifies a GetFinalizedEpochInfosRequest message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest + * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetVotePollsByEndDateRequest.verify = function verify(message) { + GetFinalizedEpochInfosRequest.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.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.verify(message.v0); + var error = $root.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0.verify(message.v0); if (error) return "v0." + error; } @@ -29509,40 +29468,40 @@ $root.org = (function() { }; /** - * Creates a GetVotePollsByEndDateRequest message from a plain object. Also converts values to their respective internal types. + * Creates a GetFinalizedEpochInfosRequest message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest + * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest} GetVotePollsByEndDateRequest + * @returns {org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest} GetFinalizedEpochInfosRequest */ - GetVotePollsByEndDateRequest.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest) + GetFinalizedEpochInfosRequest.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest) return object; - var message = new $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest(); + var message = new $root.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest(); if (object.v0 != null) { if (typeof object.v0 !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.v0: object expected"); - message.v0 = $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.fromObject(object.v0); + throw TypeError(".org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.v0: object expected"); + message.v0 = $root.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0.fromObject(object.v0); } return message; }; /** - * Creates a plain object from a GetVotePollsByEndDateRequest message. Also converts values to other types if specified. + * Creates a plain object from a GetFinalizedEpochInfosRequest message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest + * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest * @static - * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest} message GetVotePollsByEndDateRequest + * @param {org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest} message GetFinalizedEpochInfosRequest * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetVotePollsByEndDateRequest.toObject = function toObject(message, options) { + GetFinalizedEpochInfosRequest.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.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.toObject(message.v0, options); + object.v0 = $root.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0.toObject(message.v0, options); if (options.oneofs) object.version = "v0"; } @@ -29550,39 +29509,38 @@ $root.org = (function() { }; /** - * Converts this GetVotePollsByEndDateRequest to JSON. + * Converts this GetFinalizedEpochInfosRequest to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest + * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest * @instance * @returns {Object.} JSON object */ - GetVotePollsByEndDateRequest.prototype.toJSON = function toJSON() { + GetFinalizedEpochInfosRequest.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0 = (function() { + GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0 = (function() { /** - * Properties of a GetVotePollsByEndDateRequestV0. - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest - * @interface IGetVotePollsByEndDateRequestV0 - * @property {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.IStartAtTimeInfo|null} [startTimeInfo] GetVotePollsByEndDateRequestV0 startTimeInfo - * @property {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.IEndAtTimeInfo|null} [endTimeInfo] GetVotePollsByEndDateRequestV0 endTimeInfo - * @property {number|null} [limit] GetVotePollsByEndDateRequestV0 limit - * @property {number|null} [offset] GetVotePollsByEndDateRequestV0 offset - * @property {boolean|null} [ascending] GetVotePollsByEndDateRequestV0 ascending - * @property {boolean|null} [prove] GetVotePollsByEndDateRequestV0 prove + * Properties of a GetFinalizedEpochInfosRequestV0. + * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest + * @interface IGetFinalizedEpochInfosRequestV0 + * @property {number|null} [startEpochIndex] GetFinalizedEpochInfosRequestV0 startEpochIndex + * @property {boolean|null} [startEpochIndexIncluded] GetFinalizedEpochInfosRequestV0 startEpochIndexIncluded + * @property {number|null} [endEpochIndex] GetFinalizedEpochInfosRequestV0 endEpochIndex + * @property {boolean|null} [endEpochIndexIncluded] GetFinalizedEpochInfosRequestV0 endEpochIndexIncluded + * @property {boolean|null} [prove] GetFinalizedEpochInfosRequestV0 prove */ /** - * Constructs a new GetVotePollsByEndDateRequestV0. - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest - * @classdesc Represents a GetVotePollsByEndDateRequestV0. - * @implements IGetVotePollsByEndDateRequestV0 + * Constructs a new GetFinalizedEpochInfosRequestV0. + * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest + * @classdesc Represents a GetFinalizedEpochInfosRequestV0. + * @implements IGetFinalizedEpochInfosRequestV0 * @constructor - * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.IGetVotePollsByEndDateRequestV0=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.IGetFinalizedEpochInfosRequestV0=} [properties] Properties to set */ - function GetVotePollsByEndDateRequestV0(properties) { + function GetFinalizedEpochInfosRequestV0(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -29590,139 +29548,126 @@ $root.org = (function() { } /** - * GetVotePollsByEndDateRequestV0 startTimeInfo. - * @member {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.IStartAtTimeInfo|null|undefined} startTimeInfo - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0 - * @instance - */ - GetVotePollsByEndDateRequestV0.prototype.startTimeInfo = null; - - /** - * GetVotePollsByEndDateRequestV0 endTimeInfo. - * @member {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.IEndAtTimeInfo|null|undefined} endTimeInfo - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0 + * GetFinalizedEpochInfosRequestV0 startEpochIndex. + * @member {number} startEpochIndex + * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0 * @instance */ - GetVotePollsByEndDateRequestV0.prototype.endTimeInfo = null; + GetFinalizedEpochInfosRequestV0.prototype.startEpochIndex = 0; /** - * GetVotePollsByEndDateRequestV0 limit. - * @member {number} limit - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0 + * GetFinalizedEpochInfosRequestV0 startEpochIndexIncluded. + * @member {boolean} startEpochIndexIncluded + * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0 * @instance */ - GetVotePollsByEndDateRequestV0.prototype.limit = 0; + GetFinalizedEpochInfosRequestV0.prototype.startEpochIndexIncluded = false; /** - * GetVotePollsByEndDateRequestV0 offset. - * @member {number} offset - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0 + * GetFinalizedEpochInfosRequestV0 endEpochIndex. + * @member {number} endEpochIndex + * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0 * @instance */ - GetVotePollsByEndDateRequestV0.prototype.offset = 0; + GetFinalizedEpochInfosRequestV0.prototype.endEpochIndex = 0; /** - * GetVotePollsByEndDateRequestV0 ascending. - * @member {boolean} ascending - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0 + * GetFinalizedEpochInfosRequestV0 endEpochIndexIncluded. + * @member {boolean} endEpochIndexIncluded + * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0 * @instance */ - GetVotePollsByEndDateRequestV0.prototype.ascending = false; + GetFinalizedEpochInfosRequestV0.prototype.endEpochIndexIncluded = false; /** - * GetVotePollsByEndDateRequestV0 prove. + * GetFinalizedEpochInfosRequestV0 prove. * @member {boolean} prove - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0 + * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0 * @instance */ - GetVotePollsByEndDateRequestV0.prototype.prove = false; + GetFinalizedEpochInfosRequestV0.prototype.prove = false; /** - * Creates a new GetVotePollsByEndDateRequestV0 instance using the specified properties. + * Creates a new GetFinalizedEpochInfosRequestV0 instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0 + * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.IGetVotePollsByEndDateRequestV0=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0} GetVotePollsByEndDateRequestV0 instance + * @param {org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.IGetFinalizedEpochInfosRequestV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0} GetFinalizedEpochInfosRequestV0 instance */ - GetVotePollsByEndDateRequestV0.create = function create(properties) { - return new GetVotePollsByEndDateRequestV0(properties); + GetFinalizedEpochInfosRequestV0.create = function create(properties) { + return new GetFinalizedEpochInfosRequestV0(properties); }; /** - * Encodes the specified GetVotePollsByEndDateRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.verify|verify} messages. + * Encodes the specified GetFinalizedEpochInfosRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0 + * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.IGetVotePollsByEndDateRequestV0} message GetVotePollsByEndDateRequestV0 message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.IGetFinalizedEpochInfosRequestV0} message GetFinalizedEpochInfosRequestV0 message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetVotePollsByEndDateRequestV0.encode = function encode(message, writer) { + GetFinalizedEpochInfosRequestV0.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.startTimeInfo != null && Object.hasOwnProperty.call(message, "startTimeInfo")) - $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.encode(message.startTimeInfo, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.endTimeInfo != null && Object.hasOwnProperty.call(message, "endTimeInfo")) - $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.encode(message.endTimeInfo, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.limit != null && Object.hasOwnProperty.call(message, "limit")) - writer.uint32(/* id 3, wireType 0 =*/24).uint32(message.limit); - if (message.offset != null && Object.hasOwnProperty.call(message, "offset")) - writer.uint32(/* id 4, wireType 0 =*/32).uint32(message.offset); - if (message.ascending != null && Object.hasOwnProperty.call(message, "ascending")) - writer.uint32(/* id 5, wireType 0 =*/40).bool(message.ascending); + if (message.startEpochIndex != null && Object.hasOwnProperty.call(message, "startEpochIndex")) + writer.uint32(/* id 1, wireType 0 =*/8).uint32(message.startEpochIndex); + if (message.startEpochIndexIncluded != null && Object.hasOwnProperty.call(message, "startEpochIndexIncluded")) + writer.uint32(/* id 2, wireType 0 =*/16).bool(message.startEpochIndexIncluded); + if (message.endEpochIndex != null && Object.hasOwnProperty.call(message, "endEpochIndex")) + writer.uint32(/* id 3, wireType 0 =*/24).uint32(message.endEpochIndex); + if (message.endEpochIndexIncluded != null && Object.hasOwnProperty.call(message, "endEpochIndexIncluded")) + writer.uint32(/* id 4, wireType 0 =*/32).bool(message.endEpochIndexIncluded); if (message.prove != null && Object.hasOwnProperty.call(message, "prove")) - writer.uint32(/* id 6, wireType 0 =*/48).bool(message.prove); + writer.uint32(/* id 5, wireType 0 =*/40).bool(message.prove); return writer; }; /** - * Encodes the specified GetVotePollsByEndDateRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.verify|verify} messages. + * Encodes the specified GetFinalizedEpochInfosRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0 + * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.IGetVotePollsByEndDateRequestV0} message GetVotePollsByEndDateRequestV0 message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.IGetFinalizedEpochInfosRequestV0} message GetFinalizedEpochInfosRequestV0 message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetVotePollsByEndDateRequestV0.encodeDelimited = function encodeDelimited(message, writer) { + GetFinalizedEpochInfosRequestV0.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetVotePollsByEndDateRequestV0 message from the specified reader or buffer. + * Decodes a GetFinalizedEpochInfosRequestV0 message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0 + * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0 * @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.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0} GetVotePollsByEndDateRequestV0 + * @returns {org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0} GetFinalizedEpochInfosRequestV0 * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetVotePollsByEndDateRequestV0.decode = function decode(reader, length) { + GetFinalizedEpochInfosRequestV0.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.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.startTimeInfo = $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.decode(reader, reader.uint32()); + message.startEpochIndex = reader.uint32(); break; case 2: - message.endTimeInfo = $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.decode(reader, reader.uint32()); + message.startEpochIndexIncluded = reader.bool(); break; case 3: - message.limit = reader.uint32(); + message.endEpochIndex = reader.uint32(); break; case 4: - message.offset = reader.uint32(); + message.endEpochIndexIncluded = reader.bool(); break; case 5: - message.ascending = reader.bool(); - break; - case 6: message.prove = reader.bool(); break; default: @@ -29734,51 +29679,44 @@ $root.org = (function() { }; /** - * Decodes a GetVotePollsByEndDateRequestV0 message from the specified reader or buffer, length delimited. + * Decodes a GetFinalizedEpochInfosRequestV0 message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0 + * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0 * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0} GetVotePollsByEndDateRequestV0 + * @returns {org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0} GetFinalizedEpochInfosRequestV0 * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetVotePollsByEndDateRequestV0.decodeDelimited = function decodeDelimited(reader) { + GetFinalizedEpochInfosRequestV0.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GetVotePollsByEndDateRequestV0 message. + * Verifies a GetFinalizedEpochInfosRequestV0 message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0 + * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0 * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetVotePollsByEndDateRequestV0.verify = function verify(message) { + GetFinalizedEpochInfosRequestV0.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.startTimeInfo != null && message.hasOwnProperty("startTimeInfo")) { - var error = $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.verify(message.startTimeInfo); - if (error) - return "startTimeInfo." + error; - } - if (message.endTimeInfo != null && message.hasOwnProperty("endTimeInfo")) { - var error = $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.verify(message.endTimeInfo); - if (error) - return "endTimeInfo." + error; - } - if (message.limit != null && message.hasOwnProperty("limit")) - if (!$util.isInteger(message.limit)) - return "limit: integer expected"; - if (message.offset != null && message.hasOwnProperty("offset")) - if (!$util.isInteger(message.offset)) - return "offset: integer expected"; - if (message.ascending != null && message.hasOwnProperty("ascending")) - if (typeof message.ascending !== "boolean") - return "ascending: boolean expected"; + if (message.startEpochIndex != null && message.hasOwnProperty("startEpochIndex")) + if (!$util.isInteger(message.startEpochIndex)) + return "startEpochIndex: integer expected"; + if (message.startEpochIndexIncluded != null && message.hasOwnProperty("startEpochIndexIncluded")) + if (typeof message.startEpochIndexIncluded !== "boolean") + return "startEpochIndexIncluded: boolean expected"; + if (message.endEpochIndex != null && message.hasOwnProperty("endEpochIndex")) + if (!$util.isInteger(message.endEpochIndex)) + return "endEpochIndex: integer expected"; + if (message.endEpochIndexIncluded != null && message.hasOwnProperty("endEpochIndexIncluded")) + if (typeof message.endEpochIndexIncluded !== "boolean") + return "endEpochIndexIncluded: boolean expected"; if (message.prove != null && message.hasOwnProperty("prove")) if (typeof message.prove !== "boolean") return "prove: boolean expected"; @@ -29786,557 +29724,98 @@ $root.org = (function() { }; /** - * Creates a GetVotePollsByEndDateRequestV0 message from a plain object. Also converts values to their respective internal types. + * Creates a GetFinalizedEpochInfosRequestV0 message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0 + * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0 * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0} GetVotePollsByEndDateRequestV0 + * @returns {org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0} GetFinalizedEpochInfosRequestV0 */ - GetVotePollsByEndDateRequestV0.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0) + GetFinalizedEpochInfosRequestV0.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0) return object; - var message = new $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0(); - if (object.startTimeInfo != null) { - if (typeof object.startTimeInfo !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.startTimeInfo: object expected"); - message.startTimeInfo = $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.fromObject(object.startTimeInfo); - } - if (object.endTimeInfo != null) { - if (typeof object.endTimeInfo !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.endTimeInfo: object expected"); - message.endTimeInfo = $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.fromObject(object.endTimeInfo); - } - if (object.limit != null) - message.limit = object.limit >>> 0; - if (object.offset != null) - message.offset = object.offset >>> 0; - if (object.ascending != null) - message.ascending = Boolean(object.ascending); + var message = new $root.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0(); + if (object.startEpochIndex != null) + message.startEpochIndex = object.startEpochIndex >>> 0; + if (object.startEpochIndexIncluded != null) + message.startEpochIndexIncluded = Boolean(object.startEpochIndexIncluded); + if (object.endEpochIndex != null) + message.endEpochIndex = object.endEpochIndex >>> 0; + if (object.endEpochIndexIncluded != null) + message.endEpochIndexIncluded = Boolean(object.endEpochIndexIncluded); if (object.prove != null) message.prove = Boolean(object.prove); return message; }; /** - * Creates a plain object from a GetVotePollsByEndDateRequestV0 message. Also converts values to other types if specified. + * Creates a plain object from a GetFinalizedEpochInfosRequestV0 message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0 + * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0} message GetVotePollsByEndDateRequestV0 + * @param {org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0} message GetFinalizedEpochInfosRequestV0 * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetVotePollsByEndDateRequestV0.toObject = function toObject(message, options) { + GetFinalizedEpochInfosRequestV0.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { - object.startTimeInfo = null; - object.endTimeInfo = null; - object.limit = 0; - object.offset = 0; - object.ascending = false; + object.startEpochIndex = 0; + object.startEpochIndexIncluded = false; + object.endEpochIndex = 0; + object.endEpochIndexIncluded = false; object.prove = false; } - if (message.startTimeInfo != null && message.hasOwnProperty("startTimeInfo")) - object.startTimeInfo = $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.toObject(message.startTimeInfo, options); - if (message.endTimeInfo != null && message.hasOwnProperty("endTimeInfo")) - object.endTimeInfo = $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.toObject(message.endTimeInfo, options); - if (message.limit != null && message.hasOwnProperty("limit")) - object.limit = message.limit; - if (message.offset != null && message.hasOwnProperty("offset")) - object.offset = message.offset; - if (message.ascending != null && message.hasOwnProperty("ascending")) - object.ascending = message.ascending; + if (message.startEpochIndex != null && message.hasOwnProperty("startEpochIndex")) + object.startEpochIndex = message.startEpochIndex; + if (message.startEpochIndexIncluded != null && message.hasOwnProperty("startEpochIndexIncluded")) + object.startEpochIndexIncluded = message.startEpochIndexIncluded; + if (message.endEpochIndex != null && message.hasOwnProperty("endEpochIndex")) + object.endEpochIndex = message.endEpochIndex; + if (message.endEpochIndexIncluded != null && message.hasOwnProperty("endEpochIndexIncluded")) + object.endEpochIndexIncluded = message.endEpochIndexIncluded; if (message.prove != null && message.hasOwnProperty("prove")) object.prove = message.prove; return object; }; /** - * Converts this GetVotePollsByEndDateRequestV0 to JSON. + * Converts this GetFinalizedEpochInfosRequestV0 to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0 + * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0 * @instance * @returns {Object.} JSON object */ - GetVotePollsByEndDateRequestV0.prototype.toJSON = function toJSON() { + GetFinalizedEpochInfosRequestV0.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - GetVotePollsByEndDateRequestV0.StartAtTimeInfo = (function() { - - /** - * Properties of a StartAtTimeInfo. - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0 - * @interface IStartAtTimeInfo - * @property {number|Long|null} [startTimeMs] StartAtTimeInfo startTimeMs - * @property {boolean|null} [startTimeIncluded] StartAtTimeInfo startTimeIncluded - */ + return GetFinalizedEpochInfosRequestV0; + })(); - /** - * Constructs a new StartAtTimeInfo. - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0 - * @classdesc Represents a StartAtTimeInfo. - * @implements IStartAtTimeInfo - * @constructor - * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.IStartAtTimeInfo=} [properties] Properties to set - */ - function StartAtTimeInfo(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 GetFinalizedEpochInfosRequest; + })(); - /** - * StartAtTimeInfo startTimeMs. - * @member {number|Long} startTimeMs - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo - * @instance - */ - StartAtTimeInfo.prototype.startTimeMs = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - - /** - * StartAtTimeInfo startTimeIncluded. - * @member {boolean} startTimeIncluded - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo - * @instance - */ - StartAtTimeInfo.prototype.startTimeIncluded = false; - - /** - * Creates a new StartAtTimeInfo instance using the specified properties. - * @function create - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo - * @static - * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.IStartAtTimeInfo=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo} StartAtTimeInfo instance - */ - StartAtTimeInfo.create = function create(properties) { - return new StartAtTimeInfo(properties); - }; - - /** - * Encodes the specified StartAtTimeInfo message. Does not implicitly {@link org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.verify|verify} messages. - * @function encode - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo - * @static - * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.IStartAtTimeInfo} message StartAtTimeInfo message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - StartAtTimeInfo.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.startTimeMs != null && Object.hasOwnProperty.call(message, "startTimeMs")) - writer.uint32(/* id 1, wireType 0 =*/8).uint64(message.startTimeMs); - if (message.startTimeIncluded != null && Object.hasOwnProperty.call(message, "startTimeIncluded")) - writer.uint32(/* id 2, wireType 0 =*/16).bool(message.startTimeIncluded); - return writer; - }; - - /** - * Encodes the specified StartAtTimeInfo message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.verify|verify} messages. - * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo - * @static - * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.IStartAtTimeInfo} message StartAtTimeInfo message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - StartAtTimeInfo.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a StartAtTimeInfo message from the specified reader or buffer. - * @function decode - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo - * @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.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo} StartAtTimeInfo - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - StartAtTimeInfo.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.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.startTimeMs = reader.uint64(); - break; - case 2: - message.startTimeIncluded = reader.bool(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a StartAtTimeInfo message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo} StartAtTimeInfo - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - StartAtTimeInfo.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a StartAtTimeInfo message. - * @function verify - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - StartAtTimeInfo.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.startTimeMs != null && message.hasOwnProperty("startTimeMs")) - if (!$util.isInteger(message.startTimeMs) && !(message.startTimeMs && $util.isInteger(message.startTimeMs.low) && $util.isInteger(message.startTimeMs.high))) - return "startTimeMs: integer|Long expected"; - if (message.startTimeIncluded != null && message.hasOwnProperty("startTimeIncluded")) - if (typeof message.startTimeIncluded !== "boolean") - return "startTimeIncluded: boolean expected"; - return null; - }; - - /** - * Creates a StartAtTimeInfo message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo - * @static - * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo} StartAtTimeInfo - */ - StartAtTimeInfo.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo) - return object; - var message = new $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo(); - if (object.startTimeMs != null) - if ($util.Long) - (message.startTimeMs = $util.Long.fromValue(object.startTimeMs)).unsigned = true; - else if (typeof object.startTimeMs === "string") - message.startTimeMs = parseInt(object.startTimeMs, 10); - else if (typeof object.startTimeMs === "number") - message.startTimeMs = object.startTimeMs; - else if (typeof object.startTimeMs === "object") - message.startTimeMs = new $util.LongBits(object.startTimeMs.low >>> 0, object.startTimeMs.high >>> 0).toNumber(true); - if (object.startTimeIncluded != null) - message.startTimeIncluded = Boolean(object.startTimeIncluded); - return message; - }; - - /** - * Creates a plain object from a StartAtTimeInfo message. Also converts values to other types if specified. - * @function toObject - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo - * @static - * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo} message StartAtTimeInfo - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - StartAtTimeInfo.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.startTimeMs = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.startTimeMs = options.longs === String ? "0" : 0; - object.startTimeIncluded = false; - } - if (message.startTimeMs != null && message.hasOwnProperty("startTimeMs")) - if (typeof message.startTimeMs === "number") - object.startTimeMs = options.longs === String ? String(message.startTimeMs) : message.startTimeMs; - else - object.startTimeMs = options.longs === String ? $util.Long.prototype.toString.call(message.startTimeMs) : options.longs === Number ? new $util.LongBits(message.startTimeMs.low >>> 0, message.startTimeMs.high >>> 0).toNumber(true) : message.startTimeMs; - if (message.startTimeIncluded != null && message.hasOwnProperty("startTimeIncluded")) - object.startTimeIncluded = message.startTimeIncluded; - return object; - }; - - /** - * Converts this StartAtTimeInfo to JSON. - * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo - * @instance - * @returns {Object.} JSON object - */ - StartAtTimeInfo.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return StartAtTimeInfo; - })(); - - GetVotePollsByEndDateRequestV0.EndAtTimeInfo = (function() { - - /** - * Properties of an EndAtTimeInfo. - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0 - * @interface IEndAtTimeInfo - * @property {number|Long|null} [endTimeMs] EndAtTimeInfo endTimeMs - * @property {boolean|null} [endTimeIncluded] EndAtTimeInfo endTimeIncluded - */ - - /** - * Constructs a new EndAtTimeInfo. - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0 - * @classdesc Represents an EndAtTimeInfo. - * @implements IEndAtTimeInfo - * @constructor - * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.IEndAtTimeInfo=} [properties] Properties to set - */ - function EndAtTimeInfo(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]]; - } - - /** - * EndAtTimeInfo endTimeMs. - * @member {number|Long} endTimeMs - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo - * @instance - */ - EndAtTimeInfo.prototype.endTimeMs = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - - /** - * EndAtTimeInfo endTimeIncluded. - * @member {boolean} endTimeIncluded - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo - * @instance - */ - EndAtTimeInfo.prototype.endTimeIncluded = false; - - /** - * Creates a new EndAtTimeInfo instance using the specified properties. - * @function create - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo - * @static - * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.IEndAtTimeInfo=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo} EndAtTimeInfo instance - */ - EndAtTimeInfo.create = function create(properties) { - return new EndAtTimeInfo(properties); - }; - - /** - * Encodes the specified EndAtTimeInfo message. Does not implicitly {@link org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.verify|verify} messages. - * @function encode - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo - * @static - * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.IEndAtTimeInfo} message EndAtTimeInfo message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - EndAtTimeInfo.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.endTimeMs != null && Object.hasOwnProperty.call(message, "endTimeMs")) - writer.uint32(/* id 1, wireType 0 =*/8).uint64(message.endTimeMs); - if (message.endTimeIncluded != null && Object.hasOwnProperty.call(message, "endTimeIncluded")) - writer.uint32(/* id 2, wireType 0 =*/16).bool(message.endTimeIncluded); - return writer; - }; - - /** - * Encodes the specified EndAtTimeInfo message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.verify|verify} messages. - * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo - * @static - * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.IEndAtTimeInfo} message EndAtTimeInfo message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - EndAtTimeInfo.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes an EndAtTimeInfo message from the specified reader or buffer. - * @function decode - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo - * @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.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo} EndAtTimeInfo - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - EndAtTimeInfo.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.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.endTimeMs = reader.uint64(); - break; - case 2: - message.endTimeIncluded = reader.bool(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes an EndAtTimeInfo message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo} EndAtTimeInfo - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - EndAtTimeInfo.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies an EndAtTimeInfo message. - * @function verify - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - EndAtTimeInfo.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.endTimeMs != null && message.hasOwnProperty("endTimeMs")) - if (!$util.isInteger(message.endTimeMs) && !(message.endTimeMs && $util.isInteger(message.endTimeMs.low) && $util.isInteger(message.endTimeMs.high))) - return "endTimeMs: integer|Long expected"; - if (message.endTimeIncluded != null && message.hasOwnProperty("endTimeIncluded")) - if (typeof message.endTimeIncluded !== "boolean") - return "endTimeIncluded: boolean expected"; - return null; - }; - - /** - * Creates an EndAtTimeInfo message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo - * @static - * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo} EndAtTimeInfo - */ - EndAtTimeInfo.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo) - return object; - var message = new $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo(); - if (object.endTimeMs != null) - if ($util.Long) - (message.endTimeMs = $util.Long.fromValue(object.endTimeMs)).unsigned = true; - else if (typeof object.endTimeMs === "string") - message.endTimeMs = parseInt(object.endTimeMs, 10); - else if (typeof object.endTimeMs === "number") - message.endTimeMs = object.endTimeMs; - else if (typeof object.endTimeMs === "object") - message.endTimeMs = new $util.LongBits(object.endTimeMs.low >>> 0, object.endTimeMs.high >>> 0).toNumber(true); - if (object.endTimeIncluded != null) - message.endTimeIncluded = Boolean(object.endTimeIncluded); - return message; - }; - - /** - * Creates a plain object from an EndAtTimeInfo message. Also converts values to other types if specified. - * @function toObject - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo - * @static - * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo} message EndAtTimeInfo - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - EndAtTimeInfo.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.endTimeMs = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.endTimeMs = options.longs === String ? "0" : 0; - object.endTimeIncluded = false; - } - if (message.endTimeMs != null && message.hasOwnProperty("endTimeMs")) - if (typeof message.endTimeMs === "number") - object.endTimeMs = options.longs === String ? String(message.endTimeMs) : message.endTimeMs; - else - object.endTimeMs = options.longs === String ? $util.Long.prototype.toString.call(message.endTimeMs) : options.longs === Number ? new $util.LongBits(message.endTimeMs.low >>> 0, message.endTimeMs.high >>> 0).toNumber(true) : message.endTimeMs; - if (message.endTimeIncluded != null && message.hasOwnProperty("endTimeIncluded")) - object.endTimeIncluded = message.endTimeIncluded; - return object; - }; - - /** - * Converts this EndAtTimeInfo to JSON. - * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo - * @instance - * @returns {Object.} JSON object - */ - EndAtTimeInfo.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return EndAtTimeInfo; - })(); - - return GetVotePollsByEndDateRequestV0; - })(); - - return GetVotePollsByEndDateRequest; - })(); - - v0.GetVotePollsByEndDateResponse = (function() { + v0.GetFinalizedEpochInfosResponse = (function() { /** - * Properties of a GetVotePollsByEndDateResponse. + * Properties of a GetFinalizedEpochInfosResponse. * @memberof org.dash.platform.dapi.v0 - * @interface IGetVotePollsByEndDateResponse - * @property {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.IGetVotePollsByEndDateResponseV0|null} [v0] GetVotePollsByEndDateResponse v0 + * @interface IGetFinalizedEpochInfosResponse + * @property {org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.IGetFinalizedEpochInfosResponseV0|null} [v0] GetFinalizedEpochInfosResponse v0 */ /** - * Constructs a new GetVotePollsByEndDateResponse. + * Constructs a new GetFinalizedEpochInfosResponse. * @memberof org.dash.platform.dapi.v0 - * @classdesc Represents a GetVotePollsByEndDateResponse. - * @implements IGetVotePollsByEndDateResponse + * @classdesc Represents a GetFinalizedEpochInfosResponse. + * @implements IGetFinalizedEpochInfosResponse * @constructor - * @param {org.dash.platform.dapi.v0.IGetVotePollsByEndDateResponse=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.IGetFinalizedEpochInfosResponse=} [properties] Properties to set */ - function GetVotePollsByEndDateResponse(properties) { + function GetFinalizedEpochInfosResponse(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -30344,89 +29823,89 @@ $root.org = (function() { } /** - * GetVotePollsByEndDateResponse v0. - * @member {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.IGetVotePollsByEndDateResponseV0|null|undefined} v0 - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse + * GetFinalizedEpochInfosResponse v0. + * @member {org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.IGetFinalizedEpochInfosResponseV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse * @instance */ - GetVotePollsByEndDateResponse.prototype.v0 = null; + GetFinalizedEpochInfosResponse.prototype.v0 = null; // OneOf field names bound to virtual getters and setters var $oneOfFields; /** - * GetVotePollsByEndDateResponse version. + * GetFinalizedEpochInfosResponse version. * @member {"v0"|undefined} version - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse + * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse * @instance */ - Object.defineProperty(GetVotePollsByEndDateResponse.prototype, "version", { + Object.defineProperty(GetFinalizedEpochInfosResponse.prototype, "version", { get: $util.oneOfGetter($oneOfFields = ["v0"]), set: $util.oneOfSetter($oneOfFields) }); /** - * Creates a new GetVotePollsByEndDateResponse instance using the specified properties. + * Creates a new GetFinalizedEpochInfosResponse instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse + * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse * @static - * @param {org.dash.platform.dapi.v0.IGetVotePollsByEndDateResponse=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse} GetVotePollsByEndDateResponse instance + * @param {org.dash.platform.dapi.v0.IGetFinalizedEpochInfosResponse=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse} GetFinalizedEpochInfosResponse instance */ - GetVotePollsByEndDateResponse.create = function create(properties) { - return new GetVotePollsByEndDateResponse(properties); + GetFinalizedEpochInfosResponse.create = function create(properties) { + return new GetFinalizedEpochInfosResponse(properties); }; /** - * Encodes the specified GetVotePollsByEndDateResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.verify|verify} messages. + * Encodes the specified GetFinalizedEpochInfosResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse + * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse * @static - * @param {org.dash.platform.dapi.v0.IGetVotePollsByEndDateResponse} message GetVotePollsByEndDateResponse message or plain object to encode + * @param {org.dash.platform.dapi.v0.IGetFinalizedEpochInfosResponse} message GetFinalizedEpochInfosResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetVotePollsByEndDateResponse.encode = function encode(message, writer) { + GetFinalizedEpochInfosResponse.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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + $root.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified GetVotePollsByEndDateResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.verify|verify} messages. + * Encodes the specified GetFinalizedEpochInfosResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse + * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse * @static - * @param {org.dash.platform.dapi.v0.IGetVotePollsByEndDateResponse} message GetVotePollsByEndDateResponse message or plain object to encode + * @param {org.dash.platform.dapi.v0.IGetFinalizedEpochInfosResponse} message GetFinalizedEpochInfosResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetVotePollsByEndDateResponse.encodeDelimited = function encodeDelimited(message, writer) { + GetFinalizedEpochInfosResponse.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetVotePollsByEndDateResponse message from the specified reader or buffer. + * Decodes a GetFinalizedEpochInfosResponse message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse + * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse * @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.GetVotePollsByEndDateResponse} GetVotePollsByEndDateResponse + * @returns {org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse} GetFinalizedEpochInfosResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetVotePollsByEndDateResponse.decode = function decode(reader, length) { + GetFinalizedEpochInfosResponse.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.GetVotePollsByEndDateResponse(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.v0 = $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.decode(reader, reader.uint32()); + message.v0 = $root.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -30437,37 +29916,37 @@ $root.org = (function() { }; /** - * Decodes a GetVotePollsByEndDateResponse message from the specified reader or buffer, length delimited. + * Decodes a GetFinalizedEpochInfosResponse message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse + * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse} GetVotePollsByEndDateResponse + * @returns {org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse} GetFinalizedEpochInfosResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetVotePollsByEndDateResponse.decodeDelimited = function decodeDelimited(reader) { + GetFinalizedEpochInfosResponse.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GetVotePollsByEndDateResponse message. + * Verifies a GetFinalizedEpochInfosResponse message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse + * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetVotePollsByEndDateResponse.verify = function verify(message) { + GetFinalizedEpochInfosResponse.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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.verify(message.v0); + var error = $root.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.verify(message.v0); if (error) return "v0." + error; } @@ -30476,40 +29955,40 @@ $root.org = (function() { }; /** - * Creates a GetVotePollsByEndDateResponse message from a plain object. Also converts values to their respective internal types. + * Creates a GetFinalizedEpochInfosResponse message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse + * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse} GetVotePollsByEndDateResponse + * @returns {org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse} GetFinalizedEpochInfosResponse */ - GetVotePollsByEndDateResponse.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse) + GetFinalizedEpochInfosResponse.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse) return object; - var message = new $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse(); + var message = new $root.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse(); if (object.v0 != null) { if (typeof object.v0 !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.v0: object expected"); - message.v0 = $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.fromObject(object.v0); + throw TypeError(".org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.v0: object expected"); + message.v0 = $root.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.fromObject(object.v0); } return message; }; /** - * Creates a plain object from a GetVotePollsByEndDateResponse message. Also converts values to other types if specified. + * Creates a plain object from a GetFinalizedEpochInfosResponse message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse + * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse * @static - * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse} message GetVotePollsByEndDateResponse + * @param {org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse} message GetFinalizedEpochInfosResponse * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetVotePollsByEndDateResponse.toObject = function toObject(message, options) { + GetFinalizedEpochInfosResponse.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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.toObject(message.v0, options); + object.v0 = $root.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.toObject(message.v0, options); if (options.oneofs) object.version = "v0"; } @@ -30517,36 +29996,36 @@ $root.org = (function() { }; /** - * Converts this GetVotePollsByEndDateResponse to JSON. + * Converts this GetFinalizedEpochInfosResponse to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse + * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse * @instance * @returns {Object.} JSON object */ - GetVotePollsByEndDateResponse.prototype.toJSON = function toJSON() { + GetFinalizedEpochInfosResponse.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0 = (function() { + GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0 = (function() { /** - * Properties of a GetVotePollsByEndDateResponseV0. - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse - * @interface IGetVotePollsByEndDateResponseV0 - * @property {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.ISerializedVotePollsByTimestamps|null} [votePollsByTimestamps] GetVotePollsByEndDateResponseV0 votePollsByTimestamps - * @property {org.dash.platform.dapi.v0.IProof|null} [proof] GetVotePollsByEndDateResponseV0 proof - * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetVotePollsByEndDateResponseV0 metadata + * Properties of a GetFinalizedEpochInfosResponseV0. + * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse + * @interface IGetFinalizedEpochInfosResponseV0 + * @property {org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.IFinalizedEpochInfos|null} [epochs] GetFinalizedEpochInfosResponseV0 epochs + * @property {org.dash.platform.dapi.v0.IProof|null} [proof] GetFinalizedEpochInfosResponseV0 proof + * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetFinalizedEpochInfosResponseV0 metadata */ /** - * Constructs a new GetVotePollsByEndDateResponseV0. - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse - * @classdesc Represents a GetVotePollsByEndDateResponseV0. - * @implements IGetVotePollsByEndDateResponseV0 + * Constructs a new GetFinalizedEpochInfosResponseV0. + * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse + * @classdesc Represents a GetFinalizedEpochInfosResponseV0. + * @implements IGetFinalizedEpochInfosResponseV0 * @constructor - * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.IGetVotePollsByEndDateResponseV0=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.IGetFinalizedEpochInfosResponseV0=} [properties] Properties to set */ - function GetVotePollsByEndDateResponseV0(properties) { + function GetFinalizedEpochInfosResponseV0(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -30554,69 +30033,69 @@ $root.org = (function() { } /** - * GetVotePollsByEndDateResponseV0 votePollsByTimestamps. - * @member {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.ISerializedVotePollsByTimestamps|null|undefined} votePollsByTimestamps - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0 + * GetFinalizedEpochInfosResponseV0 epochs. + * @member {org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.IFinalizedEpochInfos|null|undefined} epochs + * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0 * @instance */ - GetVotePollsByEndDateResponseV0.prototype.votePollsByTimestamps = null; + GetFinalizedEpochInfosResponseV0.prototype.epochs = null; /** - * GetVotePollsByEndDateResponseV0 proof. + * GetFinalizedEpochInfosResponseV0 proof. * @member {org.dash.platform.dapi.v0.IProof|null|undefined} proof - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0 + * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0 * @instance */ - GetVotePollsByEndDateResponseV0.prototype.proof = null; + GetFinalizedEpochInfosResponseV0.prototype.proof = null; /** - * GetVotePollsByEndDateResponseV0 metadata. + * GetFinalizedEpochInfosResponseV0 metadata. * @member {org.dash.platform.dapi.v0.IResponseMetadata|null|undefined} metadata - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0 + * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0 * @instance */ - GetVotePollsByEndDateResponseV0.prototype.metadata = null; + GetFinalizedEpochInfosResponseV0.prototype.metadata = null; // OneOf field names bound to virtual getters and setters var $oneOfFields; /** - * GetVotePollsByEndDateResponseV0 result. - * @member {"votePollsByTimestamps"|"proof"|undefined} result - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0 + * GetFinalizedEpochInfosResponseV0 result. + * @member {"epochs"|"proof"|undefined} result + * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0 * @instance */ - Object.defineProperty(GetVotePollsByEndDateResponseV0.prototype, "result", { - get: $util.oneOfGetter($oneOfFields = ["votePollsByTimestamps", "proof"]), + Object.defineProperty(GetFinalizedEpochInfosResponseV0.prototype, "result", { + get: $util.oneOfGetter($oneOfFields = ["epochs", "proof"]), set: $util.oneOfSetter($oneOfFields) }); /** - * Creates a new GetVotePollsByEndDateResponseV0 instance using the specified properties. + * Creates a new GetFinalizedEpochInfosResponseV0 instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0 + * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.IGetVotePollsByEndDateResponseV0=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0} GetVotePollsByEndDateResponseV0 instance + * @param {org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.IGetFinalizedEpochInfosResponseV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0} GetFinalizedEpochInfosResponseV0 instance */ - GetVotePollsByEndDateResponseV0.create = function create(properties) { - return new GetVotePollsByEndDateResponseV0(properties); + GetFinalizedEpochInfosResponseV0.create = function create(properties) { + return new GetFinalizedEpochInfosResponseV0(properties); }; /** - * Encodes the specified GetVotePollsByEndDateResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.verify|verify} messages. + * Encodes the specified GetFinalizedEpochInfosResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0 + * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.IGetVotePollsByEndDateResponseV0} message GetVotePollsByEndDateResponseV0 message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.IGetFinalizedEpochInfosResponseV0} message GetFinalizedEpochInfosResponseV0 message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetVotePollsByEndDateResponseV0.encode = function encode(message, writer) { + GetFinalizedEpochInfosResponseV0.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.votePollsByTimestamps != null && Object.hasOwnProperty.call(message, "votePollsByTimestamps")) - $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.encode(message.votePollsByTimestamps, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.epochs != null && Object.hasOwnProperty.call(message, "epochs")) + $root.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos.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")) @@ -30625,38 +30104,38 @@ $root.org = (function() { }; /** - * Encodes the specified GetVotePollsByEndDateResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.verify|verify} messages. + * Encodes the specified GetFinalizedEpochInfosResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0 + * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.IGetVotePollsByEndDateResponseV0} message GetVotePollsByEndDateResponseV0 message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.IGetFinalizedEpochInfosResponseV0} message GetFinalizedEpochInfosResponseV0 message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetVotePollsByEndDateResponseV0.encodeDelimited = function encodeDelimited(message, writer) { + GetFinalizedEpochInfosResponseV0.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetVotePollsByEndDateResponseV0 message from the specified reader or buffer. + * Decodes a GetFinalizedEpochInfosResponseV0 message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0 + * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0 * @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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0} GetVotePollsByEndDateResponseV0 + * @returns {org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0} GetFinalizedEpochInfosResponseV0 * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetVotePollsByEndDateResponseV0.decode = function decode(reader, length) { + GetFinalizedEpochInfosResponseV0.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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.votePollsByTimestamps = $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.decode(reader, reader.uint32()); + message.epochs = $root.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos.decode(reader, reader.uint32()); break; case 2: message.proof = $root.org.dash.platform.dapi.v0.Proof.decode(reader, reader.uint32()); @@ -30673,39 +30152,39 @@ $root.org = (function() { }; /** - * Decodes a GetVotePollsByEndDateResponseV0 message from the specified reader or buffer, length delimited. + * Decodes a GetFinalizedEpochInfosResponseV0 message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0 + * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0 * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0} GetVotePollsByEndDateResponseV0 + * @returns {org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0} GetFinalizedEpochInfosResponseV0 * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetVotePollsByEndDateResponseV0.decodeDelimited = function decodeDelimited(reader) { + GetFinalizedEpochInfosResponseV0.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GetVotePollsByEndDateResponseV0 message. + * Verifies a GetFinalizedEpochInfosResponseV0 message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0 + * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0 * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetVotePollsByEndDateResponseV0.verify = function verify(message) { + GetFinalizedEpochInfosResponseV0.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; var properties = {}; - if (message.votePollsByTimestamps != null && message.hasOwnProperty("votePollsByTimestamps")) { + if (message.epochs != null && message.hasOwnProperty("epochs")) { properties.result = 1; { - var error = $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.verify(message.votePollsByTimestamps); + var error = $root.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos.verify(message.epochs); if (error) - return "votePollsByTimestamps." + error; + return "epochs." + error; } } if (message.proof != null && message.hasOwnProperty("proof")) { @@ -30727,54 +30206,54 @@ $root.org = (function() { }; /** - * Creates a GetVotePollsByEndDateResponseV0 message from a plain object. Also converts values to their respective internal types. + * Creates a GetFinalizedEpochInfosResponseV0 message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0 + * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0 * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0} GetVotePollsByEndDateResponseV0 + * @returns {org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0} GetFinalizedEpochInfosResponseV0 */ - GetVotePollsByEndDateResponseV0.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0) + GetFinalizedEpochInfosResponseV0.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0) return object; - var message = new $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0(); - if (object.votePollsByTimestamps != null) { - if (typeof object.votePollsByTimestamps !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.votePollsByTimestamps: object expected"); - message.votePollsByTimestamps = $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.fromObject(object.votePollsByTimestamps); + var message = new $root.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0(); + if (object.epochs != null) { + if (typeof object.epochs !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.epochs: object expected"); + message.epochs = $root.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos.fromObject(object.epochs); } if (object.proof != null) { if (typeof object.proof !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.proof: object expected"); + throw TypeError(".org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.metadata: object expected"); + throw TypeError(".org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.metadata: object expected"); message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.fromObject(object.metadata); } return message; }; /** - * Creates a plain object from a GetVotePollsByEndDateResponseV0 message. Also converts values to other types if specified. + * Creates a plain object from a GetFinalizedEpochInfosResponseV0 message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0 + * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0} message GetVotePollsByEndDateResponseV0 + * @param {org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0} message GetFinalizedEpochInfosResponseV0 * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetVotePollsByEndDateResponseV0.toObject = function toObject(message, options) { + GetFinalizedEpochInfosResponseV0.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) object.metadata = null; - if (message.votePollsByTimestamps != null && message.hasOwnProperty("votePollsByTimestamps")) { - object.votePollsByTimestamps = $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.toObject(message.votePollsByTimestamps, options); + if (message.epochs != null && message.hasOwnProperty("epochs")) { + object.epochs = $root.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos.toObject(message.epochs, options); if (options.oneofs) - object.result = "votePollsByTimestamps"; + object.result = "epochs"; } if (message.proof != null && message.hasOwnProperty("proof")) { object.proof = $root.org.dash.platform.dapi.v0.Proof.toObject(message.proof, options); @@ -30787,36 +30266,35 @@ $root.org = (function() { }; /** - * Converts this GetVotePollsByEndDateResponseV0 to JSON. + * Converts this GetFinalizedEpochInfosResponseV0 to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0 + * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0 * @instance * @returns {Object.} JSON object */ - GetVotePollsByEndDateResponseV0.prototype.toJSON = function toJSON() { + GetFinalizedEpochInfosResponseV0.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp = (function() { + GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos = (function() { /** - * Properties of a SerializedVotePollsByTimestamp. - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0 - * @interface ISerializedVotePollsByTimestamp - * @property {number|Long|null} [timestamp] SerializedVotePollsByTimestamp timestamp - * @property {Array.|null} [serializedVotePolls] SerializedVotePollsByTimestamp serializedVotePolls + * Properties of a FinalizedEpochInfos. + * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0 + * @interface IFinalizedEpochInfos + * @property {Array.|null} [finalizedEpochInfos] FinalizedEpochInfos finalizedEpochInfos */ /** - * Constructs a new SerializedVotePollsByTimestamp. - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0 - * @classdesc Represents a SerializedVotePollsByTimestamp. - * @implements ISerializedVotePollsByTimestamp + * Constructs a new FinalizedEpochInfos. + * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0 + * @classdesc Represents a FinalizedEpochInfos. + * @implements IFinalizedEpochInfos * @constructor - * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.ISerializedVotePollsByTimestamp=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.IFinalizedEpochInfos=} [properties] Properties to set */ - function SerializedVotePollsByTimestamp(properties) { - this.serializedVotePolls = []; + function FinalizedEpochInfos(properties) { + this.finalizedEpochInfos = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -30824,91 +30302,78 @@ $root.org = (function() { } /** - * SerializedVotePollsByTimestamp timestamp. - * @member {number|Long} timestamp - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp - * @instance - */ - SerializedVotePollsByTimestamp.prototype.timestamp = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - - /** - * SerializedVotePollsByTimestamp serializedVotePolls. - * @member {Array.} serializedVotePolls - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp + * FinalizedEpochInfos finalizedEpochInfos. + * @member {Array.} finalizedEpochInfos + * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos * @instance */ - SerializedVotePollsByTimestamp.prototype.serializedVotePolls = $util.emptyArray; + FinalizedEpochInfos.prototype.finalizedEpochInfos = $util.emptyArray; /** - * Creates a new SerializedVotePollsByTimestamp instance using the specified properties. + * Creates a new FinalizedEpochInfos instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp + * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos * @static - * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.ISerializedVotePollsByTimestamp=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp} SerializedVotePollsByTimestamp instance + * @param {org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.IFinalizedEpochInfos=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos} FinalizedEpochInfos instance */ - SerializedVotePollsByTimestamp.create = function create(properties) { - return new SerializedVotePollsByTimestamp(properties); + FinalizedEpochInfos.create = function create(properties) { + return new FinalizedEpochInfos(properties); }; /** - * Encodes the specified SerializedVotePollsByTimestamp message. Does not implicitly {@link org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.verify|verify} messages. + * Encodes the specified FinalizedEpochInfos message. Does not implicitly {@link org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp + * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos * @static - * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.ISerializedVotePollsByTimestamp} message SerializedVotePollsByTimestamp message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.IFinalizedEpochInfos} message FinalizedEpochInfos message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - SerializedVotePollsByTimestamp.encode = function encode(message, writer) { + FinalizedEpochInfos.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.timestamp != null && Object.hasOwnProperty.call(message, "timestamp")) - writer.uint32(/* id 1, wireType 0 =*/8).uint64(message.timestamp); - if (message.serializedVotePolls != null && message.serializedVotePolls.length) - for (var i = 0; i < message.serializedVotePolls.length; ++i) - writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.serializedVotePolls[i]); + if (message.finalizedEpochInfos != null && message.finalizedEpochInfos.length) + for (var i = 0; i < message.finalizedEpochInfos.length; ++i) + $root.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo.encode(message.finalizedEpochInfos[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified SerializedVotePollsByTimestamp message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.verify|verify} messages. + * Encodes the specified FinalizedEpochInfos message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp + * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos * @static - * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.ISerializedVotePollsByTimestamp} message SerializedVotePollsByTimestamp message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.IFinalizedEpochInfos} message FinalizedEpochInfos message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - SerializedVotePollsByTimestamp.encodeDelimited = function encodeDelimited(message, writer) { + FinalizedEpochInfos.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a SerializedVotePollsByTimestamp message from the specified reader or buffer. + * Decodes a FinalizedEpochInfos message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp + * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos * @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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp} SerializedVotePollsByTimestamp + * @returns {org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos} FinalizedEpochInfos * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SerializedVotePollsByTimestamp.decode = function decode(reader, length) { + FinalizedEpochInfos.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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.timestamp = reader.uint64(); - break; - case 2: - if (!(message.serializedVotePolls && message.serializedVotePolls.length)) - message.serializedVotePolls = []; - message.serializedVotePolls.push(reader.bytes()); + if (!(message.finalizedEpochInfos && message.finalizedEpochInfos.length)) + message.finalizedEpochInfos = []; + message.finalizedEpochInfos.push($root.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo.decode(reader, reader.uint32())); break; default: reader.skipType(tag & 7); @@ -30919,147 +30384,137 @@ $root.org = (function() { }; /** - * Decodes a SerializedVotePollsByTimestamp message from the specified reader or buffer, length delimited. + * Decodes a FinalizedEpochInfos message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp + * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp} SerializedVotePollsByTimestamp + * @returns {org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos} FinalizedEpochInfos * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SerializedVotePollsByTimestamp.decodeDelimited = function decodeDelimited(reader) { + FinalizedEpochInfos.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a SerializedVotePollsByTimestamp message. + * Verifies a FinalizedEpochInfos message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp + * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - SerializedVotePollsByTimestamp.verify = function verify(message) { + FinalizedEpochInfos.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.timestamp != null && message.hasOwnProperty("timestamp")) - if (!$util.isInteger(message.timestamp) && !(message.timestamp && $util.isInteger(message.timestamp.low) && $util.isInteger(message.timestamp.high))) - return "timestamp: integer|Long expected"; - if (message.serializedVotePolls != null && message.hasOwnProperty("serializedVotePolls")) { - if (!Array.isArray(message.serializedVotePolls)) - return "serializedVotePolls: array expected"; - for (var i = 0; i < message.serializedVotePolls.length; ++i) - if (!(message.serializedVotePolls[i] && typeof message.serializedVotePolls[i].length === "number" || $util.isString(message.serializedVotePolls[i]))) - return "serializedVotePolls: buffer[] expected"; + if (message.finalizedEpochInfos != null && message.hasOwnProperty("finalizedEpochInfos")) { + if (!Array.isArray(message.finalizedEpochInfos)) + return "finalizedEpochInfos: array expected"; + for (var i = 0; i < message.finalizedEpochInfos.length; ++i) { + var error = $root.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo.verify(message.finalizedEpochInfos[i]); + if (error) + return "finalizedEpochInfos." + error; + } } return null; }; /** - * Creates a SerializedVotePollsByTimestamp message from a plain object. Also converts values to their respective internal types. + * Creates a FinalizedEpochInfos message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp + * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp} SerializedVotePollsByTimestamp + * @returns {org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos} FinalizedEpochInfos */ - SerializedVotePollsByTimestamp.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp) + FinalizedEpochInfos.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos) return object; - var message = new $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp(); - if (object.timestamp != null) - if ($util.Long) - (message.timestamp = $util.Long.fromValue(object.timestamp)).unsigned = true; - else if (typeof object.timestamp === "string") - message.timestamp = parseInt(object.timestamp, 10); - else if (typeof object.timestamp === "number") - message.timestamp = object.timestamp; - else if (typeof object.timestamp === "object") - message.timestamp = new $util.LongBits(object.timestamp.low >>> 0, object.timestamp.high >>> 0).toNumber(true); - if (object.serializedVotePolls) { - if (!Array.isArray(object.serializedVotePolls)) - throw TypeError(".org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.serializedVotePolls: array expected"); - message.serializedVotePolls = []; - for (var i = 0; i < object.serializedVotePolls.length; ++i) - if (typeof object.serializedVotePolls[i] === "string") - $util.base64.decode(object.serializedVotePolls[i], message.serializedVotePolls[i] = $util.newBuffer($util.base64.length(object.serializedVotePolls[i])), 0); - else if (object.serializedVotePolls[i].length >= 0) - message.serializedVotePolls[i] = object.serializedVotePolls[i]; + var message = new $root.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos(); + if (object.finalizedEpochInfos) { + if (!Array.isArray(object.finalizedEpochInfos)) + throw TypeError(".org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos.finalizedEpochInfos: array expected"); + message.finalizedEpochInfos = []; + for (var i = 0; i < object.finalizedEpochInfos.length; ++i) { + if (typeof object.finalizedEpochInfos[i] !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos.finalizedEpochInfos: object expected"); + message.finalizedEpochInfos[i] = $root.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo.fromObject(object.finalizedEpochInfos[i]); + } } return message; }; /** - * Creates a plain object from a SerializedVotePollsByTimestamp message. Also converts values to other types if specified. + * Creates a plain object from a FinalizedEpochInfos message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp + * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos * @static - * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp} message SerializedVotePollsByTimestamp + * @param {org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos} message FinalizedEpochInfos * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - SerializedVotePollsByTimestamp.toObject = function toObject(message, options) { + FinalizedEpochInfos.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.arrays || options.defaults) - object.serializedVotePolls = []; - if (options.defaults) - if ($util.Long) { - var long = new $util.Long(0, 0, true); - object.timestamp = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.timestamp = options.longs === String ? "0" : 0; - if (message.timestamp != null && message.hasOwnProperty("timestamp")) - if (typeof message.timestamp === "number") - object.timestamp = options.longs === String ? String(message.timestamp) : message.timestamp; - else - object.timestamp = options.longs === String ? $util.Long.prototype.toString.call(message.timestamp) : options.longs === Number ? new $util.LongBits(message.timestamp.low >>> 0, message.timestamp.high >>> 0).toNumber(true) : message.timestamp; - if (message.serializedVotePolls && message.serializedVotePolls.length) { - object.serializedVotePolls = []; - for (var j = 0; j < message.serializedVotePolls.length; ++j) - object.serializedVotePolls[j] = options.bytes === String ? $util.base64.encode(message.serializedVotePolls[j], 0, message.serializedVotePolls[j].length) : options.bytes === Array ? Array.prototype.slice.call(message.serializedVotePolls[j]) : message.serializedVotePolls[j]; + object.finalizedEpochInfos = []; + if (message.finalizedEpochInfos && message.finalizedEpochInfos.length) { + object.finalizedEpochInfos = []; + for (var j = 0; j < message.finalizedEpochInfos.length; ++j) + object.finalizedEpochInfos[j] = $root.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo.toObject(message.finalizedEpochInfos[j], options); } return object; }; /** - * Converts this SerializedVotePollsByTimestamp to JSON. + * Converts this FinalizedEpochInfos to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp + * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos * @instance * @returns {Object.} JSON object */ - SerializedVotePollsByTimestamp.prototype.toJSON = function toJSON() { + FinalizedEpochInfos.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return SerializedVotePollsByTimestamp; + return FinalizedEpochInfos; })(); - GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps = (function() { + GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo = (function() { /** - * Properties of a SerializedVotePollsByTimestamps. - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0 - * @interface ISerializedVotePollsByTimestamps - * @property {Array.|null} [votePollsByTimestamps] SerializedVotePollsByTimestamps votePollsByTimestamps - * @property {boolean|null} [finishedResults] SerializedVotePollsByTimestamps finishedResults + * Properties of a FinalizedEpochInfo. + * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0 + * @interface IFinalizedEpochInfo + * @property {number|null} [number] FinalizedEpochInfo number + * @property {number|Long|null} [firstBlockHeight] FinalizedEpochInfo firstBlockHeight + * @property {number|null} [firstCoreBlockHeight] FinalizedEpochInfo firstCoreBlockHeight + * @property {number|Long|null} [firstBlockTime] FinalizedEpochInfo firstBlockTime + * @property {number|null} [feeMultiplier] FinalizedEpochInfo feeMultiplier + * @property {number|null} [protocolVersion] FinalizedEpochInfo protocolVersion + * @property {number|Long|null} [totalBlocksInEpoch] FinalizedEpochInfo totalBlocksInEpoch + * @property {number|null} [nextEpochStartCoreBlockHeight] FinalizedEpochInfo nextEpochStartCoreBlockHeight + * @property {number|Long|null} [totalProcessingFees] FinalizedEpochInfo totalProcessingFees + * @property {number|Long|null} [totalDistributedStorageFees] FinalizedEpochInfo totalDistributedStorageFees + * @property {number|Long|null} [totalCreatedStorageFees] FinalizedEpochInfo totalCreatedStorageFees + * @property {number|Long|null} [coreBlockRewards] FinalizedEpochInfo coreBlockRewards + * @property {Array.|null} [blockProposers] FinalizedEpochInfo blockProposers */ /** - * Constructs a new SerializedVotePollsByTimestamps. - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0 - * @classdesc Represents a SerializedVotePollsByTimestamps. - * @implements ISerializedVotePollsByTimestamps + * Constructs a new FinalizedEpochInfo. + * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0 + * @classdesc Represents a FinalizedEpochInfo. + * @implements IFinalizedEpochInfo * @constructor - * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.ISerializedVotePollsByTimestamps=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.IFinalizedEpochInfo=} [properties] Properties to set */ - function SerializedVotePollsByTimestamps(properties) { - this.votePollsByTimestamps = []; + function FinalizedEpochInfo(properties) { + this.blockProposers = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -31067,91 +30522,234 @@ $root.org = (function() { } /** - * SerializedVotePollsByTimestamps votePollsByTimestamps. - * @member {Array.} votePollsByTimestamps - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps + * FinalizedEpochInfo number. + * @member {number} number + * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo * @instance */ - SerializedVotePollsByTimestamps.prototype.votePollsByTimestamps = $util.emptyArray; + FinalizedEpochInfo.prototype.number = 0; /** - * SerializedVotePollsByTimestamps finishedResults. - * @member {boolean} finishedResults - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps + * FinalizedEpochInfo firstBlockHeight. + * @member {number|Long} firstBlockHeight + * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo * @instance */ - SerializedVotePollsByTimestamps.prototype.finishedResults = false; + FinalizedEpochInfo.prototype.firstBlockHeight = $util.Long ? $util.Long.fromBits(0,0,true) : 0; /** - * Creates a new SerializedVotePollsByTimestamps instance using the specified properties. + * FinalizedEpochInfo firstCoreBlockHeight. + * @member {number} firstCoreBlockHeight + * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo + * @instance + */ + FinalizedEpochInfo.prototype.firstCoreBlockHeight = 0; + + /** + * FinalizedEpochInfo firstBlockTime. + * @member {number|Long} firstBlockTime + * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo + * @instance + */ + FinalizedEpochInfo.prototype.firstBlockTime = $util.Long ? $util.Long.fromBits(0,0,true) : 0; + + /** + * FinalizedEpochInfo feeMultiplier. + * @member {number} feeMultiplier + * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo + * @instance + */ + FinalizedEpochInfo.prototype.feeMultiplier = 0; + + /** + * FinalizedEpochInfo protocolVersion. + * @member {number} protocolVersion + * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo + * @instance + */ + FinalizedEpochInfo.prototype.protocolVersion = 0; + + /** + * FinalizedEpochInfo totalBlocksInEpoch. + * @member {number|Long} totalBlocksInEpoch + * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo + * @instance + */ + FinalizedEpochInfo.prototype.totalBlocksInEpoch = $util.Long ? $util.Long.fromBits(0,0,true) : 0; + + /** + * FinalizedEpochInfo nextEpochStartCoreBlockHeight. + * @member {number} nextEpochStartCoreBlockHeight + * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo + * @instance + */ + FinalizedEpochInfo.prototype.nextEpochStartCoreBlockHeight = 0; + + /** + * FinalizedEpochInfo totalProcessingFees. + * @member {number|Long} totalProcessingFees + * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo + * @instance + */ + FinalizedEpochInfo.prototype.totalProcessingFees = $util.Long ? $util.Long.fromBits(0,0,true) : 0; + + /** + * FinalizedEpochInfo totalDistributedStorageFees. + * @member {number|Long} totalDistributedStorageFees + * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo + * @instance + */ + FinalizedEpochInfo.prototype.totalDistributedStorageFees = $util.Long ? $util.Long.fromBits(0,0,true) : 0; + + /** + * FinalizedEpochInfo totalCreatedStorageFees. + * @member {number|Long} totalCreatedStorageFees + * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo + * @instance + */ + FinalizedEpochInfo.prototype.totalCreatedStorageFees = $util.Long ? $util.Long.fromBits(0,0,true) : 0; + + /** + * FinalizedEpochInfo coreBlockRewards. + * @member {number|Long} coreBlockRewards + * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo + * @instance + */ + FinalizedEpochInfo.prototype.coreBlockRewards = $util.Long ? $util.Long.fromBits(0,0,true) : 0; + + /** + * FinalizedEpochInfo blockProposers. + * @member {Array.} blockProposers + * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo + * @instance + */ + FinalizedEpochInfo.prototype.blockProposers = $util.emptyArray; + + /** + * Creates a new FinalizedEpochInfo instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps + * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo * @static - * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.ISerializedVotePollsByTimestamps=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps} SerializedVotePollsByTimestamps instance + * @param {org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.IFinalizedEpochInfo=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo} FinalizedEpochInfo instance */ - SerializedVotePollsByTimestamps.create = function create(properties) { - return new SerializedVotePollsByTimestamps(properties); + FinalizedEpochInfo.create = function create(properties) { + return new FinalizedEpochInfo(properties); }; /** - * Encodes the specified SerializedVotePollsByTimestamps message. Does not implicitly {@link org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.verify|verify} messages. + * Encodes the specified FinalizedEpochInfo message. Does not implicitly {@link org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps + * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo * @static - * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.ISerializedVotePollsByTimestamps} message SerializedVotePollsByTimestamps message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.IFinalizedEpochInfo} message FinalizedEpochInfo message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - SerializedVotePollsByTimestamps.encode = function encode(message, writer) { + FinalizedEpochInfo.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.votePollsByTimestamps != null && message.votePollsByTimestamps.length) - for (var i = 0; i < message.votePollsByTimestamps.length; ++i) - $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.encode(message.votePollsByTimestamps[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.finishedResults != null && Object.hasOwnProperty.call(message, "finishedResults")) - writer.uint32(/* id 2, wireType 0 =*/16).bool(message.finishedResults); + 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.firstBlockTime != null && Object.hasOwnProperty.call(message, "firstBlockTime")) + writer.uint32(/* id 4, wireType 0 =*/32).uint64(message.firstBlockTime); + if (message.feeMultiplier != null && Object.hasOwnProperty.call(message, "feeMultiplier")) + writer.uint32(/* id 5, wireType 1 =*/41).double(message.feeMultiplier); + if (message.protocolVersion != null && Object.hasOwnProperty.call(message, "protocolVersion")) + writer.uint32(/* id 6, wireType 0 =*/48).uint32(message.protocolVersion); + if (message.totalBlocksInEpoch != null && Object.hasOwnProperty.call(message, "totalBlocksInEpoch")) + writer.uint32(/* id 7, wireType 0 =*/56).uint64(message.totalBlocksInEpoch); + if (message.nextEpochStartCoreBlockHeight != null && Object.hasOwnProperty.call(message, "nextEpochStartCoreBlockHeight")) + writer.uint32(/* id 8, wireType 0 =*/64).uint32(message.nextEpochStartCoreBlockHeight); + if (message.totalProcessingFees != null && Object.hasOwnProperty.call(message, "totalProcessingFees")) + writer.uint32(/* id 9, wireType 0 =*/72).uint64(message.totalProcessingFees); + if (message.totalDistributedStorageFees != null && Object.hasOwnProperty.call(message, "totalDistributedStorageFees")) + writer.uint32(/* id 10, wireType 0 =*/80).uint64(message.totalDistributedStorageFees); + if (message.totalCreatedStorageFees != null && Object.hasOwnProperty.call(message, "totalCreatedStorageFees")) + writer.uint32(/* id 11, wireType 0 =*/88).uint64(message.totalCreatedStorageFees); + if (message.coreBlockRewards != null && Object.hasOwnProperty.call(message, "coreBlockRewards")) + writer.uint32(/* id 12, wireType 0 =*/96).uint64(message.coreBlockRewards); + if (message.blockProposers != null && message.blockProposers.length) + for (var i = 0; i < message.blockProposers.length; ++i) + $root.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer.encode(message.blockProposers[i], writer.uint32(/* id 13, wireType 2 =*/106).fork()).ldelim(); return writer; }; /** - * Encodes the specified SerializedVotePollsByTimestamps message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.verify|verify} messages. + * Encodes the specified FinalizedEpochInfo message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps + * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo * @static - * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.ISerializedVotePollsByTimestamps} message SerializedVotePollsByTimestamps message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.IFinalizedEpochInfo} message FinalizedEpochInfo message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - SerializedVotePollsByTimestamps.encodeDelimited = function encodeDelimited(message, writer) { + FinalizedEpochInfo.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a SerializedVotePollsByTimestamps message from the specified reader or buffer. + * Decodes a FinalizedEpochInfo message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps + * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo * @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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps} SerializedVotePollsByTimestamps + * @returns {org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo} FinalizedEpochInfo * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SerializedVotePollsByTimestamps.decode = function decode(reader, length) { + FinalizedEpochInfo.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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - if (!(message.votePollsByTimestamps && message.votePollsByTimestamps.length)) - message.votePollsByTimestamps = []; - message.votePollsByTimestamps.push($root.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.decode(reader, reader.uint32())); + message.number = reader.uint32(); break; case 2: - message.finishedResults = reader.bool(); + message.firstBlockHeight = reader.uint64(); + break; + case 3: + message.firstCoreBlockHeight = reader.uint32(); + break; + case 4: + message.firstBlockTime = reader.uint64(); + break; + case 5: + message.feeMultiplier = reader.double(); + break; + case 6: + message.protocolVersion = reader.uint32(); + break; + case 7: + message.totalBlocksInEpoch = reader.uint64(); + break; + case 8: + message.nextEpochStartCoreBlockHeight = reader.uint32(); + break; + case 9: + message.totalProcessingFees = reader.uint64(); + break; + case 10: + message.totalDistributedStorageFees = reader.uint64(); + break; + case 11: + message.totalCreatedStorageFees = reader.uint64(); + break; + case 12: + message.coreBlockRewards = reader.uint64(); + break; + case 13: + if (!(message.blockProposers && message.blockProposers.length)) + message.blockProposers = []; + message.blockProposers.push($root.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer.decode(reader, reader.uint32())); break; default: reader.skipType(tag & 7); @@ -31162,229 +30760,635 @@ $root.org = (function() { }; /** - * Decodes a SerializedVotePollsByTimestamps message from the specified reader or buffer, length delimited. + * Decodes a FinalizedEpochInfo message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps + * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps} SerializedVotePollsByTimestamps + * @returns {org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo} FinalizedEpochInfo * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SerializedVotePollsByTimestamps.decodeDelimited = function decodeDelimited(reader) { + FinalizedEpochInfo.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a SerializedVotePollsByTimestamps message. + * Verifies a FinalizedEpochInfo message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps + * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - SerializedVotePollsByTimestamps.verify = function verify(message) { + FinalizedEpochInfo.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.votePollsByTimestamps != null && message.hasOwnProperty("votePollsByTimestamps")) { - if (!Array.isArray(message.votePollsByTimestamps)) - return "votePollsByTimestamps: array expected"; - for (var i = 0; i < message.votePollsByTimestamps.length; ++i) { - var error = $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.verify(message.votePollsByTimestamps[i]); + 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.firstBlockTime != null && message.hasOwnProperty("firstBlockTime")) + if (!$util.isInteger(message.firstBlockTime) && !(message.firstBlockTime && $util.isInteger(message.firstBlockTime.low) && $util.isInteger(message.firstBlockTime.high))) + return "firstBlockTime: integer|Long expected"; + if (message.feeMultiplier != null && message.hasOwnProperty("feeMultiplier")) + if (typeof message.feeMultiplier !== "number") + return "feeMultiplier: number expected"; + if (message.protocolVersion != null && message.hasOwnProperty("protocolVersion")) + if (!$util.isInteger(message.protocolVersion)) + return "protocolVersion: integer expected"; + if (message.totalBlocksInEpoch != null && message.hasOwnProperty("totalBlocksInEpoch")) + if (!$util.isInteger(message.totalBlocksInEpoch) && !(message.totalBlocksInEpoch && $util.isInteger(message.totalBlocksInEpoch.low) && $util.isInteger(message.totalBlocksInEpoch.high))) + return "totalBlocksInEpoch: integer|Long expected"; + if (message.nextEpochStartCoreBlockHeight != null && message.hasOwnProperty("nextEpochStartCoreBlockHeight")) + if (!$util.isInteger(message.nextEpochStartCoreBlockHeight)) + return "nextEpochStartCoreBlockHeight: integer expected"; + if (message.totalProcessingFees != null && message.hasOwnProperty("totalProcessingFees")) + if (!$util.isInteger(message.totalProcessingFees) && !(message.totalProcessingFees && $util.isInteger(message.totalProcessingFees.low) && $util.isInteger(message.totalProcessingFees.high))) + return "totalProcessingFees: integer|Long expected"; + if (message.totalDistributedStorageFees != null && message.hasOwnProperty("totalDistributedStorageFees")) + if (!$util.isInteger(message.totalDistributedStorageFees) && !(message.totalDistributedStorageFees && $util.isInteger(message.totalDistributedStorageFees.low) && $util.isInteger(message.totalDistributedStorageFees.high))) + return "totalDistributedStorageFees: integer|Long expected"; + if (message.totalCreatedStorageFees != null && message.hasOwnProperty("totalCreatedStorageFees")) + if (!$util.isInteger(message.totalCreatedStorageFees) && !(message.totalCreatedStorageFees && $util.isInteger(message.totalCreatedStorageFees.low) && $util.isInteger(message.totalCreatedStorageFees.high))) + return "totalCreatedStorageFees: integer|Long expected"; + if (message.coreBlockRewards != null && message.hasOwnProperty("coreBlockRewards")) + if (!$util.isInteger(message.coreBlockRewards) && !(message.coreBlockRewards && $util.isInteger(message.coreBlockRewards.low) && $util.isInteger(message.coreBlockRewards.high))) + return "coreBlockRewards: integer|Long expected"; + if (message.blockProposers != null && message.hasOwnProperty("blockProposers")) { + if (!Array.isArray(message.blockProposers)) + return "blockProposers: array expected"; + for (var i = 0; i < message.blockProposers.length; ++i) { + var error = $root.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer.verify(message.blockProposers[i]); if (error) - return "votePollsByTimestamps." + error; + return "blockProposers." + error; } } - if (message.finishedResults != null && message.hasOwnProperty("finishedResults")) - if (typeof message.finishedResults !== "boolean") - return "finishedResults: boolean expected"; return null; }; /** - * Creates a SerializedVotePollsByTimestamps message from a plain object. Also converts values to their respective internal types. + * Creates a FinalizedEpochInfo message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps + * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps} SerializedVotePollsByTimestamps + * @returns {org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo} FinalizedEpochInfo */ - SerializedVotePollsByTimestamps.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps) + FinalizedEpochInfo.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo) return object; - var message = new $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps(); - if (object.votePollsByTimestamps) { - if (!Array.isArray(object.votePollsByTimestamps)) - throw TypeError(".org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.votePollsByTimestamps: array expected"); - message.votePollsByTimestamps = []; - for (var i = 0; i < object.votePollsByTimestamps.length; ++i) { - if (typeof object.votePollsByTimestamps[i] !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.votePollsByTimestamps: object expected"); - message.votePollsByTimestamps[i] = $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.fromObject(object.votePollsByTimestamps[i]); + var message = new $root.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo(); + 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.firstBlockTime != null) + if ($util.Long) + (message.firstBlockTime = $util.Long.fromValue(object.firstBlockTime)).unsigned = true; + else if (typeof object.firstBlockTime === "string") + message.firstBlockTime = parseInt(object.firstBlockTime, 10); + else if (typeof object.firstBlockTime === "number") + message.firstBlockTime = object.firstBlockTime; + else if (typeof object.firstBlockTime === "object") + message.firstBlockTime = new $util.LongBits(object.firstBlockTime.low >>> 0, object.firstBlockTime.high >>> 0).toNumber(true); + if (object.feeMultiplier != null) + message.feeMultiplier = Number(object.feeMultiplier); + if (object.protocolVersion != null) + message.protocolVersion = object.protocolVersion >>> 0; + if (object.totalBlocksInEpoch != null) + if ($util.Long) + (message.totalBlocksInEpoch = $util.Long.fromValue(object.totalBlocksInEpoch)).unsigned = true; + else if (typeof object.totalBlocksInEpoch === "string") + message.totalBlocksInEpoch = parseInt(object.totalBlocksInEpoch, 10); + else if (typeof object.totalBlocksInEpoch === "number") + message.totalBlocksInEpoch = object.totalBlocksInEpoch; + else if (typeof object.totalBlocksInEpoch === "object") + message.totalBlocksInEpoch = new $util.LongBits(object.totalBlocksInEpoch.low >>> 0, object.totalBlocksInEpoch.high >>> 0).toNumber(true); + if (object.nextEpochStartCoreBlockHeight != null) + message.nextEpochStartCoreBlockHeight = object.nextEpochStartCoreBlockHeight >>> 0; + if (object.totalProcessingFees != null) + if ($util.Long) + (message.totalProcessingFees = $util.Long.fromValue(object.totalProcessingFees)).unsigned = true; + else if (typeof object.totalProcessingFees === "string") + message.totalProcessingFees = parseInt(object.totalProcessingFees, 10); + else if (typeof object.totalProcessingFees === "number") + message.totalProcessingFees = object.totalProcessingFees; + else if (typeof object.totalProcessingFees === "object") + message.totalProcessingFees = new $util.LongBits(object.totalProcessingFees.low >>> 0, object.totalProcessingFees.high >>> 0).toNumber(true); + if (object.totalDistributedStorageFees != null) + if ($util.Long) + (message.totalDistributedStorageFees = $util.Long.fromValue(object.totalDistributedStorageFees)).unsigned = true; + else if (typeof object.totalDistributedStorageFees === "string") + message.totalDistributedStorageFees = parseInt(object.totalDistributedStorageFees, 10); + else if (typeof object.totalDistributedStorageFees === "number") + message.totalDistributedStorageFees = object.totalDistributedStorageFees; + else if (typeof object.totalDistributedStorageFees === "object") + message.totalDistributedStorageFees = new $util.LongBits(object.totalDistributedStorageFees.low >>> 0, object.totalDistributedStorageFees.high >>> 0).toNumber(true); + if (object.totalCreatedStorageFees != null) + if ($util.Long) + (message.totalCreatedStorageFees = $util.Long.fromValue(object.totalCreatedStorageFees)).unsigned = true; + else if (typeof object.totalCreatedStorageFees === "string") + message.totalCreatedStorageFees = parseInt(object.totalCreatedStorageFees, 10); + else if (typeof object.totalCreatedStorageFees === "number") + message.totalCreatedStorageFees = object.totalCreatedStorageFees; + else if (typeof object.totalCreatedStorageFees === "object") + message.totalCreatedStorageFees = new $util.LongBits(object.totalCreatedStorageFees.low >>> 0, object.totalCreatedStorageFees.high >>> 0).toNumber(true); + if (object.coreBlockRewards != null) + if ($util.Long) + (message.coreBlockRewards = $util.Long.fromValue(object.coreBlockRewards)).unsigned = true; + else if (typeof object.coreBlockRewards === "string") + message.coreBlockRewards = parseInt(object.coreBlockRewards, 10); + else if (typeof object.coreBlockRewards === "number") + message.coreBlockRewards = object.coreBlockRewards; + else if (typeof object.coreBlockRewards === "object") + message.coreBlockRewards = new $util.LongBits(object.coreBlockRewards.low >>> 0, object.coreBlockRewards.high >>> 0).toNumber(true); + if (object.blockProposers) { + if (!Array.isArray(object.blockProposers)) + throw TypeError(".org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo.blockProposers: array expected"); + message.blockProposers = []; + for (var i = 0; i < object.blockProposers.length; ++i) { + if (typeof object.blockProposers[i] !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo.blockProposers: object expected"); + message.blockProposers[i] = $root.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer.fromObject(object.blockProposers[i]); } } - if (object.finishedResults != null) - message.finishedResults = Boolean(object.finishedResults); return message; }; /** - * Creates a plain object from a SerializedVotePollsByTimestamps message. Also converts values to other types if specified. + * Creates a plain object from a FinalizedEpochInfo message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps + * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo * @static - * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps} message SerializedVotePollsByTimestamps + * @param {org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo} message FinalizedEpochInfo * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - SerializedVotePollsByTimestamps.toObject = function toObject(message, options) { + FinalizedEpochInfo.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.arrays || options.defaults) - object.votePollsByTimestamps = []; - if (options.defaults) - object.finishedResults = false; - if (message.votePollsByTimestamps && message.votePollsByTimestamps.length) { - object.votePollsByTimestamps = []; - for (var j = 0; j < message.votePollsByTimestamps.length; ++j) - object.votePollsByTimestamps[j] = $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.toObject(message.votePollsByTimestamps[j], options); + object.blockProposers = []; + 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.firstBlockTime = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.firstBlockTime = options.longs === String ? "0" : 0; + object.feeMultiplier = 0; + object.protocolVersion = 0; + if ($util.Long) { + var long = new $util.Long(0, 0, true); + object.totalBlocksInEpoch = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.totalBlocksInEpoch = options.longs === String ? "0" : 0; + object.nextEpochStartCoreBlockHeight = 0; + if ($util.Long) { + var long = new $util.Long(0, 0, true); + object.totalProcessingFees = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.totalProcessingFees = options.longs === String ? "0" : 0; + if ($util.Long) { + var long = new $util.Long(0, 0, true); + object.totalDistributedStorageFees = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.totalDistributedStorageFees = options.longs === String ? "0" : 0; + if ($util.Long) { + var long = new $util.Long(0, 0, true); + object.totalCreatedStorageFees = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.totalCreatedStorageFees = options.longs === String ? "0" : 0; + if ($util.Long) { + var long = new $util.Long(0, 0, true); + object.coreBlockRewards = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.coreBlockRewards = options.longs === String ? "0" : 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.firstBlockTime != null && message.hasOwnProperty("firstBlockTime")) + if (typeof message.firstBlockTime === "number") + object.firstBlockTime = options.longs === String ? String(message.firstBlockTime) : message.firstBlockTime; + else + object.firstBlockTime = options.longs === String ? $util.Long.prototype.toString.call(message.firstBlockTime) : options.longs === Number ? new $util.LongBits(message.firstBlockTime.low >>> 0, message.firstBlockTime.high >>> 0).toNumber(true) : message.firstBlockTime; + if (message.feeMultiplier != null && message.hasOwnProperty("feeMultiplier")) + object.feeMultiplier = options.json && !isFinite(message.feeMultiplier) ? String(message.feeMultiplier) : message.feeMultiplier; + if (message.protocolVersion != null && message.hasOwnProperty("protocolVersion")) + object.protocolVersion = message.protocolVersion; + if (message.totalBlocksInEpoch != null && message.hasOwnProperty("totalBlocksInEpoch")) + if (typeof message.totalBlocksInEpoch === "number") + object.totalBlocksInEpoch = options.longs === String ? String(message.totalBlocksInEpoch) : message.totalBlocksInEpoch; + else + object.totalBlocksInEpoch = options.longs === String ? $util.Long.prototype.toString.call(message.totalBlocksInEpoch) : options.longs === Number ? new $util.LongBits(message.totalBlocksInEpoch.low >>> 0, message.totalBlocksInEpoch.high >>> 0).toNumber(true) : message.totalBlocksInEpoch; + if (message.nextEpochStartCoreBlockHeight != null && message.hasOwnProperty("nextEpochStartCoreBlockHeight")) + object.nextEpochStartCoreBlockHeight = message.nextEpochStartCoreBlockHeight; + if (message.totalProcessingFees != null && message.hasOwnProperty("totalProcessingFees")) + if (typeof message.totalProcessingFees === "number") + object.totalProcessingFees = options.longs === String ? String(message.totalProcessingFees) : message.totalProcessingFees; + else + object.totalProcessingFees = options.longs === String ? $util.Long.prototype.toString.call(message.totalProcessingFees) : options.longs === Number ? new $util.LongBits(message.totalProcessingFees.low >>> 0, message.totalProcessingFees.high >>> 0).toNumber(true) : message.totalProcessingFees; + if (message.totalDistributedStorageFees != null && message.hasOwnProperty("totalDistributedStorageFees")) + if (typeof message.totalDistributedStorageFees === "number") + object.totalDistributedStorageFees = options.longs === String ? String(message.totalDistributedStorageFees) : message.totalDistributedStorageFees; + else + object.totalDistributedStorageFees = options.longs === String ? $util.Long.prototype.toString.call(message.totalDistributedStorageFees) : options.longs === Number ? new $util.LongBits(message.totalDistributedStorageFees.low >>> 0, message.totalDistributedStorageFees.high >>> 0).toNumber(true) : message.totalDistributedStorageFees; + if (message.totalCreatedStorageFees != null && message.hasOwnProperty("totalCreatedStorageFees")) + if (typeof message.totalCreatedStorageFees === "number") + object.totalCreatedStorageFees = options.longs === String ? String(message.totalCreatedStorageFees) : message.totalCreatedStorageFees; + else + object.totalCreatedStorageFees = options.longs === String ? $util.Long.prototype.toString.call(message.totalCreatedStorageFees) : options.longs === Number ? new $util.LongBits(message.totalCreatedStorageFees.low >>> 0, message.totalCreatedStorageFees.high >>> 0).toNumber(true) : message.totalCreatedStorageFees; + if (message.coreBlockRewards != null && message.hasOwnProperty("coreBlockRewards")) + if (typeof message.coreBlockRewards === "number") + object.coreBlockRewards = options.longs === String ? String(message.coreBlockRewards) : message.coreBlockRewards; + else + object.coreBlockRewards = options.longs === String ? $util.Long.prototype.toString.call(message.coreBlockRewards) : options.longs === Number ? new $util.LongBits(message.coreBlockRewards.low >>> 0, message.coreBlockRewards.high >>> 0).toNumber(true) : message.coreBlockRewards; + if (message.blockProposers && message.blockProposers.length) { + object.blockProposers = []; + for (var j = 0; j < message.blockProposers.length; ++j) + object.blockProposers[j] = $root.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer.toObject(message.blockProposers[j], options); } - if (message.finishedResults != null && message.hasOwnProperty("finishedResults")) - object.finishedResults = message.finishedResults; return object; }; /** - * Converts this SerializedVotePollsByTimestamps to JSON. + * Converts this FinalizedEpochInfo to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps + * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo * @instance * @returns {Object.} JSON object */ - SerializedVotePollsByTimestamps.prototype.toJSON = function toJSON() { + FinalizedEpochInfo.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return SerializedVotePollsByTimestamps; + return FinalizedEpochInfo; })(); - return GetVotePollsByEndDateResponseV0; - })(); - - return GetVotePollsByEndDateResponse; - })(); + GetFinalizedEpochInfosResponseV0.BlockProposer = (function() { - v0.GetContestedResourceVoteStateRequest = (function() { + /** + * Properties of a BlockProposer. + * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0 + * @interface IBlockProposer + * @property {Uint8Array|null} [proposerId] BlockProposer proposerId + * @property {number|null} [blockCount] BlockProposer blockCount + */ - /** - * Properties of a GetContestedResourceVoteStateRequest. - * @memberof org.dash.platform.dapi.v0 - * @interface IGetContestedResourceVoteStateRequest - * @property {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.IGetContestedResourceVoteStateRequestV0|null} [v0] GetContestedResourceVoteStateRequest v0 - */ + /** + * Constructs a new BlockProposer. + * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0 + * @classdesc Represents a BlockProposer. + * @implements IBlockProposer + * @constructor + * @param {org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.IBlockProposer=} [properties] Properties to set + */ + function BlockProposer(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 GetContestedResourceVoteStateRequest. - * @memberof org.dash.platform.dapi.v0 - * @classdesc Represents a GetContestedResourceVoteStateRequest. - * @implements IGetContestedResourceVoteStateRequest - * @constructor - * @param {org.dash.platform.dapi.v0.IGetContestedResourceVoteStateRequest=} [properties] Properties to set - */ - function GetContestedResourceVoteStateRequest(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]]; - } + /** + * BlockProposer proposerId. + * @member {Uint8Array} proposerId + * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer + * @instance + */ + BlockProposer.prototype.proposerId = $util.newBuffer([]); - /** - * GetContestedResourceVoteStateRequest v0. - * @member {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.IGetContestedResourceVoteStateRequestV0|null|undefined} v0 - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest - * @instance - */ - GetContestedResourceVoteStateRequest.prototype.v0 = null; + /** + * BlockProposer blockCount. + * @member {number} blockCount + * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer + * @instance + */ + BlockProposer.prototype.blockCount = 0; - // OneOf field names bound to virtual getters and setters - var $oneOfFields; + /** + * Creates a new BlockProposer instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer + * @static + * @param {org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.IBlockProposer=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer} BlockProposer instance + */ + BlockProposer.create = function create(properties) { + return new BlockProposer(properties); + }; - /** - * GetContestedResourceVoteStateRequest version. - * @member {"v0"|undefined} version - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest - * @instance - */ - Object.defineProperty(GetContestedResourceVoteStateRequest.prototype, "version", { + /** + * Encodes the specified BlockProposer message. Does not implicitly {@link org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer + * @static + * @param {org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.IBlockProposer} message BlockProposer message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BlockProposer.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.proposerId != null && Object.hasOwnProperty.call(message, "proposerId")) + writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.proposerId); + if (message.blockCount != null && Object.hasOwnProperty.call(message, "blockCount")) + writer.uint32(/* id 2, wireType 0 =*/16).uint32(message.blockCount); + return writer; + }; + + /** + * Encodes the specified BlockProposer message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer + * @static + * @param {org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.IBlockProposer} message BlockProposer message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BlockProposer.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a BlockProposer message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer + * @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.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer} BlockProposer + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BlockProposer.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.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.proposerId = reader.bytes(); + break; + case 2: + message.blockCount = reader.uint32(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a BlockProposer message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer} BlockProposer + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BlockProposer.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a BlockProposer message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + BlockProposer.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.proposerId != null && message.hasOwnProperty("proposerId")) + if (!(message.proposerId && typeof message.proposerId.length === "number" || $util.isString(message.proposerId))) + return "proposerId: buffer expected"; + if (message.blockCount != null && message.hasOwnProperty("blockCount")) + if (!$util.isInteger(message.blockCount)) + return "blockCount: integer expected"; + return null; + }; + + /** + * Creates a BlockProposer message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer} BlockProposer + */ + BlockProposer.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer(); + if (object.proposerId != null) + if (typeof object.proposerId === "string") + $util.base64.decode(object.proposerId, message.proposerId = $util.newBuffer($util.base64.length(object.proposerId)), 0); + else if (object.proposerId.length >= 0) + message.proposerId = object.proposerId; + if (object.blockCount != null) + message.blockCount = object.blockCount >>> 0; + return message; + }; + + /** + * Creates a plain object from a BlockProposer message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer + * @static + * @param {org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer} message BlockProposer + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + BlockProposer.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + if (options.bytes === String) + object.proposerId = ""; + else { + object.proposerId = []; + if (options.bytes !== Array) + object.proposerId = $util.newBuffer(object.proposerId); + } + object.blockCount = 0; + } + if (message.proposerId != null && message.hasOwnProperty("proposerId")) + object.proposerId = options.bytes === String ? $util.base64.encode(message.proposerId, 0, message.proposerId.length) : options.bytes === Array ? Array.prototype.slice.call(message.proposerId) : message.proposerId; + if (message.blockCount != null && message.hasOwnProperty("blockCount")) + object.blockCount = message.blockCount; + return object; + }; + + /** + * Converts this BlockProposer to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer + * @instance + * @returns {Object.} JSON object + */ + BlockProposer.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return BlockProposer; + })(); + + return GetFinalizedEpochInfosResponseV0; + })(); + + return GetFinalizedEpochInfosResponse; + })(); + + v0.GetContestedResourcesRequest = (function() { + + /** + * Properties of a GetContestedResourcesRequest. + * @memberof org.dash.platform.dapi.v0 + * @interface IGetContestedResourcesRequest + * @property {org.dash.platform.dapi.v0.GetContestedResourcesRequest.IGetContestedResourcesRequestV0|null} [v0] GetContestedResourcesRequest v0 + */ + + /** + * Constructs a new GetContestedResourcesRequest. + * @memberof org.dash.platform.dapi.v0 + * @classdesc Represents a GetContestedResourcesRequest. + * @implements IGetContestedResourcesRequest + * @constructor + * @param {org.dash.platform.dapi.v0.IGetContestedResourcesRequest=} [properties] Properties to set + */ + function GetContestedResourcesRequest(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]]; + } + + /** + * GetContestedResourcesRequest v0. + * @member {org.dash.platform.dapi.v0.GetContestedResourcesRequest.IGetContestedResourcesRequestV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest + * @instance + */ + GetContestedResourcesRequest.prototype.v0 = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * GetContestedResourcesRequest version. + * @member {"v0"|undefined} version + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest + * @instance + */ + Object.defineProperty(GetContestedResourcesRequest.prototype, "version", { get: $util.oneOfGetter($oneOfFields = ["v0"]), set: $util.oneOfSetter($oneOfFields) }); /** - * Creates a new GetContestedResourceVoteStateRequest instance using the specified properties. + * Creates a new GetContestedResourcesRequest instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest * @static - * @param {org.dash.platform.dapi.v0.IGetContestedResourceVoteStateRequest=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest} GetContestedResourceVoteStateRequest instance + * @param {org.dash.platform.dapi.v0.IGetContestedResourcesRequest=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetContestedResourcesRequest} GetContestedResourcesRequest instance */ - GetContestedResourceVoteStateRequest.create = function create(properties) { - return new GetContestedResourceVoteStateRequest(properties); + GetContestedResourcesRequest.create = function create(properties) { + return new GetContestedResourcesRequest(properties); }; /** - * Encodes the specified GetContestedResourceVoteStateRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.verify|verify} messages. + * Encodes the specified GetContestedResourcesRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourcesRequest.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest * @static - * @param {org.dash.platform.dapi.v0.IGetContestedResourceVoteStateRequest} message GetContestedResourceVoteStateRequest message or plain object to encode + * @param {org.dash.platform.dapi.v0.IGetContestedResourcesRequest} message GetContestedResourcesRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetContestedResourceVoteStateRequest.encode = function encode(message, writer) { + GetContestedResourcesRequest.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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + $root.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified GetContestedResourceVoteStateRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.verify|verify} messages. + * Encodes the specified GetContestedResourcesRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourcesRequest.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest * @static - * @param {org.dash.platform.dapi.v0.IGetContestedResourceVoteStateRequest} message GetContestedResourceVoteStateRequest message or plain object to encode + * @param {org.dash.platform.dapi.v0.IGetContestedResourcesRequest} message GetContestedResourcesRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetContestedResourceVoteStateRequest.encodeDelimited = function encodeDelimited(message, writer) { + GetContestedResourcesRequest.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetContestedResourceVoteStateRequest message from the specified reader or buffer. + * Decodes a GetContestedResourcesRequest message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest * @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.GetContestedResourceVoteStateRequest} GetContestedResourceVoteStateRequest + * @returns {org.dash.platform.dapi.v0.GetContestedResourcesRequest} GetContestedResourcesRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetContestedResourceVoteStateRequest.decode = function decode(reader, length) { + GetContestedResourcesRequest.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.GetContestedResourceVoteStateRequest(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetContestedResourcesRequest(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.v0 = $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.decode(reader, reader.uint32()); + message.v0 = $root.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -31395,37 +31399,37 @@ $root.org = (function() { }; /** - * Decodes a GetContestedResourceVoteStateRequest message from the specified reader or buffer, length delimited. + * Decodes a GetContestedResourcesRequest message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest} GetContestedResourceVoteStateRequest + * @returns {org.dash.platform.dapi.v0.GetContestedResourcesRequest} GetContestedResourcesRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetContestedResourceVoteStateRequest.decodeDelimited = function decodeDelimited(reader) { + GetContestedResourcesRequest.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GetContestedResourceVoteStateRequest message. + * Verifies a GetContestedResourcesRequest message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetContestedResourceVoteStateRequest.verify = function verify(message) { + GetContestedResourcesRequest.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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.verify(message.v0); + var error = $root.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.verify(message.v0); if (error) return "v0." + error; } @@ -31434,40 +31438,40 @@ $root.org = (function() { }; /** - * Creates a GetContestedResourceVoteStateRequest message from a plain object. Also converts values to their respective internal types. + * Creates a GetContestedResourcesRequest message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest} GetContestedResourceVoteStateRequest + * @returns {org.dash.platform.dapi.v0.GetContestedResourcesRequest} GetContestedResourcesRequest */ - GetContestedResourceVoteStateRequest.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest) + GetContestedResourcesRequest.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourcesRequest) return object; - var message = new $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest(); + var message = new $root.org.dash.platform.dapi.v0.GetContestedResourcesRequest(); if (object.v0 != null) { if (typeof object.v0 !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.v0: object expected"); - message.v0 = $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.fromObject(object.v0); + throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourcesRequest.v0: object expected"); + message.v0 = $root.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.fromObject(object.v0); } return message; }; /** - * Creates a plain object from a GetContestedResourceVoteStateRequest message. Also converts values to other types if specified. + * Creates a plain object from a GetContestedResourcesRequest message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest} message GetContestedResourceVoteStateRequest + * @param {org.dash.platform.dapi.v0.GetContestedResourcesRequest} message GetContestedResourcesRequest * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetContestedResourceVoteStateRequest.toObject = function toObject(message, options) { + GetContestedResourcesRequest.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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.toObject(message.v0, options); + object.v0 = $root.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.toObject(message.v0, options); if (options.oneofs) object.version = "v0"; } @@ -31475,43 +31479,44 @@ $root.org = (function() { }; /** - * Converts this GetContestedResourceVoteStateRequest to JSON. + * Converts this GetContestedResourcesRequest to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest * @instance * @returns {Object.} JSON object */ - GetContestedResourceVoteStateRequest.prototype.toJSON = function toJSON() { + GetContestedResourcesRequest.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0 = (function() { + GetContestedResourcesRequest.GetContestedResourcesRequestV0 = (function() { /** - * Properties of a GetContestedResourceVoteStateRequestV0. - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest - * @interface IGetContestedResourceVoteStateRequestV0 - * @property {Uint8Array|null} [contractId] GetContestedResourceVoteStateRequestV0 contractId - * @property {string|null} [documentTypeName] GetContestedResourceVoteStateRequestV0 documentTypeName - * @property {string|null} [indexName] GetContestedResourceVoteStateRequestV0 indexName - * @property {Array.|null} [indexValues] GetContestedResourceVoteStateRequestV0 indexValues - * @property {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.ResultType|null} [resultType] GetContestedResourceVoteStateRequestV0 resultType - * @property {boolean|null} [allowIncludeLockedAndAbstainingVoteTally] GetContestedResourceVoteStateRequestV0 allowIncludeLockedAndAbstainingVoteTally - * @property {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.IStartAtIdentifierInfo|null} [startAtIdentifierInfo] GetContestedResourceVoteStateRequestV0 startAtIdentifierInfo - * @property {number|null} [count] GetContestedResourceVoteStateRequestV0 count - * @property {boolean|null} [prove] GetContestedResourceVoteStateRequestV0 prove + * Properties of a GetContestedResourcesRequestV0. + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest + * @interface IGetContestedResourcesRequestV0 + * @property {Uint8Array|null} [contractId] GetContestedResourcesRequestV0 contractId + * @property {string|null} [documentTypeName] GetContestedResourcesRequestV0 documentTypeName + * @property {string|null} [indexName] GetContestedResourcesRequestV0 indexName + * @property {Array.|null} [startIndexValues] GetContestedResourcesRequestV0 startIndexValues + * @property {Array.|null} [endIndexValues] GetContestedResourcesRequestV0 endIndexValues + * @property {org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.IStartAtValueInfo|null} [startAtValueInfo] GetContestedResourcesRequestV0 startAtValueInfo + * @property {number|null} [count] GetContestedResourcesRequestV0 count + * @property {boolean|null} [orderAscending] GetContestedResourcesRequestV0 orderAscending + * @property {boolean|null} [prove] GetContestedResourcesRequestV0 prove */ /** - * Constructs a new GetContestedResourceVoteStateRequestV0. - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest - * @classdesc Represents a GetContestedResourceVoteStateRequestV0. - * @implements IGetContestedResourceVoteStateRequestV0 + * Constructs a new GetContestedResourcesRequestV0. + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest + * @classdesc Represents a GetContestedResourcesRequestV0. + * @implements IGetContestedResourcesRequestV0 * @constructor - * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.IGetContestedResourceVoteStateRequestV0=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetContestedResourcesRequest.IGetContestedResourcesRequestV0=} [properties] Properties to set */ - function GetContestedResourceVoteStateRequestV0(properties) { - this.indexValues = []; + function GetContestedResourcesRequestV0(properties) { + this.startIndexValues = []; + this.endIndexValues = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -31519,99 +31524,99 @@ $root.org = (function() { } /** - * GetContestedResourceVoteStateRequestV0 contractId. + * GetContestedResourcesRequestV0 contractId. * @member {Uint8Array} contractId - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0 * @instance */ - GetContestedResourceVoteStateRequestV0.prototype.contractId = $util.newBuffer([]); + GetContestedResourcesRequestV0.prototype.contractId = $util.newBuffer([]); /** - * GetContestedResourceVoteStateRequestV0 documentTypeName. + * GetContestedResourcesRequestV0 documentTypeName. * @member {string} documentTypeName - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0 * @instance */ - GetContestedResourceVoteStateRequestV0.prototype.documentTypeName = ""; + GetContestedResourcesRequestV0.prototype.documentTypeName = ""; /** - * GetContestedResourceVoteStateRequestV0 indexName. + * GetContestedResourcesRequestV0 indexName. * @member {string} indexName - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0 * @instance */ - GetContestedResourceVoteStateRequestV0.prototype.indexName = ""; + GetContestedResourcesRequestV0.prototype.indexName = ""; /** - * GetContestedResourceVoteStateRequestV0 indexValues. - * @member {Array.} indexValues - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0 + * GetContestedResourcesRequestV0 startIndexValues. + * @member {Array.} startIndexValues + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0 * @instance */ - GetContestedResourceVoteStateRequestV0.prototype.indexValues = $util.emptyArray; + GetContestedResourcesRequestV0.prototype.startIndexValues = $util.emptyArray; /** - * GetContestedResourceVoteStateRequestV0 resultType. - * @member {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.ResultType} resultType - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0 + * GetContestedResourcesRequestV0 endIndexValues. + * @member {Array.} endIndexValues + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0 * @instance */ - GetContestedResourceVoteStateRequestV0.prototype.resultType = 0; + GetContestedResourcesRequestV0.prototype.endIndexValues = $util.emptyArray; /** - * GetContestedResourceVoteStateRequestV0 allowIncludeLockedAndAbstainingVoteTally. - * @member {boolean} allowIncludeLockedAndAbstainingVoteTally - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0 + * GetContestedResourcesRequestV0 startAtValueInfo. + * @member {org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.IStartAtValueInfo|null|undefined} startAtValueInfo + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0 * @instance */ - GetContestedResourceVoteStateRequestV0.prototype.allowIncludeLockedAndAbstainingVoteTally = false; + GetContestedResourcesRequestV0.prototype.startAtValueInfo = null; /** - * GetContestedResourceVoteStateRequestV0 startAtIdentifierInfo. - * @member {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.IStartAtIdentifierInfo|null|undefined} startAtIdentifierInfo - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0 + * GetContestedResourcesRequestV0 count. + * @member {number} count + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0 * @instance */ - GetContestedResourceVoteStateRequestV0.prototype.startAtIdentifierInfo = null; + GetContestedResourcesRequestV0.prototype.count = 0; /** - * GetContestedResourceVoteStateRequestV0 count. - * @member {number} count - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0 + * GetContestedResourcesRequestV0 orderAscending. + * @member {boolean} orderAscending + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0 * @instance */ - GetContestedResourceVoteStateRequestV0.prototype.count = 0; + GetContestedResourcesRequestV0.prototype.orderAscending = false; /** - * GetContestedResourceVoteStateRequestV0 prove. + * GetContestedResourcesRequestV0 prove. * @member {boolean} prove - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0 * @instance */ - GetContestedResourceVoteStateRequestV0.prototype.prove = false; + GetContestedResourcesRequestV0.prototype.prove = false; /** - * Creates a new GetContestedResourceVoteStateRequestV0 instance using the specified properties. + * Creates a new GetContestedResourcesRequestV0 instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.IGetContestedResourceVoteStateRequestV0=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} GetContestedResourceVoteStateRequestV0 instance + * @param {org.dash.platform.dapi.v0.GetContestedResourcesRequest.IGetContestedResourcesRequestV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0} GetContestedResourcesRequestV0 instance */ - GetContestedResourceVoteStateRequestV0.create = function create(properties) { - return new GetContestedResourceVoteStateRequestV0(properties); + GetContestedResourcesRequestV0.create = function create(properties) { + return new GetContestedResourcesRequestV0(properties); }; /** - * Encodes the specified GetContestedResourceVoteStateRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.verify|verify} messages. + * Encodes the specified GetContestedResourcesRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.IGetContestedResourceVoteStateRequestV0} message GetContestedResourceVoteStateRequestV0 message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetContestedResourcesRequest.IGetContestedResourcesRequestV0} message GetContestedResourcesRequestV0 message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetContestedResourceVoteStateRequestV0.encode = function encode(message, writer) { + GetContestedResourcesRequestV0.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.contractId != null && Object.hasOwnProperty.call(message, "contractId")) @@ -31620,50 +31625,51 @@ $root.org = (function() { writer.uint32(/* id 2, wireType 2 =*/18).string(message.documentTypeName); if (message.indexName != null && Object.hasOwnProperty.call(message, "indexName")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.indexName); - if (message.indexValues != null && message.indexValues.length) - for (var i = 0; i < message.indexValues.length; ++i) - writer.uint32(/* id 4, wireType 2 =*/34).bytes(message.indexValues[i]); - if (message.resultType != null && Object.hasOwnProperty.call(message, "resultType")) - writer.uint32(/* id 5, wireType 0 =*/40).int32(message.resultType); - if (message.allowIncludeLockedAndAbstainingVoteTally != null && Object.hasOwnProperty.call(message, "allowIncludeLockedAndAbstainingVoteTally")) - writer.uint32(/* id 6, wireType 0 =*/48).bool(message.allowIncludeLockedAndAbstainingVoteTally); - if (message.startAtIdentifierInfo != null && Object.hasOwnProperty.call(message, "startAtIdentifierInfo")) - $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.encode(message.startAtIdentifierInfo, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim(); + if (message.startIndexValues != null && message.startIndexValues.length) + for (var i = 0; i < message.startIndexValues.length; ++i) + writer.uint32(/* id 4, wireType 2 =*/34).bytes(message.startIndexValues[i]); + if (message.endIndexValues != null && message.endIndexValues.length) + for (var i = 0; i < message.endIndexValues.length; ++i) + writer.uint32(/* id 5, wireType 2 =*/42).bytes(message.endIndexValues[i]); + if (message.startAtValueInfo != null && Object.hasOwnProperty.call(message, "startAtValueInfo")) + $root.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.encode(message.startAtValueInfo, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); if (message.count != null && Object.hasOwnProperty.call(message, "count")) - writer.uint32(/* id 8, wireType 0 =*/64).uint32(message.count); + writer.uint32(/* id 7, wireType 0 =*/56).uint32(message.count); + if (message.orderAscending != null && Object.hasOwnProperty.call(message, "orderAscending")) + writer.uint32(/* id 8, wireType 0 =*/64).bool(message.orderAscending); if (message.prove != null && Object.hasOwnProperty.call(message, "prove")) writer.uint32(/* id 9, wireType 0 =*/72).bool(message.prove); return writer; }; /** - * Encodes the specified GetContestedResourceVoteStateRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.verify|verify} messages. + * Encodes the specified GetContestedResourcesRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.IGetContestedResourceVoteStateRequestV0} message GetContestedResourceVoteStateRequestV0 message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetContestedResourcesRequest.IGetContestedResourcesRequestV0} message GetContestedResourcesRequestV0 message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetContestedResourceVoteStateRequestV0.encodeDelimited = function encodeDelimited(message, writer) { + GetContestedResourcesRequestV0.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetContestedResourceVoteStateRequestV0 message from the specified reader or buffer. + * Decodes a GetContestedResourcesRequestV0 message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0 * @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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} GetContestedResourceVoteStateRequestV0 + * @returns {org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0} GetContestedResourcesRequestV0 * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetContestedResourceVoteStateRequestV0.decode = function decode(reader, length) { + GetContestedResourcesRequestV0.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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { @@ -31677,21 +31683,23 @@ $root.org = (function() { message.indexName = reader.string(); break; case 4: - if (!(message.indexValues && message.indexValues.length)) - message.indexValues = []; - message.indexValues.push(reader.bytes()); + if (!(message.startIndexValues && message.startIndexValues.length)) + message.startIndexValues = []; + message.startIndexValues.push(reader.bytes()); break; case 5: - message.resultType = reader.int32(); + if (!(message.endIndexValues && message.endIndexValues.length)) + message.endIndexValues = []; + message.endIndexValues.push(reader.bytes()); break; case 6: - message.allowIncludeLockedAndAbstainingVoteTally = reader.bool(); + message.startAtValueInfo = $root.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.decode(reader, reader.uint32()); break; case 7: - message.startAtIdentifierInfo = $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.decode(reader, reader.uint32()); + message.count = reader.uint32(); break; case 8: - message.count = reader.uint32(); + message.orderAscending = reader.bool(); break; case 9: message.prove = reader.bool(); @@ -31705,30 +31713,30 @@ $root.org = (function() { }; /** - * Decodes a GetContestedResourceVoteStateRequestV0 message from the specified reader or buffer, length delimited. + * Decodes a GetContestedResourcesRequestV0 message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0 * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} GetContestedResourceVoteStateRequestV0 + * @returns {org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0} GetContestedResourcesRequestV0 * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetContestedResourceVoteStateRequestV0.decodeDelimited = function decodeDelimited(reader) { + GetContestedResourcesRequestV0.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GetContestedResourceVoteStateRequestV0 message. + * Verifies a GetContestedResourcesRequestV0 message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0 * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetContestedResourceVoteStateRequestV0.verify = function verify(message) { + GetContestedResourcesRequestV0.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.contractId != null && message.hasOwnProperty("contractId")) @@ -31740,33 +31748,31 @@ $root.org = (function() { if (message.indexName != null && message.hasOwnProperty("indexName")) if (!$util.isString(message.indexName)) return "indexName: string expected"; - if (message.indexValues != null && message.hasOwnProperty("indexValues")) { - if (!Array.isArray(message.indexValues)) - return "indexValues: array expected"; - for (var i = 0; i < message.indexValues.length; ++i) - if (!(message.indexValues[i] && typeof message.indexValues[i].length === "number" || $util.isString(message.indexValues[i]))) - return "indexValues: buffer[] expected"; + if (message.startIndexValues != null && message.hasOwnProperty("startIndexValues")) { + if (!Array.isArray(message.startIndexValues)) + return "startIndexValues: array expected"; + for (var i = 0; i < message.startIndexValues.length; ++i) + if (!(message.startIndexValues[i] && typeof message.startIndexValues[i].length === "number" || $util.isString(message.startIndexValues[i]))) + return "startIndexValues: buffer[] expected"; } - if (message.resultType != null && message.hasOwnProperty("resultType")) - switch (message.resultType) { - default: - return "resultType: enum value expected"; - case 0: - case 1: - case 2: - break; - } - if (message.allowIncludeLockedAndAbstainingVoteTally != null && message.hasOwnProperty("allowIncludeLockedAndAbstainingVoteTally")) - if (typeof message.allowIncludeLockedAndAbstainingVoteTally !== "boolean") - return "allowIncludeLockedAndAbstainingVoteTally: boolean expected"; - if (message.startAtIdentifierInfo != null && message.hasOwnProperty("startAtIdentifierInfo")) { - var error = $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.verify(message.startAtIdentifierInfo); + if (message.endIndexValues != null && message.hasOwnProperty("endIndexValues")) { + if (!Array.isArray(message.endIndexValues)) + return "endIndexValues: array expected"; + for (var i = 0; i < message.endIndexValues.length; ++i) + if (!(message.endIndexValues[i] && typeof message.endIndexValues[i].length === "number" || $util.isString(message.endIndexValues[i]))) + return "endIndexValues: buffer[] expected"; + } + if (message.startAtValueInfo != null && message.hasOwnProperty("startAtValueInfo")) { + var error = $root.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.verify(message.startAtValueInfo); if (error) - return "startAtIdentifierInfo." + error; + return "startAtValueInfo." + error; } if (message.count != null && message.hasOwnProperty("count")) if (!$util.isInteger(message.count)) return "count: integer expected"; + if (message.orderAscending != null && message.hasOwnProperty("orderAscending")) + if (typeof message.orderAscending !== "boolean") + return "orderAscending: boolean expected"; if (message.prove != null && message.hasOwnProperty("prove")) if (typeof message.prove !== "boolean") return "prove: boolean expected"; @@ -31774,17 +31780,17 @@ $root.org = (function() { }; /** - * Creates a GetContestedResourceVoteStateRequestV0 message from a plain object. Also converts values to their respective internal types. + * Creates a GetContestedResourcesRequestV0 message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0 * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} GetContestedResourceVoteStateRequestV0 + * @returns {org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0} GetContestedResourcesRequestV0 */ - GetContestedResourceVoteStateRequestV0.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0) + GetContestedResourcesRequestV0.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0) return object; - var message = new $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0(); + var message = new $root.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0(); if (object.contractId != null) if (typeof object.contractId === "string") $util.base64.decode(object.contractId, message.contractId = $util.newBuffer($util.base64.length(object.contractId)), 0); @@ -31794,59 +31800,57 @@ $root.org = (function() { message.documentTypeName = String(object.documentTypeName); if (object.indexName != null) message.indexName = String(object.indexName); - if (object.indexValues) { - if (!Array.isArray(object.indexValues)) - throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.indexValues: array expected"); - message.indexValues = []; - for (var i = 0; i < object.indexValues.length; ++i) - if (typeof object.indexValues[i] === "string") - $util.base64.decode(object.indexValues[i], message.indexValues[i] = $util.newBuffer($util.base64.length(object.indexValues[i])), 0); - else if (object.indexValues[i].length >= 0) - message.indexValues[i] = object.indexValues[i]; + if (object.startIndexValues) { + if (!Array.isArray(object.startIndexValues)) + throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.startIndexValues: array expected"); + message.startIndexValues = []; + for (var i = 0; i < object.startIndexValues.length; ++i) + if (typeof object.startIndexValues[i] === "string") + $util.base64.decode(object.startIndexValues[i], message.startIndexValues[i] = $util.newBuffer($util.base64.length(object.startIndexValues[i])), 0); + else if (object.startIndexValues[i].length >= 0) + message.startIndexValues[i] = object.startIndexValues[i]; } - switch (object.resultType) { - case "DOCUMENTS": - case 0: - message.resultType = 0; - break; - case "VOTE_TALLY": - case 1: - message.resultType = 1; - break; - case "DOCUMENTS_AND_VOTE_TALLY": - case 2: - message.resultType = 2; - break; + if (object.endIndexValues) { + if (!Array.isArray(object.endIndexValues)) + throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.endIndexValues: array expected"); + message.endIndexValues = []; + for (var i = 0; i < object.endIndexValues.length; ++i) + if (typeof object.endIndexValues[i] === "string") + $util.base64.decode(object.endIndexValues[i], message.endIndexValues[i] = $util.newBuffer($util.base64.length(object.endIndexValues[i])), 0); + else if (object.endIndexValues[i].length >= 0) + message.endIndexValues[i] = object.endIndexValues[i]; } - if (object.allowIncludeLockedAndAbstainingVoteTally != null) - message.allowIncludeLockedAndAbstainingVoteTally = Boolean(object.allowIncludeLockedAndAbstainingVoteTally); - if (object.startAtIdentifierInfo != null) { - if (typeof object.startAtIdentifierInfo !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.startAtIdentifierInfo: object expected"); - message.startAtIdentifierInfo = $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.fromObject(object.startAtIdentifierInfo); + if (object.startAtValueInfo != null) { + if (typeof object.startAtValueInfo !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.startAtValueInfo: object expected"); + message.startAtValueInfo = $root.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.fromObject(object.startAtValueInfo); } if (object.count != null) message.count = object.count >>> 0; + if (object.orderAscending != null) + message.orderAscending = Boolean(object.orderAscending); if (object.prove != null) message.prove = Boolean(object.prove); return message; }; /** - * Creates a plain object from a GetContestedResourceVoteStateRequestV0 message. Also converts values to other types if specified. + * Creates a plain object from a GetContestedResourcesRequestV0 message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} message GetContestedResourceVoteStateRequestV0 + * @param {org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0} message GetContestedResourcesRequestV0 * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetContestedResourceVoteStateRequestV0.toObject = function toObject(message, options) { + GetContestedResourcesRequestV0.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.arrays || options.defaults) - object.indexValues = []; + if (options.arrays || options.defaults) { + object.startIndexValues = []; + object.endIndexValues = []; + } if (options.defaults) { if (options.bytes === String) object.contractId = ""; @@ -31857,10 +31861,9 @@ $root.org = (function() { } object.documentTypeName = ""; object.indexName = ""; - object.resultType = options.enums === String ? "DOCUMENTS" : 0; - object.allowIncludeLockedAndAbstainingVoteTally = false; - object.startAtIdentifierInfo = null; + object.startAtValueInfo = null; object.count = 0; + object.orderAscending = false; object.prove = false; } if (message.contractId != null && message.hasOwnProperty("contractId")) @@ -31869,54 +31872,57 @@ $root.org = (function() { object.documentTypeName = message.documentTypeName; if (message.indexName != null && message.hasOwnProperty("indexName")) object.indexName = message.indexName; - if (message.indexValues && message.indexValues.length) { - object.indexValues = []; - for (var j = 0; j < message.indexValues.length; ++j) - object.indexValues[j] = options.bytes === String ? $util.base64.encode(message.indexValues[j], 0, message.indexValues[j].length) : options.bytes === Array ? Array.prototype.slice.call(message.indexValues[j]) : message.indexValues[j]; + if (message.startIndexValues && message.startIndexValues.length) { + object.startIndexValues = []; + for (var j = 0; j < message.startIndexValues.length; ++j) + object.startIndexValues[j] = options.bytes === String ? $util.base64.encode(message.startIndexValues[j], 0, message.startIndexValues[j].length) : options.bytes === Array ? Array.prototype.slice.call(message.startIndexValues[j]) : message.startIndexValues[j]; } - if (message.resultType != null && message.hasOwnProperty("resultType")) - object.resultType = options.enums === String ? $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.ResultType[message.resultType] : message.resultType; - if (message.allowIncludeLockedAndAbstainingVoteTally != null && message.hasOwnProperty("allowIncludeLockedAndAbstainingVoteTally")) - object.allowIncludeLockedAndAbstainingVoteTally = message.allowIncludeLockedAndAbstainingVoteTally; - if (message.startAtIdentifierInfo != null && message.hasOwnProperty("startAtIdentifierInfo")) - object.startAtIdentifierInfo = $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.toObject(message.startAtIdentifierInfo, options); + if (message.endIndexValues && message.endIndexValues.length) { + object.endIndexValues = []; + for (var j = 0; j < message.endIndexValues.length; ++j) + object.endIndexValues[j] = options.bytes === String ? $util.base64.encode(message.endIndexValues[j], 0, message.endIndexValues[j].length) : options.bytes === Array ? Array.prototype.slice.call(message.endIndexValues[j]) : message.endIndexValues[j]; + } + if (message.startAtValueInfo != null && message.hasOwnProperty("startAtValueInfo")) + object.startAtValueInfo = $root.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.toObject(message.startAtValueInfo, options); if (message.count != null && message.hasOwnProperty("count")) object.count = message.count; + if (message.orderAscending != null && message.hasOwnProperty("orderAscending")) + object.orderAscending = message.orderAscending; if (message.prove != null && message.hasOwnProperty("prove")) object.prove = message.prove; return object; }; /** - * Converts this GetContestedResourceVoteStateRequestV0 to JSON. + * Converts this GetContestedResourcesRequestV0 to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0 * @instance * @returns {Object.} JSON object */ - GetContestedResourceVoteStateRequestV0.prototype.toJSON = function toJSON() { + GetContestedResourcesRequestV0.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo = (function() { + GetContestedResourcesRequestV0.StartAtValueInfo = (function() { /** - * Properties of a StartAtIdentifierInfo. - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0 - * @interface IStartAtIdentifierInfo - * @property {Uint8Array|null} [startIdentifier] StartAtIdentifierInfo startIdentifier - * @property {boolean|null} [startIdentifierIncluded] StartAtIdentifierInfo startIdentifierIncluded + * Properties of a StartAtValueInfo. + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0 + * @interface IStartAtValueInfo + * @property {Uint8Array|null} [startValue] StartAtValueInfo startValue + * @property {boolean|null} [startValueIncluded] StartAtValueInfo startValueIncluded */ /** - * Constructs a new StartAtIdentifierInfo. - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0 - * @classdesc Represents a StartAtIdentifierInfo. - * @implements IStartAtIdentifierInfo + * Constructs a new StartAtValueInfo. + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0 + * @classdesc Represents a StartAtValueInfo. + * @implements IStartAtValueInfo * @constructor - * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.IStartAtIdentifierInfo=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.IStartAtValueInfo=} [properties] Properties to set */ - function StartAtIdentifierInfo(properties) { + function StartAtValueInfo(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -31924,88 +31930,88 @@ $root.org = (function() { } /** - * StartAtIdentifierInfo startIdentifier. - * @member {Uint8Array} startIdentifier - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo + * StartAtValueInfo startValue. + * @member {Uint8Array} startValue + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo * @instance */ - StartAtIdentifierInfo.prototype.startIdentifier = $util.newBuffer([]); + StartAtValueInfo.prototype.startValue = $util.newBuffer([]); /** - * StartAtIdentifierInfo startIdentifierIncluded. - * @member {boolean} startIdentifierIncluded - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo + * StartAtValueInfo startValueIncluded. + * @member {boolean} startValueIncluded + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo * @instance */ - StartAtIdentifierInfo.prototype.startIdentifierIncluded = false; + StartAtValueInfo.prototype.startValueIncluded = false; /** - * Creates a new StartAtIdentifierInfo instance using the specified properties. + * Creates a new StartAtValueInfo instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.IStartAtIdentifierInfo=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo} StartAtIdentifierInfo instance + * @param {org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.IStartAtValueInfo=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo} StartAtValueInfo instance */ - StartAtIdentifierInfo.create = function create(properties) { - return new StartAtIdentifierInfo(properties); + StartAtValueInfo.create = function create(properties) { + return new StartAtValueInfo(properties); }; /** - * Encodes the specified StartAtIdentifierInfo message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.verify|verify} messages. + * Encodes the specified StartAtValueInfo message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.IStartAtIdentifierInfo} message StartAtIdentifierInfo message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.IStartAtValueInfo} message StartAtValueInfo message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - StartAtIdentifierInfo.encode = function encode(message, writer) { + StartAtValueInfo.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.startIdentifier != null && Object.hasOwnProperty.call(message, "startIdentifier")) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.startIdentifier); - if (message.startIdentifierIncluded != null && Object.hasOwnProperty.call(message, "startIdentifierIncluded")) - writer.uint32(/* id 2, wireType 0 =*/16).bool(message.startIdentifierIncluded); + if (message.startValue != null && Object.hasOwnProperty.call(message, "startValue")) + writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.startValue); + if (message.startValueIncluded != null && Object.hasOwnProperty.call(message, "startValueIncluded")) + writer.uint32(/* id 2, wireType 0 =*/16).bool(message.startValueIncluded); return writer; }; /** - * Encodes the specified StartAtIdentifierInfo message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.verify|verify} messages. + * Encodes the specified StartAtValueInfo message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.IStartAtIdentifierInfo} message StartAtIdentifierInfo message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.IStartAtValueInfo} message StartAtValueInfo message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - StartAtIdentifierInfo.encodeDelimited = function encodeDelimited(message, writer) { + StartAtValueInfo.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a StartAtIdentifierInfo message from the specified reader or buffer. + * Decodes a StartAtValueInfo message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo * @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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo} StartAtIdentifierInfo + * @returns {org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo} StartAtValueInfo * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - StartAtIdentifierInfo.decode = function decode(reader, length) { + StartAtValueInfo.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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.startIdentifier = reader.bytes(); + message.startValue = reader.bytes(); break; case 2: - message.startIdentifierIncluded = reader.bool(); + message.startValueIncluded = reader.bool(); break; default: reader.skipType(tag & 7); @@ -32016,147 +32022,131 @@ $root.org = (function() { }; /** - * Decodes a StartAtIdentifierInfo message from the specified reader or buffer, length delimited. + * Decodes a StartAtValueInfo message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo} StartAtIdentifierInfo + * @returns {org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo} StartAtValueInfo * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - StartAtIdentifierInfo.decodeDelimited = function decodeDelimited(reader) { + StartAtValueInfo.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a StartAtIdentifierInfo message. + * Verifies a StartAtValueInfo message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - StartAtIdentifierInfo.verify = function verify(message) { + StartAtValueInfo.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.startIdentifier != null && message.hasOwnProperty("startIdentifier")) - if (!(message.startIdentifier && typeof message.startIdentifier.length === "number" || $util.isString(message.startIdentifier))) - return "startIdentifier: buffer expected"; - if (message.startIdentifierIncluded != null && message.hasOwnProperty("startIdentifierIncluded")) - if (typeof message.startIdentifierIncluded !== "boolean") - return "startIdentifierIncluded: boolean expected"; + if (message.startValue != null && message.hasOwnProperty("startValue")) + if (!(message.startValue && typeof message.startValue.length === "number" || $util.isString(message.startValue))) + return "startValue: buffer expected"; + if (message.startValueIncluded != null && message.hasOwnProperty("startValueIncluded")) + if (typeof message.startValueIncluded !== "boolean") + return "startValueIncluded: boolean expected"; return null; }; /** - * Creates a StartAtIdentifierInfo message from a plain object. Also converts values to their respective internal types. + * Creates a StartAtValueInfo message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo} StartAtIdentifierInfo + * @returns {org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo} StartAtValueInfo */ - StartAtIdentifierInfo.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo) + StartAtValueInfo.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo) return object; - var message = new $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo(); - if (object.startIdentifier != null) - if (typeof object.startIdentifier === "string") - $util.base64.decode(object.startIdentifier, message.startIdentifier = $util.newBuffer($util.base64.length(object.startIdentifier)), 0); - else if (object.startIdentifier.length >= 0) - message.startIdentifier = object.startIdentifier; - if (object.startIdentifierIncluded != null) - message.startIdentifierIncluded = Boolean(object.startIdentifierIncluded); + var message = new $root.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo(); + if (object.startValue != null) + if (typeof object.startValue === "string") + $util.base64.decode(object.startValue, message.startValue = $util.newBuffer($util.base64.length(object.startValue)), 0); + else if (object.startValue.length >= 0) + message.startValue = object.startValue; + if (object.startValueIncluded != null) + message.startValueIncluded = Boolean(object.startValueIncluded); return message; }; /** - * Creates a plain object from a StartAtIdentifierInfo message. Also converts values to other types if specified. + * Creates a plain object from a StartAtValueInfo message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo} message StartAtIdentifierInfo + * @param {org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo} message StartAtValueInfo * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - StartAtIdentifierInfo.toObject = function toObject(message, options) { + StartAtValueInfo.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { if (options.bytes === String) - object.startIdentifier = ""; + object.startValue = ""; else { - object.startIdentifier = []; + object.startValue = []; if (options.bytes !== Array) - object.startIdentifier = $util.newBuffer(object.startIdentifier); + object.startValue = $util.newBuffer(object.startValue); } - object.startIdentifierIncluded = false; + object.startValueIncluded = false; } - if (message.startIdentifier != null && message.hasOwnProperty("startIdentifier")) - object.startIdentifier = options.bytes === String ? $util.base64.encode(message.startIdentifier, 0, message.startIdentifier.length) : options.bytes === Array ? Array.prototype.slice.call(message.startIdentifier) : message.startIdentifier; - if (message.startIdentifierIncluded != null && message.hasOwnProperty("startIdentifierIncluded")) - object.startIdentifierIncluded = message.startIdentifierIncluded; + if (message.startValue != null && message.hasOwnProperty("startValue")) + object.startValue = options.bytes === String ? $util.base64.encode(message.startValue, 0, message.startValue.length) : options.bytes === Array ? Array.prototype.slice.call(message.startValue) : message.startValue; + if (message.startValueIncluded != null && message.hasOwnProperty("startValueIncluded")) + object.startValueIncluded = message.startValueIncluded; return object; }; /** - * Converts this StartAtIdentifierInfo to JSON. + * Converts this StartAtValueInfo to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo * @instance * @returns {Object.} JSON object */ - StartAtIdentifierInfo.prototype.toJSON = function toJSON() { + StartAtValueInfo.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return StartAtIdentifierInfo; - })(); - - /** - * ResultType enum. - * @name org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.ResultType - * @enum {number} - * @property {number} DOCUMENTS=0 DOCUMENTS value - * @property {number} VOTE_TALLY=1 VOTE_TALLY value - * @property {number} DOCUMENTS_AND_VOTE_TALLY=2 DOCUMENTS_AND_VOTE_TALLY value - */ - GetContestedResourceVoteStateRequestV0.ResultType = (function() { - var valuesById = {}, values = Object.create(valuesById); - values[valuesById[0] = "DOCUMENTS"] = 0; - values[valuesById[1] = "VOTE_TALLY"] = 1; - values[valuesById[2] = "DOCUMENTS_AND_VOTE_TALLY"] = 2; - return values; + return StartAtValueInfo; })(); - return GetContestedResourceVoteStateRequestV0; + return GetContestedResourcesRequestV0; })(); - return GetContestedResourceVoteStateRequest; + return GetContestedResourcesRequest; })(); - v0.GetContestedResourceVoteStateResponse = (function() { + v0.GetContestedResourcesResponse = (function() { /** - * Properties of a GetContestedResourceVoteStateResponse. + * Properties of a GetContestedResourcesResponse. * @memberof org.dash.platform.dapi.v0 - * @interface IGetContestedResourceVoteStateResponse - * @property {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.IGetContestedResourceVoteStateResponseV0|null} [v0] GetContestedResourceVoteStateResponse v0 + * @interface IGetContestedResourcesResponse + * @property {org.dash.platform.dapi.v0.GetContestedResourcesResponse.IGetContestedResourcesResponseV0|null} [v0] GetContestedResourcesResponse v0 */ /** - * Constructs a new GetContestedResourceVoteStateResponse. + * Constructs a new GetContestedResourcesResponse. * @memberof org.dash.platform.dapi.v0 - * @classdesc Represents a GetContestedResourceVoteStateResponse. - * @implements IGetContestedResourceVoteStateResponse + * @classdesc Represents a GetContestedResourcesResponse. + * @implements IGetContestedResourcesResponse * @constructor - * @param {org.dash.platform.dapi.v0.IGetContestedResourceVoteStateResponse=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.IGetContestedResourcesResponse=} [properties] Properties to set */ - function GetContestedResourceVoteStateResponse(properties) { + function GetContestedResourcesResponse(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -32164,89 +32154,89 @@ $root.org = (function() { } /** - * GetContestedResourceVoteStateResponse v0. - * @member {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.IGetContestedResourceVoteStateResponseV0|null|undefined} v0 - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse + * GetContestedResourcesResponse v0. + * @member {org.dash.platform.dapi.v0.GetContestedResourcesResponse.IGetContestedResourcesResponseV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse * @instance */ - GetContestedResourceVoteStateResponse.prototype.v0 = null; + GetContestedResourcesResponse.prototype.v0 = null; // OneOf field names bound to virtual getters and setters var $oneOfFields; /** - * GetContestedResourceVoteStateResponse version. + * GetContestedResourcesResponse version. * @member {"v0"|undefined} version - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse * @instance */ - Object.defineProperty(GetContestedResourceVoteStateResponse.prototype, "version", { + Object.defineProperty(GetContestedResourcesResponse.prototype, "version", { get: $util.oneOfGetter($oneOfFields = ["v0"]), set: $util.oneOfSetter($oneOfFields) }); /** - * Creates a new GetContestedResourceVoteStateResponse instance using the specified properties. + * Creates a new GetContestedResourcesResponse instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse * @static - * @param {org.dash.platform.dapi.v0.IGetContestedResourceVoteStateResponse=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse} GetContestedResourceVoteStateResponse instance + * @param {org.dash.platform.dapi.v0.IGetContestedResourcesResponse=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetContestedResourcesResponse} GetContestedResourcesResponse instance */ - GetContestedResourceVoteStateResponse.create = function create(properties) { - return new GetContestedResourceVoteStateResponse(properties); + GetContestedResourcesResponse.create = function create(properties) { + return new GetContestedResourcesResponse(properties); }; /** - * Encodes the specified GetContestedResourceVoteStateResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.verify|verify} messages. + * Encodes the specified GetContestedResourcesResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourcesResponse.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse * @static - * @param {org.dash.platform.dapi.v0.IGetContestedResourceVoteStateResponse} message GetContestedResourceVoteStateResponse message or plain object to encode + * @param {org.dash.platform.dapi.v0.IGetContestedResourcesResponse} message GetContestedResourcesResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetContestedResourceVoteStateResponse.encode = function encode(message, writer) { + GetContestedResourcesResponse.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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + $root.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified GetContestedResourceVoteStateResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.verify|verify} messages. + * Encodes the specified GetContestedResourcesResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourcesResponse.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse * @static - * @param {org.dash.platform.dapi.v0.IGetContestedResourceVoteStateResponse} message GetContestedResourceVoteStateResponse message or plain object to encode + * @param {org.dash.platform.dapi.v0.IGetContestedResourcesResponse} message GetContestedResourcesResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetContestedResourceVoteStateResponse.encodeDelimited = function encodeDelimited(message, writer) { + GetContestedResourcesResponse.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetContestedResourceVoteStateResponse message from the specified reader or buffer. + * Decodes a GetContestedResourcesResponse message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse * @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.GetContestedResourceVoteStateResponse} GetContestedResourceVoteStateResponse + * @returns {org.dash.platform.dapi.v0.GetContestedResourcesResponse} GetContestedResourcesResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetContestedResourceVoteStateResponse.decode = function decode(reader, length) { + GetContestedResourcesResponse.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.GetContestedResourceVoteStateResponse(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetContestedResourcesResponse(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.v0 = $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.decode(reader, reader.uint32()); + message.v0 = $root.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -32257,37 +32247,37 @@ $root.org = (function() { }; /** - * Decodes a GetContestedResourceVoteStateResponse message from the specified reader or buffer, length delimited. + * Decodes a GetContestedResourcesResponse message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse} GetContestedResourceVoteStateResponse + * @returns {org.dash.platform.dapi.v0.GetContestedResourcesResponse} GetContestedResourcesResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetContestedResourceVoteStateResponse.decodeDelimited = function decodeDelimited(reader) { + GetContestedResourcesResponse.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GetContestedResourceVoteStateResponse message. + * Verifies a GetContestedResourcesResponse message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetContestedResourceVoteStateResponse.verify = function verify(message) { + GetContestedResourcesResponse.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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.verify(message.v0); + var error = $root.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.verify(message.v0); if (error) return "v0." + error; } @@ -32296,40 +32286,40 @@ $root.org = (function() { }; /** - * Creates a GetContestedResourceVoteStateResponse message from a plain object. Also converts values to their respective internal types. + * Creates a GetContestedResourcesResponse message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse} GetContestedResourceVoteStateResponse + * @returns {org.dash.platform.dapi.v0.GetContestedResourcesResponse} GetContestedResourcesResponse */ - GetContestedResourceVoteStateResponse.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse) + GetContestedResourcesResponse.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourcesResponse) return object; - var message = new $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse(); + var message = new $root.org.dash.platform.dapi.v0.GetContestedResourcesResponse(); if (object.v0 != null) { if (typeof object.v0 !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.v0: object expected"); - message.v0 = $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.fromObject(object.v0); + throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourcesResponse.v0: object expected"); + message.v0 = $root.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.fromObject(object.v0); } return message; }; /** - * Creates a plain object from a GetContestedResourceVoteStateResponse message. Also converts values to other types if specified. + * Creates a plain object from a GetContestedResourcesResponse message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse} message GetContestedResourceVoteStateResponse + * @param {org.dash.platform.dapi.v0.GetContestedResourcesResponse} message GetContestedResourcesResponse * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetContestedResourceVoteStateResponse.toObject = function toObject(message, options) { + GetContestedResourcesResponse.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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.toObject(message.v0, options); + object.v0 = $root.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.toObject(message.v0, options); if (options.oneofs) object.version = "v0"; } @@ -32337,36 +32327,36 @@ $root.org = (function() { }; /** - * Converts this GetContestedResourceVoteStateResponse to JSON. + * Converts this GetContestedResourcesResponse to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse * @instance * @returns {Object.} JSON object */ - GetContestedResourceVoteStateResponse.prototype.toJSON = function toJSON() { + GetContestedResourcesResponse.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0 = (function() { + GetContestedResourcesResponse.GetContestedResourcesResponseV0 = (function() { /** - * Properties of a GetContestedResourceVoteStateResponseV0. - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse - * @interface IGetContestedResourceVoteStateResponseV0 - * @property {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.IContestedResourceContenders|null} [contestedResourceContenders] GetContestedResourceVoteStateResponseV0 contestedResourceContenders - * @property {org.dash.platform.dapi.v0.IProof|null} [proof] GetContestedResourceVoteStateResponseV0 proof - * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetContestedResourceVoteStateResponseV0 metadata + * Properties of a GetContestedResourcesResponseV0. + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse + * @interface IGetContestedResourcesResponseV0 + * @property {org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.IContestedResourceValues|null} [contestedResourceValues] GetContestedResourcesResponseV0 contestedResourceValues + * @property {org.dash.platform.dapi.v0.IProof|null} [proof] GetContestedResourcesResponseV0 proof + * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetContestedResourcesResponseV0 metadata */ /** - * Constructs a new GetContestedResourceVoteStateResponseV0. - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse - * @classdesc Represents a GetContestedResourceVoteStateResponseV0. - * @implements IGetContestedResourceVoteStateResponseV0 + * Constructs a new GetContestedResourcesResponseV0. + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse + * @classdesc Represents a GetContestedResourcesResponseV0. + * @implements IGetContestedResourcesResponseV0 * @constructor - * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.IGetContestedResourceVoteStateResponseV0=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetContestedResourcesResponse.IGetContestedResourcesResponseV0=} [properties] Properties to set */ - function GetContestedResourceVoteStateResponseV0(properties) { + function GetContestedResourcesResponseV0(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -32374,69 +32364,69 @@ $root.org = (function() { } /** - * GetContestedResourceVoteStateResponseV0 contestedResourceContenders. - * @member {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.IContestedResourceContenders|null|undefined} contestedResourceContenders - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0 + * GetContestedResourcesResponseV0 contestedResourceValues. + * @member {org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.IContestedResourceValues|null|undefined} contestedResourceValues + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0 * @instance */ - GetContestedResourceVoteStateResponseV0.prototype.contestedResourceContenders = null; + GetContestedResourcesResponseV0.prototype.contestedResourceValues = null; /** - * GetContestedResourceVoteStateResponseV0 proof. + * GetContestedResourcesResponseV0 proof. * @member {org.dash.platform.dapi.v0.IProof|null|undefined} proof - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0 * @instance */ - GetContestedResourceVoteStateResponseV0.prototype.proof = null; + GetContestedResourcesResponseV0.prototype.proof = null; /** - * GetContestedResourceVoteStateResponseV0 metadata. + * GetContestedResourcesResponseV0 metadata. * @member {org.dash.platform.dapi.v0.IResponseMetadata|null|undefined} metadata - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0 * @instance */ - GetContestedResourceVoteStateResponseV0.prototype.metadata = null; + GetContestedResourcesResponseV0.prototype.metadata = null; // OneOf field names bound to virtual getters and setters var $oneOfFields; /** - * GetContestedResourceVoteStateResponseV0 result. - * @member {"contestedResourceContenders"|"proof"|undefined} result - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0 + * GetContestedResourcesResponseV0 result. + * @member {"contestedResourceValues"|"proof"|undefined} result + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0 * @instance */ - Object.defineProperty(GetContestedResourceVoteStateResponseV0.prototype, "result", { - get: $util.oneOfGetter($oneOfFields = ["contestedResourceContenders", "proof"]), + Object.defineProperty(GetContestedResourcesResponseV0.prototype, "result", { + get: $util.oneOfGetter($oneOfFields = ["contestedResourceValues", "proof"]), set: $util.oneOfSetter($oneOfFields) }); /** - * Creates a new GetContestedResourceVoteStateResponseV0 instance using the specified properties. + * Creates a new GetContestedResourcesResponseV0 instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.IGetContestedResourceVoteStateResponseV0=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0} GetContestedResourceVoteStateResponseV0 instance + * @param {org.dash.platform.dapi.v0.GetContestedResourcesResponse.IGetContestedResourcesResponseV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0} GetContestedResourcesResponseV0 instance */ - GetContestedResourceVoteStateResponseV0.create = function create(properties) { - return new GetContestedResourceVoteStateResponseV0(properties); + GetContestedResourcesResponseV0.create = function create(properties) { + return new GetContestedResourcesResponseV0(properties); }; /** - * Encodes the specified GetContestedResourceVoteStateResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.verify|verify} messages. + * Encodes the specified GetContestedResourcesResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.IGetContestedResourceVoteStateResponseV0} message GetContestedResourceVoteStateResponseV0 message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetContestedResourcesResponse.IGetContestedResourcesResponseV0} message GetContestedResourcesResponseV0 message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetContestedResourceVoteStateResponseV0.encode = function encode(message, writer) { + GetContestedResourcesResponseV0.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.contestedResourceContenders != null && Object.hasOwnProperty.call(message, "contestedResourceContenders")) - $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.encode(message.contestedResourceContenders, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.contestedResourceValues != null && Object.hasOwnProperty.call(message, "contestedResourceValues")) + $root.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.encode(message.contestedResourceValues, 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")) @@ -32445,38 +32435,38 @@ $root.org = (function() { }; /** - * Encodes the specified GetContestedResourceVoteStateResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.verify|verify} messages. + * Encodes the specified GetContestedResourcesResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.IGetContestedResourceVoteStateResponseV0} message GetContestedResourceVoteStateResponseV0 message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetContestedResourcesResponse.IGetContestedResourcesResponseV0} message GetContestedResourcesResponseV0 message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetContestedResourceVoteStateResponseV0.encodeDelimited = function encodeDelimited(message, writer) { + GetContestedResourcesResponseV0.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetContestedResourceVoteStateResponseV0 message from the specified reader or buffer. + * Decodes a GetContestedResourcesResponseV0 message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0 * @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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0} GetContestedResourceVoteStateResponseV0 + * @returns {org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0} GetContestedResourcesResponseV0 * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetContestedResourceVoteStateResponseV0.decode = function decode(reader, length) { + GetContestedResourcesResponseV0.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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.contestedResourceContenders = $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.decode(reader, reader.uint32()); + message.contestedResourceValues = $root.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.decode(reader, reader.uint32()); break; case 2: message.proof = $root.org.dash.platform.dapi.v0.Proof.decode(reader, reader.uint32()); @@ -32493,39 +32483,39 @@ $root.org = (function() { }; /** - * Decodes a GetContestedResourceVoteStateResponseV0 message from the specified reader or buffer, length delimited. + * Decodes a GetContestedResourcesResponseV0 message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0 * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0} GetContestedResourceVoteStateResponseV0 + * @returns {org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0} GetContestedResourcesResponseV0 * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetContestedResourceVoteStateResponseV0.decodeDelimited = function decodeDelimited(reader) { + GetContestedResourcesResponseV0.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GetContestedResourceVoteStateResponseV0 message. + * Verifies a GetContestedResourcesResponseV0 message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0 * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetContestedResourceVoteStateResponseV0.verify = function verify(message) { + GetContestedResourcesResponseV0.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; var properties = {}; - if (message.contestedResourceContenders != null && message.hasOwnProperty("contestedResourceContenders")) { + if (message.contestedResourceValues != null && message.hasOwnProperty("contestedResourceValues")) { properties.result = 1; { - var error = $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.verify(message.contestedResourceContenders); + var error = $root.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.verify(message.contestedResourceValues); if (error) - return "contestedResourceContenders." + error; + return "contestedResourceValues." + error; } } if (message.proof != null && message.hasOwnProperty("proof")) { @@ -32547,54 +32537,54 @@ $root.org = (function() { }; /** - * Creates a GetContestedResourceVoteStateResponseV0 message from a plain object. Also converts values to their respective internal types. + * Creates a GetContestedResourcesResponseV0 message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0 * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0} GetContestedResourceVoteStateResponseV0 + * @returns {org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0} GetContestedResourcesResponseV0 */ - GetContestedResourceVoteStateResponseV0.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0) + GetContestedResourcesResponseV0.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0) return object; - var message = new $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0(); - if (object.contestedResourceContenders != null) { - if (typeof object.contestedResourceContenders !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.contestedResourceContenders: object expected"); - message.contestedResourceContenders = $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.fromObject(object.contestedResourceContenders); + var message = new $root.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0(); + if (object.contestedResourceValues != null) { + if (typeof object.contestedResourceValues !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.contestedResourceValues: object expected"); + message.contestedResourceValues = $root.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.fromObject(object.contestedResourceValues); } if (object.proof != null) { if (typeof object.proof !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.proof: object expected"); + throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.metadata: object expected"); + throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.metadata: object expected"); message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.fromObject(object.metadata); } return message; }; /** - * Creates a plain object from a GetContestedResourceVoteStateResponseV0 message. Also converts values to other types if specified. + * Creates a plain object from a GetContestedResourcesResponseV0 message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0} message GetContestedResourceVoteStateResponseV0 + * @param {org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0} message GetContestedResourcesResponseV0 * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetContestedResourceVoteStateResponseV0.toObject = function toObject(message, options) { + GetContestedResourcesResponseV0.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) object.metadata = null; - if (message.contestedResourceContenders != null && message.hasOwnProperty("contestedResourceContenders")) { - object.contestedResourceContenders = $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.toObject(message.contestedResourceContenders, options); + if (message.contestedResourceValues != null && message.hasOwnProperty("contestedResourceValues")) { + object.contestedResourceValues = $root.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.toObject(message.contestedResourceValues, options); if (options.oneofs) - object.result = "contestedResourceContenders"; + object.result = "contestedResourceValues"; } if (message.proof != null && message.hasOwnProperty("proof")) { object.proof = $root.org.dash.platform.dapi.v0.Proof.toObject(message.proof, options); @@ -32607,39 +32597,35 @@ $root.org = (function() { }; /** - * Converts this GetContestedResourceVoteStateResponseV0 to JSON. + * Converts this GetContestedResourcesResponseV0 to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0 * @instance * @returns {Object.} JSON object */ - GetContestedResourceVoteStateResponseV0.prototype.toJSON = function toJSON() { + GetContestedResourcesResponseV0.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - GetContestedResourceVoteStateResponseV0.FinishedVoteInfo = (function() { + GetContestedResourcesResponseV0.ContestedResourceValues = (function() { /** - * Properties of a FinishedVoteInfo. - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0 - * @interface IFinishedVoteInfo - * @property {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.FinishedVoteOutcome|null} [finishedVoteOutcome] FinishedVoteInfo finishedVoteOutcome - * @property {Uint8Array|null} [wonByIdentityId] FinishedVoteInfo wonByIdentityId - * @property {number|Long|null} [finishedAtBlockHeight] FinishedVoteInfo finishedAtBlockHeight - * @property {number|null} [finishedAtCoreBlockHeight] FinishedVoteInfo finishedAtCoreBlockHeight - * @property {number|Long|null} [finishedAtBlockTimeMs] FinishedVoteInfo finishedAtBlockTimeMs - * @property {number|null} [finishedAtEpoch] FinishedVoteInfo finishedAtEpoch + * Properties of a ContestedResourceValues. + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0 + * @interface IContestedResourceValues + * @property {Array.|null} [contestedResourceValues] ContestedResourceValues contestedResourceValues */ /** - * Constructs a new FinishedVoteInfo. - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0 - * @classdesc Represents a FinishedVoteInfo. - * @implements IFinishedVoteInfo + * Constructs a new ContestedResourceValues. + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0 + * @classdesc Represents a ContestedResourceValues. + * @implements IContestedResourceValues * @constructor - * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.IFinishedVoteInfo=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.IContestedResourceValues=} [properties] Properties to set */ - function FinishedVoteInfo(properties) { + function ContestedResourceValues(properties) { + this.contestedResourceValues = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -32647,140 +32633,78 @@ $root.org = (function() { } /** - * FinishedVoteInfo finishedVoteOutcome. - * @member {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.FinishedVoteOutcome} finishedVoteOutcome - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo - * @instance - */ - FinishedVoteInfo.prototype.finishedVoteOutcome = 0; - - /** - * FinishedVoteInfo wonByIdentityId. - * @member {Uint8Array} wonByIdentityId - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo - * @instance - */ - FinishedVoteInfo.prototype.wonByIdentityId = $util.newBuffer([]); - - /** - * FinishedVoteInfo finishedAtBlockHeight. - * @member {number|Long} finishedAtBlockHeight - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo - * @instance - */ - FinishedVoteInfo.prototype.finishedAtBlockHeight = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - - /** - * FinishedVoteInfo finishedAtCoreBlockHeight. - * @member {number} finishedAtCoreBlockHeight - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo - * @instance - */ - FinishedVoteInfo.prototype.finishedAtCoreBlockHeight = 0; - - /** - * FinishedVoteInfo finishedAtBlockTimeMs. - * @member {number|Long} finishedAtBlockTimeMs - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo - * @instance - */ - FinishedVoteInfo.prototype.finishedAtBlockTimeMs = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - - /** - * FinishedVoteInfo finishedAtEpoch. - * @member {number} finishedAtEpoch - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo + * ContestedResourceValues contestedResourceValues. + * @member {Array.} contestedResourceValues + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues * @instance */ - FinishedVoteInfo.prototype.finishedAtEpoch = 0; + ContestedResourceValues.prototype.contestedResourceValues = $util.emptyArray; /** - * Creates a new FinishedVoteInfo instance using the specified properties. + * Creates a new ContestedResourceValues instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.IFinishedVoteInfo=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo} FinishedVoteInfo instance + * @param {org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.IContestedResourceValues=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues} ContestedResourceValues instance */ - FinishedVoteInfo.create = function create(properties) { - return new FinishedVoteInfo(properties); + ContestedResourceValues.create = function create(properties) { + return new ContestedResourceValues(properties); }; /** - * Encodes the specified FinishedVoteInfo message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.verify|verify} messages. + * Encodes the specified ContestedResourceValues message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.IFinishedVoteInfo} message FinishedVoteInfo message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.IContestedResourceValues} message ContestedResourceValues message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - FinishedVoteInfo.encode = function encode(message, writer) { + ContestedResourceValues.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.finishedVoteOutcome != null && Object.hasOwnProperty.call(message, "finishedVoteOutcome")) - writer.uint32(/* id 1, wireType 0 =*/8).int32(message.finishedVoteOutcome); - if (message.wonByIdentityId != null && Object.hasOwnProperty.call(message, "wonByIdentityId")) - writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.wonByIdentityId); - if (message.finishedAtBlockHeight != null && Object.hasOwnProperty.call(message, "finishedAtBlockHeight")) - writer.uint32(/* id 3, wireType 0 =*/24).uint64(message.finishedAtBlockHeight); - if (message.finishedAtCoreBlockHeight != null && Object.hasOwnProperty.call(message, "finishedAtCoreBlockHeight")) - writer.uint32(/* id 4, wireType 0 =*/32).uint32(message.finishedAtCoreBlockHeight); - if (message.finishedAtBlockTimeMs != null && Object.hasOwnProperty.call(message, "finishedAtBlockTimeMs")) - writer.uint32(/* id 5, wireType 0 =*/40).uint64(message.finishedAtBlockTimeMs); - if (message.finishedAtEpoch != null && Object.hasOwnProperty.call(message, "finishedAtEpoch")) - writer.uint32(/* id 6, wireType 0 =*/48).uint32(message.finishedAtEpoch); + if (message.contestedResourceValues != null && message.contestedResourceValues.length) + for (var i = 0; i < message.contestedResourceValues.length; ++i) + writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.contestedResourceValues[i]); return writer; }; /** - * Encodes the specified FinishedVoteInfo message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.verify|verify} messages. + * Encodes the specified ContestedResourceValues message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.IFinishedVoteInfo} message FinishedVoteInfo message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.IContestedResourceValues} message ContestedResourceValues message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - FinishedVoteInfo.encodeDelimited = function encodeDelimited(message, writer) { + ContestedResourceValues.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a FinishedVoteInfo message from the specified reader or buffer. + * Decodes a ContestedResourceValues message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues * @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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo} FinishedVoteInfo + * @returns {org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues} ContestedResourceValues * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FinishedVoteInfo.decode = function decode(reader, length) { + ContestedResourceValues.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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.finishedVoteOutcome = reader.int32(); - break; - case 2: - message.wonByIdentityId = reader.bytes(); - break; - case 3: - message.finishedAtBlockHeight = reader.uint64(); - break; - case 4: - message.finishedAtCoreBlockHeight = reader.uint32(); - break; - case 5: - message.finishedAtBlockTimeMs = reader.uint64(); - break; - case 6: - message.finishedAtEpoch = reader.uint32(); + if (!(message.contestedResourceValues && message.contestedResourceValues.length)) + message.contestedResourceValues = []; + message.contestedResourceValues.push(reader.bytes()); break; default: reader.skipType(tag & 7); @@ -32791,846 +32715,218 @@ $root.org = (function() { }; /** - * Decodes a FinishedVoteInfo message from the specified reader or buffer, length delimited. + * Decodes a ContestedResourceValues message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo} FinishedVoteInfo + * @returns {org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues} ContestedResourceValues * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FinishedVoteInfo.decodeDelimited = function decodeDelimited(reader) { + ContestedResourceValues.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a FinishedVoteInfo message. + * Verifies a ContestedResourceValues message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - FinishedVoteInfo.verify = function verify(message) { + ContestedResourceValues.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.finishedVoteOutcome != null && message.hasOwnProperty("finishedVoteOutcome")) - switch (message.finishedVoteOutcome) { - default: - return "finishedVoteOutcome: enum value expected"; - case 0: - case 1: - case 2: - break; - } - if (message.wonByIdentityId != null && message.hasOwnProperty("wonByIdentityId")) - if (!(message.wonByIdentityId && typeof message.wonByIdentityId.length === "number" || $util.isString(message.wonByIdentityId))) - return "wonByIdentityId: buffer expected"; - if (message.finishedAtBlockHeight != null && message.hasOwnProperty("finishedAtBlockHeight")) - if (!$util.isInteger(message.finishedAtBlockHeight) && !(message.finishedAtBlockHeight && $util.isInteger(message.finishedAtBlockHeight.low) && $util.isInteger(message.finishedAtBlockHeight.high))) - return "finishedAtBlockHeight: integer|Long expected"; - if (message.finishedAtCoreBlockHeight != null && message.hasOwnProperty("finishedAtCoreBlockHeight")) - if (!$util.isInteger(message.finishedAtCoreBlockHeight)) - return "finishedAtCoreBlockHeight: integer expected"; - if (message.finishedAtBlockTimeMs != null && message.hasOwnProperty("finishedAtBlockTimeMs")) - if (!$util.isInteger(message.finishedAtBlockTimeMs) && !(message.finishedAtBlockTimeMs && $util.isInteger(message.finishedAtBlockTimeMs.low) && $util.isInteger(message.finishedAtBlockTimeMs.high))) - return "finishedAtBlockTimeMs: integer|Long expected"; - if (message.finishedAtEpoch != null && message.hasOwnProperty("finishedAtEpoch")) - if (!$util.isInteger(message.finishedAtEpoch)) - return "finishedAtEpoch: integer expected"; + if (message.contestedResourceValues != null && message.hasOwnProperty("contestedResourceValues")) { + if (!Array.isArray(message.contestedResourceValues)) + return "contestedResourceValues: array expected"; + for (var i = 0; i < message.contestedResourceValues.length; ++i) + if (!(message.contestedResourceValues[i] && typeof message.contestedResourceValues[i].length === "number" || $util.isString(message.contestedResourceValues[i]))) + return "contestedResourceValues: buffer[] expected"; + } return null; }; /** - * Creates a FinishedVoteInfo message from a plain object. Also converts values to their respective internal types. + * Creates a ContestedResourceValues message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo} FinishedVoteInfo + * @returns {org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues} ContestedResourceValues */ - FinishedVoteInfo.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo) + ContestedResourceValues.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues) return object; - var message = new $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo(); - switch (object.finishedVoteOutcome) { - case "TOWARDS_IDENTITY": - case 0: - message.finishedVoteOutcome = 0; - break; - case "LOCKED": - case 1: - message.finishedVoteOutcome = 1; - break; - case "NO_PREVIOUS_WINNER": - case 2: - message.finishedVoteOutcome = 2; - break; + var message = new $root.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues(); + if (object.contestedResourceValues) { + if (!Array.isArray(object.contestedResourceValues)) + throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.contestedResourceValues: array expected"); + message.contestedResourceValues = []; + for (var i = 0; i < object.contestedResourceValues.length; ++i) + if (typeof object.contestedResourceValues[i] === "string") + $util.base64.decode(object.contestedResourceValues[i], message.contestedResourceValues[i] = $util.newBuffer($util.base64.length(object.contestedResourceValues[i])), 0); + else if (object.contestedResourceValues[i].length >= 0) + message.contestedResourceValues[i] = object.contestedResourceValues[i]; } - if (object.wonByIdentityId != null) - if (typeof object.wonByIdentityId === "string") - $util.base64.decode(object.wonByIdentityId, message.wonByIdentityId = $util.newBuffer($util.base64.length(object.wonByIdentityId)), 0); - else if (object.wonByIdentityId.length >= 0) - message.wonByIdentityId = object.wonByIdentityId; - if (object.finishedAtBlockHeight != null) - if ($util.Long) - (message.finishedAtBlockHeight = $util.Long.fromValue(object.finishedAtBlockHeight)).unsigned = true; - else if (typeof object.finishedAtBlockHeight === "string") - message.finishedAtBlockHeight = parseInt(object.finishedAtBlockHeight, 10); - else if (typeof object.finishedAtBlockHeight === "number") - message.finishedAtBlockHeight = object.finishedAtBlockHeight; - else if (typeof object.finishedAtBlockHeight === "object") - message.finishedAtBlockHeight = new $util.LongBits(object.finishedAtBlockHeight.low >>> 0, object.finishedAtBlockHeight.high >>> 0).toNumber(true); - if (object.finishedAtCoreBlockHeight != null) - message.finishedAtCoreBlockHeight = object.finishedAtCoreBlockHeight >>> 0; - if (object.finishedAtBlockTimeMs != null) - if ($util.Long) - (message.finishedAtBlockTimeMs = $util.Long.fromValue(object.finishedAtBlockTimeMs)).unsigned = true; - else if (typeof object.finishedAtBlockTimeMs === "string") - message.finishedAtBlockTimeMs = parseInt(object.finishedAtBlockTimeMs, 10); - else if (typeof object.finishedAtBlockTimeMs === "number") - message.finishedAtBlockTimeMs = object.finishedAtBlockTimeMs; - else if (typeof object.finishedAtBlockTimeMs === "object") - message.finishedAtBlockTimeMs = new $util.LongBits(object.finishedAtBlockTimeMs.low >>> 0, object.finishedAtBlockTimeMs.high >>> 0).toNumber(true); - if (object.finishedAtEpoch != null) - message.finishedAtEpoch = object.finishedAtEpoch >>> 0; return message; }; /** - * Creates a plain object from a FinishedVoteInfo message. Also converts values to other types if specified. + * Creates a plain object from a ContestedResourceValues message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo} message FinishedVoteInfo + * @param {org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues} message ContestedResourceValues * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - FinishedVoteInfo.toObject = function toObject(message, options) { + ContestedResourceValues.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.defaults) { - object.finishedVoteOutcome = options.enums === String ? "TOWARDS_IDENTITY" : 0; - if (options.bytes === String) - object.wonByIdentityId = ""; - else { - object.wonByIdentityId = []; - if (options.bytes !== Array) - object.wonByIdentityId = $util.newBuffer(object.wonByIdentityId); - } - if ($util.Long) { - var long = new $util.Long(0, 0, true); - object.finishedAtBlockHeight = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.finishedAtBlockHeight = options.longs === String ? "0" : 0; - object.finishedAtCoreBlockHeight = 0; - if ($util.Long) { - var long = new $util.Long(0, 0, true); - object.finishedAtBlockTimeMs = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.finishedAtBlockTimeMs = options.longs === String ? "0" : 0; - object.finishedAtEpoch = 0; + if (options.arrays || options.defaults) + object.contestedResourceValues = []; + if (message.contestedResourceValues && message.contestedResourceValues.length) { + object.contestedResourceValues = []; + for (var j = 0; j < message.contestedResourceValues.length; ++j) + object.contestedResourceValues[j] = options.bytes === String ? $util.base64.encode(message.contestedResourceValues[j], 0, message.contestedResourceValues[j].length) : options.bytes === Array ? Array.prototype.slice.call(message.contestedResourceValues[j]) : message.contestedResourceValues[j]; } - if (message.finishedVoteOutcome != null && message.hasOwnProperty("finishedVoteOutcome")) - object.finishedVoteOutcome = options.enums === String ? $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.FinishedVoteOutcome[message.finishedVoteOutcome] : message.finishedVoteOutcome; - if (message.wonByIdentityId != null && message.hasOwnProperty("wonByIdentityId")) - object.wonByIdentityId = options.bytes === String ? $util.base64.encode(message.wonByIdentityId, 0, message.wonByIdentityId.length) : options.bytes === Array ? Array.prototype.slice.call(message.wonByIdentityId) : message.wonByIdentityId; - if (message.finishedAtBlockHeight != null && message.hasOwnProperty("finishedAtBlockHeight")) - if (typeof message.finishedAtBlockHeight === "number") - object.finishedAtBlockHeight = options.longs === String ? String(message.finishedAtBlockHeight) : message.finishedAtBlockHeight; - else - object.finishedAtBlockHeight = options.longs === String ? $util.Long.prototype.toString.call(message.finishedAtBlockHeight) : options.longs === Number ? new $util.LongBits(message.finishedAtBlockHeight.low >>> 0, message.finishedAtBlockHeight.high >>> 0).toNumber(true) : message.finishedAtBlockHeight; - if (message.finishedAtCoreBlockHeight != null && message.hasOwnProperty("finishedAtCoreBlockHeight")) - object.finishedAtCoreBlockHeight = message.finishedAtCoreBlockHeight; - if (message.finishedAtBlockTimeMs != null && message.hasOwnProperty("finishedAtBlockTimeMs")) - if (typeof message.finishedAtBlockTimeMs === "number") - object.finishedAtBlockTimeMs = options.longs === String ? String(message.finishedAtBlockTimeMs) : message.finishedAtBlockTimeMs; - else - object.finishedAtBlockTimeMs = options.longs === String ? $util.Long.prototype.toString.call(message.finishedAtBlockTimeMs) : options.longs === Number ? new $util.LongBits(message.finishedAtBlockTimeMs.low >>> 0, message.finishedAtBlockTimeMs.high >>> 0).toNumber(true) : message.finishedAtBlockTimeMs; - if (message.finishedAtEpoch != null && message.hasOwnProperty("finishedAtEpoch")) - object.finishedAtEpoch = message.finishedAtEpoch; return object; }; /** - * Converts this FinishedVoteInfo to JSON. + * Converts this ContestedResourceValues to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo + * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues * @instance * @returns {Object.} JSON object */ - FinishedVoteInfo.prototype.toJSON = function toJSON() { + ContestedResourceValues.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - /** - * FinishedVoteOutcome enum. - * @name org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.FinishedVoteOutcome - * @enum {number} - * @property {number} TOWARDS_IDENTITY=0 TOWARDS_IDENTITY value - * @property {number} LOCKED=1 LOCKED value - * @property {number} NO_PREVIOUS_WINNER=2 NO_PREVIOUS_WINNER value - */ - FinishedVoteInfo.FinishedVoteOutcome = (function() { - var valuesById = {}, values = Object.create(valuesById); - values[valuesById[0] = "TOWARDS_IDENTITY"] = 0; - values[valuesById[1] = "LOCKED"] = 1; - values[valuesById[2] = "NO_PREVIOUS_WINNER"] = 2; - return values; - })(); - - return FinishedVoteInfo; + return ContestedResourceValues; })(); - GetContestedResourceVoteStateResponseV0.ContestedResourceContenders = (function() { - - /** - * Properties of a ContestedResourceContenders. - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0 - * @interface IContestedResourceContenders - * @property {Array.|null} [contenders] ContestedResourceContenders contenders - * @property {number|null} [abstainVoteTally] ContestedResourceContenders abstainVoteTally - * @property {number|null} [lockVoteTally] ContestedResourceContenders lockVoteTally - * @property {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.IFinishedVoteInfo|null} [finishedVoteInfo] ContestedResourceContenders finishedVoteInfo - */ + return GetContestedResourcesResponseV0; + })(); - /** - * Constructs a new ContestedResourceContenders. - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0 - * @classdesc Represents a ContestedResourceContenders. - * @implements IContestedResourceContenders - * @constructor - * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.IContestedResourceContenders=} [properties] Properties to set - */ - function ContestedResourceContenders(properties) { - this.contenders = []; - 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 GetContestedResourcesResponse; + })(); - /** - * ContestedResourceContenders contenders. - * @member {Array.} contenders - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders - * @instance - */ - ContestedResourceContenders.prototype.contenders = $util.emptyArray; + v0.GetVotePollsByEndDateRequest = (function() { - /** - * ContestedResourceContenders abstainVoteTally. - * @member {number} abstainVoteTally - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders - * @instance - */ - ContestedResourceContenders.prototype.abstainVoteTally = 0; + /** + * Properties of a GetVotePollsByEndDateRequest. + * @memberof org.dash.platform.dapi.v0 + * @interface IGetVotePollsByEndDateRequest + * @property {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.IGetVotePollsByEndDateRequestV0|null} [v0] GetVotePollsByEndDateRequest v0 + */ - /** - * ContestedResourceContenders lockVoteTally. - * @member {number} lockVoteTally - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders - * @instance - */ - ContestedResourceContenders.prototype.lockVoteTally = 0; + /** + * Constructs a new GetVotePollsByEndDateRequest. + * @memberof org.dash.platform.dapi.v0 + * @classdesc Represents a GetVotePollsByEndDateRequest. + * @implements IGetVotePollsByEndDateRequest + * @constructor + * @param {org.dash.platform.dapi.v0.IGetVotePollsByEndDateRequest=} [properties] Properties to set + */ + function GetVotePollsByEndDateRequest(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]]; + } - /** - * ContestedResourceContenders finishedVoteInfo. - * @member {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.IFinishedVoteInfo|null|undefined} finishedVoteInfo - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders - * @instance - */ - ContestedResourceContenders.prototype.finishedVoteInfo = null; + /** + * GetVotePollsByEndDateRequest v0. + * @member {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.IGetVotePollsByEndDateRequestV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest + * @instance + */ + GetVotePollsByEndDateRequest.prototype.v0 = null; - /** - * Creates a new ContestedResourceContenders instance using the specified properties. - * @function create - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders - * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.IContestedResourceContenders=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders} ContestedResourceContenders instance - */ - ContestedResourceContenders.create = function create(properties) { - return new ContestedResourceContenders(properties); - }; + // OneOf field names bound to virtual getters and setters + var $oneOfFields; - /** - * Encodes the specified ContestedResourceContenders message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.verify|verify} messages. - * @function encode - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders - * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.IContestedResourceContenders} message ContestedResourceContenders message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ContestedResourceContenders.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.contenders != null && message.contenders.length) - for (var i = 0; i < message.contenders.length; ++i) - $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.encode(message.contenders[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.abstainVoteTally != null && Object.hasOwnProperty.call(message, "abstainVoteTally")) - writer.uint32(/* id 2, wireType 0 =*/16).uint32(message.abstainVoteTally); - if (message.lockVoteTally != null && Object.hasOwnProperty.call(message, "lockVoteTally")) - writer.uint32(/* id 3, wireType 0 =*/24).uint32(message.lockVoteTally); - if (message.finishedVoteInfo != null && Object.hasOwnProperty.call(message, "finishedVoteInfo")) - $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.encode(message.finishedVoteInfo, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified ContestedResourceContenders message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.verify|verify} messages. - * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders - * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.IContestedResourceContenders} message ContestedResourceContenders message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ContestedResourceContenders.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a ContestedResourceContenders message from the specified reader or buffer. - * @function decode - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders - * @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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders} ContestedResourceContenders - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ContestedResourceContenders.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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (!(message.contenders && message.contenders.length)) - message.contenders = []; - message.contenders.push($root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.decode(reader, reader.uint32())); - break; - case 2: - message.abstainVoteTally = reader.uint32(); - break; - case 3: - message.lockVoteTally = reader.uint32(); - break; - case 4: - message.finishedVoteInfo = $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a ContestedResourceContenders message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders} ContestedResourceContenders - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ContestedResourceContenders.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a ContestedResourceContenders message. - * @function verify - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - ContestedResourceContenders.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.contenders != null && message.hasOwnProperty("contenders")) { - if (!Array.isArray(message.contenders)) - return "contenders: array expected"; - for (var i = 0; i < message.contenders.length; ++i) { - var error = $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.verify(message.contenders[i]); - if (error) - return "contenders." + error; - } - } - if (message.abstainVoteTally != null && message.hasOwnProperty("abstainVoteTally")) - if (!$util.isInteger(message.abstainVoteTally)) - return "abstainVoteTally: integer expected"; - if (message.lockVoteTally != null && message.hasOwnProperty("lockVoteTally")) - if (!$util.isInteger(message.lockVoteTally)) - return "lockVoteTally: integer expected"; - if (message.finishedVoteInfo != null && message.hasOwnProperty("finishedVoteInfo")) { - var error = $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.verify(message.finishedVoteInfo); - if (error) - return "finishedVoteInfo." + error; - } - return null; - }; - - /** - * Creates a ContestedResourceContenders message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders - * @static - * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders} ContestedResourceContenders - */ - ContestedResourceContenders.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders) - return object; - var message = new $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders(); - if (object.contenders) { - if (!Array.isArray(object.contenders)) - throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.contenders: array expected"); - message.contenders = []; - for (var i = 0; i < object.contenders.length; ++i) { - if (typeof object.contenders[i] !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.contenders: object expected"); - message.contenders[i] = $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.fromObject(object.contenders[i]); - } - } - if (object.abstainVoteTally != null) - message.abstainVoteTally = object.abstainVoteTally >>> 0; - if (object.lockVoteTally != null) - message.lockVoteTally = object.lockVoteTally >>> 0; - if (object.finishedVoteInfo != null) { - if (typeof object.finishedVoteInfo !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.finishedVoteInfo: object expected"); - message.finishedVoteInfo = $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.fromObject(object.finishedVoteInfo); - } - return message; - }; - - /** - * Creates a plain object from a ContestedResourceContenders message. Also converts values to other types if specified. - * @function toObject - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders - * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders} message ContestedResourceContenders - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - ContestedResourceContenders.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.arrays || options.defaults) - object.contenders = []; - if (options.defaults) { - object.abstainVoteTally = 0; - object.lockVoteTally = 0; - object.finishedVoteInfo = null; - } - if (message.contenders && message.contenders.length) { - object.contenders = []; - for (var j = 0; j < message.contenders.length; ++j) - object.contenders[j] = $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.toObject(message.contenders[j], options); - } - if (message.abstainVoteTally != null && message.hasOwnProperty("abstainVoteTally")) - object.abstainVoteTally = message.abstainVoteTally; - if (message.lockVoteTally != null && message.hasOwnProperty("lockVoteTally")) - object.lockVoteTally = message.lockVoteTally; - if (message.finishedVoteInfo != null && message.hasOwnProperty("finishedVoteInfo")) - object.finishedVoteInfo = $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.toObject(message.finishedVoteInfo, options); - return object; - }; - - /** - * Converts this ContestedResourceContenders to JSON. - * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders - * @instance - * @returns {Object.} JSON object - */ - ContestedResourceContenders.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return ContestedResourceContenders; - })(); - - GetContestedResourceVoteStateResponseV0.Contender = (function() { - - /** - * Properties of a Contender. - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0 - * @interface IContender - * @property {Uint8Array|null} [identifier] Contender identifier - * @property {number|null} [voteCount] Contender voteCount - * @property {Uint8Array|null} [document] Contender document - */ - - /** - * Constructs a new Contender. - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0 - * @classdesc Represents a Contender. - * @implements IContender - * @constructor - * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.IContender=} [properties] Properties to set - */ - function Contender(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]]; - } - - /** - * Contender identifier. - * @member {Uint8Array} identifier - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender - * @instance - */ - Contender.prototype.identifier = $util.newBuffer([]); - - /** - * Contender voteCount. - * @member {number} voteCount - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender - * @instance - */ - Contender.prototype.voteCount = 0; - - /** - * Contender document. - * @member {Uint8Array} document - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender - * @instance - */ - Contender.prototype.document = $util.newBuffer([]); - - /** - * Creates a new Contender instance using the specified properties. - * @function create - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender - * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.IContender=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender} Contender instance - */ - Contender.create = function create(properties) { - return new Contender(properties); - }; - - /** - * Encodes the specified Contender message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.verify|verify} messages. - * @function encode - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender - * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.IContender} message Contender message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Contender.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.voteCount != null && Object.hasOwnProperty.call(message, "voteCount")) - writer.uint32(/* id 2, wireType 0 =*/16).uint32(message.voteCount); - if (message.document != null && Object.hasOwnProperty.call(message, "document")) - writer.uint32(/* id 3, wireType 2 =*/26).bytes(message.document); - return writer; - }; - - /** - * Encodes the specified Contender message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.verify|verify} messages. - * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender - * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.IContender} message Contender message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Contender.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a Contender message from the specified reader or buffer. - * @function decode - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender - * @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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender} Contender - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Contender.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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.identifier = reader.bytes(); - break; - case 2: - message.voteCount = reader.uint32(); - break; - case 3: - message.document = reader.bytes(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a Contender message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender} Contender - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Contender.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a Contender message. - * @function verify - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Contender.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.voteCount != null && message.hasOwnProperty("voteCount")) - if (!$util.isInteger(message.voteCount)) - return "voteCount: integer expected"; - if (message.document != null && message.hasOwnProperty("document")) - if (!(message.document && typeof message.document.length === "number" || $util.isString(message.document))) - return "document: buffer expected"; - return null; - }; - - /** - * Creates a Contender message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender - * @static - * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender} Contender - */ - Contender.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender) - return object; - var message = new $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender(); - 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.voteCount != null) - message.voteCount = object.voteCount >>> 0; - if (object.document != null) - if (typeof object.document === "string") - $util.base64.decode(object.document, message.document = $util.newBuffer($util.base64.length(object.document)), 0); - else if (object.document.length >= 0) - message.document = object.document; - return message; - }; - - /** - * Creates a plain object from a Contender message. Also converts values to other types if specified. - * @function toObject - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender - * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender} message Contender - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Contender.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.voteCount = 0; - if (options.bytes === String) - object.document = ""; - else { - object.document = []; - if (options.bytes !== Array) - object.document = $util.newBuffer(object.document); - } - } - 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.voteCount != null && message.hasOwnProperty("voteCount")) - object.voteCount = message.voteCount; - if (message.document != null && message.hasOwnProperty("document")) - object.document = options.bytes === String ? $util.base64.encode(message.document, 0, message.document.length) : options.bytes === Array ? Array.prototype.slice.call(message.document) : message.document; - return object; - }; - - /** - * Converts this Contender to JSON. - * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender - * @instance - * @returns {Object.} JSON object - */ - Contender.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return Contender; - })(); - - return GetContestedResourceVoteStateResponseV0; - })(); - - return GetContestedResourceVoteStateResponse; - })(); - - v0.GetContestedResourceVotersForIdentityRequest = (function() { - - /** - * Properties of a GetContestedResourceVotersForIdentityRequest. - * @memberof org.dash.platform.dapi.v0 - * @interface IGetContestedResourceVotersForIdentityRequest - * @property {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.IGetContestedResourceVotersForIdentityRequestV0|null} [v0] GetContestedResourceVotersForIdentityRequest v0 - */ - - /** - * Constructs a new GetContestedResourceVotersForIdentityRequest. - * @memberof org.dash.platform.dapi.v0 - * @classdesc Represents a GetContestedResourceVotersForIdentityRequest. - * @implements IGetContestedResourceVotersForIdentityRequest - * @constructor - * @param {org.dash.platform.dapi.v0.IGetContestedResourceVotersForIdentityRequest=} [properties] Properties to set - */ - function GetContestedResourceVotersForIdentityRequest(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]]; - } - - /** - * GetContestedResourceVotersForIdentityRequest v0. - * @member {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.IGetContestedResourceVotersForIdentityRequestV0|null|undefined} v0 - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest - * @instance - */ - GetContestedResourceVotersForIdentityRequest.prototype.v0 = null; - - // OneOf field names bound to virtual getters and setters - var $oneOfFields; - - /** - * GetContestedResourceVotersForIdentityRequest version. - * @member {"v0"|undefined} version - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest - * @instance - */ - Object.defineProperty(GetContestedResourceVotersForIdentityRequest.prototype, "version", { - get: $util.oneOfGetter($oneOfFields = ["v0"]), - set: $util.oneOfSetter($oneOfFields) - }); + /** + * GetVotePollsByEndDateRequest version. + * @member {"v0"|undefined} version + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest + * @instance + */ + Object.defineProperty(GetVotePollsByEndDateRequest.prototype, "version", { + get: $util.oneOfGetter($oneOfFields = ["v0"]), + set: $util.oneOfSetter($oneOfFields) + }); /** - * Creates a new GetContestedResourceVotersForIdentityRequest instance using the specified properties. + * Creates a new GetVotePollsByEndDateRequest instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest * @static - * @param {org.dash.platform.dapi.v0.IGetContestedResourceVotersForIdentityRequest=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest} GetContestedResourceVotersForIdentityRequest instance + * @param {org.dash.platform.dapi.v0.IGetVotePollsByEndDateRequest=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest} GetVotePollsByEndDateRequest instance */ - GetContestedResourceVotersForIdentityRequest.create = function create(properties) { - return new GetContestedResourceVotersForIdentityRequest(properties); + GetVotePollsByEndDateRequest.create = function create(properties) { + return new GetVotePollsByEndDateRequest(properties); }; /** - * Encodes the specified GetContestedResourceVotersForIdentityRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.verify|verify} messages. + * Encodes the specified GetVotePollsByEndDateRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest * @static - * @param {org.dash.platform.dapi.v0.IGetContestedResourceVotersForIdentityRequest} message GetContestedResourceVotersForIdentityRequest message or plain object to encode + * @param {org.dash.platform.dapi.v0.IGetVotePollsByEndDateRequest} message GetVotePollsByEndDateRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetContestedResourceVotersForIdentityRequest.encode = function encode(message, writer) { + GetVotePollsByEndDateRequest.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.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified GetContestedResourceVotersForIdentityRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.verify|verify} messages. + * Encodes the specified GetVotePollsByEndDateRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest * @static - * @param {org.dash.platform.dapi.v0.IGetContestedResourceVotersForIdentityRequest} message GetContestedResourceVotersForIdentityRequest message or plain object to encode + * @param {org.dash.platform.dapi.v0.IGetVotePollsByEndDateRequest} message GetVotePollsByEndDateRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetContestedResourceVotersForIdentityRequest.encodeDelimited = function encodeDelimited(message, writer) { + GetVotePollsByEndDateRequest.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetContestedResourceVotersForIdentityRequest message from the specified reader or buffer. + * Decodes a GetVotePollsByEndDateRequest message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest * @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.GetContestedResourceVotersForIdentityRequest} GetContestedResourceVotersForIdentityRequest + * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest} GetVotePollsByEndDateRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetContestedResourceVotersForIdentityRequest.decode = function decode(reader, length) { + GetVotePollsByEndDateRequest.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.GetContestedResourceVotersForIdentityRequest(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.v0 = $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.decode(reader, reader.uint32()); + message.v0 = $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -33641,37 +32937,37 @@ $root.org = (function() { }; /** - * Decodes a GetContestedResourceVotersForIdentityRequest message from the specified reader or buffer, length delimited. + * Decodes a GetVotePollsByEndDateRequest message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest} GetContestedResourceVotersForIdentityRequest + * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest} GetVotePollsByEndDateRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetContestedResourceVotersForIdentityRequest.decodeDelimited = function decodeDelimited(reader) { + GetVotePollsByEndDateRequest.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GetContestedResourceVotersForIdentityRequest message. + * Verifies a GetVotePollsByEndDateRequest message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetContestedResourceVotersForIdentityRequest.verify = function verify(message) { + GetVotePollsByEndDateRequest.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.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.verify(message.v0); + var error = $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.verify(message.v0); if (error) return "v0." + error; } @@ -33680,40 +32976,40 @@ $root.org = (function() { }; /** - * Creates a GetContestedResourceVotersForIdentityRequest message from a plain object. Also converts values to their respective internal types. + * Creates a GetVotePollsByEndDateRequest message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest} GetContestedResourceVotersForIdentityRequest + * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest} GetVotePollsByEndDateRequest */ - GetContestedResourceVotersForIdentityRequest.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest) + GetVotePollsByEndDateRequest.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest) return object; - var message = new $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest(); + var message = new $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest(); if (object.v0 != null) { if (typeof object.v0 !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.v0: object expected"); - message.v0 = $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.fromObject(object.v0); + throw TypeError(".org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.v0: object expected"); + message.v0 = $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.fromObject(object.v0); } return message; }; /** - * Creates a plain object from a GetContestedResourceVotersForIdentityRequest message. Also converts values to other types if specified. + * Creates a plain object from a GetVotePollsByEndDateRequest message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest} message GetContestedResourceVotersForIdentityRequest + * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest} message GetVotePollsByEndDateRequest * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetContestedResourceVotersForIdentityRequest.toObject = function toObject(message, options) { + GetVotePollsByEndDateRequest.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.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.toObject(message.v0, options); + object.v0 = $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.toObject(message.v0, options); if (options.oneofs) object.version = "v0"; } @@ -33721,43 +33017,39 @@ $root.org = (function() { }; /** - * Converts this GetContestedResourceVotersForIdentityRequest to JSON. + * Converts this GetVotePollsByEndDateRequest to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest * @instance * @returns {Object.} JSON object */ - GetContestedResourceVotersForIdentityRequest.prototype.toJSON = function toJSON() { + GetVotePollsByEndDateRequest.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0 = (function() { + GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0 = (function() { /** - * Properties of a GetContestedResourceVotersForIdentityRequestV0. - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest - * @interface IGetContestedResourceVotersForIdentityRequestV0 - * @property {Uint8Array|null} [contractId] GetContestedResourceVotersForIdentityRequestV0 contractId - * @property {string|null} [documentTypeName] GetContestedResourceVotersForIdentityRequestV0 documentTypeName - * @property {string|null} [indexName] GetContestedResourceVotersForIdentityRequestV0 indexName - * @property {Array.|null} [indexValues] GetContestedResourceVotersForIdentityRequestV0 indexValues - * @property {Uint8Array|null} [contestantId] GetContestedResourceVotersForIdentityRequestV0 contestantId - * @property {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.IStartAtIdentifierInfo|null} [startAtIdentifierInfo] GetContestedResourceVotersForIdentityRequestV0 startAtIdentifierInfo - * @property {number|null} [count] GetContestedResourceVotersForIdentityRequestV0 count - * @property {boolean|null} [orderAscending] GetContestedResourceVotersForIdentityRequestV0 orderAscending - * @property {boolean|null} [prove] GetContestedResourceVotersForIdentityRequestV0 prove + * Properties of a GetVotePollsByEndDateRequestV0. + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest + * @interface IGetVotePollsByEndDateRequestV0 + * @property {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.IStartAtTimeInfo|null} [startTimeInfo] GetVotePollsByEndDateRequestV0 startTimeInfo + * @property {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.IEndAtTimeInfo|null} [endTimeInfo] GetVotePollsByEndDateRequestV0 endTimeInfo + * @property {number|null} [limit] GetVotePollsByEndDateRequestV0 limit + * @property {number|null} [offset] GetVotePollsByEndDateRequestV0 offset + * @property {boolean|null} [ascending] GetVotePollsByEndDateRequestV0 ascending + * @property {boolean|null} [prove] GetVotePollsByEndDateRequestV0 prove */ /** - * Constructs a new GetContestedResourceVotersForIdentityRequestV0. - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest - * @classdesc Represents a GetContestedResourceVotersForIdentityRequestV0. - * @implements IGetContestedResourceVotersForIdentityRequestV0 + * Constructs a new GetVotePollsByEndDateRequestV0. + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest + * @classdesc Represents a GetVotePollsByEndDateRequestV0. + * @implements IGetVotePollsByEndDateRequestV0 * @constructor - * @param {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.IGetContestedResourceVotersForIdentityRequestV0=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.IGetVotePollsByEndDateRequestV0=} [properties] Properties to set */ - function GetContestedResourceVotersForIdentityRequestV0(properties) { - this.indexValues = []; + function GetVotePollsByEndDateRequestV0(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -33765,181 +33057,139 @@ $root.org = (function() { } /** - * GetContestedResourceVotersForIdentityRequestV0 contractId. - * @member {Uint8Array} contractId - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0 - * @instance - */ - GetContestedResourceVotersForIdentityRequestV0.prototype.contractId = $util.newBuffer([]); - - /** - * GetContestedResourceVotersForIdentityRequestV0 documentTypeName. - * @member {string} documentTypeName - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0 - * @instance - */ - GetContestedResourceVotersForIdentityRequestV0.prototype.documentTypeName = ""; - - /** - * GetContestedResourceVotersForIdentityRequestV0 indexName. - * @member {string} indexName - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0 - * @instance - */ - GetContestedResourceVotersForIdentityRequestV0.prototype.indexName = ""; - - /** - * GetContestedResourceVotersForIdentityRequestV0 indexValues. - * @member {Array.} indexValues - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0 + * GetVotePollsByEndDateRequestV0 startTimeInfo. + * @member {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.IStartAtTimeInfo|null|undefined} startTimeInfo + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0 * @instance */ - GetContestedResourceVotersForIdentityRequestV0.prototype.indexValues = $util.emptyArray; + GetVotePollsByEndDateRequestV0.prototype.startTimeInfo = null; /** - * GetContestedResourceVotersForIdentityRequestV0 contestantId. - * @member {Uint8Array} contestantId - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0 + * GetVotePollsByEndDateRequestV0 endTimeInfo. + * @member {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.IEndAtTimeInfo|null|undefined} endTimeInfo + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0 * @instance */ - GetContestedResourceVotersForIdentityRequestV0.prototype.contestantId = $util.newBuffer([]); + GetVotePollsByEndDateRequestV0.prototype.endTimeInfo = null; /** - * GetContestedResourceVotersForIdentityRequestV0 startAtIdentifierInfo. - * @member {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.IStartAtIdentifierInfo|null|undefined} startAtIdentifierInfo - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0 + * GetVotePollsByEndDateRequestV0 limit. + * @member {number} limit + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0 * @instance */ - GetContestedResourceVotersForIdentityRequestV0.prototype.startAtIdentifierInfo = null; + GetVotePollsByEndDateRequestV0.prototype.limit = 0; /** - * GetContestedResourceVotersForIdentityRequestV0 count. - * @member {number} count - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0 + * GetVotePollsByEndDateRequestV0 offset. + * @member {number} offset + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0 * @instance */ - GetContestedResourceVotersForIdentityRequestV0.prototype.count = 0; + GetVotePollsByEndDateRequestV0.prototype.offset = 0; /** - * GetContestedResourceVotersForIdentityRequestV0 orderAscending. - * @member {boolean} orderAscending - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0 + * GetVotePollsByEndDateRequestV0 ascending. + * @member {boolean} ascending + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0 * @instance */ - GetContestedResourceVotersForIdentityRequestV0.prototype.orderAscending = false; + GetVotePollsByEndDateRequestV0.prototype.ascending = false; /** - * GetContestedResourceVotersForIdentityRequestV0 prove. + * GetVotePollsByEndDateRequestV0 prove. * @member {boolean} prove - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0 + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0 * @instance */ - GetContestedResourceVotersForIdentityRequestV0.prototype.prove = false; + GetVotePollsByEndDateRequestV0.prototype.prove = false; /** - * Creates a new GetContestedResourceVotersForIdentityRequestV0 instance using the specified properties. + * Creates a new GetVotePollsByEndDateRequestV0 instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0 + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.IGetContestedResourceVotersForIdentityRequestV0=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} GetContestedResourceVotersForIdentityRequestV0 instance + * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.IGetVotePollsByEndDateRequestV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0} GetVotePollsByEndDateRequestV0 instance */ - GetContestedResourceVotersForIdentityRequestV0.create = function create(properties) { - return new GetContestedResourceVotersForIdentityRequestV0(properties); + GetVotePollsByEndDateRequestV0.create = function create(properties) { + return new GetVotePollsByEndDateRequestV0(properties); }; /** - * Encodes the specified GetContestedResourceVotersForIdentityRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.verify|verify} messages. + * Encodes the specified GetVotePollsByEndDateRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0 + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.IGetContestedResourceVotersForIdentityRequestV0} message GetContestedResourceVotersForIdentityRequestV0 message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.IGetVotePollsByEndDateRequestV0} message GetVotePollsByEndDateRequestV0 message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetContestedResourceVotersForIdentityRequestV0.encode = function encode(message, writer) { + GetVotePollsByEndDateRequestV0.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.documentTypeName != null && Object.hasOwnProperty.call(message, "documentTypeName")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.documentTypeName); - if (message.indexName != null && Object.hasOwnProperty.call(message, "indexName")) - writer.uint32(/* id 3, wireType 2 =*/26).string(message.indexName); - if (message.indexValues != null && message.indexValues.length) - for (var i = 0; i < message.indexValues.length; ++i) - writer.uint32(/* id 4, wireType 2 =*/34).bytes(message.indexValues[i]); - if (message.contestantId != null && Object.hasOwnProperty.call(message, "contestantId")) - writer.uint32(/* id 5, wireType 2 =*/42).bytes(message.contestantId); - if (message.startAtIdentifierInfo != null && Object.hasOwnProperty.call(message, "startAtIdentifierInfo")) - $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.encode(message.startAtIdentifierInfo, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); - if (message.count != null && Object.hasOwnProperty.call(message, "count")) - writer.uint32(/* id 7, wireType 0 =*/56).uint32(message.count); - if (message.orderAscending != null && Object.hasOwnProperty.call(message, "orderAscending")) - writer.uint32(/* id 8, wireType 0 =*/64).bool(message.orderAscending); + if (message.startTimeInfo != null && Object.hasOwnProperty.call(message, "startTimeInfo")) + $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.encode(message.startTimeInfo, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.endTimeInfo != null && Object.hasOwnProperty.call(message, "endTimeInfo")) + $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.encode(message.endTimeInfo, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.limit != null && Object.hasOwnProperty.call(message, "limit")) + writer.uint32(/* id 3, wireType 0 =*/24).uint32(message.limit); + if (message.offset != null && Object.hasOwnProperty.call(message, "offset")) + writer.uint32(/* id 4, wireType 0 =*/32).uint32(message.offset); + if (message.ascending != null && Object.hasOwnProperty.call(message, "ascending")) + writer.uint32(/* id 5, wireType 0 =*/40).bool(message.ascending); if (message.prove != null && Object.hasOwnProperty.call(message, "prove")) - writer.uint32(/* id 9, wireType 0 =*/72).bool(message.prove); + writer.uint32(/* id 6, wireType 0 =*/48).bool(message.prove); return writer; }; /** - * Encodes the specified GetContestedResourceVotersForIdentityRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.verify|verify} messages. + * Encodes the specified GetVotePollsByEndDateRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0 + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.IGetContestedResourceVotersForIdentityRequestV0} message GetContestedResourceVotersForIdentityRequestV0 message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.IGetVotePollsByEndDateRequestV0} message GetVotePollsByEndDateRequestV0 message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetContestedResourceVotersForIdentityRequestV0.encodeDelimited = function encodeDelimited(message, writer) { + GetVotePollsByEndDateRequestV0.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetContestedResourceVotersForIdentityRequestV0 message from the specified reader or buffer. + * Decodes a GetVotePollsByEndDateRequestV0 message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0 + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0 * @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.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} GetContestedResourceVotersForIdentityRequestV0 + * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0} GetVotePollsByEndDateRequestV0 * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetContestedResourceVotersForIdentityRequestV0.decode = function decode(reader, length) { + GetVotePollsByEndDateRequestV0.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.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.contractId = reader.bytes(); + message.startTimeInfo = $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.decode(reader, reader.uint32()); break; case 2: - message.documentTypeName = reader.string(); + message.endTimeInfo = $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.decode(reader, reader.uint32()); break; case 3: - message.indexName = reader.string(); + message.limit = reader.uint32(); break; case 4: - if (!(message.indexValues && message.indexValues.length)) - message.indexValues = []; - message.indexValues.push(reader.bytes()); + message.offset = reader.uint32(); break; case 5: - message.contestantId = reader.bytes(); + message.ascending = reader.bool(); break; case 6: - message.startAtIdentifierInfo = $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.decode(reader, reader.uint32()); - break; - case 7: - message.count = reader.uint32(); - break; - case 8: - message.orderAscending = reader.bool(); - break; - case 9: message.prove = reader.bool(); break; default: @@ -33951,62 +33201,51 @@ $root.org = (function() { }; /** - * Decodes a GetContestedResourceVotersForIdentityRequestV0 message from the specified reader or buffer, length delimited. + * Decodes a GetVotePollsByEndDateRequestV0 message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0 + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0 * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} GetContestedResourceVotersForIdentityRequestV0 + * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0} GetVotePollsByEndDateRequestV0 * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetContestedResourceVotersForIdentityRequestV0.decodeDelimited = function decodeDelimited(reader) { + GetVotePollsByEndDateRequestV0.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GetContestedResourceVotersForIdentityRequestV0 message. + * Verifies a GetVotePollsByEndDateRequestV0 message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0 + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0 * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetContestedResourceVotersForIdentityRequestV0.verify = function verify(message) { + GetVotePollsByEndDateRequestV0.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.documentTypeName != null && message.hasOwnProperty("documentTypeName")) - if (!$util.isString(message.documentTypeName)) - return "documentTypeName: string expected"; - if (message.indexName != null && message.hasOwnProperty("indexName")) - if (!$util.isString(message.indexName)) - return "indexName: string expected"; - if (message.indexValues != null && message.hasOwnProperty("indexValues")) { - if (!Array.isArray(message.indexValues)) - return "indexValues: array expected"; - for (var i = 0; i < message.indexValues.length; ++i) - if (!(message.indexValues[i] && typeof message.indexValues[i].length === "number" || $util.isString(message.indexValues[i]))) - return "indexValues: buffer[] expected"; + if (message.startTimeInfo != null && message.hasOwnProperty("startTimeInfo")) { + var error = $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.verify(message.startTimeInfo); + if (error) + return "startTimeInfo." + error; } - if (message.contestantId != null && message.hasOwnProperty("contestantId")) - if (!(message.contestantId && typeof message.contestantId.length === "number" || $util.isString(message.contestantId))) - return "contestantId: buffer expected"; - if (message.startAtIdentifierInfo != null && message.hasOwnProperty("startAtIdentifierInfo")) { - var error = $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.verify(message.startAtIdentifierInfo); + if (message.endTimeInfo != null && message.hasOwnProperty("endTimeInfo")) { + var error = $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.verify(message.endTimeInfo); if (error) - return "startAtIdentifierInfo." + error; + return "endTimeInfo." + error; } - if (message.count != null && message.hasOwnProperty("count")) - if (!$util.isInteger(message.count)) - return "count: integer expected"; - if (message.orderAscending != null && message.hasOwnProperty("orderAscending")) - if (typeof message.orderAscending !== "boolean") - return "orderAscending: boolean expected"; + if (message.limit != null && message.hasOwnProperty("limit")) + if (!$util.isInteger(message.limit)) + return "limit: integer expected"; + if (message.offset != null && message.hasOwnProperty("offset")) + if (!$util.isInteger(message.offset)) + return "offset: 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"; @@ -34014,146 +33253,104 @@ $root.org = (function() { }; /** - * Creates a GetContestedResourceVotersForIdentityRequestV0 message from a plain object. Also converts values to their respective internal types. + * Creates a GetVotePollsByEndDateRequestV0 message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0 + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0 * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} GetContestedResourceVotersForIdentityRequestV0 + * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0} GetVotePollsByEndDateRequestV0 */ - GetContestedResourceVotersForIdentityRequestV0.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0) + GetVotePollsByEndDateRequestV0.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0) return object; - var message = new $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0(); - 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.documentTypeName != null) - message.documentTypeName = String(object.documentTypeName); - if (object.indexName != null) - message.indexName = String(object.indexName); - if (object.indexValues) { - if (!Array.isArray(object.indexValues)) - throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.indexValues: array expected"); - message.indexValues = []; - for (var i = 0; i < object.indexValues.length; ++i) - if (typeof object.indexValues[i] === "string") - $util.base64.decode(object.indexValues[i], message.indexValues[i] = $util.newBuffer($util.base64.length(object.indexValues[i])), 0); - else if (object.indexValues[i].length >= 0) - message.indexValues[i] = object.indexValues[i]; + var message = new $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0(); + if (object.startTimeInfo != null) { + if (typeof object.startTimeInfo !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.startTimeInfo: object expected"); + message.startTimeInfo = $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.fromObject(object.startTimeInfo); } - if (object.contestantId != null) - if (typeof object.contestantId === "string") - $util.base64.decode(object.contestantId, message.contestantId = $util.newBuffer($util.base64.length(object.contestantId)), 0); - else if (object.contestantId.length >= 0) - message.contestantId = object.contestantId; - if (object.startAtIdentifierInfo != null) { - if (typeof object.startAtIdentifierInfo !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.startAtIdentifierInfo: object expected"); - message.startAtIdentifierInfo = $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.fromObject(object.startAtIdentifierInfo); + if (object.endTimeInfo != null) { + if (typeof object.endTimeInfo !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.endTimeInfo: object expected"); + message.endTimeInfo = $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.fromObject(object.endTimeInfo); } - if (object.count != null) - message.count = object.count >>> 0; - if (object.orderAscending != null) - message.orderAscending = Boolean(object.orderAscending); + if (object.limit != null) + message.limit = object.limit >>> 0; + if (object.offset != null) + message.offset = object.offset >>> 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 GetContestedResourceVotersForIdentityRequestV0 message. Also converts values to other types if specified. + * Creates a plain object from a GetVotePollsByEndDateRequestV0 message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0 + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} message GetContestedResourceVotersForIdentityRequestV0 + * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0} message GetVotePollsByEndDateRequestV0 * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetContestedResourceVotersForIdentityRequestV0.toObject = function toObject(message, options) { + GetVotePollsByEndDateRequestV0.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.arrays || options.defaults) - object.indexValues = []; if (options.defaults) { - if (options.bytes === String) - object.contractId = ""; - else { - object.contractId = []; - if (options.bytes !== Array) - object.contractId = $util.newBuffer(object.contractId); - } - object.documentTypeName = ""; - object.indexName = ""; - if (options.bytes === String) - object.contestantId = ""; - else { - object.contestantId = []; - if (options.bytes !== Array) - object.contestantId = $util.newBuffer(object.contestantId); - } - object.startAtIdentifierInfo = null; - object.count = 0; - object.orderAscending = false; + object.startTimeInfo = null; + object.endTimeInfo = null; + object.limit = 0; + object.offset = 0; + object.ascending = false; object.prove = false; } - 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.documentTypeName != null && message.hasOwnProperty("documentTypeName")) - object.documentTypeName = message.documentTypeName; - if (message.indexName != null && message.hasOwnProperty("indexName")) - object.indexName = message.indexName; - if (message.indexValues && message.indexValues.length) { - object.indexValues = []; - for (var j = 0; j < message.indexValues.length; ++j) - object.indexValues[j] = options.bytes === String ? $util.base64.encode(message.indexValues[j], 0, message.indexValues[j].length) : options.bytes === Array ? Array.prototype.slice.call(message.indexValues[j]) : message.indexValues[j]; - } - if (message.contestantId != null && message.hasOwnProperty("contestantId")) - object.contestantId = options.bytes === String ? $util.base64.encode(message.contestantId, 0, message.contestantId.length) : options.bytes === Array ? Array.prototype.slice.call(message.contestantId) : message.contestantId; - if (message.startAtIdentifierInfo != null && message.hasOwnProperty("startAtIdentifierInfo")) - object.startAtIdentifierInfo = $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.toObject(message.startAtIdentifierInfo, options); - if (message.count != null && message.hasOwnProperty("count")) - object.count = message.count; - if (message.orderAscending != null && message.hasOwnProperty("orderAscending")) - object.orderAscending = message.orderAscending; + if (message.startTimeInfo != null && message.hasOwnProperty("startTimeInfo")) + object.startTimeInfo = $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.toObject(message.startTimeInfo, options); + if (message.endTimeInfo != null && message.hasOwnProperty("endTimeInfo")) + object.endTimeInfo = $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.toObject(message.endTimeInfo, options); + if (message.limit != null && message.hasOwnProperty("limit")) + object.limit = message.limit; + if (message.offset != null && message.hasOwnProperty("offset")) + object.offset = message.offset; + 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 GetContestedResourceVotersForIdentityRequestV0 to JSON. + * Converts this GetVotePollsByEndDateRequestV0 to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0 + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0 * @instance * @returns {Object.} JSON object */ - GetContestedResourceVotersForIdentityRequestV0.prototype.toJSON = function toJSON() { + GetVotePollsByEndDateRequestV0.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo = (function() { + GetVotePollsByEndDateRequestV0.StartAtTimeInfo = (function() { /** - * Properties of a StartAtIdentifierInfo. - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0 - * @interface IStartAtIdentifierInfo - * @property {Uint8Array|null} [startIdentifier] StartAtIdentifierInfo startIdentifier - * @property {boolean|null} [startIdentifierIncluded] StartAtIdentifierInfo startIdentifierIncluded + * Properties of a StartAtTimeInfo. + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0 + * @interface IStartAtTimeInfo + * @property {number|Long|null} [startTimeMs] StartAtTimeInfo startTimeMs + * @property {boolean|null} [startTimeIncluded] StartAtTimeInfo startTimeIncluded */ /** - * Constructs a new StartAtIdentifierInfo. - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0 - * @classdesc Represents a StartAtIdentifierInfo. - * @implements IStartAtIdentifierInfo + * Constructs a new StartAtTimeInfo. + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0 + * @classdesc Represents a StartAtTimeInfo. + * @implements IStartAtTimeInfo * @constructor - * @param {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.IStartAtIdentifierInfo=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.IStartAtTimeInfo=} [properties] Properties to set */ - function StartAtIdentifierInfo(properties) { + function StartAtTimeInfo(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -34161,88 +33358,88 @@ $root.org = (function() { } /** - * StartAtIdentifierInfo startIdentifier. - * @member {Uint8Array} startIdentifier - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo + * StartAtTimeInfo startTimeMs. + * @member {number|Long} startTimeMs + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo * @instance */ - StartAtIdentifierInfo.prototype.startIdentifier = $util.newBuffer([]); + StartAtTimeInfo.prototype.startTimeMs = $util.Long ? $util.Long.fromBits(0,0,true) : 0; /** - * StartAtIdentifierInfo startIdentifierIncluded. - * @member {boolean} startIdentifierIncluded - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo + * StartAtTimeInfo startTimeIncluded. + * @member {boolean} startTimeIncluded + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo * @instance */ - StartAtIdentifierInfo.prototype.startIdentifierIncluded = false; + StartAtTimeInfo.prototype.startTimeIncluded = false; /** - * Creates a new StartAtIdentifierInfo instance using the specified properties. + * Creates a new StartAtTimeInfo instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.IStartAtIdentifierInfo=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo} StartAtIdentifierInfo instance + * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.IStartAtTimeInfo=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo} StartAtTimeInfo instance */ - StartAtIdentifierInfo.create = function create(properties) { - return new StartAtIdentifierInfo(properties); + StartAtTimeInfo.create = function create(properties) { + return new StartAtTimeInfo(properties); }; /** - * Encodes the specified StartAtIdentifierInfo message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.verify|verify} messages. + * Encodes the specified StartAtTimeInfo message. Does not implicitly {@link org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.IStartAtIdentifierInfo} message StartAtIdentifierInfo message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.IStartAtTimeInfo} message StartAtTimeInfo message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - StartAtIdentifierInfo.encode = function encode(message, writer) { + StartAtTimeInfo.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.startIdentifier != null && Object.hasOwnProperty.call(message, "startIdentifier")) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.startIdentifier); - if (message.startIdentifierIncluded != null && Object.hasOwnProperty.call(message, "startIdentifierIncluded")) - writer.uint32(/* id 2, wireType 0 =*/16).bool(message.startIdentifierIncluded); + if (message.startTimeMs != null && Object.hasOwnProperty.call(message, "startTimeMs")) + writer.uint32(/* id 1, wireType 0 =*/8).uint64(message.startTimeMs); + if (message.startTimeIncluded != null && Object.hasOwnProperty.call(message, "startTimeIncluded")) + writer.uint32(/* id 2, wireType 0 =*/16).bool(message.startTimeIncluded); return writer; }; /** - * Encodes the specified StartAtIdentifierInfo message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.verify|verify} messages. + * Encodes the specified StartAtTimeInfo message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.IStartAtIdentifierInfo} message StartAtIdentifierInfo message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.IStartAtTimeInfo} message StartAtTimeInfo message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - StartAtIdentifierInfo.encodeDelimited = function encodeDelimited(message, writer) { + StartAtTimeInfo.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a StartAtIdentifierInfo message from the specified reader or buffer. + * Decodes a StartAtTimeInfo message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo * @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.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo} StartAtIdentifierInfo + * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo} StartAtTimeInfo * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - StartAtIdentifierInfo.decode = function decode(reader, length) { + StartAtTimeInfo.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.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.startIdentifier = reader.bytes(); + message.startTimeMs = reader.uint64(); break; case 2: - message.startIdentifierIncluded = reader.bool(); + message.startTimeIncluded = reader.bool(); break; default: reader.skipType(tag & 7); @@ -34253,131 +33450,360 @@ $root.org = (function() { }; /** - * Decodes a StartAtIdentifierInfo message from the specified reader or buffer, length delimited. + * Decodes a StartAtTimeInfo message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo} StartAtIdentifierInfo + * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo} StartAtTimeInfo * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - StartAtIdentifierInfo.decodeDelimited = function decodeDelimited(reader) { + StartAtTimeInfo.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a StartAtIdentifierInfo message. + * Verifies a StartAtTimeInfo message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - StartAtIdentifierInfo.verify = function verify(message) { + StartAtTimeInfo.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.startIdentifier != null && message.hasOwnProperty("startIdentifier")) - if (!(message.startIdentifier && typeof message.startIdentifier.length === "number" || $util.isString(message.startIdentifier))) - return "startIdentifier: buffer expected"; - if (message.startIdentifierIncluded != null && message.hasOwnProperty("startIdentifierIncluded")) - if (typeof message.startIdentifierIncluded !== "boolean") - return "startIdentifierIncluded: boolean expected"; + if (message.startTimeMs != null && message.hasOwnProperty("startTimeMs")) + if (!$util.isInteger(message.startTimeMs) && !(message.startTimeMs && $util.isInteger(message.startTimeMs.low) && $util.isInteger(message.startTimeMs.high))) + return "startTimeMs: integer|Long expected"; + if (message.startTimeIncluded != null && message.hasOwnProperty("startTimeIncluded")) + if (typeof message.startTimeIncluded !== "boolean") + return "startTimeIncluded: boolean expected"; return null; }; /** - * Creates a StartAtIdentifierInfo message from a plain object. Also converts values to their respective internal types. + * Creates a StartAtTimeInfo message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo} StartAtIdentifierInfo + * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo} StartAtTimeInfo */ - StartAtIdentifierInfo.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo) + StartAtTimeInfo.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo) return object; - var message = new $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo(); - if (object.startIdentifier != null) - if (typeof object.startIdentifier === "string") - $util.base64.decode(object.startIdentifier, message.startIdentifier = $util.newBuffer($util.base64.length(object.startIdentifier)), 0); - else if (object.startIdentifier.length >= 0) - message.startIdentifier = object.startIdentifier; - if (object.startIdentifierIncluded != null) - message.startIdentifierIncluded = Boolean(object.startIdentifierIncluded); + var message = new $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo(); + if (object.startTimeMs != null) + if ($util.Long) + (message.startTimeMs = $util.Long.fromValue(object.startTimeMs)).unsigned = true; + else if (typeof object.startTimeMs === "string") + message.startTimeMs = parseInt(object.startTimeMs, 10); + else if (typeof object.startTimeMs === "number") + message.startTimeMs = object.startTimeMs; + else if (typeof object.startTimeMs === "object") + message.startTimeMs = new $util.LongBits(object.startTimeMs.low >>> 0, object.startTimeMs.high >>> 0).toNumber(true); + if (object.startTimeIncluded != null) + message.startTimeIncluded = Boolean(object.startTimeIncluded); return message; }; /** - * Creates a plain object from a StartAtIdentifierInfo message. Also converts values to other types if specified. + * Creates a plain object from a StartAtTimeInfo message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo} message StartAtIdentifierInfo + * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo} message StartAtTimeInfo * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - StartAtIdentifierInfo.toObject = function toObject(message, options) { + StartAtTimeInfo.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { - if (options.bytes === String) - object.startIdentifier = ""; - else { - object.startIdentifier = []; - if (options.bytes !== Array) - object.startIdentifier = $util.newBuffer(object.startIdentifier); + if ($util.Long) { + var long = new $util.Long(0, 0, true); + object.startTimeMs = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.startTimeMs = options.longs === String ? "0" : 0; + object.startTimeIncluded = false; + } + if (message.startTimeMs != null && message.hasOwnProperty("startTimeMs")) + if (typeof message.startTimeMs === "number") + object.startTimeMs = options.longs === String ? String(message.startTimeMs) : message.startTimeMs; + else + object.startTimeMs = options.longs === String ? $util.Long.prototype.toString.call(message.startTimeMs) : options.longs === Number ? new $util.LongBits(message.startTimeMs.low >>> 0, message.startTimeMs.high >>> 0).toNumber(true) : message.startTimeMs; + if (message.startTimeIncluded != null && message.hasOwnProperty("startTimeIncluded")) + object.startTimeIncluded = message.startTimeIncluded; + return object; + }; + + /** + * Converts this StartAtTimeInfo to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo + * @instance + * @returns {Object.} JSON object + */ + StartAtTimeInfo.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return StartAtTimeInfo; + })(); + + GetVotePollsByEndDateRequestV0.EndAtTimeInfo = (function() { + + /** + * Properties of an EndAtTimeInfo. + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0 + * @interface IEndAtTimeInfo + * @property {number|Long|null} [endTimeMs] EndAtTimeInfo endTimeMs + * @property {boolean|null} [endTimeIncluded] EndAtTimeInfo endTimeIncluded + */ + + /** + * Constructs a new EndAtTimeInfo. + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0 + * @classdesc Represents an EndAtTimeInfo. + * @implements IEndAtTimeInfo + * @constructor + * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.IEndAtTimeInfo=} [properties] Properties to set + */ + function EndAtTimeInfo(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]]; + } + + /** + * EndAtTimeInfo endTimeMs. + * @member {number|Long} endTimeMs + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo + * @instance + */ + EndAtTimeInfo.prototype.endTimeMs = $util.Long ? $util.Long.fromBits(0,0,true) : 0; + + /** + * EndAtTimeInfo endTimeIncluded. + * @member {boolean} endTimeIncluded + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo + * @instance + */ + EndAtTimeInfo.prototype.endTimeIncluded = false; + + /** + * Creates a new EndAtTimeInfo instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo + * @static + * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.IEndAtTimeInfo=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo} EndAtTimeInfo instance + */ + EndAtTimeInfo.create = function create(properties) { + return new EndAtTimeInfo(properties); + }; + + /** + * Encodes the specified EndAtTimeInfo message. Does not implicitly {@link org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo + * @static + * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.IEndAtTimeInfo} message EndAtTimeInfo message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + EndAtTimeInfo.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.endTimeMs != null && Object.hasOwnProperty.call(message, "endTimeMs")) + writer.uint32(/* id 1, wireType 0 =*/8).uint64(message.endTimeMs); + if (message.endTimeIncluded != null && Object.hasOwnProperty.call(message, "endTimeIncluded")) + writer.uint32(/* id 2, wireType 0 =*/16).bool(message.endTimeIncluded); + return writer; + }; + + /** + * Encodes the specified EndAtTimeInfo message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo + * @static + * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.IEndAtTimeInfo} message EndAtTimeInfo message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + EndAtTimeInfo.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an EndAtTimeInfo message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo + * @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.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo} EndAtTimeInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + EndAtTimeInfo.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.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.endTimeMs = reader.uint64(); + break; + case 2: + message.endTimeIncluded = reader.bool(); + break; + default: + reader.skipType(tag & 7); + break; } - object.startIdentifierIncluded = false; } - if (message.startIdentifier != null && message.hasOwnProperty("startIdentifier")) - object.startIdentifier = options.bytes === String ? $util.base64.encode(message.startIdentifier, 0, message.startIdentifier.length) : options.bytes === Array ? Array.prototype.slice.call(message.startIdentifier) : message.startIdentifier; - if (message.startIdentifierIncluded != null && message.hasOwnProperty("startIdentifierIncluded")) - object.startIdentifierIncluded = message.startIdentifierIncluded; + return message; + }; + + /** + * Decodes an EndAtTimeInfo message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo} EndAtTimeInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + EndAtTimeInfo.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an EndAtTimeInfo message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + EndAtTimeInfo.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.endTimeMs != null && message.hasOwnProperty("endTimeMs")) + if (!$util.isInteger(message.endTimeMs) && !(message.endTimeMs && $util.isInteger(message.endTimeMs.low) && $util.isInteger(message.endTimeMs.high))) + return "endTimeMs: integer|Long expected"; + if (message.endTimeIncluded != null && message.hasOwnProperty("endTimeIncluded")) + if (typeof message.endTimeIncluded !== "boolean") + return "endTimeIncluded: boolean expected"; + return null; + }; + + /** + * Creates an EndAtTimeInfo message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo} EndAtTimeInfo + */ + EndAtTimeInfo.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo(); + if (object.endTimeMs != null) + if ($util.Long) + (message.endTimeMs = $util.Long.fromValue(object.endTimeMs)).unsigned = true; + else if (typeof object.endTimeMs === "string") + message.endTimeMs = parseInt(object.endTimeMs, 10); + else if (typeof object.endTimeMs === "number") + message.endTimeMs = object.endTimeMs; + else if (typeof object.endTimeMs === "object") + message.endTimeMs = new $util.LongBits(object.endTimeMs.low >>> 0, object.endTimeMs.high >>> 0).toNumber(true); + if (object.endTimeIncluded != null) + message.endTimeIncluded = Boolean(object.endTimeIncluded); + return message; + }; + + /** + * Creates a plain object from an EndAtTimeInfo message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo + * @static + * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo} message EndAtTimeInfo + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + EndAtTimeInfo.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.endTimeMs = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.endTimeMs = options.longs === String ? "0" : 0; + object.endTimeIncluded = false; + } + if (message.endTimeMs != null && message.hasOwnProperty("endTimeMs")) + if (typeof message.endTimeMs === "number") + object.endTimeMs = options.longs === String ? String(message.endTimeMs) : message.endTimeMs; + else + object.endTimeMs = options.longs === String ? $util.Long.prototype.toString.call(message.endTimeMs) : options.longs === Number ? new $util.LongBits(message.endTimeMs.low >>> 0, message.endTimeMs.high >>> 0).toNumber(true) : message.endTimeMs; + if (message.endTimeIncluded != null && message.hasOwnProperty("endTimeIncluded")) + object.endTimeIncluded = message.endTimeIncluded; return object; }; /** - * Converts this StartAtIdentifierInfo to JSON. + * Converts this EndAtTimeInfo to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo * @instance * @returns {Object.} JSON object */ - StartAtIdentifierInfo.prototype.toJSON = function toJSON() { + EndAtTimeInfo.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return StartAtIdentifierInfo; + return EndAtTimeInfo; })(); - return GetContestedResourceVotersForIdentityRequestV0; + return GetVotePollsByEndDateRequestV0; })(); - return GetContestedResourceVotersForIdentityRequest; + return GetVotePollsByEndDateRequest; })(); - v0.GetContestedResourceVotersForIdentityResponse = (function() { + v0.GetVotePollsByEndDateResponse = (function() { /** - * Properties of a GetContestedResourceVotersForIdentityResponse. + * Properties of a GetVotePollsByEndDateResponse. * @memberof org.dash.platform.dapi.v0 - * @interface IGetContestedResourceVotersForIdentityResponse - * @property {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.IGetContestedResourceVotersForIdentityResponseV0|null} [v0] GetContestedResourceVotersForIdentityResponse v0 + * @interface IGetVotePollsByEndDateResponse + * @property {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.IGetVotePollsByEndDateResponseV0|null} [v0] GetVotePollsByEndDateResponse v0 */ /** - * Constructs a new GetContestedResourceVotersForIdentityResponse. + * Constructs a new GetVotePollsByEndDateResponse. * @memberof org.dash.platform.dapi.v0 - * @classdesc Represents a GetContestedResourceVotersForIdentityResponse. - * @implements IGetContestedResourceVotersForIdentityResponse + * @classdesc Represents a GetVotePollsByEndDateResponse. + * @implements IGetVotePollsByEndDateResponse * @constructor - * @param {org.dash.platform.dapi.v0.IGetContestedResourceVotersForIdentityResponse=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.IGetVotePollsByEndDateResponse=} [properties] Properties to set */ - function GetContestedResourceVotersForIdentityResponse(properties) { + function GetVotePollsByEndDateResponse(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -34385,89 +33811,89 @@ $root.org = (function() { } /** - * GetContestedResourceVotersForIdentityResponse v0. - * @member {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.IGetContestedResourceVotersForIdentityResponseV0|null|undefined} v0 - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse + * GetVotePollsByEndDateResponse v0. + * @member {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.IGetVotePollsByEndDateResponseV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse * @instance */ - GetContestedResourceVotersForIdentityResponse.prototype.v0 = null; + GetVotePollsByEndDateResponse.prototype.v0 = null; // OneOf field names bound to virtual getters and setters var $oneOfFields; /** - * GetContestedResourceVotersForIdentityResponse version. + * GetVotePollsByEndDateResponse version. * @member {"v0"|undefined} version - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse * @instance */ - Object.defineProperty(GetContestedResourceVotersForIdentityResponse.prototype, "version", { + Object.defineProperty(GetVotePollsByEndDateResponse.prototype, "version", { get: $util.oneOfGetter($oneOfFields = ["v0"]), set: $util.oneOfSetter($oneOfFields) }); /** - * Creates a new GetContestedResourceVotersForIdentityResponse instance using the specified properties. + * Creates a new GetVotePollsByEndDateResponse instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse * @static - * @param {org.dash.platform.dapi.v0.IGetContestedResourceVotersForIdentityResponse=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse} GetContestedResourceVotersForIdentityResponse instance + * @param {org.dash.platform.dapi.v0.IGetVotePollsByEndDateResponse=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse} GetVotePollsByEndDateResponse instance */ - GetContestedResourceVotersForIdentityResponse.create = function create(properties) { - return new GetContestedResourceVotersForIdentityResponse(properties); + GetVotePollsByEndDateResponse.create = function create(properties) { + return new GetVotePollsByEndDateResponse(properties); }; /** - * Encodes the specified GetContestedResourceVotersForIdentityResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.verify|verify} messages. + * Encodes the specified GetVotePollsByEndDateResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse * @static - * @param {org.dash.platform.dapi.v0.IGetContestedResourceVotersForIdentityResponse} message GetContestedResourceVotersForIdentityResponse message or plain object to encode + * @param {org.dash.platform.dapi.v0.IGetVotePollsByEndDateResponse} message GetVotePollsByEndDateResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetContestedResourceVotersForIdentityResponse.encode = function encode(message, writer) { + GetVotePollsByEndDateResponse.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.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified GetContestedResourceVotersForIdentityResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.verify|verify} messages. + * Encodes the specified GetVotePollsByEndDateResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse * @static - * @param {org.dash.platform.dapi.v0.IGetContestedResourceVotersForIdentityResponse} message GetContestedResourceVotersForIdentityResponse message or plain object to encode + * @param {org.dash.platform.dapi.v0.IGetVotePollsByEndDateResponse} message GetVotePollsByEndDateResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetContestedResourceVotersForIdentityResponse.encodeDelimited = function encodeDelimited(message, writer) { + GetVotePollsByEndDateResponse.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetContestedResourceVotersForIdentityResponse message from the specified reader or buffer. + * Decodes a GetVotePollsByEndDateResponse message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse * @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.GetContestedResourceVotersForIdentityResponse} GetContestedResourceVotersForIdentityResponse + * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse} GetVotePollsByEndDateResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetContestedResourceVotersForIdentityResponse.decode = function decode(reader, length) { + GetVotePollsByEndDateResponse.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.GetContestedResourceVotersForIdentityResponse(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.v0 = $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.decode(reader, reader.uint32()); + message.v0 = $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -34478,37 +33904,37 @@ $root.org = (function() { }; /** - * Decodes a GetContestedResourceVotersForIdentityResponse message from the specified reader or buffer, length delimited. + * Decodes a GetVotePollsByEndDateResponse message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse} GetContestedResourceVotersForIdentityResponse + * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse} GetVotePollsByEndDateResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetContestedResourceVotersForIdentityResponse.decodeDelimited = function decodeDelimited(reader) { + GetVotePollsByEndDateResponse.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GetContestedResourceVotersForIdentityResponse message. + * Verifies a GetVotePollsByEndDateResponse message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetContestedResourceVotersForIdentityResponse.verify = function verify(message) { + GetVotePollsByEndDateResponse.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.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.verify(message.v0); + var error = $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.verify(message.v0); if (error) return "v0." + error; } @@ -34517,40 +33943,40 @@ $root.org = (function() { }; /** - * Creates a GetContestedResourceVotersForIdentityResponse message from a plain object. Also converts values to their respective internal types. + * Creates a GetVotePollsByEndDateResponse message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse} GetContestedResourceVotersForIdentityResponse + * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse} GetVotePollsByEndDateResponse */ - GetContestedResourceVotersForIdentityResponse.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse) + GetVotePollsByEndDateResponse.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse) return object; - var message = new $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse(); + var message = new $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse(); if (object.v0 != null) { if (typeof object.v0 !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.v0: object expected"); - message.v0 = $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.fromObject(object.v0); + throw TypeError(".org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.v0: object expected"); + message.v0 = $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.fromObject(object.v0); } return message; }; /** - * Creates a plain object from a GetContestedResourceVotersForIdentityResponse message. Also converts values to other types if specified. + * Creates a plain object from a GetVotePollsByEndDateResponse message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse} message GetContestedResourceVotersForIdentityResponse + * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse} message GetVotePollsByEndDateResponse * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetContestedResourceVotersForIdentityResponse.toObject = function toObject(message, options) { + GetVotePollsByEndDateResponse.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.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.toObject(message.v0, options); + object.v0 = $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.toObject(message.v0, options); if (options.oneofs) object.version = "v0"; } @@ -34558,36 +33984,36 @@ $root.org = (function() { }; /** - * Converts this GetContestedResourceVotersForIdentityResponse to JSON. + * Converts this GetVotePollsByEndDateResponse to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse * @instance * @returns {Object.} JSON object */ - GetContestedResourceVotersForIdentityResponse.prototype.toJSON = function toJSON() { + GetVotePollsByEndDateResponse.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0 = (function() { + GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0 = (function() { /** - * Properties of a GetContestedResourceVotersForIdentityResponseV0. - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse - * @interface IGetContestedResourceVotersForIdentityResponseV0 - * @property {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.IContestedResourceVoters|null} [contestedResourceVoters] GetContestedResourceVotersForIdentityResponseV0 contestedResourceVoters - * @property {org.dash.platform.dapi.v0.IProof|null} [proof] GetContestedResourceVotersForIdentityResponseV0 proof - * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetContestedResourceVotersForIdentityResponseV0 metadata + * Properties of a GetVotePollsByEndDateResponseV0. + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse + * @interface IGetVotePollsByEndDateResponseV0 + * @property {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.ISerializedVotePollsByTimestamps|null} [votePollsByTimestamps] GetVotePollsByEndDateResponseV0 votePollsByTimestamps + * @property {org.dash.platform.dapi.v0.IProof|null} [proof] GetVotePollsByEndDateResponseV0 proof + * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetVotePollsByEndDateResponseV0 metadata */ /** - * Constructs a new GetContestedResourceVotersForIdentityResponseV0. - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse - * @classdesc Represents a GetContestedResourceVotersForIdentityResponseV0. - * @implements IGetContestedResourceVotersForIdentityResponseV0 + * Constructs a new GetVotePollsByEndDateResponseV0. + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse + * @classdesc Represents a GetVotePollsByEndDateResponseV0. + * @implements IGetVotePollsByEndDateResponseV0 * @constructor - * @param {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.IGetContestedResourceVotersForIdentityResponseV0=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.IGetVotePollsByEndDateResponseV0=} [properties] Properties to set */ - function GetContestedResourceVotersForIdentityResponseV0(properties) { + function GetVotePollsByEndDateResponseV0(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -34595,69 +34021,69 @@ $root.org = (function() { } /** - * GetContestedResourceVotersForIdentityResponseV0 contestedResourceVoters. - * @member {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.IContestedResourceVoters|null|undefined} contestedResourceVoters - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0 + * GetVotePollsByEndDateResponseV0 votePollsByTimestamps. + * @member {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.ISerializedVotePollsByTimestamps|null|undefined} votePollsByTimestamps + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0 * @instance */ - GetContestedResourceVotersForIdentityResponseV0.prototype.contestedResourceVoters = null; + GetVotePollsByEndDateResponseV0.prototype.votePollsByTimestamps = null; /** - * GetContestedResourceVotersForIdentityResponseV0 proof. + * GetVotePollsByEndDateResponseV0 proof. * @member {org.dash.platform.dapi.v0.IProof|null|undefined} proof - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0 + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0 * @instance */ - GetContestedResourceVotersForIdentityResponseV0.prototype.proof = null; + GetVotePollsByEndDateResponseV0.prototype.proof = null; /** - * GetContestedResourceVotersForIdentityResponseV0 metadata. + * GetVotePollsByEndDateResponseV0 metadata. * @member {org.dash.platform.dapi.v0.IResponseMetadata|null|undefined} metadata - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0 + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0 * @instance */ - GetContestedResourceVotersForIdentityResponseV0.prototype.metadata = null; + GetVotePollsByEndDateResponseV0.prototype.metadata = null; // OneOf field names bound to virtual getters and setters var $oneOfFields; /** - * GetContestedResourceVotersForIdentityResponseV0 result. - * @member {"contestedResourceVoters"|"proof"|undefined} result - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0 + * GetVotePollsByEndDateResponseV0 result. + * @member {"votePollsByTimestamps"|"proof"|undefined} result + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0 * @instance */ - Object.defineProperty(GetContestedResourceVotersForIdentityResponseV0.prototype, "result", { - get: $util.oneOfGetter($oneOfFields = ["contestedResourceVoters", "proof"]), + Object.defineProperty(GetVotePollsByEndDateResponseV0.prototype, "result", { + get: $util.oneOfGetter($oneOfFields = ["votePollsByTimestamps", "proof"]), set: $util.oneOfSetter($oneOfFields) }); /** - * Creates a new GetContestedResourceVotersForIdentityResponseV0 instance using the specified properties. + * Creates a new GetVotePollsByEndDateResponseV0 instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0 + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.IGetContestedResourceVotersForIdentityResponseV0=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0} GetContestedResourceVotersForIdentityResponseV0 instance + * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.IGetVotePollsByEndDateResponseV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0} GetVotePollsByEndDateResponseV0 instance */ - GetContestedResourceVotersForIdentityResponseV0.create = function create(properties) { - return new GetContestedResourceVotersForIdentityResponseV0(properties); + GetVotePollsByEndDateResponseV0.create = function create(properties) { + return new GetVotePollsByEndDateResponseV0(properties); }; /** - * Encodes the specified GetContestedResourceVotersForIdentityResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.verify|verify} messages. + * Encodes the specified GetVotePollsByEndDateResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0 + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.IGetContestedResourceVotersForIdentityResponseV0} message GetContestedResourceVotersForIdentityResponseV0 message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.IGetVotePollsByEndDateResponseV0} message GetVotePollsByEndDateResponseV0 message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetContestedResourceVotersForIdentityResponseV0.encode = function encode(message, writer) { + GetVotePollsByEndDateResponseV0.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.contestedResourceVoters != null && Object.hasOwnProperty.call(message, "contestedResourceVoters")) - $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.encode(message.contestedResourceVoters, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.votePollsByTimestamps != null && Object.hasOwnProperty.call(message, "votePollsByTimestamps")) + $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.encode(message.votePollsByTimestamps, 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")) @@ -34666,38 +34092,38 @@ $root.org = (function() { }; /** - * Encodes the specified GetContestedResourceVotersForIdentityResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.verify|verify} messages. + * Encodes the specified GetVotePollsByEndDateResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0 + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.IGetContestedResourceVotersForIdentityResponseV0} message GetContestedResourceVotersForIdentityResponseV0 message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.IGetVotePollsByEndDateResponseV0} message GetVotePollsByEndDateResponseV0 message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetContestedResourceVotersForIdentityResponseV0.encodeDelimited = function encodeDelimited(message, writer) { + GetVotePollsByEndDateResponseV0.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetContestedResourceVotersForIdentityResponseV0 message from the specified reader or buffer. + * Decodes a GetVotePollsByEndDateResponseV0 message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0 + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0 * @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.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0} GetContestedResourceVotersForIdentityResponseV0 + * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0} GetVotePollsByEndDateResponseV0 * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetContestedResourceVotersForIdentityResponseV0.decode = function decode(reader, length) { + GetVotePollsByEndDateResponseV0.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.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.contestedResourceVoters = $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.decode(reader, reader.uint32()); + message.votePollsByTimestamps = $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.decode(reader, reader.uint32()); break; case 2: message.proof = $root.org.dash.platform.dapi.v0.Proof.decode(reader, reader.uint32()); @@ -34714,39 +34140,39 @@ $root.org = (function() { }; /** - * Decodes a GetContestedResourceVotersForIdentityResponseV0 message from the specified reader or buffer, length delimited. + * Decodes a GetVotePollsByEndDateResponseV0 message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0 + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0 * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0} GetContestedResourceVotersForIdentityResponseV0 + * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0} GetVotePollsByEndDateResponseV0 * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetContestedResourceVotersForIdentityResponseV0.decodeDelimited = function decodeDelimited(reader) { + GetVotePollsByEndDateResponseV0.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GetContestedResourceVotersForIdentityResponseV0 message. + * Verifies a GetVotePollsByEndDateResponseV0 message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0 + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0 * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetContestedResourceVotersForIdentityResponseV0.verify = function verify(message) { + GetVotePollsByEndDateResponseV0.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; var properties = {}; - if (message.contestedResourceVoters != null && message.hasOwnProperty("contestedResourceVoters")) { + if (message.votePollsByTimestamps != null && message.hasOwnProperty("votePollsByTimestamps")) { properties.result = 1; { - var error = $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.verify(message.contestedResourceVoters); + var error = $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.verify(message.votePollsByTimestamps); if (error) - return "contestedResourceVoters." + error; + return "votePollsByTimestamps." + error; } } if (message.proof != null && message.hasOwnProperty("proof")) { @@ -34768,54 +34194,54 @@ $root.org = (function() { }; /** - * Creates a GetContestedResourceVotersForIdentityResponseV0 message from a plain object. Also converts values to their respective internal types. + * Creates a GetVotePollsByEndDateResponseV0 message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0 + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0 * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0} GetContestedResourceVotersForIdentityResponseV0 + * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0} GetVotePollsByEndDateResponseV0 */ - GetContestedResourceVotersForIdentityResponseV0.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0) + GetVotePollsByEndDateResponseV0.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0) return object; - var message = new $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0(); - if (object.contestedResourceVoters != null) { - if (typeof object.contestedResourceVoters !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.contestedResourceVoters: object expected"); - message.contestedResourceVoters = $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.fromObject(object.contestedResourceVoters); + var message = new $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0(); + if (object.votePollsByTimestamps != null) { + if (typeof object.votePollsByTimestamps !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.votePollsByTimestamps: object expected"); + message.votePollsByTimestamps = $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.fromObject(object.votePollsByTimestamps); } if (object.proof != null) { if (typeof object.proof !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.proof: object expected"); + throw TypeError(".org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.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.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.metadata: object expected"); + throw TypeError(".org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.metadata: object expected"); message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.fromObject(object.metadata); } return message; }; /** - * Creates a plain object from a GetContestedResourceVotersForIdentityResponseV0 message. Also converts values to other types if specified. + * Creates a plain object from a GetVotePollsByEndDateResponseV0 message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0 + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0} message GetContestedResourceVotersForIdentityResponseV0 + * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0} message GetVotePollsByEndDateResponseV0 * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetContestedResourceVotersForIdentityResponseV0.toObject = function toObject(message, options) { + GetVotePollsByEndDateResponseV0.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) object.metadata = null; - if (message.contestedResourceVoters != null && message.hasOwnProperty("contestedResourceVoters")) { - object.contestedResourceVoters = $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.toObject(message.contestedResourceVoters, options); + if (message.votePollsByTimestamps != null && message.hasOwnProperty("votePollsByTimestamps")) { + object.votePollsByTimestamps = $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.toObject(message.votePollsByTimestamps, options); if (options.oneofs) - object.result = "contestedResourceVoters"; + object.result = "votePollsByTimestamps"; } if (message.proof != null && message.hasOwnProperty("proof")) { object.proof = $root.org.dash.platform.dapi.v0.Proof.toObject(message.proof, options); @@ -34828,36 +34254,36 @@ $root.org = (function() { }; /** - * Converts this GetContestedResourceVotersForIdentityResponseV0 to JSON. + * Converts this GetVotePollsByEndDateResponseV0 to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0 + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0 * @instance * @returns {Object.} JSON object */ - GetContestedResourceVotersForIdentityResponseV0.prototype.toJSON = function toJSON() { + GetVotePollsByEndDateResponseV0.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters = (function() { + GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp = (function() { /** - * Properties of a ContestedResourceVoters. - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0 - * @interface IContestedResourceVoters - * @property {Array.|null} [voters] ContestedResourceVoters voters - * @property {boolean|null} [finishedResults] ContestedResourceVoters finishedResults + * Properties of a SerializedVotePollsByTimestamp. + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0 + * @interface ISerializedVotePollsByTimestamp + * @property {number|Long|null} [timestamp] SerializedVotePollsByTimestamp timestamp + * @property {Array.|null} [serializedVotePolls] SerializedVotePollsByTimestamp serializedVotePolls */ /** - * Constructs a new ContestedResourceVoters. - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0 - * @classdesc Represents a ContestedResourceVoters. - * @implements IContestedResourceVoters + * Constructs a new SerializedVotePollsByTimestamp. + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0 + * @classdesc Represents a SerializedVotePollsByTimestamp. + * @implements ISerializedVotePollsByTimestamp * @constructor - * @param {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.IContestedResourceVoters=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.ISerializedVotePollsByTimestamp=} [properties] Properties to set */ - function ContestedResourceVoters(properties) { - this.voters = []; + function SerializedVotePollsByTimestamp(properties) { + this.serializedVotePolls = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -34865,91 +34291,91 @@ $root.org = (function() { } /** - * ContestedResourceVoters voters. - * @member {Array.} voters - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters + * SerializedVotePollsByTimestamp timestamp. + * @member {number|Long} timestamp + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp * @instance */ - ContestedResourceVoters.prototype.voters = $util.emptyArray; + SerializedVotePollsByTimestamp.prototype.timestamp = $util.Long ? $util.Long.fromBits(0,0,true) : 0; /** - * ContestedResourceVoters finishedResults. - * @member {boolean} finishedResults - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters + * SerializedVotePollsByTimestamp serializedVotePolls. + * @member {Array.} serializedVotePolls + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp * @instance */ - ContestedResourceVoters.prototype.finishedResults = false; + SerializedVotePollsByTimestamp.prototype.serializedVotePolls = $util.emptyArray; /** - * Creates a new ContestedResourceVoters instance using the specified properties. + * Creates a new SerializedVotePollsByTimestamp instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.IContestedResourceVoters=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters} ContestedResourceVoters instance + * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.ISerializedVotePollsByTimestamp=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp} SerializedVotePollsByTimestamp instance */ - ContestedResourceVoters.create = function create(properties) { - return new ContestedResourceVoters(properties); + SerializedVotePollsByTimestamp.create = function create(properties) { + return new SerializedVotePollsByTimestamp(properties); }; /** - * Encodes the specified ContestedResourceVoters message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.verify|verify} messages. + * Encodes the specified SerializedVotePollsByTimestamp message. Does not implicitly {@link org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.IContestedResourceVoters} message ContestedResourceVoters message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.ISerializedVotePollsByTimestamp} message SerializedVotePollsByTimestamp message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - ContestedResourceVoters.encode = function encode(message, writer) { + SerializedVotePollsByTimestamp.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.voters != null && message.voters.length) - for (var i = 0; i < message.voters.length; ++i) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.voters[i]); - if (message.finishedResults != null && Object.hasOwnProperty.call(message, "finishedResults")) - writer.uint32(/* id 2, wireType 0 =*/16).bool(message.finishedResults); + if (message.timestamp != null && Object.hasOwnProperty.call(message, "timestamp")) + writer.uint32(/* id 1, wireType 0 =*/8).uint64(message.timestamp); + if (message.serializedVotePolls != null && message.serializedVotePolls.length) + for (var i = 0; i < message.serializedVotePolls.length; ++i) + writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.serializedVotePolls[i]); return writer; }; /** - * Encodes the specified ContestedResourceVoters message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.verify|verify} messages. + * Encodes the specified SerializedVotePollsByTimestamp message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.IContestedResourceVoters} message ContestedResourceVoters message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.ISerializedVotePollsByTimestamp} message SerializedVotePollsByTimestamp message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - ContestedResourceVoters.encodeDelimited = function encodeDelimited(message, writer) { + SerializedVotePollsByTimestamp.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a ContestedResourceVoters message from the specified reader or buffer. + * Decodes a SerializedVotePollsByTimestamp message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp * @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.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters} ContestedResourceVoters + * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp} SerializedVotePollsByTimestamp * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ContestedResourceVoters.decode = function decode(reader, length) { + SerializedVotePollsByTimestamp.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.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - if (!(message.voters && message.voters.length)) - message.voters = []; - message.voters.push(reader.bytes()); + message.timestamp = reader.uint64(); break; case 2: - message.finishedResults = reader.bool(); + if (!(message.serializedVotePolls && message.serializedVotePolls.length)) + message.serializedVotePolls = []; + message.serializedVotePolls.push(reader.bytes()); break; default: reader.skipType(tag & 7); @@ -34960,227 +34386,472 @@ $root.org = (function() { }; /** - * Decodes a ContestedResourceVoters message from the specified reader or buffer, length delimited. + * Decodes a SerializedVotePollsByTimestamp message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters} ContestedResourceVoters + * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp} SerializedVotePollsByTimestamp * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ContestedResourceVoters.decodeDelimited = function decodeDelimited(reader) { + SerializedVotePollsByTimestamp.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a ContestedResourceVoters message. + * Verifies a SerializedVotePollsByTimestamp message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ContestedResourceVoters.verify = function verify(message) { + SerializedVotePollsByTimestamp.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.voters != null && message.hasOwnProperty("voters")) { - if (!Array.isArray(message.voters)) - return "voters: array expected"; - for (var i = 0; i < message.voters.length; ++i) - if (!(message.voters[i] && typeof message.voters[i].length === "number" || $util.isString(message.voters[i]))) - return "voters: buffer[] expected"; + if (message.timestamp != null && message.hasOwnProperty("timestamp")) + if (!$util.isInteger(message.timestamp) && !(message.timestamp && $util.isInteger(message.timestamp.low) && $util.isInteger(message.timestamp.high))) + return "timestamp: integer|Long expected"; + if (message.serializedVotePolls != null && message.hasOwnProperty("serializedVotePolls")) { + if (!Array.isArray(message.serializedVotePolls)) + return "serializedVotePolls: array expected"; + for (var i = 0; i < message.serializedVotePolls.length; ++i) + if (!(message.serializedVotePolls[i] && typeof message.serializedVotePolls[i].length === "number" || $util.isString(message.serializedVotePolls[i]))) + return "serializedVotePolls: buffer[] expected"; } - if (message.finishedResults != null && message.hasOwnProperty("finishedResults")) - if (typeof message.finishedResults !== "boolean") - return "finishedResults: boolean expected"; return null; }; /** - * Creates a ContestedResourceVoters message from a plain object. Also converts values to their respective internal types. + * Creates a SerializedVotePollsByTimestamp message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters} ContestedResourceVoters + * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp} SerializedVotePollsByTimestamp */ - ContestedResourceVoters.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters) + SerializedVotePollsByTimestamp.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp) return object; - var message = new $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters(); - if (object.voters) { - if (!Array.isArray(object.voters)) - throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.voters: array expected"); - message.voters = []; - for (var i = 0; i < object.voters.length; ++i) - if (typeof object.voters[i] === "string") - $util.base64.decode(object.voters[i], message.voters[i] = $util.newBuffer($util.base64.length(object.voters[i])), 0); - else if (object.voters[i].length >= 0) - message.voters[i] = object.voters[i]; + var message = new $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp(); + if (object.timestamp != null) + if ($util.Long) + (message.timestamp = $util.Long.fromValue(object.timestamp)).unsigned = true; + else if (typeof object.timestamp === "string") + message.timestamp = parseInt(object.timestamp, 10); + else if (typeof object.timestamp === "number") + message.timestamp = object.timestamp; + else if (typeof object.timestamp === "object") + message.timestamp = new $util.LongBits(object.timestamp.low >>> 0, object.timestamp.high >>> 0).toNumber(true); + if (object.serializedVotePolls) { + if (!Array.isArray(object.serializedVotePolls)) + throw TypeError(".org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.serializedVotePolls: array expected"); + message.serializedVotePolls = []; + for (var i = 0; i < object.serializedVotePolls.length; ++i) + if (typeof object.serializedVotePolls[i] === "string") + $util.base64.decode(object.serializedVotePolls[i], message.serializedVotePolls[i] = $util.newBuffer($util.base64.length(object.serializedVotePolls[i])), 0); + else if (object.serializedVotePolls[i].length >= 0) + message.serializedVotePolls[i] = object.serializedVotePolls[i]; } - if (object.finishedResults != null) - message.finishedResults = Boolean(object.finishedResults); return message; }; /** - * Creates a plain object from a ContestedResourceVoters message. Also converts values to other types if specified. + * Creates a plain object from a SerializedVotePollsByTimestamp message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters} message ContestedResourceVoters + * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp} message SerializedVotePollsByTimestamp * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - ContestedResourceVoters.toObject = function toObject(message, options) { + SerializedVotePollsByTimestamp.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.arrays || options.defaults) - object.voters = []; + object.serializedVotePolls = []; if (options.defaults) - object.finishedResults = false; - if (message.voters && message.voters.length) { - object.voters = []; - for (var j = 0; j < message.voters.length; ++j) - object.voters[j] = options.bytes === String ? $util.base64.encode(message.voters[j], 0, message.voters[j].length) : options.bytes === Array ? Array.prototype.slice.call(message.voters[j]) : message.voters[j]; + if ($util.Long) { + var long = new $util.Long(0, 0, true); + object.timestamp = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.timestamp = options.longs === String ? "0" : 0; + if (message.timestamp != null && message.hasOwnProperty("timestamp")) + if (typeof message.timestamp === "number") + object.timestamp = options.longs === String ? String(message.timestamp) : message.timestamp; + else + object.timestamp = options.longs === String ? $util.Long.prototype.toString.call(message.timestamp) : options.longs === Number ? new $util.LongBits(message.timestamp.low >>> 0, message.timestamp.high >>> 0).toNumber(true) : message.timestamp; + if (message.serializedVotePolls && message.serializedVotePolls.length) { + object.serializedVotePolls = []; + for (var j = 0; j < message.serializedVotePolls.length; ++j) + object.serializedVotePolls[j] = options.bytes === String ? $util.base64.encode(message.serializedVotePolls[j], 0, message.serializedVotePolls[j].length) : options.bytes === Array ? Array.prototype.slice.call(message.serializedVotePolls[j]) : message.serializedVotePolls[j]; } - if (message.finishedResults != null && message.hasOwnProperty("finishedResults")) - object.finishedResults = message.finishedResults; return object; }; /** - * Converts this ContestedResourceVoters to JSON. + * Converts this SerializedVotePollsByTimestamp to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp * @instance * @returns {Object.} JSON object */ - ContestedResourceVoters.prototype.toJSON = function toJSON() { + SerializedVotePollsByTimestamp.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return ContestedResourceVoters; + return SerializedVotePollsByTimestamp; })(); - return GetContestedResourceVotersForIdentityResponseV0; - })(); - - return GetContestedResourceVotersForIdentityResponse; - })(); + GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps = (function() { - v0.GetContestedResourceIdentityVotesRequest = (function() { + /** + * Properties of a SerializedVotePollsByTimestamps. + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0 + * @interface ISerializedVotePollsByTimestamps + * @property {Array.|null} [votePollsByTimestamps] SerializedVotePollsByTimestamps votePollsByTimestamps + * @property {boolean|null} [finishedResults] SerializedVotePollsByTimestamps finishedResults + */ - /** - * Properties of a GetContestedResourceIdentityVotesRequest. - * @memberof org.dash.platform.dapi.v0 - * @interface IGetContestedResourceIdentityVotesRequest - * @property {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.IGetContestedResourceIdentityVotesRequestV0|null} [v0] GetContestedResourceIdentityVotesRequest v0 - */ + /** + * Constructs a new SerializedVotePollsByTimestamps. + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0 + * @classdesc Represents a SerializedVotePollsByTimestamps. + * @implements ISerializedVotePollsByTimestamps + * @constructor + * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.ISerializedVotePollsByTimestamps=} [properties] Properties to set + */ + function SerializedVotePollsByTimestamps(properties) { + this.votePollsByTimestamps = []; + 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 GetContestedResourceIdentityVotesRequest. - * @memberof org.dash.platform.dapi.v0 - * @classdesc Represents a GetContestedResourceIdentityVotesRequest. - * @implements IGetContestedResourceIdentityVotesRequest - * @constructor - * @param {org.dash.platform.dapi.v0.IGetContestedResourceIdentityVotesRequest=} [properties] Properties to set - */ - function GetContestedResourceIdentityVotesRequest(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]]; - } + /** + * SerializedVotePollsByTimestamps votePollsByTimestamps. + * @member {Array.} votePollsByTimestamps + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps + * @instance + */ + SerializedVotePollsByTimestamps.prototype.votePollsByTimestamps = $util.emptyArray; - /** - * GetContestedResourceIdentityVotesRequest v0. - * @member {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.IGetContestedResourceIdentityVotesRequestV0|null|undefined} v0 - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest - * @instance - */ - GetContestedResourceIdentityVotesRequest.prototype.v0 = null; + /** + * SerializedVotePollsByTimestamps finishedResults. + * @member {boolean} finishedResults + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps + * @instance + */ + SerializedVotePollsByTimestamps.prototype.finishedResults = false; - // OneOf field names bound to virtual getters and setters - var $oneOfFields; + /** + * Creates a new SerializedVotePollsByTimestamps instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps + * @static + * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.ISerializedVotePollsByTimestamps=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps} SerializedVotePollsByTimestamps instance + */ + SerializedVotePollsByTimestamps.create = function create(properties) { + return new SerializedVotePollsByTimestamps(properties); + }; - /** - * GetContestedResourceIdentityVotesRequest version. - * @member {"v0"|undefined} version - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest - * @instance - */ - Object.defineProperty(GetContestedResourceIdentityVotesRequest.prototype, "version", { - get: $util.oneOfGetter($oneOfFields = ["v0"]), - set: $util.oneOfSetter($oneOfFields) - }); + /** + * Encodes the specified SerializedVotePollsByTimestamps message. Does not implicitly {@link org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps + * @static + * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.ISerializedVotePollsByTimestamps} message SerializedVotePollsByTimestamps message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + SerializedVotePollsByTimestamps.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.votePollsByTimestamps != null && message.votePollsByTimestamps.length) + for (var i = 0; i < message.votePollsByTimestamps.length; ++i) + $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.encode(message.votePollsByTimestamps[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.finishedResults != null && Object.hasOwnProperty.call(message, "finishedResults")) + writer.uint32(/* id 2, wireType 0 =*/16).bool(message.finishedResults); + return writer; + }; - /** - * Creates a new GetContestedResourceIdentityVotesRequest instance using the specified properties. - * @function create - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest - * @static - * @param {org.dash.platform.dapi.v0.IGetContestedResourceIdentityVotesRequest=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest} GetContestedResourceIdentityVotesRequest instance - */ - GetContestedResourceIdentityVotesRequest.create = function create(properties) { - return new GetContestedResourceIdentityVotesRequest(properties); - }; + /** + * Encodes the specified SerializedVotePollsByTimestamps message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps + * @static + * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.ISerializedVotePollsByTimestamps} message SerializedVotePollsByTimestamps message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + SerializedVotePollsByTimestamps.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; - /** - * Encodes the specified GetContestedResourceIdentityVotesRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.verify|verify} messages. - * @function encode - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest - * @static - * @param {org.dash.platform.dapi.v0.IGetContestedResourceIdentityVotesRequest} message GetContestedResourceIdentityVotesRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - GetContestedResourceIdentityVotesRequest.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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - return writer; - }; + /** + * Decodes a SerializedVotePollsByTimestamps message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps + * @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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps} SerializedVotePollsByTimestamps + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + SerializedVotePollsByTimestamps.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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.votePollsByTimestamps && message.votePollsByTimestamps.length)) + message.votePollsByTimestamps = []; + message.votePollsByTimestamps.push($root.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.decode(reader, reader.uint32())); + break; + case 2: + message.finishedResults = reader.bool(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; - /** - * Encodes the specified GetContestedResourceIdentityVotesRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest - * @static - * @param {org.dash.platform.dapi.v0.IGetContestedResourceIdentityVotesRequest} message GetContestedResourceIdentityVotesRequest message or plain object to encode + /** + * Decodes a SerializedVotePollsByTimestamps message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps} SerializedVotePollsByTimestamps + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + SerializedVotePollsByTimestamps.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a SerializedVotePollsByTimestamps message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + SerializedVotePollsByTimestamps.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.votePollsByTimestamps != null && message.hasOwnProperty("votePollsByTimestamps")) { + if (!Array.isArray(message.votePollsByTimestamps)) + return "votePollsByTimestamps: array expected"; + for (var i = 0; i < message.votePollsByTimestamps.length; ++i) { + var error = $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.verify(message.votePollsByTimestamps[i]); + if (error) + return "votePollsByTimestamps." + error; + } + } + if (message.finishedResults != null && message.hasOwnProperty("finishedResults")) + if (typeof message.finishedResults !== "boolean") + return "finishedResults: boolean expected"; + return null; + }; + + /** + * Creates a SerializedVotePollsByTimestamps message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps} SerializedVotePollsByTimestamps + */ + SerializedVotePollsByTimestamps.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps(); + if (object.votePollsByTimestamps) { + if (!Array.isArray(object.votePollsByTimestamps)) + throw TypeError(".org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.votePollsByTimestamps: array expected"); + message.votePollsByTimestamps = []; + for (var i = 0; i < object.votePollsByTimestamps.length; ++i) { + if (typeof object.votePollsByTimestamps[i] !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.votePollsByTimestamps: object expected"); + message.votePollsByTimestamps[i] = $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.fromObject(object.votePollsByTimestamps[i]); + } + } + if (object.finishedResults != null) + message.finishedResults = Boolean(object.finishedResults); + return message; + }; + + /** + * Creates a plain object from a SerializedVotePollsByTimestamps message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps + * @static + * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps} message SerializedVotePollsByTimestamps + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + SerializedVotePollsByTimestamps.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.votePollsByTimestamps = []; + if (options.defaults) + object.finishedResults = false; + if (message.votePollsByTimestamps && message.votePollsByTimestamps.length) { + object.votePollsByTimestamps = []; + for (var j = 0; j < message.votePollsByTimestamps.length; ++j) + object.votePollsByTimestamps[j] = $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.toObject(message.votePollsByTimestamps[j], options); + } + if (message.finishedResults != null && message.hasOwnProperty("finishedResults")) + object.finishedResults = message.finishedResults; + return object; + }; + + /** + * Converts this SerializedVotePollsByTimestamps to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps + * @instance + * @returns {Object.} JSON object + */ + SerializedVotePollsByTimestamps.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return SerializedVotePollsByTimestamps; + })(); + + return GetVotePollsByEndDateResponseV0; + })(); + + return GetVotePollsByEndDateResponse; + })(); + + v0.GetContestedResourceVoteStateRequest = (function() { + + /** + * Properties of a GetContestedResourceVoteStateRequest. + * @memberof org.dash.platform.dapi.v0 + * @interface IGetContestedResourceVoteStateRequest + * @property {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.IGetContestedResourceVoteStateRequestV0|null} [v0] GetContestedResourceVoteStateRequest v0 + */ + + /** + * Constructs a new GetContestedResourceVoteStateRequest. + * @memberof org.dash.platform.dapi.v0 + * @classdesc Represents a GetContestedResourceVoteStateRequest. + * @implements IGetContestedResourceVoteStateRequest + * @constructor + * @param {org.dash.platform.dapi.v0.IGetContestedResourceVoteStateRequest=} [properties] Properties to set + */ + function GetContestedResourceVoteStateRequest(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]]; + } + + /** + * GetContestedResourceVoteStateRequest v0. + * @member {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.IGetContestedResourceVoteStateRequestV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest + * @instance + */ + GetContestedResourceVoteStateRequest.prototype.v0 = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * GetContestedResourceVoteStateRequest version. + * @member {"v0"|undefined} version + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest + * @instance + */ + Object.defineProperty(GetContestedResourceVoteStateRequest.prototype, "version", { + get: $util.oneOfGetter($oneOfFields = ["v0"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new GetContestedResourceVoteStateRequest instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest + * @static + * @param {org.dash.platform.dapi.v0.IGetContestedResourceVoteStateRequest=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest} GetContestedResourceVoteStateRequest instance + */ + GetContestedResourceVoteStateRequest.create = function create(properties) { + return new GetContestedResourceVoteStateRequest(properties); + }; + + /** + * Encodes the specified GetContestedResourceVoteStateRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest + * @static + * @param {org.dash.platform.dapi.v0.IGetContestedResourceVoteStateRequest} message GetContestedResourceVoteStateRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetContestedResourceIdentityVotesRequest.encodeDelimited = function encodeDelimited(message, writer) { + GetContestedResourceVoteStateRequest.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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified GetContestedResourceVoteStateRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest + * @static + * @param {org.dash.platform.dapi.v0.IGetContestedResourceVoteStateRequest} message GetContestedResourceVoteStateRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetContestedResourceVoteStateRequest.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetContestedResourceIdentityVotesRequest message from the specified reader or buffer. + * Decodes a GetContestedResourceVoteStateRequest message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest * @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.GetContestedResourceIdentityVotesRequest} GetContestedResourceIdentityVotesRequest + * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest} GetContestedResourceVoteStateRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetContestedResourceIdentityVotesRequest.decode = function decode(reader, length) { + GetContestedResourceVoteStateRequest.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.GetContestedResourceIdentityVotesRequest(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.v0 = $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.decode(reader, reader.uint32()); + message.v0 = $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -35191,37 +34862,37 @@ $root.org = (function() { }; /** - * Decodes a GetContestedResourceIdentityVotesRequest message from the specified reader or buffer, length delimited. + * Decodes a GetContestedResourceVoteStateRequest message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest} GetContestedResourceIdentityVotesRequest + * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest} GetContestedResourceVoteStateRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetContestedResourceIdentityVotesRequest.decodeDelimited = function decodeDelimited(reader) { + GetContestedResourceVoteStateRequest.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GetContestedResourceIdentityVotesRequest message. + * Verifies a GetContestedResourceVoteStateRequest message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetContestedResourceIdentityVotesRequest.verify = function verify(message) { + GetContestedResourceVoteStateRequest.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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.verify(message.v0); + var error = $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.verify(message.v0); if (error) return "v0." + error; } @@ -35230,40 +34901,40 @@ $root.org = (function() { }; /** - * Creates a GetContestedResourceIdentityVotesRequest message from a plain object. Also converts values to their respective internal types. + * Creates a GetContestedResourceVoteStateRequest message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest} GetContestedResourceIdentityVotesRequest + * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest} GetContestedResourceVoteStateRequest */ - GetContestedResourceIdentityVotesRequest.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest) + GetContestedResourceVoteStateRequest.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest) return object; - var message = new $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest(); + var message = new $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest(); if (object.v0 != null) { if (typeof object.v0 !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.v0: object expected"); - message.v0 = $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.fromObject(object.v0); + throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.v0: object expected"); + message.v0 = $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.fromObject(object.v0); } return message; }; /** - * Creates a plain object from a GetContestedResourceIdentityVotesRequest message. Also converts values to other types if specified. + * Creates a plain object from a GetContestedResourceVoteStateRequest message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest} message GetContestedResourceIdentityVotesRequest + * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest} message GetContestedResourceVoteStateRequest * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetContestedResourceIdentityVotesRequest.toObject = function toObject(message, options) { + GetContestedResourceVoteStateRequest.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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.toObject(message.v0, options); + object.v0 = $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.toObject(message.v0, options); if (options.oneofs) object.version = "v0"; } @@ -35271,39 +34942,43 @@ $root.org = (function() { }; /** - * Converts this GetContestedResourceIdentityVotesRequest to JSON. + * Converts this GetContestedResourceVoteStateRequest to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest * @instance * @returns {Object.} JSON object */ - GetContestedResourceIdentityVotesRequest.prototype.toJSON = function toJSON() { + GetContestedResourceVoteStateRequest.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0 = (function() { + GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0 = (function() { /** - * Properties of a GetContestedResourceIdentityVotesRequestV0. - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest - * @interface IGetContestedResourceIdentityVotesRequestV0 - * @property {Uint8Array|null} [identityId] GetContestedResourceIdentityVotesRequestV0 identityId - * @property {google.protobuf.IUInt32Value|null} [limit] GetContestedResourceIdentityVotesRequestV0 limit - * @property {google.protobuf.IUInt32Value|null} [offset] GetContestedResourceIdentityVotesRequestV0 offset - * @property {boolean|null} [orderAscending] GetContestedResourceIdentityVotesRequestV0 orderAscending - * @property {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.IStartAtVotePollIdInfo|null} [startAtVotePollIdInfo] GetContestedResourceIdentityVotesRequestV0 startAtVotePollIdInfo - * @property {boolean|null} [prove] GetContestedResourceIdentityVotesRequestV0 prove + * Properties of a GetContestedResourceVoteStateRequestV0. + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest + * @interface IGetContestedResourceVoteStateRequestV0 + * @property {Uint8Array|null} [contractId] GetContestedResourceVoteStateRequestV0 contractId + * @property {string|null} [documentTypeName] GetContestedResourceVoteStateRequestV0 documentTypeName + * @property {string|null} [indexName] GetContestedResourceVoteStateRequestV0 indexName + * @property {Array.|null} [indexValues] GetContestedResourceVoteStateRequestV0 indexValues + * @property {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.ResultType|null} [resultType] GetContestedResourceVoteStateRequestV0 resultType + * @property {boolean|null} [allowIncludeLockedAndAbstainingVoteTally] GetContestedResourceVoteStateRequestV0 allowIncludeLockedAndAbstainingVoteTally + * @property {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.IStartAtIdentifierInfo|null} [startAtIdentifierInfo] GetContestedResourceVoteStateRequestV0 startAtIdentifierInfo + * @property {number|null} [count] GetContestedResourceVoteStateRequestV0 count + * @property {boolean|null} [prove] GetContestedResourceVoteStateRequestV0 prove */ /** - * Constructs a new GetContestedResourceIdentityVotesRequestV0. - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest - * @classdesc Represents a GetContestedResourceIdentityVotesRequestV0. - * @implements IGetContestedResourceIdentityVotesRequestV0 + * Constructs a new GetContestedResourceVoteStateRequestV0. + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest + * @classdesc Represents a GetContestedResourceVoteStateRequestV0. + * @implements IGetContestedResourceVoteStateRequestV0 * @constructor - * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.IGetContestedResourceIdentityVotesRequestV0=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.IGetContestedResourceVoteStateRequestV0=} [properties] Properties to set */ - function GetContestedResourceIdentityVotesRequestV0(properties) { + function GetContestedResourceVoteStateRequestV0(properties) { + this.indexValues = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -35311,139 +34986,181 @@ $root.org = (function() { } /** - * GetContestedResourceIdentityVotesRequestV0 identityId. - * @member {Uint8Array} identityId - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0 + * GetContestedResourceVoteStateRequestV0 contractId. + * @member {Uint8Array} contractId + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0 * @instance */ - GetContestedResourceIdentityVotesRequestV0.prototype.identityId = $util.newBuffer([]); + GetContestedResourceVoteStateRequestV0.prototype.contractId = $util.newBuffer([]); /** - * GetContestedResourceIdentityVotesRequestV0 limit. - * @member {google.protobuf.IUInt32Value|null|undefined} limit - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0 + * GetContestedResourceVoteStateRequestV0 documentTypeName. + * @member {string} documentTypeName + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0 * @instance */ - GetContestedResourceIdentityVotesRequestV0.prototype.limit = null; + GetContestedResourceVoteStateRequestV0.prototype.documentTypeName = ""; /** - * GetContestedResourceIdentityVotesRequestV0 offset. - * @member {google.protobuf.IUInt32Value|null|undefined} offset - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0 + * GetContestedResourceVoteStateRequestV0 indexName. + * @member {string} indexName + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0 * @instance */ - GetContestedResourceIdentityVotesRequestV0.prototype.offset = null; + GetContestedResourceVoteStateRequestV0.prototype.indexName = ""; /** - * GetContestedResourceIdentityVotesRequestV0 orderAscending. - * @member {boolean} orderAscending - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0 + * GetContestedResourceVoteStateRequestV0 indexValues. + * @member {Array.} indexValues + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0 * @instance */ - GetContestedResourceIdentityVotesRequestV0.prototype.orderAscending = false; + GetContestedResourceVoteStateRequestV0.prototype.indexValues = $util.emptyArray; /** - * GetContestedResourceIdentityVotesRequestV0 startAtVotePollIdInfo. - * @member {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.IStartAtVotePollIdInfo|null|undefined} startAtVotePollIdInfo - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0 + * GetContestedResourceVoteStateRequestV0 resultType. + * @member {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.ResultType} resultType + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0 * @instance */ - GetContestedResourceIdentityVotesRequestV0.prototype.startAtVotePollIdInfo = null; + GetContestedResourceVoteStateRequestV0.prototype.resultType = 0; /** - * GetContestedResourceIdentityVotesRequestV0 prove. + * GetContestedResourceVoteStateRequestV0 allowIncludeLockedAndAbstainingVoteTally. + * @member {boolean} allowIncludeLockedAndAbstainingVoteTally + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0 + * @instance + */ + GetContestedResourceVoteStateRequestV0.prototype.allowIncludeLockedAndAbstainingVoteTally = false; + + /** + * GetContestedResourceVoteStateRequestV0 startAtIdentifierInfo. + * @member {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.IStartAtIdentifierInfo|null|undefined} startAtIdentifierInfo + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0 + * @instance + */ + GetContestedResourceVoteStateRequestV0.prototype.startAtIdentifierInfo = null; + + /** + * GetContestedResourceVoteStateRequestV0 count. + * @member {number} count + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0 + * @instance + */ + GetContestedResourceVoteStateRequestV0.prototype.count = 0; + + /** + * GetContestedResourceVoteStateRequestV0 prove. * @member {boolean} prove - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0 * @instance */ - GetContestedResourceIdentityVotesRequestV0.prototype.prove = false; + GetContestedResourceVoteStateRequestV0.prototype.prove = false; /** - * Creates a new GetContestedResourceIdentityVotesRequestV0 instance using the specified properties. + * Creates a new GetContestedResourceVoteStateRequestV0 instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.IGetContestedResourceIdentityVotesRequestV0=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0} GetContestedResourceIdentityVotesRequestV0 instance + * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.IGetContestedResourceVoteStateRequestV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} GetContestedResourceVoteStateRequestV0 instance */ - GetContestedResourceIdentityVotesRequestV0.create = function create(properties) { - return new GetContestedResourceIdentityVotesRequestV0(properties); + GetContestedResourceVoteStateRequestV0.create = function create(properties) { + return new GetContestedResourceVoteStateRequestV0(properties); }; /** - * Encodes the specified GetContestedResourceIdentityVotesRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.verify|verify} messages. + * Encodes the specified GetContestedResourceVoteStateRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.IGetContestedResourceIdentityVotesRequestV0} message GetContestedResourceIdentityVotesRequestV0 message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.IGetContestedResourceVoteStateRequestV0} message GetContestedResourceVoteStateRequestV0 message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetContestedResourceIdentityVotesRequestV0.encode = function encode(message, writer) { + GetContestedResourceVoteStateRequestV0.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.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.orderAscending != null && Object.hasOwnProperty.call(message, "orderAscending")) - writer.uint32(/* id 4, wireType 0 =*/32).bool(message.orderAscending); - if (message.startAtVotePollIdInfo != null && Object.hasOwnProperty.call(message, "startAtVotePollIdInfo")) - $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.encode(message.startAtVotePollIdInfo, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); + if (message.contractId != null && Object.hasOwnProperty.call(message, "contractId")) + writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.contractId); + if (message.documentTypeName != null && Object.hasOwnProperty.call(message, "documentTypeName")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.documentTypeName); + if (message.indexName != null && Object.hasOwnProperty.call(message, "indexName")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.indexName); + if (message.indexValues != null && message.indexValues.length) + for (var i = 0; i < message.indexValues.length; ++i) + writer.uint32(/* id 4, wireType 2 =*/34).bytes(message.indexValues[i]); + if (message.resultType != null && Object.hasOwnProperty.call(message, "resultType")) + writer.uint32(/* id 5, wireType 0 =*/40).int32(message.resultType); + if (message.allowIncludeLockedAndAbstainingVoteTally != null && Object.hasOwnProperty.call(message, "allowIncludeLockedAndAbstainingVoteTally")) + writer.uint32(/* id 6, wireType 0 =*/48).bool(message.allowIncludeLockedAndAbstainingVoteTally); + if (message.startAtIdentifierInfo != null && Object.hasOwnProperty.call(message, "startAtIdentifierInfo")) + $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.encode(message.startAtIdentifierInfo, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim(); + if (message.count != null && Object.hasOwnProperty.call(message, "count")) + writer.uint32(/* id 8, wireType 0 =*/64).uint32(message.count); if (message.prove != null && Object.hasOwnProperty.call(message, "prove")) - writer.uint32(/* id 6, wireType 0 =*/48).bool(message.prove); + writer.uint32(/* id 9, wireType 0 =*/72).bool(message.prove); return writer; }; /** - * Encodes the specified GetContestedResourceIdentityVotesRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.verify|verify} messages. + * Encodes the specified GetContestedResourceVoteStateRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.IGetContestedResourceIdentityVotesRequestV0} message GetContestedResourceIdentityVotesRequestV0 message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.IGetContestedResourceVoteStateRequestV0} message GetContestedResourceVoteStateRequestV0 message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetContestedResourceIdentityVotesRequestV0.encodeDelimited = function encodeDelimited(message, writer) { + GetContestedResourceVoteStateRequestV0.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetContestedResourceIdentityVotesRequestV0 message from the specified reader or buffer. + * Decodes a GetContestedResourceVoteStateRequestV0 message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0 * @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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0} GetContestedResourceIdentityVotesRequestV0 + * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} GetContestedResourceVoteStateRequestV0 * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetContestedResourceIdentityVotesRequestV0.decode = function decode(reader, length) { + GetContestedResourceVoteStateRequestV0.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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.identityId = reader.bytes(); + message.contractId = reader.bytes(); break; case 2: - message.limit = $root.google.protobuf.UInt32Value.decode(reader, reader.uint32()); + message.documentTypeName = reader.string(); break; case 3: - message.offset = $root.google.protobuf.UInt32Value.decode(reader, reader.uint32()); + message.indexName = reader.string(); break; case 4: - message.orderAscending = reader.bool(); + if (!(message.indexValues && message.indexValues.length)) + message.indexValues = []; + message.indexValues.push(reader.bytes()); break; case 5: - message.startAtVotePollIdInfo = $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.decode(reader, reader.uint32()); + message.resultType = reader.int32(); break; case 6: + message.allowIncludeLockedAndAbstainingVoteTally = reader.bool(); + break; + case 7: + message.startAtIdentifierInfo = $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.decode(reader, reader.uint32()); + break; + case 8: + message.count = reader.uint32(); + break; + case 9: message.prove = reader.bool(); break; default: @@ -35455,53 +35172,68 @@ $root.org = (function() { }; /** - * Decodes a GetContestedResourceIdentityVotesRequestV0 message from the specified reader or buffer, length delimited. + * Decodes a GetContestedResourceVoteStateRequestV0 message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0 * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0} GetContestedResourceIdentityVotesRequestV0 + * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} GetContestedResourceVoteStateRequestV0 * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetContestedResourceIdentityVotesRequestV0.decodeDelimited = function decodeDelimited(reader) { + GetContestedResourceVoteStateRequestV0.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GetContestedResourceIdentityVotesRequestV0 message. + * Verifies a GetContestedResourceVoteStateRequestV0 message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0 * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetContestedResourceIdentityVotesRequestV0.verify = function verify(message) { + GetContestedResourceVoteStateRequestV0.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.limit != null && message.hasOwnProperty("limit")) { - var error = $root.google.protobuf.UInt32Value.verify(message.limit); - if (error) - return "limit." + error; + 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.documentTypeName != null && message.hasOwnProperty("documentTypeName")) + if (!$util.isString(message.documentTypeName)) + return "documentTypeName: string expected"; + if (message.indexName != null && message.hasOwnProperty("indexName")) + if (!$util.isString(message.indexName)) + return "indexName: string expected"; + if (message.indexValues != null && message.hasOwnProperty("indexValues")) { + if (!Array.isArray(message.indexValues)) + return "indexValues: array expected"; + for (var i = 0; i < message.indexValues.length; ++i) + if (!(message.indexValues[i] && typeof message.indexValues[i].length === "number" || $util.isString(message.indexValues[i]))) + return "indexValues: buffer[] expected"; } - if (message.offset != null && message.hasOwnProperty("offset")) { - var error = $root.google.protobuf.UInt32Value.verify(message.offset); + if (message.resultType != null && message.hasOwnProperty("resultType")) + switch (message.resultType) { + default: + return "resultType: enum value expected"; + case 0: + case 1: + case 2: + break; + } + if (message.allowIncludeLockedAndAbstainingVoteTally != null && message.hasOwnProperty("allowIncludeLockedAndAbstainingVoteTally")) + if (typeof message.allowIncludeLockedAndAbstainingVoteTally !== "boolean") + return "allowIncludeLockedAndAbstainingVoteTally: boolean expected"; + if (message.startAtIdentifierInfo != null && message.hasOwnProperty("startAtIdentifierInfo")) { + var error = $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.verify(message.startAtIdentifierInfo); if (error) - return "offset." + error; - } - if (message.orderAscending != null && message.hasOwnProperty("orderAscending")) - if (typeof message.orderAscending !== "boolean") - return "orderAscending: boolean expected"; - if (message.startAtVotePollIdInfo != null && message.hasOwnProperty("startAtVotePollIdInfo")) { - var error = $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.verify(message.startAtVotePollIdInfo); - if (error) - return "startAtVotePollIdInfo." + error; + return "startAtIdentifierInfo." + error; } + 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"; @@ -35509,116 +35241,149 @@ $root.org = (function() { }; /** - * Creates a GetContestedResourceIdentityVotesRequestV0 message from a plain object. Also converts values to their respective internal types. + * Creates a GetContestedResourceVoteStateRequestV0 message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0 * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0} GetContestedResourceIdentityVotesRequestV0 + * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} GetContestedResourceVoteStateRequestV0 */ - GetContestedResourceIdentityVotesRequestV0.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0) + GetContestedResourceVoteStateRequestV0.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0) return object; - var message = new $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0(); - 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.limit != null) { - if (typeof object.limit !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.limit: object expected"); - message.limit = $root.google.protobuf.UInt32Value.fromObject(object.limit); + var message = new $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0(); + 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.documentTypeName != null) + message.documentTypeName = String(object.documentTypeName); + if (object.indexName != null) + message.indexName = String(object.indexName); + if (object.indexValues) { + if (!Array.isArray(object.indexValues)) + throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.indexValues: array expected"); + message.indexValues = []; + for (var i = 0; i < object.indexValues.length; ++i) + if (typeof object.indexValues[i] === "string") + $util.base64.decode(object.indexValues[i], message.indexValues[i] = $util.newBuffer($util.base64.length(object.indexValues[i])), 0); + else if (object.indexValues[i].length >= 0) + message.indexValues[i] = object.indexValues[i]; } - if (object.offset != null) { - if (typeof object.offset !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.offset: object expected"); - message.offset = $root.google.protobuf.UInt32Value.fromObject(object.offset); + switch (object.resultType) { + case "DOCUMENTS": + case 0: + message.resultType = 0; + break; + case "VOTE_TALLY": + case 1: + message.resultType = 1; + break; + case "DOCUMENTS_AND_VOTE_TALLY": + case 2: + message.resultType = 2; + break; } - if (object.orderAscending != null) - message.orderAscending = Boolean(object.orderAscending); - if (object.startAtVotePollIdInfo != null) { - if (typeof object.startAtVotePollIdInfo !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.startAtVotePollIdInfo: object expected"); - message.startAtVotePollIdInfo = $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.fromObject(object.startAtVotePollIdInfo); + if (object.allowIncludeLockedAndAbstainingVoteTally != null) + message.allowIncludeLockedAndAbstainingVoteTally = Boolean(object.allowIncludeLockedAndAbstainingVoteTally); + if (object.startAtIdentifierInfo != null) { + if (typeof object.startAtIdentifierInfo !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.startAtIdentifierInfo: object expected"); + message.startAtIdentifierInfo = $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.fromObject(object.startAtIdentifierInfo); } + 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 GetContestedResourceIdentityVotesRequestV0 message. Also converts values to other types if specified. + * Creates a plain object from a GetContestedResourceVoteStateRequestV0 message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0} message GetContestedResourceIdentityVotesRequestV0 + * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} message GetContestedResourceVoteStateRequestV0 * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetContestedResourceIdentityVotesRequestV0.toObject = function toObject(message, options) { + GetContestedResourceVoteStateRequestV0.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; + if (options.arrays || options.defaults) + object.indexValues = []; if (options.defaults) { if (options.bytes === String) - object.identityId = ""; + object.contractId = ""; else { - object.identityId = []; + object.contractId = []; if (options.bytes !== Array) - object.identityId = $util.newBuffer(object.identityId); + object.contractId = $util.newBuffer(object.contractId); } - object.limit = null; - object.offset = null; - object.orderAscending = false; - object.startAtVotePollIdInfo = null; + object.documentTypeName = ""; + object.indexName = ""; + object.resultType = options.enums === String ? "DOCUMENTS" : 0; + object.allowIncludeLockedAndAbstainingVoteTally = false; + object.startAtIdentifierInfo = null; + object.count = 0; object.prove = false; } - 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.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.orderAscending != null && message.hasOwnProperty("orderAscending")) - object.orderAscending = message.orderAscending; - if (message.startAtVotePollIdInfo != null && message.hasOwnProperty("startAtVotePollIdInfo")) - object.startAtVotePollIdInfo = $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.toObject(message.startAtVotePollIdInfo, 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.documentTypeName != null && message.hasOwnProperty("documentTypeName")) + object.documentTypeName = message.documentTypeName; + if (message.indexName != null && message.hasOwnProperty("indexName")) + object.indexName = message.indexName; + if (message.indexValues && message.indexValues.length) { + object.indexValues = []; + for (var j = 0; j < message.indexValues.length; ++j) + object.indexValues[j] = options.bytes === String ? $util.base64.encode(message.indexValues[j], 0, message.indexValues[j].length) : options.bytes === Array ? Array.prototype.slice.call(message.indexValues[j]) : message.indexValues[j]; + } + if (message.resultType != null && message.hasOwnProperty("resultType")) + object.resultType = options.enums === String ? $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.ResultType[message.resultType] : message.resultType; + if (message.allowIncludeLockedAndAbstainingVoteTally != null && message.hasOwnProperty("allowIncludeLockedAndAbstainingVoteTally")) + object.allowIncludeLockedAndAbstainingVoteTally = message.allowIncludeLockedAndAbstainingVoteTally; + if (message.startAtIdentifierInfo != null && message.hasOwnProperty("startAtIdentifierInfo")) + object.startAtIdentifierInfo = $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.toObject(message.startAtIdentifierInfo, options); + 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 GetContestedResourceIdentityVotesRequestV0 to JSON. + * Converts this GetContestedResourceVoteStateRequestV0 to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0 * @instance * @returns {Object.} JSON object */ - GetContestedResourceIdentityVotesRequestV0.prototype.toJSON = function toJSON() { + GetContestedResourceVoteStateRequestV0.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo = (function() { + GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo = (function() { /** - * Properties of a StartAtVotePollIdInfo. - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0 - * @interface IStartAtVotePollIdInfo - * @property {Uint8Array|null} [startAtPollIdentifier] StartAtVotePollIdInfo startAtPollIdentifier - * @property {boolean|null} [startPollIdentifierIncluded] StartAtVotePollIdInfo startPollIdentifierIncluded + * Properties of a StartAtIdentifierInfo. + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0 + * @interface IStartAtIdentifierInfo + * @property {Uint8Array|null} [startIdentifier] StartAtIdentifierInfo startIdentifier + * @property {boolean|null} [startIdentifierIncluded] StartAtIdentifierInfo startIdentifierIncluded */ /** - * Constructs a new StartAtVotePollIdInfo. - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0 - * @classdesc Represents a StartAtVotePollIdInfo. - * @implements IStartAtVotePollIdInfo + * Constructs a new StartAtIdentifierInfo. + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0 + * @classdesc Represents a StartAtIdentifierInfo. + * @implements IStartAtIdentifierInfo * @constructor - * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.IStartAtVotePollIdInfo=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.IStartAtIdentifierInfo=} [properties] Properties to set */ - function StartAtVotePollIdInfo(properties) { + function StartAtIdentifierInfo(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -35626,88 +35391,88 @@ $root.org = (function() { } /** - * StartAtVotePollIdInfo startAtPollIdentifier. - * @member {Uint8Array} startAtPollIdentifier - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo + * StartAtIdentifierInfo startIdentifier. + * @member {Uint8Array} startIdentifier + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo * @instance */ - StartAtVotePollIdInfo.prototype.startAtPollIdentifier = $util.newBuffer([]); + StartAtIdentifierInfo.prototype.startIdentifier = $util.newBuffer([]); /** - * StartAtVotePollIdInfo startPollIdentifierIncluded. - * @member {boolean} startPollIdentifierIncluded - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo + * StartAtIdentifierInfo startIdentifierIncluded. + * @member {boolean} startIdentifierIncluded + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo * @instance */ - StartAtVotePollIdInfo.prototype.startPollIdentifierIncluded = false; + StartAtIdentifierInfo.prototype.startIdentifierIncluded = false; /** - * Creates a new StartAtVotePollIdInfo instance using the specified properties. + * Creates a new StartAtIdentifierInfo instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.IStartAtVotePollIdInfo=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo} StartAtVotePollIdInfo instance + * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.IStartAtIdentifierInfo=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo} StartAtIdentifierInfo instance */ - StartAtVotePollIdInfo.create = function create(properties) { - return new StartAtVotePollIdInfo(properties); + StartAtIdentifierInfo.create = function create(properties) { + return new StartAtIdentifierInfo(properties); }; /** - * Encodes the specified StartAtVotePollIdInfo message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.verify|verify} messages. + * Encodes the specified StartAtIdentifierInfo message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.IStartAtVotePollIdInfo} message StartAtVotePollIdInfo message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.IStartAtIdentifierInfo} message StartAtIdentifierInfo message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - StartAtVotePollIdInfo.encode = function encode(message, writer) { + StartAtIdentifierInfo.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.startAtPollIdentifier != null && Object.hasOwnProperty.call(message, "startAtPollIdentifier")) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.startAtPollIdentifier); - if (message.startPollIdentifierIncluded != null && Object.hasOwnProperty.call(message, "startPollIdentifierIncluded")) - writer.uint32(/* id 2, wireType 0 =*/16).bool(message.startPollIdentifierIncluded); + if (message.startIdentifier != null && Object.hasOwnProperty.call(message, "startIdentifier")) + writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.startIdentifier); + if (message.startIdentifierIncluded != null && Object.hasOwnProperty.call(message, "startIdentifierIncluded")) + writer.uint32(/* id 2, wireType 0 =*/16).bool(message.startIdentifierIncluded); return writer; }; /** - * Encodes the specified StartAtVotePollIdInfo message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.verify|verify} messages. + * Encodes the specified StartAtIdentifierInfo message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.IStartAtVotePollIdInfo} message StartAtVotePollIdInfo message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.IStartAtIdentifierInfo} message StartAtIdentifierInfo message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - StartAtVotePollIdInfo.encodeDelimited = function encodeDelimited(message, writer) { + StartAtIdentifierInfo.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a StartAtVotePollIdInfo message from the specified reader or buffer. + * Decodes a StartAtIdentifierInfo message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo * @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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo} StartAtVotePollIdInfo + * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo} StartAtIdentifierInfo * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - StartAtVotePollIdInfo.decode = function decode(reader, length) { + StartAtIdentifierInfo.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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.startAtPollIdentifier = reader.bytes(); + message.startIdentifier = reader.bytes(); break; case 2: - message.startPollIdentifierIncluded = reader.bool(); + message.startIdentifierIncluded = reader.bool(); break; default: reader.skipType(tag & 7); @@ -35718,131 +35483,147 @@ $root.org = (function() { }; /** - * Decodes a StartAtVotePollIdInfo message from the specified reader or buffer, length delimited. + * Decodes a StartAtIdentifierInfo message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo} StartAtVotePollIdInfo + * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo} StartAtIdentifierInfo * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - StartAtVotePollIdInfo.decodeDelimited = function decodeDelimited(reader) { + StartAtIdentifierInfo.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a StartAtVotePollIdInfo message. + * Verifies a StartAtIdentifierInfo message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - StartAtVotePollIdInfo.verify = function verify(message) { + StartAtIdentifierInfo.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.startAtPollIdentifier != null && message.hasOwnProperty("startAtPollIdentifier")) - if (!(message.startAtPollIdentifier && typeof message.startAtPollIdentifier.length === "number" || $util.isString(message.startAtPollIdentifier))) - return "startAtPollIdentifier: buffer expected"; - if (message.startPollIdentifierIncluded != null && message.hasOwnProperty("startPollIdentifierIncluded")) - if (typeof message.startPollIdentifierIncluded !== "boolean") - return "startPollIdentifierIncluded: boolean expected"; + if (message.startIdentifier != null && message.hasOwnProperty("startIdentifier")) + if (!(message.startIdentifier && typeof message.startIdentifier.length === "number" || $util.isString(message.startIdentifier))) + return "startIdentifier: buffer expected"; + if (message.startIdentifierIncluded != null && message.hasOwnProperty("startIdentifierIncluded")) + if (typeof message.startIdentifierIncluded !== "boolean") + return "startIdentifierIncluded: boolean expected"; return null; }; /** - * Creates a StartAtVotePollIdInfo message from a plain object. Also converts values to their respective internal types. + * Creates a StartAtIdentifierInfo message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo} StartAtVotePollIdInfo + * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo} StartAtIdentifierInfo */ - StartAtVotePollIdInfo.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo) + StartAtIdentifierInfo.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo) return object; - var message = new $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo(); - if (object.startAtPollIdentifier != null) - if (typeof object.startAtPollIdentifier === "string") - $util.base64.decode(object.startAtPollIdentifier, message.startAtPollIdentifier = $util.newBuffer($util.base64.length(object.startAtPollIdentifier)), 0); - else if (object.startAtPollIdentifier.length >= 0) - message.startAtPollIdentifier = object.startAtPollIdentifier; - if (object.startPollIdentifierIncluded != null) - message.startPollIdentifierIncluded = Boolean(object.startPollIdentifierIncluded); + var message = new $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo(); + if (object.startIdentifier != null) + if (typeof object.startIdentifier === "string") + $util.base64.decode(object.startIdentifier, message.startIdentifier = $util.newBuffer($util.base64.length(object.startIdentifier)), 0); + else if (object.startIdentifier.length >= 0) + message.startIdentifier = object.startIdentifier; + if (object.startIdentifierIncluded != null) + message.startIdentifierIncluded = Boolean(object.startIdentifierIncluded); return message; }; /** - * Creates a plain object from a StartAtVotePollIdInfo message. Also converts values to other types if specified. + * Creates a plain object from a StartAtIdentifierInfo message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo} message StartAtVotePollIdInfo + * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo} message StartAtIdentifierInfo * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - StartAtVotePollIdInfo.toObject = function toObject(message, options) { + StartAtIdentifierInfo.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { if (options.bytes === String) - object.startAtPollIdentifier = ""; + object.startIdentifier = ""; else { - object.startAtPollIdentifier = []; + object.startIdentifier = []; if (options.bytes !== Array) - object.startAtPollIdentifier = $util.newBuffer(object.startAtPollIdentifier); + object.startIdentifier = $util.newBuffer(object.startIdentifier); } - object.startPollIdentifierIncluded = false; + object.startIdentifierIncluded = false; } - if (message.startAtPollIdentifier != null && message.hasOwnProperty("startAtPollIdentifier")) - object.startAtPollIdentifier = options.bytes === String ? $util.base64.encode(message.startAtPollIdentifier, 0, message.startAtPollIdentifier.length) : options.bytes === Array ? Array.prototype.slice.call(message.startAtPollIdentifier) : message.startAtPollIdentifier; - if (message.startPollIdentifierIncluded != null && message.hasOwnProperty("startPollIdentifierIncluded")) - object.startPollIdentifierIncluded = message.startPollIdentifierIncluded; + if (message.startIdentifier != null && message.hasOwnProperty("startIdentifier")) + object.startIdentifier = options.bytes === String ? $util.base64.encode(message.startIdentifier, 0, message.startIdentifier.length) : options.bytes === Array ? Array.prototype.slice.call(message.startIdentifier) : message.startIdentifier; + if (message.startIdentifierIncluded != null && message.hasOwnProperty("startIdentifierIncluded")) + object.startIdentifierIncluded = message.startIdentifierIncluded; return object; }; /** - * Converts this StartAtVotePollIdInfo to JSON. + * Converts this StartAtIdentifierInfo to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo * @instance * @returns {Object.} JSON object */ - StartAtVotePollIdInfo.prototype.toJSON = function toJSON() { + StartAtIdentifierInfo.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return StartAtVotePollIdInfo; + return StartAtIdentifierInfo; })(); - return GetContestedResourceIdentityVotesRequestV0; + /** + * ResultType enum. + * @name org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.ResultType + * @enum {number} + * @property {number} DOCUMENTS=0 DOCUMENTS value + * @property {number} VOTE_TALLY=1 VOTE_TALLY value + * @property {number} DOCUMENTS_AND_VOTE_TALLY=2 DOCUMENTS_AND_VOTE_TALLY value + */ + GetContestedResourceVoteStateRequestV0.ResultType = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "DOCUMENTS"] = 0; + values[valuesById[1] = "VOTE_TALLY"] = 1; + values[valuesById[2] = "DOCUMENTS_AND_VOTE_TALLY"] = 2; + return values; + })(); + + return GetContestedResourceVoteStateRequestV0; })(); - return GetContestedResourceIdentityVotesRequest; + return GetContestedResourceVoteStateRequest; })(); - v0.GetContestedResourceIdentityVotesResponse = (function() { + v0.GetContestedResourceVoteStateResponse = (function() { /** - * Properties of a GetContestedResourceIdentityVotesResponse. + * Properties of a GetContestedResourceVoteStateResponse. * @memberof org.dash.platform.dapi.v0 - * @interface IGetContestedResourceIdentityVotesResponse - * @property {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.IGetContestedResourceIdentityVotesResponseV0|null} [v0] GetContestedResourceIdentityVotesResponse v0 + * @interface IGetContestedResourceVoteStateResponse + * @property {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.IGetContestedResourceVoteStateResponseV0|null} [v0] GetContestedResourceVoteStateResponse v0 */ /** - * Constructs a new GetContestedResourceIdentityVotesResponse. + * Constructs a new GetContestedResourceVoteStateResponse. * @memberof org.dash.platform.dapi.v0 - * @classdesc Represents a GetContestedResourceIdentityVotesResponse. - * @implements IGetContestedResourceIdentityVotesResponse + * @classdesc Represents a GetContestedResourceVoteStateResponse. + * @implements IGetContestedResourceVoteStateResponse * @constructor - * @param {org.dash.platform.dapi.v0.IGetContestedResourceIdentityVotesResponse=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.IGetContestedResourceVoteStateResponse=} [properties] Properties to set */ - function GetContestedResourceIdentityVotesResponse(properties) { + function GetContestedResourceVoteStateResponse(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -35850,89 +35631,89 @@ $root.org = (function() { } /** - * GetContestedResourceIdentityVotesResponse v0. - * @member {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.IGetContestedResourceIdentityVotesResponseV0|null|undefined} v0 - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse + * GetContestedResourceVoteStateResponse v0. + * @member {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.IGetContestedResourceVoteStateResponseV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse * @instance */ - GetContestedResourceIdentityVotesResponse.prototype.v0 = null; + GetContestedResourceVoteStateResponse.prototype.v0 = null; // OneOf field names bound to virtual getters and setters var $oneOfFields; /** - * GetContestedResourceIdentityVotesResponse version. + * GetContestedResourceVoteStateResponse version. * @member {"v0"|undefined} version - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse * @instance */ - Object.defineProperty(GetContestedResourceIdentityVotesResponse.prototype, "version", { + Object.defineProperty(GetContestedResourceVoteStateResponse.prototype, "version", { get: $util.oneOfGetter($oneOfFields = ["v0"]), set: $util.oneOfSetter($oneOfFields) }); /** - * Creates a new GetContestedResourceIdentityVotesResponse instance using the specified properties. + * Creates a new GetContestedResourceVoteStateResponse instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse * @static - * @param {org.dash.platform.dapi.v0.IGetContestedResourceIdentityVotesResponse=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse} GetContestedResourceIdentityVotesResponse instance + * @param {org.dash.platform.dapi.v0.IGetContestedResourceVoteStateResponse=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse} GetContestedResourceVoteStateResponse instance */ - GetContestedResourceIdentityVotesResponse.create = function create(properties) { - return new GetContestedResourceIdentityVotesResponse(properties); + GetContestedResourceVoteStateResponse.create = function create(properties) { + return new GetContestedResourceVoteStateResponse(properties); }; /** - * Encodes the specified GetContestedResourceIdentityVotesResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.verify|verify} messages. + * Encodes the specified GetContestedResourceVoteStateResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse * @static - * @param {org.dash.platform.dapi.v0.IGetContestedResourceIdentityVotesResponse} message GetContestedResourceIdentityVotesResponse message or plain object to encode + * @param {org.dash.platform.dapi.v0.IGetContestedResourceVoteStateResponse} message GetContestedResourceVoteStateResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetContestedResourceIdentityVotesResponse.encode = function encode(message, writer) { + GetContestedResourceVoteStateResponse.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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified GetContestedResourceIdentityVotesResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.verify|verify} messages. + * Encodes the specified GetContestedResourceVoteStateResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse * @static - * @param {org.dash.platform.dapi.v0.IGetContestedResourceIdentityVotesResponse} message GetContestedResourceIdentityVotesResponse message or plain object to encode + * @param {org.dash.platform.dapi.v0.IGetContestedResourceVoteStateResponse} message GetContestedResourceVoteStateResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetContestedResourceIdentityVotesResponse.encodeDelimited = function encodeDelimited(message, writer) { + GetContestedResourceVoteStateResponse.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetContestedResourceIdentityVotesResponse message from the specified reader or buffer. + * Decodes a GetContestedResourceVoteStateResponse message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse * @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.GetContestedResourceIdentityVotesResponse} GetContestedResourceIdentityVotesResponse + * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse} GetContestedResourceVoteStateResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetContestedResourceIdentityVotesResponse.decode = function decode(reader, length) { + GetContestedResourceVoteStateResponse.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.GetContestedResourceIdentityVotesResponse(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.v0 = $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.decode(reader, reader.uint32()); + message.v0 = $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -35943,37 +35724,37 @@ $root.org = (function() { }; /** - * Decodes a GetContestedResourceIdentityVotesResponse message from the specified reader or buffer, length delimited. + * Decodes a GetContestedResourceVoteStateResponse message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse} GetContestedResourceIdentityVotesResponse + * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse} GetContestedResourceVoteStateResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetContestedResourceIdentityVotesResponse.decodeDelimited = function decodeDelimited(reader) { + GetContestedResourceVoteStateResponse.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GetContestedResourceIdentityVotesResponse message. + * Verifies a GetContestedResourceVoteStateResponse message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetContestedResourceIdentityVotesResponse.verify = function verify(message) { + GetContestedResourceVoteStateResponse.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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.verify(message.v0); + var error = $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.verify(message.v0); if (error) return "v0." + error; } @@ -35982,40 +35763,40 @@ $root.org = (function() { }; /** - * Creates a GetContestedResourceIdentityVotesResponse message from a plain object. Also converts values to their respective internal types. + * Creates a GetContestedResourceVoteStateResponse message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse} GetContestedResourceIdentityVotesResponse + * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse} GetContestedResourceVoteStateResponse */ - GetContestedResourceIdentityVotesResponse.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse) + GetContestedResourceVoteStateResponse.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse) return object; - var message = new $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse(); + var message = new $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse(); if (object.v0 != null) { if (typeof object.v0 !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.v0: object expected"); - message.v0 = $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.fromObject(object.v0); + throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.v0: object expected"); + message.v0 = $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.fromObject(object.v0); } return message; }; /** - * Creates a plain object from a GetContestedResourceIdentityVotesResponse message. Also converts values to other types if specified. + * Creates a plain object from a GetContestedResourceVoteStateResponse message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse} message GetContestedResourceIdentityVotesResponse + * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse} message GetContestedResourceVoteStateResponse * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetContestedResourceIdentityVotesResponse.toObject = function toObject(message, options) { + GetContestedResourceVoteStateResponse.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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.toObject(message.v0, options); + object.v0 = $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.toObject(message.v0, options); if (options.oneofs) object.version = "v0"; } @@ -36023,36 +35804,36 @@ $root.org = (function() { }; /** - * Converts this GetContestedResourceIdentityVotesResponse to JSON. + * Converts this GetContestedResourceVoteStateResponse to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse * @instance * @returns {Object.} JSON object */ - GetContestedResourceIdentityVotesResponse.prototype.toJSON = function toJSON() { + GetContestedResourceVoteStateResponse.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0 = (function() { + GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0 = (function() { /** - * Properties of a GetContestedResourceIdentityVotesResponseV0. - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse - * @interface IGetContestedResourceIdentityVotesResponseV0 - * @property {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.IContestedResourceIdentityVotes|null} [votes] GetContestedResourceIdentityVotesResponseV0 votes - * @property {org.dash.platform.dapi.v0.IProof|null} [proof] GetContestedResourceIdentityVotesResponseV0 proof - * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetContestedResourceIdentityVotesResponseV0 metadata + * Properties of a GetContestedResourceVoteStateResponseV0. + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse + * @interface IGetContestedResourceVoteStateResponseV0 + * @property {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.IContestedResourceContenders|null} [contestedResourceContenders] GetContestedResourceVoteStateResponseV0 contestedResourceContenders + * @property {org.dash.platform.dapi.v0.IProof|null} [proof] GetContestedResourceVoteStateResponseV0 proof + * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetContestedResourceVoteStateResponseV0 metadata */ /** - * Constructs a new GetContestedResourceIdentityVotesResponseV0. - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse - * @classdesc Represents a GetContestedResourceIdentityVotesResponseV0. - * @implements IGetContestedResourceIdentityVotesResponseV0 + * Constructs a new GetContestedResourceVoteStateResponseV0. + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse + * @classdesc Represents a GetContestedResourceVoteStateResponseV0. + * @implements IGetContestedResourceVoteStateResponseV0 * @constructor - * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.IGetContestedResourceIdentityVotesResponseV0=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.IGetContestedResourceVoteStateResponseV0=} [properties] Properties to set */ - function GetContestedResourceIdentityVotesResponseV0(properties) { + function GetContestedResourceVoteStateResponseV0(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -36060,69 +35841,69 @@ $root.org = (function() { } /** - * GetContestedResourceIdentityVotesResponseV0 votes. - * @member {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.IContestedResourceIdentityVotes|null|undefined} votes - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0 + * GetContestedResourceVoteStateResponseV0 contestedResourceContenders. + * @member {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.IContestedResourceContenders|null|undefined} contestedResourceContenders + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0 * @instance */ - GetContestedResourceIdentityVotesResponseV0.prototype.votes = null; + GetContestedResourceVoteStateResponseV0.prototype.contestedResourceContenders = null; /** - * GetContestedResourceIdentityVotesResponseV0 proof. + * GetContestedResourceVoteStateResponseV0 proof. * @member {org.dash.platform.dapi.v0.IProof|null|undefined} proof - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0 * @instance */ - GetContestedResourceIdentityVotesResponseV0.prototype.proof = null; + GetContestedResourceVoteStateResponseV0.prototype.proof = null; /** - * GetContestedResourceIdentityVotesResponseV0 metadata. + * GetContestedResourceVoteStateResponseV0 metadata. * @member {org.dash.platform.dapi.v0.IResponseMetadata|null|undefined} metadata - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0 * @instance */ - GetContestedResourceIdentityVotesResponseV0.prototype.metadata = null; + GetContestedResourceVoteStateResponseV0.prototype.metadata = null; // OneOf field names bound to virtual getters and setters var $oneOfFields; /** - * GetContestedResourceIdentityVotesResponseV0 result. - * @member {"votes"|"proof"|undefined} result - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0 + * GetContestedResourceVoteStateResponseV0 result. + * @member {"contestedResourceContenders"|"proof"|undefined} result + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0 * @instance */ - Object.defineProperty(GetContestedResourceIdentityVotesResponseV0.prototype, "result", { - get: $util.oneOfGetter($oneOfFields = ["votes", "proof"]), + Object.defineProperty(GetContestedResourceVoteStateResponseV0.prototype, "result", { + get: $util.oneOfGetter($oneOfFields = ["contestedResourceContenders", "proof"]), set: $util.oneOfSetter($oneOfFields) }); /** - * Creates a new GetContestedResourceIdentityVotesResponseV0 instance using the specified properties. + * Creates a new GetContestedResourceVoteStateResponseV0 instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.IGetContestedResourceIdentityVotesResponseV0=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0} GetContestedResourceIdentityVotesResponseV0 instance + * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.IGetContestedResourceVoteStateResponseV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0} GetContestedResourceVoteStateResponseV0 instance */ - GetContestedResourceIdentityVotesResponseV0.create = function create(properties) { - return new GetContestedResourceIdentityVotesResponseV0(properties); + GetContestedResourceVoteStateResponseV0.create = function create(properties) { + return new GetContestedResourceVoteStateResponseV0(properties); }; /** - * Encodes the specified GetContestedResourceIdentityVotesResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.verify|verify} messages. + * Encodes the specified GetContestedResourceVoteStateResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.IGetContestedResourceIdentityVotesResponseV0} message GetContestedResourceIdentityVotesResponseV0 message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.IGetContestedResourceVoteStateResponseV0} message GetContestedResourceVoteStateResponseV0 message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetContestedResourceIdentityVotesResponseV0.encode = function encode(message, writer) { + GetContestedResourceVoteStateResponseV0.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.votes != null && Object.hasOwnProperty.call(message, "votes")) - $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.encode(message.votes, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.contestedResourceContenders != null && Object.hasOwnProperty.call(message, "contestedResourceContenders")) + $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.encode(message.contestedResourceContenders, 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")) @@ -36131,38 +35912,38 @@ $root.org = (function() { }; /** - * Encodes the specified GetContestedResourceIdentityVotesResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.verify|verify} messages. + * Encodes the specified GetContestedResourceVoteStateResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.IGetContestedResourceIdentityVotesResponseV0} message GetContestedResourceIdentityVotesResponseV0 message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.IGetContestedResourceVoteStateResponseV0} message GetContestedResourceVoteStateResponseV0 message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetContestedResourceIdentityVotesResponseV0.encodeDelimited = function encodeDelimited(message, writer) { + GetContestedResourceVoteStateResponseV0.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetContestedResourceIdentityVotesResponseV0 message from the specified reader or buffer. + * Decodes a GetContestedResourceVoteStateResponseV0 message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0 * @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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0} GetContestedResourceIdentityVotesResponseV0 + * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0} GetContestedResourceVoteStateResponseV0 * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetContestedResourceIdentityVotesResponseV0.decode = function decode(reader, length) { + GetContestedResourceVoteStateResponseV0.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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.votes = $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.decode(reader, reader.uint32()); + message.contestedResourceContenders = $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.decode(reader, reader.uint32()); break; case 2: message.proof = $root.org.dash.platform.dapi.v0.Proof.decode(reader, reader.uint32()); @@ -36179,39 +35960,39 @@ $root.org = (function() { }; /** - * Decodes a GetContestedResourceIdentityVotesResponseV0 message from the specified reader or buffer, length delimited. + * Decodes a GetContestedResourceVoteStateResponseV0 message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0 * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0} GetContestedResourceIdentityVotesResponseV0 + * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0} GetContestedResourceVoteStateResponseV0 * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetContestedResourceIdentityVotesResponseV0.decodeDelimited = function decodeDelimited(reader) { + GetContestedResourceVoteStateResponseV0.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GetContestedResourceIdentityVotesResponseV0 message. + * Verifies a GetContestedResourceVoteStateResponseV0 message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0 * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetContestedResourceIdentityVotesResponseV0.verify = function verify(message) { + GetContestedResourceVoteStateResponseV0.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; var properties = {}; - if (message.votes != null && message.hasOwnProperty("votes")) { + if (message.contestedResourceContenders != null && message.hasOwnProperty("contestedResourceContenders")) { properties.result = 1; { - var error = $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.verify(message.votes); + var error = $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.verify(message.contestedResourceContenders); if (error) - return "votes." + error; + return "contestedResourceContenders." + error; } } if (message.proof != null && message.hasOwnProperty("proof")) { @@ -36233,54 +36014,54 @@ $root.org = (function() { }; /** - * Creates a GetContestedResourceIdentityVotesResponseV0 message from a plain object. Also converts values to their respective internal types. + * Creates a GetContestedResourceVoteStateResponseV0 message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0 * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0} GetContestedResourceIdentityVotesResponseV0 + * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0} GetContestedResourceVoteStateResponseV0 */ - GetContestedResourceIdentityVotesResponseV0.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0) + GetContestedResourceVoteStateResponseV0.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0) return object; - var message = new $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0(); - if (object.votes != null) { - if (typeof object.votes !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.votes: object expected"); - message.votes = $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.fromObject(object.votes); + var message = new $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0(); + if (object.contestedResourceContenders != null) { + if (typeof object.contestedResourceContenders !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.contestedResourceContenders: object expected"); + message.contestedResourceContenders = $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.fromObject(object.contestedResourceContenders); } if (object.proof != null) { if (typeof object.proof !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.proof: object expected"); + throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.metadata: object expected"); + throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.metadata: object expected"); message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.fromObject(object.metadata); } return message; }; /** - * Creates a plain object from a GetContestedResourceIdentityVotesResponseV0 message. Also converts values to other types if specified. + * Creates a plain object from a GetContestedResourceVoteStateResponseV0 message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0} message GetContestedResourceIdentityVotesResponseV0 + * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0} message GetContestedResourceVoteStateResponseV0 * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetContestedResourceIdentityVotesResponseV0.toObject = function toObject(message, options) { + GetContestedResourceVoteStateResponseV0.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) object.metadata = null; - if (message.votes != null && message.hasOwnProperty("votes")) { - object.votes = $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.toObject(message.votes, options); + if (message.contestedResourceContenders != null && message.hasOwnProperty("contestedResourceContenders")) { + object.contestedResourceContenders = $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.toObject(message.contestedResourceContenders, options); if (options.oneofs) - object.result = "votes"; + object.result = "contestedResourceContenders"; } if (message.proof != null && message.hasOwnProperty("proof")) { object.proof = $root.org.dash.platform.dapi.v0.Proof.toObject(message.proof, options); @@ -36293,36 +36074,39 @@ $root.org = (function() { }; /** - * Converts this GetContestedResourceIdentityVotesResponseV0 to JSON. + * Converts this GetContestedResourceVoteStateResponseV0 to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0 * @instance * @returns {Object.} JSON object */ - GetContestedResourceIdentityVotesResponseV0.prototype.toJSON = function toJSON() { + GetContestedResourceVoteStateResponseV0.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes = (function() { + GetContestedResourceVoteStateResponseV0.FinishedVoteInfo = (function() { /** - * Properties of a ContestedResourceIdentityVotes. - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0 - * @interface IContestedResourceIdentityVotes - * @property {Array.|null} [contestedResourceIdentityVotes] ContestedResourceIdentityVotes contestedResourceIdentityVotes - * @property {boolean|null} [finishedResults] ContestedResourceIdentityVotes finishedResults + * Properties of a FinishedVoteInfo. + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0 + * @interface IFinishedVoteInfo + * @property {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.FinishedVoteOutcome|null} [finishedVoteOutcome] FinishedVoteInfo finishedVoteOutcome + * @property {Uint8Array|null} [wonByIdentityId] FinishedVoteInfo wonByIdentityId + * @property {number|Long|null} [finishedAtBlockHeight] FinishedVoteInfo finishedAtBlockHeight + * @property {number|null} [finishedAtCoreBlockHeight] FinishedVoteInfo finishedAtCoreBlockHeight + * @property {number|Long|null} [finishedAtBlockTimeMs] FinishedVoteInfo finishedAtBlockTimeMs + * @property {number|null} [finishedAtEpoch] FinishedVoteInfo finishedAtEpoch */ /** - * Constructs a new ContestedResourceIdentityVotes. - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0 - * @classdesc Represents a ContestedResourceIdentityVotes. - * @implements IContestedResourceIdentityVotes + * Constructs a new FinishedVoteInfo. + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0 + * @classdesc Represents a FinishedVoteInfo. + * @implements IFinishedVoteInfo * @constructor - * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.IContestedResourceIdentityVotes=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.IFinishedVoteInfo=} [properties] Properties to set */ - function ContestedResourceIdentityVotes(properties) { - this.contestedResourceIdentityVotes = []; + function FinishedVoteInfo(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -36330,91 +36114,140 @@ $root.org = (function() { } /** - * ContestedResourceIdentityVotes contestedResourceIdentityVotes. - * @member {Array.} contestedResourceIdentityVotes - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes + * FinishedVoteInfo finishedVoteOutcome. + * @member {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.FinishedVoteOutcome} finishedVoteOutcome + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo * @instance */ - ContestedResourceIdentityVotes.prototype.contestedResourceIdentityVotes = $util.emptyArray; + FinishedVoteInfo.prototype.finishedVoteOutcome = 0; /** - * ContestedResourceIdentityVotes finishedResults. - * @member {boolean} finishedResults - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes + * FinishedVoteInfo wonByIdentityId. + * @member {Uint8Array} wonByIdentityId + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo * @instance */ - ContestedResourceIdentityVotes.prototype.finishedResults = false; + FinishedVoteInfo.prototype.wonByIdentityId = $util.newBuffer([]); /** - * Creates a new ContestedResourceIdentityVotes instance using the specified properties. + * FinishedVoteInfo finishedAtBlockHeight. + * @member {number|Long} finishedAtBlockHeight + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo + * @instance + */ + FinishedVoteInfo.prototype.finishedAtBlockHeight = $util.Long ? $util.Long.fromBits(0,0,true) : 0; + + /** + * FinishedVoteInfo finishedAtCoreBlockHeight. + * @member {number} finishedAtCoreBlockHeight + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo + * @instance + */ + FinishedVoteInfo.prototype.finishedAtCoreBlockHeight = 0; + + /** + * FinishedVoteInfo finishedAtBlockTimeMs. + * @member {number|Long} finishedAtBlockTimeMs + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo + * @instance + */ + FinishedVoteInfo.prototype.finishedAtBlockTimeMs = $util.Long ? $util.Long.fromBits(0,0,true) : 0; + + /** + * FinishedVoteInfo finishedAtEpoch. + * @member {number} finishedAtEpoch + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo + * @instance + */ + FinishedVoteInfo.prototype.finishedAtEpoch = 0; + + /** + * Creates a new FinishedVoteInfo instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.IContestedResourceIdentityVotes=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes} ContestedResourceIdentityVotes instance + * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.IFinishedVoteInfo=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo} FinishedVoteInfo instance */ - ContestedResourceIdentityVotes.create = function create(properties) { - return new ContestedResourceIdentityVotes(properties); + FinishedVoteInfo.create = function create(properties) { + return new FinishedVoteInfo(properties); }; /** - * Encodes the specified ContestedResourceIdentityVotes message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.verify|verify} messages. + * Encodes the specified FinishedVoteInfo message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.IContestedResourceIdentityVotes} message ContestedResourceIdentityVotes message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.IFinishedVoteInfo} message FinishedVoteInfo message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - ContestedResourceIdentityVotes.encode = function encode(message, writer) { + FinishedVoteInfo.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.contestedResourceIdentityVotes != null && message.contestedResourceIdentityVotes.length) - for (var i = 0; i < message.contestedResourceIdentityVotes.length; ++i) - $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.encode(message.contestedResourceIdentityVotes[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.finishedResults != null && Object.hasOwnProperty.call(message, "finishedResults")) - writer.uint32(/* id 2, wireType 0 =*/16).bool(message.finishedResults); + if (message.finishedVoteOutcome != null && Object.hasOwnProperty.call(message, "finishedVoteOutcome")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.finishedVoteOutcome); + if (message.wonByIdentityId != null && Object.hasOwnProperty.call(message, "wonByIdentityId")) + writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.wonByIdentityId); + if (message.finishedAtBlockHeight != null && Object.hasOwnProperty.call(message, "finishedAtBlockHeight")) + writer.uint32(/* id 3, wireType 0 =*/24).uint64(message.finishedAtBlockHeight); + if (message.finishedAtCoreBlockHeight != null && Object.hasOwnProperty.call(message, "finishedAtCoreBlockHeight")) + writer.uint32(/* id 4, wireType 0 =*/32).uint32(message.finishedAtCoreBlockHeight); + if (message.finishedAtBlockTimeMs != null && Object.hasOwnProperty.call(message, "finishedAtBlockTimeMs")) + writer.uint32(/* id 5, wireType 0 =*/40).uint64(message.finishedAtBlockTimeMs); + if (message.finishedAtEpoch != null && Object.hasOwnProperty.call(message, "finishedAtEpoch")) + writer.uint32(/* id 6, wireType 0 =*/48).uint32(message.finishedAtEpoch); return writer; }; /** - * Encodes the specified ContestedResourceIdentityVotes message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.verify|verify} messages. + * Encodes the specified FinishedVoteInfo message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.IContestedResourceIdentityVotes} message ContestedResourceIdentityVotes message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.IFinishedVoteInfo} message FinishedVoteInfo message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - ContestedResourceIdentityVotes.encodeDelimited = function encodeDelimited(message, writer) { + FinishedVoteInfo.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a ContestedResourceIdentityVotes message from the specified reader or buffer. + * Decodes a FinishedVoteInfo message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo * @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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes} ContestedResourceIdentityVotes + * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo} FinishedVoteInfo * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ContestedResourceIdentityVotes.decode = function decode(reader, length) { + FinishedVoteInfo.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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - if (!(message.contestedResourceIdentityVotes && message.contestedResourceIdentityVotes.length)) - message.contestedResourceIdentityVotes = []; - message.contestedResourceIdentityVotes.push($root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.decode(reader, reader.uint32())); + message.finishedVoteOutcome = reader.int32(); break; case 2: - message.finishedResults = reader.bool(); + message.wonByIdentityId = reader.bytes(); + break; + case 3: + message.finishedAtBlockHeight = reader.uint64(); + break; + case 4: + message.finishedAtCoreBlockHeight = reader.uint32(); + break; + case 5: + message.finishedAtBlockTimeMs = reader.uint64(); + break; + case 6: + message.finishedAtEpoch = reader.uint32(); break; default: reader.skipType(tag & 7); @@ -36425,134 +36258,223 @@ $root.org = (function() { }; /** - * Decodes a ContestedResourceIdentityVotes message from the specified reader or buffer, length delimited. + * Decodes a FinishedVoteInfo message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes} ContestedResourceIdentityVotes + * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo} FinishedVoteInfo * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ContestedResourceIdentityVotes.decodeDelimited = function decodeDelimited(reader) { + FinishedVoteInfo.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a ContestedResourceIdentityVotes message. + * Verifies a FinishedVoteInfo message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ContestedResourceIdentityVotes.verify = function verify(message) { + FinishedVoteInfo.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.contestedResourceIdentityVotes != null && message.hasOwnProperty("contestedResourceIdentityVotes")) { - if (!Array.isArray(message.contestedResourceIdentityVotes)) - return "contestedResourceIdentityVotes: array expected"; - for (var i = 0; i < message.contestedResourceIdentityVotes.length; ++i) { - var error = $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.verify(message.contestedResourceIdentityVotes[i]); - if (error) - return "contestedResourceIdentityVotes." + error; + if (message.finishedVoteOutcome != null && message.hasOwnProperty("finishedVoteOutcome")) + switch (message.finishedVoteOutcome) { + default: + return "finishedVoteOutcome: enum value expected"; + case 0: + case 1: + case 2: + break; } - } - if (message.finishedResults != null && message.hasOwnProperty("finishedResults")) - if (typeof message.finishedResults !== "boolean") - return "finishedResults: boolean expected"; + if (message.wonByIdentityId != null && message.hasOwnProperty("wonByIdentityId")) + if (!(message.wonByIdentityId && typeof message.wonByIdentityId.length === "number" || $util.isString(message.wonByIdentityId))) + return "wonByIdentityId: buffer expected"; + if (message.finishedAtBlockHeight != null && message.hasOwnProperty("finishedAtBlockHeight")) + if (!$util.isInteger(message.finishedAtBlockHeight) && !(message.finishedAtBlockHeight && $util.isInteger(message.finishedAtBlockHeight.low) && $util.isInteger(message.finishedAtBlockHeight.high))) + return "finishedAtBlockHeight: integer|Long expected"; + if (message.finishedAtCoreBlockHeight != null && message.hasOwnProperty("finishedAtCoreBlockHeight")) + if (!$util.isInteger(message.finishedAtCoreBlockHeight)) + return "finishedAtCoreBlockHeight: integer expected"; + if (message.finishedAtBlockTimeMs != null && message.hasOwnProperty("finishedAtBlockTimeMs")) + if (!$util.isInteger(message.finishedAtBlockTimeMs) && !(message.finishedAtBlockTimeMs && $util.isInteger(message.finishedAtBlockTimeMs.low) && $util.isInteger(message.finishedAtBlockTimeMs.high))) + return "finishedAtBlockTimeMs: integer|Long expected"; + if (message.finishedAtEpoch != null && message.hasOwnProperty("finishedAtEpoch")) + if (!$util.isInteger(message.finishedAtEpoch)) + return "finishedAtEpoch: integer expected"; return null; }; /** - * Creates a ContestedResourceIdentityVotes message from a plain object. Also converts values to their respective internal types. + * Creates a FinishedVoteInfo message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes} ContestedResourceIdentityVotes + * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo} FinishedVoteInfo */ - ContestedResourceIdentityVotes.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes) + FinishedVoteInfo.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo) return object; - var message = new $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes(); - if (object.contestedResourceIdentityVotes) { - if (!Array.isArray(object.contestedResourceIdentityVotes)) - throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.contestedResourceIdentityVotes: array expected"); - message.contestedResourceIdentityVotes = []; - for (var i = 0; i < object.contestedResourceIdentityVotes.length; ++i) { - if (typeof object.contestedResourceIdentityVotes[i] !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.contestedResourceIdentityVotes: object expected"); - message.contestedResourceIdentityVotes[i] = $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.fromObject(object.contestedResourceIdentityVotes[i]); - } + var message = new $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo(); + switch (object.finishedVoteOutcome) { + case "TOWARDS_IDENTITY": + case 0: + message.finishedVoteOutcome = 0; + break; + case "LOCKED": + case 1: + message.finishedVoteOutcome = 1; + break; + case "NO_PREVIOUS_WINNER": + case 2: + message.finishedVoteOutcome = 2; + break; } - if (object.finishedResults != null) - message.finishedResults = Boolean(object.finishedResults); + if (object.wonByIdentityId != null) + if (typeof object.wonByIdentityId === "string") + $util.base64.decode(object.wonByIdentityId, message.wonByIdentityId = $util.newBuffer($util.base64.length(object.wonByIdentityId)), 0); + else if (object.wonByIdentityId.length >= 0) + message.wonByIdentityId = object.wonByIdentityId; + if (object.finishedAtBlockHeight != null) + if ($util.Long) + (message.finishedAtBlockHeight = $util.Long.fromValue(object.finishedAtBlockHeight)).unsigned = true; + else if (typeof object.finishedAtBlockHeight === "string") + message.finishedAtBlockHeight = parseInt(object.finishedAtBlockHeight, 10); + else if (typeof object.finishedAtBlockHeight === "number") + message.finishedAtBlockHeight = object.finishedAtBlockHeight; + else if (typeof object.finishedAtBlockHeight === "object") + message.finishedAtBlockHeight = new $util.LongBits(object.finishedAtBlockHeight.low >>> 0, object.finishedAtBlockHeight.high >>> 0).toNumber(true); + if (object.finishedAtCoreBlockHeight != null) + message.finishedAtCoreBlockHeight = object.finishedAtCoreBlockHeight >>> 0; + if (object.finishedAtBlockTimeMs != null) + if ($util.Long) + (message.finishedAtBlockTimeMs = $util.Long.fromValue(object.finishedAtBlockTimeMs)).unsigned = true; + else if (typeof object.finishedAtBlockTimeMs === "string") + message.finishedAtBlockTimeMs = parseInt(object.finishedAtBlockTimeMs, 10); + else if (typeof object.finishedAtBlockTimeMs === "number") + message.finishedAtBlockTimeMs = object.finishedAtBlockTimeMs; + else if (typeof object.finishedAtBlockTimeMs === "object") + message.finishedAtBlockTimeMs = new $util.LongBits(object.finishedAtBlockTimeMs.low >>> 0, object.finishedAtBlockTimeMs.high >>> 0).toNumber(true); + if (object.finishedAtEpoch != null) + message.finishedAtEpoch = object.finishedAtEpoch >>> 0; return message; }; /** - * Creates a plain object from a ContestedResourceIdentityVotes message. Also converts values to other types if specified. + * Creates a plain object from a FinishedVoteInfo message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes} message ContestedResourceIdentityVotes + * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo} message FinishedVoteInfo * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - ContestedResourceIdentityVotes.toObject = function toObject(message, options) { + FinishedVoteInfo.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.arrays || options.defaults) - object.contestedResourceIdentityVotes = []; - if (options.defaults) - object.finishedResults = false; - if (message.contestedResourceIdentityVotes && message.contestedResourceIdentityVotes.length) { - object.contestedResourceIdentityVotes = []; - for (var j = 0; j < message.contestedResourceIdentityVotes.length; ++j) - object.contestedResourceIdentityVotes[j] = $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.toObject(message.contestedResourceIdentityVotes[j], options); + if (options.defaults) { + object.finishedVoteOutcome = options.enums === String ? "TOWARDS_IDENTITY" : 0; + if (options.bytes === String) + object.wonByIdentityId = ""; + else { + object.wonByIdentityId = []; + if (options.bytes !== Array) + object.wonByIdentityId = $util.newBuffer(object.wonByIdentityId); + } + if ($util.Long) { + var long = new $util.Long(0, 0, true); + object.finishedAtBlockHeight = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.finishedAtBlockHeight = options.longs === String ? "0" : 0; + object.finishedAtCoreBlockHeight = 0; + if ($util.Long) { + var long = new $util.Long(0, 0, true); + object.finishedAtBlockTimeMs = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.finishedAtBlockTimeMs = options.longs === String ? "0" : 0; + object.finishedAtEpoch = 0; } - if (message.finishedResults != null && message.hasOwnProperty("finishedResults")) - object.finishedResults = message.finishedResults; + if (message.finishedVoteOutcome != null && message.hasOwnProperty("finishedVoteOutcome")) + object.finishedVoteOutcome = options.enums === String ? $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.FinishedVoteOutcome[message.finishedVoteOutcome] : message.finishedVoteOutcome; + if (message.wonByIdentityId != null && message.hasOwnProperty("wonByIdentityId")) + object.wonByIdentityId = options.bytes === String ? $util.base64.encode(message.wonByIdentityId, 0, message.wonByIdentityId.length) : options.bytes === Array ? Array.prototype.slice.call(message.wonByIdentityId) : message.wonByIdentityId; + if (message.finishedAtBlockHeight != null && message.hasOwnProperty("finishedAtBlockHeight")) + if (typeof message.finishedAtBlockHeight === "number") + object.finishedAtBlockHeight = options.longs === String ? String(message.finishedAtBlockHeight) : message.finishedAtBlockHeight; + else + object.finishedAtBlockHeight = options.longs === String ? $util.Long.prototype.toString.call(message.finishedAtBlockHeight) : options.longs === Number ? new $util.LongBits(message.finishedAtBlockHeight.low >>> 0, message.finishedAtBlockHeight.high >>> 0).toNumber(true) : message.finishedAtBlockHeight; + if (message.finishedAtCoreBlockHeight != null && message.hasOwnProperty("finishedAtCoreBlockHeight")) + object.finishedAtCoreBlockHeight = message.finishedAtCoreBlockHeight; + if (message.finishedAtBlockTimeMs != null && message.hasOwnProperty("finishedAtBlockTimeMs")) + if (typeof message.finishedAtBlockTimeMs === "number") + object.finishedAtBlockTimeMs = options.longs === String ? String(message.finishedAtBlockTimeMs) : message.finishedAtBlockTimeMs; + else + object.finishedAtBlockTimeMs = options.longs === String ? $util.Long.prototype.toString.call(message.finishedAtBlockTimeMs) : options.longs === Number ? new $util.LongBits(message.finishedAtBlockTimeMs.low >>> 0, message.finishedAtBlockTimeMs.high >>> 0).toNumber(true) : message.finishedAtBlockTimeMs; + if (message.finishedAtEpoch != null && message.hasOwnProperty("finishedAtEpoch")) + object.finishedAtEpoch = message.finishedAtEpoch; return object; }; /** - * Converts this ContestedResourceIdentityVotes to JSON. + * Converts this FinishedVoteInfo to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo * @instance * @returns {Object.} JSON object */ - ContestedResourceIdentityVotes.prototype.toJSON = function toJSON() { + FinishedVoteInfo.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return ContestedResourceIdentityVotes; + /** + * FinishedVoteOutcome enum. + * @name org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.FinishedVoteOutcome + * @enum {number} + * @property {number} TOWARDS_IDENTITY=0 TOWARDS_IDENTITY value + * @property {number} LOCKED=1 LOCKED value + * @property {number} NO_PREVIOUS_WINNER=2 NO_PREVIOUS_WINNER value + */ + FinishedVoteInfo.FinishedVoteOutcome = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "TOWARDS_IDENTITY"] = 0; + values[valuesById[1] = "LOCKED"] = 1; + values[valuesById[2] = "NO_PREVIOUS_WINNER"] = 2; + return values; + })(); + + return FinishedVoteInfo; })(); - GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice = (function() { + GetContestedResourceVoteStateResponseV0.ContestedResourceContenders = (function() { /** - * Properties of a ResourceVoteChoice. - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0 - * @interface IResourceVoteChoice - * @property {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.VoteChoiceType|null} [voteChoiceType] ResourceVoteChoice voteChoiceType - * @property {Uint8Array|null} [identityId] ResourceVoteChoice identityId + * Properties of a ContestedResourceContenders. + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0 + * @interface IContestedResourceContenders + * @property {Array.|null} [contenders] ContestedResourceContenders contenders + * @property {number|null} [abstainVoteTally] ContestedResourceContenders abstainVoteTally + * @property {number|null} [lockVoteTally] ContestedResourceContenders lockVoteTally + * @property {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.IFinishedVoteInfo|null} [finishedVoteInfo] ContestedResourceContenders finishedVoteInfo */ /** - * Constructs a new ResourceVoteChoice. - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0 - * @classdesc Represents a ResourceVoteChoice. - * @implements IResourceVoteChoice + * Constructs a new ContestedResourceContenders. + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0 + * @classdesc Represents a ContestedResourceContenders. + * @implements IContestedResourceContenders * @constructor - * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.IResourceVoteChoice=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.IContestedResourceContenders=} [properties] Properties to set */ - function ResourceVoteChoice(properties) { + function ContestedResourceContenders(properties) { + this.contenders = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -36560,88 +36482,117 @@ $root.org = (function() { } /** - * ResourceVoteChoice voteChoiceType. - * @member {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.VoteChoiceType} voteChoiceType - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice + * ContestedResourceContenders contenders. + * @member {Array.} contenders + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders * @instance */ - ResourceVoteChoice.prototype.voteChoiceType = 0; + ContestedResourceContenders.prototype.contenders = $util.emptyArray; /** - * ResourceVoteChoice identityId. - * @member {Uint8Array} identityId - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice + * ContestedResourceContenders abstainVoteTally. + * @member {number} abstainVoteTally + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders * @instance */ - ResourceVoteChoice.prototype.identityId = $util.newBuffer([]); + ContestedResourceContenders.prototype.abstainVoteTally = 0; /** - * Creates a new ResourceVoteChoice instance using the specified properties. - * @function create - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice - * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.IResourceVoteChoice=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice} ResourceVoteChoice instance + * ContestedResourceContenders lockVoteTally. + * @member {number} lockVoteTally + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders + * @instance */ - ResourceVoteChoice.create = function create(properties) { - return new ResourceVoteChoice(properties); - }; + ContestedResourceContenders.prototype.lockVoteTally = 0; /** - * Encodes the specified ResourceVoteChoice message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.verify|verify} messages. - * @function encode - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice - * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.IResourceVoteChoice} message ResourceVoteChoice message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ResourceVoteChoice.encode = function encode(message, writer) { + * ContestedResourceContenders finishedVoteInfo. + * @member {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.IFinishedVoteInfo|null|undefined} finishedVoteInfo + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders + * @instance + */ + ContestedResourceContenders.prototype.finishedVoteInfo = null; + + /** + * Creates a new ContestedResourceContenders instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders + * @static + * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.IContestedResourceContenders=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders} ContestedResourceContenders instance + */ + ContestedResourceContenders.create = function create(properties) { + return new ContestedResourceContenders(properties); + }; + + /** + * Encodes the specified ContestedResourceContenders message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders + * @static + * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.IContestedResourceContenders} message ContestedResourceContenders message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ContestedResourceContenders.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.voteChoiceType != null && Object.hasOwnProperty.call(message, "voteChoiceType")) - writer.uint32(/* id 1, wireType 0 =*/8).int32(message.voteChoiceType); - if (message.identityId != null && Object.hasOwnProperty.call(message, "identityId")) - writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.identityId); + if (message.contenders != null && message.contenders.length) + for (var i = 0; i < message.contenders.length; ++i) + $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.encode(message.contenders[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.abstainVoteTally != null && Object.hasOwnProperty.call(message, "abstainVoteTally")) + writer.uint32(/* id 2, wireType 0 =*/16).uint32(message.abstainVoteTally); + if (message.lockVoteTally != null && Object.hasOwnProperty.call(message, "lockVoteTally")) + writer.uint32(/* id 3, wireType 0 =*/24).uint32(message.lockVoteTally); + if (message.finishedVoteInfo != null && Object.hasOwnProperty.call(message, "finishedVoteInfo")) + $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.encode(message.finishedVoteInfo, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); return writer; }; /** - * Encodes the specified ResourceVoteChoice message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.verify|verify} messages. + * Encodes the specified ContestedResourceContenders message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.IResourceVoteChoice} message ResourceVoteChoice message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.IContestedResourceContenders} message ContestedResourceContenders message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - ResourceVoteChoice.encodeDelimited = function encodeDelimited(message, writer) { + ContestedResourceContenders.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a ResourceVoteChoice message from the specified reader or buffer. + * Decodes a ContestedResourceContenders message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders * @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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice} ResourceVoteChoice + * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders} ContestedResourceContenders * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ResourceVoteChoice.decode = function decode(reader, length) { + ContestedResourceContenders.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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.voteChoiceType = reader.int32(); + if (!(message.contenders && message.contenders.length)) + message.contenders = []; + message.contenders.push($root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.decode(reader, reader.uint32())); break; case 2: - message.identityId = reader.bytes(); + message.abstainVoteTally = reader.uint32(); + break; + case 3: + message.lockVoteTally = reader.uint32(); + break; + case 4: + message.finishedVoteInfo = $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -36652,163 +36603,157 @@ $root.org = (function() { }; /** - * Decodes a ResourceVoteChoice message from the specified reader or buffer, length delimited. + * Decodes a ContestedResourceContenders message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice} ResourceVoteChoice + * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders} ContestedResourceContenders * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ResourceVoteChoice.decodeDelimited = function decodeDelimited(reader) { + ContestedResourceContenders.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a ResourceVoteChoice message. + * Verifies a ContestedResourceContenders message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ResourceVoteChoice.verify = function verify(message) { + ContestedResourceContenders.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.voteChoiceType != null && message.hasOwnProperty("voteChoiceType")) - switch (message.voteChoiceType) { - default: - return "voteChoiceType: enum value expected"; - case 0: - case 1: - case 2: - break; + if (message.contenders != null && message.hasOwnProperty("contenders")) { + if (!Array.isArray(message.contenders)) + return "contenders: array expected"; + for (var i = 0; i < message.contenders.length; ++i) { + var error = $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.verify(message.contenders[i]); + if (error) + return "contenders." + error; } - 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.abstainVoteTally != null && message.hasOwnProperty("abstainVoteTally")) + if (!$util.isInteger(message.abstainVoteTally)) + return "abstainVoteTally: integer expected"; + if (message.lockVoteTally != null && message.hasOwnProperty("lockVoteTally")) + if (!$util.isInteger(message.lockVoteTally)) + return "lockVoteTally: integer expected"; + if (message.finishedVoteInfo != null && message.hasOwnProperty("finishedVoteInfo")) { + var error = $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.verify(message.finishedVoteInfo); + if (error) + return "finishedVoteInfo." + error; + } return null; }; /** - * Creates a ResourceVoteChoice message from a plain object. Also converts values to their respective internal types. + * Creates a ContestedResourceContenders message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice} ResourceVoteChoice + * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders} ContestedResourceContenders */ - ResourceVoteChoice.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice) + ContestedResourceContenders.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders) return object; - var message = new $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice(); - switch (object.voteChoiceType) { - case "TOWARDS_IDENTITY": - case 0: - message.voteChoiceType = 0; - break; - case "ABSTAIN": - case 1: - message.voteChoiceType = 1; - break; - case "LOCK": - case 2: - message.voteChoiceType = 2; - break; + var message = new $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders(); + if (object.contenders) { + if (!Array.isArray(object.contenders)) + throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.contenders: array expected"); + message.contenders = []; + for (var i = 0; i < object.contenders.length; ++i) { + if (typeof object.contenders[i] !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.contenders: object expected"); + message.contenders[i] = $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.fromObject(object.contenders[i]); + } + } + if (object.abstainVoteTally != null) + message.abstainVoteTally = object.abstainVoteTally >>> 0; + if (object.lockVoteTally != null) + message.lockVoteTally = object.lockVoteTally >>> 0; + if (object.finishedVoteInfo != null) { + if (typeof object.finishedVoteInfo !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.finishedVoteInfo: object expected"); + message.finishedVoteInfo = $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.fromObject(object.finishedVoteInfo); } - 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; return message; }; /** - * Creates a plain object from a ResourceVoteChoice message. Also converts values to other types if specified. + * Creates a plain object from a ContestedResourceContenders message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice} message ResourceVoteChoice + * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders} message ContestedResourceContenders * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - ResourceVoteChoice.toObject = function toObject(message, options) { + ContestedResourceContenders.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; + if (options.arrays || options.defaults) + object.contenders = []; if (options.defaults) { - object.voteChoiceType = options.enums === String ? "TOWARDS_IDENTITY" : 0; - if (options.bytes === String) - object.identityId = ""; - else { - object.identityId = []; - if (options.bytes !== Array) - object.identityId = $util.newBuffer(object.identityId); - } + object.abstainVoteTally = 0; + object.lockVoteTally = 0; + object.finishedVoteInfo = null; } - if (message.voteChoiceType != null && message.hasOwnProperty("voteChoiceType")) - object.voteChoiceType = options.enums === String ? $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.VoteChoiceType[message.voteChoiceType] : message.voteChoiceType; - 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.contenders && message.contenders.length) { + object.contenders = []; + for (var j = 0; j < message.contenders.length; ++j) + object.contenders[j] = $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.toObject(message.contenders[j], options); + } + if (message.abstainVoteTally != null && message.hasOwnProperty("abstainVoteTally")) + object.abstainVoteTally = message.abstainVoteTally; + if (message.lockVoteTally != null && message.hasOwnProperty("lockVoteTally")) + object.lockVoteTally = message.lockVoteTally; + if (message.finishedVoteInfo != null && message.hasOwnProperty("finishedVoteInfo")) + object.finishedVoteInfo = $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.toObject(message.finishedVoteInfo, options); return object; }; /** - * Converts this ResourceVoteChoice to JSON. + * Converts this ContestedResourceContenders to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders * @instance * @returns {Object.} JSON object */ - ResourceVoteChoice.prototype.toJSON = function toJSON() { + ContestedResourceContenders.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - /** - * VoteChoiceType enum. - * @name org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.VoteChoiceType - * @enum {number} - * @property {number} TOWARDS_IDENTITY=0 TOWARDS_IDENTITY value - * @property {number} ABSTAIN=1 ABSTAIN value - * @property {number} LOCK=2 LOCK value - */ - ResourceVoteChoice.VoteChoiceType = (function() { - var valuesById = {}, values = Object.create(valuesById); - values[valuesById[0] = "TOWARDS_IDENTITY"] = 0; - values[valuesById[1] = "ABSTAIN"] = 1; - values[valuesById[2] = "LOCK"] = 2; - return values; - })(); - - return ResourceVoteChoice; + return ContestedResourceContenders; })(); - GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote = (function() { + GetContestedResourceVoteStateResponseV0.Contender = (function() { /** - * Properties of a ContestedResourceIdentityVote. - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0 - * @interface IContestedResourceIdentityVote - * @property {Uint8Array|null} [contractId] ContestedResourceIdentityVote contractId - * @property {string|null} [documentTypeName] ContestedResourceIdentityVote documentTypeName - * @property {Array.|null} [serializedIndexStorageValues] ContestedResourceIdentityVote serializedIndexStorageValues - * @property {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.IResourceVoteChoice|null} [voteChoice] ContestedResourceIdentityVote voteChoice + * Properties of a Contender. + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0 + * @interface IContender + * @property {Uint8Array|null} [identifier] Contender identifier + * @property {number|null} [voteCount] Contender voteCount + * @property {Uint8Array|null} [document] Contender document */ /** - * Constructs a new ContestedResourceIdentityVote. - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0 - * @classdesc Represents a ContestedResourceIdentityVote. - * @implements IContestedResourceIdentityVote + * Constructs a new Contender. + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0 + * @classdesc Represents a Contender. + * @implements IContender * @constructor - * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.IContestedResourceIdentityVote=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.IContender=} [properties] Properties to set */ - function ContestedResourceIdentityVote(properties) { - this.serializedIndexStorageValues = []; + function Contender(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -36816,117 +36761,101 @@ $root.org = (function() { } /** - * ContestedResourceIdentityVote contractId. - * @member {Uint8Array} contractId - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote - * @instance - */ - ContestedResourceIdentityVote.prototype.contractId = $util.newBuffer([]); - - /** - * ContestedResourceIdentityVote documentTypeName. - * @member {string} documentTypeName - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote + * Contender identifier. + * @member {Uint8Array} identifier + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender * @instance */ - ContestedResourceIdentityVote.prototype.documentTypeName = ""; + Contender.prototype.identifier = $util.newBuffer([]); /** - * ContestedResourceIdentityVote serializedIndexStorageValues. - * @member {Array.} serializedIndexStorageValues - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote + * Contender voteCount. + * @member {number} voteCount + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender * @instance */ - ContestedResourceIdentityVote.prototype.serializedIndexStorageValues = $util.emptyArray; + Contender.prototype.voteCount = 0; /** - * ContestedResourceIdentityVote voteChoice. - * @member {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.IResourceVoteChoice|null|undefined} voteChoice - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote + * Contender document. + * @member {Uint8Array} document + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender * @instance */ - ContestedResourceIdentityVote.prototype.voteChoice = null; + Contender.prototype.document = $util.newBuffer([]); /** - * Creates a new ContestedResourceIdentityVote instance using the specified properties. + * Creates a new Contender instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.IContestedResourceIdentityVote=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote} ContestedResourceIdentityVote instance + * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.IContender=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender} Contender instance */ - ContestedResourceIdentityVote.create = function create(properties) { - return new ContestedResourceIdentityVote(properties); + Contender.create = function create(properties) { + return new Contender(properties); }; /** - * Encodes the specified ContestedResourceIdentityVote message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.verify|verify} messages. + * Encodes the specified Contender message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.IContestedResourceIdentityVote} message ContestedResourceIdentityVote message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.IContender} message Contender message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - ContestedResourceIdentityVote.encode = function encode(message, writer) { + Contender.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.documentTypeName != null && Object.hasOwnProperty.call(message, "documentTypeName")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.documentTypeName); - if (message.serializedIndexStorageValues != null && message.serializedIndexStorageValues.length) - for (var i = 0; i < message.serializedIndexStorageValues.length; ++i) - writer.uint32(/* id 3, wireType 2 =*/26).bytes(message.serializedIndexStorageValues[i]); - if (message.voteChoice != null && Object.hasOwnProperty.call(message, "voteChoice")) - $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.encode(message.voteChoice, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.identifier != null && Object.hasOwnProperty.call(message, "identifier")) + writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.identifier); + if (message.voteCount != null && Object.hasOwnProperty.call(message, "voteCount")) + writer.uint32(/* id 2, wireType 0 =*/16).uint32(message.voteCount); + if (message.document != null && Object.hasOwnProperty.call(message, "document")) + writer.uint32(/* id 3, wireType 2 =*/26).bytes(message.document); return writer; }; /** - * Encodes the specified ContestedResourceIdentityVote message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.verify|verify} messages. + * Encodes the specified Contender message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.IContestedResourceIdentityVote} message ContestedResourceIdentityVote message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.IContender} message Contender message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - ContestedResourceIdentityVote.encodeDelimited = function encodeDelimited(message, writer) { + Contender.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a ContestedResourceIdentityVote message from the specified reader or buffer. + * Decodes a Contender message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender * @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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote} ContestedResourceIdentityVote + * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender} Contender * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ContestedResourceIdentityVote.decode = function decode(reader, length) { + Contender.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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.contractId = reader.bytes(); + message.identifier = reader.bytes(); break; case 2: - message.documentTypeName = reader.string(); + message.voteCount = reader.uint32(); break; case 3: - if (!(message.serializedIndexStorageValues && message.serializedIndexStorageValues.length)) - message.serializedIndexStorageValues = []; - message.serializedIndexStorageValues.push(reader.bytes()); - break; - case 4: - message.voteChoice = $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.decode(reader, reader.uint32()); + message.document = reader.bytes(); break; default: reader.skipType(tag & 7); @@ -36937,168 +36866,148 @@ $root.org = (function() { }; /** - * Decodes a ContestedResourceIdentityVote message from the specified reader or buffer, length delimited. + * Decodes a Contender message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote} ContestedResourceIdentityVote + * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender} Contender * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ContestedResourceIdentityVote.decodeDelimited = function decodeDelimited(reader) { + Contender.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a ContestedResourceIdentityVote message. + * Verifies a Contender message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ContestedResourceIdentityVote.verify = function verify(message) { + Contender.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.documentTypeName != null && message.hasOwnProperty("documentTypeName")) - if (!$util.isString(message.documentTypeName)) - return "documentTypeName: string expected"; - if (message.serializedIndexStorageValues != null && message.hasOwnProperty("serializedIndexStorageValues")) { - if (!Array.isArray(message.serializedIndexStorageValues)) - return "serializedIndexStorageValues: array expected"; - for (var i = 0; i < message.serializedIndexStorageValues.length; ++i) - if (!(message.serializedIndexStorageValues[i] && typeof message.serializedIndexStorageValues[i].length === "number" || $util.isString(message.serializedIndexStorageValues[i]))) - return "serializedIndexStorageValues: buffer[] expected"; - } - if (message.voteChoice != null && message.hasOwnProperty("voteChoice")) { - var error = $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.verify(message.voteChoice); - if (error) - return "voteChoice." + error; - } + 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.voteCount != null && message.hasOwnProperty("voteCount")) + if (!$util.isInteger(message.voteCount)) + return "voteCount: integer expected"; + if (message.document != null && message.hasOwnProperty("document")) + if (!(message.document && typeof message.document.length === "number" || $util.isString(message.document))) + return "document: buffer expected"; return null; }; /** - * Creates a ContestedResourceIdentityVote message from a plain object. Also converts values to their respective internal types. + * Creates a Contender message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote} ContestedResourceIdentityVote + * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender} Contender */ - ContestedResourceIdentityVote.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote) + Contender.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender) return object; - var message = new $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote(); - 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.documentTypeName != null) - message.documentTypeName = String(object.documentTypeName); - if (object.serializedIndexStorageValues) { - if (!Array.isArray(object.serializedIndexStorageValues)) - throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.serializedIndexStorageValues: array expected"); - message.serializedIndexStorageValues = []; - for (var i = 0; i < object.serializedIndexStorageValues.length; ++i) - if (typeof object.serializedIndexStorageValues[i] === "string") - $util.base64.decode(object.serializedIndexStorageValues[i], message.serializedIndexStorageValues[i] = $util.newBuffer($util.base64.length(object.serializedIndexStorageValues[i])), 0); - else if (object.serializedIndexStorageValues[i].length >= 0) - message.serializedIndexStorageValues[i] = object.serializedIndexStorageValues[i]; - } - if (object.voteChoice != null) { - if (typeof object.voteChoice !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.voteChoice: object expected"); - message.voteChoice = $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.fromObject(object.voteChoice); - } + var message = new $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender(); + 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.voteCount != null) + message.voteCount = object.voteCount >>> 0; + if (object.document != null) + if (typeof object.document === "string") + $util.base64.decode(object.document, message.document = $util.newBuffer($util.base64.length(object.document)), 0); + else if (object.document.length >= 0) + message.document = object.document; return message; }; /** - * Creates a plain object from a ContestedResourceIdentityVote message. Also converts values to other types if specified. + * Creates a plain object from a Contender message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender * @static - * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote} message ContestedResourceIdentityVote + * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender} message Contender * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - ContestedResourceIdentityVote.toObject = function toObject(message, options) { + Contender.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.arrays || options.defaults) - object.serializedIndexStorageValues = []; if (options.defaults) { if (options.bytes === String) - object.contractId = ""; + object.identifier = ""; else { - object.contractId = []; + object.identifier = []; if (options.bytes !== Array) - object.contractId = $util.newBuffer(object.contractId); + object.identifier = $util.newBuffer(object.identifier); + } + object.voteCount = 0; + if (options.bytes === String) + object.document = ""; + else { + object.document = []; + if (options.bytes !== Array) + object.document = $util.newBuffer(object.document); } - object.documentTypeName = ""; - object.voteChoice = null; - } - 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.documentTypeName != null && message.hasOwnProperty("documentTypeName")) - object.documentTypeName = message.documentTypeName; - if (message.serializedIndexStorageValues && message.serializedIndexStorageValues.length) { - object.serializedIndexStorageValues = []; - for (var j = 0; j < message.serializedIndexStorageValues.length; ++j) - object.serializedIndexStorageValues[j] = options.bytes === String ? $util.base64.encode(message.serializedIndexStorageValues[j], 0, message.serializedIndexStorageValues[j].length) : options.bytes === Array ? Array.prototype.slice.call(message.serializedIndexStorageValues[j]) : message.serializedIndexStorageValues[j]; } - if (message.voteChoice != null && message.hasOwnProperty("voteChoice")) - object.voteChoice = $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.toObject(message.voteChoice, options); + 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.voteCount != null && message.hasOwnProperty("voteCount")) + object.voteCount = message.voteCount; + if (message.document != null && message.hasOwnProperty("document")) + object.document = options.bytes === String ? $util.base64.encode(message.document, 0, message.document.length) : options.bytes === Array ? Array.prototype.slice.call(message.document) : message.document; return object; }; /** - * Converts this ContestedResourceIdentityVote to JSON. + * Converts this Contender to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender * @instance * @returns {Object.} JSON object */ - ContestedResourceIdentityVote.prototype.toJSON = function toJSON() { + Contender.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return ContestedResourceIdentityVote; + return Contender; })(); - return GetContestedResourceIdentityVotesResponseV0; + return GetContestedResourceVoteStateResponseV0; })(); - return GetContestedResourceIdentityVotesResponse; + return GetContestedResourceVoteStateResponse; })(); - v0.GetPrefundedSpecializedBalanceRequest = (function() { + v0.GetContestedResourceVotersForIdentityRequest = (function() { /** - * Properties of a GetPrefundedSpecializedBalanceRequest. + * Properties of a GetContestedResourceVotersForIdentityRequest. * @memberof org.dash.platform.dapi.v0 - * @interface IGetPrefundedSpecializedBalanceRequest - * @property {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.IGetPrefundedSpecializedBalanceRequestV0|null} [v0] GetPrefundedSpecializedBalanceRequest v0 + * @interface IGetContestedResourceVotersForIdentityRequest + * @property {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.IGetContestedResourceVotersForIdentityRequestV0|null} [v0] GetContestedResourceVotersForIdentityRequest v0 */ /** - * Constructs a new GetPrefundedSpecializedBalanceRequest. + * Constructs a new GetContestedResourceVotersForIdentityRequest. * @memberof org.dash.platform.dapi.v0 - * @classdesc Represents a GetPrefundedSpecializedBalanceRequest. - * @implements IGetPrefundedSpecializedBalanceRequest + * @classdesc Represents a GetContestedResourceVotersForIdentityRequest. + * @implements IGetContestedResourceVotersForIdentityRequest * @constructor - * @param {org.dash.platform.dapi.v0.IGetPrefundedSpecializedBalanceRequest=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.IGetContestedResourceVotersForIdentityRequest=} [properties] Properties to set */ - function GetPrefundedSpecializedBalanceRequest(properties) { + function GetContestedResourceVotersForIdentityRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -37106,89 +37015,89 @@ $root.org = (function() { } /** - * GetPrefundedSpecializedBalanceRequest v0. - * @member {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.IGetPrefundedSpecializedBalanceRequestV0|null|undefined} v0 - * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest + * GetContestedResourceVotersForIdentityRequest v0. + * @member {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.IGetContestedResourceVotersForIdentityRequestV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest * @instance */ - GetPrefundedSpecializedBalanceRequest.prototype.v0 = null; + GetContestedResourceVotersForIdentityRequest.prototype.v0 = null; // OneOf field names bound to virtual getters and setters var $oneOfFields; /** - * GetPrefundedSpecializedBalanceRequest version. + * GetContestedResourceVotersForIdentityRequest version. * @member {"v0"|undefined} version - * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest * @instance */ - Object.defineProperty(GetPrefundedSpecializedBalanceRequest.prototype, "version", { + Object.defineProperty(GetContestedResourceVotersForIdentityRequest.prototype, "version", { get: $util.oneOfGetter($oneOfFields = ["v0"]), set: $util.oneOfSetter($oneOfFields) }); /** - * Creates a new GetPrefundedSpecializedBalanceRequest instance using the specified properties. + * Creates a new GetContestedResourceVotersForIdentityRequest instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest * @static - * @param {org.dash.platform.dapi.v0.IGetPrefundedSpecializedBalanceRequest=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest} GetPrefundedSpecializedBalanceRequest instance + * @param {org.dash.platform.dapi.v0.IGetContestedResourceVotersForIdentityRequest=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest} GetContestedResourceVotersForIdentityRequest instance */ - GetPrefundedSpecializedBalanceRequest.create = function create(properties) { - return new GetPrefundedSpecializedBalanceRequest(properties); + GetContestedResourceVotersForIdentityRequest.create = function create(properties) { + return new GetContestedResourceVotersForIdentityRequest(properties); }; /** - * Encodes the specified GetPrefundedSpecializedBalanceRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.verify|verify} messages. + * Encodes the specified GetContestedResourceVotersForIdentityRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest * @static - * @param {org.dash.platform.dapi.v0.IGetPrefundedSpecializedBalanceRequest} message GetPrefundedSpecializedBalanceRequest message or plain object to encode + * @param {org.dash.platform.dapi.v0.IGetContestedResourceVotersForIdentityRequest} message GetContestedResourceVotersForIdentityRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetPrefundedSpecializedBalanceRequest.encode = function encode(message, writer) { + GetContestedResourceVotersForIdentityRequest.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.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified GetPrefundedSpecializedBalanceRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.verify|verify} messages. + * Encodes the specified GetContestedResourceVotersForIdentityRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest * @static - * @param {org.dash.platform.dapi.v0.IGetPrefundedSpecializedBalanceRequest} message GetPrefundedSpecializedBalanceRequest message or plain object to encode + * @param {org.dash.platform.dapi.v0.IGetContestedResourceVotersForIdentityRequest} message GetContestedResourceVotersForIdentityRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetPrefundedSpecializedBalanceRequest.encodeDelimited = function encodeDelimited(message, writer) { + GetContestedResourceVotersForIdentityRequest.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetPrefundedSpecializedBalanceRequest message from the specified reader or buffer. + * Decodes a GetContestedResourceVotersForIdentityRequest message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest * @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.GetPrefundedSpecializedBalanceRequest} GetPrefundedSpecializedBalanceRequest + * @returns {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest} GetContestedResourceVotersForIdentityRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetPrefundedSpecializedBalanceRequest.decode = function decode(reader, length) { + GetContestedResourceVotersForIdentityRequest.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.GetPrefundedSpecializedBalanceRequest(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.v0 = $root.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.decode(reader, reader.uint32()); + message.v0 = $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -37199,37 +37108,37 @@ $root.org = (function() { }; /** - * Decodes a GetPrefundedSpecializedBalanceRequest message from the specified reader or buffer, length delimited. + * Decodes a GetContestedResourceVotersForIdentityRequest message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest} GetPrefundedSpecializedBalanceRequest + * @returns {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest} GetContestedResourceVotersForIdentityRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetPrefundedSpecializedBalanceRequest.decodeDelimited = function decodeDelimited(reader) { + GetContestedResourceVotersForIdentityRequest.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GetPrefundedSpecializedBalanceRequest message. + * Verifies a GetContestedResourceVotersForIdentityRequest message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetPrefundedSpecializedBalanceRequest.verify = function verify(message) { + GetContestedResourceVotersForIdentityRequest.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.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.verify(message.v0); + var error = $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.verify(message.v0); if (error) return "v0." + error; } @@ -37238,40 +37147,40 @@ $root.org = (function() { }; /** - * Creates a GetPrefundedSpecializedBalanceRequest message from a plain object. Also converts values to their respective internal types. + * Creates a GetContestedResourceVotersForIdentityRequest message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest} GetPrefundedSpecializedBalanceRequest + * @returns {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest} GetContestedResourceVotersForIdentityRequest */ - GetPrefundedSpecializedBalanceRequest.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest) + GetContestedResourceVotersForIdentityRequest.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest) return object; - var message = new $root.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest(); + var message = new $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest(); if (object.v0 != null) { if (typeof object.v0 !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.v0: object expected"); - message.v0 = $root.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.fromObject(object.v0); + throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.v0: object expected"); + message.v0 = $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.fromObject(object.v0); } return message; }; /** - * Creates a plain object from a GetPrefundedSpecializedBalanceRequest message. Also converts values to other types if specified. + * Creates a plain object from a GetContestedResourceVotersForIdentityRequest message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest * @static - * @param {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest} message GetPrefundedSpecializedBalanceRequest + * @param {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest} message GetContestedResourceVotersForIdentityRequest * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetPrefundedSpecializedBalanceRequest.toObject = function toObject(message, options) { + GetContestedResourceVotersForIdentityRequest.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.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.toObject(message.v0, options); + object.v0 = $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.toObject(message.v0, options); if (options.oneofs) object.version = "v0"; } @@ -37279,35 +37188,43 @@ $root.org = (function() { }; /** - * Converts this GetPrefundedSpecializedBalanceRequest to JSON. + * Converts this GetContestedResourceVotersForIdentityRequest to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest * @instance * @returns {Object.} JSON object */ - GetPrefundedSpecializedBalanceRequest.prototype.toJSON = function toJSON() { + GetContestedResourceVotersForIdentityRequest.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0 = (function() { + GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0 = (function() { /** - * Properties of a GetPrefundedSpecializedBalanceRequestV0. - * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest - * @interface IGetPrefundedSpecializedBalanceRequestV0 - * @property {Uint8Array|null} [id] GetPrefundedSpecializedBalanceRequestV0 id - * @property {boolean|null} [prove] GetPrefundedSpecializedBalanceRequestV0 prove + * Properties of a GetContestedResourceVotersForIdentityRequestV0. + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest + * @interface IGetContestedResourceVotersForIdentityRequestV0 + * @property {Uint8Array|null} [contractId] GetContestedResourceVotersForIdentityRequestV0 contractId + * @property {string|null} [documentTypeName] GetContestedResourceVotersForIdentityRequestV0 documentTypeName + * @property {string|null} [indexName] GetContestedResourceVotersForIdentityRequestV0 indexName + * @property {Array.|null} [indexValues] GetContestedResourceVotersForIdentityRequestV0 indexValues + * @property {Uint8Array|null} [contestantId] GetContestedResourceVotersForIdentityRequestV0 contestantId + * @property {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.IStartAtIdentifierInfo|null} [startAtIdentifierInfo] GetContestedResourceVotersForIdentityRequestV0 startAtIdentifierInfo + * @property {number|null} [count] GetContestedResourceVotersForIdentityRequestV0 count + * @property {boolean|null} [orderAscending] GetContestedResourceVotersForIdentityRequestV0 orderAscending + * @property {boolean|null} [prove] GetContestedResourceVotersForIdentityRequestV0 prove */ /** - * Constructs a new GetPrefundedSpecializedBalanceRequestV0. - * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest - * @classdesc Represents a GetPrefundedSpecializedBalanceRequestV0. - * @implements IGetPrefundedSpecializedBalanceRequestV0 + * Constructs a new GetContestedResourceVotersForIdentityRequestV0. + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest + * @classdesc Represents a GetContestedResourceVotersForIdentityRequestV0. + * @implements IGetContestedResourceVotersForIdentityRequestV0 * @constructor - * @param {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.IGetPrefundedSpecializedBalanceRequestV0=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.IGetContestedResourceVotersForIdentityRequestV0=} [properties] Properties to set */ - function GetPrefundedSpecializedBalanceRequestV0(properties) { + function GetContestedResourceVotersForIdentityRequestV0(properties) { + this.indexValues = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -37315,87 +37232,181 @@ $root.org = (function() { } /** - * GetPrefundedSpecializedBalanceRequestV0 id. - * @member {Uint8Array} id - * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0 + * GetContestedResourceVotersForIdentityRequestV0 contractId. + * @member {Uint8Array} contractId + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0 * @instance */ - GetPrefundedSpecializedBalanceRequestV0.prototype.id = $util.newBuffer([]); + GetContestedResourceVotersForIdentityRequestV0.prototype.contractId = $util.newBuffer([]); /** - * GetPrefundedSpecializedBalanceRequestV0 prove. + * GetContestedResourceVotersForIdentityRequestV0 documentTypeName. + * @member {string} documentTypeName + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0 + * @instance + */ + GetContestedResourceVotersForIdentityRequestV0.prototype.documentTypeName = ""; + + /** + * GetContestedResourceVotersForIdentityRequestV0 indexName. + * @member {string} indexName + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0 + * @instance + */ + GetContestedResourceVotersForIdentityRequestV0.prototype.indexName = ""; + + /** + * GetContestedResourceVotersForIdentityRequestV0 indexValues. + * @member {Array.} indexValues + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0 + * @instance + */ + GetContestedResourceVotersForIdentityRequestV0.prototype.indexValues = $util.emptyArray; + + /** + * GetContestedResourceVotersForIdentityRequestV0 contestantId. + * @member {Uint8Array} contestantId + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0 + * @instance + */ + GetContestedResourceVotersForIdentityRequestV0.prototype.contestantId = $util.newBuffer([]); + + /** + * GetContestedResourceVotersForIdentityRequestV0 startAtIdentifierInfo. + * @member {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.IStartAtIdentifierInfo|null|undefined} startAtIdentifierInfo + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0 + * @instance + */ + GetContestedResourceVotersForIdentityRequestV0.prototype.startAtIdentifierInfo = null; + + /** + * GetContestedResourceVotersForIdentityRequestV0 count. + * @member {number} count + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0 + * @instance + */ + GetContestedResourceVotersForIdentityRequestV0.prototype.count = 0; + + /** + * GetContestedResourceVotersForIdentityRequestV0 orderAscending. + * @member {boolean} orderAscending + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0 + * @instance + */ + GetContestedResourceVotersForIdentityRequestV0.prototype.orderAscending = false; + + /** + * GetContestedResourceVotersForIdentityRequestV0 prove. * @member {boolean} prove - * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0 * @instance */ - GetPrefundedSpecializedBalanceRequestV0.prototype.prove = false; + GetContestedResourceVotersForIdentityRequestV0.prototype.prove = false; /** - * Creates a new GetPrefundedSpecializedBalanceRequestV0 instance using the specified properties. + * Creates a new GetContestedResourceVotersForIdentityRequestV0 instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.IGetPrefundedSpecializedBalanceRequestV0=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0} GetPrefundedSpecializedBalanceRequestV0 instance + * @param {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.IGetContestedResourceVotersForIdentityRequestV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} GetContestedResourceVotersForIdentityRequestV0 instance */ - GetPrefundedSpecializedBalanceRequestV0.create = function create(properties) { - return new GetPrefundedSpecializedBalanceRequestV0(properties); + GetContestedResourceVotersForIdentityRequestV0.create = function create(properties) { + return new GetContestedResourceVotersForIdentityRequestV0(properties); }; /** - * Encodes the specified GetPrefundedSpecializedBalanceRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.verify|verify} messages. + * Encodes the specified GetContestedResourceVotersForIdentityRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.IGetPrefundedSpecializedBalanceRequestV0} message GetPrefundedSpecializedBalanceRequestV0 message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.IGetContestedResourceVotersForIdentityRequestV0} message GetContestedResourceVotersForIdentityRequestV0 message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetPrefundedSpecializedBalanceRequestV0.encode = function encode(message, writer) { + GetContestedResourceVotersForIdentityRequestV0.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.contractId != null && Object.hasOwnProperty.call(message, "contractId")) + writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.contractId); + if (message.documentTypeName != null && Object.hasOwnProperty.call(message, "documentTypeName")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.documentTypeName); + if (message.indexName != null && Object.hasOwnProperty.call(message, "indexName")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.indexName); + if (message.indexValues != null && message.indexValues.length) + for (var i = 0; i < message.indexValues.length; ++i) + writer.uint32(/* id 4, wireType 2 =*/34).bytes(message.indexValues[i]); + if (message.contestantId != null && Object.hasOwnProperty.call(message, "contestantId")) + writer.uint32(/* id 5, wireType 2 =*/42).bytes(message.contestantId); + if (message.startAtIdentifierInfo != null && Object.hasOwnProperty.call(message, "startAtIdentifierInfo")) + $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.encode(message.startAtIdentifierInfo, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); + if (message.count != null && Object.hasOwnProperty.call(message, "count")) + writer.uint32(/* id 7, wireType 0 =*/56).uint32(message.count); + if (message.orderAscending != null && Object.hasOwnProperty.call(message, "orderAscending")) + writer.uint32(/* id 8, wireType 0 =*/64).bool(message.orderAscending); if (message.prove != null && Object.hasOwnProperty.call(message, "prove")) - writer.uint32(/* id 2, wireType 0 =*/16).bool(message.prove); + writer.uint32(/* id 9, wireType 0 =*/72).bool(message.prove); return writer; }; /** - * Encodes the specified GetPrefundedSpecializedBalanceRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.verify|verify} messages. + * Encodes the specified GetContestedResourceVotersForIdentityRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.IGetPrefundedSpecializedBalanceRequestV0} message GetPrefundedSpecializedBalanceRequestV0 message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.IGetContestedResourceVotersForIdentityRequestV0} message GetContestedResourceVotersForIdentityRequestV0 message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetPrefundedSpecializedBalanceRequestV0.encodeDelimited = function encodeDelimited(message, writer) { + GetContestedResourceVotersForIdentityRequestV0.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetPrefundedSpecializedBalanceRequestV0 message from the specified reader or buffer. + * Decodes a GetContestedResourceVotersForIdentityRequestV0 message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0 * @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.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0} GetPrefundedSpecializedBalanceRequestV0 + * @returns {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} GetContestedResourceVotersForIdentityRequestV0 * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetPrefundedSpecializedBalanceRequestV0.decode = function decode(reader, length) { + GetContestedResourceVotersForIdentityRequestV0.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.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.id = reader.bytes(); + message.contractId = reader.bytes(); break; case 2: + message.documentTypeName = reader.string(); + break; + case 3: + message.indexName = reader.string(); + break; + case 4: + if (!(message.indexValues && message.indexValues.length)) + message.indexValues = []; + message.indexValues.push(reader.bytes()); + break; + case 5: + message.contestantId = reader.bytes(); + break; + case 6: + message.startAtIdentifierInfo = $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.decode(reader, reader.uint32()); + break; + case 7: + message.count = reader.uint32(); + break; + case 8: + message.orderAscending = reader.bool(); + break; + case 9: message.prove = reader.bool(); break; default: @@ -37407,35 +37418,62 @@ $root.org = (function() { }; /** - * Decodes a GetPrefundedSpecializedBalanceRequestV0 message from the specified reader or buffer, length delimited. + * Decodes a GetContestedResourceVotersForIdentityRequestV0 message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0 * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0} GetPrefundedSpecializedBalanceRequestV0 + * @returns {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} GetContestedResourceVotersForIdentityRequestV0 * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetPrefundedSpecializedBalanceRequestV0.decodeDelimited = function decodeDelimited(reader) { + GetContestedResourceVotersForIdentityRequestV0.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GetPrefundedSpecializedBalanceRequestV0 message. + * Verifies a GetContestedResourceVotersForIdentityRequestV0 message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0 * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetPrefundedSpecializedBalanceRequestV0.verify = function verify(message) { + GetContestedResourceVotersForIdentityRequestV0.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.contractId != null && message.hasOwnProperty("contractId")) + if (!(message.contractId && typeof message.contractId.length === "number" || $util.isString(message.contractId))) + return "contractId: buffer expected"; + if (message.documentTypeName != null && message.hasOwnProperty("documentTypeName")) + if (!$util.isString(message.documentTypeName)) + return "documentTypeName: string expected"; + if (message.indexName != null && message.hasOwnProperty("indexName")) + if (!$util.isString(message.indexName)) + return "indexName: string expected"; + if (message.indexValues != null && message.hasOwnProperty("indexValues")) { + if (!Array.isArray(message.indexValues)) + return "indexValues: array expected"; + for (var i = 0; i < message.indexValues.length; ++i) + if (!(message.indexValues[i] && typeof message.indexValues[i].length === "number" || $util.isString(message.indexValues[i]))) + return "indexValues: buffer[] expected"; + } + if (message.contestantId != null && message.hasOwnProperty("contestantId")) + if (!(message.contestantId && typeof message.contestantId.length === "number" || $util.isString(message.contestantId))) + return "contestantId: buffer expected"; + if (message.startAtIdentifierInfo != null && message.hasOwnProperty("startAtIdentifierInfo")) { + var error = $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.verify(message.startAtIdentifierInfo); + if (error) + return "startAtIdentifierInfo." + error; + } + if (message.count != null && message.hasOwnProperty("count")) + if (!$util.isInteger(message.count)) + return "count: integer expected"; + if (message.orderAscending != null && message.hasOwnProperty("orderAscending")) + if (typeof message.orderAscending !== "boolean") + return "orderAscending: boolean expected"; if (message.prove != null && message.hasOwnProperty("prove")) if (typeof message.prove !== "boolean") return "prove: boolean expected"; @@ -37443,182 +37481,460 @@ $root.org = (function() { }; /** - * Creates a GetPrefundedSpecializedBalanceRequestV0 message from a plain object. Also converts values to their respective internal types. + * Creates a GetContestedResourceVotersForIdentityRequestV0 message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0 * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0} GetPrefundedSpecializedBalanceRequestV0 + * @returns {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} GetContestedResourceVotersForIdentityRequestV0 */ - GetPrefundedSpecializedBalanceRequestV0.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0) + GetContestedResourceVotersForIdentityRequestV0.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0) return object; - var message = new $root.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0(); - 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; + var message = new $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0(); + 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.documentTypeName != null) + message.documentTypeName = String(object.documentTypeName); + if (object.indexName != null) + message.indexName = String(object.indexName); + if (object.indexValues) { + if (!Array.isArray(object.indexValues)) + throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.indexValues: array expected"); + message.indexValues = []; + for (var i = 0; i < object.indexValues.length; ++i) + if (typeof object.indexValues[i] === "string") + $util.base64.decode(object.indexValues[i], message.indexValues[i] = $util.newBuffer($util.base64.length(object.indexValues[i])), 0); + else if (object.indexValues[i].length >= 0) + message.indexValues[i] = object.indexValues[i]; + } + if (object.contestantId != null) + if (typeof object.contestantId === "string") + $util.base64.decode(object.contestantId, message.contestantId = $util.newBuffer($util.base64.length(object.contestantId)), 0); + else if (object.contestantId.length >= 0) + message.contestantId = object.contestantId; + if (object.startAtIdentifierInfo != null) { + if (typeof object.startAtIdentifierInfo !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.startAtIdentifierInfo: object expected"); + message.startAtIdentifierInfo = $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.fromObject(object.startAtIdentifierInfo); + } + if (object.count != null) + message.count = object.count >>> 0; + if (object.orderAscending != null) + message.orderAscending = Boolean(object.orderAscending); if (object.prove != null) message.prove = Boolean(object.prove); return message; }; /** - * Creates a plain object from a GetPrefundedSpecializedBalanceRequestV0 message. Also converts values to other types if specified. + * Creates a plain object from a GetContestedResourceVotersForIdentityRequestV0 message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0} message GetPrefundedSpecializedBalanceRequestV0 + * @param {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} message GetContestedResourceVotersForIdentityRequestV0 * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetPrefundedSpecializedBalanceRequestV0.toObject = function toObject(message, options) { + GetContestedResourceVotersForIdentityRequestV0.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; + if (options.arrays || options.defaults) + object.indexValues = []; if (options.defaults) { if (options.bytes === String) - object.id = ""; + object.contractId = ""; else { - object.id = []; + object.contractId = []; if (options.bytes !== Array) - object.id = $util.newBuffer(object.id); + object.contractId = $util.newBuffer(object.contractId); } + object.documentTypeName = ""; + object.indexName = ""; + if (options.bytes === String) + object.contestantId = ""; + else { + object.contestantId = []; + if (options.bytes !== Array) + object.contestantId = $util.newBuffer(object.contestantId); + } + object.startAtIdentifierInfo = null; + object.count = 0; + object.orderAscending = false; 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.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.documentTypeName != null && message.hasOwnProperty("documentTypeName")) + object.documentTypeName = message.documentTypeName; + if (message.indexName != null && message.hasOwnProperty("indexName")) + object.indexName = message.indexName; + if (message.indexValues && message.indexValues.length) { + object.indexValues = []; + for (var j = 0; j < message.indexValues.length; ++j) + object.indexValues[j] = options.bytes === String ? $util.base64.encode(message.indexValues[j], 0, message.indexValues[j].length) : options.bytes === Array ? Array.prototype.slice.call(message.indexValues[j]) : message.indexValues[j]; + } + if (message.contestantId != null && message.hasOwnProperty("contestantId")) + object.contestantId = options.bytes === String ? $util.base64.encode(message.contestantId, 0, message.contestantId.length) : options.bytes === Array ? Array.prototype.slice.call(message.contestantId) : message.contestantId; + if (message.startAtIdentifierInfo != null && message.hasOwnProperty("startAtIdentifierInfo")) + object.startAtIdentifierInfo = $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.toObject(message.startAtIdentifierInfo, options); + if (message.count != null && message.hasOwnProperty("count")) + object.count = message.count; + if (message.orderAscending != null && message.hasOwnProperty("orderAscending")) + object.orderAscending = message.orderAscending; if (message.prove != null && message.hasOwnProperty("prove")) object.prove = message.prove; return object; }; /** - * Converts this GetPrefundedSpecializedBalanceRequestV0 to JSON. + * Converts this GetContestedResourceVotersForIdentityRequestV0 to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0 * @instance * @returns {Object.} JSON object */ - GetPrefundedSpecializedBalanceRequestV0.prototype.toJSON = function toJSON() { + GetContestedResourceVotersForIdentityRequestV0.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return GetPrefundedSpecializedBalanceRequestV0; - })(); - - return GetPrefundedSpecializedBalanceRequest; - })(); - - v0.GetPrefundedSpecializedBalanceResponse = (function() { + GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo = (function() { - /** - * Properties of a GetPrefundedSpecializedBalanceResponse. - * @memberof org.dash.platform.dapi.v0 - * @interface IGetPrefundedSpecializedBalanceResponse - * @property {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.IGetPrefundedSpecializedBalanceResponseV0|null} [v0] GetPrefundedSpecializedBalanceResponse v0 - */ + /** + * Properties of a StartAtIdentifierInfo. + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0 + * @interface IStartAtIdentifierInfo + * @property {Uint8Array|null} [startIdentifier] StartAtIdentifierInfo startIdentifier + * @property {boolean|null} [startIdentifierIncluded] StartAtIdentifierInfo startIdentifierIncluded + */ - /** - * Constructs a new GetPrefundedSpecializedBalanceResponse. - * @memberof org.dash.platform.dapi.v0 - * @classdesc Represents a GetPrefundedSpecializedBalanceResponse. - * @implements IGetPrefundedSpecializedBalanceResponse - * @constructor - * @param {org.dash.platform.dapi.v0.IGetPrefundedSpecializedBalanceResponse=} [properties] Properties to set - */ - function GetPrefundedSpecializedBalanceResponse(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 StartAtIdentifierInfo. + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0 + * @classdesc Represents a StartAtIdentifierInfo. + * @implements IStartAtIdentifierInfo + * @constructor + * @param {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.IStartAtIdentifierInfo=} [properties] Properties to set + */ + function StartAtIdentifierInfo(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]]; + } - /** - * GetPrefundedSpecializedBalanceResponse v0. - * @member {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.IGetPrefundedSpecializedBalanceResponseV0|null|undefined} v0 - * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse - * @instance - */ - GetPrefundedSpecializedBalanceResponse.prototype.v0 = null; + /** + * StartAtIdentifierInfo startIdentifier. + * @member {Uint8Array} startIdentifier + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo + * @instance + */ + StartAtIdentifierInfo.prototype.startIdentifier = $util.newBuffer([]); - // OneOf field names bound to virtual getters and setters - var $oneOfFields; + /** + * StartAtIdentifierInfo startIdentifierIncluded. + * @member {boolean} startIdentifierIncluded + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo + * @instance + */ + StartAtIdentifierInfo.prototype.startIdentifierIncluded = false; - /** - * GetPrefundedSpecializedBalanceResponse version. + /** + * Creates a new StartAtIdentifierInfo instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo + * @static + * @param {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.IStartAtIdentifierInfo=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo} StartAtIdentifierInfo instance + */ + StartAtIdentifierInfo.create = function create(properties) { + return new StartAtIdentifierInfo(properties); + }; + + /** + * Encodes the specified StartAtIdentifierInfo message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo + * @static + * @param {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.IStartAtIdentifierInfo} message StartAtIdentifierInfo message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + StartAtIdentifierInfo.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.startIdentifier != null && Object.hasOwnProperty.call(message, "startIdentifier")) + writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.startIdentifier); + if (message.startIdentifierIncluded != null && Object.hasOwnProperty.call(message, "startIdentifierIncluded")) + writer.uint32(/* id 2, wireType 0 =*/16).bool(message.startIdentifierIncluded); + return writer; + }; + + /** + * Encodes the specified StartAtIdentifierInfo message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo + * @static + * @param {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.IStartAtIdentifierInfo} message StartAtIdentifierInfo message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + StartAtIdentifierInfo.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a StartAtIdentifierInfo message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo + * @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.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo} StartAtIdentifierInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + StartAtIdentifierInfo.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.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.startIdentifier = reader.bytes(); + break; + case 2: + message.startIdentifierIncluded = reader.bool(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a StartAtIdentifierInfo message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo} StartAtIdentifierInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + StartAtIdentifierInfo.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a StartAtIdentifierInfo message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + StartAtIdentifierInfo.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.startIdentifier != null && message.hasOwnProperty("startIdentifier")) + if (!(message.startIdentifier && typeof message.startIdentifier.length === "number" || $util.isString(message.startIdentifier))) + return "startIdentifier: buffer expected"; + if (message.startIdentifierIncluded != null && message.hasOwnProperty("startIdentifierIncluded")) + if (typeof message.startIdentifierIncluded !== "boolean") + return "startIdentifierIncluded: boolean expected"; + return null; + }; + + /** + * Creates a StartAtIdentifierInfo message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo} StartAtIdentifierInfo + */ + StartAtIdentifierInfo.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo(); + if (object.startIdentifier != null) + if (typeof object.startIdentifier === "string") + $util.base64.decode(object.startIdentifier, message.startIdentifier = $util.newBuffer($util.base64.length(object.startIdentifier)), 0); + else if (object.startIdentifier.length >= 0) + message.startIdentifier = object.startIdentifier; + if (object.startIdentifierIncluded != null) + message.startIdentifierIncluded = Boolean(object.startIdentifierIncluded); + return message; + }; + + /** + * Creates a plain object from a StartAtIdentifierInfo message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo + * @static + * @param {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo} message StartAtIdentifierInfo + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + StartAtIdentifierInfo.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + if (options.bytes === String) + object.startIdentifier = ""; + else { + object.startIdentifier = []; + if (options.bytes !== Array) + object.startIdentifier = $util.newBuffer(object.startIdentifier); + } + object.startIdentifierIncluded = false; + } + if (message.startIdentifier != null && message.hasOwnProperty("startIdentifier")) + object.startIdentifier = options.bytes === String ? $util.base64.encode(message.startIdentifier, 0, message.startIdentifier.length) : options.bytes === Array ? Array.prototype.slice.call(message.startIdentifier) : message.startIdentifier; + if (message.startIdentifierIncluded != null && message.hasOwnProperty("startIdentifierIncluded")) + object.startIdentifierIncluded = message.startIdentifierIncluded; + return object; + }; + + /** + * Converts this StartAtIdentifierInfo to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo + * @instance + * @returns {Object.} JSON object + */ + StartAtIdentifierInfo.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return StartAtIdentifierInfo; + })(); + + return GetContestedResourceVotersForIdentityRequestV0; + })(); + + return GetContestedResourceVotersForIdentityRequest; + })(); + + v0.GetContestedResourceVotersForIdentityResponse = (function() { + + /** + * Properties of a GetContestedResourceVotersForIdentityResponse. + * @memberof org.dash.platform.dapi.v0 + * @interface IGetContestedResourceVotersForIdentityResponse + * @property {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.IGetContestedResourceVotersForIdentityResponseV0|null} [v0] GetContestedResourceVotersForIdentityResponse v0 + */ + + /** + * Constructs a new GetContestedResourceVotersForIdentityResponse. + * @memberof org.dash.platform.dapi.v0 + * @classdesc Represents a GetContestedResourceVotersForIdentityResponse. + * @implements IGetContestedResourceVotersForIdentityResponse + * @constructor + * @param {org.dash.platform.dapi.v0.IGetContestedResourceVotersForIdentityResponse=} [properties] Properties to set + */ + function GetContestedResourceVotersForIdentityResponse(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]]; + } + + /** + * GetContestedResourceVotersForIdentityResponse v0. + * @member {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.IGetContestedResourceVotersForIdentityResponseV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse + * @instance + */ + GetContestedResourceVotersForIdentityResponse.prototype.v0 = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * GetContestedResourceVotersForIdentityResponse version. * @member {"v0"|undefined} version - * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse * @instance */ - Object.defineProperty(GetPrefundedSpecializedBalanceResponse.prototype, "version", { + Object.defineProperty(GetContestedResourceVotersForIdentityResponse.prototype, "version", { get: $util.oneOfGetter($oneOfFields = ["v0"]), set: $util.oneOfSetter($oneOfFields) }); /** - * Creates a new GetPrefundedSpecializedBalanceResponse instance using the specified properties. + * Creates a new GetContestedResourceVotersForIdentityResponse instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse * @static - * @param {org.dash.platform.dapi.v0.IGetPrefundedSpecializedBalanceResponse=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse} GetPrefundedSpecializedBalanceResponse instance + * @param {org.dash.platform.dapi.v0.IGetContestedResourceVotersForIdentityResponse=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse} GetContestedResourceVotersForIdentityResponse instance */ - GetPrefundedSpecializedBalanceResponse.create = function create(properties) { - return new GetPrefundedSpecializedBalanceResponse(properties); + GetContestedResourceVotersForIdentityResponse.create = function create(properties) { + return new GetContestedResourceVotersForIdentityResponse(properties); }; /** - * Encodes the specified GetPrefundedSpecializedBalanceResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.verify|verify} messages. + * Encodes the specified GetContestedResourceVotersForIdentityResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse * @static - * @param {org.dash.platform.dapi.v0.IGetPrefundedSpecializedBalanceResponse} message GetPrefundedSpecializedBalanceResponse message or plain object to encode + * @param {org.dash.platform.dapi.v0.IGetContestedResourceVotersForIdentityResponse} message GetContestedResourceVotersForIdentityResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetPrefundedSpecializedBalanceResponse.encode = function encode(message, writer) { + GetContestedResourceVotersForIdentityResponse.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.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified GetPrefundedSpecializedBalanceResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.verify|verify} messages. + * Encodes the specified GetContestedResourceVotersForIdentityResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse * @static - * @param {org.dash.platform.dapi.v0.IGetPrefundedSpecializedBalanceResponse} message GetPrefundedSpecializedBalanceResponse message or plain object to encode + * @param {org.dash.platform.dapi.v0.IGetContestedResourceVotersForIdentityResponse} message GetContestedResourceVotersForIdentityResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetPrefundedSpecializedBalanceResponse.encodeDelimited = function encodeDelimited(message, writer) { + GetContestedResourceVotersForIdentityResponse.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetPrefundedSpecializedBalanceResponse message from the specified reader or buffer. + * Decodes a GetContestedResourceVotersForIdentityResponse message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse * @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.GetPrefundedSpecializedBalanceResponse} GetPrefundedSpecializedBalanceResponse + * @returns {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse} GetContestedResourceVotersForIdentityResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetPrefundedSpecializedBalanceResponse.decode = function decode(reader, length) { + GetContestedResourceVotersForIdentityResponse.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.GetPrefundedSpecializedBalanceResponse(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.v0 = $root.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.decode(reader, reader.uint32()); + message.v0 = $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -37629,37 +37945,37 @@ $root.org = (function() { }; /** - * Decodes a GetPrefundedSpecializedBalanceResponse message from the specified reader or buffer, length delimited. + * Decodes a GetContestedResourceVotersForIdentityResponse message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse} GetPrefundedSpecializedBalanceResponse + * @returns {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse} GetContestedResourceVotersForIdentityResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetPrefundedSpecializedBalanceResponse.decodeDelimited = function decodeDelimited(reader) { + GetContestedResourceVotersForIdentityResponse.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GetPrefundedSpecializedBalanceResponse message. + * Verifies a GetContestedResourceVotersForIdentityResponse message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetPrefundedSpecializedBalanceResponse.verify = function verify(message) { + GetContestedResourceVotersForIdentityResponse.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.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.verify(message.v0); + var error = $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.verify(message.v0); if (error) return "v0." + error; } @@ -37668,40 +37984,40 @@ $root.org = (function() { }; /** - * Creates a GetPrefundedSpecializedBalanceResponse message from a plain object. Also converts values to their respective internal types. + * Creates a GetContestedResourceVotersForIdentityResponse message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse} GetPrefundedSpecializedBalanceResponse + * @returns {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse} GetContestedResourceVotersForIdentityResponse */ - GetPrefundedSpecializedBalanceResponse.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse) + GetContestedResourceVotersForIdentityResponse.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse) return object; - var message = new $root.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse(); + var message = new $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse(); if (object.v0 != null) { if (typeof object.v0 !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.v0: object expected"); - message.v0 = $root.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.fromObject(object.v0); + throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.v0: object expected"); + message.v0 = $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.fromObject(object.v0); } return message; }; /** - * Creates a plain object from a GetPrefundedSpecializedBalanceResponse message. Also converts values to other types if specified. + * Creates a plain object from a GetContestedResourceVotersForIdentityResponse message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse * @static - * @param {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse} message GetPrefundedSpecializedBalanceResponse + * @param {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse} message GetContestedResourceVotersForIdentityResponse * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetPrefundedSpecializedBalanceResponse.toObject = function toObject(message, options) { + GetContestedResourceVotersForIdentityResponse.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.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.toObject(message.v0, options); + object.v0 = $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.toObject(message.v0, options); if (options.oneofs) object.version = "v0"; } @@ -37709,36 +38025,36 @@ $root.org = (function() { }; /** - * Converts this GetPrefundedSpecializedBalanceResponse to JSON. + * Converts this GetContestedResourceVotersForIdentityResponse to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse * @instance * @returns {Object.} JSON object */ - GetPrefundedSpecializedBalanceResponse.prototype.toJSON = function toJSON() { + GetContestedResourceVotersForIdentityResponse.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0 = (function() { + GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0 = (function() { /** - * Properties of a GetPrefundedSpecializedBalanceResponseV0. - * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse - * @interface IGetPrefundedSpecializedBalanceResponseV0 - * @property {number|Long|null} [balance] GetPrefundedSpecializedBalanceResponseV0 balance - * @property {org.dash.platform.dapi.v0.IProof|null} [proof] GetPrefundedSpecializedBalanceResponseV0 proof - * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetPrefundedSpecializedBalanceResponseV0 metadata + * Properties of a GetContestedResourceVotersForIdentityResponseV0. + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse + * @interface IGetContestedResourceVotersForIdentityResponseV0 + * @property {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.IContestedResourceVoters|null} [contestedResourceVoters] GetContestedResourceVotersForIdentityResponseV0 contestedResourceVoters + * @property {org.dash.platform.dapi.v0.IProof|null} [proof] GetContestedResourceVotersForIdentityResponseV0 proof + * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetContestedResourceVotersForIdentityResponseV0 metadata */ /** - * Constructs a new GetPrefundedSpecializedBalanceResponseV0. - * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse - * @classdesc Represents a GetPrefundedSpecializedBalanceResponseV0. - * @implements IGetPrefundedSpecializedBalanceResponseV0 + * Constructs a new GetContestedResourceVotersForIdentityResponseV0. + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse + * @classdesc Represents a GetContestedResourceVotersForIdentityResponseV0. + * @implements IGetContestedResourceVotersForIdentityResponseV0 * @constructor - * @param {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.IGetPrefundedSpecializedBalanceResponseV0=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.IGetContestedResourceVotersForIdentityResponseV0=} [properties] Properties to set */ - function GetPrefundedSpecializedBalanceResponseV0(properties) { + function GetContestedResourceVotersForIdentityResponseV0(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -37746,69 +38062,69 @@ $root.org = (function() { } /** - * GetPrefundedSpecializedBalanceResponseV0 balance. - * @member {number|Long} balance - * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0 + * GetContestedResourceVotersForIdentityResponseV0 contestedResourceVoters. + * @member {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.IContestedResourceVoters|null|undefined} contestedResourceVoters + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0 * @instance */ - GetPrefundedSpecializedBalanceResponseV0.prototype.balance = $util.Long ? $util.Long.fromBits(0,0,true) : 0; + GetContestedResourceVotersForIdentityResponseV0.prototype.contestedResourceVoters = null; /** - * GetPrefundedSpecializedBalanceResponseV0 proof. + * GetContestedResourceVotersForIdentityResponseV0 proof. * @member {org.dash.platform.dapi.v0.IProof|null|undefined} proof - * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0 * @instance */ - GetPrefundedSpecializedBalanceResponseV0.prototype.proof = null; + GetContestedResourceVotersForIdentityResponseV0.prototype.proof = null; /** - * GetPrefundedSpecializedBalanceResponseV0 metadata. + * GetContestedResourceVotersForIdentityResponseV0 metadata. * @member {org.dash.platform.dapi.v0.IResponseMetadata|null|undefined} metadata - * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0 * @instance */ - GetPrefundedSpecializedBalanceResponseV0.prototype.metadata = null; + GetContestedResourceVotersForIdentityResponseV0.prototype.metadata = null; // OneOf field names bound to virtual getters and setters var $oneOfFields; /** - * GetPrefundedSpecializedBalanceResponseV0 result. - * @member {"balance"|"proof"|undefined} result - * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0 + * GetContestedResourceVotersForIdentityResponseV0 result. + * @member {"contestedResourceVoters"|"proof"|undefined} result + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0 * @instance */ - Object.defineProperty(GetPrefundedSpecializedBalanceResponseV0.prototype, "result", { - get: $util.oneOfGetter($oneOfFields = ["balance", "proof"]), + Object.defineProperty(GetContestedResourceVotersForIdentityResponseV0.prototype, "result", { + get: $util.oneOfGetter($oneOfFields = ["contestedResourceVoters", "proof"]), set: $util.oneOfSetter($oneOfFields) }); /** - * Creates a new GetPrefundedSpecializedBalanceResponseV0 instance using the specified properties. + * Creates a new GetContestedResourceVotersForIdentityResponseV0 instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.IGetPrefundedSpecializedBalanceResponseV0=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0} GetPrefundedSpecializedBalanceResponseV0 instance + * @param {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.IGetContestedResourceVotersForIdentityResponseV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0} GetContestedResourceVotersForIdentityResponseV0 instance */ - GetPrefundedSpecializedBalanceResponseV0.create = function create(properties) { - return new GetPrefundedSpecializedBalanceResponseV0(properties); + GetContestedResourceVotersForIdentityResponseV0.create = function create(properties) { + return new GetContestedResourceVotersForIdentityResponseV0(properties); }; /** - * Encodes the specified GetPrefundedSpecializedBalanceResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.verify|verify} messages. + * Encodes the specified GetContestedResourceVotersForIdentityResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.IGetPrefundedSpecializedBalanceResponseV0} message GetPrefundedSpecializedBalanceResponseV0 message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.IGetContestedResourceVotersForIdentityResponseV0} message GetContestedResourceVotersForIdentityResponseV0 message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetPrefundedSpecializedBalanceResponseV0.encode = function encode(message, writer) { + GetContestedResourceVotersForIdentityResponseV0.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.contestedResourceVoters != null && Object.hasOwnProperty.call(message, "contestedResourceVoters")) + $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.encode(message.contestedResourceVoters, 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")) @@ -37817,38 +38133,38 @@ $root.org = (function() { }; /** - * Encodes the specified GetPrefundedSpecializedBalanceResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.verify|verify} messages. + * Encodes the specified GetContestedResourceVotersForIdentityResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.IGetPrefundedSpecializedBalanceResponseV0} message GetPrefundedSpecializedBalanceResponseV0 message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.IGetContestedResourceVotersForIdentityResponseV0} message GetContestedResourceVotersForIdentityResponseV0 message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetPrefundedSpecializedBalanceResponseV0.encodeDelimited = function encodeDelimited(message, writer) { + GetContestedResourceVotersForIdentityResponseV0.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetPrefundedSpecializedBalanceResponseV0 message from the specified reader or buffer. + * Decodes a GetContestedResourceVotersForIdentityResponseV0 message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0 * @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.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0} GetPrefundedSpecializedBalanceResponseV0 + * @returns {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0} GetContestedResourceVotersForIdentityResponseV0 * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetPrefundedSpecializedBalanceResponseV0.decode = function decode(reader, length) { + GetContestedResourceVotersForIdentityResponseV0.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.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.balance = reader.uint64(); + message.contestedResourceVoters = $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.decode(reader, reader.uint32()); break; case 2: message.proof = $root.org.dash.platform.dapi.v0.Proof.decode(reader, reader.uint32()); @@ -37865,37 +38181,40 @@ $root.org = (function() { }; /** - * Decodes a GetPrefundedSpecializedBalanceResponseV0 message from the specified reader or buffer, length delimited. + * Decodes a GetContestedResourceVotersForIdentityResponseV0 message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0 * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0} GetPrefundedSpecializedBalanceResponseV0 + * @returns {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0} GetContestedResourceVotersForIdentityResponseV0 * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetPrefundedSpecializedBalanceResponseV0.decodeDelimited = function decodeDelimited(reader) { + GetContestedResourceVotersForIdentityResponseV0.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GetPrefundedSpecializedBalanceResponseV0 message. + * Verifies a GetContestedResourceVotersForIdentityResponseV0 message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0 * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetPrefundedSpecializedBalanceResponseV0.verify = function verify(message) { + GetContestedResourceVotersForIdentityResponseV0.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; var properties = {}; - if (message.balance != null && message.hasOwnProperty("balance")) { + if (message.contestedResourceVoters != null && message.hasOwnProperty("contestedResourceVoters")) { 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"; + { + var error = $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.verify(message.contestedResourceVoters); + if (error) + return "contestedResourceVoters." + error; + } } if (message.proof != null && message.hasOwnProperty("proof")) { if (properties.result === 1) @@ -37916,61 +38235,54 @@ $root.org = (function() { }; /** - * Creates a GetPrefundedSpecializedBalanceResponseV0 message from a plain object. Also converts values to their respective internal types. + * Creates a GetContestedResourceVotersForIdentityResponseV0 message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0 * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0} GetPrefundedSpecializedBalanceResponseV0 + * @returns {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0} GetContestedResourceVotersForIdentityResponseV0 */ - GetPrefundedSpecializedBalanceResponseV0.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0) + GetContestedResourceVotersForIdentityResponseV0.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0) return object; - var message = new $root.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0(); - 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); + var message = new $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0(); + if (object.contestedResourceVoters != null) { + if (typeof object.contestedResourceVoters !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.contestedResourceVoters: object expected"); + message.contestedResourceVoters = $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.fromObject(object.contestedResourceVoters); + } if (object.proof != null) { if (typeof object.proof !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.proof: object expected"); + throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.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.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.metadata: object expected"); + throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.metadata: object expected"); message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.fromObject(object.metadata); } return message; }; /** - * Creates a plain object from a GetPrefundedSpecializedBalanceResponseV0 message. Also converts values to other types if specified. + * Creates a plain object from a GetContestedResourceVotersForIdentityResponseV0 message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0} message GetPrefundedSpecializedBalanceResponseV0 + * @param {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0} message GetContestedResourceVotersForIdentityResponseV0 * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetPrefundedSpecializedBalanceResponseV0.toObject = function toObject(message, options) { + GetContestedResourceVotersForIdentityResponseV0.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 (message.contestedResourceVoters != null && message.hasOwnProperty("contestedResourceVoters")) { + object.contestedResourceVoters = $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.toObject(message.contestedResourceVoters, options); if (options.oneofs) - object.result = "balance"; + object.result = "contestedResourceVoters"; } if (message.proof != null && message.hasOwnProperty("proof")) { object.proof = $root.org.dash.platform.dapi.v0.Proof.toObject(message.proof, options); @@ -37983,40 +38295,269 @@ $root.org = (function() { }; /** - * Converts this GetPrefundedSpecializedBalanceResponseV0 to JSON. + * Converts this GetContestedResourceVotersForIdentityResponseV0 to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0 * @instance * @returns {Object.} JSON object */ - GetPrefundedSpecializedBalanceResponseV0.prototype.toJSON = function toJSON() { + GetContestedResourceVotersForIdentityResponseV0.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return GetPrefundedSpecializedBalanceResponseV0; - })(); - - return GetPrefundedSpecializedBalanceResponse; - })(); + GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters = (function() { - v0.GetTotalCreditsInPlatformRequest = (function() { + /** + * Properties of a ContestedResourceVoters. + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0 + * @interface IContestedResourceVoters + * @property {Array.|null} [voters] ContestedResourceVoters voters + * @property {boolean|null} [finishedResults] ContestedResourceVoters finishedResults + */ - /** - * Properties of a GetTotalCreditsInPlatformRequest. - * @memberof org.dash.platform.dapi.v0 - * @interface IGetTotalCreditsInPlatformRequest - * @property {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.IGetTotalCreditsInPlatformRequestV0|null} [v0] GetTotalCreditsInPlatformRequest v0 - */ + /** + * Constructs a new ContestedResourceVoters. + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0 + * @classdesc Represents a ContestedResourceVoters. + * @implements IContestedResourceVoters + * @constructor + * @param {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.IContestedResourceVoters=} [properties] Properties to set + */ + function ContestedResourceVoters(properties) { + this.voters = []; + 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]]; + } + + /** + * ContestedResourceVoters voters. + * @member {Array.} voters + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters + * @instance + */ + ContestedResourceVoters.prototype.voters = $util.emptyArray; + + /** + * ContestedResourceVoters finishedResults. + * @member {boolean} finishedResults + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters + * @instance + */ + ContestedResourceVoters.prototype.finishedResults = false; + + /** + * Creates a new ContestedResourceVoters instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters + * @static + * @param {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.IContestedResourceVoters=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters} ContestedResourceVoters instance + */ + ContestedResourceVoters.create = function create(properties) { + return new ContestedResourceVoters(properties); + }; + + /** + * Encodes the specified ContestedResourceVoters message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters + * @static + * @param {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.IContestedResourceVoters} message ContestedResourceVoters message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ContestedResourceVoters.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.voters != null && message.voters.length) + for (var i = 0; i < message.voters.length; ++i) + writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.voters[i]); + if (message.finishedResults != null && Object.hasOwnProperty.call(message, "finishedResults")) + writer.uint32(/* id 2, wireType 0 =*/16).bool(message.finishedResults); + return writer; + }; + + /** + * Encodes the specified ContestedResourceVoters message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters + * @static + * @param {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.IContestedResourceVoters} message ContestedResourceVoters message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ContestedResourceVoters.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ContestedResourceVoters message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters + * @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.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters} ContestedResourceVoters + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ContestedResourceVoters.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.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.voters && message.voters.length)) + message.voters = []; + message.voters.push(reader.bytes()); + break; + case 2: + message.finishedResults = reader.bool(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ContestedResourceVoters message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters} ContestedResourceVoters + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ContestedResourceVoters.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ContestedResourceVoters message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ContestedResourceVoters.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.voters != null && message.hasOwnProperty("voters")) { + if (!Array.isArray(message.voters)) + return "voters: array expected"; + for (var i = 0; i < message.voters.length; ++i) + if (!(message.voters[i] && typeof message.voters[i].length === "number" || $util.isString(message.voters[i]))) + return "voters: buffer[] expected"; + } + if (message.finishedResults != null && message.hasOwnProperty("finishedResults")) + if (typeof message.finishedResults !== "boolean") + return "finishedResults: boolean expected"; + return null; + }; + + /** + * Creates a ContestedResourceVoters message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters} ContestedResourceVoters + */ + ContestedResourceVoters.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters(); + if (object.voters) { + if (!Array.isArray(object.voters)) + throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.voters: array expected"); + message.voters = []; + for (var i = 0; i < object.voters.length; ++i) + if (typeof object.voters[i] === "string") + $util.base64.decode(object.voters[i], message.voters[i] = $util.newBuffer($util.base64.length(object.voters[i])), 0); + else if (object.voters[i].length >= 0) + message.voters[i] = object.voters[i]; + } + if (object.finishedResults != null) + message.finishedResults = Boolean(object.finishedResults); + return message; + }; + + /** + * Creates a plain object from a ContestedResourceVoters message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters + * @static + * @param {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters} message ContestedResourceVoters + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ContestedResourceVoters.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.voters = []; + if (options.defaults) + object.finishedResults = false; + if (message.voters && message.voters.length) { + object.voters = []; + for (var j = 0; j < message.voters.length; ++j) + object.voters[j] = options.bytes === String ? $util.base64.encode(message.voters[j], 0, message.voters[j].length) : options.bytes === Array ? Array.prototype.slice.call(message.voters[j]) : message.voters[j]; + } + if (message.finishedResults != null && message.hasOwnProperty("finishedResults")) + object.finishedResults = message.finishedResults; + return object; + }; + + /** + * Converts this ContestedResourceVoters to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters + * @instance + * @returns {Object.} JSON object + */ + ContestedResourceVoters.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ContestedResourceVoters; + })(); + + return GetContestedResourceVotersForIdentityResponseV0; + })(); + + return GetContestedResourceVotersForIdentityResponse; + })(); + + v0.GetContestedResourceIdentityVotesRequest = (function() { /** - * Constructs a new GetTotalCreditsInPlatformRequest. + * Properties of a GetContestedResourceIdentityVotesRequest. * @memberof org.dash.platform.dapi.v0 - * @classdesc Represents a GetTotalCreditsInPlatformRequest. - * @implements IGetTotalCreditsInPlatformRequest + * @interface IGetContestedResourceIdentityVotesRequest + * @property {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.IGetContestedResourceIdentityVotesRequestV0|null} [v0] GetContestedResourceIdentityVotesRequest v0 + */ + + /** + * Constructs a new GetContestedResourceIdentityVotesRequest. + * @memberof org.dash.platform.dapi.v0 + * @classdesc Represents a GetContestedResourceIdentityVotesRequest. + * @implements IGetContestedResourceIdentityVotesRequest * @constructor - * @param {org.dash.platform.dapi.v0.IGetTotalCreditsInPlatformRequest=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.IGetContestedResourceIdentityVotesRequest=} [properties] Properties to set */ - function GetTotalCreditsInPlatformRequest(properties) { + function GetContestedResourceIdentityVotesRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -38024,89 +38565,89 @@ $root.org = (function() { } /** - * GetTotalCreditsInPlatformRequest v0. - * @member {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.IGetTotalCreditsInPlatformRequestV0|null|undefined} v0 - * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest + * GetContestedResourceIdentityVotesRequest v0. + * @member {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.IGetContestedResourceIdentityVotesRequestV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest * @instance */ - GetTotalCreditsInPlatformRequest.prototype.v0 = null; + GetContestedResourceIdentityVotesRequest.prototype.v0 = null; // OneOf field names bound to virtual getters and setters var $oneOfFields; /** - * GetTotalCreditsInPlatformRequest version. + * GetContestedResourceIdentityVotesRequest version. * @member {"v0"|undefined} version - * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest * @instance */ - Object.defineProperty(GetTotalCreditsInPlatformRequest.prototype, "version", { + Object.defineProperty(GetContestedResourceIdentityVotesRequest.prototype, "version", { get: $util.oneOfGetter($oneOfFields = ["v0"]), set: $util.oneOfSetter($oneOfFields) }); /** - * Creates a new GetTotalCreditsInPlatformRequest instance using the specified properties. + * Creates a new GetContestedResourceIdentityVotesRequest instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest * @static - * @param {org.dash.platform.dapi.v0.IGetTotalCreditsInPlatformRequest=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest} GetTotalCreditsInPlatformRequest instance + * @param {org.dash.platform.dapi.v0.IGetContestedResourceIdentityVotesRequest=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest} GetContestedResourceIdentityVotesRequest instance */ - GetTotalCreditsInPlatformRequest.create = function create(properties) { - return new GetTotalCreditsInPlatformRequest(properties); + GetContestedResourceIdentityVotesRequest.create = function create(properties) { + return new GetContestedResourceIdentityVotesRequest(properties); }; /** - * Encodes the specified GetTotalCreditsInPlatformRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.verify|verify} messages. + * Encodes the specified GetContestedResourceIdentityVotesRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest * @static - * @param {org.dash.platform.dapi.v0.IGetTotalCreditsInPlatformRequest} message GetTotalCreditsInPlatformRequest message or plain object to encode + * @param {org.dash.platform.dapi.v0.IGetContestedResourceIdentityVotesRequest} message GetContestedResourceIdentityVotesRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetTotalCreditsInPlatformRequest.encode = function encode(message, writer) { + GetContestedResourceIdentityVotesRequest.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.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified GetTotalCreditsInPlatformRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.verify|verify} messages. + * Encodes the specified GetContestedResourceIdentityVotesRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest * @static - * @param {org.dash.platform.dapi.v0.IGetTotalCreditsInPlatformRequest} message GetTotalCreditsInPlatformRequest message or plain object to encode + * @param {org.dash.platform.dapi.v0.IGetContestedResourceIdentityVotesRequest} message GetContestedResourceIdentityVotesRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetTotalCreditsInPlatformRequest.encodeDelimited = function encodeDelimited(message, writer) { + GetContestedResourceIdentityVotesRequest.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetTotalCreditsInPlatformRequest message from the specified reader or buffer. + * Decodes a GetContestedResourceIdentityVotesRequest message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest * @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.GetTotalCreditsInPlatformRequest} GetTotalCreditsInPlatformRequest + * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest} GetContestedResourceIdentityVotesRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetTotalCreditsInPlatformRequest.decode = function decode(reader, length) { + GetContestedResourceIdentityVotesRequest.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.GetTotalCreditsInPlatformRequest(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.v0 = $root.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0.decode(reader, reader.uint32()); + message.v0 = $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -38117,37 +38658,37 @@ $root.org = (function() { }; /** - * Decodes a GetTotalCreditsInPlatformRequest message from the specified reader or buffer, length delimited. + * Decodes a GetContestedResourceIdentityVotesRequest message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest} GetTotalCreditsInPlatformRequest + * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest} GetContestedResourceIdentityVotesRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetTotalCreditsInPlatformRequest.decodeDelimited = function decodeDelimited(reader) { + GetContestedResourceIdentityVotesRequest.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GetTotalCreditsInPlatformRequest message. + * Verifies a GetContestedResourceIdentityVotesRequest message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetTotalCreditsInPlatformRequest.verify = function verify(message) { + GetContestedResourceIdentityVotesRequest.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.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0.verify(message.v0); + var error = $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.verify(message.v0); if (error) return "v0." + error; } @@ -38156,40 +38697,40 @@ $root.org = (function() { }; /** - * Creates a GetTotalCreditsInPlatformRequest message from a plain object. Also converts values to their respective internal types. + * Creates a GetContestedResourceIdentityVotesRequest message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest} GetTotalCreditsInPlatformRequest + * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest} GetContestedResourceIdentityVotesRequest */ - GetTotalCreditsInPlatformRequest.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest) + GetContestedResourceIdentityVotesRequest.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest) return object; - var message = new $root.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest(); + var message = new $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest(); if (object.v0 != null) { if (typeof object.v0 !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.v0: object expected"); - message.v0 = $root.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0.fromObject(object.v0); + throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.v0: object expected"); + message.v0 = $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.fromObject(object.v0); } return message; }; /** - * Creates a plain object from a GetTotalCreditsInPlatformRequest message. Also converts values to other types if specified. + * Creates a plain object from a GetContestedResourceIdentityVotesRequest message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest * @static - * @param {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest} message GetTotalCreditsInPlatformRequest + * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest} message GetContestedResourceIdentityVotesRequest * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetTotalCreditsInPlatformRequest.toObject = function toObject(message, options) { + GetContestedResourceIdentityVotesRequest.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.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0.toObject(message.v0, options); + object.v0 = $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.toObject(message.v0, options); if (options.oneofs) object.version = "v0"; } @@ -38197,34 +38738,39 @@ $root.org = (function() { }; /** - * Converts this GetTotalCreditsInPlatformRequest to JSON. + * Converts this GetContestedResourceIdentityVotesRequest to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest * @instance * @returns {Object.} JSON object */ - GetTotalCreditsInPlatformRequest.prototype.toJSON = function toJSON() { + GetContestedResourceIdentityVotesRequest.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0 = (function() { + GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0 = (function() { /** - * Properties of a GetTotalCreditsInPlatformRequestV0. - * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest - * @interface IGetTotalCreditsInPlatformRequestV0 - * @property {boolean|null} [prove] GetTotalCreditsInPlatformRequestV0 prove + * Properties of a GetContestedResourceIdentityVotesRequestV0. + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest + * @interface IGetContestedResourceIdentityVotesRequestV0 + * @property {Uint8Array|null} [identityId] GetContestedResourceIdentityVotesRequestV0 identityId + * @property {google.protobuf.IUInt32Value|null} [limit] GetContestedResourceIdentityVotesRequestV0 limit + * @property {google.protobuf.IUInt32Value|null} [offset] GetContestedResourceIdentityVotesRequestV0 offset + * @property {boolean|null} [orderAscending] GetContestedResourceIdentityVotesRequestV0 orderAscending + * @property {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.IStartAtVotePollIdInfo|null} [startAtVotePollIdInfo] GetContestedResourceIdentityVotesRequestV0 startAtVotePollIdInfo + * @property {boolean|null} [prove] GetContestedResourceIdentityVotesRequestV0 prove */ /** - * Constructs a new GetTotalCreditsInPlatformRequestV0. - * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest - * @classdesc Represents a GetTotalCreditsInPlatformRequestV0. - * @implements IGetTotalCreditsInPlatformRequestV0 + * Constructs a new GetContestedResourceIdentityVotesRequestV0. + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest + * @classdesc Represents a GetContestedResourceIdentityVotesRequestV0. + * @implements IGetContestedResourceIdentityVotesRequestV0 * @constructor - * @param {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.IGetTotalCreditsInPlatformRequestV0=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.IGetContestedResourceIdentityVotesRequestV0=} [properties] Properties to set */ - function GetTotalCreditsInPlatformRequestV0(properties) { + function GetContestedResourceIdentityVotesRequestV0(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -38232,74 +38778,139 @@ $root.org = (function() { } /** - * GetTotalCreditsInPlatformRequestV0 prove. + * GetContestedResourceIdentityVotesRequestV0 identityId. + * @member {Uint8Array} identityId + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0 + * @instance + */ + GetContestedResourceIdentityVotesRequestV0.prototype.identityId = $util.newBuffer([]); + + /** + * GetContestedResourceIdentityVotesRequestV0 limit. + * @member {google.protobuf.IUInt32Value|null|undefined} limit + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0 + * @instance + */ + GetContestedResourceIdentityVotesRequestV0.prototype.limit = null; + + /** + * GetContestedResourceIdentityVotesRequestV0 offset. + * @member {google.protobuf.IUInt32Value|null|undefined} offset + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0 + * @instance + */ + GetContestedResourceIdentityVotesRequestV0.prototype.offset = null; + + /** + * GetContestedResourceIdentityVotesRequestV0 orderAscending. + * @member {boolean} orderAscending + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0 + * @instance + */ + GetContestedResourceIdentityVotesRequestV0.prototype.orderAscending = false; + + /** + * GetContestedResourceIdentityVotesRequestV0 startAtVotePollIdInfo. + * @member {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.IStartAtVotePollIdInfo|null|undefined} startAtVotePollIdInfo + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0 + * @instance + */ + GetContestedResourceIdentityVotesRequestV0.prototype.startAtVotePollIdInfo = null; + + /** + * GetContestedResourceIdentityVotesRequestV0 prove. * @member {boolean} prove - * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0 * @instance */ - GetTotalCreditsInPlatformRequestV0.prototype.prove = false; + GetContestedResourceIdentityVotesRequestV0.prototype.prove = false; /** - * Creates a new GetTotalCreditsInPlatformRequestV0 instance using the specified properties. + * Creates a new GetContestedResourceIdentityVotesRequestV0 instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.IGetTotalCreditsInPlatformRequestV0=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0} GetTotalCreditsInPlatformRequestV0 instance + * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.IGetContestedResourceIdentityVotesRequestV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0} GetContestedResourceIdentityVotesRequestV0 instance */ - GetTotalCreditsInPlatformRequestV0.create = function create(properties) { - return new GetTotalCreditsInPlatformRequestV0(properties); + GetContestedResourceIdentityVotesRequestV0.create = function create(properties) { + return new GetContestedResourceIdentityVotesRequestV0(properties); }; /** - * Encodes the specified GetTotalCreditsInPlatformRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0.verify|verify} messages. + * Encodes the specified GetContestedResourceIdentityVotesRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.IGetTotalCreditsInPlatformRequestV0} message GetTotalCreditsInPlatformRequestV0 message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.IGetContestedResourceIdentityVotesRequestV0} message GetContestedResourceIdentityVotesRequestV0 message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetTotalCreditsInPlatformRequestV0.encode = function encode(message, writer) { + GetContestedResourceIdentityVotesRequestV0.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.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.orderAscending != null && Object.hasOwnProperty.call(message, "orderAscending")) + writer.uint32(/* id 4, wireType 0 =*/32).bool(message.orderAscending); + if (message.startAtVotePollIdInfo != null && Object.hasOwnProperty.call(message, "startAtVotePollIdInfo")) + $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.encode(message.startAtVotePollIdInfo, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); if (message.prove != null && Object.hasOwnProperty.call(message, "prove")) - writer.uint32(/* id 1, wireType 0 =*/8).bool(message.prove); + writer.uint32(/* id 6, wireType 0 =*/48).bool(message.prove); return writer; }; /** - * Encodes the specified GetTotalCreditsInPlatformRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0.verify|verify} messages. + * Encodes the specified GetContestedResourceIdentityVotesRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.IGetTotalCreditsInPlatformRequestV0} message GetTotalCreditsInPlatformRequestV0 message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.IGetContestedResourceIdentityVotesRequestV0} message GetContestedResourceIdentityVotesRequestV0 message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetTotalCreditsInPlatformRequestV0.encodeDelimited = function encodeDelimited(message, writer) { + GetContestedResourceIdentityVotesRequestV0.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetTotalCreditsInPlatformRequestV0 message from the specified reader or buffer. + * Decodes a GetContestedResourceIdentityVotesRequestV0 message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0 * @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.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0} GetTotalCreditsInPlatformRequestV0 + * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0} GetContestedResourceIdentityVotesRequestV0 * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetTotalCreditsInPlatformRequestV0.decode = function decode(reader, length) { + GetContestedResourceIdentityVotesRequestV0.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.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: + message.identityId = 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.orderAscending = reader.bool(); + break; + case 5: + message.startAtVotePollIdInfo = $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.decode(reader, reader.uint32()); + break; + case 6: message.prove = reader.bool(); break; default: @@ -38311,110 +38922,394 @@ $root.org = (function() { }; /** - * Decodes a GetTotalCreditsInPlatformRequestV0 message from the specified reader or buffer, length delimited. + * Decodes a GetContestedResourceIdentityVotesRequestV0 message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0 * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0} GetTotalCreditsInPlatformRequestV0 + * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0} GetContestedResourceIdentityVotesRequestV0 * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetTotalCreditsInPlatformRequestV0.decodeDelimited = function decodeDelimited(reader) { + GetContestedResourceIdentityVotesRequestV0.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GetTotalCreditsInPlatformRequestV0 message. + * Verifies a GetContestedResourceIdentityVotesRequestV0 message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0 * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetTotalCreditsInPlatformRequestV0.verify = function verify(message) { + GetContestedResourceIdentityVotesRequestV0.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 GetTotalCreditsInPlatformRequestV0 message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0 - * @static - * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0} GetTotalCreditsInPlatformRequestV0 + 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.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.orderAscending != null && message.hasOwnProperty("orderAscending")) + if (typeof message.orderAscending !== "boolean") + return "orderAscending: boolean expected"; + if (message.startAtVotePollIdInfo != null && message.hasOwnProperty("startAtVotePollIdInfo")) { + var error = $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.verify(message.startAtVotePollIdInfo); + if (error) + return "startAtVotePollIdInfo." + error; + } + if (message.prove != null && message.hasOwnProperty("prove")) + if (typeof message.prove !== "boolean") + return "prove: boolean expected"; + return null; + }; + + /** + * Creates a GetContestedResourceIdentityVotesRequestV0 message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0 + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0} GetContestedResourceIdentityVotesRequestV0 */ - GetTotalCreditsInPlatformRequestV0.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0) + GetContestedResourceIdentityVotesRequestV0.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0) return object; - var message = new $root.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0(); + var message = new $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0(); + 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.limit != null) { + if (typeof object.limit !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.offset: object expected"); + message.offset = $root.google.protobuf.UInt32Value.fromObject(object.offset); + } + if (object.orderAscending != null) + message.orderAscending = Boolean(object.orderAscending); + if (object.startAtVotePollIdInfo != null) { + if (typeof object.startAtVotePollIdInfo !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.startAtVotePollIdInfo: object expected"); + message.startAtVotePollIdInfo = $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.fromObject(object.startAtVotePollIdInfo); + } if (object.prove != null) message.prove = Boolean(object.prove); return message; }; /** - * Creates a plain object from a GetTotalCreditsInPlatformRequestV0 message. Also converts values to other types if specified. + * Creates a plain object from a GetContestedResourceIdentityVotesRequestV0 message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0} message GetTotalCreditsInPlatformRequestV0 + * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0} message GetContestedResourceIdentityVotesRequestV0 * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetTotalCreditsInPlatformRequestV0.toObject = function toObject(message, options) { + GetContestedResourceIdentityVotesRequestV0.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.defaults) + if (options.defaults) { + if (options.bytes === String) + object.identityId = ""; + else { + object.identityId = []; + if (options.bytes !== Array) + object.identityId = $util.newBuffer(object.identityId); + } + object.limit = null; + object.offset = null; + object.orderAscending = false; + object.startAtVotePollIdInfo = null; object.prove = false; + } + 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.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.orderAscending != null && message.hasOwnProperty("orderAscending")) + object.orderAscending = message.orderAscending; + if (message.startAtVotePollIdInfo != null && message.hasOwnProperty("startAtVotePollIdInfo")) + object.startAtVotePollIdInfo = $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.toObject(message.startAtVotePollIdInfo, options); if (message.prove != null && message.hasOwnProperty("prove")) object.prove = message.prove; return object; }; /** - * Converts this GetTotalCreditsInPlatformRequestV0 to JSON. + * Converts this GetContestedResourceIdentityVotesRequestV0 to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0 * @instance * @returns {Object.} JSON object */ - GetTotalCreditsInPlatformRequestV0.prototype.toJSON = function toJSON() { + GetContestedResourceIdentityVotesRequestV0.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return GetTotalCreditsInPlatformRequestV0; + GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo = (function() { + + /** + * Properties of a StartAtVotePollIdInfo. + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0 + * @interface IStartAtVotePollIdInfo + * @property {Uint8Array|null} [startAtPollIdentifier] StartAtVotePollIdInfo startAtPollIdentifier + * @property {boolean|null} [startPollIdentifierIncluded] StartAtVotePollIdInfo startPollIdentifierIncluded + */ + + /** + * Constructs a new StartAtVotePollIdInfo. + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0 + * @classdesc Represents a StartAtVotePollIdInfo. + * @implements IStartAtVotePollIdInfo + * @constructor + * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.IStartAtVotePollIdInfo=} [properties] Properties to set + */ + function StartAtVotePollIdInfo(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]]; + } + + /** + * StartAtVotePollIdInfo startAtPollIdentifier. + * @member {Uint8Array} startAtPollIdentifier + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo + * @instance + */ + StartAtVotePollIdInfo.prototype.startAtPollIdentifier = $util.newBuffer([]); + + /** + * StartAtVotePollIdInfo startPollIdentifierIncluded. + * @member {boolean} startPollIdentifierIncluded + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo + * @instance + */ + StartAtVotePollIdInfo.prototype.startPollIdentifierIncluded = false; + + /** + * Creates a new StartAtVotePollIdInfo instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo + * @static + * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.IStartAtVotePollIdInfo=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo} StartAtVotePollIdInfo instance + */ + StartAtVotePollIdInfo.create = function create(properties) { + return new StartAtVotePollIdInfo(properties); + }; + + /** + * Encodes the specified StartAtVotePollIdInfo message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo + * @static + * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.IStartAtVotePollIdInfo} message StartAtVotePollIdInfo message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + StartAtVotePollIdInfo.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.startAtPollIdentifier != null && Object.hasOwnProperty.call(message, "startAtPollIdentifier")) + writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.startAtPollIdentifier); + if (message.startPollIdentifierIncluded != null && Object.hasOwnProperty.call(message, "startPollIdentifierIncluded")) + writer.uint32(/* id 2, wireType 0 =*/16).bool(message.startPollIdentifierIncluded); + return writer; + }; + + /** + * Encodes the specified StartAtVotePollIdInfo message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo + * @static + * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.IStartAtVotePollIdInfo} message StartAtVotePollIdInfo message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + StartAtVotePollIdInfo.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a StartAtVotePollIdInfo message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo + * @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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo} StartAtVotePollIdInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + StartAtVotePollIdInfo.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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.startAtPollIdentifier = reader.bytes(); + break; + case 2: + message.startPollIdentifierIncluded = reader.bool(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a StartAtVotePollIdInfo message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo} StartAtVotePollIdInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + StartAtVotePollIdInfo.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a StartAtVotePollIdInfo message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + StartAtVotePollIdInfo.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.startAtPollIdentifier != null && message.hasOwnProperty("startAtPollIdentifier")) + if (!(message.startAtPollIdentifier && typeof message.startAtPollIdentifier.length === "number" || $util.isString(message.startAtPollIdentifier))) + return "startAtPollIdentifier: buffer expected"; + if (message.startPollIdentifierIncluded != null && message.hasOwnProperty("startPollIdentifierIncluded")) + if (typeof message.startPollIdentifierIncluded !== "boolean") + return "startPollIdentifierIncluded: boolean expected"; + return null; + }; + + /** + * Creates a StartAtVotePollIdInfo message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo} StartAtVotePollIdInfo + */ + StartAtVotePollIdInfo.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo(); + if (object.startAtPollIdentifier != null) + if (typeof object.startAtPollIdentifier === "string") + $util.base64.decode(object.startAtPollIdentifier, message.startAtPollIdentifier = $util.newBuffer($util.base64.length(object.startAtPollIdentifier)), 0); + else if (object.startAtPollIdentifier.length >= 0) + message.startAtPollIdentifier = object.startAtPollIdentifier; + if (object.startPollIdentifierIncluded != null) + message.startPollIdentifierIncluded = Boolean(object.startPollIdentifierIncluded); + return message; + }; + + /** + * Creates a plain object from a StartAtVotePollIdInfo message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo + * @static + * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo} message StartAtVotePollIdInfo + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + StartAtVotePollIdInfo.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + if (options.bytes === String) + object.startAtPollIdentifier = ""; + else { + object.startAtPollIdentifier = []; + if (options.bytes !== Array) + object.startAtPollIdentifier = $util.newBuffer(object.startAtPollIdentifier); + } + object.startPollIdentifierIncluded = false; + } + if (message.startAtPollIdentifier != null && message.hasOwnProperty("startAtPollIdentifier")) + object.startAtPollIdentifier = options.bytes === String ? $util.base64.encode(message.startAtPollIdentifier, 0, message.startAtPollIdentifier.length) : options.bytes === Array ? Array.prototype.slice.call(message.startAtPollIdentifier) : message.startAtPollIdentifier; + if (message.startPollIdentifierIncluded != null && message.hasOwnProperty("startPollIdentifierIncluded")) + object.startPollIdentifierIncluded = message.startPollIdentifierIncluded; + return object; + }; + + /** + * Converts this StartAtVotePollIdInfo to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo + * @instance + * @returns {Object.} JSON object + */ + StartAtVotePollIdInfo.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return StartAtVotePollIdInfo; + })(); + + return GetContestedResourceIdentityVotesRequestV0; })(); - return GetTotalCreditsInPlatformRequest; + return GetContestedResourceIdentityVotesRequest; })(); - v0.GetTotalCreditsInPlatformResponse = (function() { + v0.GetContestedResourceIdentityVotesResponse = (function() { /** - * Properties of a GetTotalCreditsInPlatformResponse. + * Properties of a GetContestedResourceIdentityVotesResponse. * @memberof org.dash.platform.dapi.v0 - * @interface IGetTotalCreditsInPlatformResponse - * @property {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.IGetTotalCreditsInPlatformResponseV0|null} [v0] GetTotalCreditsInPlatformResponse v0 + * @interface IGetContestedResourceIdentityVotesResponse + * @property {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.IGetContestedResourceIdentityVotesResponseV0|null} [v0] GetContestedResourceIdentityVotesResponse v0 */ /** - * Constructs a new GetTotalCreditsInPlatformResponse. + * Constructs a new GetContestedResourceIdentityVotesResponse. * @memberof org.dash.platform.dapi.v0 - * @classdesc Represents a GetTotalCreditsInPlatformResponse. - * @implements IGetTotalCreditsInPlatformResponse + * @classdesc Represents a GetContestedResourceIdentityVotesResponse. + * @implements IGetContestedResourceIdentityVotesResponse * @constructor - * @param {org.dash.platform.dapi.v0.IGetTotalCreditsInPlatformResponse=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.IGetContestedResourceIdentityVotesResponse=} [properties] Properties to set */ - function GetTotalCreditsInPlatformResponse(properties) { + function GetContestedResourceIdentityVotesResponse(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -38422,89 +39317,89 @@ $root.org = (function() { } /** - * GetTotalCreditsInPlatformResponse v0. - * @member {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.IGetTotalCreditsInPlatformResponseV0|null|undefined} v0 - * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse + * GetContestedResourceIdentityVotesResponse v0. + * @member {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.IGetContestedResourceIdentityVotesResponseV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse * @instance */ - GetTotalCreditsInPlatformResponse.prototype.v0 = null; + GetContestedResourceIdentityVotesResponse.prototype.v0 = null; // OneOf field names bound to virtual getters and setters var $oneOfFields; /** - * GetTotalCreditsInPlatformResponse version. + * GetContestedResourceIdentityVotesResponse version. * @member {"v0"|undefined} version - * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse * @instance */ - Object.defineProperty(GetTotalCreditsInPlatformResponse.prototype, "version", { + Object.defineProperty(GetContestedResourceIdentityVotesResponse.prototype, "version", { get: $util.oneOfGetter($oneOfFields = ["v0"]), set: $util.oneOfSetter($oneOfFields) }); /** - * Creates a new GetTotalCreditsInPlatformResponse instance using the specified properties. + * Creates a new GetContestedResourceIdentityVotesResponse instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse * @static - * @param {org.dash.platform.dapi.v0.IGetTotalCreditsInPlatformResponse=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse} GetTotalCreditsInPlatformResponse instance + * @param {org.dash.platform.dapi.v0.IGetContestedResourceIdentityVotesResponse=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse} GetContestedResourceIdentityVotesResponse instance */ - GetTotalCreditsInPlatformResponse.create = function create(properties) { - return new GetTotalCreditsInPlatformResponse(properties); + GetContestedResourceIdentityVotesResponse.create = function create(properties) { + return new GetContestedResourceIdentityVotesResponse(properties); }; /** - * Encodes the specified GetTotalCreditsInPlatformResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.verify|verify} messages. + * Encodes the specified GetContestedResourceIdentityVotesResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse * @static - * @param {org.dash.platform.dapi.v0.IGetTotalCreditsInPlatformResponse} message GetTotalCreditsInPlatformResponse message or plain object to encode + * @param {org.dash.platform.dapi.v0.IGetContestedResourceIdentityVotesResponse} message GetContestedResourceIdentityVotesResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetTotalCreditsInPlatformResponse.encode = function encode(message, writer) { + GetContestedResourceIdentityVotesResponse.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.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified GetTotalCreditsInPlatformResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.verify|verify} messages. + * Encodes the specified GetContestedResourceIdentityVotesResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse * @static - * @param {org.dash.platform.dapi.v0.IGetTotalCreditsInPlatformResponse} message GetTotalCreditsInPlatformResponse message or plain object to encode + * @param {org.dash.platform.dapi.v0.IGetContestedResourceIdentityVotesResponse} message GetContestedResourceIdentityVotesResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetTotalCreditsInPlatformResponse.encodeDelimited = function encodeDelimited(message, writer) { + GetContestedResourceIdentityVotesResponse.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetTotalCreditsInPlatformResponse message from the specified reader or buffer. + * Decodes a GetContestedResourceIdentityVotesResponse message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse * @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.GetTotalCreditsInPlatformResponse} GetTotalCreditsInPlatformResponse + * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse} GetContestedResourceIdentityVotesResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetTotalCreditsInPlatformResponse.decode = function decode(reader, length) { + GetContestedResourceIdentityVotesResponse.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.GetTotalCreditsInPlatformResponse(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.v0 = $root.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.decode(reader, reader.uint32()); + message.v0 = $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -38515,37 +39410,37 @@ $root.org = (function() { }; /** - * Decodes a GetTotalCreditsInPlatformResponse message from the specified reader or buffer, length delimited. + * Decodes a GetContestedResourceIdentityVotesResponse message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse} GetTotalCreditsInPlatformResponse + * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse} GetContestedResourceIdentityVotesResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetTotalCreditsInPlatformResponse.decodeDelimited = function decodeDelimited(reader) { + GetContestedResourceIdentityVotesResponse.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GetTotalCreditsInPlatformResponse message. + * Verifies a GetContestedResourceIdentityVotesResponse message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetTotalCreditsInPlatformResponse.verify = function verify(message) { + GetContestedResourceIdentityVotesResponse.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.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.verify(message.v0); + var error = $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.verify(message.v0); if (error) return "v0." + error; } @@ -38554,40 +39449,40 @@ $root.org = (function() { }; /** - * Creates a GetTotalCreditsInPlatformResponse message from a plain object. Also converts values to their respective internal types. + * Creates a GetContestedResourceIdentityVotesResponse message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse} GetTotalCreditsInPlatformResponse + * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse} GetContestedResourceIdentityVotesResponse */ - GetTotalCreditsInPlatformResponse.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse) + GetContestedResourceIdentityVotesResponse.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse) return object; - var message = new $root.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse(); + var message = new $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse(); if (object.v0 != null) { if (typeof object.v0 !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.v0: object expected"); - message.v0 = $root.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.fromObject(object.v0); + throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.v0: object expected"); + message.v0 = $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.fromObject(object.v0); } return message; }; /** - * Creates a plain object from a GetTotalCreditsInPlatformResponse message. Also converts values to other types if specified. + * Creates a plain object from a GetContestedResourceIdentityVotesResponse message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse * @static - * @param {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse} message GetTotalCreditsInPlatformResponse + * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse} message GetContestedResourceIdentityVotesResponse * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetTotalCreditsInPlatformResponse.toObject = function toObject(message, options) { + GetContestedResourceIdentityVotesResponse.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.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.toObject(message.v0, options); + object.v0 = $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.toObject(message.v0, options); if (options.oneofs) object.version = "v0"; } @@ -38595,36 +39490,36 @@ $root.org = (function() { }; /** - * Converts this GetTotalCreditsInPlatformResponse to JSON. + * Converts this GetContestedResourceIdentityVotesResponse to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse * @instance * @returns {Object.} JSON object */ - GetTotalCreditsInPlatformResponse.prototype.toJSON = function toJSON() { + GetContestedResourceIdentityVotesResponse.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0 = (function() { + GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0 = (function() { /** - * Properties of a GetTotalCreditsInPlatformResponseV0. - * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse - * @interface IGetTotalCreditsInPlatformResponseV0 - * @property {number|Long|null} [credits] GetTotalCreditsInPlatformResponseV0 credits - * @property {org.dash.platform.dapi.v0.IProof|null} [proof] GetTotalCreditsInPlatformResponseV0 proof - * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetTotalCreditsInPlatformResponseV0 metadata + * Properties of a GetContestedResourceIdentityVotesResponseV0. + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse + * @interface IGetContestedResourceIdentityVotesResponseV0 + * @property {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.IContestedResourceIdentityVotes|null} [votes] GetContestedResourceIdentityVotesResponseV0 votes + * @property {org.dash.platform.dapi.v0.IProof|null} [proof] GetContestedResourceIdentityVotesResponseV0 proof + * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetContestedResourceIdentityVotesResponseV0 metadata */ /** - * Constructs a new GetTotalCreditsInPlatformResponseV0. - * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse - * @classdesc Represents a GetTotalCreditsInPlatformResponseV0. - * @implements IGetTotalCreditsInPlatformResponseV0 + * Constructs a new GetContestedResourceIdentityVotesResponseV0. + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse + * @classdesc Represents a GetContestedResourceIdentityVotesResponseV0. + * @implements IGetContestedResourceIdentityVotesResponseV0 * @constructor - * @param {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.IGetTotalCreditsInPlatformResponseV0=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.IGetContestedResourceIdentityVotesResponseV0=} [properties] Properties to set */ - function GetTotalCreditsInPlatformResponseV0(properties) { + function GetContestedResourceIdentityVotesResponseV0(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -38632,69 +39527,69 @@ $root.org = (function() { } /** - * GetTotalCreditsInPlatformResponseV0 credits. - * @member {number|Long} credits - * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0 + * GetContestedResourceIdentityVotesResponseV0 votes. + * @member {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.IContestedResourceIdentityVotes|null|undefined} votes + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0 * @instance */ - GetTotalCreditsInPlatformResponseV0.prototype.credits = $util.Long ? $util.Long.fromBits(0,0,true) : 0; + GetContestedResourceIdentityVotesResponseV0.prototype.votes = null; /** - * GetTotalCreditsInPlatformResponseV0 proof. + * GetContestedResourceIdentityVotesResponseV0 proof. * @member {org.dash.platform.dapi.v0.IProof|null|undefined} proof - * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0 * @instance */ - GetTotalCreditsInPlatformResponseV0.prototype.proof = null; + GetContestedResourceIdentityVotesResponseV0.prototype.proof = null; /** - * GetTotalCreditsInPlatformResponseV0 metadata. + * GetContestedResourceIdentityVotesResponseV0 metadata. * @member {org.dash.platform.dapi.v0.IResponseMetadata|null|undefined} metadata - * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0 * @instance */ - GetTotalCreditsInPlatformResponseV0.prototype.metadata = null; + GetContestedResourceIdentityVotesResponseV0.prototype.metadata = null; // OneOf field names bound to virtual getters and setters var $oneOfFields; /** - * GetTotalCreditsInPlatformResponseV0 result. - * @member {"credits"|"proof"|undefined} result - * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0 + * GetContestedResourceIdentityVotesResponseV0 result. + * @member {"votes"|"proof"|undefined} result + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0 * @instance */ - Object.defineProperty(GetTotalCreditsInPlatformResponseV0.prototype, "result", { - get: $util.oneOfGetter($oneOfFields = ["credits", "proof"]), + Object.defineProperty(GetContestedResourceIdentityVotesResponseV0.prototype, "result", { + get: $util.oneOfGetter($oneOfFields = ["votes", "proof"]), set: $util.oneOfSetter($oneOfFields) }); /** - * Creates a new GetTotalCreditsInPlatformResponseV0 instance using the specified properties. + * Creates a new GetContestedResourceIdentityVotesResponseV0 instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.IGetTotalCreditsInPlatformResponseV0=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0} GetTotalCreditsInPlatformResponseV0 instance + * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.IGetContestedResourceIdentityVotesResponseV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0} GetContestedResourceIdentityVotesResponseV0 instance */ - GetTotalCreditsInPlatformResponseV0.create = function create(properties) { - return new GetTotalCreditsInPlatformResponseV0(properties); - }; + GetContestedResourceIdentityVotesResponseV0.create = function create(properties) { + return new GetContestedResourceIdentityVotesResponseV0(properties); + }; /** - * Encodes the specified GetTotalCreditsInPlatformResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.verify|verify} messages. + * Encodes the specified GetContestedResourceIdentityVotesResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.IGetTotalCreditsInPlatformResponseV0} message GetTotalCreditsInPlatformResponseV0 message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.IGetContestedResourceIdentityVotesResponseV0} message GetContestedResourceIdentityVotesResponseV0 message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetTotalCreditsInPlatformResponseV0.encode = function encode(message, writer) { + GetContestedResourceIdentityVotesResponseV0.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.credits != null && Object.hasOwnProperty.call(message, "credits")) - writer.uint32(/* id 1, wireType 0 =*/8).uint64(message.credits); + if (message.votes != null && Object.hasOwnProperty.call(message, "votes")) + $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.encode(message.votes, 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")) @@ -38703,38 +39598,38 @@ $root.org = (function() { }; /** - * Encodes the specified GetTotalCreditsInPlatformResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.verify|verify} messages. + * Encodes the specified GetContestedResourceIdentityVotesResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.IGetTotalCreditsInPlatformResponseV0} message GetTotalCreditsInPlatformResponseV0 message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.IGetContestedResourceIdentityVotesResponseV0} message GetContestedResourceIdentityVotesResponseV0 message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetTotalCreditsInPlatformResponseV0.encodeDelimited = function encodeDelimited(message, writer) { + GetContestedResourceIdentityVotesResponseV0.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetTotalCreditsInPlatformResponseV0 message from the specified reader or buffer. + * Decodes a GetContestedResourceIdentityVotesResponseV0 message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0 * @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.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0} GetTotalCreditsInPlatformResponseV0 + * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0} GetContestedResourceIdentityVotesResponseV0 * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetTotalCreditsInPlatformResponseV0.decode = function decode(reader, length) { + GetContestedResourceIdentityVotesResponseV0.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.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.credits = reader.uint64(); + message.votes = $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.decode(reader, reader.uint32()); break; case 2: message.proof = $root.org.dash.platform.dapi.v0.Proof.decode(reader, reader.uint32()); @@ -38751,37 +39646,40 @@ $root.org = (function() { }; /** - * Decodes a GetTotalCreditsInPlatformResponseV0 message from the specified reader or buffer, length delimited. + * Decodes a GetContestedResourceIdentityVotesResponseV0 message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0 * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0} GetTotalCreditsInPlatformResponseV0 + * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0} GetContestedResourceIdentityVotesResponseV0 * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetTotalCreditsInPlatformResponseV0.decodeDelimited = function decodeDelimited(reader) { + GetContestedResourceIdentityVotesResponseV0.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GetTotalCreditsInPlatformResponseV0 message. + * Verifies a GetContestedResourceIdentityVotesResponseV0 message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0 * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetTotalCreditsInPlatformResponseV0.verify = function verify(message) { + GetContestedResourceIdentityVotesResponseV0.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; var properties = {}; - if (message.credits != null && message.hasOwnProperty("credits")) { + if (message.votes != null && message.hasOwnProperty("votes")) { properties.result = 1; - if (!$util.isInteger(message.credits) && !(message.credits && $util.isInteger(message.credits.low) && $util.isInteger(message.credits.high))) - return "credits: integer|Long expected"; + { + var error = $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.verify(message.votes); + if (error) + return "votes." + error; + } } if (message.proof != null && message.hasOwnProperty("proof")) { if (properties.result === 1) @@ -38802,61 +39700,54 @@ $root.org = (function() { }; /** - * Creates a GetTotalCreditsInPlatformResponseV0 message from a plain object. Also converts values to their respective internal types. + * Creates a GetContestedResourceIdentityVotesResponseV0 message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0 * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0} GetTotalCreditsInPlatformResponseV0 + * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0} GetContestedResourceIdentityVotesResponseV0 */ - GetTotalCreditsInPlatformResponseV0.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0) + GetContestedResourceIdentityVotesResponseV0.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0) return object; - var message = new $root.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0(); - if (object.credits != null) - if ($util.Long) - (message.credits = $util.Long.fromValue(object.credits)).unsigned = true; - else if (typeof object.credits === "string") - message.credits = parseInt(object.credits, 10); - else if (typeof object.credits === "number") - message.credits = object.credits; - else if (typeof object.credits === "object") - message.credits = new $util.LongBits(object.credits.low >>> 0, object.credits.high >>> 0).toNumber(true); + var message = new $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0(); + if (object.votes != null) { + if (typeof object.votes !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.votes: object expected"); + message.votes = $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.fromObject(object.votes); + } if (object.proof != null) { if (typeof object.proof !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.proof: object expected"); + throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.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.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.metadata: object expected"); + throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.metadata: object expected"); message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.fromObject(object.metadata); } return message; }; /** - * Creates a plain object from a GetTotalCreditsInPlatformResponseV0 message. Also converts values to other types if specified. + * Creates a plain object from a GetContestedResourceIdentityVotesResponseV0 message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0} message GetTotalCreditsInPlatformResponseV0 + * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0} message GetContestedResourceIdentityVotesResponseV0 * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetTotalCreditsInPlatformResponseV0.toObject = function toObject(message, options) { + GetContestedResourceIdentityVotesResponseV0.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) object.metadata = null; - if (message.credits != null && message.hasOwnProperty("credits")) { - if (typeof message.credits === "number") - object.credits = options.longs === String ? String(message.credits) : message.credits; - else - object.credits = options.longs === String ? $util.Long.prototype.toString.call(message.credits) : options.longs === Number ? new $util.LongBits(message.credits.low >>> 0, message.credits.high >>> 0).toNumber(true) : message.credits; + if (message.votes != null && message.hasOwnProperty("votes")) { + object.votes = $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.toObject(message.votes, options); if (options.oneofs) - object.result = "credits"; + object.result = "votes"; } if (message.proof != null && message.hasOwnProperty("proof")) { object.proof = $root.org.dash.platform.dapi.v0.Proof.toObject(message.proof, options); @@ -38869,522 +39760,812 @@ $root.org = (function() { }; /** - * Converts this GetTotalCreditsInPlatformResponseV0 to JSON. + * Converts this GetContestedResourceIdentityVotesResponseV0 to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0 + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0 * @instance * @returns {Object.} JSON object */ - GetTotalCreditsInPlatformResponseV0.prototype.toJSON = function toJSON() { + GetContestedResourceIdentityVotesResponseV0.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return GetTotalCreditsInPlatformResponseV0; - })(); + GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes = (function() { - return GetTotalCreditsInPlatformResponse; - })(); + /** + * Properties of a ContestedResourceIdentityVotes. + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0 + * @interface IContestedResourceIdentityVotes + * @property {Array.|null} [contestedResourceIdentityVotes] ContestedResourceIdentityVotes contestedResourceIdentityVotes + * @property {boolean|null} [finishedResults] ContestedResourceIdentityVotes finishedResults + */ - v0.GetPathElementsRequest = (function() { + /** + * Constructs a new ContestedResourceIdentityVotes. + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0 + * @classdesc Represents a ContestedResourceIdentityVotes. + * @implements IContestedResourceIdentityVotes + * @constructor + * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.IContestedResourceIdentityVotes=} [properties] Properties to set + */ + function ContestedResourceIdentityVotes(properties) { + this.contestedResourceIdentityVotes = []; + 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]]; + } - /** - * Properties of a GetPathElementsRequest. - * @memberof org.dash.platform.dapi.v0 - * @interface IGetPathElementsRequest - * @property {org.dash.platform.dapi.v0.GetPathElementsRequest.IGetPathElementsRequestV0|null} [v0] GetPathElementsRequest v0 - */ + /** + * ContestedResourceIdentityVotes contestedResourceIdentityVotes. + * @member {Array.} contestedResourceIdentityVotes + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes + * @instance + */ + ContestedResourceIdentityVotes.prototype.contestedResourceIdentityVotes = $util.emptyArray; - /** - * Constructs a new GetPathElementsRequest. - * @memberof org.dash.platform.dapi.v0 - * @classdesc Represents a GetPathElementsRequest. - * @implements IGetPathElementsRequest - * @constructor - * @param {org.dash.platform.dapi.v0.IGetPathElementsRequest=} [properties] Properties to set - */ - function GetPathElementsRequest(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]]; - } + /** + * ContestedResourceIdentityVotes finishedResults. + * @member {boolean} finishedResults + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes + * @instance + */ + ContestedResourceIdentityVotes.prototype.finishedResults = false; - /** - * GetPathElementsRequest v0. - * @member {org.dash.platform.dapi.v0.GetPathElementsRequest.IGetPathElementsRequestV0|null|undefined} v0 - * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest - * @instance - */ - GetPathElementsRequest.prototype.v0 = null; + /** + * Creates a new ContestedResourceIdentityVotes instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes + * @static + * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.IContestedResourceIdentityVotes=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes} ContestedResourceIdentityVotes instance + */ + ContestedResourceIdentityVotes.create = function create(properties) { + return new ContestedResourceIdentityVotes(properties); + }; - // OneOf field names bound to virtual getters and setters - var $oneOfFields; + /** + * Encodes the specified ContestedResourceIdentityVotes message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes + * @static + * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.IContestedResourceIdentityVotes} message ContestedResourceIdentityVotes message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ContestedResourceIdentityVotes.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.contestedResourceIdentityVotes != null && message.contestedResourceIdentityVotes.length) + for (var i = 0; i < message.contestedResourceIdentityVotes.length; ++i) + $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.encode(message.contestedResourceIdentityVotes[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.finishedResults != null && Object.hasOwnProperty.call(message, "finishedResults")) + writer.uint32(/* id 2, wireType 0 =*/16).bool(message.finishedResults); + return writer; + }; - /** - * GetPathElementsRequest version. - * @member {"v0"|undefined} version - * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest - * @instance - */ - Object.defineProperty(GetPathElementsRequest.prototype, "version", { - get: $util.oneOfGetter($oneOfFields = ["v0"]), - set: $util.oneOfSetter($oneOfFields) - }); + /** + * Encodes the specified ContestedResourceIdentityVotes message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes + * @static + * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.IContestedResourceIdentityVotes} message ContestedResourceIdentityVotes message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ContestedResourceIdentityVotes.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; - /** - * Creates a new GetPathElementsRequest instance using the specified properties. - * @function create - * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest - * @static - * @param {org.dash.platform.dapi.v0.IGetPathElementsRequest=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetPathElementsRequest} GetPathElementsRequest instance - */ - GetPathElementsRequest.create = function create(properties) { - return new GetPathElementsRequest(properties); - }; + /** + * Decodes a ContestedResourceIdentityVotes message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes + * @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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes} ContestedResourceIdentityVotes + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ContestedResourceIdentityVotes.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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.contestedResourceIdentityVotes && message.contestedResourceIdentityVotes.length)) + message.contestedResourceIdentityVotes = []; + message.contestedResourceIdentityVotes.push($root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.decode(reader, reader.uint32())); + break; + case 2: + message.finishedResults = reader.bool(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; - /** - * Encodes the specified GetPathElementsRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetPathElementsRequest.verify|verify} messages. - * @function encode - * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest - * @static - * @param {org.dash.platform.dapi.v0.IGetPathElementsRequest} message GetPathElementsRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - GetPathElementsRequest.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.GetPathElementsRequest.GetPathElementsRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - return writer; - }; + /** + * Decodes a ContestedResourceIdentityVotes message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes} ContestedResourceIdentityVotes + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ContestedResourceIdentityVotes.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; - /** - * Encodes the specified GetPathElementsRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetPathElementsRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest - * @static - * @param {org.dash.platform.dapi.v0.IGetPathElementsRequest} message GetPathElementsRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - GetPathElementsRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; + /** + * Verifies a ContestedResourceIdentityVotes message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ContestedResourceIdentityVotes.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.contestedResourceIdentityVotes != null && message.hasOwnProperty("contestedResourceIdentityVotes")) { + if (!Array.isArray(message.contestedResourceIdentityVotes)) + return "contestedResourceIdentityVotes: array expected"; + for (var i = 0; i < message.contestedResourceIdentityVotes.length; ++i) { + var error = $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.verify(message.contestedResourceIdentityVotes[i]); + if (error) + return "contestedResourceIdentityVotes." + error; + } + } + if (message.finishedResults != null && message.hasOwnProperty("finishedResults")) + if (typeof message.finishedResults !== "boolean") + return "finishedResults: boolean expected"; + return null; + }; - /** - * Decodes a GetPathElementsRequest message from the specified reader or buffer. - * @function decode - * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest - * @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.GetPathElementsRequest} GetPathElementsRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - GetPathElementsRequest.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.GetPathElementsRequest(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.v0 = $root.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; + /** + * Creates a ContestedResourceIdentityVotes message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes} ContestedResourceIdentityVotes + */ + ContestedResourceIdentityVotes.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes(); + if (object.contestedResourceIdentityVotes) { + if (!Array.isArray(object.contestedResourceIdentityVotes)) + throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.contestedResourceIdentityVotes: array expected"); + message.contestedResourceIdentityVotes = []; + for (var i = 0; i < object.contestedResourceIdentityVotes.length; ++i) { + if (typeof object.contestedResourceIdentityVotes[i] !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.contestedResourceIdentityVotes: object expected"); + message.contestedResourceIdentityVotes[i] = $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.fromObject(object.contestedResourceIdentityVotes[i]); + } + } + if (object.finishedResults != null) + message.finishedResults = Boolean(object.finishedResults); + return message; + }; - /** - * Decodes a GetPathElementsRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetPathElementsRequest} GetPathElementsRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - GetPathElementsRequest.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; + /** + * Creates a plain object from a ContestedResourceIdentityVotes message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes + * @static + * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes} message ContestedResourceIdentityVotes + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ContestedResourceIdentityVotes.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.contestedResourceIdentityVotes = []; + if (options.defaults) + object.finishedResults = false; + if (message.contestedResourceIdentityVotes && message.contestedResourceIdentityVotes.length) { + object.contestedResourceIdentityVotes = []; + for (var j = 0; j < message.contestedResourceIdentityVotes.length; ++j) + object.contestedResourceIdentityVotes[j] = $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.toObject(message.contestedResourceIdentityVotes[j], options); + } + if (message.finishedResults != null && message.hasOwnProperty("finishedResults")) + object.finishedResults = message.finishedResults; + return object; + }; - /** - * Verifies a GetPathElementsRequest message. - * @function verify - * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - GetPathElementsRequest.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.GetPathElementsRequest.GetPathElementsRequestV0.verify(message.v0); - if (error) - return "v0." + error; - } - } - return null; - }; + /** + * Converts this ContestedResourceIdentityVotes to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes + * @instance + * @returns {Object.} JSON object + */ + ContestedResourceIdentityVotes.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; - /** - * Creates a GetPathElementsRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest - * @static - * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetPathElementsRequest} GetPathElementsRequest - */ - GetPathElementsRequest.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetPathElementsRequest) - return object; - var message = new $root.org.dash.platform.dapi.v0.GetPathElementsRequest(); - if (object.v0 != null) { - if (typeof object.v0 !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetPathElementsRequest.v0: object expected"); - message.v0 = $root.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.fromObject(object.v0); - } - return message; - }; + return ContestedResourceIdentityVotes; + })(); - /** - * Creates a plain object from a GetPathElementsRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest - * @static - * @param {org.dash.platform.dapi.v0.GetPathElementsRequest} message GetPathElementsRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - GetPathElementsRequest.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.GetPathElementsRequest.GetPathElementsRequestV0.toObject(message.v0, options); - if (options.oneofs) - object.version = "v0"; - } - return object; - }; + GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice = (function() { - /** - * Converts this GetPathElementsRequest to JSON. - * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest - * @instance - * @returns {Object.} JSON object - */ - GetPathElementsRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; + /** + * Properties of a ResourceVoteChoice. + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0 + * @interface IResourceVoteChoice + * @property {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.VoteChoiceType|null} [voteChoiceType] ResourceVoteChoice voteChoiceType + * @property {Uint8Array|null} [identityId] ResourceVoteChoice identityId + */ - GetPathElementsRequest.GetPathElementsRequestV0 = (function() { + /** + * Constructs a new ResourceVoteChoice. + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0 + * @classdesc Represents a ResourceVoteChoice. + * @implements IResourceVoteChoice + * @constructor + * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.IResourceVoteChoice=} [properties] Properties to set + */ + function ResourceVoteChoice(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]]; + } - /** - * Properties of a GetPathElementsRequestV0. - * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest - * @interface IGetPathElementsRequestV0 - * @property {Array.|null} [path] GetPathElementsRequestV0 path - * @property {Array.|null} [keys] GetPathElementsRequestV0 keys - * @property {boolean|null} [prove] GetPathElementsRequestV0 prove - */ + /** + * ResourceVoteChoice voteChoiceType. + * @member {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.VoteChoiceType} voteChoiceType + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice + * @instance + */ + ResourceVoteChoice.prototype.voteChoiceType = 0; - /** - * Constructs a new GetPathElementsRequestV0. - * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest - * @classdesc Represents a GetPathElementsRequestV0. - * @implements IGetPathElementsRequestV0 - * @constructor - * @param {org.dash.platform.dapi.v0.GetPathElementsRequest.IGetPathElementsRequestV0=} [properties] Properties to set - */ - function GetPathElementsRequestV0(properties) { - this.path = []; - this.keys = []; - 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]]; - } + /** + * ResourceVoteChoice identityId. + * @member {Uint8Array} identityId + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice + * @instance + */ + ResourceVoteChoice.prototype.identityId = $util.newBuffer([]); - /** - * GetPathElementsRequestV0 path. - * @member {Array.} path - * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0 - * @instance - */ - GetPathElementsRequestV0.prototype.path = $util.emptyArray; + /** + * Creates a new ResourceVoteChoice instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice + * @static + * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.IResourceVoteChoice=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice} ResourceVoteChoice instance + */ + ResourceVoteChoice.create = function create(properties) { + return new ResourceVoteChoice(properties); + }; - /** - * GetPathElementsRequestV0 keys. - * @member {Array.} keys - * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0 - * @instance - */ - GetPathElementsRequestV0.prototype.keys = $util.emptyArray; + /** + * Encodes the specified ResourceVoteChoice message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice + * @static + * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.IResourceVoteChoice} message ResourceVoteChoice message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ResourceVoteChoice.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.voteChoiceType != null && Object.hasOwnProperty.call(message, "voteChoiceType")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.voteChoiceType); + if (message.identityId != null && Object.hasOwnProperty.call(message, "identityId")) + writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.identityId); + return writer; + }; - /** - * GetPathElementsRequestV0 prove. - * @member {boolean} prove - * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0 - * @instance - */ - GetPathElementsRequestV0.prototype.prove = false; + /** + * Encodes the specified ResourceVoteChoice message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice + * @static + * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.IResourceVoteChoice} message ResourceVoteChoice message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ResourceVoteChoice.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; - /** - * Creates a new GetPathElementsRequestV0 instance using the specified properties. - * @function create - * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0 - * @static - * @param {org.dash.platform.dapi.v0.GetPathElementsRequest.IGetPathElementsRequestV0=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0} GetPathElementsRequestV0 instance - */ - GetPathElementsRequestV0.create = function create(properties) { - return new GetPathElementsRequestV0(properties); - }; + /** + * Decodes a ResourceVoteChoice message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice + * @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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice} ResourceVoteChoice + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ResourceVoteChoice.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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.voteChoiceType = reader.int32(); + break; + case 2: + message.identityId = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; - /** - * Encodes the specified GetPathElementsRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.verify|verify} messages. - * @function encode - * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0 - * @static - * @param {org.dash.platform.dapi.v0.GetPathElementsRequest.IGetPathElementsRequestV0} message GetPathElementsRequestV0 message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - GetPathElementsRequestV0.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.path != null && message.path.length) - for (var i = 0; i < message.path.length; ++i) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.path[i]); - if (message.keys != null && message.keys.length) - for (var i = 0; i < message.keys.length; ++i) - writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.keys[i]); - if (message.prove != null && Object.hasOwnProperty.call(message, "prove")) - writer.uint32(/* id 3, wireType 0 =*/24).bool(message.prove); - return writer; - }; + /** + * Decodes a ResourceVoteChoice message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice} ResourceVoteChoice + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ResourceVoteChoice.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; - /** - * Encodes the specified GetPathElementsRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.verify|verify} messages. - * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0 - * @static - * @param {org.dash.platform.dapi.v0.GetPathElementsRequest.IGetPathElementsRequestV0} message GetPathElementsRequestV0 message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - GetPathElementsRequestV0.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; + /** + * Verifies a ResourceVoteChoice message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ResourceVoteChoice.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.voteChoiceType != null && message.hasOwnProperty("voteChoiceType")) + switch (message.voteChoiceType) { + default: + return "voteChoiceType: enum value expected"; + case 0: + case 1: + case 2: + break; + } + if (message.identityId != null && message.hasOwnProperty("identityId")) + if (!(message.identityId && typeof message.identityId.length === "number" || $util.isString(message.identityId))) + return "identityId: buffer expected"; + return null; + }; - /** - * Decodes a GetPathElementsRequestV0 message from the specified reader or buffer. - * @function decode - * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0 - * @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.GetPathElementsRequest.GetPathElementsRequestV0} GetPathElementsRequestV0 - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - GetPathElementsRequestV0.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.GetPathElementsRequest.GetPathElementsRequestV0(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { + /** + * Creates a ResourceVoteChoice message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice} ResourceVoteChoice + */ + ResourceVoteChoice.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice(); + switch (object.voteChoiceType) { + case "TOWARDS_IDENTITY": + case 0: + message.voteChoiceType = 0; + break; + case "ABSTAIN": case 1: - if (!(message.path && message.path.length)) - message.path = []; - message.path.push(reader.bytes()); + message.voteChoiceType = 1; break; + case "LOCK": case 2: - if (!(message.keys && message.keys.length)) - message.keys = []; - message.keys.push(reader.bytes()); - break; - case 3: - message.prove = reader.bool(); - break; - default: - reader.skipType(tag & 7); + message.voteChoiceType = 2; break; } - } - return message; - }; - - /** - * Decodes a GetPathElementsRequestV0 message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0 - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0} GetPathElementsRequestV0 - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - GetPathElementsRequestV0.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a GetPathElementsRequestV0 message. - * @function verify - * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0 - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - GetPathElementsRequestV0.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.path != null && message.hasOwnProperty("path")) { - if (!Array.isArray(message.path)) - return "path: array expected"; - for (var i = 0; i < message.path.length; ++i) - if (!(message.path[i] && typeof message.path[i].length === "number" || $util.isString(message.path[i]))) - return "path: buffer[] expected"; - } - if (message.keys != null && message.hasOwnProperty("keys")) { - if (!Array.isArray(message.keys)) - return "keys: array expected"; - for (var i = 0; i < message.keys.length; ++i) - if (!(message.keys[i] && typeof message.keys[i].length === "number" || $util.isString(message.keys[i]))) - return "keys: buffer[] expected"; - } - if (message.prove != null && message.hasOwnProperty("prove")) - if (typeof message.prove !== "boolean") - return "prove: boolean expected"; - return null; - }; + 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; + return message; + }; - /** - * Creates a GetPathElementsRequestV0 message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0 - * @static - * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0} GetPathElementsRequestV0 - */ - GetPathElementsRequestV0.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0) + /** + * Creates a plain object from a ResourceVoteChoice message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice + * @static + * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice} message ResourceVoteChoice + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ResourceVoteChoice.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.voteChoiceType = options.enums === String ? "TOWARDS_IDENTITY" : 0; + if (options.bytes === String) + object.identityId = ""; + else { + object.identityId = []; + if (options.bytes !== Array) + object.identityId = $util.newBuffer(object.identityId); + } + } + if (message.voteChoiceType != null && message.hasOwnProperty("voteChoiceType")) + object.voteChoiceType = options.enums === String ? $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.VoteChoiceType[message.voteChoiceType] : message.voteChoiceType; + 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; return object; - var message = new $root.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0(); - if (object.path) { - if (!Array.isArray(object.path)) - throw TypeError(".org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.path: array expected"); - message.path = []; - for (var i = 0; i < object.path.length; ++i) - if (typeof object.path[i] === "string") - $util.base64.decode(object.path[i], message.path[i] = $util.newBuffer($util.base64.length(object.path[i])), 0); - else if (object.path[i].length >= 0) - message.path[i] = object.path[i]; - } - if (object.keys) { - if (!Array.isArray(object.keys)) - throw TypeError(".org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.keys: array expected"); - message.keys = []; - for (var i = 0; i < object.keys.length; ++i) - if (typeof object.keys[i] === "string") - $util.base64.decode(object.keys[i], message.keys[i] = $util.newBuffer($util.base64.length(object.keys[i])), 0); - else if (object.keys[i].length >= 0) - message.keys[i] = object.keys[i]; - } - if (object.prove != null) - message.prove = Boolean(object.prove); - return message; - }; + }; - /** - * Creates a plain object from a GetPathElementsRequestV0 message. Also converts values to other types if specified. - * @function toObject - * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0 - * @static - * @param {org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0} message GetPathElementsRequestV0 - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - GetPathElementsRequestV0.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.arrays || options.defaults) { - object.path = []; - object.keys = []; - } - if (options.defaults) - object.prove = false; - if (message.path && message.path.length) { - object.path = []; - for (var j = 0; j < message.path.length; ++j) - object.path[j] = options.bytes === String ? $util.base64.encode(message.path[j], 0, message.path[j].length) : options.bytes === Array ? Array.prototype.slice.call(message.path[j]) : message.path[j]; - } - if (message.keys && message.keys.length) { - object.keys = []; - for (var j = 0; j < message.keys.length; ++j) - object.keys[j] = options.bytes === String ? $util.base64.encode(message.keys[j], 0, message.keys[j].length) : options.bytes === Array ? Array.prototype.slice.call(message.keys[j]) : message.keys[j]; - } - if (message.prove != null && message.hasOwnProperty("prove")) - object.prove = message.prove; - return object; - }; + /** + * Converts this ResourceVoteChoice to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice + * @instance + * @returns {Object.} JSON object + */ + ResourceVoteChoice.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; - /** - * Converts this GetPathElementsRequestV0 to JSON. - * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0 - * @instance - * @returns {Object.} JSON object - */ - GetPathElementsRequestV0.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; + /** + * VoteChoiceType enum. + * @name org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.VoteChoiceType + * @enum {number} + * @property {number} TOWARDS_IDENTITY=0 TOWARDS_IDENTITY value + * @property {number} ABSTAIN=1 ABSTAIN value + * @property {number} LOCK=2 LOCK value + */ + ResourceVoteChoice.VoteChoiceType = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "TOWARDS_IDENTITY"] = 0; + values[valuesById[1] = "ABSTAIN"] = 1; + values[valuesById[2] = "LOCK"] = 2; + return values; + })(); - return GetPathElementsRequestV0; - })(); + return ResourceVoteChoice; + })(); - return GetPathElementsRequest; - })(); + GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote = (function() { - v0.GetPathElementsResponse = (function() { + /** + * Properties of a ContestedResourceIdentityVote. + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0 + * @interface IContestedResourceIdentityVote + * @property {Uint8Array|null} [contractId] ContestedResourceIdentityVote contractId + * @property {string|null} [documentTypeName] ContestedResourceIdentityVote documentTypeName + * @property {Array.|null} [serializedIndexStorageValues] ContestedResourceIdentityVote serializedIndexStorageValues + * @property {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.IResourceVoteChoice|null} [voteChoice] ContestedResourceIdentityVote voteChoice + */ - /** - * Properties of a GetPathElementsResponse. - * @memberof org.dash.platform.dapi.v0 - * @interface IGetPathElementsResponse - * @property {org.dash.platform.dapi.v0.GetPathElementsResponse.IGetPathElementsResponseV0|null} [v0] GetPathElementsResponse v0 + /** + * Constructs a new ContestedResourceIdentityVote. + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0 + * @classdesc Represents a ContestedResourceIdentityVote. + * @implements IContestedResourceIdentityVote + * @constructor + * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.IContestedResourceIdentityVote=} [properties] Properties to set + */ + function ContestedResourceIdentityVote(properties) { + this.serializedIndexStorageValues = []; + 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]]; + } + + /** + * ContestedResourceIdentityVote contractId. + * @member {Uint8Array} contractId + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote + * @instance + */ + ContestedResourceIdentityVote.prototype.contractId = $util.newBuffer([]); + + /** + * ContestedResourceIdentityVote documentTypeName. + * @member {string} documentTypeName + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote + * @instance + */ + ContestedResourceIdentityVote.prototype.documentTypeName = ""; + + /** + * ContestedResourceIdentityVote serializedIndexStorageValues. + * @member {Array.} serializedIndexStorageValues + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote + * @instance + */ + ContestedResourceIdentityVote.prototype.serializedIndexStorageValues = $util.emptyArray; + + /** + * ContestedResourceIdentityVote voteChoice. + * @member {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.IResourceVoteChoice|null|undefined} voteChoice + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote + * @instance + */ + ContestedResourceIdentityVote.prototype.voteChoice = null; + + /** + * Creates a new ContestedResourceIdentityVote instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote + * @static + * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.IContestedResourceIdentityVote=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote} ContestedResourceIdentityVote instance + */ + ContestedResourceIdentityVote.create = function create(properties) { + return new ContestedResourceIdentityVote(properties); + }; + + /** + * Encodes the specified ContestedResourceIdentityVote message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote + * @static + * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.IContestedResourceIdentityVote} message ContestedResourceIdentityVote message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ContestedResourceIdentityVote.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.documentTypeName != null && Object.hasOwnProperty.call(message, "documentTypeName")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.documentTypeName); + if (message.serializedIndexStorageValues != null && message.serializedIndexStorageValues.length) + for (var i = 0; i < message.serializedIndexStorageValues.length; ++i) + writer.uint32(/* id 3, wireType 2 =*/26).bytes(message.serializedIndexStorageValues[i]); + if (message.voteChoice != null && Object.hasOwnProperty.call(message, "voteChoice")) + $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.encode(message.voteChoice, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified ContestedResourceIdentityVote message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote + * @static + * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.IContestedResourceIdentityVote} message ContestedResourceIdentityVote message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ContestedResourceIdentityVote.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ContestedResourceIdentityVote message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote + * @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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote} ContestedResourceIdentityVote + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ContestedResourceIdentityVote.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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.contractId = reader.bytes(); + break; + case 2: + message.documentTypeName = reader.string(); + break; + case 3: + if (!(message.serializedIndexStorageValues && message.serializedIndexStorageValues.length)) + message.serializedIndexStorageValues = []; + message.serializedIndexStorageValues.push(reader.bytes()); + break; + case 4: + message.voteChoice = $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ContestedResourceIdentityVote message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote} ContestedResourceIdentityVote + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ContestedResourceIdentityVote.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ContestedResourceIdentityVote message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ContestedResourceIdentityVote.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.documentTypeName != null && message.hasOwnProperty("documentTypeName")) + if (!$util.isString(message.documentTypeName)) + return "documentTypeName: string expected"; + if (message.serializedIndexStorageValues != null && message.hasOwnProperty("serializedIndexStorageValues")) { + if (!Array.isArray(message.serializedIndexStorageValues)) + return "serializedIndexStorageValues: array expected"; + for (var i = 0; i < message.serializedIndexStorageValues.length; ++i) + if (!(message.serializedIndexStorageValues[i] && typeof message.serializedIndexStorageValues[i].length === "number" || $util.isString(message.serializedIndexStorageValues[i]))) + return "serializedIndexStorageValues: buffer[] expected"; + } + if (message.voteChoice != null && message.hasOwnProperty("voteChoice")) { + var error = $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.verify(message.voteChoice); + if (error) + return "voteChoice." + error; + } + return null; + }; + + /** + * Creates a ContestedResourceIdentityVote message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote} ContestedResourceIdentityVote + */ + ContestedResourceIdentityVote.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote(); + 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.documentTypeName != null) + message.documentTypeName = String(object.documentTypeName); + if (object.serializedIndexStorageValues) { + if (!Array.isArray(object.serializedIndexStorageValues)) + throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.serializedIndexStorageValues: array expected"); + message.serializedIndexStorageValues = []; + for (var i = 0; i < object.serializedIndexStorageValues.length; ++i) + if (typeof object.serializedIndexStorageValues[i] === "string") + $util.base64.decode(object.serializedIndexStorageValues[i], message.serializedIndexStorageValues[i] = $util.newBuffer($util.base64.length(object.serializedIndexStorageValues[i])), 0); + else if (object.serializedIndexStorageValues[i].length >= 0) + message.serializedIndexStorageValues[i] = object.serializedIndexStorageValues[i]; + } + if (object.voteChoice != null) { + if (typeof object.voteChoice !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.voteChoice: object expected"); + message.voteChoice = $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.fromObject(object.voteChoice); + } + return message; + }; + + /** + * Creates a plain object from a ContestedResourceIdentityVote message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote + * @static + * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote} message ContestedResourceIdentityVote + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ContestedResourceIdentityVote.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.serializedIndexStorageValues = []; + if (options.defaults) { + if (options.bytes === String) + object.contractId = ""; + else { + object.contractId = []; + if (options.bytes !== Array) + object.contractId = $util.newBuffer(object.contractId); + } + object.documentTypeName = ""; + object.voteChoice = null; + } + 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.documentTypeName != null && message.hasOwnProperty("documentTypeName")) + object.documentTypeName = message.documentTypeName; + if (message.serializedIndexStorageValues && message.serializedIndexStorageValues.length) { + object.serializedIndexStorageValues = []; + for (var j = 0; j < message.serializedIndexStorageValues.length; ++j) + object.serializedIndexStorageValues[j] = options.bytes === String ? $util.base64.encode(message.serializedIndexStorageValues[j], 0, message.serializedIndexStorageValues[j].length) : options.bytes === Array ? Array.prototype.slice.call(message.serializedIndexStorageValues[j]) : message.serializedIndexStorageValues[j]; + } + if (message.voteChoice != null && message.hasOwnProperty("voteChoice")) + object.voteChoice = $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.toObject(message.voteChoice, options); + return object; + }; + + /** + * Converts this ContestedResourceIdentityVote to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote + * @instance + * @returns {Object.} JSON object + */ + ContestedResourceIdentityVote.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ContestedResourceIdentityVote; + })(); + + return GetContestedResourceIdentityVotesResponseV0; + })(); + + return GetContestedResourceIdentityVotesResponse; + })(); + + v0.GetPrefundedSpecializedBalanceRequest = (function() { + + /** + * Properties of a GetPrefundedSpecializedBalanceRequest. + * @memberof org.dash.platform.dapi.v0 + * @interface IGetPrefundedSpecializedBalanceRequest + * @property {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.IGetPrefundedSpecializedBalanceRequestV0|null} [v0] GetPrefundedSpecializedBalanceRequest v0 */ /** - * Constructs a new GetPathElementsResponse. + * Constructs a new GetPrefundedSpecializedBalanceRequest. * @memberof org.dash.platform.dapi.v0 - * @classdesc Represents a GetPathElementsResponse. - * @implements IGetPathElementsResponse + * @classdesc Represents a GetPrefundedSpecializedBalanceRequest. + * @implements IGetPrefundedSpecializedBalanceRequest * @constructor - * @param {org.dash.platform.dapi.v0.IGetPathElementsResponse=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.IGetPrefundedSpecializedBalanceRequest=} [properties] Properties to set */ - function GetPathElementsResponse(properties) { + function GetPrefundedSpecializedBalanceRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -39392,89 +40573,89 @@ $root.org = (function() { } /** - * GetPathElementsResponse v0. - * @member {org.dash.platform.dapi.v0.GetPathElementsResponse.IGetPathElementsResponseV0|null|undefined} v0 - * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse + * GetPrefundedSpecializedBalanceRequest v0. + * @member {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.IGetPrefundedSpecializedBalanceRequestV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest * @instance */ - GetPathElementsResponse.prototype.v0 = null; + GetPrefundedSpecializedBalanceRequest.prototype.v0 = null; // OneOf field names bound to virtual getters and setters var $oneOfFields; /** - * GetPathElementsResponse version. + * GetPrefundedSpecializedBalanceRequest version. * @member {"v0"|undefined} version - * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse + * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest * @instance */ - Object.defineProperty(GetPathElementsResponse.prototype, "version", { + Object.defineProperty(GetPrefundedSpecializedBalanceRequest.prototype, "version", { get: $util.oneOfGetter($oneOfFields = ["v0"]), set: $util.oneOfSetter($oneOfFields) }); /** - * Creates a new GetPathElementsResponse instance using the specified properties. + * Creates a new GetPrefundedSpecializedBalanceRequest instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse + * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest * @static - * @param {org.dash.platform.dapi.v0.IGetPathElementsResponse=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetPathElementsResponse} GetPathElementsResponse instance + * @param {org.dash.platform.dapi.v0.IGetPrefundedSpecializedBalanceRequest=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest} GetPrefundedSpecializedBalanceRequest instance */ - GetPathElementsResponse.create = function create(properties) { - return new GetPathElementsResponse(properties); + GetPrefundedSpecializedBalanceRequest.create = function create(properties) { + return new GetPrefundedSpecializedBalanceRequest(properties); }; /** - * Encodes the specified GetPathElementsResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetPathElementsResponse.verify|verify} messages. + * Encodes the specified GetPrefundedSpecializedBalanceRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse + * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest * @static - * @param {org.dash.platform.dapi.v0.IGetPathElementsResponse} message GetPathElementsResponse message or plain object to encode + * @param {org.dash.platform.dapi.v0.IGetPrefundedSpecializedBalanceRequest} message GetPrefundedSpecializedBalanceRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetPathElementsResponse.encode = function encode(message, writer) { + GetPrefundedSpecializedBalanceRequest.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.GetPathElementsResponse.GetPathElementsResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + $root.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified GetPathElementsResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetPathElementsResponse.verify|verify} messages. + * Encodes the specified GetPrefundedSpecializedBalanceRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse + * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest * @static - * @param {org.dash.platform.dapi.v0.IGetPathElementsResponse} message GetPathElementsResponse message or plain object to encode + * @param {org.dash.platform.dapi.v0.IGetPrefundedSpecializedBalanceRequest} message GetPrefundedSpecializedBalanceRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetPathElementsResponse.encodeDelimited = function encodeDelimited(message, writer) { + GetPrefundedSpecializedBalanceRequest.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetPathElementsResponse message from the specified reader or buffer. + * Decodes a GetPrefundedSpecializedBalanceRequest message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse + * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest * @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.GetPathElementsResponse} GetPathElementsResponse + * @returns {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest} GetPrefundedSpecializedBalanceRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetPathElementsResponse.decode = function decode(reader, length) { + GetPrefundedSpecializedBalanceRequest.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.GetPathElementsResponse(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.v0 = $root.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.decode(reader, reader.uint32()); + message.v0 = $root.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -39485,37 +40666,37 @@ $root.org = (function() { }; /** - * Decodes a GetPathElementsResponse message from the specified reader or buffer, length delimited. + * Decodes a GetPrefundedSpecializedBalanceRequest message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse + * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetPathElementsResponse} GetPathElementsResponse + * @returns {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest} GetPrefundedSpecializedBalanceRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetPathElementsResponse.decodeDelimited = function decodeDelimited(reader) { + GetPrefundedSpecializedBalanceRequest.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GetPathElementsResponse message. + * Verifies a GetPrefundedSpecializedBalanceRequest message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse + * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetPathElementsResponse.verify = function verify(message) { + GetPrefundedSpecializedBalanceRequest.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.GetPathElementsResponse.GetPathElementsResponseV0.verify(message.v0); + var error = $root.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.verify(message.v0); if (error) return "v0." + error; } @@ -39524,40 +40705,40 @@ $root.org = (function() { }; /** - * Creates a GetPathElementsResponse message from a plain object. Also converts values to their respective internal types. + * Creates a GetPrefundedSpecializedBalanceRequest message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse + * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetPathElementsResponse} GetPathElementsResponse + * @returns {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest} GetPrefundedSpecializedBalanceRequest */ - GetPathElementsResponse.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetPathElementsResponse) + GetPrefundedSpecializedBalanceRequest.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest) return object; - var message = new $root.org.dash.platform.dapi.v0.GetPathElementsResponse(); + var message = new $root.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest(); if (object.v0 != null) { if (typeof object.v0 !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetPathElementsResponse.v0: object expected"); - message.v0 = $root.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.fromObject(object.v0); + throw TypeError(".org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.v0: object expected"); + message.v0 = $root.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.fromObject(object.v0); } return message; }; /** - * Creates a plain object from a GetPathElementsResponse message. Also converts values to other types if specified. + * Creates a plain object from a GetPrefundedSpecializedBalanceRequest message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse + * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest * @static - * @param {org.dash.platform.dapi.v0.GetPathElementsResponse} message GetPathElementsResponse + * @param {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest} message GetPrefundedSpecializedBalanceRequest * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetPathElementsResponse.toObject = function toObject(message, options) { + GetPrefundedSpecializedBalanceRequest.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.GetPathElementsResponse.GetPathElementsResponseV0.toObject(message.v0, options); + object.v0 = $root.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.toObject(message.v0, options); if (options.oneofs) object.version = "v0"; } @@ -39565,36 +40746,35 @@ $root.org = (function() { }; /** - * Converts this GetPathElementsResponse to JSON. + * Converts this GetPrefundedSpecializedBalanceRequest to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse + * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest * @instance * @returns {Object.} JSON object */ - GetPathElementsResponse.prototype.toJSON = function toJSON() { + GetPrefundedSpecializedBalanceRequest.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - GetPathElementsResponse.GetPathElementsResponseV0 = (function() { + GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0 = (function() { /** - * Properties of a GetPathElementsResponseV0. - * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse - * @interface IGetPathElementsResponseV0 - * @property {org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.IElements|null} [elements] GetPathElementsResponseV0 elements - * @property {org.dash.platform.dapi.v0.IProof|null} [proof] GetPathElementsResponseV0 proof - * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetPathElementsResponseV0 metadata + * Properties of a GetPrefundedSpecializedBalanceRequestV0. + * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest + * @interface IGetPrefundedSpecializedBalanceRequestV0 + * @property {Uint8Array|null} [id] GetPrefundedSpecializedBalanceRequestV0 id + * @property {boolean|null} [prove] GetPrefundedSpecializedBalanceRequestV0 prove */ /** - * Constructs a new GetPathElementsResponseV0. - * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse - * @classdesc Represents a GetPathElementsResponseV0. - * @implements IGetPathElementsResponseV0 + * Constructs a new GetPrefundedSpecializedBalanceRequestV0. + * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest + * @classdesc Represents a GetPrefundedSpecializedBalanceRequestV0. + * @implements IGetPrefundedSpecializedBalanceRequestV0 * @constructor - * @param {org.dash.platform.dapi.v0.GetPathElementsResponse.IGetPathElementsResponseV0=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.IGetPrefundedSpecializedBalanceRequestV0=} [properties] Properties to set */ - function GetPathElementsResponseV0(properties) { + function GetPrefundedSpecializedBalanceRequestV0(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -39602,115 +40782,88 @@ $root.org = (function() { } /** - * GetPathElementsResponseV0 elements. - * @member {org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.IElements|null|undefined} elements - * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0 - * @instance - */ - GetPathElementsResponseV0.prototype.elements = null; - - /** - * GetPathElementsResponseV0 proof. - * @member {org.dash.platform.dapi.v0.IProof|null|undefined} proof - * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0 - * @instance - */ - GetPathElementsResponseV0.prototype.proof = null; - - /** - * GetPathElementsResponseV0 metadata. - * @member {org.dash.platform.dapi.v0.IResponseMetadata|null|undefined} metadata - * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0 + * GetPrefundedSpecializedBalanceRequestV0 id. + * @member {Uint8Array} id + * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0 * @instance */ - GetPathElementsResponseV0.prototype.metadata = null; - - // OneOf field names bound to virtual getters and setters - var $oneOfFields; + GetPrefundedSpecializedBalanceRequestV0.prototype.id = $util.newBuffer([]); /** - * GetPathElementsResponseV0 result. - * @member {"elements"|"proof"|undefined} result - * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0 + * GetPrefundedSpecializedBalanceRequestV0 prove. + * @member {boolean} prove + * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0 * @instance */ - Object.defineProperty(GetPathElementsResponseV0.prototype, "result", { - get: $util.oneOfGetter($oneOfFields = ["elements", "proof"]), - set: $util.oneOfSetter($oneOfFields) - }); + GetPrefundedSpecializedBalanceRequestV0.prototype.prove = false; /** - * Creates a new GetPathElementsResponseV0 instance using the specified properties. + * Creates a new GetPrefundedSpecializedBalanceRequestV0 instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0 + * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetPathElementsResponse.IGetPathElementsResponseV0=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0} GetPathElementsResponseV0 instance + * @param {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.IGetPrefundedSpecializedBalanceRequestV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0} GetPrefundedSpecializedBalanceRequestV0 instance */ - GetPathElementsResponseV0.create = function create(properties) { - return new GetPathElementsResponseV0(properties); + GetPrefundedSpecializedBalanceRequestV0.create = function create(properties) { + return new GetPrefundedSpecializedBalanceRequestV0(properties); }; /** - * Encodes the specified GetPathElementsResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.verify|verify} messages. + * Encodes the specified GetPrefundedSpecializedBalanceRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0 + * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetPathElementsResponse.IGetPathElementsResponseV0} message GetPathElementsResponseV0 message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.IGetPrefundedSpecializedBalanceRequestV0} message GetPrefundedSpecializedBalanceRequestV0 message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetPathElementsResponseV0.encode = function encode(message, writer) { + GetPrefundedSpecializedBalanceRequestV0.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.elements != null && Object.hasOwnProperty.call(message, "elements")) - $root.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.encode(message.elements, 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.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 GetPathElementsResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.verify|verify} messages. + * Encodes the specified GetPrefundedSpecializedBalanceRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0 + * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetPathElementsResponse.IGetPathElementsResponseV0} message GetPathElementsResponseV0 message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.IGetPrefundedSpecializedBalanceRequestV0} message GetPrefundedSpecializedBalanceRequestV0 message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetPathElementsResponseV0.encodeDelimited = function encodeDelimited(message, writer) { + GetPrefundedSpecializedBalanceRequestV0.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetPathElementsResponseV0 message from the specified reader or buffer. + * Decodes a GetPrefundedSpecializedBalanceRequestV0 message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0 + * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0 * @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.GetPathElementsResponse.GetPathElementsResponseV0} GetPathElementsResponseV0 + * @returns {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0} GetPrefundedSpecializedBalanceRequestV0 * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetPathElementsResponseV0.decode = function decode(reader, length) { + GetPrefundedSpecializedBalanceRequestV0.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.GetPathElementsResponse.GetPathElementsResponseV0(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.elements = $root.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.decode(reader, reader.uint32()); + message.id = 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.prove = reader.bool(); break; default: reader.skipType(tag & 7); @@ -39721,360 +40874,128 @@ $root.org = (function() { }; /** - * Decodes a GetPathElementsResponseV0 message from the specified reader or buffer, length delimited. + * Decodes a GetPrefundedSpecializedBalanceRequestV0 message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0 + * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0 * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0} GetPathElementsResponseV0 + * @returns {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0} GetPrefundedSpecializedBalanceRequestV0 * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetPathElementsResponseV0.decodeDelimited = function decodeDelimited(reader) { + GetPrefundedSpecializedBalanceRequestV0.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GetPathElementsResponseV0 message. + * Verifies a GetPrefundedSpecializedBalanceRequestV0 message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0 + * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0 * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetPathElementsResponseV0.verify = function verify(message) { + GetPrefundedSpecializedBalanceRequestV0.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - var properties = {}; - if (message.elements != null && message.hasOwnProperty("elements")) { - properties.result = 1; - { - var error = $root.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.verify(message.elements); - if (error) - return "elements." + 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; - } + 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 GetPathElementsResponseV0 message from a plain object. Also converts values to their respective internal types. + * Creates a GetPrefundedSpecializedBalanceRequestV0 message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0 + * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0 * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0} GetPathElementsResponseV0 + * @returns {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0} GetPrefundedSpecializedBalanceRequestV0 */ - GetPathElementsResponseV0.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0) + GetPrefundedSpecializedBalanceRequestV0.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0) return object; - var message = new $root.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0(); - if (object.elements != null) { - if (typeof object.elements !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.elements: object expected"); - message.elements = $root.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.fromObject(object.elements); - } - if (object.proof != null) { - if (typeof object.proof !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.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.GetPathElementsResponse.GetPathElementsResponseV0.metadata: object expected"); - message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.fromObject(object.metadata); - } + var message = new $root.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0(); + 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 GetPathElementsResponseV0 message. Also converts values to other types if specified. + * Creates a plain object from a GetPrefundedSpecializedBalanceRequestV0 message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0 + * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0} message GetPathElementsResponseV0 + * @param {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0} message GetPrefundedSpecializedBalanceRequestV0 * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetPathElementsResponseV0.toObject = function toObject(message, options) { + GetPrefundedSpecializedBalanceRequestV0.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.defaults) - object.metadata = null; - if (message.elements != null && message.hasOwnProperty("elements")) { - object.elements = $root.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.toObject(message.elements, options); - if (options.oneofs) - object.result = "elements"; - } - 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.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.metadata != null && message.hasOwnProperty("metadata")) - object.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.toObject(message.metadata, options); + 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 GetPathElementsResponseV0 to JSON. + * Converts this GetPrefundedSpecializedBalanceRequestV0 to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0 + * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0 * @instance * @returns {Object.} JSON object */ - GetPathElementsResponseV0.prototype.toJSON = function toJSON() { + GetPrefundedSpecializedBalanceRequestV0.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - GetPathElementsResponseV0.Elements = (function() { - - /** - * Properties of an Elements. - * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0 - * @interface IElements - * @property {Array.|null} [elements] Elements elements - */ - - /** - * Constructs a new Elements. - * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0 - * @classdesc Represents an Elements. - * @implements IElements - * @constructor - * @param {org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.IElements=} [properties] Properties to set - */ - function Elements(properties) { - this.elements = []; - 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]]; - } - - /** - * Elements elements. - * @member {Array.} elements - * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements - * @instance - */ - Elements.prototype.elements = $util.emptyArray; - - /** - * Creates a new Elements instance using the specified properties. - * @function create - * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements - * @static - * @param {org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.IElements=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements} Elements instance - */ - Elements.create = function create(properties) { - return new Elements(properties); - }; - - /** - * Encodes the specified Elements message. Does not implicitly {@link org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.verify|verify} messages. - * @function encode - * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements - * @static - * @param {org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.IElements} message Elements message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Elements.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.elements != null && message.elements.length) - for (var i = 0; i < message.elements.length; ++i) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.elements[i]); - return writer; - }; - - /** - * Encodes the specified Elements message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.verify|verify} messages. - * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements - * @static - * @param {org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.IElements} message Elements message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Elements.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes an Elements message from the specified reader or buffer. - * @function decode - * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements - * @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.GetPathElementsResponse.GetPathElementsResponseV0.Elements} Elements - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Elements.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.GetPathElementsResponse.GetPathElementsResponseV0.Elements(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (!(message.elements && message.elements.length)) - message.elements = []; - message.elements.push(reader.bytes()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes an Elements message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements} Elements - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Elements.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies an Elements message. - * @function verify - * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Elements.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.elements != null && message.hasOwnProperty("elements")) { - if (!Array.isArray(message.elements)) - return "elements: array expected"; - for (var i = 0; i < message.elements.length; ++i) - if (!(message.elements[i] && typeof message.elements[i].length === "number" || $util.isString(message.elements[i]))) - return "elements: buffer[] expected"; - } - return null; - }; - - /** - * Creates an Elements message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements - * @static - * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements} Elements - */ - Elements.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements) - return object; - var message = new $root.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements(); - if (object.elements) { - if (!Array.isArray(object.elements)) - throw TypeError(".org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.elements: array expected"); - message.elements = []; - for (var i = 0; i < object.elements.length; ++i) - if (typeof object.elements[i] === "string") - $util.base64.decode(object.elements[i], message.elements[i] = $util.newBuffer($util.base64.length(object.elements[i])), 0); - else if (object.elements[i].length >= 0) - message.elements[i] = object.elements[i]; - } - return message; - }; - - /** - * Creates a plain object from an Elements message. Also converts values to other types if specified. - * @function toObject - * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements - * @static - * @param {org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements} message Elements - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Elements.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.arrays || options.defaults) - object.elements = []; - if (message.elements && message.elements.length) { - object.elements = []; - for (var j = 0; j < message.elements.length; ++j) - object.elements[j] = options.bytes === String ? $util.base64.encode(message.elements[j], 0, message.elements[j].length) : options.bytes === Array ? Array.prototype.slice.call(message.elements[j]) : message.elements[j]; - } - return object; - }; - - /** - * Converts this Elements to JSON. - * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements - * @instance - * @returns {Object.} JSON object - */ - Elements.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return Elements; - })(); - - return GetPathElementsResponseV0; + return GetPrefundedSpecializedBalanceRequestV0; })(); - return GetPathElementsResponse; + return GetPrefundedSpecializedBalanceRequest; })(); - v0.GetStatusRequest = (function() { + v0.GetPrefundedSpecializedBalanceResponse = (function() { /** - * Properties of a GetStatusRequest. + * Properties of a GetPrefundedSpecializedBalanceResponse. * @memberof org.dash.platform.dapi.v0 - * @interface IGetStatusRequest - * @property {org.dash.platform.dapi.v0.GetStatusRequest.IGetStatusRequestV0|null} [v0] GetStatusRequest v0 + * @interface IGetPrefundedSpecializedBalanceResponse + * @property {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.IGetPrefundedSpecializedBalanceResponseV0|null} [v0] GetPrefundedSpecializedBalanceResponse v0 */ /** - * Constructs a new GetStatusRequest. + * Constructs a new GetPrefundedSpecializedBalanceResponse. * @memberof org.dash.platform.dapi.v0 - * @classdesc Represents a GetStatusRequest. - * @implements IGetStatusRequest + * @classdesc Represents a GetPrefundedSpecializedBalanceResponse. + * @implements IGetPrefundedSpecializedBalanceResponse * @constructor - * @param {org.dash.platform.dapi.v0.IGetStatusRequest=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.IGetPrefundedSpecializedBalanceResponse=} [properties] Properties to set */ - function GetStatusRequest(properties) { + function GetPrefundedSpecializedBalanceResponse(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -40082,89 +41003,89 @@ $root.org = (function() { } /** - * GetStatusRequest v0. - * @member {org.dash.platform.dapi.v0.GetStatusRequest.IGetStatusRequestV0|null|undefined} v0 - * @memberof org.dash.platform.dapi.v0.GetStatusRequest + * GetPrefundedSpecializedBalanceResponse v0. + * @member {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.IGetPrefundedSpecializedBalanceResponseV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse * @instance */ - GetStatusRequest.prototype.v0 = null; + GetPrefundedSpecializedBalanceResponse.prototype.v0 = null; // OneOf field names bound to virtual getters and setters var $oneOfFields; /** - * GetStatusRequest version. + * GetPrefundedSpecializedBalanceResponse version. * @member {"v0"|undefined} version - * @memberof org.dash.platform.dapi.v0.GetStatusRequest + * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse * @instance */ - Object.defineProperty(GetStatusRequest.prototype, "version", { + Object.defineProperty(GetPrefundedSpecializedBalanceResponse.prototype, "version", { get: $util.oneOfGetter($oneOfFields = ["v0"]), set: $util.oneOfSetter($oneOfFields) }); /** - * Creates a new GetStatusRequest instance using the specified properties. + * Creates a new GetPrefundedSpecializedBalanceResponse instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetStatusRequest + * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse * @static - * @param {org.dash.platform.dapi.v0.IGetStatusRequest=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetStatusRequest} GetStatusRequest instance + * @param {org.dash.platform.dapi.v0.IGetPrefundedSpecializedBalanceResponse=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse} GetPrefundedSpecializedBalanceResponse instance */ - GetStatusRequest.create = function create(properties) { - return new GetStatusRequest(properties); + GetPrefundedSpecializedBalanceResponse.create = function create(properties) { + return new GetPrefundedSpecializedBalanceResponse(properties); }; /** - * Encodes the specified GetStatusRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetStatusRequest.verify|verify} messages. + * Encodes the specified GetPrefundedSpecializedBalanceResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetStatusRequest + * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse * @static - * @param {org.dash.platform.dapi.v0.IGetStatusRequest} message GetStatusRequest message or plain object to encode + * @param {org.dash.platform.dapi.v0.IGetPrefundedSpecializedBalanceResponse} message GetPrefundedSpecializedBalanceResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetStatusRequest.encode = function encode(message, writer) { + GetPrefundedSpecializedBalanceResponse.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.GetStatusRequest.GetStatusRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + $root.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified GetStatusRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetStatusRequest.verify|verify} messages. + * Encodes the specified GetPrefundedSpecializedBalanceResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetStatusRequest + * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse * @static - * @param {org.dash.platform.dapi.v0.IGetStatusRequest} message GetStatusRequest message or plain object to encode + * @param {org.dash.platform.dapi.v0.IGetPrefundedSpecializedBalanceResponse} message GetPrefundedSpecializedBalanceResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetStatusRequest.encodeDelimited = function encodeDelimited(message, writer) { + GetPrefundedSpecializedBalanceResponse.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetStatusRequest message from the specified reader or buffer. + * Decodes a GetPrefundedSpecializedBalanceResponse message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetStatusRequest + * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse * @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.GetStatusRequest} GetStatusRequest + * @returns {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse} GetPrefundedSpecializedBalanceResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetStatusRequest.decode = function decode(reader, length) { + GetPrefundedSpecializedBalanceResponse.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.GetStatusRequest(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.v0 = $root.org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0.decode(reader, reader.uint32()); + message.v0 = $root.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -40175,37 +41096,37 @@ $root.org = (function() { }; /** - * Decodes a GetStatusRequest message from the specified reader or buffer, length delimited. + * Decodes a GetPrefundedSpecializedBalanceResponse message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetStatusRequest + * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetStatusRequest} GetStatusRequest + * @returns {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse} GetPrefundedSpecializedBalanceResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetStatusRequest.decodeDelimited = function decodeDelimited(reader) { + GetPrefundedSpecializedBalanceResponse.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GetStatusRequest message. + * Verifies a GetPrefundedSpecializedBalanceResponse message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetStatusRequest + * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetStatusRequest.verify = function verify(message) { + GetPrefundedSpecializedBalanceResponse.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.GetStatusRequest.GetStatusRequestV0.verify(message.v0); + var error = $root.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.verify(message.v0); if (error) return "v0." + error; } @@ -40214,40 +41135,40 @@ $root.org = (function() { }; /** - * Creates a GetStatusRequest message from a plain object. Also converts values to their respective internal types. + * Creates a GetPrefundedSpecializedBalanceResponse message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetStatusRequest + * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetStatusRequest} GetStatusRequest + * @returns {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse} GetPrefundedSpecializedBalanceResponse */ - GetStatusRequest.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetStatusRequest) + GetPrefundedSpecializedBalanceResponse.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse) return object; - var message = new $root.org.dash.platform.dapi.v0.GetStatusRequest(); + var message = new $root.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse(); if (object.v0 != null) { if (typeof object.v0 !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetStatusRequest.v0: object expected"); - message.v0 = $root.org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0.fromObject(object.v0); + throw TypeError(".org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.v0: object expected"); + message.v0 = $root.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.fromObject(object.v0); } return message; }; /** - * Creates a plain object from a GetStatusRequest message. Also converts values to other types if specified. + * Creates a plain object from a GetPrefundedSpecializedBalanceResponse message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetStatusRequest + * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse * @static - * @param {org.dash.platform.dapi.v0.GetStatusRequest} message GetStatusRequest + * @param {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse} message GetPrefundedSpecializedBalanceResponse * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetStatusRequest.toObject = function toObject(message, options) { + GetPrefundedSpecializedBalanceResponse.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.GetStatusRequest.GetStatusRequestV0.toObject(message.v0, options); + object.v0 = $root.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.toObject(message.v0, options); if (options.oneofs) object.version = "v0"; } @@ -40255,33 +41176,36 @@ $root.org = (function() { }; /** - * Converts this GetStatusRequest to JSON. + * Converts this GetPrefundedSpecializedBalanceResponse to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetStatusRequest + * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse * @instance * @returns {Object.} JSON object */ - GetStatusRequest.prototype.toJSON = function toJSON() { + GetPrefundedSpecializedBalanceResponse.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - GetStatusRequest.GetStatusRequestV0 = (function() { + GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0 = (function() { /** - * Properties of a GetStatusRequestV0. - * @memberof org.dash.platform.dapi.v0.GetStatusRequest - * @interface IGetStatusRequestV0 + * Properties of a GetPrefundedSpecializedBalanceResponseV0. + * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse + * @interface IGetPrefundedSpecializedBalanceResponseV0 + * @property {number|Long|null} [balance] GetPrefundedSpecializedBalanceResponseV0 balance + * @property {org.dash.platform.dapi.v0.IProof|null} [proof] GetPrefundedSpecializedBalanceResponseV0 proof + * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetPrefundedSpecializedBalanceResponseV0 metadata */ /** - * Constructs a new GetStatusRequestV0. - * @memberof org.dash.platform.dapi.v0.GetStatusRequest - * @classdesc Represents a GetStatusRequestV0. - * @implements IGetStatusRequestV0 + * Constructs a new GetPrefundedSpecializedBalanceResponseV0. + * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse + * @classdesc Represents a GetPrefundedSpecializedBalanceResponseV0. + * @implements IGetPrefundedSpecializedBalanceResponseV0 * @constructor - * @param {org.dash.platform.dapi.v0.GetStatusRequest.IGetStatusRequestV0=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.IGetPrefundedSpecializedBalanceResponseV0=} [properties] Properties to set */ - function GetStatusRequestV0(properties) { + function GetPrefundedSpecializedBalanceResponseV0(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -40289,63 +41213,116 @@ $root.org = (function() { } /** - * Creates a new GetStatusRequestV0 instance using the specified properties. - * @function create - * @memberof org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0 - * @static - * @param {org.dash.platform.dapi.v0.GetStatusRequest.IGetStatusRequestV0=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0} GetStatusRequestV0 instance + * GetPrefundedSpecializedBalanceResponseV0 balance. + * @member {number|Long} balance + * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0 + * @instance */ - GetStatusRequestV0.create = function create(properties) { - return new GetStatusRequestV0(properties); - }; + GetPrefundedSpecializedBalanceResponseV0.prototype.balance = $util.Long ? $util.Long.fromBits(0,0,true) : 0; /** - * Encodes the specified GetStatusRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0.verify|verify} messages. - * @function encode - * @memberof org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0 - * @static - * @param {org.dash.platform.dapi.v0.GetStatusRequest.IGetStatusRequestV0} message GetStatusRequestV0 message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer + * GetPrefundedSpecializedBalanceResponseV0 proof. + * @member {org.dash.platform.dapi.v0.IProof|null|undefined} proof + * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0 + * @instance */ - GetStatusRequestV0.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - return writer; - }; + GetPrefundedSpecializedBalanceResponseV0.prototype.proof = null; /** - * Encodes the specified GetStatusRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0.verify|verify} messages. + * GetPrefundedSpecializedBalanceResponseV0 metadata. + * @member {org.dash.platform.dapi.v0.IResponseMetadata|null|undefined} metadata + * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0 + * @instance + */ + GetPrefundedSpecializedBalanceResponseV0.prototype.metadata = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * GetPrefundedSpecializedBalanceResponseV0 result. + * @member {"balance"|"proof"|undefined} result + * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0 + * @instance + */ + Object.defineProperty(GetPrefundedSpecializedBalanceResponseV0.prototype, "result", { + get: $util.oneOfGetter($oneOfFields = ["balance", "proof"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new GetPrefundedSpecializedBalanceResponseV0 instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0 + * @static + * @param {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.IGetPrefundedSpecializedBalanceResponseV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0} GetPrefundedSpecializedBalanceResponseV0 instance + */ + GetPrefundedSpecializedBalanceResponseV0.create = function create(properties) { + return new GetPrefundedSpecializedBalanceResponseV0(properties); + }; + + /** + * Encodes the specified GetPrefundedSpecializedBalanceResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0 + * @static + * @param {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.IGetPrefundedSpecializedBalanceResponseV0} message GetPrefundedSpecializedBalanceResponseV0 message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetPrefundedSpecializedBalanceResponseV0.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 GetPrefundedSpecializedBalanceResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0 + * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetStatusRequest.IGetStatusRequestV0} message GetStatusRequestV0 message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.IGetPrefundedSpecializedBalanceResponseV0} message GetPrefundedSpecializedBalanceResponseV0 message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetStatusRequestV0.encodeDelimited = function encodeDelimited(message, writer) { + GetPrefundedSpecializedBalanceResponseV0.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetStatusRequestV0 message from the specified reader or buffer. + * Decodes a GetPrefundedSpecializedBalanceResponseV0 message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0 + * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0 * @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.GetStatusRequest.GetStatusRequestV0} GetStatusRequestV0 + * @returns {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0} GetPrefundedSpecializedBalanceResponseV0 * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetStatusRequestV0.decode = function decode(reader, length) { + GetPrefundedSpecializedBalanceResponseV0.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.GetStatusRequest.GetStatusRequestV0(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0(); 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; @@ -40355,97 +41332,158 @@ $root.org = (function() { }; /** - * Decodes a GetStatusRequestV0 message from the specified reader or buffer, length delimited. + * Decodes a GetPrefundedSpecializedBalanceResponseV0 message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0 + * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0 * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0} GetStatusRequestV0 + * @returns {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0} GetPrefundedSpecializedBalanceResponseV0 * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetStatusRequestV0.decodeDelimited = function decodeDelimited(reader) { + GetPrefundedSpecializedBalanceResponseV0.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GetStatusRequestV0 message. + * Verifies a GetPrefundedSpecializedBalanceResponseV0 message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0 + * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0 * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetStatusRequestV0.verify = function verify(message) { + GetPrefundedSpecializedBalanceResponseV0.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 GetStatusRequestV0 message from a plain object. Also converts values to their respective internal types. + * Creates a GetPrefundedSpecializedBalanceResponseV0 message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0 + * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0 * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0} GetStatusRequestV0 + * @returns {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0} GetPrefundedSpecializedBalanceResponseV0 */ - GetStatusRequestV0.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0) + GetPrefundedSpecializedBalanceResponseV0.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0) return object; - return new $root.org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0(); + var message = new $root.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0(); + 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.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.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.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.metadata: object expected"); + message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.fromObject(object.metadata); + } + return message; }; /** - * Creates a plain object from a GetStatusRequestV0 message. Also converts values to other types if specified. + * Creates a plain object from a GetPrefundedSpecializedBalanceResponseV0 message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0 + * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0} message GetStatusRequestV0 + * @param {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0} message GetPrefundedSpecializedBalanceResponseV0 * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetStatusRequestV0.toObject = function toObject() { - return {}; + GetPrefundedSpecializedBalanceResponseV0.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 GetStatusRequestV0 to JSON. + * Converts this GetPrefundedSpecializedBalanceResponseV0 to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0 + * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0 * @instance * @returns {Object.} JSON object */ - GetStatusRequestV0.prototype.toJSON = function toJSON() { + GetPrefundedSpecializedBalanceResponseV0.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return GetStatusRequestV0; + return GetPrefundedSpecializedBalanceResponseV0; })(); - return GetStatusRequest; + return GetPrefundedSpecializedBalanceResponse; })(); - v0.GetStatusResponse = (function() { + v0.GetTotalCreditsInPlatformRequest = (function() { /** - * Properties of a GetStatusResponse. + * Properties of a GetTotalCreditsInPlatformRequest. * @memberof org.dash.platform.dapi.v0 - * @interface IGetStatusResponse - * @property {org.dash.platform.dapi.v0.GetStatusResponse.IGetStatusResponseV0|null} [v0] GetStatusResponse v0 + * @interface IGetTotalCreditsInPlatformRequest + * @property {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.IGetTotalCreditsInPlatformRequestV0|null} [v0] GetTotalCreditsInPlatformRequest v0 */ /** - * Constructs a new GetStatusResponse. + * Constructs a new GetTotalCreditsInPlatformRequest. * @memberof org.dash.platform.dapi.v0 - * @classdesc Represents a GetStatusResponse. - * @implements IGetStatusResponse + * @classdesc Represents a GetTotalCreditsInPlatformRequest. + * @implements IGetTotalCreditsInPlatformRequest * @constructor - * @param {org.dash.platform.dapi.v0.IGetStatusResponse=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.IGetTotalCreditsInPlatformRequest=} [properties] Properties to set */ - function GetStatusResponse(properties) { + function GetTotalCreditsInPlatformRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -40453,89 +41491,89 @@ $root.org = (function() { } /** - * GetStatusResponse v0. - * @member {org.dash.platform.dapi.v0.GetStatusResponse.IGetStatusResponseV0|null|undefined} v0 - * @memberof org.dash.platform.dapi.v0.GetStatusResponse + * GetTotalCreditsInPlatformRequest v0. + * @member {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.IGetTotalCreditsInPlatformRequestV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest * @instance */ - GetStatusResponse.prototype.v0 = null; + GetTotalCreditsInPlatformRequest.prototype.v0 = null; // OneOf field names bound to virtual getters and setters var $oneOfFields; /** - * GetStatusResponse version. + * GetTotalCreditsInPlatformRequest version. * @member {"v0"|undefined} version - * @memberof org.dash.platform.dapi.v0.GetStatusResponse + * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest * @instance */ - Object.defineProperty(GetStatusResponse.prototype, "version", { + Object.defineProperty(GetTotalCreditsInPlatformRequest.prototype, "version", { get: $util.oneOfGetter($oneOfFields = ["v0"]), set: $util.oneOfSetter($oneOfFields) }); /** - * Creates a new GetStatusResponse instance using the specified properties. + * Creates a new GetTotalCreditsInPlatformRequest instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetStatusResponse + * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest * @static - * @param {org.dash.platform.dapi.v0.IGetStatusResponse=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetStatusResponse} GetStatusResponse instance + * @param {org.dash.platform.dapi.v0.IGetTotalCreditsInPlatformRequest=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest} GetTotalCreditsInPlatformRequest instance */ - GetStatusResponse.create = function create(properties) { - return new GetStatusResponse(properties); + GetTotalCreditsInPlatformRequest.create = function create(properties) { + return new GetTotalCreditsInPlatformRequest(properties); }; /** - * Encodes the specified GetStatusResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetStatusResponse.verify|verify} messages. + * Encodes the specified GetTotalCreditsInPlatformRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetStatusResponse + * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest * @static - * @param {org.dash.platform.dapi.v0.IGetStatusResponse} message GetStatusResponse message or plain object to encode + * @param {org.dash.platform.dapi.v0.IGetTotalCreditsInPlatformRequest} message GetTotalCreditsInPlatformRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetStatusResponse.encode = function encode(message, writer) { + GetTotalCreditsInPlatformRequest.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.GetStatusResponse.GetStatusResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + $root.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified GetStatusResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetStatusResponse.verify|verify} messages. + * Encodes the specified GetTotalCreditsInPlatformRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetStatusResponse + * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest * @static - * @param {org.dash.platform.dapi.v0.IGetStatusResponse} message GetStatusResponse message or plain object to encode + * @param {org.dash.platform.dapi.v0.IGetTotalCreditsInPlatformRequest} message GetTotalCreditsInPlatformRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetStatusResponse.encodeDelimited = function encodeDelimited(message, writer) { + GetTotalCreditsInPlatformRequest.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetStatusResponse message from the specified reader or buffer. + * Decodes a GetTotalCreditsInPlatformRequest message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetStatusResponse + * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest * @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.GetStatusResponse} GetStatusResponse + * @returns {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest} GetTotalCreditsInPlatformRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetStatusResponse.decode = function decode(reader, length) { + GetTotalCreditsInPlatformRequest.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.GetStatusResponse(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.v0 = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.decode(reader, reader.uint32()); + message.v0 = $root.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -40546,37 +41584,37 @@ $root.org = (function() { }; /** - * Decodes a GetStatusResponse message from the specified reader or buffer, length delimited. + * Decodes a GetTotalCreditsInPlatformRequest message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetStatusResponse + * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetStatusResponse} GetStatusResponse + * @returns {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest} GetTotalCreditsInPlatformRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetStatusResponse.decodeDelimited = function decodeDelimited(reader) { + GetTotalCreditsInPlatformRequest.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GetStatusResponse message. + * Verifies a GetTotalCreditsInPlatformRequest message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetStatusResponse + * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetStatusResponse.verify = function verify(message) { + GetTotalCreditsInPlatformRequest.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.GetStatusResponse.GetStatusResponseV0.verify(message.v0); + var error = $root.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0.verify(message.v0); if (error) return "v0." + error; } @@ -40585,40 +41623,40 @@ $root.org = (function() { }; /** - * Creates a GetStatusResponse message from a plain object. Also converts values to their respective internal types. + * Creates a GetTotalCreditsInPlatformRequest message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetStatusResponse + * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetStatusResponse} GetStatusResponse + * @returns {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest} GetTotalCreditsInPlatformRequest */ - GetStatusResponse.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetStatusResponse) + GetTotalCreditsInPlatformRequest.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest) return object; - var message = new $root.org.dash.platform.dapi.v0.GetStatusResponse(); + var message = new $root.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest(); if (object.v0 != null) { if (typeof object.v0 !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetStatusResponse.v0: object expected"); - message.v0 = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.fromObject(object.v0); + throw TypeError(".org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.v0: object expected"); + message.v0 = $root.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0.fromObject(object.v0); } return message; }; /** - * Creates a plain object from a GetStatusResponse message. Also converts values to other types if specified. + * Creates a plain object from a GetTotalCreditsInPlatformRequest message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetStatusResponse + * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest * @static - * @param {org.dash.platform.dapi.v0.GetStatusResponse} message GetStatusResponse + * @param {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest} message GetTotalCreditsInPlatformRequest * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetStatusResponse.toObject = function toObject(message, options) { + GetTotalCreditsInPlatformRequest.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.GetStatusResponse.GetStatusResponseV0.toObject(message.v0, options); + object.v0 = $root.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0.toObject(message.v0, options); if (options.oneofs) object.version = "v0"; } @@ -40626,39 +41664,34 @@ $root.org = (function() { }; /** - * Converts this GetStatusResponse to JSON. + * Converts this GetTotalCreditsInPlatformRequest to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetStatusResponse + * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest * @instance * @returns {Object.} JSON object */ - GetStatusResponse.prototype.toJSON = function toJSON() { + GetTotalCreditsInPlatformRequest.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - GetStatusResponse.GetStatusResponseV0 = (function() { + GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0 = (function() { /** - * Properties of a GetStatusResponseV0. - * @memberof org.dash.platform.dapi.v0.GetStatusResponse - * @interface IGetStatusResponseV0 - * @property {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.IVersion|null} [version] GetStatusResponseV0 version - * @property {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.INode|null} [node] GetStatusResponseV0 node - * @property {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.IChain|null} [chain] GetStatusResponseV0 chain - * @property {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.INetwork|null} [network] GetStatusResponseV0 network - * @property {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.IStateSync|null} [stateSync] GetStatusResponseV0 stateSync - * @property {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.ITime|null} [time] GetStatusResponseV0 time + * Properties of a GetTotalCreditsInPlatformRequestV0. + * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest + * @interface IGetTotalCreditsInPlatformRequestV0 + * @property {boolean|null} [prove] GetTotalCreditsInPlatformRequestV0 prove */ /** - * Constructs a new GetStatusResponseV0. - * @memberof org.dash.platform.dapi.v0.GetStatusResponse - * @classdesc Represents a GetStatusResponseV0. - * @implements IGetStatusResponseV0 + * Constructs a new GetTotalCreditsInPlatformRequestV0. + * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest + * @classdesc Represents a GetTotalCreditsInPlatformRequestV0. + * @implements IGetTotalCreditsInPlatformRequestV0 * @constructor - * @param {org.dash.platform.dapi.v0.GetStatusResponse.IGetStatusResponseV0=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.IGetTotalCreditsInPlatformRequestV0=} [properties] Properties to set */ - function GetStatusResponseV0(properties) { + function GetTotalCreditsInPlatformRequestV0(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -40666,140 +41699,75 @@ $root.org = (function() { } /** - * GetStatusResponseV0 version. - * @member {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.IVersion|null|undefined} version - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0 - * @instance - */ - GetStatusResponseV0.prototype.version = null; - - /** - * GetStatusResponseV0 node. - * @member {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.INode|null|undefined} node - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0 - * @instance - */ - GetStatusResponseV0.prototype.node = null; - - /** - * GetStatusResponseV0 chain. - * @member {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.IChain|null|undefined} chain - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0 - * @instance - */ - GetStatusResponseV0.prototype.chain = null; - - /** - * GetStatusResponseV0 network. - * @member {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.INetwork|null|undefined} network - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0 - * @instance - */ - GetStatusResponseV0.prototype.network = null; - - /** - * GetStatusResponseV0 stateSync. - * @member {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.IStateSync|null|undefined} stateSync - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0 - * @instance - */ - GetStatusResponseV0.prototype.stateSync = null; - - /** - * GetStatusResponseV0 time. - * @member {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.ITime|null|undefined} time - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0 + * GetTotalCreditsInPlatformRequestV0 prove. + * @member {boolean} prove + * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0 * @instance */ - GetStatusResponseV0.prototype.time = null; + GetTotalCreditsInPlatformRequestV0.prototype.prove = false; /** - * Creates a new GetStatusResponseV0 instance using the specified properties. + * Creates a new GetTotalCreditsInPlatformRequestV0 instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0 + * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetStatusResponse.IGetStatusResponseV0=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0} GetStatusResponseV0 instance + * @param {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.IGetTotalCreditsInPlatformRequestV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0} GetTotalCreditsInPlatformRequestV0 instance */ - GetStatusResponseV0.create = function create(properties) { - return new GetStatusResponseV0(properties); + GetTotalCreditsInPlatformRequestV0.create = function create(properties) { + return new GetTotalCreditsInPlatformRequestV0(properties); }; /** - * Encodes the specified GetStatusResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.verify|verify} messages. + * Encodes the specified GetTotalCreditsInPlatformRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0 + * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetStatusResponse.IGetStatusResponseV0} message GetStatusResponseV0 message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.IGetTotalCreditsInPlatformRequestV0} message GetTotalCreditsInPlatformRequestV0 message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetStatusResponseV0.encode = function encode(message, writer) { + GetTotalCreditsInPlatformRequestV0.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.version != null && Object.hasOwnProperty.call(message, "version")) - $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.encode(message.version, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.node != null && Object.hasOwnProperty.call(message, "node")) - $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.encode(message.node, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.chain != null && Object.hasOwnProperty.call(message, "chain")) - $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.encode(message.chain, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.network != null && Object.hasOwnProperty.call(message, "network")) - $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network.encode(message.network, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - if (message.stateSync != null && Object.hasOwnProperty.call(message, "stateSync")) - $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.encode(message.stateSync, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); - if (message.time != null && Object.hasOwnProperty.call(message, "time")) - $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.encode(message.time, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); + if (message.prove != null && Object.hasOwnProperty.call(message, "prove")) + writer.uint32(/* id 1, wireType 0 =*/8).bool(message.prove); return writer; }; /** - * Encodes the specified GetStatusResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.verify|verify} messages. + * Encodes the specified GetTotalCreditsInPlatformRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0 + * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetStatusResponse.IGetStatusResponseV0} message GetStatusResponseV0 message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.IGetTotalCreditsInPlatformRequestV0} message GetTotalCreditsInPlatformRequestV0 message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetStatusResponseV0.encodeDelimited = function encodeDelimited(message, writer) { + GetTotalCreditsInPlatformRequestV0.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetStatusResponseV0 message from the specified reader or buffer. + * Decodes a GetTotalCreditsInPlatformRequestV0 message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0 + * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0 * @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.GetStatusResponse.GetStatusResponseV0} GetStatusResponseV0 + * @returns {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0} GetTotalCreditsInPlatformRequestV0 * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetStatusResponseV0.decode = function decode(reader, length) { + GetTotalCreditsInPlatformRequestV0.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.GetStatusResponse.GetStatusResponseV0(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.version = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.decode(reader, reader.uint32()); - break; - case 2: - message.node = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.decode(reader, reader.uint32()); - break; - case 3: - message.chain = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.decode(reader, reader.uint32()); - break; - case 4: - message.network = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network.decode(reader, reader.uint32()); - break; - case 5: - message.stateSync = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.decode(reader, reader.uint32()); - break; - case 6: - message.time = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.decode(reader, reader.uint32()); + message.prove = reader.bool(); break; default: reader.skipType(tag & 7); @@ -40810,1270 +41778,1559 @@ $root.org = (function() { }; /** - * Decodes a GetStatusResponseV0 message from the specified reader or buffer, length delimited. + * Decodes a GetTotalCreditsInPlatformRequestV0 message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0 + * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0 * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0} GetStatusResponseV0 + * @returns {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0} GetTotalCreditsInPlatformRequestV0 * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetStatusResponseV0.decodeDelimited = function decodeDelimited(reader) { + GetTotalCreditsInPlatformRequestV0.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GetStatusResponseV0 message. + * Verifies a GetTotalCreditsInPlatformRequestV0 message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0 + * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0 * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetStatusResponseV0.verify = function verify(message) { + GetTotalCreditsInPlatformRequestV0.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.version != null && message.hasOwnProperty("version")) { - var error = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.verify(message.version); - if (error) - return "version." + error; - } - if (message.node != null && message.hasOwnProperty("node")) { - var error = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.verify(message.node); - if (error) - return "node." + error; - } - if (message.chain != null && message.hasOwnProperty("chain")) { - var error = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.verify(message.chain); - if (error) - return "chain." + error; - } - if (message.network != null && message.hasOwnProperty("network")) { - var error = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network.verify(message.network); - if (error) - return "network." + error; - } - if (message.stateSync != null && message.hasOwnProperty("stateSync")) { - var error = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.verify(message.stateSync); - if (error) - return "stateSync." + error; - } - if (message.time != null && message.hasOwnProperty("time")) { - var error = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.verify(message.time); - if (error) - return "time." + error; - } + if (message.prove != null && message.hasOwnProperty("prove")) + if (typeof message.prove !== "boolean") + return "prove: boolean expected"; return null; }; /** - * Creates a GetStatusResponseV0 message from a plain object. Also converts values to their respective internal types. + * Creates a GetTotalCreditsInPlatformRequestV0 message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0 + * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0 * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0} GetStatusResponseV0 + * @returns {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0} GetTotalCreditsInPlatformRequestV0 */ - GetStatusResponseV0.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0) - return object; - var message = new $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0(); - if (object.version != null) { - if (typeof object.version !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.version: object expected"); - message.version = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.fromObject(object.version); - } - if (object.node != null) { - if (typeof object.node !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.node: object expected"); - message.node = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.fromObject(object.node); - } - if (object.chain != null) { - if (typeof object.chain !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.chain: object expected"); - message.chain = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.fromObject(object.chain); - } - if (object.network != null) { - if (typeof object.network !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.network: object expected"); - message.network = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network.fromObject(object.network); - } - if (object.stateSync != null) { - if (typeof object.stateSync !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.stateSync: object expected"); - message.stateSync = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.fromObject(object.stateSync); - } - if (object.time != null) { - if (typeof object.time !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.time: object expected"); - message.time = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.fromObject(object.time); - } + GetTotalCreditsInPlatformRequestV0.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0(); + if (object.prove != null) + message.prove = Boolean(object.prove); return message; }; /** - * Creates a plain object from a GetStatusResponseV0 message. Also converts values to other types if specified. + * Creates a plain object from a GetTotalCreditsInPlatformRequestV0 message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0 + * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0} message GetStatusResponseV0 + * @param {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0} message GetTotalCreditsInPlatformRequestV0 * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetStatusResponseV0.toObject = function toObject(message, options) { + GetTotalCreditsInPlatformRequestV0.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.defaults) { - object.version = null; - object.node = null; - object.chain = null; - object.network = null; - object.stateSync = null; - object.time = null; - } - if (message.version != null && message.hasOwnProperty("version")) - object.version = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.toObject(message.version, options); - if (message.node != null && message.hasOwnProperty("node")) - object.node = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.toObject(message.node, options); - if (message.chain != null && message.hasOwnProperty("chain")) - object.chain = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.toObject(message.chain, options); - if (message.network != null && message.hasOwnProperty("network")) - object.network = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network.toObject(message.network, options); - if (message.stateSync != null && message.hasOwnProperty("stateSync")) - object.stateSync = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.toObject(message.stateSync, options); - if (message.time != null && message.hasOwnProperty("time")) - object.time = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.toObject(message.time, options); + if (options.defaults) + object.prove = false; + if (message.prove != null && message.hasOwnProperty("prove")) + object.prove = message.prove; return object; }; /** - * Converts this GetStatusResponseV0 to JSON. + * Converts this GetTotalCreditsInPlatformRequestV0 to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0 + * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0 * @instance * @returns {Object.} JSON object */ - GetStatusResponseV0.prototype.toJSON = function toJSON() { + GetTotalCreditsInPlatformRequestV0.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - GetStatusResponseV0.Version = (function() { + return GetTotalCreditsInPlatformRequestV0; + })(); - /** - * Properties of a Version. - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0 - * @interface IVersion - * @property {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.ISoftware|null} [software] Version software - * @property {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.IProtocol|null} [protocol] Version protocol - */ + return GetTotalCreditsInPlatformRequest; + })(); - /** - * Constructs a new Version. - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0 - * @classdesc Represents a Version. - * @implements IVersion - * @constructor - * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.IVersion=} [properties] Properties to set - */ - function Version(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]]; - } + v0.GetTotalCreditsInPlatformResponse = (function() { - /** - * Version software. - * @member {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.ISoftware|null|undefined} software - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version - * @instance - */ - Version.prototype.software = null; + /** + * Properties of a GetTotalCreditsInPlatformResponse. + * @memberof org.dash.platform.dapi.v0 + * @interface IGetTotalCreditsInPlatformResponse + * @property {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.IGetTotalCreditsInPlatformResponseV0|null} [v0] GetTotalCreditsInPlatformResponse v0 + */ - /** - * Version protocol. - * @member {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.IProtocol|null|undefined} protocol - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version - * @instance - */ - Version.prototype.protocol = null; + /** + * Constructs a new GetTotalCreditsInPlatformResponse. + * @memberof org.dash.platform.dapi.v0 + * @classdesc Represents a GetTotalCreditsInPlatformResponse. + * @implements IGetTotalCreditsInPlatformResponse + * @constructor + * @param {org.dash.platform.dapi.v0.IGetTotalCreditsInPlatformResponse=} [properties] Properties to set + */ + function GetTotalCreditsInPlatformResponse(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 new Version instance using the specified properties. - * @function create - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version - * @static - * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.IVersion=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version} Version instance - */ - Version.create = function create(properties) { - return new Version(properties); - }; + /** + * GetTotalCreditsInPlatformResponse v0. + * @member {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.IGetTotalCreditsInPlatformResponseV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse + * @instance + */ + GetTotalCreditsInPlatformResponse.prototype.v0 = null; - /** - * Encodes the specified Version message. Does not implicitly {@link org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.verify|verify} messages. - * @function encode - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version - * @static - * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.IVersion} message Version message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Version.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.software != null && Object.hasOwnProperty.call(message, "software")) - $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.encode(message.software, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.protocol != null && Object.hasOwnProperty.call(message, "protocol")) - $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.encode(message.protocol, 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 Version message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.verify|verify} messages. - * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version - * @static - * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.IVersion} message Version message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Version.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; + /** + * GetTotalCreditsInPlatformResponse version. + * @member {"v0"|undefined} version + * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse + * @instance + */ + Object.defineProperty(GetTotalCreditsInPlatformResponse.prototype, "version", { + get: $util.oneOfGetter($oneOfFields = ["v0"]), + set: $util.oneOfSetter($oneOfFields) + }); - /** - * Decodes a Version message from the specified reader or buffer. - * @function decode - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version - * @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.GetStatusResponse.GetStatusResponseV0.Version} Version - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Version.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.GetStatusResponse.GetStatusResponseV0.Version(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.software = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.decode(reader, reader.uint32()); - break; - case 2: - message.protocol = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; + /** + * Creates a new GetTotalCreditsInPlatformResponse instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse + * @static + * @param {org.dash.platform.dapi.v0.IGetTotalCreditsInPlatformResponse=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse} GetTotalCreditsInPlatformResponse instance + */ + GetTotalCreditsInPlatformResponse.create = function create(properties) { + return new GetTotalCreditsInPlatformResponse(properties); + }; - /** - * Decodes a Version message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version} Version - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Version.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; + /** + * Encodes the specified GetTotalCreditsInPlatformResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse + * @static + * @param {org.dash.platform.dapi.v0.IGetTotalCreditsInPlatformResponse} message GetTotalCreditsInPlatformResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetTotalCreditsInPlatformResponse.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.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; - /** - * Verifies a Version message. - * @function verify - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Version.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.software != null && message.hasOwnProperty("software")) { - var error = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.verify(message.software); - if (error) - return "software." + error; - } - if (message.protocol != null && message.hasOwnProperty("protocol")) { - var error = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.verify(message.protocol); - if (error) - return "protocol." + error; - } - return null; - }; + /** + * Encodes the specified GetTotalCreditsInPlatformResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse + * @static + * @param {org.dash.platform.dapi.v0.IGetTotalCreditsInPlatformResponse} message GetTotalCreditsInPlatformResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetTotalCreditsInPlatformResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; - /** - * Creates a Version message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version - * @static - * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version} Version - */ - Version.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version) - return object; - var message = new $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version(); - if (object.software != null) { - if (typeof object.software !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.software: object expected"); - message.software = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.fromObject(object.software); - } - if (object.protocol != null) { - if (typeof object.protocol !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.protocol: object expected"); - message.protocol = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.fromObject(object.protocol); - } - return message; - }; + /** + * Decodes a GetTotalCreditsInPlatformResponse message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse + * @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.GetTotalCreditsInPlatformResponse} GetTotalCreditsInPlatformResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetTotalCreditsInPlatformResponse.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.GetTotalCreditsInPlatformResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.v0 = $root.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; - /** - * Creates a plain object from a Version message. Also converts values to other types if specified. - * @function toObject - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version - * @static - * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version} message Version - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Version.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - object.software = null; - object.protocol = null; - } - if (message.software != null && message.hasOwnProperty("software")) - object.software = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.toObject(message.software, options); - if (message.protocol != null && message.hasOwnProperty("protocol")) - object.protocol = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.toObject(message.protocol, options); - return object; - }; + /** + * Decodes a GetTotalCreditsInPlatformResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse} GetTotalCreditsInPlatformResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetTotalCreditsInPlatformResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; - /** - * Converts this Version to JSON. - * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version - * @instance - * @returns {Object.} JSON object - */ - Version.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; + /** + * Verifies a GetTotalCreditsInPlatformResponse message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetTotalCreditsInPlatformResponse.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.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.verify(message.v0); + if (error) + return "v0." + error; + } + } + return null; + }; - Version.Software = (function() { + /** + * Creates a GetTotalCreditsInPlatformResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse} GetTotalCreditsInPlatformResponse + */ + GetTotalCreditsInPlatformResponse.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse(); + if (object.v0 != null) { + if (typeof object.v0 !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.v0: object expected"); + message.v0 = $root.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.fromObject(object.v0); + } + return message; + }; - /** - * Properties of a Software. - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version - * @interface ISoftware - * @property {string|null} [dapi] Software dapi - * @property {string|null} [drive] Software drive - * @property {string|null} [tenderdash] Software tenderdash - */ + /** + * Creates a plain object from a GetTotalCreditsInPlatformResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse + * @static + * @param {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse} message GetTotalCreditsInPlatformResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetTotalCreditsInPlatformResponse.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.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.toObject(message.v0, options); + if (options.oneofs) + object.version = "v0"; + } + return object; + }; - /** - * Constructs a new Software. - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version - * @classdesc Represents a Software. - * @implements ISoftware - * @constructor - * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.ISoftware=} [properties] Properties to set - */ - function Software(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 GetTotalCreditsInPlatformResponse to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse + * @instance + * @returns {Object.} JSON object + */ + GetTotalCreditsInPlatformResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; - /** - * Software dapi. - * @member {string} dapi - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software - * @instance - */ - Software.prototype.dapi = ""; + GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0 = (function() { - /** - * Software drive. - * @member {string} drive - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software - * @instance - */ - Software.prototype.drive = ""; + /** + * Properties of a GetTotalCreditsInPlatformResponseV0. + * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse + * @interface IGetTotalCreditsInPlatformResponseV0 + * @property {number|Long|null} [credits] GetTotalCreditsInPlatformResponseV0 credits + * @property {org.dash.platform.dapi.v0.IProof|null} [proof] GetTotalCreditsInPlatformResponseV0 proof + * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetTotalCreditsInPlatformResponseV0 metadata + */ - /** - * Software tenderdash. - * @member {string} tenderdash - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software - * @instance - */ - Software.prototype.tenderdash = ""; + /** + * Constructs a new GetTotalCreditsInPlatformResponseV0. + * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse + * @classdesc Represents a GetTotalCreditsInPlatformResponseV0. + * @implements IGetTotalCreditsInPlatformResponseV0 + * @constructor + * @param {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.IGetTotalCreditsInPlatformResponseV0=} [properties] Properties to set + */ + function GetTotalCreditsInPlatformResponseV0(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 new Software instance using the specified properties. - * @function create - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software - * @static - * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.ISoftware=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software} Software instance - */ - Software.create = function create(properties) { - return new Software(properties); - }; + /** + * GetTotalCreditsInPlatformResponseV0 credits. + * @member {number|Long} credits + * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0 + * @instance + */ + GetTotalCreditsInPlatformResponseV0.prototype.credits = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - /** - * Encodes the specified Software message. Does not implicitly {@link org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.verify|verify} messages. - * @function encode - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software - * @static - * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.ISoftware} message Software message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Software.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.dapi != null && Object.hasOwnProperty.call(message, "dapi")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.dapi); - if (message.drive != null && Object.hasOwnProperty.call(message, "drive")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.drive); - if (message.tenderdash != null && Object.hasOwnProperty.call(message, "tenderdash")) - writer.uint32(/* id 3, wireType 2 =*/26).string(message.tenderdash); - return writer; - }; + /** + * GetTotalCreditsInPlatformResponseV0 proof. + * @member {org.dash.platform.dapi.v0.IProof|null|undefined} proof + * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0 + * @instance + */ + GetTotalCreditsInPlatformResponseV0.prototype.proof = null; - /** - * Encodes the specified Software message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.verify|verify} messages. - * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software - * @static - * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.ISoftware} message Software message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Software.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; + /** + * GetTotalCreditsInPlatformResponseV0 metadata. + * @member {org.dash.platform.dapi.v0.IResponseMetadata|null|undefined} metadata + * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0 + * @instance + */ + GetTotalCreditsInPlatformResponseV0.prototype.metadata = null; - /** - * Decodes a Software message from the specified reader or buffer. - * @function decode - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software - * @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.GetStatusResponse.GetStatusResponseV0.Version.Software} Software - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Software.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.GetStatusResponse.GetStatusResponseV0.Version.Software(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.dapi = reader.string(); - break; - case 2: - message.drive = reader.string(); - break; - case 3: - message.tenderdash = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; + // OneOf field names bound to virtual getters and setters + var $oneOfFields; - /** - * Decodes a Software message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software} Software - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Software.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; + /** + * GetTotalCreditsInPlatformResponseV0 result. + * @member {"credits"|"proof"|undefined} result + * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0 + * @instance + */ + Object.defineProperty(GetTotalCreditsInPlatformResponseV0.prototype, "result", { + get: $util.oneOfGetter($oneOfFields = ["credits", "proof"]), + set: $util.oneOfSetter($oneOfFields) + }); - /** - * Verifies a Software message. - * @function verify - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Software.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.dapi != null && message.hasOwnProperty("dapi")) - if (!$util.isString(message.dapi)) - return "dapi: string expected"; - if (message.drive != null && message.hasOwnProperty("drive")) - if (!$util.isString(message.drive)) - return "drive: string expected"; - if (message.tenderdash != null && message.hasOwnProperty("tenderdash")) - if (!$util.isString(message.tenderdash)) - return "tenderdash: string expected"; - return null; - }; + /** + * Creates a new GetTotalCreditsInPlatformResponseV0 instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0 + * @static + * @param {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.IGetTotalCreditsInPlatformResponseV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0} GetTotalCreditsInPlatformResponseV0 instance + */ + GetTotalCreditsInPlatformResponseV0.create = function create(properties) { + return new GetTotalCreditsInPlatformResponseV0(properties); + }; - /** - * Creates a Software message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software - * @static - * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software} Software - */ - Software.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software) - return object; - var message = new $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software(); - if (object.dapi != null) - message.dapi = String(object.dapi); - if (object.drive != null) - message.drive = String(object.drive); - if (object.tenderdash != null) - message.tenderdash = String(object.tenderdash); - return message; - }; + /** + * Encodes the specified GetTotalCreditsInPlatformResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0 + * @static + * @param {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.IGetTotalCreditsInPlatformResponseV0} message GetTotalCreditsInPlatformResponseV0 message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetTotalCreditsInPlatformResponseV0.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.credits != null && Object.hasOwnProperty.call(message, "credits")) + writer.uint32(/* id 1, wireType 0 =*/8).uint64(message.credits); + 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 plain object from a Software message. Also converts values to other types if specified. - * @function toObject - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software - * @static - * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software} message Software - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Software.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - object.dapi = ""; - object.drive = ""; - object.tenderdash = ""; - } - if (message.dapi != null && message.hasOwnProperty("dapi")) - object.dapi = message.dapi; - if (message.drive != null && message.hasOwnProperty("drive")) - object.drive = message.drive; - if (message.tenderdash != null && message.hasOwnProperty("tenderdash")) - object.tenderdash = message.tenderdash; - return object; - }; + /** + * Encodes the specified GetTotalCreditsInPlatformResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0 + * @static + * @param {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.IGetTotalCreditsInPlatformResponseV0} message GetTotalCreditsInPlatformResponseV0 message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetTotalCreditsInPlatformResponseV0.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; - /** - * Converts this Software to JSON. - * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software - * @instance - * @returns {Object.} JSON object - */ - Software.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; + /** + * Decodes a GetTotalCreditsInPlatformResponseV0 message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0 + * @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.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0} GetTotalCreditsInPlatformResponseV0 + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetTotalCreditsInPlatformResponseV0.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.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.credits = 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; + }; - return Software; - })(); + /** + * Decodes a GetTotalCreditsInPlatformResponseV0 message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0 + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0} GetTotalCreditsInPlatformResponseV0 + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetTotalCreditsInPlatformResponseV0.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; - Version.Protocol = (function() { + /** + * Verifies a GetTotalCreditsInPlatformResponseV0 message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0 + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetTotalCreditsInPlatformResponseV0.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + var properties = {}; + if (message.credits != null && message.hasOwnProperty("credits")) { + properties.result = 1; + if (!$util.isInteger(message.credits) && !(message.credits && $util.isInteger(message.credits.low) && $util.isInteger(message.credits.high))) + return "credits: 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; + }; - /** - * Properties of a Protocol. - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version - * @interface IProtocol - * @property {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.ITenderdash|null} [tenderdash] Protocol tenderdash - * @property {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.IDrive|null} [drive] Protocol drive - */ + /** + * Creates a GetTotalCreditsInPlatformResponseV0 message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0 + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0} GetTotalCreditsInPlatformResponseV0 + */ + GetTotalCreditsInPlatformResponseV0.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0(); + if (object.credits != null) + if ($util.Long) + (message.credits = $util.Long.fromValue(object.credits)).unsigned = true; + else if (typeof object.credits === "string") + message.credits = parseInt(object.credits, 10); + else if (typeof object.credits === "number") + message.credits = object.credits; + else if (typeof object.credits === "object") + message.credits = new $util.LongBits(object.credits.low >>> 0, object.credits.high >>> 0).toNumber(true); + if (object.proof != null) { + if (typeof object.proof !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.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.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.metadata: object expected"); + message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.fromObject(object.metadata); + } + return message; + }; - /** - * Constructs a new Protocol. - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version - * @classdesc Represents a Protocol. - * @implements IProtocol - * @constructor - * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.IProtocol=} [properties] Properties to set - */ - function Protocol(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 GetTotalCreditsInPlatformResponseV0 message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0 + * @static + * @param {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0} message GetTotalCreditsInPlatformResponseV0 + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetTotalCreditsInPlatformResponseV0.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.metadata = null; + if (message.credits != null && message.hasOwnProperty("credits")) { + if (typeof message.credits === "number") + object.credits = options.longs === String ? String(message.credits) : message.credits; + else + object.credits = options.longs === String ? $util.Long.prototype.toString.call(message.credits) : options.longs === Number ? new $util.LongBits(message.credits.low >>> 0, message.credits.high >>> 0).toNumber(true) : message.credits; + if (options.oneofs) + object.result = "credits"; + } + 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; + }; - /** - * Protocol tenderdash. - * @member {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.ITenderdash|null|undefined} tenderdash - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol - * @instance - */ - Protocol.prototype.tenderdash = null; + /** + * Converts this GetTotalCreditsInPlatformResponseV0 to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0 + * @instance + * @returns {Object.} JSON object + */ + GetTotalCreditsInPlatformResponseV0.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; - /** - * Protocol drive. - * @member {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.IDrive|null|undefined} drive - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol - * @instance - */ - Protocol.prototype.drive = null; + return GetTotalCreditsInPlatformResponseV0; + })(); - /** - * Creates a new Protocol instance using the specified properties. - * @function create - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol - * @static - * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.IProtocol=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol} Protocol instance - */ - Protocol.create = function create(properties) { - return new Protocol(properties); - }; + return GetTotalCreditsInPlatformResponse; + })(); - /** - * Encodes the specified Protocol message. Does not implicitly {@link org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.verify|verify} messages. - * @function encode - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol - * @static - * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.IProtocol} message Protocol message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Protocol.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.tenderdash != null && Object.hasOwnProperty.call(message, "tenderdash")) - $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash.encode(message.tenderdash, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.drive != null && Object.hasOwnProperty.call(message, "drive")) - $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive.encode(message.drive, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - return writer; - }; + v0.GetPathElementsRequest = (function() { - /** - * Encodes the specified Protocol message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.verify|verify} messages. - * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol - * @static - * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.IProtocol} message Protocol message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Protocol.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; + /** + * Properties of a GetPathElementsRequest. + * @memberof org.dash.platform.dapi.v0 + * @interface IGetPathElementsRequest + * @property {org.dash.platform.dapi.v0.GetPathElementsRequest.IGetPathElementsRequestV0|null} [v0] GetPathElementsRequest v0 + */ - /** - * Decodes a Protocol message from the specified reader or buffer. - * @function decode - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol - * @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.GetStatusResponse.GetStatusResponseV0.Version.Protocol} Protocol - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Protocol.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.GetStatusResponse.GetStatusResponseV0.Version.Protocol(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.tenderdash = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash.decode(reader, reader.uint32()); - break; - case 2: - message.drive = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; + /** + * Constructs a new GetPathElementsRequest. + * @memberof org.dash.platform.dapi.v0 + * @classdesc Represents a GetPathElementsRequest. + * @implements IGetPathElementsRequest + * @constructor + * @param {org.dash.platform.dapi.v0.IGetPathElementsRequest=} [properties] Properties to set + */ + function GetPathElementsRequest(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 a Protocol message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol} Protocol - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Protocol.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; + /** + * GetPathElementsRequest v0. + * @member {org.dash.platform.dapi.v0.GetPathElementsRequest.IGetPathElementsRequestV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest + * @instance + */ + GetPathElementsRequest.prototype.v0 = null; - /** - * Verifies a Protocol message. - * @function verify - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Protocol.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.tenderdash != null && message.hasOwnProperty("tenderdash")) { - var error = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash.verify(message.tenderdash); - if (error) - return "tenderdash." + error; - } - if (message.drive != null && message.hasOwnProperty("drive")) { - var error = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive.verify(message.drive); - if (error) - return "drive." + error; - } - return null; - }; + // OneOf field names bound to virtual getters and setters + var $oneOfFields; - /** - * Creates a Protocol message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol - * @static - * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol} Protocol - */ - Protocol.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol) - return object; - var message = new $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol(); - if (object.tenderdash != null) { - if (typeof object.tenderdash !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.tenderdash: object expected"); - message.tenderdash = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash.fromObject(object.tenderdash); - } - if (object.drive != null) { - if (typeof object.drive !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.drive: object expected"); - message.drive = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive.fromObject(object.drive); - } - return message; - }; + /** + * GetPathElementsRequest version. + * @member {"v0"|undefined} version + * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest + * @instance + */ + Object.defineProperty(GetPathElementsRequest.prototype, "version", { + get: $util.oneOfGetter($oneOfFields = ["v0"]), + set: $util.oneOfSetter($oneOfFields) + }); - /** - * Creates a plain object from a Protocol message. Also converts values to other types if specified. - * @function toObject - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol - * @static - * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol} message Protocol - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Protocol.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - object.tenderdash = null; - object.drive = null; - } - if (message.tenderdash != null && message.hasOwnProperty("tenderdash")) - object.tenderdash = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash.toObject(message.tenderdash, options); - if (message.drive != null && message.hasOwnProperty("drive")) - object.drive = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive.toObject(message.drive, options); - return object; - }; + /** + * Creates a new GetPathElementsRequest instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest + * @static + * @param {org.dash.platform.dapi.v0.IGetPathElementsRequest=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetPathElementsRequest} GetPathElementsRequest instance + */ + GetPathElementsRequest.create = function create(properties) { + return new GetPathElementsRequest(properties); + }; - /** - * Converts this Protocol to JSON. - * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol - * @instance - * @returns {Object.} JSON object - */ - Protocol.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; + /** + * Encodes the specified GetPathElementsRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetPathElementsRequest.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest + * @static + * @param {org.dash.platform.dapi.v0.IGetPathElementsRequest} message GetPathElementsRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetPathElementsRequest.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.GetPathElementsRequest.GetPathElementsRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; - Protocol.Tenderdash = (function() { + /** + * Encodes the specified GetPathElementsRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetPathElementsRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest + * @static + * @param {org.dash.platform.dapi.v0.IGetPathElementsRequest} message GetPathElementsRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetPathElementsRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; - /** - * Properties of a Tenderdash. - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol - * @interface ITenderdash - * @property {number|null} [p2p] Tenderdash p2p - * @property {number|null} [block] Tenderdash block - */ + /** + * Decodes a GetPathElementsRequest message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest + * @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.GetPathElementsRequest} GetPathElementsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetPathElementsRequest.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.GetPathElementsRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.v0 = $root.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; - /** - * Constructs a new Tenderdash. - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol - * @classdesc Represents a Tenderdash. - * @implements ITenderdash - * @constructor - * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.ITenderdash=} [properties] Properties to set - */ - function Tenderdash(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 a GetPathElementsRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetPathElementsRequest} GetPathElementsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetPathElementsRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; - /** - * Tenderdash p2p. - * @member {number} p2p - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash - * @instance - */ - Tenderdash.prototype.p2p = 0; + /** + * Verifies a GetPathElementsRequest message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetPathElementsRequest.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.GetPathElementsRequest.GetPathElementsRequestV0.verify(message.v0); + if (error) + return "v0." + error; + } + } + return null; + }; - /** - * Tenderdash block. - * @member {number} block - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash - * @instance - */ - Tenderdash.prototype.block = 0; + /** + * Creates a GetPathElementsRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetPathElementsRequest} GetPathElementsRequest + */ + GetPathElementsRequest.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetPathElementsRequest) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetPathElementsRequest(); + if (object.v0 != null) { + if (typeof object.v0 !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetPathElementsRequest.v0: object expected"); + message.v0 = $root.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.fromObject(object.v0); + } + return message; + }; - /** - * Creates a new Tenderdash instance using the specified properties. - * @function create - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash - * @static - * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.ITenderdash=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash} Tenderdash instance - */ - Tenderdash.create = function create(properties) { - return new Tenderdash(properties); - }; + /** + * Creates a plain object from a GetPathElementsRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest + * @static + * @param {org.dash.platform.dapi.v0.GetPathElementsRequest} message GetPathElementsRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetPathElementsRequest.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.GetPathElementsRequest.GetPathElementsRequestV0.toObject(message.v0, options); + if (options.oneofs) + object.version = "v0"; + } + return object; + }; - /** - * Encodes the specified Tenderdash message. Does not implicitly {@link org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash.verify|verify} messages. - * @function encode - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash - * @static - * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.ITenderdash} message Tenderdash message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Tenderdash.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.p2p != null && Object.hasOwnProperty.call(message, "p2p")) - writer.uint32(/* id 1, wireType 0 =*/8).uint32(message.p2p); - if (message.block != null && Object.hasOwnProperty.call(message, "block")) - writer.uint32(/* id 2, wireType 0 =*/16).uint32(message.block); - return writer; - }; + /** + * Converts this GetPathElementsRequest to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest + * @instance + * @returns {Object.} JSON object + */ + GetPathElementsRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; - /** - * Encodes the specified Tenderdash message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash.verify|verify} messages. - * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash - * @static - * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.ITenderdash} message Tenderdash message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Tenderdash.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; + GetPathElementsRequest.GetPathElementsRequestV0 = (function() { - /** - * Decodes a Tenderdash message from the specified reader or buffer. - * @function decode - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash - * @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.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash} Tenderdash - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Tenderdash.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.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.p2p = reader.uint32(); - break; - case 2: - message.block = reader.uint32(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; + /** + * Properties of a GetPathElementsRequestV0. + * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest + * @interface IGetPathElementsRequestV0 + * @property {Array.|null} [path] GetPathElementsRequestV0 path + * @property {Array.|null} [keys] GetPathElementsRequestV0 keys + * @property {boolean|null} [prove] GetPathElementsRequestV0 prove + */ - /** - * Decodes a Tenderdash message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash} Tenderdash - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Tenderdash.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; + /** + * Constructs a new GetPathElementsRequestV0. + * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest + * @classdesc Represents a GetPathElementsRequestV0. + * @implements IGetPathElementsRequestV0 + * @constructor + * @param {org.dash.platform.dapi.v0.GetPathElementsRequest.IGetPathElementsRequestV0=} [properties] Properties to set + */ + function GetPathElementsRequestV0(properties) { + this.path = []; + this.keys = []; + 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]]; + } - /** - * Verifies a Tenderdash message. - * @function verify - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Tenderdash.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.p2p != null && message.hasOwnProperty("p2p")) - if (!$util.isInteger(message.p2p)) - return "p2p: integer expected"; - if (message.block != null && message.hasOwnProperty("block")) - if (!$util.isInteger(message.block)) - return "block: integer expected"; - return null; - }; + /** + * GetPathElementsRequestV0 path. + * @member {Array.} path + * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0 + * @instance + */ + GetPathElementsRequestV0.prototype.path = $util.emptyArray; - /** - * Creates a Tenderdash message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash - * @static - * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash} Tenderdash - */ - Tenderdash.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash) - return object; - var message = new $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash(); - if (object.p2p != null) - message.p2p = object.p2p >>> 0; - if (object.block != null) - message.block = object.block >>> 0; - return message; - }; + /** + * GetPathElementsRequestV0 keys. + * @member {Array.} keys + * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0 + * @instance + */ + GetPathElementsRequestV0.prototype.keys = $util.emptyArray; - /** - * Creates a plain object from a Tenderdash message. Also converts values to other types if specified. - * @function toObject - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash - * @static - * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash} message Tenderdash - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Tenderdash.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - object.p2p = 0; - object.block = 0; - } - if (message.p2p != null && message.hasOwnProperty("p2p")) - object.p2p = message.p2p; - if (message.block != null && message.hasOwnProperty("block")) - object.block = message.block; - return object; - }; + /** + * GetPathElementsRequestV0 prove. + * @member {boolean} prove + * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0 + * @instance + */ + GetPathElementsRequestV0.prototype.prove = false; - /** - * Converts this Tenderdash to JSON. - * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash - * @instance - * @returns {Object.} JSON object - */ - Tenderdash.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; + /** + * Creates a new GetPathElementsRequestV0 instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0 + * @static + * @param {org.dash.platform.dapi.v0.GetPathElementsRequest.IGetPathElementsRequestV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0} GetPathElementsRequestV0 instance + */ + GetPathElementsRequestV0.create = function create(properties) { + return new GetPathElementsRequestV0(properties); + }; - return Tenderdash; - })(); + /** + * Encodes the specified GetPathElementsRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0 + * @static + * @param {org.dash.platform.dapi.v0.GetPathElementsRequest.IGetPathElementsRequestV0} message GetPathElementsRequestV0 message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetPathElementsRequestV0.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.path != null && message.path.length) + for (var i = 0; i < message.path.length; ++i) + writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.path[i]); + if (message.keys != null && message.keys.length) + for (var i = 0; i < message.keys.length; ++i) + writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.keys[i]); + if (message.prove != null && Object.hasOwnProperty.call(message, "prove")) + writer.uint32(/* id 3, wireType 0 =*/24).bool(message.prove); + return writer; + }; - Protocol.Drive = (function() { + /** + * Encodes the specified GetPathElementsRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0 + * @static + * @param {org.dash.platform.dapi.v0.GetPathElementsRequest.IGetPathElementsRequestV0} message GetPathElementsRequestV0 message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetPathElementsRequestV0.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; - /** - * Properties of a Drive. - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol - * @interface IDrive - * @property {number|null} [latest] Drive latest - * @property {number|null} [current] Drive current - */ + /** + * Decodes a GetPathElementsRequestV0 message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0 + * @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.GetPathElementsRequest.GetPathElementsRequestV0} GetPathElementsRequestV0 + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetPathElementsRequestV0.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.GetPathElementsRequest.GetPathElementsRequestV0(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.path && message.path.length)) + message.path = []; + message.path.push(reader.bytes()); + break; + case 2: + if (!(message.keys && message.keys.length)) + message.keys = []; + message.keys.push(reader.bytes()); + break; + case 3: + message.prove = reader.bool(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; - /** - * Constructs a new Drive. - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol - * @classdesc Represents a Drive. - * @implements IDrive - * @constructor - * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.IDrive=} [properties] Properties to set - */ - function Drive(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 a GetPathElementsRequestV0 message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0 + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0} GetPathElementsRequestV0 + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetPathElementsRequestV0.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; - /** - * Drive latest. - * @member {number} latest - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive - * @instance - */ - Drive.prototype.latest = 0; + /** + * Verifies a GetPathElementsRequestV0 message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0 + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetPathElementsRequestV0.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.path != null && message.hasOwnProperty("path")) { + if (!Array.isArray(message.path)) + return "path: array expected"; + for (var i = 0; i < message.path.length; ++i) + if (!(message.path[i] && typeof message.path[i].length === "number" || $util.isString(message.path[i]))) + return "path: buffer[] expected"; + } + if (message.keys != null && message.hasOwnProperty("keys")) { + if (!Array.isArray(message.keys)) + return "keys: array expected"; + for (var i = 0; i < message.keys.length; ++i) + if (!(message.keys[i] && typeof message.keys[i].length === "number" || $util.isString(message.keys[i]))) + return "keys: buffer[] expected"; + } + if (message.prove != null && message.hasOwnProperty("prove")) + if (typeof message.prove !== "boolean") + return "prove: boolean expected"; + return null; + }; - /** - * Drive current. - * @member {number} current - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive - * @instance - */ - Drive.prototype.current = 0; + /** + * Creates a GetPathElementsRequestV0 message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0 + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0} GetPathElementsRequestV0 + */ + GetPathElementsRequestV0.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0(); + if (object.path) { + if (!Array.isArray(object.path)) + throw TypeError(".org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.path: array expected"); + message.path = []; + for (var i = 0; i < object.path.length; ++i) + if (typeof object.path[i] === "string") + $util.base64.decode(object.path[i], message.path[i] = $util.newBuffer($util.base64.length(object.path[i])), 0); + else if (object.path[i].length >= 0) + message.path[i] = object.path[i]; + } + if (object.keys) { + if (!Array.isArray(object.keys)) + throw TypeError(".org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.keys: array expected"); + message.keys = []; + for (var i = 0; i < object.keys.length; ++i) + if (typeof object.keys[i] === "string") + $util.base64.decode(object.keys[i], message.keys[i] = $util.newBuffer($util.base64.length(object.keys[i])), 0); + else if (object.keys[i].length >= 0) + message.keys[i] = object.keys[i]; + } + if (object.prove != null) + message.prove = Boolean(object.prove); + return message; + }; - /** - * Creates a new Drive instance using the specified properties. - * @function create - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive - * @static - * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.IDrive=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive} Drive instance - */ - Drive.create = function create(properties) { - return new Drive(properties); - }; + /** + * Creates a plain object from a GetPathElementsRequestV0 message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0 + * @static + * @param {org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0} message GetPathElementsRequestV0 + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetPathElementsRequestV0.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.path = []; + object.keys = []; + } + if (options.defaults) + object.prove = false; + if (message.path && message.path.length) { + object.path = []; + for (var j = 0; j < message.path.length; ++j) + object.path[j] = options.bytes === String ? $util.base64.encode(message.path[j], 0, message.path[j].length) : options.bytes === Array ? Array.prototype.slice.call(message.path[j]) : message.path[j]; + } + if (message.keys && message.keys.length) { + object.keys = []; + for (var j = 0; j < message.keys.length; ++j) + object.keys[j] = options.bytes === String ? $util.base64.encode(message.keys[j], 0, message.keys[j].length) : options.bytes === Array ? Array.prototype.slice.call(message.keys[j]) : message.keys[j]; + } + if (message.prove != null && message.hasOwnProperty("prove")) + object.prove = message.prove; + return object; + }; - /** - * Encodes the specified Drive message. Does not implicitly {@link org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive.verify|verify} messages. - * @function encode - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive - * @static - * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.IDrive} message Drive message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Drive.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.latest != null && Object.hasOwnProperty.call(message, "latest")) - writer.uint32(/* id 3, wireType 0 =*/24).uint32(message.latest); - if (message.current != null && Object.hasOwnProperty.call(message, "current")) - writer.uint32(/* id 4, wireType 0 =*/32).uint32(message.current); - return writer; - }; + /** + * Converts this GetPathElementsRequestV0 to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0 + * @instance + * @returns {Object.} JSON object + */ + GetPathElementsRequestV0.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; - /** - * Encodes the specified Drive message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive.verify|verify} messages. - * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive - * @static - * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.IDrive} message Drive message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Drive.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; + return GetPathElementsRequestV0; + })(); - /** - * Decodes a Drive message from the specified reader or buffer. - * @function decode - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive - * @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.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive} Drive - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Drive.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.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 3: - message.latest = reader.uint32(); - break; - case 4: - message.current = reader.uint32(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; + return GetPathElementsRequest; + })(); - /** - * Decodes a Drive message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive} Drive - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Drive.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; + v0.GetPathElementsResponse = (function() { - /** - * Verifies a Drive message. - * @function verify - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Drive.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.latest != null && message.hasOwnProperty("latest")) - if (!$util.isInteger(message.latest)) - return "latest: integer expected"; - if (message.current != null && message.hasOwnProperty("current")) - if (!$util.isInteger(message.current)) - return "current: integer expected"; - return null; - }; + /** + * Properties of a GetPathElementsResponse. + * @memberof org.dash.platform.dapi.v0 + * @interface IGetPathElementsResponse + * @property {org.dash.platform.dapi.v0.GetPathElementsResponse.IGetPathElementsResponseV0|null} [v0] GetPathElementsResponse v0 + */ - /** - * Creates a Drive message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive - * @static - * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive} Drive - */ - Drive.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive) - return object; - var message = new $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive(); - if (object.latest != null) - message.latest = object.latest >>> 0; - if (object.current != null) - message.current = object.current >>> 0; - return message; - }; + /** + * Constructs a new GetPathElementsResponse. + * @memberof org.dash.platform.dapi.v0 + * @classdesc Represents a GetPathElementsResponse. + * @implements IGetPathElementsResponse + * @constructor + * @param {org.dash.platform.dapi.v0.IGetPathElementsResponse=} [properties] Properties to set + */ + function GetPathElementsResponse(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 Drive message. Also converts values to other types if specified. - * @function toObject - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive - * @static - * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive} message Drive - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Drive.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - object.latest = 0; - object.current = 0; - } - if (message.latest != null && message.hasOwnProperty("latest")) - object.latest = message.latest; - if (message.current != null && message.hasOwnProperty("current")) - object.current = message.current; - return object; - }; + /** + * GetPathElementsResponse v0. + * @member {org.dash.platform.dapi.v0.GetPathElementsResponse.IGetPathElementsResponseV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse + * @instance + */ + GetPathElementsResponse.prototype.v0 = null; - /** - * Converts this Drive to JSON. - * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive - * @instance - * @returns {Object.} JSON object - */ - Drive.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; + // OneOf field names bound to virtual getters and setters + var $oneOfFields; - return Drive; - })(); + /** + * GetPathElementsResponse version. + * @member {"v0"|undefined} version + * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse + * @instance + */ + Object.defineProperty(GetPathElementsResponse.prototype, "version", { + get: $util.oneOfGetter($oneOfFields = ["v0"]), + set: $util.oneOfSetter($oneOfFields) + }); - return Protocol; - })(); + /** + * Creates a new GetPathElementsResponse instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse + * @static + * @param {org.dash.platform.dapi.v0.IGetPathElementsResponse=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetPathElementsResponse} GetPathElementsResponse instance + */ + GetPathElementsResponse.create = function create(properties) { + return new GetPathElementsResponse(properties); + }; - return Version; - })(); + /** + * Encodes the specified GetPathElementsResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetPathElementsResponse.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse + * @static + * @param {org.dash.platform.dapi.v0.IGetPathElementsResponse} message GetPathElementsResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetPathElementsResponse.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.GetPathElementsResponse.GetPathElementsResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; - GetStatusResponseV0.Time = (function() { + /** + * Encodes the specified GetPathElementsResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetPathElementsResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse + * @static + * @param {org.dash.platform.dapi.v0.IGetPathElementsResponse} message GetPathElementsResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetPathElementsResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GetPathElementsResponse message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse + * @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.GetPathElementsResponse} GetPathElementsResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetPathElementsResponse.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.GetPathElementsResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.v0 = $root.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GetPathElementsResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetPathElementsResponse} GetPathElementsResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetPathElementsResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GetPathElementsResponse message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetPathElementsResponse.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.GetPathElementsResponse.GetPathElementsResponseV0.verify(message.v0); + if (error) + return "v0." + error; + } + } + return null; + }; + + /** + * Creates a GetPathElementsResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetPathElementsResponse} GetPathElementsResponse + */ + GetPathElementsResponse.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetPathElementsResponse) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetPathElementsResponse(); + if (object.v0 != null) { + if (typeof object.v0 !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetPathElementsResponse.v0: object expected"); + message.v0 = $root.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.fromObject(object.v0); + } + return message; + }; + + /** + * Creates a plain object from a GetPathElementsResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse + * @static + * @param {org.dash.platform.dapi.v0.GetPathElementsResponse} message GetPathElementsResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetPathElementsResponse.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.GetPathElementsResponse.GetPathElementsResponseV0.toObject(message.v0, options); + if (options.oneofs) + object.version = "v0"; + } + return object; + }; + + /** + * Converts this GetPathElementsResponse to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse + * @instance + * @returns {Object.} JSON object + */ + GetPathElementsResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + GetPathElementsResponse.GetPathElementsResponseV0 = (function() { + + /** + * Properties of a GetPathElementsResponseV0. + * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse + * @interface IGetPathElementsResponseV0 + * @property {org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.IElements|null} [elements] GetPathElementsResponseV0 elements + * @property {org.dash.platform.dapi.v0.IProof|null} [proof] GetPathElementsResponseV0 proof + * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetPathElementsResponseV0 metadata + */ + + /** + * Constructs a new GetPathElementsResponseV0. + * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse + * @classdesc Represents a GetPathElementsResponseV0. + * @implements IGetPathElementsResponseV0 + * @constructor + * @param {org.dash.platform.dapi.v0.GetPathElementsResponse.IGetPathElementsResponseV0=} [properties] Properties to set + */ + function GetPathElementsResponseV0(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]]; + } + + /** + * GetPathElementsResponseV0 elements. + * @member {org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.IElements|null|undefined} elements + * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0 + * @instance + */ + GetPathElementsResponseV0.prototype.elements = null; + + /** + * GetPathElementsResponseV0 proof. + * @member {org.dash.platform.dapi.v0.IProof|null|undefined} proof + * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0 + * @instance + */ + GetPathElementsResponseV0.prototype.proof = null; + + /** + * GetPathElementsResponseV0 metadata. + * @member {org.dash.platform.dapi.v0.IResponseMetadata|null|undefined} metadata + * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0 + * @instance + */ + GetPathElementsResponseV0.prototype.metadata = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * GetPathElementsResponseV0 result. + * @member {"elements"|"proof"|undefined} result + * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0 + * @instance + */ + Object.defineProperty(GetPathElementsResponseV0.prototype, "result", { + get: $util.oneOfGetter($oneOfFields = ["elements", "proof"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new GetPathElementsResponseV0 instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0 + * @static + * @param {org.dash.platform.dapi.v0.GetPathElementsResponse.IGetPathElementsResponseV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0} GetPathElementsResponseV0 instance + */ + GetPathElementsResponseV0.create = function create(properties) { + return new GetPathElementsResponseV0(properties); + }; + + /** + * Encodes the specified GetPathElementsResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0 + * @static + * @param {org.dash.platform.dapi.v0.GetPathElementsResponse.IGetPathElementsResponseV0} message GetPathElementsResponseV0 message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetPathElementsResponseV0.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.elements != null && Object.hasOwnProperty.call(message, "elements")) + $root.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.encode(message.elements, 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 GetPathElementsResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0 + * @static + * @param {org.dash.platform.dapi.v0.GetPathElementsResponse.IGetPathElementsResponseV0} message GetPathElementsResponseV0 message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetPathElementsResponseV0.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GetPathElementsResponseV0 message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0 + * @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.GetPathElementsResponse.GetPathElementsResponseV0} GetPathElementsResponseV0 + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetPathElementsResponseV0.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.GetPathElementsResponse.GetPathElementsResponseV0(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.elements = $root.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.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 GetPathElementsResponseV0 message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0 + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0} GetPathElementsResponseV0 + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetPathElementsResponseV0.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GetPathElementsResponseV0 message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0 + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetPathElementsResponseV0.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + var properties = {}; + if (message.elements != null && message.hasOwnProperty("elements")) { + properties.result = 1; + { + var error = $root.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.verify(message.elements); + if (error) + return "elements." + 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 GetPathElementsResponseV0 message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0 + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0} GetPathElementsResponseV0 + */ + GetPathElementsResponseV0.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0(); + if (object.elements != null) { + if (typeof object.elements !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.elements: object expected"); + message.elements = $root.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.fromObject(object.elements); + } + if (object.proof != null) { + if (typeof object.proof !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.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.GetPathElementsResponse.GetPathElementsResponseV0.metadata: object expected"); + message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.fromObject(object.metadata); + } + return message; + }; + + /** + * Creates a plain object from a GetPathElementsResponseV0 message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0 + * @static + * @param {org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0} message GetPathElementsResponseV0 + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetPathElementsResponseV0.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.metadata = null; + if (message.elements != null && message.hasOwnProperty("elements")) { + object.elements = $root.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.toObject(message.elements, options); + if (options.oneofs) + object.result = "elements"; + } + 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 GetPathElementsResponseV0 to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0 + * @instance + * @returns {Object.} JSON object + */ + GetPathElementsResponseV0.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + GetPathElementsResponseV0.Elements = (function() { /** - * Properties of a Time. - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0 - * @interface ITime - * @property {number|Long|null} [local] Time local - * @property {number|Long|null} [block] Time block - * @property {number|Long|null} [genesis] Time genesis - * @property {number|null} [epoch] Time epoch + * Properties of an Elements. + * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0 + * @interface IElements + * @property {Array.|null} [elements] Elements elements */ /** - * Constructs a new Time. - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0 - * @classdesc Represents a Time. - * @implements ITime + * Constructs a new Elements. + * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0 + * @classdesc Represents an Elements. + * @implements IElements * @constructor - * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.ITime=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.IElements=} [properties] Properties to set */ - function Time(properties) { + function Elements(properties) { + this.elements = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -42081,114 +43338,78 @@ $root.org = (function() { } /** - * Time local. - * @member {number|Long} local - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time - * @instance - */ - Time.prototype.local = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - - /** - * Time block. - * @member {number|Long} block - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time - * @instance - */ - Time.prototype.block = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - - /** - * Time genesis. - * @member {number|Long} genesis - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time - * @instance - */ - Time.prototype.genesis = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - - /** - * Time epoch. - * @member {number} epoch - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time + * Elements elements. + * @member {Array.} elements + * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements * @instance */ - Time.prototype.epoch = 0; + Elements.prototype.elements = $util.emptyArray; /** - * Creates a new Time instance using the specified properties. + * Creates a new Elements instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time + * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements * @static - * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.ITime=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time} Time instance + * @param {org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.IElements=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements} Elements instance */ - Time.create = function create(properties) { - return new Time(properties); + Elements.create = function create(properties) { + return new Elements(properties); }; /** - * Encodes the specified Time message. Does not implicitly {@link org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.verify|verify} messages. + * Encodes the specified Elements message. Does not implicitly {@link org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time + * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements * @static - * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.ITime} message Time message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.IElements} message Elements message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - Time.encode = function encode(message, writer) { + Elements.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.local != null && Object.hasOwnProperty.call(message, "local")) - writer.uint32(/* id 1, wireType 0 =*/8).uint64(message.local); - if (message.block != null && Object.hasOwnProperty.call(message, "block")) - writer.uint32(/* id 2, wireType 0 =*/16).uint64(message.block); - if (message.genesis != null && Object.hasOwnProperty.call(message, "genesis")) - writer.uint32(/* id 3, wireType 0 =*/24).uint64(message.genesis); - if (message.epoch != null && Object.hasOwnProperty.call(message, "epoch")) - writer.uint32(/* id 4, wireType 0 =*/32).uint32(message.epoch); + if (message.elements != null && message.elements.length) + for (var i = 0; i < message.elements.length; ++i) + writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.elements[i]); return writer; }; /** - * Encodes the specified Time message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.verify|verify} messages. + * Encodes the specified Elements message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time + * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements * @static - * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.ITime} message Time message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.IElements} message Elements message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - Time.encodeDelimited = function encodeDelimited(message, writer) { + Elements.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a Time message from the specified reader or buffer. + * Decodes an Elements message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time + * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements * @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.GetStatusResponse.GetStatusResponseV0.Time} Time + * @returns {org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements} Elements * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Time.decode = function decode(reader, length) { + Elements.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.GetStatusResponse.GetStatusResponseV0.Time(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.local = reader.uint64(); - break; - case 2: - message.block = reader.uint64(); - break; - case 3: - message.genesis = reader.uint64(); - break; - case 4: - message.epoch = reader.uint32(); + if (!(message.elements && message.elements.length)) + message.elements = []; + message.elements.push(reader.bytes()); break; default: reader.skipType(tag & 7); @@ -42199,1083 +43420,1033 @@ $root.org = (function() { }; /** - * Decodes a Time message from the specified reader or buffer, length delimited. + * Decodes an Elements message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time + * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time} Time + * @returns {org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements} Elements * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Time.decodeDelimited = function decodeDelimited(reader) { + Elements.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a Time message. + * Verifies an Elements message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time + * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Time.verify = function verify(message) { + Elements.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.local != null && message.hasOwnProperty("local")) - if (!$util.isInteger(message.local) && !(message.local && $util.isInteger(message.local.low) && $util.isInteger(message.local.high))) - return "local: integer|Long expected"; - if (message.block != null && message.hasOwnProperty("block")) - if (!$util.isInteger(message.block) && !(message.block && $util.isInteger(message.block.low) && $util.isInteger(message.block.high))) - return "block: integer|Long expected"; - if (message.genesis != null && message.hasOwnProperty("genesis")) - if (!$util.isInteger(message.genesis) && !(message.genesis && $util.isInteger(message.genesis.low) && $util.isInteger(message.genesis.high))) - return "genesis: integer|Long expected"; - if (message.epoch != null && message.hasOwnProperty("epoch")) - if (!$util.isInteger(message.epoch)) - return "epoch: integer expected"; + if (message.elements != null && message.hasOwnProperty("elements")) { + if (!Array.isArray(message.elements)) + return "elements: array expected"; + for (var i = 0; i < message.elements.length; ++i) + if (!(message.elements[i] && typeof message.elements[i].length === "number" || $util.isString(message.elements[i]))) + return "elements: buffer[] expected"; + } return null; }; /** - * Creates a Time message from a plain object. Also converts values to their respective internal types. + * Creates an Elements message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time + * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time} Time + * @returns {org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements} Elements */ - Time.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time) + Elements.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements) return object; - var message = new $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time(); - if (object.local != null) - if ($util.Long) - (message.local = $util.Long.fromValue(object.local)).unsigned = true; - else if (typeof object.local === "string") - message.local = parseInt(object.local, 10); - else if (typeof object.local === "number") - message.local = object.local; - else if (typeof object.local === "object") - message.local = new $util.LongBits(object.local.low >>> 0, object.local.high >>> 0).toNumber(true); - if (object.block != null) - if ($util.Long) - (message.block = $util.Long.fromValue(object.block)).unsigned = true; - else if (typeof object.block === "string") - message.block = parseInt(object.block, 10); - else if (typeof object.block === "number") - message.block = object.block; - else if (typeof object.block === "object") - message.block = new $util.LongBits(object.block.low >>> 0, object.block.high >>> 0).toNumber(true); - if (object.genesis != null) - if ($util.Long) - (message.genesis = $util.Long.fromValue(object.genesis)).unsigned = true; - else if (typeof object.genesis === "string") - message.genesis = parseInt(object.genesis, 10); - else if (typeof object.genesis === "number") - message.genesis = object.genesis; - else if (typeof object.genesis === "object") - message.genesis = new $util.LongBits(object.genesis.low >>> 0, object.genesis.high >>> 0).toNumber(true); - if (object.epoch != null) - message.epoch = object.epoch >>> 0; + var message = new $root.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements(); + if (object.elements) { + if (!Array.isArray(object.elements)) + throw TypeError(".org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.elements: array expected"); + message.elements = []; + for (var i = 0; i < object.elements.length; ++i) + if (typeof object.elements[i] === "string") + $util.base64.decode(object.elements[i], message.elements[i] = $util.newBuffer($util.base64.length(object.elements[i])), 0); + else if (object.elements[i].length >= 0) + message.elements[i] = object.elements[i]; + } return message; }; /** - * Creates a plain object from a Time message. Also converts values to other types if specified. + * Creates a plain object from an Elements message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time + * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements * @static - * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time} message Time + * @param {org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements} message Elements * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - Time.toObject = function toObject(message, options) { + Elements.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.local = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.local = options.longs === String ? "0" : 0; - if ($util.Long) { - var long = new $util.Long(0, 0, true); - object.block = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.block = options.longs === String ? "0" : 0; - if ($util.Long) { - var long = new $util.Long(0, 0, true); - object.genesis = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.genesis = options.longs === String ? "0" : 0; - object.epoch = 0; + if (options.arrays || options.defaults) + object.elements = []; + if (message.elements && message.elements.length) { + object.elements = []; + for (var j = 0; j < message.elements.length; ++j) + object.elements[j] = options.bytes === String ? $util.base64.encode(message.elements[j], 0, message.elements[j].length) : options.bytes === Array ? Array.prototype.slice.call(message.elements[j]) : message.elements[j]; } - if (message.local != null && message.hasOwnProperty("local")) - if (typeof message.local === "number") - object.local = options.longs === String ? String(message.local) : message.local; - else - object.local = options.longs === String ? $util.Long.prototype.toString.call(message.local) : options.longs === Number ? new $util.LongBits(message.local.low >>> 0, message.local.high >>> 0).toNumber(true) : message.local; - if (message.block != null && message.hasOwnProperty("block")) - if (typeof message.block === "number") - object.block = options.longs === String ? String(message.block) : message.block; - else - object.block = options.longs === String ? $util.Long.prototype.toString.call(message.block) : options.longs === Number ? new $util.LongBits(message.block.low >>> 0, message.block.high >>> 0).toNumber(true) : message.block; - if (message.genesis != null && message.hasOwnProperty("genesis")) - if (typeof message.genesis === "number") - object.genesis = options.longs === String ? String(message.genesis) : message.genesis; - else - object.genesis = options.longs === String ? $util.Long.prototype.toString.call(message.genesis) : options.longs === Number ? new $util.LongBits(message.genesis.low >>> 0, message.genesis.high >>> 0).toNumber(true) : message.genesis; - if (message.epoch != null && message.hasOwnProperty("epoch")) - object.epoch = message.epoch; return object; }; /** - * Converts this Time to JSON. + * Converts this Elements to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time + * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements * @instance * @returns {Object.} JSON object */ - Time.prototype.toJSON = function toJSON() { + Elements.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return Time; + return Elements; })(); - GetStatusResponseV0.Node = (function() { - - /** - * Properties of a Node. - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0 - * @interface INode - * @property {Uint8Array|null} [id] Node id - * @property {Uint8Array|null} [proTxHash] Node proTxHash - */ - - /** - * Constructs a new Node. - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0 - * @classdesc Represents a Node. - * @implements INode - * @constructor - * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.INode=} [properties] Properties to set - */ - function Node(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]]; - } - - /** - * Node id. - * @member {Uint8Array} id - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node - * @instance - */ - Node.prototype.id = $util.newBuffer([]); + return GetPathElementsResponseV0; + })(); - /** - * Node proTxHash. - * @member {Uint8Array} proTxHash - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node - * @instance - */ - Node.prototype.proTxHash = $util.newBuffer([]); + return GetPathElementsResponse; + })(); - /** - * Creates a new Node instance using the specified properties. - * @function create - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node - * @static - * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.INode=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node} Node instance - */ - Node.create = function create(properties) { - return new Node(properties); - }; + v0.GetStatusRequest = (function() { - /** - * Encodes the specified Node message. Does not implicitly {@link org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.verify|verify} messages. - * @function encode - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node - * @static - * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.INode} message Node message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Node.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.proTxHash != null && Object.hasOwnProperty.call(message, "proTxHash")) - writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.proTxHash); - return writer; - }; + /** + * Properties of a GetStatusRequest. + * @memberof org.dash.platform.dapi.v0 + * @interface IGetStatusRequest + * @property {org.dash.platform.dapi.v0.GetStatusRequest.IGetStatusRequestV0|null} [v0] GetStatusRequest v0 + */ - /** - * Encodes the specified Node message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.verify|verify} messages. - * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node - * @static - * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.INode} message Node message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Node.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; + /** + * Constructs a new GetStatusRequest. + * @memberof org.dash.platform.dapi.v0 + * @classdesc Represents a GetStatusRequest. + * @implements IGetStatusRequest + * @constructor + * @param {org.dash.platform.dapi.v0.IGetStatusRequest=} [properties] Properties to set + */ + function GetStatusRequest(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 a Node message from the specified reader or buffer. - * @function decode - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node - * @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.GetStatusResponse.GetStatusResponseV0.Node} Node - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Node.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.GetStatusResponse.GetStatusResponseV0.Node(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.id = reader.bytes(); - break; - case 2: - message.proTxHash = reader.bytes(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; + /** + * GetStatusRequest v0. + * @member {org.dash.platform.dapi.v0.GetStatusRequest.IGetStatusRequestV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetStatusRequest + * @instance + */ + GetStatusRequest.prototype.v0 = null; - /** - * Decodes a Node message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node} Node - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Node.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; + // OneOf field names bound to virtual getters and setters + var $oneOfFields; - /** - * Verifies a Node message. - * @function verify - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Node.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.proTxHash != null && message.hasOwnProperty("proTxHash")) - if (!(message.proTxHash && typeof message.proTxHash.length === "number" || $util.isString(message.proTxHash))) - return "proTxHash: buffer expected"; - return null; - }; + /** + * GetStatusRequest version. + * @member {"v0"|undefined} version + * @memberof org.dash.platform.dapi.v0.GetStatusRequest + * @instance + */ + Object.defineProperty(GetStatusRequest.prototype, "version", { + get: $util.oneOfGetter($oneOfFields = ["v0"]), + set: $util.oneOfSetter($oneOfFields) + }); - /** - * Creates a Node message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node - * @static - * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node} Node - */ - Node.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node) - return object; - var message = new $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node(); - 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.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; - return message; - }; + /** + * Creates a new GetStatusRequest instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetStatusRequest + * @static + * @param {org.dash.platform.dapi.v0.IGetStatusRequest=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetStatusRequest} GetStatusRequest instance + */ + GetStatusRequest.create = function create(properties) { + return new GetStatusRequest(properties); + }; - /** - * Creates a plain object from a Node message. Also converts values to other types if specified. - * @function toObject - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node - * @static - * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node} message Node - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Node.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); - } - if (options.bytes === String) - object.proTxHash = ""; - else { - object.proTxHash = []; - if (options.bytes !== Array) - object.proTxHash = $util.newBuffer(object.proTxHash); - } - } - 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.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; - return object; - }; + /** + * Encodes the specified GetStatusRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetStatusRequest.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetStatusRequest + * @static + * @param {org.dash.platform.dapi.v0.IGetStatusRequest} message GetStatusRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetStatusRequest.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.GetStatusRequest.GetStatusRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; - /** - * Converts this Node to JSON. - * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node - * @instance - * @returns {Object.} JSON object - */ - Node.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; + /** + * Encodes the specified GetStatusRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetStatusRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetStatusRequest + * @static + * @param {org.dash.platform.dapi.v0.IGetStatusRequest} message GetStatusRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetStatusRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; - return Node; - })(); + /** + * Decodes a GetStatusRequest message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetStatusRequest + * @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.GetStatusRequest} GetStatusRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetStatusRequest.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.GetStatusRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.v0 = $root.org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; - GetStatusResponseV0.Chain = (function() { + /** + * Decodes a GetStatusRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetStatusRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetStatusRequest} GetStatusRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetStatusRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; - /** - * Properties of a Chain. - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0 - * @interface IChain - * @property {boolean|null} [catchingUp] Chain catchingUp - * @property {Uint8Array|null} [latestBlockHash] Chain latestBlockHash - * @property {Uint8Array|null} [latestAppHash] Chain latestAppHash - * @property {number|Long|null} [latestBlockHeight] Chain latestBlockHeight - * @property {Uint8Array|null} [earliestBlockHash] Chain earliestBlockHash - * @property {Uint8Array|null} [earliestAppHash] Chain earliestAppHash - * @property {number|Long|null} [earliestBlockHeight] Chain earliestBlockHeight - * @property {number|Long|null} [maxPeerBlockHeight] Chain maxPeerBlockHeight - * @property {number|null} [coreChainLockedHeight] Chain coreChainLockedHeight - */ - - /** - * Constructs a new Chain. - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0 - * @classdesc Represents a Chain. - * @implements IChain - * @constructor - * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.IChain=} [properties] Properties to set - */ - function Chain(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]]; + /** + * Verifies a GetStatusRequest message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetStatusRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetStatusRequest.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.GetStatusRequest.GetStatusRequestV0.verify(message.v0); + if (error) + return "v0." + error; } + } + return null; + }; - /** - * Chain catchingUp. - * @member {boolean} catchingUp - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain - * @instance - */ - Chain.prototype.catchingUp = false; + /** + * Creates a GetStatusRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetStatusRequest + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetStatusRequest} GetStatusRequest + */ + GetStatusRequest.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetStatusRequest) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetStatusRequest(); + if (object.v0 != null) { + if (typeof object.v0 !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetStatusRequest.v0: object expected"); + message.v0 = $root.org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0.fromObject(object.v0); + } + return message; + }; - /** - * Chain latestBlockHash. - * @member {Uint8Array} latestBlockHash - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain - * @instance - */ - Chain.prototype.latestBlockHash = $util.newBuffer([]); + /** + * Creates a plain object from a GetStatusRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetStatusRequest + * @static + * @param {org.dash.platform.dapi.v0.GetStatusRequest} message GetStatusRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetStatusRequest.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.GetStatusRequest.GetStatusRequestV0.toObject(message.v0, options); + if (options.oneofs) + object.version = "v0"; + } + return object; + }; - /** - * Chain latestAppHash. - * @member {Uint8Array} latestAppHash - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain - * @instance - */ - Chain.prototype.latestAppHash = $util.newBuffer([]); + /** + * Converts this GetStatusRequest to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetStatusRequest + * @instance + * @returns {Object.} JSON object + */ + GetStatusRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; - /** - * Chain latestBlockHeight. - * @member {number|Long} latestBlockHeight - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain - * @instance - */ - Chain.prototype.latestBlockHeight = $util.Long ? $util.Long.fromBits(0,0,true) : 0; + GetStatusRequest.GetStatusRequestV0 = (function() { - /** - * Chain earliestBlockHash. - * @member {Uint8Array} earliestBlockHash - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain - * @instance - */ - Chain.prototype.earliestBlockHash = $util.newBuffer([]); + /** + * Properties of a GetStatusRequestV0. + * @memberof org.dash.platform.dapi.v0.GetStatusRequest + * @interface IGetStatusRequestV0 + */ - /** - * Chain earliestAppHash. - * @member {Uint8Array} earliestAppHash - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain - * @instance - */ - Chain.prototype.earliestAppHash = $util.newBuffer([]); + /** + * Constructs a new GetStatusRequestV0. + * @memberof org.dash.platform.dapi.v0.GetStatusRequest + * @classdesc Represents a GetStatusRequestV0. + * @implements IGetStatusRequestV0 + * @constructor + * @param {org.dash.platform.dapi.v0.GetStatusRequest.IGetStatusRequestV0=} [properties] Properties to set + */ + function GetStatusRequestV0(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]]; + } - /** - * Chain earliestBlockHeight. - * @member {number|Long} earliestBlockHeight - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain - * @instance - */ - Chain.prototype.earliestBlockHeight = $util.Long ? $util.Long.fromBits(0,0,true) : 0; + /** + * Creates a new GetStatusRequestV0 instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0 + * @static + * @param {org.dash.platform.dapi.v0.GetStatusRequest.IGetStatusRequestV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0} GetStatusRequestV0 instance + */ + GetStatusRequestV0.create = function create(properties) { + return new GetStatusRequestV0(properties); + }; - /** - * Chain maxPeerBlockHeight. - * @member {number|Long} maxPeerBlockHeight - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain - * @instance - */ - Chain.prototype.maxPeerBlockHeight = $util.Long ? $util.Long.fromBits(0,0,true) : 0; + /** + * Encodes the specified GetStatusRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0 + * @static + * @param {org.dash.platform.dapi.v0.GetStatusRequest.IGetStatusRequestV0} message GetStatusRequestV0 message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetStatusRequestV0.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + return writer; + }; - /** - * Chain coreChainLockedHeight. - * @member {number} coreChainLockedHeight - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain - * @instance - */ - Chain.prototype.coreChainLockedHeight = 0; + /** + * Encodes the specified GetStatusRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0 + * @static + * @param {org.dash.platform.dapi.v0.GetStatusRequest.IGetStatusRequestV0} message GetStatusRequestV0 message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetStatusRequestV0.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; - /** - * Creates a new Chain instance using the specified properties. - * @function create - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain - * @static - * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.IChain=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain} Chain instance - */ - Chain.create = function create(properties) { - return new Chain(properties); - }; + /** + * Decodes a GetStatusRequestV0 message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0 + * @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.GetStatusRequest.GetStatusRequestV0} GetStatusRequestV0 + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetStatusRequestV0.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.GetStatusRequest.GetStatusRequestV0(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; - /** - * Encodes the specified Chain message. Does not implicitly {@link org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.verify|verify} messages. - * @function encode - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain - * @static - * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.IChain} message Chain message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Chain.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.catchingUp != null && Object.hasOwnProperty.call(message, "catchingUp")) - writer.uint32(/* id 1, wireType 0 =*/8).bool(message.catchingUp); - if (message.latestBlockHash != null && Object.hasOwnProperty.call(message, "latestBlockHash")) - writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.latestBlockHash); - if (message.latestAppHash != null && Object.hasOwnProperty.call(message, "latestAppHash")) - writer.uint32(/* id 3, wireType 2 =*/26).bytes(message.latestAppHash); - if (message.latestBlockHeight != null && Object.hasOwnProperty.call(message, "latestBlockHeight")) - writer.uint32(/* id 4, wireType 0 =*/32).uint64(message.latestBlockHeight); - if (message.earliestBlockHash != null && Object.hasOwnProperty.call(message, "earliestBlockHash")) - writer.uint32(/* id 5, wireType 2 =*/42).bytes(message.earliestBlockHash); - if (message.earliestAppHash != null && Object.hasOwnProperty.call(message, "earliestAppHash")) - writer.uint32(/* id 6, wireType 2 =*/50).bytes(message.earliestAppHash); - if (message.earliestBlockHeight != null && Object.hasOwnProperty.call(message, "earliestBlockHeight")) - writer.uint32(/* id 7, wireType 0 =*/56).uint64(message.earliestBlockHeight); - if (message.maxPeerBlockHeight != null && Object.hasOwnProperty.call(message, "maxPeerBlockHeight")) - writer.uint32(/* id 9, wireType 0 =*/72).uint64(message.maxPeerBlockHeight); - if (message.coreChainLockedHeight != null && Object.hasOwnProperty.call(message, "coreChainLockedHeight")) - writer.uint32(/* id 10, wireType 0 =*/80).uint32(message.coreChainLockedHeight); - return writer; - }; + /** + * Decodes a GetStatusRequestV0 message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0 + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0} GetStatusRequestV0 + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetStatusRequestV0.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; - /** - * Encodes the specified Chain message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.verify|verify} messages. - * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain - * @static - * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.IChain} message Chain message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Chain.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; + /** + * Verifies a GetStatusRequestV0 message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0 + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetStatusRequestV0.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + return null; + }; - /** - * Decodes a Chain message from the specified reader or buffer. - * @function decode - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain - * @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.GetStatusResponse.GetStatusResponseV0.Chain} Chain - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Chain.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.GetStatusResponse.GetStatusResponseV0.Chain(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.catchingUp = reader.bool(); - break; - case 2: - message.latestBlockHash = reader.bytes(); - break; - case 3: - message.latestAppHash = reader.bytes(); - break; - case 4: - message.latestBlockHeight = reader.uint64(); - break; - case 5: - message.earliestBlockHash = reader.bytes(); - break; - case 6: - message.earliestAppHash = reader.bytes(); - break; - case 7: - message.earliestBlockHeight = reader.uint64(); - break; - case 9: - message.maxPeerBlockHeight = reader.uint64(); - break; - case 10: - message.coreChainLockedHeight = reader.uint32(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; + /** + * Creates a GetStatusRequestV0 message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0 + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0} GetStatusRequestV0 + */ + GetStatusRequestV0.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0) + return object; + return new $root.org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0(); + }; - /** - * Decodes a Chain message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain} Chain - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Chain.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; + /** + * Creates a plain object from a GetStatusRequestV0 message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0 + * @static + * @param {org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0} message GetStatusRequestV0 + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetStatusRequestV0.toObject = function toObject() { + return {}; + }; - /** - * Verifies a Chain message. - * @function verify - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Chain.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.catchingUp != null && message.hasOwnProperty("catchingUp")) - if (typeof message.catchingUp !== "boolean") - return "catchingUp: boolean expected"; - if (message.latestBlockHash != null && message.hasOwnProperty("latestBlockHash")) - if (!(message.latestBlockHash && typeof message.latestBlockHash.length === "number" || $util.isString(message.latestBlockHash))) - return "latestBlockHash: buffer expected"; - if (message.latestAppHash != null && message.hasOwnProperty("latestAppHash")) - if (!(message.latestAppHash && typeof message.latestAppHash.length === "number" || $util.isString(message.latestAppHash))) - return "latestAppHash: buffer expected"; - if (message.latestBlockHeight != null && message.hasOwnProperty("latestBlockHeight")) - if (!$util.isInteger(message.latestBlockHeight) && !(message.latestBlockHeight && $util.isInteger(message.latestBlockHeight.low) && $util.isInteger(message.latestBlockHeight.high))) - return "latestBlockHeight: integer|Long expected"; - if (message.earliestBlockHash != null && message.hasOwnProperty("earliestBlockHash")) - if (!(message.earliestBlockHash && typeof message.earliestBlockHash.length === "number" || $util.isString(message.earliestBlockHash))) - return "earliestBlockHash: buffer expected"; - if (message.earliestAppHash != null && message.hasOwnProperty("earliestAppHash")) - if (!(message.earliestAppHash && typeof message.earliestAppHash.length === "number" || $util.isString(message.earliestAppHash))) - return "earliestAppHash: buffer expected"; - if (message.earliestBlockHeight != null && message.hasOwnProperty("earliestBlockHeight")) - if (!$util.isInteger(message.earliestBlockHeight) && !(message.earliestBlockHeight && $util.isInteger(message.earliestBlockHeight.low) && $util.isInteger(message.earliestBlockHeight.high))) - return "earliestBlockHeight: integer|Long expected"; - if (message.maxPeerBlockHeight != null && message.hasOwnProperty("maxPeerBlockHeight")) - if (!$util.isInteger(message.maxPeerBlockHeight) && !(message.maxPeerBlockHeight && $util.isInteger(message.maxPeerBlockHeight.low) && $util.isInteger(message.maxPeerBlockHeight.high))) - return "maxPeerBlockHeight: integer|Long expected"; - if (message.coreChainLockedHeight != null && message.hasOwnProperty("coreChainLockedHeight")) - if (!$util.isInteger(message.coreChainLockedHeight)) - return "coreChainLockedHeight: integer expected"; - return null; - }; + /** + * Converts this GetStatusRequestV0 to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0 + * @instance + * @returns {Object.} JSON object + */ + GetStatusRequestV0.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; - /** - * Creates a Chain message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain - * @static - * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain} Chain - */ - Chain.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain) - return object; - var message = new $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain(); - if (object.catchingUp != null) - message.catchingUp = Boolean(object.catchingUp); - if (object.latestBlockHash != null) - if (typeof object.latestBlockHash === "string") - $util.base64.decode(object.latestBlockHash, message.latestBlockHash = $util.newBuffer($util.base64.length(object.latestBlockHash)), 0); - else if (object.latestBlockHash.length >= 0) - message.latestBlockHash = object.latestBlockHash; - if (object.latestAppHash != null) - if (typeof object.latestAppHash === "string") - $util.base64.decode(object.latestAppHash, message.latestAppHash = $util.newBuffer($util.base64.length(object.latestAppHash)), 0); - else if (object.latestAppHash.length >= 0) - message.latestAppHash = object.latestAppHash; - if (object.latestBlockHeight != null) - if ($util.Long) - (message.latestBlockHeight = $util.Long.fromValue(object.latestBlockHeight)).unsigned = true; - else if (typeof object.latestBlockHeight === "string") - message.latestBlockHeight = parseInt(object.latestBlockHeight, 10); - else if (typeof object.latestBlockHeight === "number") - message.latestBlockHeight = object.latestBlockHeight; - else if (typeof object.latestBlockHeight === "object") - message.latestBlockHeight = new $util.LongBits(object.latestBlockHeight.low >>> 0, object.latestBlockHeight.high >>> 0).toNumber(true); - if (object.earliestBlockHash != null) - if (typeof object.earliestBlockHash === "string") - $util.base64.decode(object.earliestBlockHash, message.earliestBlockHash = $util.newBuffer($util.base64.length(object.earliestBlockHash)), 0); - else if (object.earliestBlockHash.length >= 0) - message.earliestBlockHash = object.earliestBlockHash; - if (object.earliestAppHash != null) - if (typeof object.earliestAppHash === "string") - $util.base64.decode(object.earliestAppHash, message.earliestAppHash = $util.newBuffer($util.base64.length(object.earliestAppHash)), 0); - else if (object.earliestAppHash.length >= 0) - message.earliestAppHash = object.earliestAppHash; - if (object.earliestBlockHeight != null) - if ($util.Long) - (message.earliestBlockHeight = $util.Long.fromValue(object.earliestBlockHeight)).unsigned = true; - else if (typeof object.earliestBlockHeight === "string") - message.earliestBlockHeight = parseInt(object.earliestBlockHeight, 10); - else if (typeof object.earliestBlockHeight === "number") - message.earliestBlockHeight = object.earliestBlockHeight; - else if (typeof object.earliestBlockHeight === "object") - message.earliestBlockHeight = new $util.LongBits(object.earliestBlockHeight.low >>> 0, object.earliestBlockHeight.high >>> 0).toNumber(true); - if (object.maxPeerBlockHeight != null) - if ($util.Long) - (message.maxPeerBlockHeight = $util.Long.fromValue(object.maxPeerBlockHeight)).unsigned = true; - else if (typeof object.maxPeerBlockHeight === "string") - message.maxPeerBlockHeight = parseInt(object.maxPeerBlockHeight, 10); - else if (typeof object.maxPeerBlockHeight === "number") - message.maxPeerBlockHeight = object.maxPeerBlockHeight; - else if (typeof object.maxPeerBlockHeight === "object") - message.maxPeerBlockHeight = new $util.LongBits(object.maxPeerBlockHeight.low >>> 0, object.maxPeerBlockHeight.high >>> 0).toNumber(true); - if (object.coreChainLockedHeight != null) - message.coreChainLockedHeight = object.coreChainLockedHeight >>> 0; - return message; - }; + return GetStatusRequestV0; + })(); - /** - * Creates a plain object from a Chain message. Also converts values to other types if specified. - * @function toObject - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain - * @static - * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain} message Chain - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Chain.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - object.catchingUp = false; - if (options.bytes === String) - object.latestBlockHash = ""; - else { - object.latestBlockHash = []; - if (options.bytes !== Array) - object.latestBlockHash = $util.newBuffer(object.latestBlockHash); - } - if (options.bytes === String) - object.latestAppHash = ""; - else { - object.latestAppHash = []; - if (options.bytes !== Array) - object.latestAppHash = $util.newBuffer(object.latestAppHash); - } - if ($util.Long) { - var long = new $util.Long(0, 0, true); - object.latestBlockHeight = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.latestBlockHeight = options.longs === String ? "0" : 0; - if (options.bytes === String) - object.earliestBlockHash = ""; - else { - object.earliestBlockHash = []; - if (options.bytes !== Array) - object.earliestBlockHash = $util.newBuffer(object.earliestBlockHash); - } - if (options.bytes === String) - object.earliestAppHash = ""; - else { - object.earliestAppHash = []; - if (options.bytes !== Array) - object.earliestAppHash = $util.newBuffer(object.earliestAppHash); - } - if ($util.Long) { - var long = new $util.Long(0, 0, true); - object.earliestBlockHeight = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.earliestBlockHeight = options.longs === String ? "0" : 0; - if ($util.Long) { - var long = new $util.Long(0, 0, true); - object.maxPeerBlockHeight = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.maxPeerBlockHeight = options.longs === String ? "0" : 0; - object.coreChainLockedHeight = 0; - } - if (message.catchingUp != null && message.hasOwnProperty("catchingUp")) - object.catchingUp = message.catchingUp; - if (message.latestBlockHash != null && message.hasOwnProperty("latestBlockHash")) - object.latestBlockHash = options.bytes === String ? $util.base64.encode(message.latestBlockHash, 0, message.latestBlockHash.length) : options.bytes === Array ? Array.prototype.slice.call(message.latestBlockHash) : message.latestBlockHash; - if (message.latestAppHash != null && message.hasOwnProperty("latestAppHash")) - object.latestAppHash = options.bytes === String ? $util.base64.encode(message.latestAppHash, 0, message.latestAppHash.length) : options.bytes === Array ? Array.prototype.slice.call(message.latestAppHash) : message.latestAppHash; - if (message.latestBlockHeight != null && message.hasOwnProperty("latestBlockHeight")) - if (typeof message.latestBlockHeight === "number") - object.latestBlockHeight = options.longs === String ? String(message.latestBlockHeight) : message.latestBlockHeight; - else - object.latestBlockHeight = options.longs === String ? $util.Long.prototype.toString.call(message.latestBlockHeight) : options.longs === Number ? new $util.LongBits(message.latestBlockHeight.low >>> 0, message.latestBlockHeight.high >>> 0).toNumber(true) : message.latestBlockHeight; - if (message.earliestBlockHash != null && message.hasOwnProperty("earliestBlockHash")) - object.earliestBlockHash = options.bytes === String ? $util.base64.encode(message.earliestBlockHash, 0, message.earliestBlockHash.length) : options.bytes === Array ? Array.prototype.slice.call(message.earliestBlockHash) : message.earliestBlockHash; - if (message.earliestAppHash != null && message.hasOwnProperty("earliestAppHash")) - object.earliestAppHash = options.bytes === String ? $util.base64.encode(message.earliestAppHash, 0, message.earliestAppHash.length) : options.bytes === Array ? Array.prototype.slice.call(message.earliestAppHash) : message.earliestAppHash; - if (message.earliestBlockHeight != null && message.hasOwnProperty("earliestBlockHeight")) - if (typeof message.earliestBlockHeight === "number") - object.earliestBlockHeight = options.longs === String ? String(message.earliestBlockHeight) : message.earliestBlockHeight; - else - object.earliestBlockHeight = options.longs === String ? $util.Long.prototype.toString.call(message.earliestBlockHeight) : options.longs === Number ? new $util.LongBits(message.earliestBlockHeight.low >>> 0, message.earliestBlockHeight.high >>> 0).toNumber(true) : message.earliestBlockHeight; - if (message.maxPeerBlockHeight != null && message.hasOwnProperty("maxPeerBlockHeight")) - if (typeof message.maxPeerBlockHeight === "number") - object.maxPeerBlockHeight = options.longs === String ? String(message.maxPeerBlockHeight) : message.maxPeerBlockHeight; - else - object.maxPeerBlockHeight = options.longs === String ? $util.Long.prototype.toString.call(message.maxPeerBlockHeight) : options.longs === Number ? new $util.LongBits(message.maxPeerBlockHeight.low >>> 0, message.maxPeerBlockHeight.high >>> 0).toNumber(true) : message.maxPeerBlockHeight; - if (message.coreChainLockedHeight != null && message.hasOwnProperty("coreChainLockedHeight")) - object.coreChainLockedHeight = message.coreChainLockedHeight; - return object; - }; + return GetStatusRequest; + })(); - /** - * Converts this Chain to JSON. - * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain - * @instance - * @returns {Object.} JSON object - */ - Chain.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; + v0.GetStatusResponse = (function() { - return Chain; - })(); + /** + * Properties of a GetStatusResponse. + * @memberof org.dash.platform.dapi.v0 + * @interface IGetStatusResponse + * @property {org.dash.platform.dapi.v0.GetStatusResponse.IGetStatusResponseV0|null} [v0] GetStatusResponse v0 + */ - GetStatusResponseV0.Network = (function() { + /** + * Constructs a new GetStatusResponse. + * @memberof org.dash.platform.dapi.v0 + * @classdesc Represents a GetStatusResponse. + * @implements IGetStatusResponse + * @constructor + * @param {org.dash.platform.dapi.v0.IGetStatusResponse=} [properties] Properties to set + */ + function GetStatusResponse(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]]; + } - /** - * Properties of a Network. - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0 - * @interface INetwork - * @property {string|null} [chainId] Network chainId - * @property {number|null} [peersCount] Network peersCount - * @property {boolean|null} [listening] Network listening - */ + /** + * GetStatusResponse v0. + * @member {org.dash.platform.dapi.v0.GetStatusResponse.IGetStatusResponseV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetStatusResponse + * @instance + */ + GetStatusResponse.prototype.v0 = null; - /** - * Constructs a new Network. - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0 - * @classdesc Represents a Network. - * @implements INetwork - * @constructor - * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.INetwork=} [properties] Properties to set - */ - function Network(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]]; - } + // OneOf field names bound to virtual getters and setters + var $oneOfFields; - /** - * Network chainId. - * @member {string} chainId - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network - * @instance - */ - Network.prototype.chainId = ""; + /** + * GetStatusResponse version. + * @member {"v0"|undefined} version + * @memberof org.dash.platform.dapi.v0.GetStatusResponse + * @instance + */ + Object.defineProperty(GetStatusResponse.prototype, "version", { + get: $util.oneOfGetter($oneOfFields = ["v0"]), + set: $util.oneOfSetter($oneOfFields) + }); - /** - * Network peersCount. - * @member {number} peersCount - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network - * @instance - */ - Network.prototype.peersCount = 0; + /** + * Creates a new GetStatusResponse instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetStatusResponse + * @static + * @param {org.dash.platform.dapi.v0.IGetStatusResponse=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetStatusResponse} GetStatusResponse instance + */ + GetStatusResponse.create = function create(properties) { + return new GetStatusResponse(properties); + }; - /** - * Network listening. - * @member {boolean} listening - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network - * @instance - */ - Network.prototype.listening = false; + /** + * Encodes the specified GetStatusResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetStatusResponse.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetStatusResponse + * @static + * @param {org.dash.platform.dapi.v0.IGetStatusResponse} message GetStatusResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetStatusResponse.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.GetStatusResponse.GetStatusResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; - /** - * Creates a new Network instance using the specified properties. - * @function create - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network - * @static - * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.INetwork=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network} Network instance - */ - Network.create = function create(properties) { - return new Network(properties); - }; + /** + * Encodes the specified GetStatusResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetStatusResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetStatusResponse + * @static + * @param {org.dash.platform.dapi.v0.IGetStatusResponse} message GetStatusResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetStatusResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; - /** - * Encodes the specified Network message. Does not implicitly {@link org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network.verify|verify} messages. - * @function encode - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network - * @static - * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.INetwork} message Network message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Network.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.chainId != null && Object.hasOwnProperty.call(message, "chainId")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.chainId); - if (message.peersCount != null && Object.hasOwnProperty.call(message, "peersCount")) - writer.uint32(/* id 2, wireType 0 =*/16).uint32(message.peersCount); - if (message.listening != null && Object.hasOwnProperty.call(message, "listening")) - writer.uint32(/* id 3, wireType 0 =*/24).bool(message.listening); - return writer; - }; + /** + * Decodes a GetStatusResponse message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetStatusResponse + * @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.GetStatusResponse} GetStatusResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetStatusResponse.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.GetStatusResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.v0 = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; - /** - * Encodes the specified Network message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network.verify|verify} messages. - * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network - * @static - * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.INetwork} message Network message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Network.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; + /** + * Decodes a GetStatusResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetStatusResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetStatusResponse} GetStatusResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetStatusResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; - /** - * Decodes a Network message from the specified reader or buffer. - * @function decode - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network - * @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.GetStatusResponse.GetStatusResponseV0.Network} Network - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Network.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.GetStatusResponse.GetStatusResponseV0.Network(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.chainId = reader.string(); - break; - case 2: - message.peersCount = reader.uint32(); - break; - case 3: - message.listening = reader.bool(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; + /** + * Verifies a GetStatusResponse message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetStatusResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetStatusResponse.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.GetStatusResponse.GetStatusResponseV0.verify(message.v0); + if (error) + return "v0." + error; + } + } + return null; + }; - /** - * Decodes a Network message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network} Network - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Network.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; + /** + * Creates a GetStatusResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetStatusResponse + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetStatusResponse} GetStatusResponse + */ + GetStatusResponse.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetStatusResponse) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetStatusResponse(); + if (object.v0 != null) { + if (typeof object.v0 !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetStatusResponse.v0: object expected"); + message.v0 = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.fromObject(object.v0); + } + return message; + }; - /** - * Verifies a Network message. - * @function verify - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Network.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.chainId != null && message.hasOwnProperty("chainId")) - if (!$util.isString(message.chainId)) - return "chainId: string expected"; - if (message.peersCount != null && message.hasOwnProperty("peersCount")) - if (!$util.isInteger(message.peersCount)) - return "peersCount: integer expected"; - if (message.listening != null && message.hasOwnProperty("listening")) - if (typeof message.listening !== "boolean") - return "listening: boolean expected"; - return null; - }; + /** + * Creates a plain object from a GetStatusResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetStatusResponse + * @static + * @param {org.dash.platform.dapi.v0.GetStatusResponse} message GetStatusResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetStatusResponse.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.GetStatusResponse.GetStatusResponseV0.toObject(message.v0, options); + if (options.oneofs) + object.version = "v0"; + } + return object; + }; - /** - * Creates a Network message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network - * @static - * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network} Network - */ - Network.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network) - return object; - var message = new $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network(); - if (object.chainId != null) - message.chainId = String(object.chainId); - if (object.peersCount != null) - message.peersCount = object.peersCount >>> 0; - if (object.listening != null) - message.listening = Boolean(object.listening); - return message; - }; + /** + * Converts this GetStatusResponse to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetStatusResponse + * @instance + * @returns {Object.} JSON object + */ + GetStatusResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; - /** - * Creates a plain object from a Network message. Also converts values to other types if specified. - * @function toObject - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network - * @static - * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network} message Network - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Network.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - object.chainId = ""; - object.peersCount = 0; - object.listening = false; + GetStatusResponse.GetStatusResponseV0 = (function() { + + /** + * Properties of a GetStatusResponseV0. + * @memberof org.dash.platform.dapi.v0.GetStatusResponse + * @interface IGetStatusResponseV0 + * @property {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.IVersion|null} [version] GetStatusResponseV0 version + * @property {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.INode|null} [node] GetStatusResponseV0 node + * @property {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.IChain|null} [chain] GetStatusResponseV0 chain + * @property {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.INetwork|null} [network] GetStatusResponseV0 network + * @property {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.IStateSync|null} [stateSync] GetStatusResponseV0 stateSync + * @property {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.ITime|null} [time] GetStatusResponseV0 time + */ + + /** + * Constructs a new GetStatusResponseV0. + * @memberof org.dash.platform.dapi.v0.GetStatusResponse + * @classdesc Represents a GetStatusResponseV0. + * @implements IGetStatusResponseV0 + * @constructor + * @param {org.dash.platform.dapi.v0.GetStatusResponse.IGetStatusResponseV0=} [properties] Properties to set + */ + function GetStatusResponseV0(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]]; + } + + /** + * GetStatusResponseV0 version. + * @member {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.IVersion|null|undefined} version + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0 + * @instance + */ + GetStatusResponseV0.prototype.version = null; + + /** + * GetStatusResponseV0 node. + * @member {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.INode|null|undefined} node + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0 + * @instance + */ + GetStatusResponseV0.prototype.node = null; + + /** + * GetStatusResponseV0 chain. + * @member {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.IChain|null|undefined} chain + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0 + * @instance + */ + GetStatusResponseV0.prototype.chain = null; + + /** + * GetStatusResponseV0 network. + * @member {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.INetwork|null|undefined} network + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0 + * @instance + */ + GetStatusResponseV0.prototype.network = null; + + /** + * GetStatusResponseV0 stateSync. + * @member {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.IStateSync|null|undefined} stateSync + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0 + * @instance + */ + GetStatusResponseV0.prototype.stateSync = null; + + /** + * GetStatusResponseV0 time. + * @member {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.ITime|null|undefined} time + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0 + * @instance + */ + GetStatusResponseV0.prototype.time = null; + + /** + * Creates a new GetStatusResponseV0 instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0 + * @static + * @param {org.dash.platform.dapi.v0.GetStatusResponse.IGetStatusResponseV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0} GetStatusResponseV0 instance + */ + GetStatusResponseV0.create = function create(properties) { + return new GetStatusResponseV0(properties); + }; + + /** + * Encodes the specified GetStatusResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0 + * @static + * @param {org.dash.platform.dapi.v0.GetStatusResponse.IGetStatusResponseV0} message GetStatusResponseV0 message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetStatusResponseV0.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.version != null && Object.hasOwnProperty.call(message, "version")) + $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.encode(message.version, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.node != null && Object.hasOwnProperty.call(message, "node")) + $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.encode(message.node, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.chain != null && Object.hasOwnProperty.call(message, "chain")) + $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.encode(message.chain, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.network != null && Object.hasOwnProperty.call(message, "network")) + $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network.encode(message.network, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.stateSync != null && Object.hasOwnProperty.call(message, "stateSync")) + $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.encode(message.stateSync, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); + if (message.time != null && Object.hasOwnProperty.call(message, "time")) + $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.encode(message.time, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified GetStatusResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0 + * @static + * @param {org.dash.platform.dapi.v0.GetStatusResponse.IGetStatusResponseV0} message GetStatusResponseV0 message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetStatusResponseV0.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GetStatusResponseV0 message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0 + * @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.GetStatusResponse.GetStatusResponseV0} GetStatusResponseV0 + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetStatusResponseV0.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.GetStatusResponse.GetStatusResponseV0(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.version = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.decode(reader, reader.uint32()); + break; + case 2: + message.node = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.decode(reader, reader.uint32()); + break; + case 3: + message.chain = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.decode(reader, reader.uint32()); + break; + case 4: + message.network = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network.decode(reader, reader.uint32()); + break; + case 5: + message.stateSync = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.decode(reader, reader.uint32()); + break; + case 6: + message.time = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; } - if (message.chainId != null && message.hasOwnProperty("chainId")) - object.chainId = message.chainId; - if (message.peersCount != null && message.hasOwnProperty("peersCount")) - object.peersCount = message.peersCount; - if (message.listening != null && message.hasOwnProperty("listening")) - object.listening = message.listening; + } + return message; + }; + + /** + * Decodes a GetStatusResponseV0 message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0 + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0} GetStatusResponseV0 + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetStatusResponseV0.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GetStatusResponseV0 message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0 + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetStatusResponseV0.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.version != null && message.hasOwnProperty("version")) { + var error = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.verify(message.version); + if (error) + return "version." + error; + } + if (message.node != null && message.hasOwnProperty("node")) { + var error = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.verify(message.node); + if (error) + return "node." + error; + } + if (message.chain != null && message.hasOwnProperty("chain")) { + var error = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.verify(message.chain); + if (error) + return "chain." + error; + } + if (message.network != null && message.hasOwnProperty("network")) { + var error = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network.verify(message.network); + if (error) + return "network." + error; + } + if (message.stateSync != null && message.hasOwnProperty("stateSync")) { + var error = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.verify(message.stateSync); + if (error) + return "stateSync." + error; + } + if (message.time != null && message.hasOwnProperty("time")) { + var error = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.verify(message.time); + if (error) + return "time." + error; + } + return null; + }; + + /** + * Creates a GetStatusResponseV0 message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0 + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0} GetStatusResponseV0 + */ + GetStatusResponseV0.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0) return object; - }; + var message = new $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0(); + if (object.version != null) { + if (typeof object.version !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.version: object expected"); + message.version = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.fromObject(object.version); + } + if (object.node != null) { + if (typeof object.node !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.node: object expected"); + message.node = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.fromObject(object.node); + } + if (object.chain != null) { + if (typeof object.chain !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.chain: object expected"); + message.chain = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.fromObject(object.chain); + } + if (object.network != null) { + if (typeof object.network !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.network: object expected"); + message.network = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network.fromObject(object.network); + } + if (object.stateSync != null) { + if (typeof object.stateSync !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.stateSync: object expected"); + message.stateSync = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.fromObject(object.stateSync); + } + if (object.time != null) { + if (typeof object.time !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.time: object expected"); + message.time = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.fromObject(object.time); + } + return message; + }; - /** - * Converts this Network to JSON. - * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network - * @instance - * @returns {Object.} JSON object - */ - Network.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; + /** + * Creates a plain object from a GetStatusResponseV0 message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0 + * @static + * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0} message GetStatusResponseV0 + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetStatusResponseV0.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.version = null; + object.node = null; + object.chain = null; + object.network = null; + object.stateSync = null; + object.time = null; + } + if (message.version != null && message.hasOwnProperty("version")) + object.version = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.toObject(message.version, options); + if (message.node != null && message.hasOwnProperty("node")) + object.node = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.toObject(message.node, options); + if (message.chain != null && message.hasOwnProperty("chain")) + object.chain = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.toObject(message.chain, options); + if (message.network != null && message.hasOwnProperty("network")) + object.network = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network.toObject(message.network, options); + if (message.stateSync != null && message.hasOwnProperty("stateSync")) + object.stateSync = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.toObject(message.stateSync, options); + if (message.time != null && message.hasOwnProperty("time")) + object.time = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.toObject(message.time, options); + return object; + }; - return Network; - })(); + /** + * Converts this GetStatusResponseV0 to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0 + * @instance + * @returns {Object.} JSON object + */ + GetStatusResponseV0.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; - GetStatusResponseV0.StateSync = (function() { + GetStatusResponseV0.Version = (function() { /** - * Properties of a StateSync. + * Properties of a Version. * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0 - * @interface IStateSync - * @property {number|Long|null} [totalSyncedTime] StateSync totalSyncedTime - * @property {number|Long|null} [remainingTime] StateSync remainingTime - * @property {number|null} [totalSnapshots] StateSync totalSnapshots - * @property {number|Long|null} [chunkProcessAvgTime] StateSync chunkProcessAvgTime - * @property {number|Long|null} [snapshotHeight] StateSync snapshotHeight - * @property {number|Long|null} [snapshotChunksCount] StateSync snapshotChunksCount - * @property {number|Long|null} [backfilledBlocks] StateSync backfilledBlocks - * @property {number|Long|null} [backfillBlocksTotal] StateSync backfillBlocksTotal + * @interface IVersion + * @property {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.ISoftware|null} [software] Version software + * @property {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.IProtocol|null} [protocol] Version protocol */ /** - * Constructs a new StateSync. + * Constructs a new Version. * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0 - * @classdesc Represents a StateSync. - * @implements IStateSync + * @classdesc Represents a Version. + * @implements IVersion * @constructor - * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.IStateSync=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.IVersion=} [properties] Properties to set */ - function StateSync(properties) { + function Version(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -43283,166 +44454,88 @@ $root.org = (function() { } /** - * StateSync totalSyncedTime. - * @member {number|Long} totalSyncedTime - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync - * @instance - */ - StateSync.prototype.totalSyncedTime = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - - /** - * StateSync remainingTime. - * @member {number|Long} remainingTime - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync - * @instance - */ - StateSync.prototype.remainingTime = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - - /** - * StateSync totalSnapshots. - * @member {number} totalSnapshots - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync - * @instance - */ - StateSync.prototype.totalSnapshots = 0; - - /** - * StateSync chunkProcessAvgTime. - * @member {number|Long} chunkProcessAvgTime - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync - * @instance - */ - StateSync.prototype.chunkProcessAvgTime = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - - /** - * StateSync snapshotHeight. - * @member {number|Long} snapshotHeight - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync - * @instance - */ - StateSync.prototype.snapshotHeight = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - - /** - * StateSync snapshotChunksCount. - * @member {number|Long} snapshotChunksCount - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync - * @instance - */ - StateSync.prototype.snapshotChunksCount = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - - /** - * StateSync backfilledBlocks. - * @member {number|Long} backfilledBlocks - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync + * Version software. + * @member {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.ISoftware|null|undefined} software + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version * @instance */ - StateSync.prototype.backfilledBlocks = $util.Long ? $util.Long.fromBits(0,0,true) : 0; + Version.prototype.software = null; /** - * StateSync backfillBlocksTotal. - * @member {number|Long} backfillBlocksTotal - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync + * Version protocol. + * @member {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.IProtocol|null|undefined} protocol + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version * @instance */ - StateSync.prototype.backfillBlocksTotal = $util.Long ? $util.Long.fromBits(0,0,true) : 0; + Version.prototype.protocol = null; /** - * Creates a new StateSync instance using the specified properties. + * Creates a new Version instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version * @static - * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.IStateSync=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync} StateSync instance + * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.IVersion=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version} Version instance */ - StateSync.create = function create(properties) { - return new StateSync(properties); + Version.create = function create(properties) { + return new Version(properties); }; /** - * Encodes the specified StateSync message. Does not implicitly {@link org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.verify|verify} messages. + * Encodes the specified Version message. Does not implicitly {@link org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version * @static - * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.IStateSync} message StateSync message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.IVersion} message Version message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - StateSync.encode = function encode(message, writer) { + Version.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.totalSyncedTime != null && Object.hasOwnProperty.call(message, "totalSyncedTime")) - writer.uint32(/* id 1, wireType 0 =*/8).uint64(message.totalSyncedTime); - if (message.remainingTime != null && Object.hasOwnProperty.call(message, "remainingTime")) - writer.uint32(/* id 2, wireType 0 =*/16).uint64(message.remainingTime); - if (message.totalSnapshots != null && Object.hasOwnProperty.call(message, "totalSnapshots")) - writer.uint32(/* id 3, wireType 0 =*/24).uint32(message.totalSnapshots); - if (message.chunkProcessAvgTime != null && Object.hasOwnProperty.call(message, "chunkProcessAvgTime")) - writer.uint32(/* id 4, wireType 0 =*/32).uint64(message.chunkProcessAvgTime); - if (message.snapshotHeight != null && Object.hasOwnProperty.call(message, "snapshotHeight")) - writer.uint32(/* id 5, wireType 0 =*/40).uint64(message.snapshotHeight); - if (message.snapshotChunksCount != null && Object.hasOwnProperty.call(message, "snapshotChunksCount")) - writer.uint32(/* id 6, wireType 0 =*/48).uint64(message.snapshotChunksCount); - if (message.backfilledBlocks != null && Object.hasOwnProperty.call(message, "backfilledBlocks")) - writer.uint32(/* id 7, wireType 0 =*/56).uint64(message.backfilledBlocks); - if (message.backfillBlocksTotal != null && Object.hasOwnProperty.call(message, "backfillBlocksTotal")) - writer.uint32(/* id 8, wireType 0 =*/64).uint64(message.backfillBlocksTotal); + if (message.software != null && Object.hasOwnProperty.call(message, "software")) + $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.encode(message.software, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.protocol != null && Object.hasOwnProperty.call(message, "protocol")) + $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.encode(message.protocol, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; /** - * Encodes the specified StateSync message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.verify|verify} messages. + * Encodes the specified Version message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version * @static - * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.IStateSync} message StateSync message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.IVersion} message Version message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - StateSync.encodeDelimited = function encodeDelimited(message, writer) { + Version.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a StateSync message from the specified reader or buffer. + * Decodes a Version message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version * @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.GetStatusResponse.GetStatusResponseV0.StateSync} StateSync + * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version} Version * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - StateSync.decode = function decode(reader, length) { + Version.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.GetStatusResponse.GetStatusResponseV0.StateSync(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.totalSyncedTime = reader.uint64(); + message.software = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.decode(reader, reader.uint32()); break; case 2: - message.remainingTime = reader.uint64(); - break; - case 3: - message.totalSnapshots = reader.uint32(); - break; - case 4: - message.chunkProcessAvgTime = reader.uint64(); - break; - case 5: - message.snapshotHeight = reader.uint64(); - break; - case 6: - message.snapshotChunksCount = reader.uint64(); - break; - case 7: - message.backfilledBlocks = reader.uint64(); - break; - case 8: - message.backfillBlocksTotal = reader.uint64(); + message.protocol = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -43453,268 +44546,4572 @@ $root.org = (function() { }; /** - * Decodes a StateSync message from the specified reader or buffer, length delimited. + * Decodes a Version message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync} StateSync + * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version} Version * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - StateSync.decodeDelimited = function decodeDelimited(reader) { + Version.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a StateSync message. + * Verifies a Version message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - StateSync.verify = function verify(message) { + Version.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.totalSyncedTime != null && message.hasOwnProperty("totalSyncedTime")) - if (!$util.isInteger(message.totalSyncedTime) && !(message.totalSyncedTime && $util.isInteger(message.totalSyncedTime.low) && $util.isInteger(message.totalSyncedTime.high))) - return "totalSyncedTime: integer|Long expected"; - if (message.remainingTime != null && message.hasOwnProperty("remainingTime")) - if (!$util.isInteger(message.remainingTime) && !(message.remainingTime && $util.isInteger(message.remainingTime.low) && $util.isInteger(message.remainingTime.high))) - return "remainingTime: integer|Long expected"; - if (message.totalSnapshots != null && message.hasOwnProperty("totalSnapshots")) - if (!$util.isInteger(message.totalSnapshots)) - return "totalSnapshots: integer expected"; - if (message.chunkProcessAvgTime != null && message.hasOwnProperty("chunkProcessAvgTime")) - if (!$util.isInteger(message.chunkProcessAvgTime) && !(message.chunkProcessAvgTime && $util.isInteger(message.chunkProcessAvgTime.low) && $util.isInteger(message.chunkProcessAvgTime.high))) - return "chunkProcessAvgTime: integer|Long expected"; - if (message.snapshotHeight != null && message.hasOwnProperty("snapshotHeight")) - if (!$util.isInteger(message.snapshotHeight) && !(message.snapshotHeight && $util.isInteger(message.snapshotHeight.low) && $util.isInteger(message.snapshotHeight.high))) - return "snapshotHeight: integer|Long expected"; - if (message.snapshotChunksCount != null && message.hasOwnProperty("snapshotChunksCount")) - if (!$util.isInteger(message.snapshotChunksCount) && !(message.snapshotChunksCount && $util.isInteger(message.snapshotChunksCount.low) && $util.isInteger(message.snapshotChunksCount.high))) - return "snapshotChunksCount: integer|Long expected"; - if (message.backfilledBlocks != null && message.hasOwnProperty("backfilledBlocks")) - if (!$util.isInteger(message.backfilledBlocks) && !(message.backfilledBlocks && $util.isInteger(message.backfilledBlocks.low) && $util.isInteger(message.backfilledBlocks.high))) - return "backfilledBlocks: integer|Long expected"; - if (message.backfillBlocksTotal != null && message.hasOwnProperty("backfillBlocksTotal")) - if (!$util.isInteger(message.backfillBlocksTotal) && !(message.backfillBlocksTotal && $util.isInteger(message.backfillBlocksTotal.low) && $util.isInteger(message.backfillBlocksTotal.high))) - return "backfillBlocksTotal: integer|Long expected"; + if (message.software != null && message.hasOwnProperty("software")) { + var error = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.verify(message.software); + if (error) + return "software." + error; + } + if (message.protocol != null && message.hasOwnProperty("protocol")) { + var error = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.verify(message.protocol); + if (error) + return "protocol." + error; + } return null; }; /** - * Creates a StateSync message from a plain object. Also converts values to their respective internal types. + * Creates a Version message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync} StateSync + * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version} Version */ - StateSync.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync) + Version.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version) return object; - var message = new $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync(); - if (object.totalSyncedTime != null) - if ($util.Long) - (message.totalSyncedTime = $util.Long.fromValue(object.totalSyncedTime)).unsigned = true; - else if (typeof object.totalSyncedTime === "string") - message.totalSyncedTime = parseInt(object.totalSyncedTime, 10); - else if (typeof object.totalSyncedTime === "number") - message.totalSyncedTime = object.totalSyncedTime; - else if (typeof object.totalSyncedTime === "object") - message.totalSyncedTime = new $util.LongBits(object.totalSyncedTime.low >>> 0, object.totalSyncedTime.high >>> 0).toNumber(true); - if (object.remainingTime != null) - if ($util.Long) - (message.remainingTime = $util.Long.fromValue(object.remainingTime)).unsigned = true; - else if (typeof object.remainingTime === "string") - message.remainingTime = parseInt(object.remainingTime, 10); - else if (typeof object.remainingTime === "number") - message.remainingTime = object.remainingTime; - else if (typeof object.remainingTime === "object") - message.remainingTime = new $util.LongBits(object.remainingTime.low >>> 0, object.remainingTime.high >>> 0).toNumber(true); - if (object.totalSnapshots != null) - message.totalSnapshots = object.totalSnapshots >>> 0; - if (object.chunkProcessAvgTime != null) - if ($util.Long) - (message.chunkProcessAvgTime = $util.Long.fromValue(object.chunkProcessAvgTime)).unsigned = true; - else if (typeof object.chunkProcessAvgTime === "string") - message.chunkProcessAvgTime = parseInt(object.chunkProcessAvgTime, 10); - else if (typeof object.chunkProcessAvgTime === "number") - message.chunkProcessAvgTime = object.chunkProcessAvgTime; - else if (typeof object.chunkProcessAvgTime === "object") - message.chunkProcessAvgTime = new $util.LongBits(object.chunkProcessAvgTime.low >>> 0, object.chunkProcessAvgTime.high >>> 0).toNumber(true); - if (object.snapshotHeight != null) - if ($util.Long) - (message.snapshotHeight = $util.Long.fromValue(object.snapshotHeight)).unsigned = true; - else if (typeof object.snapshotHeight === "string") - message.snapshotHeight = parseInt(object.snapshotHeight, 10); - else if (typeof object.snapshotHeight === "number") - message.snapshotHeight = object.snapshotHeight; - else if (typeof object.snapshotHeight === "object") - message.snapshotHeight = new $util.LongBits(object.snapshotHeight.low >>> 0, object.snapshotHeight.high >>> 0).toNumber(true); - if (object.snapshotChunksCount != null) - if ($util.Long) - (message.snapshotChunksCount = $util.Long.fromValue(object.snapshotChunksCount)).unsigned = true; - else if (typeof object.snapshotChunksCount === "string") - message.snapshotChunksCount = parseInt(object.snapshotChunksCount, 10); - else if (typeof object.snapshotChunksCount === "number") - message.snapshotChunksCount = object.snapshotChunksCount; - else if (typeof object.snapshotChunksCount === "object") - message.snapshotChunksCount = new $util.LongBits(object.snapshotChunksCount.low >>> 0, object.snapshotChunksCount.high >>> 0).toNumber(true); - if (object.backfilledBlocks != null) - if ($util.Long) - (message.backfilledBlocks = $util.Long.fromValue(object.backfilledBlocks)).unsigned = true; - else if (typeof object.backfilledBlocks === "string") - message.backfilledBlocks = parseInt(object.backfilledBlocks, 10); - else if (typeof object.backfilledBlocks === "number") - message.backfilledBlocks = object.backfilledBlocks; - else if (typeof object.backfilledBlocks === "object") - message.backfilledBlocks = new $util.LongBits(object.backfilledBlocks.low >>> 0, object.backfilledBlocks.high >>> 0).toNumber(true); - if (object.backfillBlocksTotal != null) - if ($util.Long) - (message.backfillBlocksTotal = $util.Long.fromValue(object.backfillBlocksTotal)).unsigned = true; - else if (typeof object.backfillBlocksTotal === "string") - message.backfillBlocksTotal = parseInt(object.backfillBlocksTotal, 10); - else if (typeof object.backfillBlocksTotal === "number") - message.backfillBlocksTotal = object.backfillBlocksTotal; - else if (typeof object.backfillBlocksTotal === "object") - message.backfillBlocksTotal = new $util.LongBits(object.backfillBlocksTotal.low >>> 0, object.backfillBlocksTotal.high >>> 0).toNumber(true); + var message = new $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version(); + if (object.software != null) { + if (typeof object.software !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.software: object expected"); + message.software = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.fromObject(object.software); + } + if (object.protocol != null) { + if (typeof object.protocol !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.protocol: object expected"); + message.protocol = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.fromObject(object.protocol); + } return message; }; - /** - * Creates a plain object from a StateSync message. Also converts values to other types if specified. - * @function toObject - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync - * @static - * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync} message StateSync - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - StateSync.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.totalSyncedTime = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.totalSyncedTime = options.longs === String ? "0" : 0; - if ($util.Long) { - var long = new $util.Long(0, 0, true); - object.remainingTime = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.remainingTime = options.longs === String ? "0" : 0; - object.totalSnapshots = 0; - if ($util.Long) { - var long = new $util.Long(0, 0, true); - object.chunkProcessAvgTime = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.chunkProcessAvgTime = options.longs === String ? "0" : 0; - if ($util.Long) { - var long = new $util.Long(0, 0, true); - object.snapshotHeight = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.snapshotHeight = options.longs === String ? "0" : 0; - if ($util.Long) { - var long = new $util.Long(0, 0, true); - object.snapshotChunksCount = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.snapshotChunksCount = options.longs === String ? "0" : 0; - if ($util.Long) { - var long = new $util.Long(0, 0, true); - object.backfilledBlocks = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.backfilledBlocks = options.longs === String ? "0" : 0; - if ($util.Long) { - var long = new $util.Long(0, 0, true); - object.backfillBlocksTotal = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.backfillBlocksTotal = options.longs === String ? "0" : 0; + /** + * Creates a plain object from a Version message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version + * @static + * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version} message Version + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Version.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.software = null; + object.protocol = null; + } + if (message.software != null && message.hasOwnProperty("software")) + object.software = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.toObject(message.software, options); + if (message.protocol != null && message.hasOwnProperty("protocol")) + object.protocol = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.toObject(message.protocol, options); + return object; + }; + + /** + * Converts this Version to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version + * @instance + * @returns {Object.} JSON object + */ + Version.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + Version.Software = (function() { + + /** + * Properties of a Software. + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version + * @interface ISoftware + * @property {string|null} [dapi] Software dapi + * @property {string|null} [drive] Software drive + * @property {string|null} [tenderdash] Software tenderdash + */ + + /** + * Constructs a new Software. + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version + * @classdesc Represents a Software. + * @implements ISoftware + * @constructor + * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.ISoftware=} [properties] Properties to set + */ + function Software(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]]; + } + + /** + * Software dapi. + * @member {string} dapi + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software + * @instance + */ + Software.prototype.dapi = ""; + + /** + * Software drive. + * @member {string} drive + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software + * @instance + */ + Software.prototype.drive = ""; + + /** + * Software tenderdash. + * @member {string} tenderdash + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software + * @instance + */ + Software.prototype.tenderdash = ""; + + /** + * Creates a new Software instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software + * @static + * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.ISoftware=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software} Software instance + */ + Software.create = function create(properties) { + return new Software(properties); + }; + + /** + * Encodes the specified Software message. Does not implicitly {@link org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software + * @static + * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.ISoftware} message Software message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Software.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.dapi != null && Object.hasOwnProperty.call(message, "dapi")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.dapi); + if (message.drive != null && Object.hasOwnProperty.call(message, "drive")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.drive); + if (message.tenderdash != null && Object.hasOwnProperty.call(message, "tenderdash")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.tenderdash); + return writer; + }; + + /** + * Encodes the specified Software message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software + * @static + * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.ISoftware} message Software message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Software.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Software message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software + * @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.GetStatusResponse.GetStatusResponseV0.Version.Software} Software + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Software.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.GetStatusResponse.GetStatusResponseV0.Version.Software(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.dapi = reader.string(); + break; + case 2: + message.drive = reader.string(); + break; + case 3: + message.tenderdash = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Software message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software} Software + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Software.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Software message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Software.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.dapi != null && message.hasOwnProperty("dapi")) + if (!$util.isString(message.dapi)) + return "dapi: string expected"; + if (message.drive != null && message.hasOwnProperty("drive")) + if (!$util.isString(message.drive)) + return "drive: string expected"; + if (message.tenderdash != null && message.hasOwnProperty("tenderdash")) + if (!$util.isString(message.tenderdash)) + return "tenderdash: string expected"; + return null; + }; + + /** + * Creates a Software message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software} Software + */ + Software.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software(); + if (object.dapi != null) + message.dapi = String(object.dapi); + if (object.drive != null) + message.drive = String(object.drive); + if (object.tenderdash != null) + message.tenderdash = String(object.tenderdash); + return message; + }; + + /** + * Creates a plain object from a Software message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software + * @static + * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software} message Software + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Software.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.dapi = ""; + object.drive = ""; + object.tenderdash = ""; + } + if (message.dapi != null && message.hasOwnProperty("dapi")) + object.dapi = message.dapi; + if (message.drive != null && message.hasOwnProperty("drive")) + object.drive = message.drive; + if (message.tenderdash != null && message.hasOwnProperty("tenderdash")) + object.tenderdash = message.tenderdash; + return object; + }; + + /** + * Converts this Software to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software + * @instance + * @returns {Object.} JSON object + */ + Software.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Software; + })(); + + Version.Protocol = (function() { + + /** + * Properties of a Protocol. + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version + * @interface IProtocol + * @property {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.ITenderdash|null} [tenderdash] Protocol tenderdash + * @property {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.IDrive|null} [drive] Protocol drive + */ + + /** + * Constructs a new Protocol. + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version + * @classdesc Represents a Protocol. + * @implements IProtocol + * @constructor + * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.IProtocol=} [properties] Properties to set + */ + function Protocol(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]]; + } + + /** + * Protocol tenderdash. + * @member {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.ITenderdash|null|undefined} tenderdash + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol + * @instance + */ + Protocol.prototype.tenderdash = null; + + /** + * Protocol drive. + * @member {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.IDrive|null|undefined} drive + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol + * @instance + */ + Protocol.prototype.drive = null; + + /** + * Creates a new Protocol instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol + * @static + * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.IProtocol=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol} Protocol instance + */ + Protocol.create = function create(properties) { + return new Protocol(properties); + }; + + /** + * Encodes the specified Protocol message. Does not implicitly {@link org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol + * @static + * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.IProtocol} message Protocol message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Protocol.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.tenderdash != null && Object.hasOwnProperty.call(message, "tenderdash")) + $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash.encode(message.tenderdash, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.drive != null && Object.hasOwnProperty.call(message, "drive")) + $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive.encode(message.drive, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified Protocol message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol + * @static + * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.IProtocol} message Protocol message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Protocol.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Protocol message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol + * @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.GetStatusResponse.GetStatusResponseV0.Version.Protocol} Protocol + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Protocol.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.GetStatusResponse.GetStatusResponseV0.Version.Protocol(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.tenderdash = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash.decode(reader, reader.uint32()); + break; + case 2: + message.drive = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Protocol message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol} Protocol + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Protocol.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Protocol message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Protocol.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.tenderdash != null && message.hasOwnProperty("tenderdash")) { + var error = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash.verify(message.tenderdash); + if (error) + return "tenderdash." + error; + } + if (message.drive != null && message.hasOwnProperty("drive")) { + var error = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive.verify(message.drive); + if (error) + return "drive." + error; + } + return null; + }; + + /** + * Creates a Protocol message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol} Protocol + */ + Protocol.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol(); + if (object.tenderdash != null) { + if (typeof object.tenderdash !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.tenderdash: object expected"); + message.tenderdash = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash.fromObject(object.tenderdash); + } + if (object.drive != null) { + if (typeof object.drive !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.drive: object expected"); + message.drive = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive.fromObject(object.drive); + } + return message; + }; + + /** + * Creates a plain object from a Protocol message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol + * @static + * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol} message Protocol + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Protocol.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.tenderdash = null; + object.drive = null; + } + if (message.tenderdash != null && message.hasOwnProperty("tenderdash")) + object.tenderdash = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash.toObject(message.tenderdash, options); + if (message.drive != null && message.hasOwnProperty("drive")) + object.drive = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive.toObject(message.drive, options); + return object; + }; + + /** + * Converts this Protocol to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol + * @instance + * @returns {Object.} JSON object + */ + Protocol.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + Protocol.Tenderdash = (function() { + + /** + * Properties of a Tenderdash. + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol + * @interface ITenderdash + * @property {number|null} [p2p] Tenderdash p2p + * @property {number|null} [block] Tenderdash block + */ + + /** + * Constructs a new Tenderdash. + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol + * @classdesc Represents a Tenderdash. + * @implements ITenderdash + * @constructor + * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.ITenderdash=} [properties] Properties to set + */ + function Tenderdash(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]]; + } + + /** + * Tenderdash p2p. + * @member {number} p2p + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash + * @instance + */ + Tenderdash.prototype.p2p = 0; + + /** + * Tenderdash block. + * @member {number} block + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash + * @instance + */ + Tenderdash.prototype.block = 0; + + /** + * Creates a new Tenderdash instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash + * @static + * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.ITenderdash=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash} Tenderdash instance + */ + Tenderdash.create = function create(properties) { + return new Tenderdash(properties); + }; + + /** + * Encodes the specified Tenderdash message. Does not implicitly {@link org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash + * @static + * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.ITenderdash} message Tenderdash message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Tenderdash.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.p2p != null && Object.hasOwnProperty.call(message, "p2p")) + writer.uint32(/* id 1, wireType 0 =*/8).uint32(message.p2p); + if (message.block != null && Object.hasOwnProperty.call(message, "block")) + writer.uint32(/* id 2, wireType 0 =*/16).uint32(message.block); + return writer; + }; + + /** + * Encodes the specified Tenderdash message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash + * @static + * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.ITenderdash} message Tenderdash message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Tenderdash.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Tenderdash message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash + * @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.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash} Tenderdash + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Tenderdash.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.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.p2p = reader.uint32(); + break; + case 2: + message.block = reader.uint32(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Tenderdash message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash} Tenderdash + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Tenderdash.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Tenderdash message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Tenderdash.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.p2p != null && message.hasOwnProperty("p2p")) + if (!$util.isInteger(message.p2p)) + return "p2p: integer expected"; + if (message.block != null && message.hasOwnProperty("block")) + if (!$util.isInteger(message.block)) + return "block: integer expected"; + return null; + }; + + /** + * Creates a Tenderdash message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash} Tenderdash + */ + Tenderdash.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash(); + if (object.p2p != null) + message.p2p = object.p2p >>> 0; + if (object.block != null) + message.block = object.block >>> 0; + return message; + }; + + /** + * Creates a plain object from a Tenderdash message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash + * @static + * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash} message Tenderdash + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Tenderdash.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.p2p = 0; + object.block = 0; + } + if (message.p2p != null && message.hasOwnProperty("p2p")) + object.p2p = message.p2p; + if (message.block != null && message.hasOwnProperty("block")) + object.block = message.block; + return object; + }; + + /** + * Converts this Tenderdash to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash + * @instance + * @returns {Object.} JSON object + */ + Tenderdash.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Tenderdash; + })(); + + Protocol.Drive = (function() { + + /** + * Properties of a Drive. + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol + * @interface IDrive + * @property {number|null} [latest] Drive latest + * @property {number|null} [current] Drive current + */ + + /** + * Constructs a new Drive. + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol + * @classdesc Represents a Drive. + * @implements IDrive + * @constructor + * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.IDrive=} [properties] Properties to set + */ + function Drive(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]]; + } + + /** + * Drive latest. + * @member {number} latest + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive + * @instance + */ + Drive.prototype.latest = 0; + + /** + * Drive current. + * @member {number} current + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive + * @instance + */ + Drive.prototype.current = 0; + + /** + * Creates a new Drive instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive + * @static + * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.IDrive=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive} Drive instance + */ + Drive.create = function create(properties) { + return new Drive(properties); + }; + + /** + * Encodes the specified Drive message. Does not implicitly {@link org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive + * @static + * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.IDrive} message Drive message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Drive.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.latest != null && Object.hasOwnProperty.call(message, "latest")) + writer.uint32(/* id 3, wireType 0 =*/24).uint32(message.latest); + if (message.current != null && Object.hasOwnProperty.call(message, "current")) + writer.uint32(/* id 4, wireType 0 =*/32).uint32(message.current); + return writer; + }; + + /** + * Encodes the specified Drive message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive + * @static + * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.IDrive} message Drive message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Drive.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Drive message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive + * @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.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive} Drive + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Drive.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.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 3: + message.latest = reader.uint32(); + break; + case 4: + message.current = reader.uint32(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Drive message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive} Drive + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Drive.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Drive message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Drive.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.latest != null && message.hasOwnProperty("latest")) + if (!$util.isInteger(message.latest)) + return "latest: integer expected"; + if (message.current != null && message.hasOwnProperty("current")) + if (!$util.isInteger(message.current)) + return "current: integer expected"; + return null; + }; + + /** + * Creates a Drive message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive} Drive + */ + Drive.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive(); + if (object.latest != null) + message.latest = object.latest >>> 0; + if (object.current != null) + message.current = object.current >>> 0; + return message; + }; + + /** + * Creates a plain object from a Drive message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive + * @static + * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive} message Drive + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Drive.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.latest = 0; + object.current = 0; + } + if (message.latest != null && message.hasOwnProperty("latest")) + object.latest = message.latest; + if (message.current != null && message.hasOwnProperty("current")) + object.current = message.current; + return object; + }; + + /** + * Converts this Drive to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive + * @instance + * @returns {Object.} JSON object + */ + Drive.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Drive; + })(); + + return Protocol; + })(); + + return Version; + })(); + + GetStatusResponseV0.Time = (function() { + + /** + * Properties of a Time. + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0 + * @interface ITime + * @property {number|Long|null} [local] Time local + * @property {number|Long|null} [block] Time block + * @property {number|Long|null} [genesis] Time genesis + * @property {number|null} [epoch] Time epoch + */ + + /** + * Constructs a new Time. + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0 + * @classdesc Represents a Time. + * @implements ITime + * @constructor + * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.ITime=} [properties] Properties to set + */ + function Time(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]]; + } + + /** + * Time local. + * @member {number|Long} local + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time + * @instance + */ + Time.prototype.local = $util.Long ? $util.Long.fromBits(0,0,true) : 0; + + /** + * Time block. + * @member {number|Long} block + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time + * @instance + */ + Time.prototype.block = $util.Long ? $util.Long.fromBits(0,0,true) : 0; + + /** + * Time genesis. + * @member {number|Long} genesis + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time + * @instance + */ + Time.prototype.genesis = $util.Long ? $util.Long.fromBits(0,0,true) : 0; + + /** + * Time epoch. + * @member {number} epoch + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time + * @instance + */ + Time.prototype.epoch = 0; + + /** + * Creates a new Time instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time + * @static + * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.ITime=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time} Time instance + */ + Time.create = function create(properties) { + return new Time(properties); + }; + + /** + * Encodes the specified Time message. Does not implicitly {@link org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time + * @static + * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.ITime} message Time message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Time.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.local != null && Object.hasOwnProperty.call(message, "local")) + writer.uint32(/* id 1, wireType 0 =*/8).uint64(message.local); + if (message.block != null && Object.hasOwnProperty.call(message, "block")) + writer.uint32(/* id 2, wireType 0 =*/16).uint64(message.block); + if (message.genesis != null && Object.hasOwnProperty.call(message, "genesis")) + writer.uint32(/* id 3, wireType 0 =*/24).uint64(message.genesis); + if (message.epoch != null && Object.hasOwnProperty.call(message, "epoch")) + writer.uint32(/* id 4, wireType 0 =*/32).uint32(message.epoch); + return writer; + }; + + /** + * Encodes the specified Time message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time + * @static + * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.ITime} message Time message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Time.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Time message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time + * @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.GetStatusResponse.GetStatusResponseV0.Time} Time + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Time.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.GetStatusResponse.GetStatusResponseV0.Time(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.local = reader.uint64(); + break; + case 2: + message.block = reader.uint64(); + break; + case 3: + message.genesis = reader.uint64(); + break; + case 4: + message.epoch = reader.uint32(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Time message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time} Time + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Time.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Time message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Time.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.local != null && message.hasOwnProperty("local")) + if (!$util.isInteger(message.local) && !(message.local && $util.isInteger(message.local.low) && $util.isInteger(message.local.high))) + return "local: integer|Long expected"; + if (message.block != null && message.hasOwnProperty("block")) + if (!$util.isInteger(message.block) && !(message.block && $util.isInteger(message.block.low) && $util.isInteger(message.block.high))) + return "block: integer|Long expected"; + if (message.genesis != null && message.hasOwnProperty("genesis")) + if (!$util.isInteger(message.genesis) && !(message.genesis && $util.isInteger(message.genesis.low) && $util.isInteger(message.genesis.high))) + return "genesis: integer|Long expected"; + if (message.epoch != null && message.hasOwnProperty("epoch")) + if (!$util.isInteger(message.epoch)) + return "epoch: integer expected"; + return null; + }; + + /** + * Creates a Time message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time} Time + */ + Time.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time(); + if (object.local != null) + if ($util.Long) + (message.local = $util.Long.fromValue(object.local)).unsigned = true; + else if (typeof object.local === "string") + message.local = parseInt(object.local, 10); + else if (typeof object.local === "number") + message.local = object.local; + else if (typeof object.local === "object") + message.local = new $util.LongBits(object.local.low >>> 0, object.local.high >>> 0).toNumber(true); + if (object.block != null) + if ($util.Long) + (message.block = $util.Long.fromValue(object.block)).unsigned = true; + else if (typeof object.block === "string") + message.block = parseInt(object.block, 10); + else if (typeof object.block === "number") + message.block = object.block; + else if (typeof object.block === "object") + message.block = new $util.LongBits(object.block.low >>> 0, object.block.high >>> 0).toNumber(true); + if (object.genesis != null) + if ($util.Long) + (message.genesis = $util.Long.fromValue(object.genesis)).unsigned = true; + else if (typeof object.genesis === "string") + message.genesis = parseInt(object.genesis, 10); + else if (typeof object.genesis === "number") + message.genesis = object.genesis; + else if (typeof object.genesis === "object") + message.genesis = new $util.LongBits(object.genesis.low >>> 0, object.genesis.high >>> 0).toNumber(true); + if (object.epoch != null) + message.epoch = object.epoch >>> 0; + return message; + }; + + /** + * Creates a plain object from a Time message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time + * @static + * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time} message Time + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Time.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.local = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.local = options.longs === String ? "0" : 0; + if ($util.Long) { + var long = new $util.Long(0, 0, true); + object.block = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.block = options.longs === String ? "0" : 0; + if ($util.Long) { + var long = new $util.Long(0, 0, true); + object.genesis = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.genesis = options.longs === String ? "0" : 0; + object.epoch = 0; + } + if (message.local != null && message.hasOwnProperty("local")) + if (typeof message.local === "number") + object.local = options.longs === String ? String(message.local) : message.local; + else + object.local = options.longs === String ? $util.Long.prototype.toString.call(message.local) : options.longs === Number ? new $util.LongBits(message.local.low >>> 0, message.local.high >>> 0).toNumber(true) : message.local; + if (message.block != null && message.hasOwnProperty("block")) + if (typeof message.block === "number") + object.block = options.longs === String ? String(message.block) : message.block; + else + object.block = options.longs === String ? $util.Long.prototype.toString.call(message.block) : options.longs === Number ? new $util.LongBits(message.block.low >>> 0, message.block.high >>> 0).toNumber(true) : message.block; + if (message.genesis != null && message.hasOwnProperty("genesis")) + if (typeof message.genesis === "number") + object.genesis = options.longs === String ? String(message.genesis) : message.genesis; + else + object.genesis = options.longs === String ? $util.Long.prototype.toString.call(message.genesis) : options.longs === Number ? new $util.LongBits(message.genesis.low >>> 0, message.genesis.high >>> 0).toNumber(true) : message.genesis; + if (message.epoch != null && message.hasOwnProperty("epoch")) + object.epoch = message.epoch; + return object; + }; + + /** + * Converts this Time to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time + * @instance + * @returns {Object.} JSON object + */ + Time.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Time; + })(); + + GetStatusResponseV0.Node = (function() { + + /** + * Properties of a Node. + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0 + * @interface INode + * @property {Uint8Array|null} [id] Node id + * @property {Uint8Array|null} [proTxHash] Node proTxHash + */ + + /** + * Constructs a new Node. + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0 + * @classdesc Represents a Node. + * @implements INode + * @constructor + * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.INode=} [properties] Properties to set + */ + function Node(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]]; + } + + /** + * Node id. + * @member {Uint8Array} id + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node + * @instance + */ + Node.prototype.id = $util.newBuffer([]); + + /** + * Node proTxHash. + * @member {Uint8Array} proTxHash + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node + * @instance + */ + Node.prototype.proTxHash = $util.newBuffer([]); + + /** + * Creates a new Node instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node + * @static + * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.INode=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node} Node instance + */ + Node.create = function create(properties) { + return new Node(properties); + }; + + /** + * Encodes the specified Node message. Does not implicitly {@link org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node + * @static + * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.INode} message Node message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Node.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.proTxHash != null && Object.hasOwnProperty.call(message, "proTxHash")) + writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.proTxHash); + return writer; + }; + + /** + * Encodes the specified Node message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node + * @static + * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.INode} message Node message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Node.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Node message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node + * @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.GetStatusResponse.GetStatusResponseV0.Node} Node + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Node.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.GetStatusResponse.GetStatusResponseV0.Node(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.id = reader.bytes(); + break; + case 2: + message.proTxHash = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Node message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node} Node + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Node.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Node message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Node.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.proTxHash != null && message.hasOwnProperty("proTxHash")) + if (!(message.proTxHash && typeof message.proTxHash.length === "number" || $util.isString(message.proTxHash))) + return "proTxHash: buffer expected"; + return null; + }; + + /** + * Creates a Node message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node} Node + */ + Node.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node(); + 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.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; + return message; + }; + + /** + * Creates a plain object from a Node message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node + * @static + * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node} message Node + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Node.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); + } + if (options.bytes === String) + object.proTxHash = ""; + else { + object.proTxHash = []; + if (options.bytes !== Array) + object.proTxHash = $util.newBuffer(object.proTxHash); + } + } + 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.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; + return object; + }; + + /** + * Converts this Node to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node + * @instance + * @returns {Object.} JSON object + */ + Node.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Node; + })(); + + GetStatusResponseV0.Chain = (function() { + + /** + * Properties of a Chain. + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0 + * @interface IChain + * @property {boolean|null} [catchingUp] Chain catchingUp + * @property {Uint8Array|null} [latestBlockHash] Chain latestBlockHash + * @property {Uint8Array|null} [latestAppHash] Chain latestAppHash + * @property {number|Long|null} [latestBlockHeight] Chain latestBlockHeight + * @property {Uint8Array|null} [earliestBlockHash] Chain earliestBlockHash + * @property {Uint8Array|null} [earliestAppHash] Chain earliestAppHash + * @property {number|Long|null} [earliestBlockHeight] Chain earliestBlockHeight + * @property {number|Long|null} [maxPeerBlockHeight] Chain maxPeerBlockHeight + * @property {number|null} [coreChainLockedHeight] Chain coreChainLockedHeight + */ + + /** + * Constructs a new Chain. + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0 + * @classdesc Represents a Chain. + * @implements IChain + * @constructor + * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.IChain=} [properties] Properties to set + */ + function Chain(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]]; + } + + /** + * Chain catchingUp. + * @member {boolean} catchingUp + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain + * @instance + */ + Chain.prototype.catchingUp = false; + + /** + * Chain latestBlockHash. + * @member {Uint8Array} latestBlockHash + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain + * @instance + */ + Chain.prototype.latestBlockHash = $util.newBuffer([]); + + /** + * Chain latestAppHash. + * @member {Uint8Array} latestAppHash + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain + * @instance + */ + Chain.prototype.latestAppHash = $util.newBuffer([]); + + /** + * Chain latestBlockHeight. + * @member {number|Long} latestBlockHeight + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain + * @instance + */ + Chain.prototype.latestBlockHeight = $util.Long ? $util.Long.fromBits(0,0,true) : 0; + + /** + * Chain earliestBlockHash. + * @member {Uint8Array} earliestBlockHash + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain + * @instance + */ + Chain.prototype.earliestBlockHash = $util.newBuffer([]); + + /** + * Chain earliestAppHash. + * @member {Uint8Array} earliestAppHash + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain + * @instance + */ + Chain.prototype.earliestAppHash = $util.newBuffer([]); + + /** + * Chain earliestBlockHeight. + * @member {number|Long} earliestBlockHeight + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain + * @instance + */ + Chain.prototype.earliestBlockHeight = $util.Long ? $util.Long.fromBits(0,0,true) : 0; + + /** + * Chain maxPeerBlockHeight. + * @member {number|Long} maxPeerBlockHeight + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain + * @instance + */ + Chain.prototype.maxPeerBlockHeight = $util.Long ? $util.Long.fromBits(0,0,true) : 0; + + /** + * Chain coreChainLockedHeight. + * @member {number} coreChainLockedHeight + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain + * @instance + */ + Chain.prototype.coreChainLockedHeight = 0; + + /** + * Creates a new Chain instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain + * @static + * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.IChain=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain} Chain instance + */ + Chain.create = function create(properties) { + return new Chain(properties); + }; + + /** + * Encodes the specified Chain message. Does not implicitly {@link org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain + * @static + * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.IChain} message Chain message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Chain.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.catchingUp != null && Object.hasOwnProperty.call(message, "catchingUp")) + writer.uint32(/* id 1, wireType 0 =*/8).bool(message.catchingUp); + if (message.latestBlockHash != null && Object.hasOwnProperty.call(message, "latestBlockHash")) + writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.latestBlockHash); + if (message.latestAppHash != null && Object.hasOwnProperty.call(message, "latestAppHash")) + writer.uint32(/* id 3, wireType 2 =*/26).bytes(message.latestAppHash); + if (message.latestBlockHeight != null && Object.hasOwnProperty.call(message, "latestBlockHeight")) + writer.uint32(/* id 4, wireType 0 =*/32).uint64(message.latestBlockHeight); + if (message.earliestBlockHash != null && Object.hasOwnProperty.call(message, "earliestBlockHash")) + writer.uint32(/* id 5, wireType 2 =*/42).bytes(message.earliestBlockHash); + if (message.earliestAppHash != null && Object.hasOwnProperty.call(message, "earliestAppHash")) + writer.uint32(/* id 6, wireType 2 =*/50).bytes(message.earliestAppHash); + if (message.earliestBlockHeight != null && Object.hasOwnProperty.call(message, "earliestBlockHeight")) + writer.uint32(/* id 7, wireType 0 =*/56).uint64(message.earliestBlockHeight); + if (message.maxPeerBlockHeight != null && Object.hasOwnProperty.call(message, "maxPeerBlockHeight")) + writer.uint32(/* id 9, wireType 0 =*/72).uint64(message.maxPeerBlockHeight); + if (message.coreChainLockedHeight != null && Object.hasOwnProperty.call(message, "coreChainLockedHeight")) + writer.uint32(/* id 10, wireType 0 =*/80).uint32(message.coreChainLockedHeight); + return writer; + }; + + /** + * Encodes the specified Chain message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain + * @static + * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.IChain} message Chain message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Chain.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Chain message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain + * @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.GetStatusResponse.GetStatusResponseV0.Chain} Chain + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Chain.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.GetStatusResponse.GetStatusResponseV0.Chain(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.catchingUp = reader.bool(); + break; + case 2: + message.latestBlockHash = reader.bytes(); + break; + case 3: + message.latestAppHash = reader.bytes(); + break; + case 4: + message.latestBlockHeight = reader.uint64(); + break; + case 5: + message.earliestBlockHash = reader.bytes(); + break; + case 6: + message.earliestAppHash = reader.bytes(); + break; + case 7: + message.earliestBlockHeight = reader.uint64(); + break; + case 9: + message.maxPeerBlockHeight = reader.uint64(); + break; + case 10: + message.coreChainLockedHeight = reader.uint32(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Chain message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain} Chain + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Chain.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Chain message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Chain.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.catchingUp != null && message.hasOwnProperty("catchingUp")) + if (typeof message.catchingUp !== "boolean") + return "catchingUp: boolean expected"; + if (message.latestBlockHash != null && message.hasOwnProperty("latestBlockHash")) + if (!(message.latestBlockHash && typeof message.latestBlockHash.length === "number" || $util.isString(message.latestBlockHash))) + return "latestBlockHash: buffer expected"; + if (message.latestAppHash != null && message.hasOwnProperty("latestAppHash")) + if (!(message.latestAppHash && typeof message.latestAppHash.length === "number" || $util.isString(message.latestAppHash))) + return "latestAppHash: buffer expected"; + if (message.latestBlockHeight != null && message.hasOwnProperty("latestBlockHeight")) + if (!$util.isInteger(message.latestBlockHeight) && !(message.latestBlockHeight && $util.isInteger(message.latestBlockHeight.low) && $util.isInteger(message.latestBlockHeight.high))) + return "latestBlockHeight: integer|Long expected"; + if (message.earliestBlockHash != null && message.hasOwnProperty("earliestBlockHash")) + if (!(message.earliestBlockHash && typeof message.earliestBlockHash.length === "number" || $util.isString(message.earliestBlockHash))) + return "earliestBlockHash: buffer expected"; + if (message.earliestAppHash != null && message.hasOwnProperty("earliestAppHash")) + if (!(message.earliestAppHash && typeof message.earliestAppHash.length === "number" || $util.isString(message.earliestAppHash))) + return "earliestAppHash: buffer expected"; + if (message.earliestBlockHeight != null && message.hasOwnProperty("earliestBlockHeight")) + if (!$util.isInteger(message.earliestBlockHeight) && !(message.earliestBlockHeight && $util.isInteger(message.earliestBlockHeight.low) && $util.isInteger(message.earliestBlockHeight.high))) + return "earliestBlockHeight: integer|Long expected"; + if (message.maxPeerBlockHeight != null && message.hasOwnProperty("maxPeerBlockHeight")) + if (!$util.isInteger(message.maxPeerBlockHeight) && !(message.maxPeerBlockHeight && $util.isInteger(message.maxPeerBlockHeight.low) && $util.isInteger(message.maxPeerBlockHeight.high))) + return "maxPeerBlockHeight: integer|Long expected"; + if (message.coreChainLockedHeight != null && message.hasOwnProperty("coreChainLockedHeight")) + if (!$util.isInteger(message.coreChainLockedHeight)) + return "coreChainLockedHeight: integer expected"; + return null; + }; + + /** + * Creates a Chain message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain} Chain + */ + Chain.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain(); + if (object.catchingUp != null) + message.catchingUp = Boolean(object.catchingUp); + if (object.latestBlockHash != null) + if (typeof object.latestBlockHash === "string") + $util.base64.decode(object.latestBlockHash, message.latestBlockHash = $util.newBuffer($util.base64.length(object.latestBlockHash)), 0); + else if (object.latestBlockHash.length >= 0) + message.latestBlockHash = object.latestBlockHash; + if (object.latestAppHash != null) + if (typeof object.latestAppHash === "string") + $util.base64.decode(object.latestAppHash, message.latestAppHash = $util.newBuffer($util.base64.length(object.latestAppHash)), 0); + else if (object.latestAppHash.length >= 0) + message.latestAppHash = object.latestAppHash; + if (object.latestBlockHeight != null) + if ($util.Long) + (message.latestBlockHeight = $util.Long.fromValue(object.latestBlockHeight)).unsigned = true; + else if (typeof object.latestBlockHeight === "string") + message.latestBlockHeight = parseInt(object.latestBlockHeight, 10); + else if (typeof object.latestBlockHeight === "number") + message.latestBlockHeight = object.latestBlockHeight; + else if (typeof object.latestBlockHeight === "object") + message.latestBlockHeight = new $util.LongBits(object.latestBlockHeight.low >>> 0, object.latestBlockHeight.high >>> 0).toNumber(true); + if (object.earliestBlockHash != null) + if (typeof object.earliestBlockHash === "string") + $util.base64.decode(object.earliestBlockHash, message.earliestBlockHash = $util.newBuffer($util.base64.length(object.earliestBlockHash)), 0); + else if (object.earliestBlockHash.length >= 0) + message.earliestBlockHash = object.earliestBlockHash; + if (object.earliestAppHash != null) + if (typeof object.earliestAppHash === "string") + $util.base64.decode(object.earliestAppHash, message.earliestAppHash = $util.newBuffer($util.base64.length(object.earliestAppHash)), 0); + else if (object.earliestAppHash.length >= 0) + message.earliestAppHash = object.earliestAppHash; + if (object.earliestBlockHeight != null) + if ($util.Long) + (message.earliestBlockHeight = $util.Long.fromValue(object.earliestBlockHeight)).unsigned = true; + else if (typeof object.earliestBlockHeight === "string") + message.earliestBlockHeight = parseInt(object.earliestBlockHeight, 10); + else if (typeof object.earliestBlockHeight === "number") + message.earliestBlockHeight = object.earliestBlockHeight; + else if (typeof object.earliestBlockHeight === "object") + message.earliestBlockHeight = new $util.LongBits(object.earliestBlockHeight.low >>> 0, object.earliestBlockHeight.high >>> 0).toNumber(true); + if (object.maxPeerBlockHeight != null) + if ($util.Long) + (message.maxPeerBlockHeight = $util.Long.fromValue(object.maxPeerBlockHeight)).unsigned = true; + else if (typeof object.maxPeerBlockHeight === "string") + message.maxPeerBlockHeight = parseInt(object.maxPeerBlockHeight, 10); + else if (typeof object.maxPeerBlockHeight === "number") + message.maxPeerBlockHeight = object.maxPeerBlockHeight; + else if (typeof object.maxPeerBlockHeight === "object") + message.maxPeerBlockHeight = new $util.LongBits(object.maxPeerBlockHeight.low >>> 0, object.maxPeerBlockHeight.high >>> 0).toNumber(true); + if (object.coreChainLockedHeight != null) + message.coreChainLockedHeight = object.coreChainLockedHeight >>> 0; + return message; + }; + + /** + * Creates a plain object from a Chain message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain + * @static + * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain} message Chain + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Chain.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.catchingUp = false; + if (options.bytes === String) + object.latestBlockHash = ""; + else { + object.latestBlockHash = []; + if (options.bytes !== Array) + object.latestBlockHash = $util.newBuffer(object.latestBlockHash); + } + if (options.bytes === String) + object.latestAppHash = ""; + else { + object.latestAppHash = []; + if (options.bytes !== Array) + object.latestAppHash = $util.newBuffer(object.latestAppHash); + } + if ($util.Long) { + var long = new $util.Long(0, 0, true); + object.latestBlockHeight = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.latestBlockHeight = options.longs === String ? "0" : 0; + if (options.bytes === String) + object.earliestBlockHash = ""; + else { + object.earliestBlockHash = []; + if (options.bytes !== Array) + object.earliestBlockHash = $util.newBuffer(object.earliestBlockHash); + } + if (options.bytes === String) + object.earliestAppHash = ""; + else { + object.earliestAppHash = []; + if (options.bytes !== Array) + object.earliestAppHash = $util.newBuffer(object.earliestAppHash); + } + if ($util.Long) { + var long = new $util.Long(0, 0, true); + object.earliestBlockHeight = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.earliestBlockHeight = options.longs === String ? "0" : 0; + if ($util.Long) { + var long = new $util.Long(0, 0, true); + object.maxPeerBlockHeight = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.maxPeerBlockHeight = options.longs === String ? "0" : 0; + object.coreChainLockedHeight = 0; + } + if (message.catchingUp != null && message.hasOwnProperty("catchingUp")) + object.catchingUp = message.catchingUp; + if (message.latestBlockHash != null && message.hasOwnProperty("latestBlockHash")) + object.latestBlockHash = options.bytes === String ? $util.base64.encode(message.latestBlockHash, 0, message.latestBlockHash.length) : options.bytes === Array ? Array.prototype.slice.call(message.latestBlockHash) : message.latestBlockHash; + if (message.latestAppHash != null && message.hasOwnProperty("latestAppHash")) + object.latestAppHash = options.bytes === String ? $util.base64.encode(message.latestAppHash, 0, message.latestAppHash.length) : options.bytes === Array ? Array.prototype.slice.call(message.latestAppHash) : message.latestAppHash; + if (message.latestBlockHeight != null && message.hasOwnProperty("latestBlockHeight")) + if (typeof message.latestBlockHeight === "number") + object.latestBlockHeight = options.longs === String ? String(message.latestBlockHeight) : message.latestBlockHeight; + else + object.latestBlockHeight = options.longs === String ? $util.Long.prototype.toString.call(message.latestBlockHeight) : options.longs === Number ? new $util.LongBits(message.latestBlockHeight.low >>> 0, message.latestBlockHeight.high >>> 0).toNumber(true) : message.latestBlockHeight; + if (message.earliestBlockHash != null && message.hasOwnProperty("earliestBlockHash")) + object.earliestBlockHash = options.bytes === String ? $util.base64.encode(message.earliestBlockHash, 0, message.earliestBlockHash.length) : options.bytes === Array ? Array.prototype.slice.call(message.earliestBlockHash) : message.earliestBlockHash; + if (message.earliestAppHash != null && message.hasOwnProperty("earliestAppHash")) + object.earliestAppHash = options.bytes === String ? $util.base64.encode(message.earliestAppHash, 0, message.earliestAppHash.length) : options.bytes === Array ? Array.prototype.slice.call(message.earliestAppHash) : message.earliestAppHash; + if (message.earliestBlockHeight != null && message.hasOwnProperty("earliestBlockHeight")) + if (typeof message.earliestBlockHeight === "number") + object.earliestBlockHeight = options.longs === String ? String(message.earliestBlockHeight) : message.earliestBlockHeight; + else + object.earliestBlockHeight = options.longs === String ? $util.Long.prototype.toString.call(message.earliestBlockHeight) : options.longs === Number ? new $util.LongBits(message.earliestBlockHeight.low >>> 0, message.earliestBlockHeight.high >>> 0).toNumber(true) : message.earliestBlockHeight; + if (message.maxPeerBlockHeight != null && message.hasOwnProperty("maxPeerBlockHeight")) + if (typeof message.maxPeerBlockHeight === "number") + object.maxPeerBlockHeight = options.longs === String ? String(message.maxPeerBlockHeight) : message.maxPeerBlockHeight; + else + object.maxPeerBlockHeight = options.longs === String ? $util.Long.prototype.toString.call(message.maxPeerBlockHeight) : options.longs === Number ? new $util.LongBits(message.maxPeerBlockHeight.low >>> 0, message.maxPeerBlockHeight.high >>> 0).toNumber(true) : message.maxPeerBlockHeight; + if (message.coreChainLockedHeight != null && message.hasOwnProperty("coreChainLockedHeight")) + object.coreChainLockedHeight = message.coreChainLockedHeight; + return object; + }; + + /** + * Converts this Chain to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain + * @instance + * @returns {Object.} JSON object + */ + Chain.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Chain; + })(); + + GetStatusResponseV0.Network = (function() { + + /** + * Properties of a Network. + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0 + * @interface INetwork + * @property {string|null} [chainId] Network chainId + * @property {number|null} [peersCount] Network peersCount + * @property {boolean|null} [listening] Network listening + */ + + /** + * Constructs a new Network. + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0 + * @classdesc Represents a Network. + * @implements INetwork + * @constructor + * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.INetwork=} [properties] Properties to set + */ + function Network(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]]; + } + + /** + * Network chainId. + * @member {string} chainId + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network + * @instance + */ + Network.prototype.chainId = ""; + + /** + * Network peersCount. + * @member {number} peersCount + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network + * @instance + */ + Network.prototype.peersCount = 0; + + /** + * Network listening. + * @member {boolean} listening + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network + * @instance + */ + Network.prototype.listening = false; + + /** + * Creates a new Network instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network + * @static + * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.INetwork=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network} Network instance + */ + Network.create = function create(properties) { + return new Network(properties); + }; + + /** + * Encodes the specified Network message. Does not implicitly {@link org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network + * @static + * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.INetwork} message Network message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Network.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.chainId != null && Object.hasOwnProperty.call(message, "chainId")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.chainId); + if (message.peersCount != null && Object.hasOwnProperty.call(message, "peersCount")) + writer.uint32(/* id 2, wireType 0 =*/16).uint32(message.peersCount); + if (message.listening != null && Object.hasOwnProperty.call(message, "listening")) + writer.uint32(/* id 3, wireType 0 =*/24).bool(message.listening); + return writer; + }; + + /** + * Encodes the specified Network message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network + * @static + * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.INetwork} message Network message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Network.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Network message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network + * @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.GetStatusResponse.GetStatusResponseV0.Network} Network + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Network.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.GetStatusResponse.GetStatusResponseV0.Network(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.chainId = reader.string(); + break; + case 2: + message.peersCount = reader.uint32(); + break; + case 3: + message.listening = reader.bool(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Network message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network} Network + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Network.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Network message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Network.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.chainId != null && message.hasOwnProperty("chainId")) + if (!$util.isString(message.chainId)) + return "chainId: string expected"; + if (message.peersCount != null && message.hasOwnProperty("peersCount")) + if (!$util.isInteger(message.peersCount)) + return "peersCount: integer expected"; + if (message.listening != null && message.hasOwnProperty("listening")) + if (typeof message.listening !== "boolean") + return "listening: boolean expected"; + return null; + }; + + /** + * Creates a Network message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network} Network + */ + Network.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network(); + if (object.chainId != null) + message.chainId = String(object.chainId); + if (object.peersCount != null) + message.peersCount = object.peersCount >>> 0; + if (object.listening != null) + message.listening = Boolean(object.listening); + return message; + }; + + /** + * Creates a plain object from a Network message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network + * @static + * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network} message Network + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Network.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.chainId = ""; + object.peersCount = 0; + object.listening = false; + } + if (message.chainId != null && message.hasOwnProperty("chainId")) + object.chainId = message.chainId; + if (message.peersCount != null && message.hasOwnProperty("peersCount")) + object.peersCount = message.peersCount; + if (message.listening != null && message.hasOwnProperty("listening")) + object.listening = message.listening; + return object; + }; + + /** + * Converts this Network to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network + * @instance + * @returns {Object.} JSON object + */ + Network.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return Network; + })(); + + GetStatusResponseV0.StateSync = (function() { + + /** + * Properties of a StateSync. + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0 + * @interface IStateSync + * @property {number|Long|null} [totalSyncedTime] StateSync totalSyncedTime + * @property {number|Long|null} [remainingTime] StateSync remainingTime + * @property {number|null} [totalSnapshots] StateSync totalSnapshots + * @property {number|Long|null} [chunkProcessAvgTime] StateSync chunkProcessAvgTime + * @property {number|Long|null} [snapshotHeight] StateSync snapshotHeight + * @property {number|Long|null} [snapshotChunksCount] StateSync snapshotChunksCount + * @property {number|Long|null} [backfilledBlocks] StateSync backfilledBlocks + * @property {number|Long|null} [backfillBlocksTotal] StateSync backfillBlocksTotal + */ + + /** + * Constructs a new StateSync. + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0 + * @classdesc Represents a StateSync. + * @implements IStateSync + * @constructor + * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.IStateSync=} [properties] Properties to set + */ + function StateSync(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]]; + } + + /** + * StateSync totalSyncedTime. + * @member {number|Long} totalSyncedTime + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync + * @instance + */ + StateSync.prototype.totalSyncedTime = $util.Long ? $util.Long.fromBits(0,0,true) : 0; + + /** + * StateSync remainingTime. + * @member {number|Long} remainingTime + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync + * @instance + */ + StateSync.prototype.remainingTime = $util.Long ? $util.Long.fromBits(0,0,true) : 0; + + /** + * StateSync totalSnapshots. + * @member {number} totalSnapshots + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync + * @instance + */ + StateSync.prototype.totalSnapshots = 0; + + /** + * StateSync chunkProcessAvgTime. + * @member {number|Long} chunkProcessAvgTime + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync + * @instance + */ + StateSync.prototype.chunkProcessAvgTime = $util.Long ? $util.Long.fromBits(0,0,true) : 0; + + /** + * StateSync snapshotHeight. + * @member {number|Long} snapshotHeight + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync + * @instance + */ + StateSync.prototype.snapshotHeight = $util.Long ? $util.Long.fromBits(0,0,true) : 0; + + /** + * StateSync snapshotChunksCount. + * @member {number|Long} snapshotChunksCount + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync + * @instance + */ + StateSync.prototype.snapshotChunksCount = $util.Long ? $util.Long.fromBits(0,0,true) : 0; + + /** + * StateSync backfilledBlocks. + * @member {number|Long} backfilledBlocks + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync + * @instance + */ + StateSync.prototype.backfilledBlocks = $util.Long ? $util.Long.fromBits(0,0,true) : 0; + + /** + * StateSync backfillBlocksTotal. + * @member {number|Long} backfillBlocksTotal + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync + * @instance + */ + StateSync.prototype.backfillBlocksTotal = $util.Long ? $util.Long.fromBits(0,0,true) : 0; + + /** + * Creates a new StateSync instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync + * @static + * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.IStateSync=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync} StateSync instance + */ + StateSync.create = function create(properties) { + return new StateSync(properties); + }; + + /** + * Encodes the specified StateSync message. Does not implicitly {@link org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync + * @static + * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.IStateSync} message StateSync message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + StateSync.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.totalSyncedTime != null && Object.hasOwnProperty.call(message, "totalSyncedTime")) + writer.uint32(/* id 1, wireType 0 =*/8).uint64(message.totalSyncedTime); + if (message.remainingTime != null && Object.hasOwnProperty.call(message, "remainingTime")) + writer.uint32(/* id 2, wireType 0 =*/16).uint64(message.remainingTime); + if (message.totalSnapshots != null && Object.hasOwnProperty.call(message, "totalSnapshots")) + writer.uint32(/* id 3, wireType 0 =*/24).uint32(message.totalSnapshots); + if (message.chunkProcessAvgTime != null && Object.hasOwnProperty.call(message, "chunkProcessAvgTime")) + writer.uint32(/* id 4, wireType 0 =*/32).uint64(message.chunkProcessAvgTime); + if (message.snapshotHeight != null && Object.hasOwnProperty.call(message, "snapshotHeight")) + writer.uint32(/* id 5, wireType 0 =*/40).uint64(message.snapshotHeight); + if (message.snapshotChunksCount != null && Object.hasOwnProperty.call(message, "snapshotChunksCount")) + writer.uint32(/* id 6, wireType 0 =*/48).uint64(message.snapshotChunksCount); + if (message.backfilledBlocks != null && Object.hasOwnProperty.call(message, "backfilledBlocks")) + writer.uint32(/* id 7, wireType 0 =*/56).uint64(message.backfilledBlocks); + if (message.backfillBlocksTotal != null && Object.hasOwnProperty.call(message, "backfillBlocksTotal")) + writer.uint32(/* id 8, wireType 0 =*/64).uint64(message.backfillBlocksTotal); + return writer; + }; + + /** + * Encodes the specified StateSync message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync + * @static + * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.IStateSync} message StateSync message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + StateSync.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a StateSync message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync + * @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.GetStatusResponse.GetStatusResponseV0.StateSync} StateSync + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + StateSync.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.GetStatusResponse.GetStatusResponseV0.StateSync(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.totalSyncedTime = reader.uint64(); + break; + case 2: + message.remainingTime = reader.uint64(); + break; + case 3: + message.totalSnapshots = reader.uint32(); + break; + case 4: + message.chunkProcessAvgTime = reader.uint64(); + break; + case 5: + message.snapshotHeight = reader.uint64(); + break; + case 6: + message.snapshotChunksCount = reader.uint64(); + break; + case 7: + message.backfilledBlocks = reader.uint64(); + break; + case 8: + message.backfillBlocksTotal = reader.uint64(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a StateSync message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync} StateSync + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + StateSync.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a StateSync message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + StateSync.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.totalSyncedTime != null && message.hasOwnProperty("totalSyncedTime")) + if (!$util.isInteger(message.totalSyncedTime) && !(message.totalSyncedTime && $util.isInteger(message.totalSyncedTime.low) && $util.isInteger(message.totalSyncedTime.high))) + return "totalSyncedTime: integer|Long expected"; + if (message.remainingTime != null && message.hasOwnProperty("remainingTime")) + if (!$util.isInteger(message.remainingTime) && !(message.remainingTime && $util.isInteger(message.remainingTime.low) && $util.isInteger(message.remainingTime.high))) + return "remainingTime: integer|Long expected"; + if (message.totalSnapshots != null && message.hasOwnProperty("totalSnapshots")) + if (!$util.isInteger(message.totalSnapshots)) + return "totalSnapshots: integer expected"; + if (message.chunkProcessAvgTime != null && message.hasOwnProperty("chunkProcessAvgTime")) + if (!$util.isInteger(message.chunkProcessAvgTime) && !(message.chunkProcessAvgTime && $util.isInteger(message.chunkProcessAvgTime.low) && $util.isInteger(message.chunkProcessAvgTime.high))) + return "chunkProcessAvgTime: integer|Long expected"; + if (message.snapshotHeight != null && message.hasOwnProperty("snapshotHeight")) + if (!$util.isInteger(message.snapshotHeight) && !(message.snapshotHeight && $util.isInteger(message.snapshotHeight.low) && $util.isInteger(message.snapshotHeight.high))) + return "snapshotHeight: integer|Long expected"; + if (message.snapshotChunksCount != null && message.hasOwnProperty("snapshotChunksCount")) + if (!$util.isInteger(message.snapshotChunksCount) && !(message.snapshotChunksCount && $util.isInteger(message.snapshotChunksCount.low) && $util.isInteger(message.snapshotChunksCount.high))) + return "snapshotChunksCount: integer|Long expected"; + if (message.backfilledBlocks != null && message.hasOwnProperty("backfilledBlocks")) + if (!$util.isInteger(message.backfilledBlocks) && !(message.backfilledBlocks && $util.isInteger(message.backfilledBlocks.low) && $util.isInteger(message.backfilledBlocks.high))) + return "backfilledBlocks: integer|Long expected"; + if (message.backfillBlocksTotal != null && message.hasOwnProperty("backfillBlocksTotal")) + if (!$util.isInteger(message.backfillBlocksTotal) && !(message.backfillBlocksTotal && $util.isInteger(message.backfillBlocksTotal.low) && $util.isInteger(message.backfillBlocksTotal.high))) + return "backfillBlocksTotal: integer|Long expected"; + return null; + }; + + /** + * Creates a StateSync message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync} StateSync + */ + StateSync.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync(); + if (object.totalSyncedTime != null) + if ($util.Long) + (message.totalSyncedTime = $util.Long.fromValue(object.totalSyncedTime)).unsigned = true; + else if (typeof object.totalSyncedTime === "string") + message.totalSyncedTime = parseInt(object.totalSyncedTime, 10); + else if (typeof object.totalSyncedTime === "number") + message.totalSyncedTime = object.totalSyncedTime; + else if (typeof object.totalSyncedTime === "object") + message.totalSyncedTime = new $util.LongBits(object.totalSyncedTime.low >>> 0, object.totalSyncedTime.high >>> 0).toNumber(true); + if (object.remainingTime != null) + if ($util.Long) + (message.remainingTime = $util.Long.fromValue(object.remainingTime)).unsigned = true; + else if (typeof object.remainingTime === "string") + message.remainingTime = parseInt(object.remainingTime, 10); + else if (typeof object.remainingTime === "number") + message.remainingTime = object.remainingTime; + else if (typeof object.remainingTime === "object") + message.remainingTime = new $util.LongBits(object.remainingTime.low >>> 0, object.remainingTime.high >>> 0).toNumber(true); + if (object.totalSnapshots != null) + message.totalSnapshots = object.totalSnapshots >>> 0; + if (object.chunkProcessAvgTime != null) + if ($util.Long) + (message.chunkProcessAvgTime = $util.Long.fromValue(object.chunkProcessAvgTime)).unsigned = true; + else if (typeof object.chunkProcessAvgTime === "string") + message.chunkProcessAvgTime = parseInt(object.chunkProcessAvgTime, 10); + else if (typeof object.chunkProcessAvgTime === "number") + message.chunkProcessAvgTime = object.chunkProcessAvgTime; + else if (typeof object.chunkProcessAvgTime === "object") + message.chunkProcessAvgTime = new $util.LongBits(object.chunkProcessAvgTime.low >>> 0, object.chunkProcessAvgTime.high >>> 0).toNumber(true); + if (object.snapshotHeight != null) + if ($util.Long) + (message.snapshotHeight = $util.Long.fromValue(object.snapshotHeight)).unsigned = true; + else if (typeof object.snapshotHeight === "string") + message.snapshotHeight = parseInt(object.snapshotHeight, 10); + else if (typeof object.snapshotHeight === "number") + message.snapshotHeight = object.snapshotHeight; + else if (typeof object.snapshotHeight === "object") + message.snapshotHeight = new $util.LongBits(object.snapshotHeight.low >>> 0, object.snapshotHeight.high >>> 0).toNumber(true); + if (object.snapshotChunksCount != null) + if ($util.Long) + (message.snapshotChunksCount = $util.Long.fromValue(object.snapshotChunksCount)).unsigned = true; + else if (typeof object.snapshotChunksCount === "string") + message.snapshotChunksCount = parseInt(object.snapshotChunksCount, 10); + else if (typeof object.snapshotChunksCount === "number") + message.snapshotChunksCount = object.snapshotChunksCount; + else if (typeof object.snapshotChunksCount === "object") + message.snapshotChunksCount = new $util.LongBits(object.snapshotChunksCount.low >>> 0, object.snapshotChunksCount.high >>> 0).toNumber(true); + if (object.backfilledBlocks != null) + if ($util.Long) + (message.backfilledBlocks = $util.Long.fromValue(object.backfilledBlocks)).unsigned = true; + else if (typeof object.backfilledBlocks === "string") + message.backfilledBlocks = parseInt(object.backfilledBlocks, 10); + else if (typeof object.backfilledBlocks === "number") + message.backfilledBlocks = object.backfilledBlocks; + else if (typeof object.backfilledBlocks === "object") + message.backfilledBlocks = new $util.LongBits(object.backfilledBlocks.low >>> 0, object.backfilledBlocks.high >>> 0).toNumber(true); + if (object.backfillBlocksTotal != null) + if ($util.Long) + (message.backfillBlocksTotal = $util.Long.fromValue(object.backfillBlocksTotal)).unsigned = true; + else if (typeof object.backfillBlocksTotal === "string") + message.backfillBlocksTotal = parseInt(object.backfillBlocksTotal, 10); + else if (typeof object.backfillBlocksTotal === "number") + message.backfillBlocksTotal = object.backfillBlocksTotal; + else if (typeof object.backfillBlocksTotal === "object") + message.backfillBlocksTotal = new $util.LongBits(object.backfillBlocksTotal.low >>> 0, object.backfillBlocksTotal.high >>> 0).toNumber(true); + return message; + }; + + /** + * Creates a plain object from a StateSync message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync + * @static + * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync} message StateSync + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + StateSync.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.totalSyncedTime = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.totalSyncedTime = options.longs === String ? "0" : 0; + if ($util.Long) { + var long = new $util.Long(0, 0, true); + object.remainingTime = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.remainingTime = options.longs === String ? "0" : 0; + object.totalSnapshots = 0; + if ($util.Long) { + var long = new $util.Long(0, 0, true); + object.chunkProcessAvgTime = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.chunkProcessAvgTime = options.longs === String ? "0" : 0; + if ($util.Long) { + var long = new $util.Long(0, 0, true); + object.snapshotHeight = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.snapshotHeight = options.longs === String ? "0" : 0; + if ($util.Long) { + var long = new $util.Long(0, 0, true); + object.snapshotChunksCount = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.snapshotChunksCount = options.longs === String ? "0" : 0; + if ($util.Long) { + var long = new $util.Long(0, 0, true); + object.backfilledBlocks = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.backfilledBlocks = options.longs === String ? "0" : 0; + if ($util.Long) { + var long = new $util.Long(0, 0, true); + object.backfillBlocksTotal = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.backfillBlocksTotal = options.longs === String ? "0" : 0; + } + if (message.totalSyncedTime != null && message.hasOwnProperty("totalSyncedTime")) + if (typeof message.totalSyncedTime === "number") + object.totalSyncedTime = options.longs === String ? String(message.totalSyncedTime) : message.totalSyncedTime; + else + object.totalSyncedTime = options.longs === String ? $util.Long.prototype.toString.call(message.totalSyncedTime) : options.longs === Number ? new $util.LongBits(message.totalSyncedTime.low >>> 0, message.totalSyncedTime.high >>> 0).toNumber(true) : message.totalSyncedTime; + if (message.remainingTime != null && message.hasOwnProperty("remainingTime")) + if (typeof message.remainingTime === "number") + object.remainingTime = options.longs === String ? String(message.remainingTime) : message.remainingTime; + else + object.remainingTime = options.longs === String ? $util.Long.prototype.toString.call(message.remainingTime) : options.longs === Number ? new $util.LongBits(message.remainingTime.low >>> 0, message.remainingTime.high >>> 0).toNumber(true) : message.remainingTime; + if (message.totalSnapshots != null && message.hasOwnProperty("totalSnapshots")) + object.totalSnapshots = message.totalSnapshots; + if (message.chunkProcessAvgTime != null && message.hasOwnProperty("chunkProcessAvgTime")) + if (typeof message.chunkProcessAvgTime === "number") + object.chunkProcessAvgTime = options.longs === String ? String(message.chunkProcessAvgTime) : message.chunkProcessAvgTime; + else + object.chunkProcessAvgTime = options.longs === String ? $util.Long.prototype.toString.call(message.chunkProcessAvgTime) : options.longs === Number ? new $util.LongBits(message.chunkProcessAvgTime.low >>> 0, message.chunkProcessAvgTime.high >>> 0).toNumber(true) : message.chunkProcessAvgTime; + if (message.snapshotHeight != null && message.hasOwnProperty("snapshotHeight")) + if (typeof message.snapshotHeight === "number") + object.snapshotHeight = options.longs === String ? String(message.snapshotHeight) : message.snapshotHeight; + else + object.snapshotHeight = options.longs === String ? $util.Long.prototype.toString.call(message.snapshotHeight) : options.longs === Number ? new $util.LongBits(message.snapshotHeight.low >>> 0, message.snapshotHeight.high >>> 0).toNumber(true) : message.snapshotHeight; + if (message.snapshotChunksCount != null && message.hasOwnProperty("snapshotChunksCount")) + if (typeof message.snapshotChunksCount === "number") + object.snapshotChunksCount = options.longs === String ? String(message.snapshotChunksCount) : message.snapshotChunksCount; + else + object.snapshotChunksCount = options.longs === String ? $util.Long.prototype.toString.call(message.snapshotChunksCount) : options.longs === Number ? new $util.LongBits(message.snapshotChunksCount.low >>> 0, message.snapshotChunksCount.high >>> 0).toNumber(true) : message.snapshotChunksCount; + if (message.backfilledBlocks != null && message.hasOwnProperty("backfilledBlocks")) + if (typeof message.backfilledBlocks === "number") + object.backfilledBlocks = options.longs === String ? String(message.backfilledBlocks) : message.backfilledBlocks; + else + object.backfilledBlocks = options.longs === String ? $util.Long.prototype.toString.call(message.backfilledBlocks) : options.longs === Number ? new $util.LongBits(message.backfilledBlocks.low >>> 0, message.backfilledBlocks.high >>> 0).toNumber(true) : message.backfilledBlocks; + if (message.backfillBlocksTotal != null && message.hasOwnProperty("backfillBlocksTotal")) + if (typeof message.backfillBlocksTotal === "number") + object.backfillBlocksTotal = options.longs === String ? String(message.backfillBlocksTotal) : message.backfillBlocksTotal; + else + object.backfillBlocksTotal = options.longs === String ? $util.Long.prototype.toString.call(message.backfillBlocksTotal) : options.longs === Number ? new $util.LongBits(message.backfillBlocksTotal.low >>> 0, message.backfillBlocksTotal.high >>> 0).toNumber(true) : message.backfillBlocksTotal; + return object; + }; + + /** + * Converts this StateSync to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync + * @instance + * @returns {Object.} JSON object + */ + StateSync.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return StateSync; + })(); + + return GetStatusResponseV0; + })(); + + return GetStatusResponse; + })(); + + v0.GetCurrentQuorumsInfoRequest = (function() { + + /** + * Properties of a GetCurrentQuorumsInfoRequest. + * @memberof org.dash.platform.dapi.v0 + * @interface IGetCurrentQuorumsInfoRequest + * @property {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.IGetCurrentQuorumsInfoRequestV0|null} [v0] GetCurrentQuorumsInfoRequest v0 + */ + + /** + * Constructs a new GetCurrentQuorumsInfoRequest. + * @memberof org.dash.platform.dapi.v0 + * @classdesc Represents a GetCurrentQuorumsInfoRequest. + * @implements IGetCurrentQuorumsInfoRequest + * @constructor + * @param {org.dash.platform.dapi.v0.IGetCurrentQuorumsInfoRequest=} [properties] Properties to set + */ + function GetCurrentQuorumsInfoRequest(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]]; + } + + /** + * GetCurrentQuorumsInfoRequest v0. + * @member {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.IGetCurrentQuorumsInfoRequestV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest + * @instance + */ + GetCurrentQuorumsInfoRequest.prototype.v0 = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * GetCurrentQuorumsInfoRequest version. + * @member {"v0"|undefined} version + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest + * @instance + */ + Object.defineProperty(GetCurrentQuorumsInfoRequest.prototype, "version", { + get: $util.oneOfGetter($oneOfFields = ["v0"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new GetCurrentQuorumsInfoRequest instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest + * @static + * @param {org.dash.platform.dapi.v0.IGetCurrentQuorumsInfoRequest=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest} GetCurrentQuorumsInfoRequest instance + */ + GetCurrentQuorumsInfoRequest.create = function create(properties) { + return new GetCurrentQuorumsInfoRequest(properties); + }; + + /** + * Encodes the specified GetCurrentQuorumsInfoRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest + * @static + * @param {org.dash.platform.dapi.v0.IGetCurrentQuorumsInfoRequest} message GetCurrentQuorumsInfoRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetCurrentQuorumsInfoRequest.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.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified GetCurrentQuorumsInfoRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest + * @static + * @param {org.dash.platform.dapi.v0.IGetCurrentQuorumsInfoRequest} message GetCurrentQuorumsInfoRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetCurrentQuorumsInfoRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GetCurrentQuorumsInfoRequest message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest + * @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.GetCurrentQuorumsInfoRequest} GetCurrentQuorumsInfoRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetCurrentQuorumsInfoRequest.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.GetCurrentQuorumsInfoRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.v0 = $root.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GetCurrentQuorumsInfoRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest} GetCurrentQuorumsInfoRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetCurrentQuorumsInfoRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GetCurrentQuorumsInfoRequest message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetCurrentQuorumsInfoRequest.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.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0.verify(message.v0); + if (error) + return "v0." + error; + } + } + return null; + }; + + /** + * Creates a GetCurrentQuorumsInfoRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest} GetCurrentQuorumsInfoRequest + */ + GetCurrentQuorumsInfoRequest.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest(); + if (object.v0 != null) { + if (typeof object.v0 !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.v0: object expected"); + message.v0 = $root.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0.fromObject(object.v0); + } + return message; + }; + + /** + * Creates a plain object from a GetCurrentQuorumsInfoRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest + * @static + * @param {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest} message GetCurrentQuorumsInfoRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetCurrentQuorumsInfoRequest.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.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0.toObject(message.v0, options); + if (options.oneofs) + object.version = "v0"; + } + return object; + }; + + /** + * Converts this GetCurrentQuorumsInfoRequest to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest + * @instance + * @returns {Object.} JSON object + */ + GetCurrentQuorumsInfoRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0 = (function() { + + /** + * Properties of a GetCurrentQuorumsInfoRequestV0. + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest + * @interface IGetCurrentQuorumsInfoRequestV0 + */ + + /** + * Constructs a new GetCurrentQuorumsInfoRequestV0. + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest + * @classdesc Represents a GetCurrentQuorumsInfoRequestV0. + * @implements IGetCurrentQuorumsInfoRequestV0 + * @constructor + * @param {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.IGetCurrentQuorumsInfoRequestV0=} [properties] Properties to set + */ + function GetCurrentQuorumsInfoRequestV0(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 new GetCurrentQuorumsInfoRequestV0 instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0 + * @static + * @param {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.IGetCurrentQuorumsInfoRequestV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0} GetCurrentQuorumsInfoRequestV0 instance + */ + GetCurrentQuorumsInfoRequestV0.create = function create(properties) { + return new GetCurrentQuorumsInfoRequestV0(properties); + }; + + /** + * Encodes the specified GetCurrentQuorumsInfoRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0 + * @static + * @param {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.IGetCurrentQuorumsInfoRequestV0} message GetCurrentQuorumsInfoRequestV0 message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetCurrentQuorumsInfoRequestV0.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + return writer; + }; + + /** + * Encodes the specified GetCurrentQuorumsInfoRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0 + * @static + * @param {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.IGetCurrentQuorumsInfoRequestV0} message GetCurrentQuorumsInfoRequestV0 message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetCurrentQuorumsInfoRequestV0.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GetCurrentQuorumsInfoRequestV0 message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0 + * @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.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0} GetCurrentQuorumsInfoRequestV0 + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetCurrentQuorumsInfoRequestV0.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.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GetCurrentQuorumsInfoRequestV0 message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0 + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0} GetCurrentQuorumsInfoRequestV0 + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetCurrentQuorumsInfoRequestV0.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GetCurrentQuorumsInfoRequestV0 message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0 + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetCurrentQuorumsInfoRequestV0.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + return null; + }; + + /** + * Creates a GetCurrentQuorumsInfoRequestV0 message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0 + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0} GetCurrentQuorumsInfoRequestV0 + */ + GetCurrentQuorumsInfoRequestV0.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0) + return object; + return new $root.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0(); + }; + + /** + * Creates a plain object from a GetCurrentQuorumsInfoRequestV0 message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0 + * @static + * @param {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0} message GetCurrentQuorumsInfoRequestV0 + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetCurrentQuorumsInfoRequestV0.toObject = function toObject() { + return {}; + }; + + /** + * Converts this GetCurrentQuorumsInfoRequestV0 to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0 + * @instance + * @returns {Object.} JSON object + */ + GetCurrentQuorumsInfoRequestV0.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return GetCurrentQuorumsInfoRequestV0; + })(); + + return GetCurrentQuorumsInfoRequest; + })(); + + v0.GetCurrentQuorumsInfoResponse = (function() { + + /** + * Properties of a GetCurrentQuorumsInfoResponse. + * @memberof org.dash.platform.dapi.v0 + * @interface IGetCurrentQuorumsInfoResponse + * @property {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.IGetCurrentQuorumsInfoResponseV0|null} [v0] GetCurrentQuorumsInfoResponse v0 + */ + + /** + * Constructs a new GetCurrentQuorumsInfoResponse. + * @memberof org.dash.platform.dapi.v0 + * @classdesc Represents a GetCurrentQuorumsInfoResponse. + * @implements IGetCurrentQuorumsInfoResponse + * @constructor + * @param {org.dash.platform.dapi.v0.IGetCurrentQuorumsInfoResponse=} [properties] Properties to set + */ + function GetCurrentQuorumsInfoResponse(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]]; + } + + /** + * GetCurrentQuorumsInfoResponse v0. + * @member {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.IGetCurrentQuorumsInfoResponseV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse + * @instance + */ + GetCurrentQuorumsInfoResponse.prototype.v0 = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * GetCurrentQuorumsInfoResponse version. + * @member {"v0"|undefined} version + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse + * @instance + */ + Object.defineProperty(GetCurrentQuorumsInfoResponse.prototype, "version", { + get: $util.oneOfGetter($oneOfFields = ["v0"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new GetCurrentQuorumsInfoResponse instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse + * @static + * @param {org.dash.platform.dapi.v0.IGetCurrentQuorumsInfoResponse=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse} GetCurrentQuorumsInfoResponse instance + */ + GetCurrentQuorumsInfoResponse.create = function create(properties) { + return new GetCurrentQuorumsInfoResponse(properties); + }; + + /** + * Encodes the specified GetCurrentQuorumsInfoResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse + * @static + * @param {org.dash.platform.dapi.v0.IGetCurrentQuorumsInfoResponse} message GetCurrentQuorumsInfoResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetCurrentQuorumsInfoResponse.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.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified GetCurrentQuorumsInfoResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse + * @static + * @param {org.dash.platform.dapi.v0.IGetCurrentQuorumsInfoResponse} message GetCurrentQuorumsInfoResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetCurrentQuorumsInfoResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GetCurrentQuorumsInfoResponse message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse + * @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.GetCurrentQuorumsInfoResponse} GetCurrentQuorumsInfoResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetCurrentQuorumsInfoResponse.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.GetCurrentQuorumsInfoResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.v0 = $root.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GetCurrentQuorumsInfoResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse} GetCurrentQuorumsInfoResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetCurrentQuorumsInfoResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GetCurrentQuorumsInfoResponse message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetCurrentQuorumsInfoResponse.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.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.verify(message.v0); + if (error) + return "v0." + error; + } + } + return null; + }; + + /** + * Creates a GetCurrentQuorumsInfoResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse} GetCurrentQuorumsInfoResponse + */ + GetCurrentQuorumsInfoResponse.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse(); + if (object.v0 != null) { + if (typeof object.v0 !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.v0: object expected"); + message.v0 = $root.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.fromObject(object.v0); + } + return message; + }; + + /** + * Creates a plain object from a GetCurrentQuorumsInfoResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse + * @static + * @param {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse} message GetCurrentQuorumsInfoResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetCurrentQuorumsInfoResponse.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.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.toObject(message.v0, options); + if (options.oneofs) + object.version = "v0"; + } + return object; + }; + + /** + * Converts this GetCurrentQuorumsInfoResponse to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse + * @instance + * @returns {Object.} JSON object + */ + GetCurrentQuorumsInfoResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + GetCurrentQuorumsInfoResponse.ValidatorV0 = (function() { + + /** + * Properties of a ValidatorV0. + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse + * @interface IValidatorV0 + * @property {Uint8Array|null} [proTxHash] ValidatorV0 proTxHash + * @property {string|null} [nodeIp] ValidatorV0 nodeIp + * @property {boolean|null} [isBanned] ValidatorV0 isBanned + */ + + /** + * Constructs a new ValidatorV0. + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse + * @classdesc Represents a ValidatorV0. + * @implements IValidatorV0 + * @constructor + * @param {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.IValidatorV0=} [properties] Properties to set + */ + function ValidatorV0(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]]; + } + + /** + * ValidatorV0 proTxHash. + * @member {Uint8Array} proTxHash + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0 + * @instance + */ + ValidatorV0.prototype.proTxHash = $util.newBuffer([]); + + /** + * ValidatorV0 nodeIp. + * @member {string} nodeIp + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0 + * @instance + */ + ValidatorV0.prototype.nodeIp = ""; + + /** + * ValidatorV0 isBanned. + * @member {boolean} isBanned + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0 + * @instance + */ + ValidatorV0.prototype.isBanned = false; + + /** + * Creates a new ValidatorV0 instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0 + * @static + * @param {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.IValidatorV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0} ValidatorV0 instance + */ + ValidatorV0.create = function create(properties) { + return new ValidatorV0(properties); + }; + + /** + * Encodes the specified ValidatorV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0 + * @static + * @param {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.IValidatorV0} message ValidatorV0 message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ValidatorV0.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.nodeIp != null && Object.hasOwnProperty.call(message, "nodeIp")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.nodeIp); + if (message.isBanned != null && Object.hasOwnProperty.call(message, "isBanned")) + writer.uint32(/* id 3, wireType 0 =*/24).bool(message.isBanned); + return writer; + }; + + /** + * Encodes the specified ValidatorV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0 + * @static + * @param {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.IValidatorV0} message ValidatorV0 message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ValidatorV0.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ValidatorV0 message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0 + * @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.GetCurrentQuorumsInfoResponse.ValidatorV0} ValidatorV0 + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ValidatorV0.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.GetCurrentQuorumsInfoResponse.ValidatorV0(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.proTxHash = reader.bytes(); + break; + case 2: + message.nodeIp = reader.string(); + break; + case 3: + message.isBanned = reader.bool(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ValidatorV0 message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0 + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0} ValidatorV0 + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ValidatorV0.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ValidatorV0 message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0 + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ValidatorV0.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.nodeIp != null && message.hasOwnProperty("nodeIp")) + if (!$util.isString(message.nodeIp)) + return "nodeIp: string expected"; + if (message.isBanned != null && message.hasOwnProperty("isBanned")) + if (typeof message.isBanned !== "boolean") + return "isBanned: boolean expected"; + return null; + }; + + /** + * Creates a ValidatorV0 message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0 + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0} ValidatorV0 + */ + ValidatorV0.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0(); + 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.nodeIp != null) + message.nodeIp = String(object.nodeIp); + if (object.isBanned != null) + message.isBanned = Boolean(object.isBanned); + return message; + }; + + /** + * Creates a plain object from a ValidatorV0 message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0 + * @static + * @param {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0} message ValidatorV0 + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ValidatorV0.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.nodeIp = ""; + object.isBanned = false; + } + 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.nodeIp != null && message.hasOwnProperty("nodeIp")) + object.nodeIp = message.nodeIp; + if (message.isBanned != null && message.hasOwnProperty("isBanned")) + object.isBanned = message.isBanned; + return object; + }; + + /** + * Converts this ValidatorV0 to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0 + * @instance + * @returns {Object.} JSON object + */ + ValidatorV0.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ValidatorV0; + })(); + + GetCurrentQuorumsInfoResponse.ValidatorSetV0 = (function() { + + /** + * Properties of a ValidatorSetV0. + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse + * @interface IValidatorSetV0 + * @property {Uint8Array|null} [quorumHash] ValidatorSetV0 quorumHash + * @property {number|null} [coreHeight] ValidatorSetV0 coreHeight + * @property {Array.|null} [members] ValidatorSetV0 members + * @property {Uint8Array|null} [thresholdPublicKey] ValidatorSetV0 thresholdPublicKey + */ + + /** + * Constructs a new ValidatorSetV0. + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse + * @classdesc Represents a ValidatorSetV0. + * @implements IValidatorSetV0 + * @constructor + * @param {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.IValidatorSetV0=} [properties] Properties to set + */ + function ValidatorSetV0(properties) { + this.members = []; + 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]]; + } + + /** + * ValidatorSetV0 quorumHash. + * @member {Uint8Array} quorumHash + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0 + * @instance + */ + ValidatorSetV0.prototype.quorumHash = $util.newBuffer([]); + + /** + * ValidatorSetV0 coreHeight. + * @member {number} coreHeight + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0 + * @instance + */ + ValidatorSetV0.prototype.coreHeight = 0; + + /** + * ValidatorSetV0 members. + * @member {Array.} members + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0 + * @instance + */ + ValidatorSetV0.prototype.members = $util.emptyArray; + + /** + * ValidatorSetV0 thresholdPublicKey. + * @member {Uint8Array} thresholdPublicKey + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0 + * @instance + */ + ValidatorSetV0.prototype.thresholdPublicKey = $util.newBuffer([]); + + /** + * Creates a new ValidatorSetV0 instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0 + * @static + * @param {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.IValidatorSetV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0} ValidatorSetV0 instance + */ + ValidatorSetV0.create = function create(properties) { + return new ValidatorSetV0(properties); + }; + + /** + * Encodes the specified ValidatorSetV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0 + * @static + * @param {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.IValidatorSetV0} message ValidatorSetV0 message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ValidatorSetV0.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.quorumHash != null && Object.hasOwnProperty.call(message, "quorumHash")) + writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.quorumHash); + if (message.coreHeight != null && Object.hasOwnProperty.call(message, "coreHeight")) + writer.uint32(/* id 2, wireType 0 =*/16).uint32(message.coreHeight); + if (message.members != null && message.members.length) + for (var i = 0; i < message.members.length; ++i) + $root.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.encode(message.members[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.thresholdPublicKey != null && Object.hasOwnProperty.call(message, "thresholdPublicKey")) + writer.uint32(/* id 4, wireType 2 =*/34).bytes(message.thresholdPublicKey); + return writer; + }; + + /** + * Encodes the specified ValidatorSetV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0 + * @static + * @param {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.IValidatorSetV0} message ValidatorSetV0 message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ValidatorSetV0.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ValidatorSetV0 message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0 + * @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.GetCurrentQuorumsInfoResponse.ValidatorSetV0} ValidatorSetV0 + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ValidatorSetV0.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.GetCurrentQuorumsInfoResponse.ValidatorSetV0(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.quorumHash = reader.bytes(); + break; + case 2: + message.coreHeight = reader.uint32(); + break; + case 3: + if (!(message.members && message.members.length)) + message.members = []; + message.members.push($root.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.decode(reader, reader.uint32())); + break; + case 4: + message.thresholdPublicKey = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ValidatorSetV0 message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0 + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0} ValidatorSetV0 + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ValidatorSetV0.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ValidatorSetV0 message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0 + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ValidatorSetV0.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.quorumHash != null && message.hasOwnProperty("quorumHash")) + if (!(message.quorumHash && typeof message.quorumHash.length === "number" || $util.isString(message.quorumHash))) + return "quorumHash: buffer expected"; + if (message.coreHeight != null && message.hasOwnProperty("coreHeight")) + if (!$util.isInteger(message.coreHeight)) + return "coreHeight: integer expected"; + if (message.members != null && message.hasOwnProperty("members")) { + if (!Array.isArray(message.members)) + return "members: array expected"; + for (var i = 0; i < message.members.length; ++i) { + var error = $root.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.verify(message.members[i]); + if (error) + return "members." + error; + } + } + if (message.thresholdPublicKey != null && message.hasOwnProperty("thresholdPublicKey")) + if (!(message.thresholdPublicKey && typeof message.thresholdPublicKey.length === "number" || $util.isString(message.thresholdPublicKey))) + return "thresholdPublicKey: buffer expected"; + return null; + }; + + /** + * Creates a ValidatorSetV0 message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0 + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0} ValidatorSetV0 + */ + ValidatorSetV0.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0(); + if (object.quorumHash != null) + if (typeof object.quorumHash === "string") + $util.base64.decode(object.quorumHash, message.quorumHash = $util.newBuffer($util.base64.length(object.quorumHash)), 0); + else if (object.quorumHash.length >= 0) + message.quorumHash = object.quorumHash; + if (object.coreHeight != null) + message.coreHeight = object.coreHeight >>> 0; + if (object.members) { + if (!Array.isArray(object.members)) + throw TypeError(".org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.members: array expected"); + message.members = []; + for (var i = 0; i < object.members.length; ++i) { + if (typeof object.members[i] !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.members: object expected"); + message.members[i] = $root.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.fromObject(object.members[i]); + } + } + if (object.thresholdPublicKey != null) + if (typeof object.thresholdPublicKey === "string") + $util.base64.decode(object.thresholdPublicKey, message.thresholdPublicKey = $util.newBuffer($util.base64.length(object.thresholdPublicKey)), 0); + else if (object.thresholdPublicKey.length >= 0) + message.thresholdPublicKey = object.thresholdPublicKey; + return message; + }; + + /** + * Creates a plain object from a ValidatorSetV0 message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0 + * @static + * @param {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0} message ValidatorSetV0 + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ValidatorSetV0.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.members = []; + if (options.defaults) { + if (options.bytes === String) + object.quorumHash = ""; + else { + object.quorumHash = []; + if (options.bytes !== Array) + object.quorumHash = $util.newBuffer(object.quorumHash); + } + object.coreHeight = 0; + if (options.bytes === String) + object.thresholdPublicKey = ""; + else { + object.thresholdPublicKey = []; + if (options.bytes !== Array) + object.thresholdPublicKey = $util.newBuffer(object.thresholdPublicKey); + } + } + if (message.quorumHash != null && message.hasOwnProperty("quorumHash")) + object.quorumHash = options.bytes === String ? $util.base64.encode(message.quorumHash, 0, message.quorumHash.length) : options.bytes === Array ? Array.prototype.slice.call(message.quorumHash) : message.quorumHash; + if (message.coreHeight != null && message.hasOwnProperty("coreHeight")) + object.coreHeight = message.coreHeight; + if (message.members && message.members.length) { + object.members = []; + for (var j = 0; j < message.members.length; ++j) + object.members[j] = $root.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.toObject(message.members[j], options); + } + if (message.thresholdPublicKey != null && message.hasOwnProperty("thresholdPublicKey")) + object.thresholdPublicKey = options.bytes === String ? $util.base64.encode(message.thresholdPublicKey, 0, message.thresholdPublicKey.length) : options.bytes === Array ? Array.prototype.slice.call(message.thresholdPublicKey) : message.thresholdPublicKey; + return object; + }; + + /** + * Converts this ValidatorSetV0 to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0 + * @instance + * @returns {Object.} JSON object + */ + ValidatorSetV0.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return ValidatorSetV0; + })(); + + GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0 = (function() { + + /** + * Properties of a GetCurrentQuorumsInfoResponseV0. + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse + * @interface IGetCurrentQuorumsInfoResponseV0 + * @property {Array.|null} [quorumHashes] GetCurrentQuorumsInfoResponseV0 quorumHashes + * @property {Uint8Array|null} [currentQuorumHash] GetCurrentQuorumsInfoResponseV0 currentQuorumHash + * @property {Array.|null} [validatorSets] GetCurrentQuorumsInfoResponseV0 validatorSets + * @property {Uint8Array|null} [lastBlockProposer] GetCurrentQuorumsInfoResponseV0 lastBlockProposer + * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetCurrentQuorumsInfoResponseV0 metadata + */ + + /** + * Constructs a new GetCurrentQuorumsInfoResponseV0. + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse + * @classdesc Represents a GetCurrentQuorumsInfoResponseV0. + * @implements IGetCurrentQuorumsInfoResponseV0 + * @constructor + * @param {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.IGetCurrentQuorumsInfoResponseV0=} [properties] Properties to set + */ + function GetCurrentQuorumsInfoResponseV0(properties) { + this.quorumHashes = []; + this.validatorSets = []; + 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]]; + } + + /** + * GetCurrentQuorumsInfoResponseV0 quorumHashes. + * @member {Array.} quorumHashes + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0 + * @instance + */ + GetCurrentQuorumsInfoResponseV0.prototype.quorumHashes = $util.emptyArray; + + /** + * GetCurrentQuorumsInfoResponseV0 currentQuorumHash. + * @member {Uint8Array} currentQuorumHash + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0 + * @instance + */ + GetCurrentQuorumsInfoResponseV0.prototype.currentQuorumHash = $util.newBuffer([]); + + /** + * GetCurrentQuorumsInfoResponseV0 validatorSets. + * @member {Array.} validatorSets + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0 + * @instance + */ + GetCurrentQuorumsInfoResponseV0.prototype.validatorSets = $util.emptyArray; + + /** + * GetCurrentQuorumsInfoResponseV0 lastBlockProposer. + * @member {Uint8Array} lastBlockProposer + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0 + * @instance + */ + GetCurrentQuorumsInfoResponseV0.prototype.lastBlockProposer = $util.newBuffer([]); + + /** + * GetCurrentQuorumsInfoResponseV0 metadata. + * @member {org.dash.platform.dapi.v0.IResponseMetadata|null|undefined} metadata + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0 + * @instance + */ + GetCurrentQuorumsInfoResponseV0.prototype.metadata = null; + + /** + * Creates a new GetCurrentQuorumsInfoResponseV0 instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0 + * @static + * @param {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.IGetCurrentQuorumsInfoResponseV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0} GetCurrentQuorumsInfoResponseV0 instance + */ + GetCurrentQuorumsInfoResponseV0.create = function create(properties) { + return new GetCurrentQuorumsInfoResponseV0(properties); + }; + + /** + * Encodes the specified GetCurrentQuorumsInfoResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0 + * @static + * @param {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.IGetCurrentQuorumsInfoResponseV0} message GetCurrentQuorumsInfoResponseV0 message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetCurrentQuorumsInfoResponseV0.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.quorumHashes != null && message.quorumHashes.length) + for (var i = 0; i < message.quorumHashes.length; ++i) + writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.quorumHashes[i]); + if (message.currentQuorumHash != null && Object.hasOwnProperty.call(message, "currentQuorumHash")) + writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.currentQuorumHash); + if (message.validatorSets != null && message.validatorSets.length) + for (var i = 0; i < message.validatorSets.length; ++i) + $root.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.encode(message.validatorSets[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.lastBlockProposer != null && Object.hasOwnProperty.call(message, "lastBlockProposer")) + writer.uint32(/* id 4, wireType 2 =*/34).bytes(message.lastBlockProposer); + if (message.metadata != null && Object.hasOwnProperty.call(message, "metadata")) + $root.org.dash.platform.dapi.v0.ResponseMetadata.encode(message.metadata, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified GetCurrentQuorumsInfoResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0 + * @static + * @param {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.IGetCurrentQuorumsInfoResponseV0} message GetCurrentQuorumsInfoResponseV0 message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetCurrentQuorumsInfoResponseV0.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GetCurrentQuorumsInfoResponseV0 message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0 + * @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.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0} GetCurrentQuorumsInfoResponseV0 + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetCurrentQuorumsInfoResponseV0.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.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.quorumHashes && message.quorumHashes.length)) + message.quorumHashes = []; + message.quorumHashes.push(reader.bytes()); + break; + case 2: + message.currentQuorumHash = reader.bytes(); + break; + case 3: + if (!(message.validatorSets && message.validatorSets.length)) + message.validatorSets = []; + message.validatorSets.push($root.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.decode(reader, reader.uint32())); + break; + case 4: + message.lastBlockProposer = reader.bytes(); + break; + case 5: + message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GetCurrentQuorumsInfoResponseV0 message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0 + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0} GetCurrentQuorumsInfoResponseV0 + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetCurrentQuorumsInfoResponseV0.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GetCurrentQuorumsInfoResponseV0 message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0 + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetCurrentQuorumsInfoResponseV0.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.quorumHashes != null && message.hasOwnProperty("quorumHashes")) { + if (!Array.isArray(message.quorumHashes)) + return "quorumHashes: array expected"; + for (var i = 0; i < message.quorumHashes.length; ++i) + if (!(message.quorumHashes[i] && typeof message.quorumHashes[i].length === "number" || $util.isString(message.quorumHashes[i]))) + return "quorumHashes: buffer[] expected"; + } + if (message.currentQuorumHash != null && message.hasOwnProperty("currentQuorumHash")) + if (!(message.currentQuorumHash && typeof message.currentQuorumHash.length === "number" || $util.isString(message.currentQuorumHash))) + return "currentQuorumHash: buffer expected"; + if (message.validatorSets != null && message.hasOwnProperty("validatorSets")) { + if (!Array.isArray(message.validatorSets)) + return "validatorSets: array expected"; + for (var i = 0; i < message.validatorSets.length; ++i) { + var error = $root.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.verify(message.validatorSets[i]); + if (error) + return "validatorSets." + error; + } + } + if (message.lastBlockProposer != null && message.hasOwnProperty("lastBlockProposer")) + if (!(message.lastBlockProposer && typeof message.lastBlockProposer.length === "number" || $util.isString(message.lastBlockProposer))) + return "lastBlockProposer: buffer expected"; + 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 GetCurrentQuorumsInfoResponseV0 message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0 + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0} GetCurrentQuorumsInfoResponseV0 + */ + GetCurrentQuorumsInfoResponseV0.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0(); + if (object.quorumHashes) { + if (!Array.isArray(object.quorumHashes)) + throw TypeError(".org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.quorumHashes: array expected"); + message.quorumHashes = []; + for (var i = 0; i < object.quorumHashes.length; ++i) + if (typeof object.quorumHashes[i] === "string") + $util.base64.decode(object.quorumHashes[i], message.quorumHashes[i] = $util.newBuffer($util.base64.length(object.quorumHashes[i])), 0); + else if (object.quorumHashes[i].length >= 0) + message.quorumHashes[i] = object.quorumHashes[i]; + } + if (object.currentQuorumHash != null) + if (typeof object.currentQuorumHash === "string") + $util.base64.decode(object.currentQuorumHash, message.currentQuorumHash = $util.newBuffer($util.base64.length(object.currentQuorumHash)), 0); + else if (object.currentQuorumHash.length >= 0) + message.currentQuorumHash = object.currentQuorumHash; + if (object.validatorSets) { + if (!Array.isArray(object.validatorSets)) + throw TypeError(".org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.validatorSets: array expected"); + message.validatorSets = []; + for (var i = 0; i < object.validatorSets.length; ++i) { + if (typeof object.validatorSets[i] !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.validatorSets: object expected"); + message.validatorSets[i] = $root.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.fromObject(object.validatorSets[i]); + } + } + if (object.lastBlockProposer != null) + if (typeof object.lastBlockProposer === "string") + $util.base64.decode(object.lastBlockProposer, message.lastBlockProposer = $util.newBuffer($util.base64.length(object.lastBlockProposer)), 0); + else if (object.lastBlockProposer.length >= 0) + message.lastBlockProposer = object.lastBlockProposer; + if (object.metadata != null) { + if (typeof object.metadata !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.metadata: object expected"); + message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.fromObject(object.metadata); + } + return message; + }; + + /** + * Creates a plain object from a GetCurrentQuorumsInfoResponseV0 message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0 + * @static + * @param {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0} message GetCurrentQuorumsInfoResponseV0 + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetCurrentQuorumsInfoResponseV0.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.quorumHashes = []; + object.validatorSets = []; + } + if (options.defaults) { + if (options.bytes === String) + object.currentQuorumHash = ""; + else { + object.currentQuorumHash = []; + if (options.bytes !== Array) + object.currentQuorumHash = $util.newBuffer(object.currentQuorumHash); + } + if (options.bytes === String) + object.lastBlockProposer = ""; + else { + object.lastBlockProposer = []; + if (options.bytes !== Array) + object.lastBlockProposer = $util.newBuffer(object.lastBlockProposer); + } + object.metadata = null; + } + if (message.quorumHashes && message.quorumHashes.length) { + object.quorumHashes = []; + for (var j = 0; j < message.quorumHashes.length; ++j) + object.quorumHashes[j] = options.bytes === String ? $util.base64.encode(message.quorumHashes[j], 0, message.quorumHashes[j].length) : options.bytes === Array ? Array.prototype.slice.call(message.quorumHashes[j]) : message.quorumHashes[j]; + } + if (message.currentQuorumHash != null && message.hasOwnProperty("currentQuorumHash")) + object.currentQuorumHash = options.bytes === String ? $util.base64.encode(message.currentQuorumHash, 0, message.currentQuorumHash.length) : options.bytes === Array ? Array.prototype.slice.call(message.currentQuorumHash) : message.currentQuorumHash; + if (message.validatorSets && message.validatorSets.length) { + object.validatorSets = []; + for (var j = 0; j < message.validatorSets.length; ++j) + object.validatorSets[j] = $root.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.toObject(message.validatorSets[j], options); + } + if (message.lastBlockProposer != null && message.hasOwnProperty("lastBlockProposer")) + object.lastBlockProposer = options.bytes === String ? $util.base64.encode(message.lastBlockProposer, 0, message.lastBlockProposer.length) : options.bytes === Array ? Array.prototype.slice.call(message.lastBlockProposer) : message.lastBlockProposer; + if (message.metadata != null && message.hasOwnProperty("metadata")) + object.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.toObject(message.metadata, options); + return object; + }; + + /** + * Converts this GetCurrentQuorumsInfoResponseV0 to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0 + * @instance + * @returns {Object.} JSON object + */ + GetCurrentQuorumsInfoResponseV0.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return GetCurrentQuorumsInfoResponseV0; + })(); + + return GetCurrentQuorumsInfoResponse; + })(); + + v0.GetIdentityTokenBalancesRequest = (function() { + + /** + * Properties of a GetIdentityTokenBalancesRequest. + * @memberof org.dash.platform.dapi.v0 + * @interface IGetIdentityTokenBalancesRequest + * @property {org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.IGetIdentityTokenBalancesRequestV0|null} [v0] GetIdentityTokenBalancesRequest v0 + */ + + /** + * Constructs a new GetIdentityTokenBalancesRequest. + * @memberof org.dash.platform.dapi.v0 + * @classdesc Represents a GetIdentityTokenBalancesRequest. + * @implements IGetIdentityTokenBalancesRequest + * @constructor + * @param {org.dash.platform.dapi.v0.IGetIdentityTokenBalancesRequest=} [properties] Properties to set + */ + function GetIdentityTokenBalancesRequest(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]]; + } + + /** + * GetIdentityTokenBalancesRequest v0. + * @member {org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.IGetIdentityTokenBalancesRequestV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest + * @instance + */ + GetIdentityTokenBalancesRequest.prototype.v0 = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * GetIdentityTokenBalancesRequest version. + * @member {"v0"|undefined} version + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest + * @instance + */ + Object.defineProperty(GetIdentityTokenBalancesRequest.prototype, "version", { + get: $util.oneOfGetter($oneOfFields = ["v0"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new GetIdentityTokenBalancesRequest instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest + * @static + * @param {org.dash.platform.dapi.v0.IGetIdentityTokenBalancesRequest=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest} GetIdentityTokenBalancesRequest instance + */ + GetIdentityTokenBalancesRequest.create = function create(properties) { + return new GetIdentityTokenBalancesRequest(properties); + }; + + /** + * Encodes the specified GetIdentityTokenBalancesRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest + * @static + * @param {org.dash.platform.dapi.v0.IGetIdentityTokenBalancesRequest} message GetIdentityTokenBalancesRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetIdentityTokenBalancesRequest.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.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified GetIdentityTokenBalancesRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest + * @static + * @param {org.dash.platform.dapi.v0.IGetIdentityTokenBalancesRequest} message GetIdentityTokenBalancesRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetIdentityTokenBalancesRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GetIdentityTokenBalancesRequest message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest + * @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.GetIdentityTokenBalancesRequest} GetIdentityTokenBalancesRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetIdentityTokenBalancesRequest.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.GetIdentityTokenBalancesRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.v0 = $root.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GetIdentityTokenBalancesRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest} GetIdentityTokenBalancesRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetIdentityTokenBalancesRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GetIdentityTokenBalancesRequest message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetIdentityTokenBalancesRequest.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.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.verify(message.v0); + if (error) + return "v0." + error; + } + } + return null; + }; + + /** + * Creates a GetIdentityTokenBalancesRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest} GetIdentityTokenBalancesRequest + */ + GetIdentityTokenBalancesRequest.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest(); + if (object.v0 != null) { + if (typeof object.v0 !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.v0: object expected"); + message.v0 = $root.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.fromObject(object.v0); + } + return message; + }; + + /** + * Creates a plain object from a GetIdentityTokenBalancesRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest + * @static + * @param {org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest} message GetIdentityTokenBalancesRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetIdentityTokenBalancesRequest.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.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.toObject(message.v0, options); + if (options.oneofs) + object.version = "v0"; + } + return object; + }; + + /** + * Converts this GetIdentityTokenBalancesRequest to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest + * @instance + * @returns {Object.} JSON object + */ + GetIdentityTokenBalancesRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0 = (function() { + + /** + * Properties of a GetIdentityTokenBalancesRequestV0. + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest + * @interface IGetIdentityTokenBalancesRequestV0 + * @property {Uint8Array|null} [identityId] GetIdentityTokenBalancesRequestV0 identityId + * @property {Array.|null} [tokenIds] GetIdentityTokenBalancesRequestV0 tokenIds + * @property {boolean|null} [prove] GetIdentityTokenBalancesRequestV0 prove + */ + + /** + * Constructs a new GetIdentityTokenBalancesRequestV0. + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest + * @classdesc Represents a GetIdentityTokenBalancesRequestV0. + * @implements IGetIdentityTokenBalancesRequestV0 + * @constructor + * @param {org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.IGetIdentityTokenBalancesRequestV0=} [properties] Properties to set + */ + function GetIdentityTokenBalancesRequestV0(properties) { + this.tokenIds = []; + 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]]; + } + + /** + * GetIdentityTokenBalancesRequestV0 identityId. + * @member {Uint8Array} identityId + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0 + * @instance + */ + GetIdentityTokenBalancesRequestV0.prototype.identityId = $util.newBuffer([]); + + /** + * GetIdentityTokenBalancesRequestV0 tokenIds. + * @member {Array.} tokenIds + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0 + * @instance + */ + GetIdentityTokenBalancesRequestV0.prototype.tokenIds = $util.emptyArray; + + /** + * GetIdentityTokenBalancesRequestV0 prove. + * @member {boolean} prove + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0 + * @instance + */ + GetIdentityTokenBalancesRequestV0.prototype.prove = false; + + /** + * Creates a new GetIdentityTokenBalancesRequestV0 instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0 + * @static + * @param {org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.IGetIdentityTokenBalancesRequestV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0} GetIdentityTokenBalancesRequestV0 instance + */ + GetIdentityTokenBalancesRequestV0.create = function create(properties) { + return new GetIdentityTokenBalancesRequestV0(properties); + }; + + /** + * Encodes the specified GetIdentityTokenBalancesRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0 + * @static + * @param {org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.IGetIdentityTokenBalancesRequestV0} message GetIdentityTokenBalancesRequestV0 message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetIdentityTokenBalancesRequestV0.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.tokenIds != null && message.tokenIds.length) + for (var i = 0; i < message.tokenIds.length; ++i) + writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.tokenIds[i]); + if (message.prove != null && Object.hasOwnProperty.call(message, "prove")) + writer.uint32(/* id 3, wireType 0 =*/24).bool(message.prove); + return writer; + }; + + /** + * Encodes the specified GetIdentityTokenBalancesRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0 + * @static + * @param {org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.IGetIdentityTokenBalancesRequestV0} message GetIdentityTokenBalancesRequestV0 message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetIdentityTokenBalancesRequestV0.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GetIdentityTokenBalancesRequestV0 message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0 + * @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.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0} GetIdentityTokenBalancesRequestV0 + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetIdentityTokenBalancesRequestV0.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.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.identityId = reader.bytes(); + break; + case 2: + if (!(message.tokenIds && message.tokenIds.length)) + message.tokenIds = []; + message.tokenIds.push(reader.bytes()); + break; + case 3: + message.prove = reader.bool(); + break; + default: + reader.skipType(tag & 7); + break; } - if (message.totalSyncedTime != null && message.hasOwnProperty("totalSyncedTime")) - if (typeof message.totalSyncedTime === "number") - object.totalSyncedTime = options.longs === String ? String(message.totalSyncedTime) : message.totalSyncedTime; - else - object.totalSyncedTime = options.longs === String ? $util.Long.prototype.toString.call(message.totalSyncedTime) : options.longs === Number ? new $util.LongBits(message.totalSyncedTime.low >>> 0, message.totalSyncedTime.high >>> 0).toNumber(true) : message.totalSyncedTime; - if (message.remainingTime != null && message.hasOwnProperty("remainingTime")) - if (typeof message.remainingTime === "number") - object.remainingTime = options.longs === String ? String(message.remainingTime) : message.remainingTime; - else - object.remainingTime = options.longs === String ? $util.Long.prototype.toString.call(message.remainingTime) : options.longs === Number ? new $util.LongBits(message.remainingTime.low >>> 0, message.remainingTime.high >>> 0).toNumber(true) : message.remainingTime; - if (message.totalSnapshots != null && message.hasOwnProperty("totalSnapshots")) - object.totalSnapshots = message.totalSnapshots; - if (message.chunkProcessAvgTime != null && message.hasOwnProperty("chunkProcessAvgTime")) - if (typeof message.chunkProcessAvgTime === "number") - object.chunkProcessAvgTime = options.longs === String ? String(message.chunkProcessAvgTime) : message.chunkProcessAvgTime; - else - object.chunkProcessAvgTime = options.longs === String ? $util.Long.prototype.toString.call(message.chunkProcessAvgTime) : options.longs === Number ? new $util.LongBits(message.chunkProcessAvgTime.low >>> 0, message.chunkProcessAvgTime.high >>> 0).toNumber(true) : message.chunkProcessAvgTime; - if (message.snapshotHeight != null && message.hasOwnProperty("snapshotHeight")) - if (typeof message.snapshotHeight === "number") - object.snapshotHeight = options.longs === String ? String(message.snapshotHeight) : message.snapshotHeight; - else - object.snapshotHeight = options.longs === String ? $util.Long.prototype.toString.call(message.snapshotHeight) : options.longs === Number ? new $util.LongBits(message.snapshotHeight.low >>> 0, message.snapshotHeight.high >>> 0).toNumber(true) : message.snapshotHeight; - if (message.snapshotChunksCount != null && message.hasOwnProperty("snapshotChunksCount")) - if (typeof message.snapshotChunksCount === "number") - object.snapshotChunksCount = options.longs === String ? String(message.snapshotChunksCount) : message.snapshotChunksCount; - else - object.snapshotChunksCount = options.longs === String ? $util.Long.prototype.toString.call(message.snapshotChunksCount) : options.longs === Number ? new $util.LongBits(message.snapshotChunksCount.low >>> 0, message.snapshotChunksCount.high >>> 0).toNumber(true) : message.snapshotChunksCount; - if (message.backfilledBlocks != null && message.hasOwnProperty("backfilledBlocks")) - if (typeof message.backfilledBlocks === "number") - object.backfilledBlocks = options.longs === String ? String(message.backfilledBlocks) : message.backfilledBlocks; - else - object.backfilledBlocks = options.longs === String ? $util.Long.prototype.toString.call(message.backfilledBlocks) : options.longs === Number ? new $util.LongBits(message.backfilledBlocks.low >>> 0, message.backfilledBlocks.high >>> 0).toNumber(true) : message.backfilledBlocks; - if (message.backfillBlocksTotal != null && message.hasOwnProperty("backfillBlocksTotal")) - if (typeof message.backfillBlocksTotal === "number") - object.backfillBlocksTotal = options.longs === String ? String(message.backfillBlocksTotal) : message.backfillBlocksTotal; - else - object.backfillBlocksTotal = options.longs === String ? $util.Long.prototype.toString.call(message.backfillBlocksTotal) : options.longs === Number ? new $util.LongBits(message.backfillBlocksTotal.low >>> 0, message.backfillBlocksTotal.high >>> 0).toNumber(true) : message.backfillBlocksTotal; + } + return message; + }; + + /** + * Decodes a GetIdentityTokenBalancesRequestV0 message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0 + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0} GetIdentityTokenBalancesRequestV0 + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetIdentityTokenBalancesRequestV0.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GetIdentityTokenBalancesRequestV0 message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0 + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetIdentityTokenBalancesRequestV0.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.tokenIds != null && message.hasOwnProperty("tokenIds")) { + if (!Array.isArray(message.tokenIds)) + return "tokenIds: array expected"; + for (var i = 0; i < message.tokenIds.length; ++i) + if (!(message.tokenIds[i] && typeof message.tokenIds[i].length === "number" || $util.isString(message.tokenIds[i]))) + return "tokenIds: buffer[] expected"; + } + if (message.prove != null && message.hasOwnProperty("prove")) + if (typeof message.prove !== "boolean") + return "prove: boolean expected"; + return null; + }; + + /** + * Creates a GetIdentityTokenBalancesRequestV0 message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0 + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0} GetIdentityTokenBalancesRequestV0 + */ + GetIdentityTokenBalancesRequestV0.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0) return object; - }; + var message = new $root.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0(); + 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.tokenIds) { + if (!Array.isArray(object.tokenIds)) + throw TypeError(".org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.tokenIds: array expected"); + message.tokenIds = []; + for (var i = 0; i < object.tokenIds.length; ++i) + if (typeof object.tokenIds[i] === "string") + $util.base64.decode(object.tokenIds[i], message.tokenIds[i] = $util.newBuffer($util.base64.length(object.tokenIds[i])), 0); + else if (object.tokenIds[i].length >= 0) + message.tokenIds[i] = object.tokenIds[i]; + } + if (object.prove != null) + message.prove = Boolean(object.prove); + return message; + }; - /** - * Converts this StateSync to JSON. - * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync - * @instance - * @returns {Object.} JSON object - */ - StateSync.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; + /** + * Creates a plain object from a GetIdentityTokenBalancesRequestV0 message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0 + * @static + * @param {org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0} message GetIdentityTokenBalancesRequestV0 + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetIdentityTokenBalancesRequestV0.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.tokenIds = []; + if (options.defaults) { + if (options.bytes === String) + object.identityId = ""; + else { + object.identityId = []; + if (options.bytes !== Array) + object.identityId = $util.newBuffer(object.identityId); + } + object.prove = false; + } + 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.tokenIds && message.tokenIds.length) { + object.tokenIds = []; + for (var j = 0; j < message.tokenIds.length; ++j) + object.tokenIds[j] = options.bytes === String ? $util.base64.encode(message.tokenIds[j], 0, message.tokenIds[j].length) : options.bytes === Array ? Array.prototype.slice.call(message.tokenIds[j]) : message.tokenIds[j]; + } + if (message.prove != null && message.hasOwnProperty("prove")) + object.prove = message.prove; + return object; + }; - return StateSync; - })(); + /** + * Converts this GetIdentityTokenBalancesRequestV0 to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0 + * @instance + * @returns {Object.} JSON object + */ + GetIdentityTokenBalancesRequestV0.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; - return GetStatusResponseV0; + return GetIdentityTokenBalancesRequestV0; })(); - return GetStatusResponse; + return GetIdentityTokenBalancesRequest; })(); - v0.GetCurrentQuorumsInfoRequest = (function() { + v0.GetIdentityTokenBalancesResponse = (function() { /** - * Properties of a GetCurrentQuorumsInfoRequest. + * Properties of a GetIdentityTokenBalancesResponse. * @memberof org.dash.platform.dapi.v0 - * @interface IGetCurrentQuorumsInfoRequest - * @property {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.IGetCurrentQuorumsInfoRequestV0|null} [v0] GetCurrentQuorumsInfoRequest v0 + * @interface IGetIdentityTokenBalancesResponse + * @property {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.IGetIdentityTokenBalancesResponseV0|null} [v0] GetIdentityTokenBalancesResponse v0 */ /** - * Constructs a new GetCurrentQuorumsInfoRequest. + * Constructs a new GetIdentityTokenBalancesResponse. * @memberof org.dash.platform.dapi.v0 - * @classdesc Represents a GetCurrentQuorumsInfoRequest. - * @implements IGetCurrentQuorumsInfoRequest + * @classdesc Represents a GetIdentityTokenBalancesResponse. + * @implements IGetIdentityTokenBalancesResponse * @constructor - * @param {org.dash.platform.dapi.v0.IGetCurrentQuorumsInfoRequest=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.IGetIdentityTokenBalancesResponse=} [properties] Properties to set */ - function GetCurrentQuorumsInfoRequest(properties) { + function GetIdentityTokenBalancesResponse(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -43722,89 +49119,89 @@ $root.org = (function() { } /** - * GetCurrentQuorumsInfoRequest v0. - * @member {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.IGetCurrentQuorumsInfoRequestV0|null|undefined} v0 - * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest + * GetIdentityTokenBalancesResponse v0. + * @member {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.IGetIdentityTokenBalancesResponseV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse * @instance */ - GetCurrentQuorumsInfoRequest.prototype.v0 = null; + GetIdentityTokenBalancesResponse.prototype.v0 = null; // OneOf field names bound to virtual getters and setters var $oneOfFields; /** - * GetCurrentQuorumsInfoRequest version. + * GetIdentityTokenBalancesResponse version. * @member {"v0"|undefined} version - * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse * @instance */ - Object.defineProperty(GetCurrentQuorumsInfoRequest.prototype, "version", { + Object.defineProperty(GetIdentityTokenBalancesResponse.prototype, "version", { get: $util.oneOfGetter($oneOfFields = ["v0"]), set: $util.oneOfSetter($oneOfFields) }); /** - * Creates a new GetCurrentQuorumsInfoRequest instance using the specified properties. + * Creates a new GetIdentityTokenBalancesResponse instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse * @static - * @param {org.dash.platform.dapi.v0.IGetCurrentQuorumsInfoRequest=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest} GetCurrentQuorumsInfoRequest instance + * @param {org.dash.platform.dapi.v0.IGetIdentityTokenBalancesResponse=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse} GetIdentityTokenBalancesResponse instance */ - GetCurrentQuorumsInfoRequest.create = function create(properties) { - return new GetCurrentQuorumsInfoRequest(properties); + GetIdentityTokenBalancesResponse.create = function create(properties) { + return new GetIdentityTokenBalancesResponse(properties); }; /** - * Encodes the specified GetCurrentQuorumsInfoRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.verify|verify} messages. + * Encodes the specified GetIdentityTokenBalancesResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse * @static - * @param {org.dash.platform.dapi.v0.IGetCurrentQuorumsInfoRequest} message GetCurrentQuorumsInfoRequest message or plain object to encode + * @param {org.dash.platform.dapi.v0.IGetIdentityTokenBalancesResponse} message GetIdentityTokenBalancesResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetCurrentQuorumsInfoRequest.encode = function encode(message, writer) { + GetIdentityTokenBalancesResponse.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.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + $root.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified GetCurrentQuorumsInfoRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.verify|verify} messages. + * Encodes the specified GetIdentityTokenBalancesResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse * @static - * @param {org.dash.platform.dapi.v0.IGetCurrentQuorumsInfoRequest} message GetCurrentQuorumsInfoRequest message or plain object to encode + * @param {org.dash.platform.dapi.v0.IGetIdentityTokenBalancesResponse} message GetIdentityTokenBalancesResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetCurrentQuorumsInfoRequest.encodeDelimited = function encodeDelimited(message, writer) { + GetIdentityTokenBalancesResponse.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetCurrentQuorumsInfoRequest message from the specified reader or buffer. + * Decodes a GetIdentityTokenBalancesResponse message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse * @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.GetCurrentQuorumsInfoRequest} GetCurrentQuorumsInfoRequest + * @returns {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse} GetIdentityTokenBalancesResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetCurrentQuorumsInfoRequest.decode = function decode(reader, length) { + GetIdentityTokenBalancesResponse.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.GetCurrentQuorumsInfoRequest(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.v0 = $root.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0.decode(reader, reader.uint32()); + message.v0 = $root.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -43815,37 +49212,37 @@ $root.org = (function() { }; /** - * Decodes a GetCurrentQuorumsInfoRequest message from the specified reader or buffer, length delimited. + * Decodes a GetIdentityTokenBalancesResponse message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest} GetCurrentQuorumsInfoRequest + * @returns {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse} GetIdentityTokenBalancesResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetCurrentQuorumsInfoRequest.decodeDelimited = function decodeDelimited(reader) { + GetIdentityTokenBalancesResponse.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GetCurrentQuorumsInfoRequest message. + * Verifies a GetIdentityTokenBalancesResponse message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetCurrentQuorumsInfoRequest.verify = function verify(message) { + GetIdentityTokenBalancesResponse.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.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0.verify(message.v0); + var error = $root.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.verify(message.v0); if (error) return "v0." + error; } @@ -43854,40 +49251,40 @@ $root.org = (function() { }; /** - * Creates a GetCurrentQuorumsInfoRequest message from a plain object. Also converts values to their respective internal types. + * Creates a GetIdentityTokenBalancesResponse message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest} GetCurrentQuorumsInfoRequest + * @returns {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse} GetIdentityTokenBalancesResponse */ - GetCurrentQuorumsInfoRequest.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest) + GetIdentityTokenBalancesResponse.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse) return object; - var message = new $root.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest(); + var message = new $root.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse(); if (object.v0 != null) { if (typeof object.v0 !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.v0: object expected"); - message.v0 = $root.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0.fromObject(object.v0); + throw TypeError(".org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.v0: object expected"); + message.v0 = $root.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.fromObject(object.v0); } return message; }; /** - * Creates a plain object from a GetCurrentQuorumsInfoRequest message. Also converts values to other types if specified. + * Creates a plain object from a GetIdentityTokenBalancesResponse message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse * @static - * @param {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest} message GetCurrentQuorumsInfoRequest + * @param {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse} message GetIdentityTokenBalancesResponse * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetCurrentQuorumsInfoRequest.toObject = function toObject(message, options) { + GetIdentityTokenBalancesResponse.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.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0.toObject(message.v0, options); + object.v0 = $root.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.toObject(message.v0, options); if (options.oneofs) object.version = "v0"; } @@ -43895,33 +49292,36 @@ $root.org = (function() { }; /** - * Converts this GetCurrentQuorumsInfoRequest to JSON. + * Converts this GetIdentityTokenBalancesResponse to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse * @instance * @returns {Object.} JSON object */ - GetCurrentQuorumsInfoRequest.prototype.toJSON = function toJSON() { + GetIdentityTokenBalancesResponse.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0 = (function() { + GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0 = (function() { /** - * Properties of a GetCurrentQuorumsInfoRequestV0. - * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest - * @interface IGetCurrentQuorumsInfoRequestV0 + * Properties of a GetIdentityTokenBalancesResponseV0. + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse + * @interface IGetIdentityTokenBalancesResponseV0 + * @property {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.ITokenBalances|null} [tokenBalances] GetIdentityTokenBalancesResponseV0 tokenBalances + * @property {org.dash.platform.dapi.v0.IProof|null} [proof] GetIdentityTokenBalancesResponseV0 proof + * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetIdentityTokenBalancesResponseV0 metadata */ /** - * Constructs a new GetCurrentQuorumsInfoRequestV0. - * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest - * @classdesc Represents a GetCurrentQuorumsInfoRequestV0. - * @implements IGetCurrentQuorumsInfoRequestV0 + * Constructs a new GetIdentityTokenBalancesResponseV0. + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse + * @classdesc Represents a GetIdentityTokenBalancesResponseV0. + * @implements IGetIdentityTokenBalancesResponseV0 * @constructor - * @param {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.IGetCurrentQuorumsInfoRequestV0=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.IGetIdentityTokenBalancesResponseV0=} [properties] Properties to set */ - function GetCurrentQuorumsInfoRequestV0(properties) { + function GetIdentityTokenBalancesResponseV0(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -43929,63 +49329,116 @@ $root.org = (function() { } /** - * Creates a new GetCurrentQuorumsInfoRequestV0 instance using the specified properties. + * GetIdentityTokenBalancesResponseV0 tokenBalances. + * @member {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.ITokenBalances|null|undefined} tokenBalances + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0 + * @instance + */ + GetIdentityTokenBalancesResponseV0.prototype.tokenBalances = null; + + /** + * GetIdentityTokenBalancesResponseV0 proof. + * @member {org.dash.platform.dapi.v0.IProof|null|undefined} proof + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0 + * @instance + */ + GetIdentityTokenBalancesResponseV0.prototype.proof = null; + + /** + * GetIdentityTokenBalancesResponseV0 metadata. + * @member {org.dash.platform.dapi.v0.IResponseMetadata|null|undefined} metadata + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0 + * @instance + */ + GetIdentityTokenBalancesResponseV0.prototype.metadata = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * GetIdentityTokenBalancesResponseV0 result. + * @member {"tokenBalances"|"proof"|undefined} result + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0 + * @instance + */ + Object.defineProperty(GetIdentityTokenBalancesResponseV0.prototype, "result", { + get: $util.oneOfGetter($oneOfFields = ["tokenBalances", "proof"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new GetIdentityTokenBalancesResponseV0 instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0 + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.IGetCurrentQuorumsInfoRequestV0=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0} GetCurrentQuorumsInfoRequestV0 instance + * @param {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.IGetIdentityTokenBalancesResponseV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0} GetIdentityTokenBalancesResponseV0 instance */ - GetCurrentQuorumsInfoRequestV0.create = function create(properties) { - return new GetCurrentQuorumsInfoRequestV0(properties); + GetIdentityTokenBalancesResponseV0.create = function create(properties) { + return new GetIdentityTokenBalancesResponseV0(properties); }; /** - * Encodes the specified GetCurrentQuorumsInfoRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0.verify|verify} messages. + * Encodes the specified GetIdentityTokenBalancesResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0 + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.IGetCurrentQuorumsInfoRequestV0} message GetCurrentQuorumsInfoRequestV0 message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.IGetIdentityTokenBalancesResponseV0} message GetIdentityTokenBalancesResponseV0 message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetCurrentQuorumsInfoRequestV0.encode = function encode(message, writer) { + GetIdentityTokenBalancesResponseV0.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); + if (message.tokenBalances != null && Object.hasOwnProperty.call(message, "tokenBalances")) + $root.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances.encode(message.tokenBalances, 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 GetCurrentQuorumsInfoRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0.verify|verify} messages. + * Encodes the specified GetIdentityTokenBalancesResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0 + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.IGetCurrentQuorumsInfoRequestV0} message GetCurrentQuorumsInfoRequestV0 message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.IGetIdentityTokenBalancesResponseV0} message GetIdentityTokenBalancesResponseV0 message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetCurrentQuorumsInfoRequestV0.encodeDelimited = function encodeDelimited(message, writer) { + GetIdentityTokenBalancesResponseV0.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetCurrentQuorumsInfoRequestV0 message from the specified reader or buffer. + * Decodes a GetIdentityTokenBalancesResponseV0 message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0 + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0 * @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.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0} GetCurrentQuorumsInfoRequestV0 + * @returns {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0} GetIdentityTokenBalancesResponseV0 * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetCurrentQuorumsInfoRequestV0.decode = function decode(reader, length) { + GetIdentityTokenBalancesResponseV0.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.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { + case 1: + message.tokenBalances = $root.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances.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; @@ -43995,97 +49448,595 @@ $root.org = (function() { }; /** - * Decodes a GetCurrentQuorumsInfoRequestV0 message from the specified reader or buffer, length delimited. + * Decodes a GetIdentityTokenBalancesResponseV0 message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0 + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0 * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0} GetCurrentQuorumsInfoRequestV0 + * @returns {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0} GetIdentityTokenBalancesResponseV0 * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetCurrentQuorumsInfoRequestV0.decodeDelimited = function decodeDelimited(reader) { + GetIdentityTokenBalancesResponseV0.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GetCurrentQuorumsInfoRequestV0 message. + * Verifies a GetIdentityTokenBalancesResponseV0 message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0 + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0 * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetCurrentQuorumsInfoRequestV0.verify = function verify(message) { + GetIdentityTokenBalancesResponseV0.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; + var properties = {}; + if (message.tokenBalances != null && message.hasOwnProperty("tokenBalances")) { + properties.result = 1; + { + var error = $root.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances.verify(message.tokenBalances); + if (error) + return "tokenBalances." + 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 GetCurrentQuorumsInfoRequestV0 message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0 - * @static - * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0} GetCurrentQuorumsInfoRequestV0 - */ - GetCurrentQuorumsInfoRequestV0.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0) + /** + * Creates a GetIdentityTokenBalancesResponseV0 message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0 + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0} GetIdentityTokenBalancesResponseV0 + */ + GetIdentityTokenBalancesResponseV0.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0(); + if (object.tokenBalances != null) { + if (typeof object.tokenBalances !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.tokenBalances: object expected"); + message.tokenBalances = $root.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances.fromObject(object.tokenBalances); + } + if (object.proof != null) { + if (typeof object.proof !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.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.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.metadata: object expected"); + message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.fromObject(object.metadata); + } + return message; + }; + + /** + * Creates a plain object from a GetIdentityTokenBalancesResponseV0 message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0 + * @static + * @param {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0} message GetIdentityTokenBalancesResponseV0 + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetIdentityTokenBalancesResponseV0.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.metadata = null; + if (message.tokenBalances != null && message.hasOwnProperty("tokenBalances")) { + object.tokenBalances = $root.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances.toObject(message.tokenBalances, options); + if (options.oneofs) + object.result = "tokenBalances"; + } + 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 GetIdentityTokenBalancesResponseV0 to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0 + * @instance + * @returns {Object.} JSON object + */ + GetIdentityTokenBalancesResponseV0.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + GetIdentityTokenBalancesResponseV0.TokenBalanceEntry = (function() { + + /** + * Properties of a TokenBalanceEntry. + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0 + * @interface ITokenBalanceEntry + * @property {Uint8Array|null} [tokenId] TokenBalanceEntry tokenId + * @property {number|Long|null} [balance] TokenBalanceEntry balance + */ + + /** + * Constructs a new TokenBalanceEntry. + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0 + * @classdesc Represents a TokenBalanceEntry. + * @implements ITokenBalanceEntry + * @constructor + * @param {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.ITokenBalanceEntry=} [properties] Properties to set + */ + function TokenBalanceEntry(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]]; + } + + /** + * TokenBalanceEntry tokenId. + * @member {Uint8Array} tokenId + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry + * @instance + */ + TokenBalanceEntry.prototype.tokenId = $util.newBuffer([]); + + /** + * TokenBalanceEntry balance. + * @member {number|Long} balance + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry + * @instance + */ + TokenBalanceEntry.prototype.balance = $util.Long ? $util.Long.fromBits(0,0,true) : 0; + + /** + * Creates a new TokenBalanceEntry instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry + * @static + * @param {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.ITokenBalanceEntry=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry} TokenBalanceEntry instance + */ + TokenBalanceEntry.create = function create(properties) { + return new TokenBalanceEntry(properties); + }; + + /** + * Encodes the specified TokenBalanceEntry message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry + * @static + * @param {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.ITokenBalanceEntry} message TokenBalanceEntry message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + TokenBalanceEntry.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.tokenId != null && Object.hasOwnProperty.call(message, "tokenId")) + writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.tokenId); + if (message.balance != null && Object.hasOwnProperty.call(message, "balance")) + writer.uint32(/* id 2, wireType 0 =*/16).uint64(message.balance); + return writer; + }; + + /** + * Encodes the specified TokenBalanceEntry message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry + * @static + * @param {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.ITokenBalanceEntry} message TokenBalanceEntry message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + TokenBalanceEntry.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a TokenBalanceEntry message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry + * @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.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry} TokenBalanceEntry + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + TokenBalanceEntry.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.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.tokenId = reader.bytes(); + break; + case 2: + message.balance = reader.uint64(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a TokenBalanceEntry message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry} TokenBalanceEntry + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + TokenBalanceEntry.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a TokenBalanceEntry message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + TokenBalanceEntry.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.tokenId != null && message.hasOwnProperty("tokenId")) + if (!(message.tokenId && typeof message.tokenId.length === "number" || $util.isString(message.tokenId))) + return "tokenId: buffer 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"; + return null; + }; + + /** + * Creates a TokenBalanceEntry message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry} TokenBalanceEntry + */ + TokenBalanceEntry.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry(); + if (object.tokenId != null) + if (typeof object.tokenId === "string") + $util.base64.decode(object.tokenId, message.tokenId = $util.newBuffer($util.base64.length(object.tokenId)), 0); + else if (object.tokenId.length >= 0) + message.tokenId = object.tokenId; + 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); + return message; + }; + + /** + * Creates a plain object from a TokenBalanceEntry message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry + * @static + * @param {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry} message TokenBalanceEntry + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + TokenBalanceEntry.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + if (options.bytes === String) + object.tokenId = ""; + else { + object.tokenId = []; + if (options.bytes !== Array) + object.tokenId = $util.newBuffer(object.tokenId); + } + 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 (message.tokenId != null && message.hasOwnProperty("tokenId")) + object.tokenId = options.bytes === String ? $util.base64.encode(message.tokenId, 0, message.tokenId.length) : options.bytes === Array ? Array.prototype.slice.call(message.tokenId) : message.tokenId; + 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; + return object; + }; + + /** + * Converts this TokenBalanceEntry to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry + * @instance + * @returns {Object.} JSON object + */ + TokenBalanceEntry.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return TokenBalanceEntry; + })(); + + GetIdentityTokenBalancesResponseV0.TokenBalances = (function() { + + /** + * Properties of a TokenBalances. + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0 + * @interface ITokenBalances + * @property {Array.|null} [tokenBalances] TokenBalances tokenBalances + */ + + /** + * Constructs a new TokenBalances. + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0 + * @classdesc Represents a TokenBalances. + * @implements ITokenBalances + * @constructor + * @param {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.ITokenBalances=} [properties] Properties to set + */ + function TokenBalances(properties) { + this.tokenBalances = []; + 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]]; + } + + /** + * TokenBalances tokenBalances. + * @member {Array.} tokenBalances + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances + * @instance + */ + TokenBalances.prototype.tokenBalances = $util.emptyArray; + + /** + * Creates a new TokenBalances instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances + * @static + * @param {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.ITokenBalances=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances} TokenBalances instance + */ + TokenBalances.create = function create(properties) { + return new TokenBalances(properties); + }; + + /** + * Encodes the specified TokenBalances message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances + * @static + * @param {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.ITokenBalances} message TokenBalances message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + TokenBalances.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.tokenBalances != null && message.tokenBalances.length) + for (var i = 0; i < message.tokenBalances.length; ++i) + $root.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry.encode(message.tokenBalances[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified TokenBalances message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances + * @static + * @param {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.ITokenBalances} message TokenBalances message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + TokenBalances.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a TokenBalances message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances + * @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.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances} TokenBalances + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + TokenBalances.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.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.tokenBalances && message.tokenBalances.length)) + message.tokenBalances = []; + message.tokenBalances.push($root.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a TokenBalances message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances} TokenBalances + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + TokenBalances.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a TokenBalances message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + TokenBalances.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.tokenBalances != null && message.hasOwnProperty("tokenBalances")) { + if (!Array.isArray(message.tokenBalances)) + return "tokenBalances: array expected"; + for (var i = 0; i < message.tokenBalances.length; ++i) { + var error = $root.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry.verify(message.tokenBalances[i]); + if (error) + return "tokenBalances." + error; + } + } + return null; + }; + + /** + * Creates a TokenBalances message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances} TokenBalances + */ + TokenBalances.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances(); + if (object.tokenBalances) { + if (!Array.isArray(object.tokenBalances)) + throw TypeError(".org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances.tokenBalances: array expected"); + message.tokenBalances = []; + for (var i = 0; i < object.tokenBalances.length; ++i) { + if (typeof object.tokenBalances[i] !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances.tokenBalances: object expected"); + message.tokenBalances[i] = $root.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry.fromObject(object.tokenBalances[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a TokenBalances message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances + * @static + * @param {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances} message TokenBalances + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + TokenBalances.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.tokenBalances = []; + if (message.tokenBalances && message.tokenBalances.length) { + object.tokenBalances = []; + for (var j = 0; j < message.tokenBalances.length; ++j) + object.tokenBalances[j] = $root.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry.toObject(message.tokenBalances[j], options); + } return object; - return new $root.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0(); - }; + }; - /** - * Creates a plain object from a GetCurrentQuorumsInfoRequestV0 message. Also converts values to other types if specified. - * @function toObject - * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0 - * @static - * @param {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0} message GetCurrentQuorumsInfoRequestV0 - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - GetCurrentQuorumsInfoRequestV0.toObject = function toObject() { - return {}; - }; + /** + * Converts this TokenBalances to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances + * @instance + * @returns {Object.} JSON object + */ + TokenBalances.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; - /** - * Converts this GetCurrentQuorumsInfoRequestV0 to JSON. - * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0 - * @instance - * @returns {Object.} JSON object - */ - GetCurrentQuorumsInfoRequestV0.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; + return TokenBalances; + })(); - return GetCurrentQuorumsInfoRequestV0; + return GetIdentityTokenBalancesResponseV0; })(); - return GetCurrentQuorumsInfoRequest; + return GetIdentityTokenBalancesResponse; })(); - v0.GetCurrentQuorumsInfoResponse = (function() { + v0.GetIdentitiesTokenBalancesRequest = (function() { /** - * Properties of a GetCurrentQuorumsInfoResponse. + * Properties of a GetIdentitiesTokenBalancesRequest. * @memberof org.dash.platform.dapi.v0 - * @interface IGetCurrentQuorumsInfoResponse - * @property {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.IGetCurrentQuorumsInfoResponseV0|null} [v0] GetCurrentQuorumsInfoResponse v0 + * @interface IGetIdentitiesTokenBalancesRequest + * @property {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.IGetIdentitiesTokenBalancesRequestV0|null} [v0] GetIdentitiesTokenBalancesRequest v0 */ /** - * Constructs a new GetCurrentQuorumsInfoResponse. + * Constructs a new GetIdentitiesTokenBalancesRequest. * @memberof org.dash.platform.dapi.v0 - * @classdesc Represents a GetCurrentQuorumsInfoResponse. - * @implements IGetCurrentQuorumsInfoResponse + * @classdesc Represents a GetIdentitiesTokenBalancesRequest. + * @implements IGetIdentitiesTokenBalancesRequest * @constructor - * @param {org.dash.platform.dapi.v0.IGetCurrentQuorumsInfoResponse=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.IGetIdentitiesTokenBalancesRequest=} [properties] Properties to set */ - function GetCurrentQuorumsInfoResponse(properties) { + function GetIdentitiesTokenBalancesRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -44093,89 +50044,89 @@ $root.org = (function() { } /** - * GetCurrentQuorumsInfoResponse v0. - * @member {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.IGetCurrentQuorumsInfoResponseV0|null|undefined} v0 - * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse + * GetIdentitiesTokenBalancesRequest v0. + * @member {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.IGetIdentitiesTokenBalancesRequestV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest * @instance */ - GetCurrentQuorumsInfoResponse.prototype.v0 = null; + GetIdentitiesTokenBalancesRequest.prototype.v0 = null; // OneOf field names bound to virtual getters and setters var $oneOfFields; /** - * GetCurrentQuorumsInfoResponse version. + * GetIdentitiesTokenBalancesRequest version. * @member {"v0"|undefined} version - * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest * @instance */ - Object.defineProperty(GetCurrentQuorumsInfoResponse.prototype, "version", { + Object.defineProperty(GetIdentitiesTokenBalancesRequest.prototype, "version", { get: $util.oneOfGetter($oneOfFields = ["v0"]), set: $util.oneOfSetter($oneOfFields) }); /** - * Creates a new GetCurrentQuorumsInfoResponse instance using the specified properties. + * Creates a new GetIdentitiesTokenBalancesRequest instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest * @static - * @param {org.dash.platform.dapi.v0.IGetCurrentQuorumsInfoResponse=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse} GetCurrentQuorumsInfoResponse instance + * @param {org.dash.platform.dapi.v0.IGetIdentitiesTokenBalancesRequest=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest} GetIdentitiesTokenBalancesRequest instance */ - GetCurrentQuorumsInfoResponse.create = function create(properties) { - return new GetCurrentQuorumsInfoResponse(properties); + GetIdentitiesTokenBalancesRequest.create = function create(properties) { + return new GetIdentitiesTokenBalancesRequest(properties); }; /** - * Encodes the specified GetCurrentQuorumsInfoResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.verify|verify} messages. + * Encodes the specified GetIdentitiesTokenBalancesRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest * @static - * @param {org.dash.platform.dapi.v0.IGetCurrentQuorumsInfoResponse} message GetCurrentQuorumsInfoResponse message or plain object to encode + * @param {org.dash.platform.dapi.v0.IGetIdentitiesTokenBalancesRequest} message GetIdentitiesTokenBalancesRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetCurrentQuorumsInfoResponse.encode = function encode(message, writer) { + GetIdentitiesTokenBalancesRequest.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.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + $root.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified GetCurrentQuorumsInfoResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.verify|verify} messages. + * Encodes the specified GetIdentitiesTokenBalancesRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest * @static - * @param {org.dash.platform.dapi.v0.IGetCurrentQuorumsInfoResponse} message GetCurrentQuorumsInfoResponse message or plain object to encode + * @param {org.dash.platform.dapi.v0.IGetIdentitiesTokenBalancesRequest} message GetIdentitiesTokenBalancesRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetCurrentQuorumsInfoResponse.encodeDelimited = function encodeDelimited(message, writer) { + GetIdentitiesTokenBalancesRequest.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetCurrentQuorumsInfoResponse message from the specified reader or buffer. + * Decodes a GetIdentitiesTokenBalancesRequest message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest * @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.GetCurrentQuorumsInfoResponse} GetCurrentQuorumsInfoResponse + * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest} GetIdentitiesTokenBalancesRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetCurrentQuorumsInfoResponse.decode = function decode(reader, length) { + GetIdentitiesTokenBalancesRequest.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.GetCurrentQuorumsInfoResponse(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.v0 = $root.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.decode(reader, reader.uint32()); + message.v0 = $root.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -44186,37 +50137,37 @@ $root.org = (function() { }; /** - * Decodes a GetCurrentQuorumsInfoResponse message from the specified reader or buffer, length delimited. + * Decodes a GetIdentitiesTokenBalancesRequest message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse} GetCurrentQuorumsInfoResponse + * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest} GetIdentitiesTokenBalancesRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetCurrentQuorumsInfoResponse.decodeDelimited = function decodeDelimited(reader) { + GetIdentitiesTokenBalancesRequest.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GetCurrentQuorumsInfoResponse message. + * Verifies a GetIdentitiesTokenBalancesRequest message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetCurrentQuorumsInfoResponse.verify = function verify(message) { + GetIdentitiesTokenBalancesRequest.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.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.verify(message.v0); + var error = $root.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.verify(message.v0); if (error) return "v0." + error; } @@ -44225,40 +50176,40 @@ $root.org = (function() { }; /** - * Creates a GetCurrentQuorumsInfoResponse message from a plain object. Also converts values to their respective internal types. + * Creates a GetIdentitiesTokenBalancesRequest message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse} GetCurrentQuorumsInfoResponse + * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest} GetIdentitiesTokenBalancesRequest */ - GetCurrentQuorumsInfoResponse.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse) + GetIdentitiesTokenBalancesRequest.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest) return object; - var message = new $root.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse(); + var message = new $root.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest(); if (object.v0 != null) { if (typeof object.v0 !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.v0: object expected"); - message.v0 = $root.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.fromObject(object.v0); + throw TypeError(".org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.v0: object expected"); + message.v0 = $root.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.fromObject(object.v0); } return message; }; /** - * Creates a plain object from a GetCurrentQuorumsInfoResponse message. Also converts values to other types if specified. + * Creates a plain object from a GetIdentitiesTokenBalancesRequest message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest * @static - * @param {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse} message GetCurrentQuorumsInfoResponse + * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest} message GetIdentitiesTokenBalancesRequest * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetCurrentQuorumsInfoResponse.toObject = function toObject(message, options) { + GetIdentitiesTokenBalancesRequest.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.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.toObject(message.v0, options); + object.v0 = $root.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.toObject(message.v0, options); if (options.oneofs) object.version = "v0"; } @@ -44266,279 +50217,37 @@ $root.org = (function() { }; /** - * Converts this GetCurrentQuorumsInfoResponse to JSON. + * Converts this GetIdentitiesTokenBalancesRequest to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest * @instance * @returns {Object.} JSON object */ - GetCurrentQuorumsInfoResponse.prototype.toJSON = function toJSON() { + GetIdentitiesTokenBalancesRequest.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - GetCurrentQuorumsInfoResponse.ValidatorV0 = (function() { - - /** - * Properties of a ValidatorV0. - * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse - * @interface IValidatorV0 - * @property {Uint8Array|null} [proTxHash] ValidatorV0 proTxHash - * @property {string|null} [nodeIp] ValidatorV0 nodeIp - * @property {boolean|null} [isBanned] ValidatorV0 isBanned - */ - - /** - * Constructs a new ValidatorV0. - * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse - * @classdesc Represents a ValidatorV0. - * @implements IValidatorV0 - * @constructor - * @param {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.IValidatorV0=} [properties] Properties to set - */ - function ValidatorV0(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]]; - } - - /** - * ValidatorV0 proTxHash. - * @member {Uint8Array} proTxHash - * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0 - * @instance - */ - ValidatorV0.prototype.proTxHash = $util.newBuffer([]); - - /** - * ValidatorV0 nodeIp. - * @member {string} nodeIp - * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0 - * @instance - */ - ValidatorV0.prototype.nodeIp = ""; - - /** - * ValidatorV0 isBanned. - * @member {boolean} isBanned - * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0 - * @instance - */ - ValidatorV0.prototype.isBanned = false; - - /** - * Creates a new ValidatorV0 instance using the specified properties. - * @function create - * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0 - * @static - * @param {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.IValidatorV0=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0} ValidatorV0 instance - */ - ValidatorV0.create = function create(properties) { - return new ValidatorV0(properties); - }; - - /** - * Encodes the specified ValidatorV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.verify|verify} messages. - * @function encode - * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0 - * @static - * @param {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.IValidatorV0} message ValidatorV0 message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ValidatorV0.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.nodeIp != null && Object.hasOwnProperty.call(message, "nodeIp")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.nodeIp); - if (message.isBanned != null && Object.hasOwnProperty.call(message, "isBanned")) - writer.uint32(/* id 3, wireType 0 =*/24).bool(message.isBanned); - return writer; - }; - - /** - * Encodes the specified ValidatorV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.verify|verify} messages. - * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0 - * @static - * @param {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.IValidatorV0} message ValidatorV0 message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ValidatorV0.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a ValidatorV0 message from the specified reader or buffer. - * @function decode - * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0 - * @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.GetCurrentQuorumsInfoResponse.ValidatorV0} ValidatorV0 - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ValidatorV0.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.GetCurrentQuorumsInfoResponse.ValidatorV0(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.proTxHash = reader.bytes(); - break; - case 2: - message.nodeIp = reader.string(); - break; - case 3: - message.isBanned = reader.bool(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a ValidatorV0 message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0 - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0} ValidatorV0 - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ValidatorV0.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a ValidatorV0 message. - * @function verify - * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0 - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - ValidatorV0.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.nodeIp != null && message.hasOwnProperty("nodeIp")) - if (!$util.isString(message.nodeIp)) - return "nodeIp: string expected"; - if (message.isBanned != null && message.hasOwnProperty("isBanned")) - if (typeof message.isBanned !== "boolean") - return "isBanned: boolean expected"; - return null; - }; - - /** - * Creates a ValidatorV0 message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0 - * @static - * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0} ValidatorV0 - */ - ValidatorV0.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0) - return object; - var message = new $root.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0(); - 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.nodeIp != null) - message.nodeIp = String(object.nodeIp); - if (object.isBanned != null) - message.isBanned = Boolean(object.isBanned); - return message; - }; - - /** - * Creates a plain object from a ValidatorV0 message. Also converts values to other types if specified. - * @function toObject - * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0 - * @static - * @param {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0} message ValidatorV0 - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - ValidatorV0.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.nodeIp = ""; - object.isBanned = false; - } - 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.nodeIp != null && message.hasOwnProperty("nodeIp")) - object.nodeIp = message.nodeIp; - if (message.isBanned != null && message.hasOwnProperty("isBanned")) - object.isBanned = message.isBanned; - return object; - }; - - /** - * Converts this ValidatorV0 to JSON. - * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0 - * @instance - * @returns {Object.} JSON object - */ - ValidatorV0.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return ValidatorV0; - })(); - - GetCurrentQuorumsInfoResponse.ValidatorSetV0 = (function() { + GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0 = (function() { /** - * Properties of a ValidatorSetV0. - * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse - * @interface IValidatorSetV0 - * @property {Uint8Array|null} [quorumHash] ValidatorSetV0 quorumHash - * @property {number|null} [coreHeight] ValidatorSetV0 coreHeight - * @property {Array.|null} [members] ValidatorSetV0 members - * @property {Uint8Array|null} [thresholdPublicKey] ValidatorSetV0 thresholdPublicKey + * Properties of a GetIdentitiesTokenBalancesRequestV0. + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest + * @interface IGetIdentitiesTokenBalancesRequestV0 + * @property {Uint8Array|null} [tokenId] GetIdentitiesTokenBalancesRequestV0 tokenId + * @property {Array.|null} [identityIds] GetIdentitiesTokenBalancesRequestV0 identityIds + * @property {boolean|null} [prove] GetIdentitiesTokenBalancesRequestV0 prove */ /** - * Constructs a new ValidatorSetV0. - * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse - * @classdesc Represents a ValidatorSetV0. - * @implements IValidatorSetV0 + * Constructs a new GetIdentitiesTokenBalancesRequestV0. + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest + * @classdesc Represents a GetIdentitiesTokenBalancesRequestV0. + * @implements IGetIdentitiesTokenBalancesRequestV0 * @constructor - * @param {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.IValidatorSetV0=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.IGetIdentitiesTokenBalancesRequestV0=} [properties] Properties to set */ - function ValidatorSetV0(properties) { - this.members = []; + function GetIdentitiesTokenBalancesRequestV0(properties) { + this.identityIds = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -44546,117 +50255,104 @@ $root.org = (function() { } /** - * ValidatorSetV0 quorumHash. - * @member {Uint8Array} quorumHash - * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0 - * @instance - */ - ValidatorSetV0.prototype.quorumHash = $util.newBuffer([]); - - /** - * ValidatorSetV0 coreHeight. - * @member {number} coreHeight - * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0 + * GetIdentitiesTokenBalancesRequestV0 tokenId. + * @member {Uint8Array} tokenId + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0 * @instance */ - ValidatorSetV0.prototype.coreHeight = 0; + GetIdentitiesTokenBalancesRequestV0.prototype.tokenId = $util.newBuffer([]); /** - * ValidatorSetV0 members. - * @member {Array.} members - * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0 + * GetIdentitiesTokenBalancesRequestV0 identityIds. + * @member {Array.} identityIds + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0 * @instance */ - ValidatorSetV0.prototype.members = $util.emptyArray; + GetIdentitiesTokenBalancesRequestV0.prototype.identityIds = $util.emptyArray; /** - * ValidatorSetV0 thresholdPublicKey. - * @member {Uint8Array} thresholdPublicKey - * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0 + * GetIdentitiesTokenBalancesRequestV0 prove. + * @member {boolean} prove + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0 * @instance */ - ValidatorSetV0.prototype.thresholdPublicKey = $util.newBuffer([]); + GetIdentitiesTokenBalancesRequestV0.prototype.prove = false; /** - * Creates a new ValidatorSetV0 instance using the specified properties. + * Creates a new GetIdentitiesTokenBalancesRequestV0 instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0 + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.IValidatorSetV0=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0} ValidatorSetV0 instance + * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.IGetIdentitiesTokenBalancesRequestV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0} GetIdentitiesTokenBalancesRequestV0 instance */ - ValidatorSetV0.create = function create(properties) { - return new ValidatorSetV0(properties); + GetIdentitiesTokenBalancesRequestV0.create = function create(properties) { + return new GetIdentitiesTokenBalancesRequestV0(properties); }; /** - * Encodes the specified ValidatorSetV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.verify|verify} messages. + * Encodes the specified GetIdentitiesTokenBalancesRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0 + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.IValidatorSetV0} message ValidatorSetV0 message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.IGetIdentitiesTokenBalancesRequestV0} message GetIdentitiesTokenBalancesRequestV0 message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - ValidatorSetV0.encode = function encode(message, writer) { + GetIdentitiesTokenBalancesRequestV0.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.quorumHash != null && Object.hasOwnProperty.call(message, "quorumHash")) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.quorumHash); - if (message.coreHeight != null && Object.hasOwnProperty.call(message, "coreHeight")) - writer.uint32(/* id 2, wireType 0 =*/16).uint32(message.coreHeight); - if (message.members != null && message.members.length) - for (var i = 0; i < message.members.length; ++i) - $root.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.encode(message.members[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.thresholdPublicKey != null && Object.hasOwnProperty.call(message, "thresholdPublicKey")) - writer.uint32(/* id 4, wireType 2 =*/34).bytes(message.thresholdPublicKey); + if (message.tokenId != null && Object.hasOwnProperty.call(message, "tokenId")) + writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.tokenId); + if (message.identityIds != null && message.identityIds.length) + for (var i = 0; i < message.identityIds.length; ++i) + writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.identityIds[i]); + if (message.prove != null && Object.hasOwnProperty.call(message, "prove")) + writer.uint32(/* id 3, wireType 0 =*/24).bool(message.prove); return writer; }; /** - * Encodes the specified ValidatorSetV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.verify|verify} messages. + * Encodes the specified GetIdentitiesTokenBalancesRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0 + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.IValidatorSetV0} message ValidatorSetV0 message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.IGetIdentitiesTokenBalancesRequestV0} message GetIdentitiesTokenBalancesRequestV0 message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - ValidatorSetV0.encodeDelimited = function encodeDelimited(message, writer) { + GetIdentitiesTokenBalancesRequestV0.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a ValidatorSetV0 message from the specified reader or buffer. + * Decodes a GetIdentitiesTokenBalancesRequestV0 message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0 + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0 * @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.GetCurrentQuorumsInfoResponse.ValidatorSetV0} ValidatorSetV0 + * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0} GetIdentitiesTokenBalancesRequestV0 * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ValidatorSetV0.decode = function decode(reader, length) { + GetIdentitiesTokenBalancesRequestV0.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.GetCurrentQuorumsInfoResponse.ValidatorSetV0(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.quorumHash = reader.bytes(); + message.tokenId = reader.bytes(); break; case 2: - message.coreHeight = reader.uint32(); + if (!(message.identityIds && message.identityIds.length)) + message.identityIds = []; + message.identityIds.push(reader.bytes()); break; case 3: - if (!(message.members && message.members.length)) - message.members = []; - message.members.push($root.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.decode(reader, reader.uint32())); - break; - case 4: - message.thresholdPublicKey = reader.bytes(); + message.prove = reader.bool(); break; default: reader.skipType(tag & 7); @@ -44667,174 +50363,362 @@ $root.org = (function() { }; /** - * Decodes a ValidatorSetV0 message from the specified reader or buffer, length delimited. + * Decodes a GetIdentitiesTokenBalancesRequestV0 message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0 + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0 * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0} ValidatorSetV0 + * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0} GetIdentitiesTokenBalancesRequestV0 * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ValidatorSetV0.decodeDelimited = function decodeDelimited(reader) { + GetIdentitiesTokenBalancesRequestV0.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a ValidatorSetV0 message. + * Verifies a GetIdentitiesTokenBalancesRequestV0 message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0 + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0 * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ValidatorSetV0.verify = function verify(message) { + GetIdentitiesTokenBalancesRequestV0.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.quorumHash != null && message.hasOwnProperty("quorumHash")) - if (!(message.quorumHash && typeof message.quorumHash.length === "number" || $util.isString(message.quorumHash))) - return "quorumHash: buffer expected"; - if (message.coreHeight != null && message.hasOwnProperty("coreHeight")) - if (!$util.isInteger(message.coreHeight)) - return "coreHeight: integer expected"; - if (message.members != null && message.hasOwnProperty("members")) { - if (!Array.isArray(message.members)) - return "members: array expected"; - for (var i = 0; i < message.members.length; ++i) { - var error = $root.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.verify(message.members[i]); - if (error) - return "members." + error; - } + if (message.tokenId != null && message.hasOwnProperty("tokenId")) + if (!(message.tokenId && typeof message.tokenId.length === "number" || $util.isString(message.tokenId))) + return "tokenId: buffer 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.thresholdPublicKey != null && message.hasOwnProperty("thresholdPublicKey")) - if (!(message.thresholdPublicKey && typeof message.thresholdPublicKey.length === "number" || $util.isString(message.thresholdPublicKey))) - return "thresholdPublicKey: buffer expected"; + if (message.prove != null && message.hasOwnProperty("prove")) + if (typeof message.prove !== "boolean") + return "prove: boolean expected"; return null; }; /** - * Creates a ValidatorSetV0 message from a plain object. Also converts values to their respective internal types. + * Creates a GetIdentitiesTokenBalancesRequestV0 message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0 + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0 * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0} ValidatorSetV0 + * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0} GetIdentitiesTokenBalancesRequestV0 */ - ValidatorSetV0.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0) + GetIdentitiesTokenBalancesRequestV0.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0) return object; - var message = new $root.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0(); - if (object.quorumHash != null) - if (typeof object.quorumHash === "string") - $util.base64.decode(object.quorumHash, message.quorumHash = $util.newBuffer($util.base64.length(object.quorumHash)), 0); - else if (object.quorumHash.length >= 0) - message.quorumHash = object.quorumHash; - if (object.coreHeight != null) - message.coreHeight = object.coreHeight >>> 0; - if (object.members) { - if (!Array.isArray(object.members)) - throw TypeError(".org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.members: array expected"); - message.members = []; - for (var i = 0; i < object.members.length; ++i) { - if (typeof object.members[i] !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.members: object expected"); - message.members[i] = $root.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.fromObject(object.members[i]); - } + var message = new $root.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0(); + if (object.tokenId != null) + if (typeof object.tokenId === "string") + $util.base64.decode(object.tokenId, message.tokenId = $util.newBuffer($util.base64.length(object.tokenId)), 0); + else if (object.tokenId.length >= 0) + message.tokenId = object.tokenId; + if (object.identityIds) { + if (!Array.isArray(object.identityIds)) + throw TypeError(".org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.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.thresholdPublicKey != null) - if (typeof object.thresholdPublicKey === "string") - $util.base64.decode(object.thresholdPublicKey, message.thresholdPublicKey = $util.newBuffer($util.base64.length(object.thresholdPublicKey)), 0); - else if (object.thresholdPublicKey.length >= 0) - message.thresholdPublicKey = object.thresholdPublicKey; + if (object.prove != null) + message.prove = Boolean(object.prove); return message; }; /** - * Creates a plain object from a ValidatorSetV0 message. Also converts values to other types if specified. + * Creates a plain object from a GetIdentitiesTokenBalancesRequestV0 message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0 + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0} message ValidatorSetV0 + * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0} message GetIdentitiesTokenBalancesRequestV0 * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - ValidatorSetV0.toObject = function toObject(message, options) { + GetIdentitiesTokenBalancesRequestV0.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.arrays || options.defaults) - object.members = []; + object.identityIds = []; if (options.defaults) { if (options.bytes === String) - object.quorumHash = ""; - else { - object.quorumHash = []; - if (options.bytes !== Array) - object.quorumHash = $util.newBuffer(object.quorumHash); - } - object.coreHeight = 0; - if (options.bytes === String) - object.thresholdPublicKey = ""; + object.tokenId = ""; else { - object.thresholdPublicKey = []; + object.tokenId = []; if (options.bytes !== Array) - object.thresholdPublicKey = $util.newBuffer(object.thresholdPublicKey); + object.tokenId = $util.newBuffer(object.tokenId); } + object.prove = false; } - if (message.quorumHash != null && message.hasOwnProperty("quorumHash")) - object.quorumHash = options.bytes === String ? $util.base64.encode(message.quorumHash, 0, message.quorumHash.length) : options.bytes === Array ? Array.prototype.slice.call(message.quorumHash) : message.quorumHash; - if (message.coreHeight != null && message.hasOwnProperty("coreHeight")) - object.coreHeight = message.coreHeight; - if (message.members && message.members.length) { - object.members = []; - for (var j = 0; j < message.members.length; ++j) - object.members[j] = $root.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.toObject(message.members[j], options); + if (message.tokenId != null && message.hasOwnProperty("tokenId")) + object.tokenId = options.bytes === String ? $util.base64.encode(message.tokenId, 0, message.tokenId.length) : options.bytes === Array ? Array.prototype.slice.call(message.tokenId) : message.tokenId; + 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 (message.thresholdPublicKey != null && message.hasOwnProperty("thresholdPublicKey")) - object.thresholdPublicKey = options.bytes === String ? $util.base64.encode(message.thresholdPublicKey, 0, message.thresholdPublicKey.length) : options.bytes === Array ? Array.prototype.slice.call(message.thresholdPublicKey) : message.thresholdPublicKey; + if (message.prove != null && message.hasOwnProperty("prove")) + object.prove = message.prove; return object; }; /** - * Converts this ValidatorSetV0 to JSON. + * Converts this GetIdentitiesTokenBalancesRequestV0 to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0 + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0 * @instance * @returns {Object.} JSON object */ - ValidatorSetV0.prototype.toJSON = function toJSON() { + GetIdentitiesTokenBalancesRequestV0.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return ValidatorSetV0; + return GetIdentitiesTokenBalancesRequestV0; })(); - GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0 = (function() { + return GetIdentitiesTokenBalancesRequest; + })(); + + v0.GetIdentitiesTokenBalancesResponse = (function() { + + /** + * Properties of a GetIdentitiesTokenBalancesResponse. + * @memberof org.dash.platform.dapi.v0 + * @interface IGetIdentitiesTokenBalancesResponse + * @property {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.IGetIdentitiesTokenBalancesResponseV0|null} [v0] GetIdentitiesTokenBalancesResponse v0 + */ + + /** + * Constructs a new GetIdentitiesTokenBalancesResponse. + * @memberof org.dash.platform.dapi.v0 + * @classdesc Represents a GetIdentitiesTokenBalancesResponse. + * @implements IGetIdentitiesTokenBalancesResponse + * @constructor + * @param {org.dash.platform.dapi.v0.IGetIdentitiesTokenBalancesResponse=} [properties] Properties to set + */ + function GetIdentitiesTokenBalancesResponse(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]]; + } + + /** + * GetIdentitiesTokenBalancesResponse v0. + * @member {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.IGetIdentitiesTokenBalancesResponseV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse + * @instance + */ + GetIdentitiesTokenBalancesResponse.prototype.v0 = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * GetIdentitiesTokenBalancesResponse version. + * @member {"v0"|undefined} version + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse + * @instance + */ + Object.defineProperty(GetIdentitiesTokenBalancesResponse.prototype, "version", { + get: $util.oneOfGetter($oneOfFields = ["v0"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new GetIdentitiesTokenBalancesResponse instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse + * @static + * @param {org.dash.platform.dapi.v0.IGetIdentitiesTokenBalancesResponse=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse} GetIdentitiesTokenBalancesResponse instance + */ + GetIdentitiesTokenBalancesResponse.create = function create(properties) { + return new GetIdentitiesTokenBalancesResponse(properties); + }; + + /** + * Encodes the specified GetIdentitiesTokenBalancesResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse + * @static + * @param {org.dash.platform.dapi.v0.IGetIdentitiesTokenBalancesResponse} message GetIdentitiesTokenBalancesResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetIdentitiesTokenBalancesResponse.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.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified GetIdentitiesTokenBalancesResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse + * @static + * @param {org.dash.platform.dapi.v0.IGetIdentitiesTokenBalancesResponse} message GetIdentitiesTokenBalancesResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetIdentitiesTokenBalancesResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GetIdentitiesTokenBalancesResponse message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse + * @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.GetIdentitiesTokenBalancesResponse} GetIdentitiesTokenBalancesResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetIdentitiesTokenBalancesResponse.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.GetIdentitiesTokenBalancesResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.v0 = $root.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GetIdentitiesTokenBalancesResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse} GetIdentitiesTokenBalancesResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetIdentitiesTokenBalancesResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GetIdentitiesTokenBalancesResponse message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetIdentitiesTokenBalancesResponse.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.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.verify(message.v0); + if (error) + return "v0." + error; + } + } + return null; + }; + + /** + * Creates a GetIdentitiesTokenBalancesResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse} GetIdentitiesTokenBalancesResponse + */ + GetIdentitiesTokenBalancesResponse.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse(); + if (object.v0 != null) { + if (typeof object.v0 !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.v0: object expected"); + message.v0 = $root.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.fromObject(object.v0); + } + return message; + }; + + /** + * Creates a plain object from a GetIdentitiesTokenBalancesResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse + * @static + * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse} message GetIdentitiesTokenBalancesResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetIdentitiesTokenBalancesResponse.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.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.toObject(message.v0, options); + if (options.oneofs) + object.version = "v0"; + } + return object; + }; + + /** + * Converts this GetIdentitiesTokenBalancesResponse to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse + * @instance + * @returns {Object.} JSON object + */ + GetIdentitiesTokenBalancesResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0 = (function() { /** - * Properties of a GetCurrentQuorumsInfoResponseV0. - * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse - * @interface IGetCurrentQuorumsInfoResponseV0 - * @property {Array.|null} [quorumHashes] GetCurrentQuorumsInfoResponseV0 quorumHashes - * @property {Uint8Array|null} [currentQuorumHash] GetCurrentQuorumsInfoResponseV0 currentQuorumHash - * @property {Array.|null} [validatorSets] GetCurrentQuorumsInfoResponseV0 validatorSets - * @property {Uint8Array|null} [lastBlockProposer] GetCurrentQuorumsInfoResponseV0 lastBlockProposer - * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetCurrentQuorumsInfoResponseV0 metadata + * Properties of a GetIdentitiesTokenBalancesResponseV0. + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse + * @interface IGetIdentitiesTokenBalancesResponseV0 + * @property {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IIdentityTokenBalances|null} [identityTokenBalances] GetIdentitiesTokenBalancesResponseV0 identityTokenBalances + * @property {org.dash.platform.dapi.v0.IProof|null} [proof] GetIdentitiesTokenBalancesResponseV0 proof + * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetIdentitiesTokenBalancesResponseV0 metadata */ /** - * Constructs a new GetCurrentQuorumsInfoResponseV0. - * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse - * @classdesc Represents a GetCurrentQuorumsInfoResponseV0. - * @implements IGetCurrentQuorumsInfoResponseV0 + * Constructs a new GetIdentitiesTokenBalancesResponseV0. + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse + * @classdesc Represents a GetIdentitiesTokenBalancesResponseV0. + * @implements IGetIdentitiesTokenBalancesResponseV0 * @constructor - * @param {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.IGetCurrentQuorumsInfoResponseV0=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.IGetIdentitiesTokenBalancesResponseV0=} [properties] Properties to set */ - function GetCurrentQuorumsInfoResponseV0(properties) { - this.quorumHashes = []; - this.validatorSets = []; + function GetIdentitiesTokenBalancesResponseV0(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -44842,132 +50726,114 @@ $root.org = (function() { } /** - * GetCurrentQuorumsInfoResponseV0 quorumHashes. - * @member {Array.} quorumHashes - * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0 + * GetIdentitiesTokenBalancesResponseV0 identityTokenBalances. + * @member {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IIdentityTokenBalances|null|undefined} identityTokenBalances + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0 * @instance */ - GetCurrentQuorumsInfoResponseV0.prototype.quorumHashes = $util.emptyArray; + GetIdentitiesTokenBalancesResponseV0.prototype.identityTokenBalances = null; /** - * GetCurrentQuorumsInfoResponseV0 currentQuorumHash. - * @member {Uint8Array} currentQuorumHash - * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0 + * GetIdentitiesTokenBalancesResponseV0 proof. + * @member {org.dash.platform.dapi.v0.IProof|null|undefined} proof + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0 * @instance */ - GetCurrentQuorumsInfoResponseV0.prototype.currentQuorumHash = $util.newBuffer([]); + GetIdentitiesTokenBalancesResponseV0.prototype.proof = null; /** - * GetCurrentQuorumsInfoResponseV0 validatorSets. - * @member {Array.} validatorSets - * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0 + * GetIdentitiesTokenBalancesResponseV0 metadata. + * @member {org.dash.platform.dapi.v0.IResponseMetadata|null|undefined} metadata + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0 * @instance */ - GetCurrentQuorumsInfoResponseV0.prototype.validatorSets = $util.emptyArray; + GetIdentitiesTokenBalancesResponseV0.prototype.metadata = null; - /** - * GetCurrentQuorumsInfoResponseV0 lastBlockProposer. - * @member {Uint8Array} lastBlockProposer - * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0 - * @instance - */ - GetCurrentQuorumsInfoResponseV0.prototype.lastBlockProposer = $util.newBuffer([]); + // OneOf field names bound to virtual getters and setters + var $oneOfFields; /** - * GetCurrentQuorumsInfoResponseV0 metadata. - * @member {org.dash.platform.dapi.v0.IResponseMetadata|null|undefined} metadata - * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0 + * GetIdentitiesTokenBalancesResponseV0 result. + * @member {"identityTokenBalances"|"proof"|undefined} result + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0 * @instance */ - GetCurrentQuorumsInfoResponseV0.prototype.metadata = null; + Object.defineProperty(GetIdentitiesTokenBalancesResponseV0.prototype, "result", { + get: $util.oneOfGetter($oneOfFields = ["identityTokenBalances", "proof"]), + set: $util.oneOfSetter($oneOfFields) + }); /** - * Creates a new GetCurrentQuorumsInfoResponseV0 instance using the specified properties. + * Creates a new GetIdentitiesTokenBalancesResponseV0 instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0 + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.IGetCurrentQuorumsInfoResponseV0=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0} GetCurrentQuorumsInfoResponseV0 instance + * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.IGetIdentitiesTokenBalancesResponseV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0} GetIdentitiesTokenBalancesResponseV0 instance */ - GetCurrentQuorumsInfoResponseV0.create = function create(properties) { - return new GetCurrentQuorumsInfoResponseV0(properties); + GetIdentitiesTokenBalancesResponseV0.create = function create(properties) { + return new GetIdentitiesTokenBalancesResponseV0(properties); }; /** - * Encodes the specified GetCurrentQuorumsInfoResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.verify|verify} messages. + * Encodes the specified GetIdentitiesTokenBalancesResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0 + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.IGetCurrentQuorumsInfoResponseV0} message GetCurrentQuorumsInfoResponseV0 message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.IGetIdentitiesTokenBalancesResponseV0} message GetIdentitiesTokenBalancesResponseV0 message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetCurrentQuorumsInfoResponseV0.encode = function encode(message, writer) { + GetIdentitiesTokenBalancesResponseV0.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.quorumHashes != null && message.quorumHashes.length) - for (var i = 0; i < message.quorumHashes.length; ++i) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.quorumHashes[i]); - if (message.currentQuorumHash != null && Object.hasOwnProperty.call(message, "currentQuorumHash")) - writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.currentQuorumHash); - if (message.validatorSets != null && message.validatorSets.length) - for (var i = 0; i < message.validatorSets.length; ++i) - $root.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.encode(message.validatorSets[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.lastBlockProposer != null && Object.hasOwnProperty.call(message, "lastBlockProposer")) - writer.uint32(/* id 4, wireType 2 =*/34).bytes(message.lastBlockProposer); + if (message.identityTokenBalances != null && Object.hasOwnProperty.call(message, "identityTokenBalances")) + $root.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances.encode(message.identityTokenBalances, 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 5, wireType 2 =*/42).fork()).ldelim(); + $root.org.dash.platform.dapi.v0.ResponseMetadata.encode(message.metadata, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); return writer; }; /** - * Encodes the specified GetCurrentQuorumsInfoResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.verify|verify} messages. + * Encodes the specified GetIdentitiesTokenBalancesResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0 + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.IGetCurrentQuorumsInfoResponseV0} message GetCurrentQuorumsInfoResponseV0 message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.IGetIdentitiesTokenBalancesResponseV0} message GetIdentitiesTokenBalancesResponseV0 message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetCurrentQuorumsInfoResponseV0.encodeDelimited = function encodeDelimited(message, writer) { + GetIdentitiesTokenBalancesResponseV0.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetCurrentQuorumsInfoResponseV0 message from the specified reader or buffer. + * Decodes a GetIdentitiesTokenBalancesResponseV0 message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0 + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0 * @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.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0} GetCurrentQuorumsInfoResponseV0 + * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0} GetIdentitiesTokenBalancesResponseV0 * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetCurrentQuorumsInfoResponseV0.decode = function decode(reader, length) { + GetIdentitiesTokenBalancesResponseV0.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.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - if (!(message.quorumHashes && message.quorumHashes.length)) - message.quorumHashes = []; - message.quorumHashes.push(reader.bytes()); + message.identityTokenBalances = $root.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances.decode(reader, reader.uint32()); break; case 2: - message.currentQuorumHash = reader.bytes(); + message.proof = $root.org.dash.platform.dapi.v0.Proof.decode(reader, reader.uint32()); break; case 3: - if (!(message.validatorSets && message.validatorSets.length)) - message.validatorSets = []; - message.validatorSets.push($root.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.decode(reader, reader.uint32())); - break; - case 4: - message.lastBlockProposer = reader.bytes(); - break; - case 5: message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.decode(reader, reader.uint32()); break; default: @@ -44979,54 +50845,51 @@ $root.org = (function() { }; /** - * Decodes a GetCurrentQuorumsInfoResponseV0 message from the specified reader or buffer, length delimited. + * Decodes a GetIdentitiesTokenBalancesResponseV0 message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0 + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0 * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0} GetCurrentQuorumsInfoResponseV0 + * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0} GetIdentitiesTokenBalancesResponseV0 * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetCurrentQuorumsInfoResponseV0.decodeDelimited = function decodeDelimited(reader) { + GetIdentitiesTokenBalancesResponseV0.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GetCurrentQuorumsInfoResponseV0 message. + * Verifies a GetIdentitiesTokenBalancesResponseV0 message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0 + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0 * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetCurrentQuorumsInfoResponseV0.verify = function verify(message) { + GetIdentitiesTokenBalancesResponseV0.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.quorumHashes != null && message.hasOwnProperty("quorumHashes")) { - if (!Array.isArray(message.quorumHashes)) - return "quorumHashes: array expected"; - for (var i = 0; i < message.quorumHashes.length; ++i) - if (!(message.quorumHashes[i] && typeof message.quorumHashes[i].length === "number" || $util.isString(message.quorumHashes[i]))) - return "quorumHashes: buffer[] expected"; + var properties = {}; + if (message.identityTokenBalances != null && message.hasOwnProperty("identityTokenBalances")) { + properties.result = 1; + { + var error = $root.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances.verify(message.identityTokenBalances); + if (error) + return "identityTokenBalances." + error; + } } - if (message.currentQuorumHash != null && message.hasOwnProperty("currentQuorumHash")) - if (!(message.currentQuorumHash && typeof message.currentQuorumHash.length === "number" || $util.isString(message.currentQuorumHash))) - return "currentQuorumHash: buffer expected"; - if (message.validatorSets != null && message.hasOwnProperty("validatorSets")) { - if (!Array.isArray(message.validatorSets)) - return "validatorSets: array expected"; - for (var i = 0; i < message.validatorSets.length; ++i) { - var error = $root.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.verify(message.validatorSets[i]); + 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 "validatorSets." + error; + return "proof." + error; } } - if (message.lastBlockProposer != null && message.hasOwnProperty("lastBlockProposer")) - if (!(message.lastBlockProposer && typeof message.lastBlockProposer.length === "number" || $util.isString(message.lastBlockProposer))) - return "lastBlockProposer: buffer expected"; if (message.metadata != null && message.hasOwnProperty("metadata")) { var error = $root.org.dash.platform.dapi.v0.ResponseMetadata.verify(message.metadata); if (error) @@ -45035,144 +50898,542 @@ $root.org = (function() { return null; }; - /** - * Creates a GetCurrentQuorumsInfoResponseV0 message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0 - * @static - * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0} GetCurrentQuorumsInfoResponseV0 - */ - GetCurrentQuorumsInfoResponseV0.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0) - return object; - var message = new $root.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0(); - if (object.quorumHashes) { - if (!Array.isArray(object.quorumHashes)) - throw TypeError(".org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.quorumHashes: array expected"); - message.quorumHashes = []; - for (var i = 0; i < object.quorumHashes.length; ++i) - if (typeof object.quorumHashes[i] === "string") - $util.base64.decode(object.quorumHashes[i], message.quorumHashes[i] = $util.newBuffer($util.base64.length(object.quorumHashes[i])), 0); - else if (object.quorumHashes[i].length >= 0) - message.quorumHashes[i] = object.quorumHashes[i]; - } - if (object.currentQuorumHash != null) - if (typeof object.currentQuorumHash === "string") - $util.base64.decode(object.currentQuorumHash, message.currentQuorumHash = $util.newBuffer($util.base64.length(object.currentQuorumHash)), 0); - else if (object.currentQuorumHash.length >= 0) - message.currentQuorumHash = object.currentQuorumHash; - if (object.validatorSets) { - if (!Array.isArray(object.validatorSets)) - throw TypeError(".org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.validatorSets: array expected"); - message.validatorSets = []; - for (var i = 0; i < object.validatorSets.length; ++i) { - if (typeof object.validatorSets[i] !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.validatorSets: object expected"); - message.validatorSets[i] = $root.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.fromObject(object.validatorSets[i]); + /** + * Creates a GetIdentitiesTokenBalancesResponseV0 message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0 + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0} GetIdentitiesTokenBalancesResponseV0 + */ + GetIdentitiesTokenBalancesResponseV0.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0(); + if (object.identityTokenBalances != null) { + if (typeof object.identityTokenBalances !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.identityTokenBalances: object expected"); + message.identityTokenBalances = $root.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances.fromObject(object.identityTokenBalances); + } + if (object.proof != null) { + if (typeof object.proof !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.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.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.metadata: object expected"); + message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.fromObject(object.metadata); + } + return message; + }; + + /** + * Creates a plain object from a GetIdentitiesTokenBalancesResponseV0 message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0 + * @static + * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0} message GetIdentitiesTokenBalancesResponseV0 + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetIdentitiesTokenBalancesResponseV0.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.metadata = null; + if (message.identityTokenBalances != null && message.hasOwnProperty("identityTokenBalances")) { + object.identityTokenBalances = $root.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances.toObject(message.identityTokenBalances, options); + if (options.oneofs) + object.result = "identityTokenBalances"; + } + 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 GetIdentitiesTokenBalancesResponseV0 to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0 + * @instance + * @returns {Object.} JSON object + */ + GetIdentitiesTokenBalancesResponseV0.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry = (function() { + + /** + * Properties of an IdentityTokenBalanceEntry. + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0 + * @interface IIdentityTokenBalanceEntry + * @property {Uint8Array|null} [identityId] IdentityTokenBalanceEntry identityId + * @property {number|Long|null} [balance] IdentityTokenBalanceEntry balance + */ + + /** + * Constructs a new IdentityTokenBalanceEntry. + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0 + * @classdesc Represents an IdentityTokenBalanceEntry. + * @implements IIdentityTokenBalanceEntry + * @constructor + * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IIdentityTokenBalanceEntry=} [properties] Properties to set + */ + function IdentityTokenBalanceEntry(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]]; + } + + /** + * IdentityTokenBalanceEntry identityId. + * @member {Uint8Array} identityId + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry + * @instance + */ + IdentityTokenBalanceEntry.prototype.identityId = $util.newBuffer([]); + + /** + * IdentityTokenBalanceEntry balance. + * @member {number|Long} balance + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry + * @instance + */ + IdentityTokenBalanceEntry.prototype.balance = $util.Long ? $util.Long.fromBits(0,0,true) : 0; + + /** + * Creates a new IdentityTokenBalanceEntry instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry + * @static + * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IIdentityTokenBalanceEntry=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry} IdentityTokenBalanceEntry instance + */ + IdentityTokenBalanceEntry.create = function create(properties) { + return new IdentityTokenBalanceEntry(properties); + }; + + /** + * Encodes the specified IdentityTokenBalanceEntry message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry + * @static + * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IIdentityTokenBalanceEntry} message IdentityTokenBalanceEntry message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + IdentityTokenBalanceEntry.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.balance != null && Object.hasOwnProperty.call(message, "balance")) + writer.uint32(/* id 2, wireType 0 =*/16).uint64(message.balance); + return writer; + }; + + /** + * Encodes the specified IdentityTokenBalanceEntry message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry + * @static + * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IIdentityTokenBalanceEntry} message IdentityTokenBalanceEntry message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + IdentityTokenBalanceEntry.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an IdentityTokenBalanceEntry message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry + * @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.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry} IdentityTokenBalanceEntry + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + IdentityTokenBalanceEntry.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.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.identityId = reader.bytes(); + break; + case 2: + message.balance = reader.uint64(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an IdentityTokenBalanceEntry message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry} IdentityTokenBalanceEntry + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + IdentityTokenBalanceEntry.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an IdentityTokenBalanceEntry message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + IdentityTokenBalanceEntry.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.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"; + return null; + }; + + /** + * Creates an IdentityTokenBalanceEntry message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry} IdentityTokenBalanceEntry + */ + IdentityTokenBalanceEntry.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry(); + 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.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); + return message; + }; + + /** + * Creates a plain object from an IdentityTokenBalanceEntry message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry + * @static + * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry} message IdentityTokenBalanceEntry + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + IdentityTokenBalanceEntry.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); + } + 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 (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.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; + return object; + }; + + /** + * Converts this IdentityTokenBalanceEntry to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry + * @instance + * @returns {Object.} JSON object + */ + IdentityTokenBalanceEntry.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return IdentityTokenBalanceEntry; + })(); + + GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances = (function() { + + /** + * Properties of an IdentityTokenBalances. + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0 + * @interface IIdentityTokenBalances + * @property {Array.|null} [identityTokenBalances] IdentityTokenBalances identityTokenBalances + */ + + /** + * Constructs a new IdentityTokenBalances. + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0 + * @classdesc Represents an IdentityTokenBalances. + * @implements IIdentityTokenBalances + * @constructor + * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IIdentityTokenBalances=} [properties] Properties to set + */ + function IdentityTokenBalances(properties) { + this.identityTokenBalances = []; + 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]]; + } + + /** + * IdentityTokenBalances identityTokenBalances. + * @member {Array.} identityTokenBalances + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances + * @instance + */ + IdentityTokenBalances.prototype.identityTokenBalances = $util.emptyArray; + + /** + * Creates a new IdentityTokenBalances instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances + * @static + * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IIdentityTokenBalances=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances} IdentityTokenBalances instance + */ + IdentityTokenBalances.create = function create(properties) { + return new IdentityTokenBalances(properties); + }; + + /** + * Encodes the specified IdentityTokenBalances message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances + * @static + * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IIdentityTokenBalances} message IdentityTokenBalances message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + IdentityTokenBalances.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.identityTokenBalances != null && message.identityTokenBalances.length) + for (var i = 0; i < message.identityTokenBalances.length; ++i) + $root.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry.encode(message.identityTokenBalances[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified IdentityTokenBalances message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances + * @static + * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IIdentityTokenBalances} message IdentityTokenBalances message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + IdentityTokenBalances.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an IdentityTokenBalances message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances + * @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.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances} IdentityTokenBalances + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + IdentityTokenBalances.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.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.identityTokenBalances && message.identityTokenBalances.length)) + message.identityTokenBalances = []; + message.identityTokenBalances.push($root.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an IdentityTokenBalances message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances} IdentityTokenBalances + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + IdentityTokenBalances.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an IdentityTokenBalances message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + IdentityTokenBalances.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.identityTokenBalances != null && message.hasOwnProperty("identityTokenBalances")) { + if (!Array.isArray(message.identityTokenBalances)) + return "identityTokenBalances: array expected"; + for (var i = 0; i < message.identityTokenBalances.length; ++i) { + var error = $root.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry.verify(message.identityTokenBalances[i]); + if (error) + return "identityTokenBalances." + error; + } } - } - if (object.lastBlockProposer != null) - if (typeof object.lastBlockProposer === "string") - $util.base64.decode(object.lastBlockProposer, message.lastBlockProposer = $util.newBuffer($util.base64.length(object.lastBlockProposer)), 0); - else if (object.lastBlockProposer.length >= 0) - message.lastBlockProposer = object.lastBlockProposer; - if (object.metadata != null) { - if (typeof object.metadata !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.metadata: object expected"); - message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.fromObject(object.metadata); - } - return message; - }; + return null; + }; - /** - * Creates a plain object from a GetCurrentQuorumsInfoResponseV0 message. Also converts values to other types if specified. - * @function toObject - * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0 - * @static - * @param {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0} message GetCurrentQuorumsInfoResponseV0 - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - GetCurrentQuorumsInfoResponseV0.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.arrays || options.defaults) { - object.quorumHashes = []; - object.validatorSets = []; - } - if (options.defaults) { - if (options.bytes === String) - object.currentQuorumHash = ""; - else { - object.currentQuorumHash = []; - if (options.bytes !== Array) - object.currentQuorumHash = $util.newBuffer(object.currentQuorumHash); + /** + * Creates an IdentityTokenBalances message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances} IdentityTokenBalances + */ + IdentityTokenBalances.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances(); + if (object.identityTokenBalances) { + if (!Array.isArray(object.identityTokenBalances)) + throw TypeError(".org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances.identityTokenBalances: array expected"); + message.identityTokenBalances = []; + for (var i = 0; i < object.identityTokenBalances.length; ++i) { + if (typeof object.identityTokenBalances[i] !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances.identityTokenBalances: object expected"); + message.identityTokenBalances[i] = $root.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry.fromObject(object.identityTokenBalances[i]); + } } - if (options.bytes === String) - object.lastBlockProposer = ""; - else { - object.lastBlockProposer = []; - if (options.bytes !== Array) - object.lastBlockProposer = $util.newBuffer(object.lastBlockProposer); + return message; + }; + + /** + * Creates a plain object from an IdentityTokenBalances message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances + * @static + * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances} message IdentityTokenBalances + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + IdentityTokenBalances.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.identityTokenBalances = []; + if (message.identityTokenBalances && message.identityTokenBalances.length) { + object.identityTokenBalances = []; + for (var j = 0; j < message.identityTokenBalances.length; ++j) + object.identityTokenBalances[j] = $root.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry.toObject(message.identityTokenBalances[j], options); } - object.metadata = null; - } - if (message.quorumHashes && message.quorumHashes.length) { - object.quorumHashes = []; - for (var j = 0; j < message.quorumHashes.length; ++j) - object.quorumHashes[j] = options.bytes === String ? $util.base64.encode(message.quorumHashes[j], 0, message.quorumHashes[j].length) : options.bytes === Array ? Array.prototype.slice.call(message.quorumHashes[j]) : message.quorumHashes[j]; - } - if (message.currentQuorumHash != null && message.hasOwnProperty("currentQuorumHash")) - object.currentQuorumHash = options.bytes === String ? $util.base64.encode(message.currentQuorumHash, 0, message.currentQuorumHash.length) : options.bytes === Array ? Array.prototype.slice.call(message.currentQuorumHash) : message.currentQuorumHash; - if (message.validatorSets && message.validatorSets.length) { - object.validatorSets = []; - for (var j = 0; j < message.validatorSets.length; ++j) - object.validatorSets[j] = $root.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.toObject(message.validatorSets[j], options); - } - if (message.lastBlockProposer != null && message.hasOwnProperty("lastBlockProposer")) - object.lastBlockProposer = options.bytes === String ? $util.base64.encode(message.lastBlockProposer, 0, message.lastBlockProposer.length) : options.bytes === Array ? Array.prototype.slice.call(message.lastBlockProposer) : message.lastBlockProposer; - if (message.metadata != null && message.hasOwnProperty("metadata")) - object.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.toObject(message.metadata, options); - return object; - }; + return object; + }; - /** - * Converts this GetCurrentQuorumsInfoResponseV0 to JSON. - * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0 - * @instance - * @returns {Object.} JSON object - */ - GetCurrentQuorumsInfoResponseV0.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; + /** + * Converts this IdentityTokenBalances to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances + * @instance + * @returns {Object.} JSON object + */ + IdentityTokenBalances.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; - return GetCurrentQuorumsInfoResponseV0; + return IdentityTokenBalances; + })(); + + return GetIdentitiesTokenBalancesResponseV0; })(); - return GetCurrentQuorumsInfoResponse; + return GetIdentitiesTokenBalancesResponse; })(); - v0.GetIdentityTokenBalancesRequest = (function() { + v0.GetIdentityTokenInfosRequest = (function() { /** - * Properties of a GetIdentityTokenBalancesRequest. + * Properties of a GetIdentityTokenInfosRequest. * @memberof org.dash.platform.dapi.v0 - * @interface IGetIdentityTokenBalancesRequest - * @property {org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.IGetIdentityTokenBalancesRequestV0|null} [v0] GetIdentityTokenBalancesRequest v0 + * @interface IGetIdentityTokenInfosRequest + * @property {org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.IGetIdentityTokenInfosRequestV0|null} [v0] GetIdentityTokenInfosRequest v0 */ /** - * Constructs a new GetIdentityTokenBalancesRequest. + * Constructs a new GetIdentityTokenInfosRequest. * @memberof org.dash.platform.dapi.v0 - * @classdesc Represents a GetIdentityTokenBalancesRequest. - * @implements IGetIdentityTokenBalancesRequest + * @classdesc Represents a GetIdentityTokenInfosRequest. + * @implements IGetIdentityTokenInfosRequest * @constructor - * @param {org.dash.platform.dapi.v0.IGetIdentityTokenBalancesRequest=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.IGetIdentityTokenInfosRequest=} [properties] Properties to set */ - function GetIdentityTokenBalancesRequest(properties) { + function GetIdentityTokenInfosRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -45180,89 +51441,89 @@ $root.org = (function() { } /** - * GetIdentityTokenBalancesRequest v0. - * @member {org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.IGetIdentityTokenBalancesRequestV0|null|undefined} v0 - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest + * GetIdentityTokenInfosRequest v0. + * @member {org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.IGetIdentityTokenInfosRequestV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest * @instance */ - GetIdentityTokenBalancesRequest.prototype.v0 = null; + GetIdentityTokenInfosRequest.prototype.v0 = null; // OneOf field names bound to virtual getters and setters var $oneOfFields; /** - * GetIdentityTokenBalancesRequest version. + * GetIdentityTokenInfosRequest version. * @member {"v0"|undefined} version - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest * @instance */ - Object.defineProperty(GetIdentityTokenBalancesRequest.prototype, "version", { + Object.defineProperty(GetIdentityTokenInfosRequest.prototype, "version", { get: $util.oneOfGetter($oneOfFields = ["v0"]), set: $util.oneOfSetter($oneOfFields) }); /** - * Creates a new GetIdentityTokenBalancesRequest instance using the specified properties. + * Creates a new GetIdentityTokenInfosRequest instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest * @static - * @param {org.dash.platform.dapi.v0.IGetIdentityTokenBalancesRequest=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest} GetIdentityTokenBalancesRequest instance + * @param {org.dash.platform.dapi.v0.IGetIdentityTokenInfosRequest=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest} GetIdentityTokenInfosRequest instance */ - GetIdentityTokenBalancesRequest.create = function create(properties) { - return new GetIdentityTokenBalancesRequest(properties); + GetIdentityTokenInfosRequest.create = function create(properties) { + return new GetIdentityTokenInfosRequest(properties); }; /** - * Encodes the specified GetIdentityTokenBalancesRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.verify|verify} messages. + * Encodes the specified GetIdentityTokenInfosRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest * @static - * @param {org.dash.platform.dapi.v0.IGetIdentityTokenBalancesRequest} message GetIdentityTokenBalancesRequest message or plain object to encode + * @param {org.dash.platform.dapi.v0.IGetIdentityTokenInfosRequest} message GetIdentityTokenInfosRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetIdentityTokenBalancesRequest.encode = function encode(message, writer) { + GetIdentityTokenInfosRequest.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.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified GetIdentityTokenBalancesRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.verify|verify} messages. + * Encodes the specified GetIdentityTokenInfosRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest * @static - * @param {org.dash.platform.dapi.v0.IGetIdentityTokenBalancesRequest} message GetIdentityTokenBalancesRequest message or plain object to encode + * @param {org.dash.platform.dapi.v0.IGetIdentityTokenInfosRequest} message GetIdentityTokenInfosRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetIdentityTokenBalancesRequest.encodeDelimited = function encodeDelimited(message, writer) { + GetIdentityTokenInfosRequest.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetIdentityTokenBalancesRequest message from the specified reader or buffer. + * Decodes a GetIdentityTokenInfosRequest message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest * @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.GetIdentityTokenBalancesRequest} GetIdentityTokenBalancesRequest + * @returns {org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest} GetIdentityTokenInfosRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetIdentityTokenBalancesRequest.decode = function decode(reader, length) { + GetIdentityTokenInfosRequest.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.GetIdentityTokenBalancesRequest(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.v0 = $root.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.decode(reader, reader.uint32()); + message.v0 = $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -45273,37 +51534,37 @@ $root.org = (function() { }; /** - * Decodes a GetIdentityTokenBalancesRequest message from the specified reader or buffer, length delimited. + * Decodes a GetIdentityTokenInfosRequest message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest} GetIdentityTokenBalancesRequest + * @returns {org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest} GetIdentityTokenInfosRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetIdentityTokenBalancesRequest.decodeDelimited = function decodeDelimited(reader) { + GetIdentityTokenInfosRequest.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GetIdentityTokenBalancesRequest message. + * Verifies a GetIdentityTokenInfosRequest message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetIdentityTokenBalancesRequest.verify = function verify(message) { + GetIdentityTokenInfosRequest.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.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.verify(message.v0); + var error = $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.verify(message.v0); if (error) return "v0." + error; } @@ -45312,40 +51573,40 @@ $root.org = (function() { }; /** - * Creates a GetIdentityTokenBalancesRequest message from a plain object. Also converts values to their respective internal types. + * Creates a GetIdentityTokenInfosRequest message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest} GetIdentityTokenBalancesRequest + * @returns {org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest} GetIdentityTokenInfosRequest */ - GetIdentityTokenBalancesRequest.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest) + GetIdentityTokenInfosRequest.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest) return object; - var message = new $root.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest(); + var message = new $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest(); if (object.v0 != null) { if (typeof object.v0 !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.v0: object expected"); - message.v0 = $root.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.fromObject(object.v0); + throw TypeError(".org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.v0: object expected"); + message.v0 = $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.fromObject(object.v0); } return message; }; /** - * Creates a plain object from a GetIdentityTokenBalancesRequest message. Also converts values to other types if specified. + * Creates a plain object from a GetIdentityTokenInfosRequest message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest * @static - * @param {org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest} message GetIdentityTokenBalancesRequest + * @param {org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest} message GetIdentityTokenInfosRequest * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetIdentityTokenBalancesRequest.toObject = function toObject(message, options) { + GetIdentityTokenInfosRequest.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.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.toObject(message.v0, options); + object.v0 = $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.toObject(message.v0, options); if (options.oneofs) object.version = "v0"; } @@ -45353,36 +51614,36 @@ $root.org = (function() { }; /** - * Converts this GetIdentityTokenBalancesRequest to JSON. + * Converts this GetIdentityTokenInfosRequest to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest * @instance * @returns {Object.} JSON object */ - GetIdentityTokenBalancesRequest.prototype.toJSON = function toJSON() { + GetIdentityTokenInfosRequest.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0 = (function() { + GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0 = (function() { /** - * Properties of a GetIdentityTokenBalancesRequestV0. - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest - * @interface IGetIdentityTokenBalancesRequestV0 - * @property {Uint8Array|null} [identityId] GetIdentityTokenBalancesRequestV0 identityId - * @property {Array.|null} [tokenIds] GetIdentityTokenBalancesRequestV0 tokenIds - * @property {boolean|null} [prove] GetIdentityTokenBalancesRequestV0 prove + * Properties of a GetIdentityTokenInfosRequestV0. + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest + * @interface IGetIdentityTokenInfosRequestV0 + * @property {Uint8Array|null} [identityId] GetIdentityTokenInfosRequestV0 identityId + * @property {Array.|null} [tokenIds] GetIdentityTokenInfosRequestV0 tokenIds + * @property {boolean|null} [prove] GetIdentityTokenInfosRequestV0 prove */ /** - * Constructs a new GetIdentityTokenBalancesRequestV0. - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest - * @classdesc Represents a GetIdentityTokenBalancesRequestV0. - * @implements IGetIdentityTokenBalancesRequestV0 + * Constructs a new GetIdentityTokenInfosRequestV0. + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest + * @classdesc Represents a GetIdentityTokenInfosRequestV0. + * @implements IGetIdentityTokenInfosRequestV0 * @constructor - * @param {org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.IGetIdentityTokenBalancesRequestV0=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.IGetIdentityTokenInfosRequestV0=} [properties] Properties to set */ - function GetIdentityTokenBalancesRequestV0(properties) { + function GetIdentityTokenInfosRequestV0(properties) { this.tokenIds = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) @@ -45391,51 +51652,51 @@ $root.org = (function() { } /** - * GetIdentityTokenBalancesRequestV0 identityId. + * GetIdentityTokenInfosRequestV0 identityId. * @member {Uint8Array} identityId - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0 + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0 * @instance */ - GetIdentityTokenBalancesRequestV0.prototype.identityId = $util.newBuffer([]); + GetIdentityTokenInfosRequestV0.prototype.identityId = $util.newBuffer([]); /** - * GetIdentityTokenBalancesRequestV0 tokenIds. + * GetIdentityTokenInfosRequestV0 tokenIds. * @member {Array.} tokenIds - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0 + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0 * @instance */ - GetIdentityTokenBalancesRequestV0.prototype.tokenIds = $util.emptyArray; + GetIdentityTokenInfosRequestV0.prototype.tokenIds = $util.emptyArray; /** - * GetIdentityTokenBalancesRequestV0 prove. + * GetIdentityTokenInfosRequestV0 prove. * @member {boolean} prove - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0 + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0 * @instance */ - GetIdentityTokenBalancesRequestV0.prototype.prove = false; + GetIdentityTokenInfosRequestV0.prototype.prove = false; /** - * Creates a new GetIdentityTokenBalancesRequestV0 instance using the specified properties. + * Creates a new GetIdentityTokenInfosRequestV0 instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0 + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.IGetIdentityTokenBalancesRequestV0=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0} GetIdentityTokenBalancesRequestV0 instance + * @param {org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.IGetIdentityTokenInfosRequestV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0} GetIdentityTokenInfosRequestV0 instance */ - GetIdentityTokenBalancesRequestV0.create = function create(properties) { - return new GetIdentityTokenBalancesRequestV0(properties); + GetIdentityTokenInfosRequestV0.create = function create(properties) { + return new GetIdentityTokenInfosRequestV0(properties); }; /** - * Encodes the specified GetIdentityTokenBalancesRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.verify|verify} messages. + * Encodes the specified GetIdentityTokenInfosRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0 + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.IGetIdentityTokenBalancesRequestV0} message GetIdentityTokenBalancesRequestV0 message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.IGetIdentityTokenInfosRequestV0} message GetIdentityTokenInfosRequestV0 message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetIdentityTokenBalancesRequestV0.encode = function encode(message, writer) { + GetIdentityTokenInfosRequestV0.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.identityId != null && Object.hasOwnProperty.call(message, "identityId")) @@ -45449,33 +51710,33 @@ $root.org = (function() { }; /** - * Encodes the specified GetIdentityTokenBalancesRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.verify|verify} messages. + * Encodes the specified GetIdentityTokenInfosRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0 + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.IGetIdentityTokenBalancesRequestV0} message GetIdentityTokenBalancesRequestV0 message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.IGetIdentityTokenInfosRequestV0} message GetIdentityTokenInfosRequestV0 message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetIdentityTokenBalancesRequestV0.encodeDelimited = function encodeDelimited(message, writer) { + GetIdentityTokenInfosRequestV0.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetIdentityTokenBalancesRequestV0 message from the specified reader or buffer. + * Decodes a GetIdentityTokenInfosRequestV0 message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0 + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0 * @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.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0} GetIdentityTokenBalancesRequestV0 + * @returns {org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0} GetIdentityTokenInfosRequestV0 * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetIdentityTokenBalancesRequestV0.decode = function decode(reader, length) { + GetIdentityTokenInfosRequestV0.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.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { @@ -45499,30 +51760,30 @@ $root.org = (function() { }; /** - * Decodes a GetIdentityTokenBalancesRequestV0 message from the specified reader or buffer, length delimited. + * Decodes a GetIdentityTokenInfosRequestV0 message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0 + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0 * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0} GetIdentityTokenBalancesRequestV0 + * @returns {org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0} GetIdentityTokenInfosRequestV0 * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetIdentityTokenBalancesRequestV0.decodeDelimited = function decodeDelimited(reader) { + GetIdentityTokenInfosRequestV0.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GetIdentityTokenBalancesRequestV0 message. + * Verifies a GetIdentityTokenInfosRequestV0 message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0 + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0 * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetIdentityTokenBalancesRequestV0.verify = function verify(message) { + GetIdentityTokenInfosRequestV0.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.identityId != null && message.hasOwnProperty("identityId")) @@ -45542,17 +51803,17 @@ $root.org = (function() { }; /** - * Creates a GetIdentityTokenBalancesRequestV0 message from a plain object. Also converts values to their respective internal types. + * Creates a GetIdentityTokenInfosRequestV0 message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0 + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0 * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0} GetIdentityTokenBalancesRequestV0 + * @returns {org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0} GetIdentityTokenInfosRequestV0 */ - GetIdentityTokenBalancesRequestV0.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0) + GetIdentityTokenInfosRequestV0.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0) return object; - var message = new $root.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0(); + var message = new $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0(); if (object.identityId != null) if (typeof object.identityId === "string") $util.base64.decode(object.identityId, message.identityId = $util.newBuffer($util.base64.length(object.identityId)), 0); @@ -45560,7 +51821,7 @@ $root.org = (function() { message.identityId = object.identityId; if (object.tokenIds) { if (!Array.isArray(object.tokenIds)) - throw TypeError(".org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.tokenIds: array expected"); + throw TypeError(".org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.tokenIds: array expected"); message.tokenIds = []; for (var i = 0; i < object.tokenIds.length; ++i) if (typeof object.tokenIds[i] === "string") @@ -45574,15 +51835,15 @@ $root.org = (function() { }; /** - * Creates a plain object from a GetIdentityTokenBalancesRequestV0 message. Also converts values to other types if specified. + * Creates a plain object from a GetIdentityTokenInfosRequestV0 message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0 + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0} message GetIdentityTokenBalancesRequestV0 + * @param {org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0} message GetIdentityTokenInfosRequestV0 * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetIdentityTokenBalancesRequestV0.toObject = function toObject(message, options) { + GetIdentityTokenInfosRequestV0.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; @@ -45611,40 +51872,40 @@ $root.org = (function() { }; /** - * Converts this GetIdentityTokenBalancesRequestV0 to JSON. + * Converts this GetIdentityTokenInfosRequestV0 to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0 + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0 * @instance * @returns {Object.} JSON object */ - GetIdentityTokenBalancesRequestV0.prototype.toJSON = function toJSON() { + GetIdentityTokenInfosRequestV0.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return GetIdentityTokenBalancesRequestV0; + return GetIdentityTokenInfosRequestV0; })(); - return GetIdentityTokenBalancesRequest; + return GetIdentityTokenInfosRequest; })(); - v0.GetIdentityTokenBalancesResponse = (function() { + v0.GetIdentityTokenInfosResponse = (function() { /** - * Properties of a GetIdentityTokenBalancesResponse. + * Properties of a GetIdentityTokenInfosResponse. * @memberof org.dash.platform.dapi.v0 - * @interface IGetIdentityTokenBalancesResponse - * @property {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.IGetIdentityTokenBalancesResponseV0|null} [v0] GetIdentityTokenBalancesResponse v0 + * @interface IGetIdentityTokenInfosResponse + * @property {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.IGetIdentityTokenInfosResponseV0|null} [v0] GetIdentityTokenInfosResponse v0 */ /** - * Constructs a new GetIdentityTokenBalancesResponse. + * Constructs a new GetIdentityTokenInfosResponse. * @memberof org.dash.platform.dapi.v0 - * @classdesc Represents a GetIdentityTokenBalancesResponse. - * @implements IGetIdentityTokenBalancesResponse + * @classdesc Represents a GetIdentityTokenInfosResponse. + * @implements IGetIdentityTokenInfosResponse * @constructor - * @param {org.dash.platform.dapi.v0.IGetIdentityTokenBalancesResponse=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.IGetIdentityTokenInfosResponse=} [properties] Properties to set */ - function GetIdentityTokenBalancesResponse(properties) { + function GetIdentityTokenInfosResponse(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -45652,89 +51913,89 @@ $root.org = (function() { } /** - * GetIdentityTokenBalancesResponse v0. - * @member {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.IGetIdentityTokenBalancesResponseV0|null|undefined} v0 - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse + * GetIdentityTokenInfosResponse v0. + * @member {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.IGetIdentityTokenInfosResponseV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse * @instance */ - GetIdentityTokenBalancesResponse.prototype.v0 = null; + GetIdentityTokenInfosResponse.prototype.v0 = null; // OneOf field names bound to virtual getters and setters var $oneOfFields; /** - * GetIdentityTokenBalancesResponse version. + * GetIdentityTokenInfosResponse version. * @member {"v0"|undefined} version - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse * @instance */ - Object.defineProperty(GetIdentityTokenBalancesResponse.prototype, "version", { + Object.defineProperty(GetIdentityTokenInfosResponse.prototype, "version", { get: $util.oneOfGetter($oneOfFields = ["v0"]), set: $util.oneOfSetter($oneOfFields) }); /** - * Creates a new GetIdentityTokenBalancesResponse instance using the specified properties. + * Creates a new GetIdentityTokenInfosResponse instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse * @static - * @param {org.dash.platform.dapi.v0.IGetIdentityTokenBalancesResponse=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse} GetIdentityTokenBalancesResponse instance + * @param {org.dash.platform.dapi.v0.IGetIdentityTokenInfosResponse=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse} GetIdentityTokenInfosResponse instance */ - GetIdentityTokenBalancesResponse.create = function create(properties) { - return new GetIdentityTokenBalancesResponse(properties); + GetIdentityTokenInfosResponse.create = function create(properties) { + return new GetIdentityTokenInfosResponse(properties); }; /** - * Encodes the specified GetIdentityTokenBalancesResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.verify|verify} messages. + * Encodes the specified GetIdentityTokenInfosResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse * @static - * @param {org.dash.platform.dapi.v0.IGetIdentityTokenBalancesResponse} message GetIdentityTokenBalancesResponse message or plain object to encode + * @param {org.dash.platform.dapi.v0.IGetIdentityTokenInfosResponse} message GetIdentityTokenInfosResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetIdentityTokenBalancesResponse.encode = function encode(message, writer) { + GetIdentityTokenInfosResponse.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.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified GetIdentityTokenBalancesResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.verify|verify} messages. + * Encodes the specified GetIdentityTokenInfosResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse * @static - * @param {org.dash.platform.dapi.v0.IGetIdentityTokenBalancesResponse} message GetIdentityTokenBalancesResponse message or plain object to encode + * @param {org.dash.platform.dapi.v0.IGetIdentityTokenInfosResponse} message GetIdentityTokenInfosResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetIdentityTokenBalancesResponse.encodeDelimited = function encodeDelimited(message, writer) { + GetIdentityTokenInfosResponse.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetIdentityTokenBalancesResponse message from the specified reader or buffer. + * Decodes a GetIdentityTokenInfosResponse message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse * @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.GetIdentityTokenBalancesResponse} GetIdentityTokenBalancesResponse + * @returns {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse} GetIdentityTokenInfosResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetIdentityTokenBalancesResponse.decode = function decode(reader, length) { + GetIdentityTokenInfosResponse.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.GetIdentityTokenBalancesResponse(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.v0 = $root.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.decode(reader, reader.uint32()); + message.v0 = $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -45745,37 +52006,37 @@ $root.org = (function() { }; /** - * Decodes a GetIdentityTokenBalancesResponse message from the specified reader or buffer, length delimited. + * Decodes a GetIdentityTokenInfosResponse message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse} GetIdentityTokenBalancesResponse + * @returns {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse} GetIdentityTokenInfosResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetIdentityTokenBalancesResponse.decodeDelimited = function decodeDelimited(reader) { + GetIdentityTokenInfosResponse.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GetIdentityTokenBalancesResponse message. + * Verifies a GetIdentityTokenInfosResponse message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetIdentityTokenBalancesResponse.verify = function verify(message) { + GetIdentityTokenInfosResponse.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.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.verify(message.v0); + var error = $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.verify(message.v0); if (error) return "v0." + error; } @@ -45784,40 +52045,40 @@ $root.org = (function() { }; /** - * Creates a GetIdentityTokenBalancesResponse message from a plain object. Also converts values to their respective internal types. + * Creates a GetIdentityTokenInfosResponse message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse} GetIdentityTokenBalancesResponse + * @returns {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse} GetIdentityTokenInfosResponse */ - GetIdentityTokenBalancesResponse.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse) + GetIdentityTokenInfosResponse.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse) return object; - var message = new $root.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse(); + var message = new $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse(); if (object.v0 != null) { if (typeof object.v0 !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.v0: object expected"); - message.v0 = $root.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.fromObject(object.v0); + throw TypeError(".org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.v0: object expected"); + message.v0 = $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.fromObject(object.v0); } return message; }; /** - * Creates a plain object from a GetIdentityTokenBalancesResponse message. Also converts values to other types if specified. + * Creates a plain object from a GetIdentityTokenInfosResponse message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse * @static - * @param {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse} message GetIdentityTokenBalancesResponse + * @param {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse} message GetIdentityTokenInfosResponse * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetIdentityTokenBalancesResponse.toObject = function toObject(message, options) { + GetIdentityTokenInfosResponse.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.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.toObject(message.v0, options); + object.v0 = $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.toObject(message.v0, options); if (options.oneofs) object.version = "v0"; } @@ -45825,36 +52086,36 @@ $root.org = (function() { }; /** - * Converts this GetIdentityTokenBalancesResponse to JSON. + * Converts this GetIdentityTokenInfosResponse to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse * @instance * @returns {Object.} JSON object */ - GetIdentityTokenBalancesResponse.prototype.toJSON = function toJSON() { + GetIdentityTokenInfosResponse.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0 = (function() { + GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0 = (function() { /** - * Properties of a GetIdentityTokenBalancesResponseV0. - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse - * @interface IGetIdentityTokenBalancesResponseV0 - * @property {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.ITokenBalances|null} [tokenBalances] GetIdentityTokenBalancesResponseV0 tokenBalances - * @property {org.dash.platform.dapi.v0.IProof|null} [proof] GetIdentityTokenBalancesResponseV0 proof - * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetIdentityTokenBalancesResponseV0 metadata + * Properties of a GetIdentityTokenInfosResponseV0. + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse + * @interface IGetIdentityTokenInfosResponseV0 + * @property {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.ITokenInfos|null} [tokenInfos] GetIdentityTokenInfosResponseV0 tokenInfos + * @property {org.dash.platform.dapi.v0.IProof|null} [proof] GetIdentityTokenInfosResponseV0 proof + * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetIdentityTokenInfosResponseV0 metadata */ /** - * Constructs a new GetIdentityTokenBalancesResponseV0. - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse - * @classdesc Represents a GetIdentityTokenBalancesResponseV0. - * @implements IGetIdentityTokenBalancesResponseV0 + * Constructs a new GetIdentityTokenInfosResponseV0. + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse + * @classdesc Represents a GetIdentityTokenInfosResponseV0. + * @implements IGetIdentityTokenInfosResponseV0 * @constructor - * @param {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.IGetIdentityTokenBalancesResponseV0=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.IGetIdentityTokenInfosResponseV0=} [properties] Properties to set */ - function GetIdentityTokenBalancesResponseV0(properties) { + function GetIdentityTokenInfosResponseV0(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -45862,69 +52123,69 @@ $root.org = (function() { } /** - * GetIdentityTokenBalancesResponseV0 tokenBalances. - * @member {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.ITokenBalances|null|undefined} tokenBalances - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0 + * GetIdentityTokenInfosResponseV0 tokenInfos. + * @member {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.ITokenInfos|null|undefined} tokenInfos + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0 * @instance */ - GetIdentityTokenBalancesResponseV0.prototype.tokenBalances = null; + GetIdentityTokenInfosResponseV0.prototype.tokenInfos = null; /** - * GetIdentityTokenBalancesResponseV0 proof. + * GetIdentityTokenInfosResponseV0 proof. * @member {org.dash.platform.dapi.v0.IProof|null|undefined} proof - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0 + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0 * @instance */ - GetIdentityTokenBalancesResponseV0.prototype.proof = null; + GetIdentityTokenInfosResponseV0.prototype.proof = null; /** - * GetIdentityTokenBalancesResponseV0 metadata. + * GetIdentityTokenInfosResponseV0 metadata. * @member {org.dash.platform.dapi.v0.IResponseMetadata|null|undefined} metadata - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0 + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0 * @instance */ - GetIdentityTokenBalancesResponseV0.prototype.metadata = null; + GetIdentityTokenInfosResponseV0.prototype.metadata = null; // OneOf field names bound to virtual getters and setters var $oneOfFields; /** - * GetIdentityTokenBalancesResponseV0 result. - * @member {"tokenBalances"|"proof"|undefined} result - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0 + * GetIdentityTokenInfosResponseV0 result. + * @member {"tokenInfos"|"proof"|undefined} result + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0 * @instance */ - Object.defineProperty(GetIdentityTokenBalancesResponseV0.prototype, "result", { - get: $util.oneOfGetter($oneOfFields = ["tokenBalances", "proof"]), + Object.defineProperty(GetIdentityTokenInfosResponseV0.prototype, "result", { + get: $util.oneOfGetter($oneOfFields = ["tokenInfos", "proof"]), set: $util.oneOfSetter($oneOfFields) }); /** - * Creates a new GetIdentityTokenBalancesResponseV0 instance using the specified properties. + * Creates a new GetIdentityTokenInfosResponseV0 instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0 + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.IGetIdentityTokenBalancesResponseV0=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0} GetIdentityTokenBalancesResponseV0 instance + * @param {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.IGetIdentityTokenInfosResponseV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0} GetIdentityTokenInfosResponseV0 instance */ - GetIdentityTokenBalancesResponseV0.create = function create(properties) { - return new GetIdentityTokenBalancesResponseV0(properties); + GetIdentityTokenInfosResponseV0.create = function create(properties) { + return new GetIdentityTokenInfosResponseV0(properties); }; /** - * Encodes the specified GetIdentityTokenBalancesResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.verify|verify} messages. + * Encodes the specified GetIdentityTokenInfosResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0 + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.IGetIdentityTokenBalancesResponseV0} message GetIdentityTokenBalancesResponseV0 message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.IGetIdentityTokenInfosResponseV0} message GetIdentityTokenInfosResponseV0 message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetIdentityTokenBalancesResponseV0.encode = function encode(message, writer) { + GetIdentityTokenInfosResponseV0.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.tokenBalances != null && Object.hasOwnProperty.call(message, "tokenBalances")) - $root.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances.encode(message.tokenBalances, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.tokenInfos != null && Object.hasOwnProperty.call(message, "tokenInfos")) + $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos.encode(message.tokenInfos, 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")) @@ -45933,38 +52194,38 @@ $root.org = (function() { }; /** - * Encodes the specified GetIdentityTokenBalancesResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.verify|verify} messages. + * Encodes the specified GetIdentityTokenInfosResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0 + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.IGetIdentityTokenBalancesResponseV0} message GetIdentityTokenBalancesResponseV0 message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.IGetIdentityTokenInfosResponseV0} message GetIdentityTokenInfosResponseV0 message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetIdentityTokenBalancesResponseV0.encodeDelimited = function encodeDelimited(message, writer) { + GetIdentityTokenInfosResponseV0.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetIdentityTokenBalancesResponseV0 message from the specified reader or buffer. + * Decodes a GetIdentityTokenInfosResponseV0 message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0 + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0 * @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.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0} GetIdentityTokenBalancesResponseV0 + * @returns {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0} GetIdentityTokenInfosResponseV0 * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetIdentityTokenBalancesResponseV0.decode = function decode(reader, length) { + GetIdentityTokenInfosResponseV0.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.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.tokenBalances = $root.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances.decode(reader, reader.uint32()); + message.tokenInfos = $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos.decode(reader, reader.uint32()); break; case 2: message.proof = $root.org.dash.platform.dapi.v0.Proof.decode(reader, reader.uint32()); @@ -45981,39 +52242,39 @@ $root.org = (function() { }; /** - * Decodes a GetIdentityTokenBalancesResponseV0 message from the specified reader or buffer, length delimited. + * Decodes a GetIdentityTokenInfosResponseV0 message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0 + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0 * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0} GetIdentityTokenBalancesResponseV0 + * @returns {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0} GetIdentityTokenInfosResponseV0 * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetIdentityTokenBalancesResponseV0.decodeDelimited = function decodeDelimited(reader) { + GetIdentityTokenInfosResponseV0.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GetIdentityTokenBalancesResponseV0 message. + * Verifies a GetIdentityTokenInfosResponseV0 message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0 + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0 * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetIdentityTokenBalancesResponseV0.verify = function verify(message) { + GetIdentityTokenInfosResponseV0.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; var properties = {}; - if (message.tokenBalances != null && message.hasOwnProperty("tokenBalances")) { + if (message.tokenInfos != null && message.hasOwnProperty("tokenInfos")) { properties.result = 1; { - var error = $root.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances.verify(message.tokenBalances); + var error = $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos.verify(message.tokenInfos); if (error) - return "tokenBalances." + error; + return "tokenInfos." + error; } } if (message.proof != null && message.hasOwnProperty("proof")) { @@ -46035,54 +52296,54 @@ $root.org = (function() { }; /** - * Creates a GetIdentityTokenBalancesResponseV0 message from a plain object. Also converts values to their respective internal types. + * Creates a GetIdentityTokenInfosResponseV0 message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0 + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0 * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0} GetIdentityTokenBalancesResponseV0 + * @returns {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0} GetIdentityTokenInfosResponseV0 */ - GetIdentityTokenBalancesResponseV0.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0) + GetIdentityTokenInfosResponseV0.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0) return object; - var message = new $root.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0(); - if (object.tokenBalances != null) { - if (typeof object.tokenBalances !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.tokenBalances: object expected"); - message.tokenBalances = $root.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances.fromObject(object.tokenBalances); + var message = new $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0(); + if (object.tokenInfos != null) { + if (typeof object.tokenInfos !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.tokenInfos: object expected"); + message.tokenInfos = $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos.fromObject(object.tokenInfos); } if (object.proof != null) { if (typeof object.proof !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.proof: object expected"); + throw TypeError(".org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.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.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.metadata: object expected"); + throw TypeError(".org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.metadata: object expected"); message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.fromObject(object.metadata); } return message; }; /** - * Creates a plain object from a GetIdentityTokenBalancesResponseV0 message. Also converts values to other types if specified. + * Creates a plain object from a GetIdentityTokenInfosResponseV0 message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0 + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0} message GetIdentityTokenBalancesResponseV0 + * @param {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0} message GetIdentityTokenInfosResponseV0 * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetIdentityTokenBalancesResponseV0.toObject = function toObject(message, options) { + GetIdentityTokenInfosResponseV0.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) object.metadata = null; - if (message.tokenBalances != null && message.hasOwnProperty("tokenBalances")) { - object.tokenBalances = $root.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances.toObject(message.tokenBalances, options); + if (message.tokenInfos != null && message.hasOwnProperty("tokenInfos")) { + object.tokenInfos = $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos.toObject(message.tokenInfos, options); if (options.oneofs) - object.result = "tokenBalances"; + object.result = "tokenInfos"; } if (message.proof != null && message.hasOwnProperty("proof")) { object.proof = $root.org.dash.platform.dapi.v0.Proof.toObject(message.proof, options); @@ -46095,35 +52356,34 @@ $root.org = (function() { }; /** - * Converts this GetIdentityTokenBalancesResponseV0 to JSON. + * Converts this GetIdentityTokenInfosResponseV0 to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0 + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0 * @instance * @returns {Object.} JSON object */ - GetIdentityTokenBalancesResponseV0.prototype.toJSON = function toJSON() { + GetIdentityTokenInfosResponseV0.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - GetIdentityTokenBalancesResponseV0.TokenBalanceEntry = (function() { + GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry = (function() { /** - * Properties of a TokenBalanceEntry. - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0 - * @interface ITokenBalanceEntry - * @property {Uint8Array|null} [tokenId] TokenBalanceEntry tokenId - * @property {number|Long|null} [balance] TokenBalanceEntry balance + * Properties of a TokenIdentityInfoEntry. + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0 + * @interface ITokenIdentityInfoEntry + * @property {boolean|null} [frozen] TokenIdentityInfoEntry frozen */ /** - * Constructs a new TokenBalanceEntry. - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0 - * @classdesc Represents a TokenBalanceEntry. - * @implements ITokenBalanceEntry + * Constructs a new TokenIdentityInfoEntry. + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0 + * @classdesc Represents a TokenIdentityInfoEntry. + * @implements ITokenIdentityInfoEntry * @constructor - * @param {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.ITokenBalanceEntry=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.ITokenIdentityInfoEntry=} [properties] Properties to set */ - function TokenBalanceEntry(properties) { + function TokenIdentityInfoEntry(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -46131,80 +52391,268 @@ $root.org = (function() { } /** - * TokenBalanceEntry tokenId. + * TokenIdentityInfoEntry frozen. + * @member {boolean} frozen + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry + * @instance + */ + TokenIdentityInfoEntry.prototype.frozen = false; + + /** + * Creates a new TokenIdentityInfoEntry instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry + * @static + * @param {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.ITokenIdentityInfoEntry=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry} TokenIdentityInfoEntry instance + */ + TokenIdentityInfoEntry.create = function create(properties) { + return new TokenIdentityInfoEntry(properties); + }; + + /** + * Encodes the specified TokenIdentityInfoEntry message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry + * @static + * @param {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.ITokenIdentityInfoEntry} message TokenIdentityInfoEntry message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + TokenIdentityInfoEntry.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.frozen != null && Object.hasOwnProperty.call(message, "frozen")) + writer.uint32(/* id 1, wireType 0 =*/8).bool(message.frozen); + return writer; + }; + + /** + * Encodes the specified TokenIdentityInfoEntry message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry + * @static + * @param {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.ITokenIdentityInfoEntry} message TokenIdentityInfoEntry message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + TokenIdentityInfoEntry.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a TokenIdentityInfoEntry message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry + * @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.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry} TokenIdentityInfoEntry + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + TokenIdentityInfoEntry.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.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.frozen = reader.bool(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a TokenIdentityInfoEntry message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry} TokenIdentityInfoEntry + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + TokenIdentityInfoEntry.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a TokenIdentityInfoEntry message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + TokenIdentityInfoEntry.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.frozen != null && message.hasOwnProperty("frozen")) + if (typeof message.frozen !== "boolean") + return "frozen: boolean expected"; + return null; + }; + + /** + * Creates a TokenIdentityInfoEntry message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry} TokenIdentityInfoEntry + */ + TokenIdentityInfoEntry.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry(); + if (object.frozen != null) + message.frozen = Boolean(object.frozen); + return message; + }; + + /** + * Creates a plain object from a TokenIdentityInfoEntry message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry + * @static + * @param {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry} message TokenIdentityInfoEntry + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + TokenIdentityInfoEntry.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.frozen = false; + if (message.frozen != null && message.hasOwnProperty("frozen")) + object.frozen = message.frozen; + return object; + }; + + /** + * Converts this TokenIdentityInfoEntry to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry + * @instance + * @returns {Object.} JSON object + */ + TokenIdentityInfoEntry.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return TokenIdentityInfoEntry; + })(); + + GetIdentityTokenInfosResponseV0.TokenInfoEntry = (function() { + + /** + * Properties of a TokenInfoEntry. + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0 + * @interface ITokenInfoEntry + * @property {Uint8Array|null} [tokenId] TokenInfoEntry tokenId + * @property {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.ITokenIdentityInfoEntry|null} [info] TokenInfoEntry info + */ + + /** + * Constructs a new TokenInfoEntry. + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0 + * @classdesc Represents a TokenInfoEntry. + * @implements ITokenInfoEntry + * @constructor + * @param {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.ITokenInfoEntry=} [properties] Properties to set + */ + function TokenInfoEntry(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]]; + } + + /** + * TokenInfoEntry tokenId. * @member {Uint8Array} tokenId - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry * @instance */ - TokenBalanceEntry.prototype.tokenId = $util.newBuffer([]); + TokenInfoEntry.prototype.tokenId = $util.newBuffer([]); /** - * TokenBalanceEntry balance. - * @member {number|Long} balance - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry + * TokenInfoEntry info. + * @member {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.ITokenIdentityInfoEntry|null|undefined} info + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry * @instance */ - TokenBalanceEntry.prototype.balance = $util.Long ? $util.Long.fromBits(0,0,true) : 0; + TokenInfoEntry.prototype.info = null; /** - * Creates a new TokenBalanceEntry instance using the specified properties. + * Creates a new TokenInfoEntry instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry * @static - * @param {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.ITokenBalanceEntry=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry} TokenBalanceEntry instance + * @param {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.ITokenInfoEntry=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry} TokenInfoEntry instance */ - TokenBalanceEntry.create = function create(properties) { - return new TokenBalanceEntry(properties); + TokenInfoEntry.create = function create(properties) { + return new TokenInfoEntry(properties); }; /** - * Encodes the specified TokenBalanceEntry message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry.verify|verify} messages. + * Encodes the specified TokenInfoEntry message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry * @static - * @param {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.ITokenBalanceEntry} message TokenBalanceEntry message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.ITokenInfoEntry} message TokenInfoEntry message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - TokenBalanceEntry.encode = function encode(message, writer) { + TokenInfoEntry.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.tokenId != null && Object.hasOwnProperty.call(message, "tokenId")) writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.tokenId); - if (message.balance != null && Object.hasOwnProperty.call(message, "balance")) - writer.uint32(/* id 2, wireType 0 =*/16).uint64(message.balance); + if (message.info != null && Object.hasOwnProperty.call(message, "info")) + $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry.encode(message.info, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; /** - * Encodes the specified TokenBalanceEntry message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry.verify|verify} messages. + * Encodes the specified TokenInfoEntry message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry * @static - * @param {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.ITokenBalanceEntry} message TokenBalanceEntry message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.ITokenInfoEntry} message TokenInfoEntry message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - TokenBalanceEntry.encodeDelimited = function encodeDelimited(message, writer) { + TokenInfoEntry.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a TokenBalanceEntry message from the specified reader or buffer. + * Decodes a TokenInfoEntry message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry * @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.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry} TokenBalanceEntry + * @returns {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry} TokenInfoEntry * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - TokenBalanceEntry.decode = function decode(reader, length) { + TokenInfoEntry.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.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { @@ -46212,7 +52660,7 @@ $root.org = (function() { message.tokenId = reader.bytes(); break; case 2: - message.balance = reader.uint64(); + message.info = $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -46223,80 +52671,78 @@ $root.org = (function() { }; /** - * Decodes a TokenBalanceEntry message from the specified reader or buffer, length delimited. + * Decodes a TokenInfoEntry message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry} TokenBalanceEntry + * @returns {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry} TokenInfoEntry * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - TokenBalanceEntry.decodeDelimited = function decodeDelimited(reader) { + TokenInfoEntry.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a TokenBalanceEntry message. + * Verifies a TokenInfoEntry message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - TokenBalanceEntry.verify = function verify(message) { + TokenInfoEntry.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.tokenId != null && message.hasOwnProperty("tokenId")) if (!(message.tokenId && typeof message.tokenId.length === "number" || $util.isString(message.tokenId))) return "tokenId: buffer 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.info != null && message.hasOwnProperty("info")) { + var error = $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry.verify(message.info); + if (error) + return "info." + error; + } return null; }; /** - * Creates a TokenBalanceEntry message from a plain object. Also converts values to their respective internal types. + * Creates a TokenInfoEntry message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry} TokenBalanceEntry + * @returns {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry} TokenInfoEntry */ - TokenBalanceEntry.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry) + TokenInfoEntry.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry) return object; - var message = new $root.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry(); + var message = new $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry(); if (object.tokenId != null) if (typeof object.tokenId === "string") $util.base64.decode(object.tokenId, message.tokenId = $util.newBuffer($util.base64.length(object.tokenId)), 0); else if (object.tokenId.length >= 0) message.tokenId = object.tokenId; - 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.info != null) { + if (typeof object.info !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry.info: object expected"); + message.info = $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry.fromObject(object.info); + } return message; }; /** - * Creates a plain object from a TokenBalanceEntry message. Also converts values to other types if specified. + * Creates a plain object from a TokenInfoEntry message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry * @static - * @param {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry} message TokenBalanceEntry + * @param {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry} message TokenInfoEntry * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - TokenBalanceEntry.toObject = function toObject(message, options) { + TokenInfoEntry.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; @@ -46308,55 +52754,48 @@ $root.org = (function() { if (options.bytes !== Array) object.tokenId = $util.newBuffer(object.tokenId); } - 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; + object.info = null; } if (message.tokenId != null && message.hasOwnProperty("tokenId")) object.tokenId = options.bytes === String ? $util.base64.encode(message.tokenId, 0, message.tokenId.length) : options.bytes === Array ? Array.prototype.slice.call(message.tokenId) : message.tokenId; - 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.info != null && message.hasOwnProperty("info")) + object.info = $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry.toObject(message.info, options); return object; }; /** - * Converts this TokenBalanceEntry to JSON. + * Converts this TokenInfoEntry to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry * @instance * @returns {Object.} JSON object */ - TokenBalanceEntry.prototype.toJSON = function toJSON() { + TokenInfoEntry.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return TokenBalanceEntry; + return TokenInfoEntry; })(); - GetIdentityTokenBalancesResponseV0.TokenBalances = (function() { + GetIdentityTokenInfosResponseV0.TokenInfos = (function() { /** - * Properties of a TokenBalances. - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0 - * @interface ITokenBalances - * @property {Array.|null} [tokenBalances] TokenBalances tokenBalances + * Properties of a TokenInfos. + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0 + * @interface ITokenInfos + * @property {Array.|null} [tokenInfos] TokenInfos tokenInfos */ /** - * Constructs a new TokenBalances. - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0 - * @classdesc Represents a TokenBalances. - * @implements ITokenBalances + * Constructs a new TokenInfos. + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0 + * @classdesc Represents a TokenInfos. + * @implements ITokenInfos * @constructor - * @param {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.ITokenBalances=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.ITokenInfos=} [properties] Properties to set */ - function TokenBalances(properties) { - this.tokenBalances = []; + function TokenInfos(properties) { + this.tokenInfos = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -46364,78 +52803,78 @@ $root.org = (function() { } /** - * TokenBalances tokenBalances. - * @member {Array.} tokenBalances - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances + * TokenInfos tokenInfos. + * @member {Array.} tokenInfos + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos * @instance */ - TokenBalances.prototype.tokenBalances = $util.emptyArray; + TokenInfos.prototype.tokenInfos = $util.emptyArray; /** - * Creates a new TokenBalances instance using the specified properties. + * Creates a new TokenInfos instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos * @static - * @param {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.ITokenBalances=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances} TokenBalances instance + * @param {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.ITokenInfos=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos} TokenInfos instance */ - TokenBalances.create = function create(properties) { - return new TokenBalances(properties); + TokenInfos.create = function create(properties) { + return new TokenInfos(properties); }; /** - * Encodes the specified TokenBalances message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances.verify|verify} messages. + * Encodes the specified TokenInfos message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos * @static - * @param {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.ITokenBalances} message TokenBalances message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.ITokenInfos} message TokenInfos message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - TokenBalances.encode = function encode(message, writer) { + TokenInfos.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.tokenBalances != null && message.tokenBalances.length) - for (var i = 0; i < message.tokenBalances.length; ++i) - $root.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry.encode(message.tokenBalances[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.tokenInfos != null && message.tokenInfos.length) + for (var i = 0; i < message.tokenInfos.length; ++i) + $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry.encode(message.tokenInfos[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified TokenBalances message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances.verify|verify} messages. + * Encodes the specified TokenInfos message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos * @static - * @param {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.ITokenBalances} message TokenBalances message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.ITokenInfos} message TokenInfos message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - TokenBalances.encodeDelimited = function encodeDelimited(message, writer) { + TokenInfos.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a TokenBalances message from the specified reader or buffer. + * Decodes a TokenInfos message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos * @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.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances} TokenBalances + * @returns {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos} TokenInfos * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - TokenBalances.decode = function decode(reader, length) { + TokenInfos.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.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - if (!(message.tokenBalances && message.tokenBalances.length)) - message.tokenBalances = []; - message.tokenBalances.push($root.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry.decode(reader, reader.uint32())); + if (!(message.tokenInfos && message.tokenInfos.length)) + message.tokenInfos = []; + message.tokenInfos.push($root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry.decode(reader, reader.uint32())); break; default: reader.skipType(tag & 7); @@ -46446,130 +52885,130 @@ $root.org = (function() { }; /** - * Decodes a TokenBalances message from the specified reader or buffer, length delimited. + * Decodes a TokenInfos message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances} TokenBalances + * @returns {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos} TokenInfos * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - TokenBalances.decodeDelimited = function decodeDelimited(reader) { + TokenInfos.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a TokenBalances message. + * Verifies a TokenInfos message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - TokenBalances.verify = function verify(message) { + TokenInfos.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.tokenBalances != null && message.hasOwnProperty("tokenBalances")) { - if (!Array.isArray(message.tokenBalances)) - return "tokenBalances: array expected"; - for (var i = 0; i < message.tokenBalances.length; ++i) { - var error = $root.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry.verify(message.tokenBalances[i]); + if (message.tokenInfos != null && message.hasOwnProperty("tokenInfos")) { + if (!Array.isArray(message.tokenInfos)) + return "tokenInfos: array expected"; + for (var i = 0; i < message.tokenInfos.length; ++i) { + var error = $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry.verify(message.tokenInfos[i]); if (error) - return "tokenBalances." + error; + return "tokenInfos." + error; } } return null; }; /** - * Creates a TokenBalances message from a plain object. Also converts values to their respective internal types. + * Creates a TokenInfos message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances} TokenBalances + * @returns {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos} TokenInfos */ - TokenBalances.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances) + TokenInfos.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos) return object; - var message = new $root.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances(); - if (object.tokenBalances) { - if (!Array.isArray(object.tokenBalances)) - throw TypeError(".org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances.tokenBalances: array expected"); - message.tokenBalances = []; - for (var i = 0; i < object.tokenBalances.length; ++i) { - if (typeof object.tokenBalances[i] !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances.tokenBalances: object expected"); - message.tokenBalances[i] = $root.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry.fromObject(object.tokenBalances[i]); + var message = new $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos(); + if (object.tokenInfos) { + if (!Array.isArray(object.tokenInfos)) + throw TypeError(".org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos.tokenInfos: array expected"); + message.tokenInfos = []; + for (var i = 0; i < object.tokenInfos.length; ++i) { + if (typeof object.tokenInfos[i] !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos.tokenInfos: object expected"); + message.tokenInfos[i] = $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry.fromObject(object.tokenInfos[i]); } } return message; }; /** - * Creates a plain object from a TokenBalances message. Also converts values to other types if specified. + * Creates a plain object from a TokenInfos message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos * @static - * @param {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances} message TokenBalances + * @param {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos} message TokenInfos * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - TokenBalances.toObject = function toObject(message, options) { + TokenInfos.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.arrays || options.defaults) - object.tokenBalances = []; - if (message.tokenBalances && message.tokenBalances.length) { - object.tokenBalances = []; - for (var j = 0; j < message.tokenBalances.length; ++j) - object.tokenBalances[j] = $root.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry.toObject(message.tokenBalances[j], options); + object.tokenInfos = []; + if (message.tokenInfos && message.tokenInfos.length) { + object.tokenInfos = []; + for (var j = 0; j < message.tokenInfos.length; ++j) + object.tokenInfos[j] = $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry.toObject(message.tokenInfos[j], options); } return object; }; /** - * Converts this TokenBalances to JSON. + * Converts this TokenInfos to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances + * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos * @instance * @returns {Object.} JSON object */ - TokenBalances.prototype.toJSON = function toJSON() { + TokenInfos.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return TokenBalances; + return TokenInfos; })(); - return GetIdentityTokenBalancesResponseV0; + return GetIdentityTokenInfosResponseV0; })(); - return GetIdentityTokenBalancesResponse; + return GetIdentityTokenInfosResponse; })(); - v0.GetIdentitiesTokenBalancesRequest = (function() { + v0.GetIdentitiesTokenInfosRequest = (function() { /** - * Properties of a GetIdentitiesTokenBalancesRequest. + * Properties of a GetIdentitiesTokenInfosRequest. * @memberof org.dash.platform.dapi.v0 - * @interface IGetIdentitiesTokenBalancesRequest - * @property {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.IGetIdentitiesTokenBalancesRequestV0|null} [v0] GetIdentitiesTokenBalancesRequest v0 + * @interface IGetIdentitiesTokenInfosRequest + * @property {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.IGetIdentitiesTokenInfosRequestV0|null} [v0] GetIdentitiesTokenInfosRequest v0 */ /** - * Constructs a new GetIdentitiesTokenBalancesRequest. + * Constructs a new GetIdentitiesTokenInfosRequest. * @memberof org.dash.platform.dapi.v0 - * @classdesc Represents a GetIdentitiesTokenBalancesRequest. - * @implements IGetIdentitiesTokenBalancesRequest + * @classdesc Represents a GetIdentitiesTokenInfosRequest. + * @implements IGetIdentitiesTokenInfosRequest * @constructor - * @param {org.dash.platform.dapi.v0.IGetIdentitiesTokenBalancesRequest=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.IGetIdentitiesTokenInfosRequest=} [properties] Properties to set */ - function GetIdentitiesTokenBalancesRequest(properties) { + function GetIdentitiesTokenInfosRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -46577,89 +53016,89 @@ $root.org = (function() { } /** - * GetIdentitiesTokenBalancesRequest v0. - * @member {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.IGetIdentitiesTokenBalancesRequestV0|null|undefined} v0 - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest + * GetIdentitiesTokenInfosRequest v0. + * @member {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.IGetIdentitiesTokenInfosRequestV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest * @instance */ - GetIdentitiesTokenBalancesRequest.prototype.v0 = null; + GetIdentitiesTokenInfosRequest.prototype.v0 = null; // OneOf field names bound to virtual getters and setters var $oneOfFields; /** - * GetIdentitiesTokenBalancesRequest version. + * GetIdentitiesTokenInfosRequest version. * @member {"v0"|undefined} version - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest * @instance */ - Object.defineProperty(GetIdentitiesTokenBalancesRequest.prototype, "version", { + Object.defineProperty(GetIdentitiesTokenInfosRequest.prototype, "version", { get: $util.oneOfGetter($oneOfFields = ["v0"]), set: $util.oneOfSetter($oneOfFields) }); /** - * Creates a new GetIdentitiesTokenBalancesRequest instance using the specified properties. + * Creates a new GetIdentitiesTokenInfosRequest instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest * @static - * @param {org.dash.platform.dapi.v0.IGetIdentitiesTokenBalancesRequest=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest} GetIdentitiesTokenBalancesRequest instance + * @param {org.dash.platform.dapi.v0.IGetIdentitiesTokenInfosRequest=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest} GetIdentitiesTokenInfosRequest instance */ - GetIdentitiesTokenBalancesRequest.create = function create(properties) { - return new GetIdentitiesTokenBalancesRequest(properties); + GetIdentitiesTokenInfosRequest.create = function create(properties) { + return new GetIdentitiesTokenInfosRequest(properties); }; /** - * Encodes the specified GetIdentitiesTokenBalancesRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.verify|verify} messages. + * Encodes the specified GetIdentitiesTokenInfosRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest * @static - * @param {org.dash.platform.dapi.v0.IGetIdentitiesTokenBalancesRequest} message GetIdentitiesTokenBalancesRequest message or plain object to encode + * @param {org.dash.platform.dapi.v0.IGetIdentitiesTokenInfosRequest} message GetIdentitiesTokenInfosRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetIdentitiesTokenBalancesRequest.encode = function encode(message, writer) { + GetIdentitiesTokenInfosRequest.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.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified GetIdentitiesTokenBalancesRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.verify|verify} messages. + * Encodes the specified GetIdentitiesTokenInfosRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest * @static - * @param {org.dash.platform.dapi.v0.IGetIdentitiesTokenBalancesRequest} message GetIdentitiesTokenBalancesRequest message or plain object to encode + * @param {org.dash.platform.dapi.v0.IGetIdentitiesTokenInfosRequest} message GetIdentitiesTokenInfosRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetIdentitiesTokenBalancesRequest.encodeDelimited = function encodeDelimited(message, writer) { + GetIdentitiesTokenInfosRequest.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetIdentitiesTokenBalancesRequest message from the specified reader or buffer. + * Decodes a GetIdentitiesTokenInfosRequest message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest * @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.GetIdentitiesTokenBalancesRequest} GetIdentitiesTokenBalancesRequest + * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest} GetIdentitiesTokenInfosRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetIdentitiesTokenBalancesRequest.decode = function decode(reader, length) { + GetIdentitiesTokenInfosRequest.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.GetIdentitiesTokenBalancesRequest(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.v0 = $root.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.decode(reader, reader.uint32()); + message.v0 = $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -46670,37 +53109,37 @@ $root.org = (function() { }; /** - * Decodes a GetIdentitiesTokenBalancesRequest message from the specified reader or buffer, length delimited. + * Decodes a GetIdentitiesTokenInfosRequest message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest} GetIdentitiesTokenBalancesRequest + * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest} GetIdentitiesTokenInfosRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetIdentitiesTokenBalancesRequest.decodeDelimited = function decodeDelimited(reader) { + GetIdentitiesTokenInfosRequest.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GetIdentitiesTokenBalancesRequest message. + * Verifies a GetIdentitiesTokenInfosRequest message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetIdentitiesTokenBalancesRequest.verify = function verify(message) { + GetIdentitiesTokenInfosRequest.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.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.verify(message.v0); + var error = $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.verify(message.v0); if (error) return "v0." + error; } @@ -46709,40 +53148,40 @@ $root.org = (function() { }; /** - * Creates a GetIdentitiesTokenBalancesRequest message from a plain object. Also converts values to their respective internal types. + * Creates a GetIdentitiesTokenInfosRequest message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest} GetIdentitiesTokenBalancesRequest + * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest} GetIdentitiesTokenInfosRequest */ - GetIdentitiesTokenBalancesRequest.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest) + GetIdentitiesTokenInfosRequest.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest) return object; - var message = new $root.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest(); + var message = new $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest(); if (object.v0 != null) { if (typeof object.v0 !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.v0: object expected"); - message.v0 = $root.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.fromObject(object.v0); + throw TypeError(".org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.v0: object expected"); + message.v0 = $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.fromObject(object.v0); } return message; }; /** - * Creates a plain object from a GetIdentitiesTokenBalancesRequest message. Also converts values to other types if specified. + * Creates a plain object from a GetIdentitiesTokenInfosRequest message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest * @static - * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest} message GetIdentitiesTokenBalancesRequest + * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest} message GetIdentitiesTokenInfosRequest * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetIdentitiesTokenBalancesRequest.toObject = function toObject(message, options) { + GetIdentitiesTokenInfosRequest.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.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.toObject(message.v0, options); + object.v0 = $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.toObject(message.v0, options); if (options.oneofs) object.version = "v0"; } @@ -46750,36 +53189,36 @@ $root.org = (function() { }; /** - * Converts this GetIdentitiesTokenBalancesRequest to JSON. + * Converts this GetIdentitiesTokenInfosRequest to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest * @instance * @returns {Object.} JSON object */ - GetIdentitiesTokenBalancesRequest.prototype.toJSON = function toJSON() { + GetIdentitiesTokenInfosRequest.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0 = (function() { + GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0 = (function() { /** - * Properties of a GetIdentitiesTokenBalancesRequestV0. - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest - * @interface IGetIdentitiesTokenBalancesRequestV0 - * @property {Uint8Array|null} [tokenId] GetIdentitiesTokenBalancesRequestV0 tokenId - * @property {Array.|null} [identityIds] GetIdentitiesTokenBalancesRequestV0 identityIds - * @property {boolean|null} [prove] GetIdentitiesTokenBalancesRequestV0 prove + * Properties of a GetIdentitiesTokenInfosRequestV0. + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest + * @interface IGetIdentitiesTokenInfosRequestV0 + * @property {Uint8Array|null} [tokenId] GetIdentitiesTokenInfosRequestV0 tokenId + * @property {Array.|null} [identityIds] GetIdentitiesTokenInfosRequestV0 identityIds + * @property {boolean|null} [prove] GetIdentitiesTokenInfosRequestV0 prove */ /** - * Constructs a new GetIdentitiesTokenBalancesRequestV0. - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest - * @classdesc Represents a GetIdentitiesTokenBalancesRequestV0. - * @implements IGetIdentitiesTokenBalancesRequestV0 + * Constructs a new GetIdentitiesTokenInfosRequestV0. + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest + * @classdesc Represents a GetIdentitiesTokenInfosRequestV0. + * @implements IGetIdentitiesTokenInfosRequestV0 * @constructor - * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.IGetIdentitiesTokenBalancesRequestV0=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.IGetIdentitiesTokenInfosRequestV0=} [properties] Properties to set */ - function GetIdentitiesTokenBalancesRequestV0(properties) { + function GetIdentitiesTokenInfosRequestV0(properties) { this.identityIds = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) @@ -46788,51 +53227,51 @@ $root.org = (function() { } /** - * GetIdentitiesTokenBalancesRequestV0 tokenId. + * GetIdentitiesTokenInfosRequestV0 tokenId. * @member {Uint8Array} tokenId - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0 + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0 * @instance */ - GetIdentitiesTokenBalancesRequestV0.prototype.tokenId = $util.newBuffer([]); + GetIdentitiesTokenInfosRequestV0.prototype.tokenId = $util.newBuffer([]); /** - * GetIdentitiesTokenBalancesRequestV0 identityIds. + * GetIdentitiesTokenInfosRequestV0 identityIds. * @member {Array.} identityIds - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0 + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0 * @instance */ - GetIdentitiesTokenBalancesRequestV0.prototype.identityIds = $util.emptyArray; + GetIdentitiesTokenInfosRequestV0.prototype.identityIds = $util.emptyArray; /** - * GetIdentitiesTokenBalancesRequestV0 prove. + * GetIdentitiesTokenInfosRequestV0 prove. * @member {boolean} prove - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0 + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0 * @instance */ - GetIdentitiesTokenBalancesRequestV0.prototype.prove = false; + GetIdentitiesTokenInfosRequestV0.prototype.prove = false; /** - * Creates a new GetIdentitiesTokenBalancesRequestV0 instance using the specified properties. + * Creates a new GetIdentitiesTokenInfosRequestV0 instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0 + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.IGetIdentitiesTokenBalancesRequestV0=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0} GetIdentitiesTokenBalancesRequestV0 instance + * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.IGetIdentitiesTokenInfosRequestV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0} GetIdentitiesTokenInfosRequestV0 instance */ - GetIdentitiesTokenBalancesRequestV0.create = function create(properties) { - return new GetIdentitiesTokenBalancesRequestV0(properties); + GetIdentitiesTokenInfosRequestV0.create = function create(properties) { + return new GetIdentitiesTokenInfosRequestV0(properties); }; /** - * Encodes the specified GetIdentitiesTokenBalancesRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.verify|verify} messages. + * Encodes the specified GetIdentitiesTokenInfosRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0 + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.IGetIdentitiesTokenBalancesRequestV0} message GetIdentitiesTokenBalancesRequestV0 message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.IGetIdentitiesTokenInfosRequestV0} message GetIdentitiesTokenInfosRequestV0 message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetIdentitiesTokenBalancesRequestV0.encode = function encode(message, writer) { + GetIdentitiesTokenInfosRequestV0.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.tokenId != null && Object.hasOwnProperty.call(message, "tokenId")) @@ -46846,33 +53285,33 @@ $root.org = (function() { }; /** - * Encodes the specified GetIdentitiesTokenBalancesRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.verify|verify} messages. + * Encodes the specified GetIdentitiesTokenInfosRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0 + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.IGetIdentitiesTokenBalancesRequestV0} message GetIdentitiesTokenBalancesRequestV0 message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.IGetIdentitiesTokenInfosRequestV0} message GetIdentitiesTokenInfosRequestV0 message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetIdentitiesTokenBalancesRequestV0.encodeDelimited = function encodeDelimited(message, writer) { + GetIdentitiesTokenInfosRequestV0.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetIdentitiesTokenBalancesRequestV0 message from the specified reader or buffer. + * Decodes a GetIdentitiesTokenInfosRequestV0 message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0 + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0 * @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.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0} GetIdentitiesTokenBalancesRequestV0 + * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0} GetIdentitiesTokenInfosRequestV0 * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetIdentitiesTokenBalancesRequestV0.decode = function decode(reader, length) { + GetIdentitiesTokenInfosRequestV0.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.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { @@ -46896,30 +53335,30 @@ $root.org = (function() { }; /** - * Decodes a GetIdentitiesTokenBalancesRequestV0 message from the specified reader or buffer, length delimited. + * Decodes a GetIdentitiesTokenInfosRequestV0 message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0 + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0 * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0} GetIdentitiesTokenBalancesRequestV0 + * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0} GetIdentitiesTokenInfosRequestV0 * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetIdentitiesTokenBalancesRequestV0.decodeDelimited = function decodeDelimited(reader) { + GetIdentitiesTokenInfosRequestV0.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GetIdentitiesTokenBalancesRequestV0 message. + * Verifies a GetIdentitiesTokenInfosRequestV0 message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0 + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0 * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetIdentitiesTokenBalancesRequestV0.verify = function verify(message) { + GetIdentitiesTokenInfosRequestV0.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.tokenId != null && message.hasOwnProperty("tokenId")) @@ -46939,17 +53378,17 @@ $root.org = (function() { }; /** - * Creates a GetIdentitiesTokenBalancesRequestV0 message from a plain object. Also converts values to their respective internal types. + * Creates a GetIdentitiesTokenInfosRequestV0 message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0 + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0 * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0} GetIdentitiesTokenBalancesRequestV0 + * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0} GetIdentitiesTokenInfosRequestV0 */ - GetIdentitiesTokenBalancesRequestV0.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0) + GetIdentitiesTokenInfosRequestV0.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0) return object; - var message = new $root.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0(); + var message = new $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0(); if (object.tokenId != null) if (typeof object.tokenId === "string") $util.base64.decode(object.tokenId, message.tokenId = $util.newBuffer($util.base64.length(object.tokenId)), 0); @@ -46957,7 +53396,7 @@ $root.org = (function() { message.tokenId = object.tokenId; if (object.identityIds) { if (!Array.isArray(object.identityIds)) - throw TypeError(".org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.identityIds: array expected"); + throw TypeError(".org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.identityIds: array expected"); message.identityIds = []; for (var i = 0; i < object.identityIds.length; ++i) if (typeof object.identityIds[i] === "string") @@ -46971,15 +53410,15 @@ $root.org = (function() { }; /** - * Creates a plain object from a GetIdentitiesTokenBalancesRequestV0 message. Also converts values to other types if specified. + * Creates a plain object from a GetIdentitiesTokenInfosRequestV0 message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0 + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0} message GetIdentitiesTokenBalancesRequestV0 + * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0} message GetIdentitiesTokenInfosRequestV0 * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetIdentitiesTokenBalancesRequestV0.toObject = function toObject(message, options) { + GetIdentitiesTokenInfosRequestV0.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; @@ -47008,40 +53447,40 @@ $root.org = (function() { }; /** - * Converts this GetIdentitiesTokenBalancesRequestV0 to JSON. + * Converts this GetIdentitiesTokenInfosRequestV0 to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0 + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0 * @instance * @returns {Object.} JSON object */ - GetIdentitiesTokenBalancesRequestV0.prototype.toJSON = function toJSON() { + GetIdentitiesTokenInfosRequestV0.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return GetIdentitiesTokenBalancesRequestV0; + return GetIdentitiesTokenInfosRequestV0; })(); - return GetIdentitiesTokenBalancesRequest; + return GetIdentitiesTokenInfosRequest; })(); - v0.GetIdentitiesTokenBalancesResponse = (function() { + v0.GetIdentitiesTokenInfosResponse = (function() { /** - * Properties of a GetIdentitiesTokenBalancesResponse. + * Properties of a GetIdentitiesTokenInfosResponse. * @memberof org.dash.platform.dapi.v0 - * @interface IGetIdentitiesTokenBalancesResponse - * @property {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.IGetIdentitiesTokenBalancesResponseV0|null} [v0] GetIdentitiesTokenBalancesResponse v0 + * @interface IGetIdentitiesTokenInfosResponse + * @property {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.IGetIdentitiesTokenInfosResponseV0|null} [v0] GetIdentitiesTokenInfosResponse v0 */ /** - * Constructs a new GetIdentitiesTokenBalancesResponse. + * Constructs a new GetIdentitiesTokenInfosResponse. * @memberof org.dash.platform.dapi.v0 - * @classdesc Represents a GetIdentitiesTokenBalancesResponse. - * @implements IGetIdentitiesTokenBalancesResponse + * @classdesc Represents a GetIdentitiesTokenInfosResponse. + * @implements IGetIdentitiesTokenInfosResponse * @constructor - * @param {org.dash.platform.dapi.v0.IGetIdentitiesTokenBalancesResponse=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.IGetIdentitiesTokenInfosResponse=} [properties] Properties to set */ - function GetIdentitiesTokenBalancesResponse(properties) { + function GetIdentitiesTokenInfosResponse(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -47049,89 +53488,89 @@ $root.org = (function() { } /** - * GetIdentitiesTokenBalancesResponse v0. - * @member {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.IGetIdentitiesTokenBalancesResponseV0|null|undefined} v0 - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse + * GetIdentitiesTokenInfosResponse v0. + * @member {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.IGetIdentitiesTokenInfosResponseV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse * @instance */ - GetIdentitiesTokenBalancesResponse.prototype.v0 = null; + GetIdentitiesTokenInfosResponse.prototype.v0 = null; // OneOf field names bound to virtual getters and setters var $oneOfFields; /** - * GetIdentitiesTokenBalancesResponse version. + * GetIdentitiesTokenInfosResponse version. * @member {"v0"|undefined} version - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse * @instance */ - Object.defineProperty(GetIdentitiesTokenBalancesResponse.prototype, "version", { + Object.defineProperty(GetIdentitiesTokenInfosResponse.prototype, "version", { get: $util.oneOfGetter($oneOfFields = ["v0"]), set: $util.oneOfSetter($oneOfFields) }); /** - * Creates a new GetIdentitiesTokenBalancesResponse instance using the specified properties. + * Creates a new GetIdentitiesTokenInfosResponse instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse * @static - * @param {org.dash.platform.dapi.v0.IGetIdentitiesTokenBalancesResponse=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse} GetIdentitiesTokenBalancesResponse instance + * @param {org.dash.platform.dapi.v0.IGetIdentitiesTokenInfosResponse=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse} GetIdentitiesTokenInfosResponse instance */ - GetIdentitiesTokenBalancesResponse.create = function create(properties) { - return new GetIdentitiesTokenBalancesResponse(properties); + GetIdentitiesTokenInfosResponse.create = function create(properties) { + return new GetIdentitiesTokenInfosResponse(properties); }; /** - * Encodes the specified GetIdentitiesTokenBalancesResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.verify|verify} messages. + * Encodes the specified GetIdentitiesTokenInfosResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse * @static - * @param {org.dash.platform.dapi.v0.IGetIdentitiesTokenBalancesResponse} message GetIdentitiesTokenBalancesResponse message or plain object to encode + * @param {org.dash.platform.dapi.v0.IGetIdentitiesTokenInfosResponse} message GetIdentitiesTokenInfosResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetIdentitiesTokenBalancesResponse.encode = function encode(message, writer) { + GetIdentitiesTokenInfosResponse.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.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified GetIdentitiesTokenBalancesResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.verify|verify} messages. + * Encodes the specified GetIdentitiesTokenInfosResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse * @static - * @param {org.dash.platform.dapi.v0.IGetIdentitiesTokenBalancesResponse} message GetIdentitiesTokenBalancesResponse message or plain object to encode + * @param {org.dash.platform.dapi.v0.IGetIdentitiesTokenInfosResponse} message GetIdentitiesTokenInfosResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetIdentitiesTokenBalancesResponse.encodeDelimited = function encodeDelimited(message, writer) { + GetIdentitiesTokenInfosResponse.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetIdentitiesTokenBalancesResponse message from the specified reader or buffer. + * Decodes a GetIdentitiesTokenInfosResponse message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse * @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.GetIdentitiesTokenBalancesResponse} GetIdentitiesTokenBalancesResponse + * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse} GetIdentitiesTokenInfosResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetIdentitiesTokenBalancesResponse.decode = function decode(reader, length) { + GetIdentitiesTokenInfosResponse.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.GetIdentitiesTokenBalancesResponse(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.v0 = $root.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.decode(reader, reader.uint32()); + message.v0 = $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -47142,37 +53581,37 @@ $root.org = (function() { }; /** - * Decodes a GetIdentitiesTokenBalancesResponse message from the specified reader or buffer, length delimited. + * Decodes a GetIdentitiesTokenInfosResponse message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse} GetIdentitiesTokenBalancesResponse + * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse} GetIdentitiesTokenInfosResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetIdentitiesTokenBalancesResponse.decodeDelimited = function decodeDelimited(reader) { + GetIdentitiesTokenInfosResponse.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GetIdentitiesTokenBalancesResponse message. + * Verifies a GetIdentitiesTokenInfosResponse message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetIdentitiesTokenBalancesResponse.verify = function verify(message) { + GetIdentitiesTokenInfosResponse.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.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.verify(message.v0); + var error = $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.verify(message.v0); if (error) return "v0." + error; } @@ -47181,40 +53620,40 @@ $root.org = (function() { }; /** - * Creates a GetIdentitiesTokenBalancesResponse message from a plain object. Also converts values to their respective internal types. + * Creates a GetIdentitiesTokenInfosResponse message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse} GetIdentitiesTokenBalancesResponse + * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse} GetIdentitiesTokenInfosResponse */ - GetIdentitiesTokenBalancesResponse.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse) + GetIdentitiesTokenInfosResponse.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse) return object; - var message = new $root.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse(); + var message = new $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse(); if (object.v0 != null) { if (typeof object.v0 !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.v0: object expected"); - message.v0 = $root.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.fromObject(object.v0); + throw TypeError(".org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.v0: object expected"); + message.v0 = $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.fromObject(object.v0); } return message; }; /** - * Creates a plain object from a GetIdentitiesTokenBalancesResponse message. Also converts values to other types if specified. + * Creates a plain object from a GetIdentitiesTokenInfosResponse message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse * @static - * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse} message GetIdentitiesTokenBalancesResponse + * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse} message GetIdentitiesTokenInfosResponse * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetIdentitiesTokenBalancesResponse.toObject = function toObject(message, options) { + GetIdentitiesTokenInfosResponse.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.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.toObject(message.v0, options); + object.v0 = $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.toObject(message.v0, options); if (options.oneofs) object.version = "v0"; } @@ -47222,36 +53661,36 @@ $root.org = (function() { }; /** - * Converts this GetIdentitiesTokenBalancesResponse to JSON. + * Converts this GetIdentitiesTokenInfosResponse to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse * @instance * @returns {Object.} JSON object */ - GetIdentitiesTokenBalancesResponse.prototype.toJSON = function toJSON() { + GetIdentitiesTokenInfosResponse.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0 = (function() { + GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0 = (function() { /** - * Properties of a GetIdentitiesTokenBalancesResponseV0. - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse - * @interface IGetIdentitiesTokenBalancesResponseV0 - * @property {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IIdentityTokenBalances|null} [identityTokenBalances] GetIdentitiesTokenBalancesResponseV0 identityTokenBalances - * @property {org.dash.platform.dapi.v0.IProof|null} [proof] GetIdentitiesTokenBalancesResponseV0 proof - * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetIdentitiesTokenBalancesResponseV0 metadata + * Properties of a GetIdentitiesTokenInfosResponseV0. + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse + * @interface IGetIdentitiesTokenInfosResponseV0 + * @property {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IIdentityTokenInfos|null} [identityTokenInfos] GetIdentitiesTokenInfosResponseV0 identityTokenInfos + * @property {org.dash.platform.dapi.v0.IProof|null} [proof] GetIdentitiesTokenInfosResponseV0 proof + * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetIdentitiesTokenInfosResponseV0 metadata */ /** - * Constructs a new GetIdentitiesTokenBalancesResponseV0. - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse - * @classdesc Represents a GetIdentitiesTokenBalancesResponseV0. - * @implements IGetIdentitiesTokenBalancesResponseV0 + * Constructs a new GetIdentitiesTokenInfosResponseV0. + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse + * @classdesc Represents a GetIdentitiesTokenInfosResponseV0. + * @implements IGetIdentitiesTokenInfosResponseV0 * @constructor - * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.IGetIdentitiesTokenBalancesResponseV0=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.IGetIdentitiesTokenInfosResponseV0=} [properties] Properties to set */ - function GetIdentitiesTokenBalancesResponseV0(properties) { + function GetIdentitiesTokenInfosResponseV0(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -47259,69 +53698,69 @@ $root.org = (function() { } /** - * GetIdentitiesTokenBalancesResponseV0 identityTokenBalances. - * @member {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IIdentityTokenBalances|null|undefined} identityTokenBalances - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0 + * GetIdentitiesTokenInfosResponseV0 identityTokenInfos. + * @member {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IIdentityTokenInfos|null|undefined} identityTokenInfos + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0 * @instance */ - GetIdentitiesTokenBalancesResponseV0.prototype.identityTokenBalances = null; + GetIdentitiesTokenInfosResponseV0.prototype.identityTokenInfos = null; /** - * GetIdentitiesTokenBalancesResponseV0 proof. + * GetIdentitiesTokenInfosResponseV0 proof. * @member {org.dash.platform.dapi.v0.IProof|null|undefined} proof - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0 + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0 * @instance */ - GetIdentitiesTokenBalancesResponseV0.prototype.proof = null; + GetIdentitiesTokenInfosResponseV0.prototype.proof = null; /** - * GetIdentitiesTokenBalancesResponseV0 metadata. + * GetIdentitiesTokenInfosResponseV0 metadata. * @member {org.dash.platform.dapi.v0.IResponseMetadata|null|undefined} metadata - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0 + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0 * @instance */ - GetIdentitiesTokenBalancesResponseV0.prototype.metadata = null; + GetIdentitiesTokenInfosResponseV0.prototype.metadata = null; // OneOf field names bound to virtual getters and setters var $oneOfFields; /** - * GetIdentitiesTokenBalancesResponseV0 result. - * @member {"identityTokenBalances"|"proof"|undefined} result - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0 + * GetIdentitiesTokenInfosResponseV0 result. + * @member {"identityTokenInfos"|"proof"|undefined} result + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0 * @instance */ - Object.defineProperty(GetIdentitiesTokenBalancesResponseV0.prototype, "result", { - get: $util.oneOfGetter($oneOfFields = ["identityTokenBalances", "proof"]), + Object.defineProperty(GetIdentitiesTokenInfosResponseV0.prototype, "result", { + get: $util.oneOfGetter($oneOfFields = ["identityTokenInfos", "proof"]), set: $util.oneOfSetter($oneOfFields) }); /** - * Creates a new GetIdentitiesTokenBalancesResponseV0 instance using the specified properties. + * Creates a new GetIdentitiesTokenInfosResponseV0 instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0 + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.IGetIdentitiesTokenBalancesResponseV0=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0} GetIdentitiesTokenBalancesResponseV0 instance + * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.IGetIdentitiesTokenInfosResponseV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0} GetIdentitiesTokenInfosResponseV0 instance */ - GetIdentitiesTokenBalancesResponseV0.create = function create(properties) { - return new GetIdentitiesTokenBalancesResponseV0(properties); + GetIdentitiesTokenInfosResponseV0.create = function create(properties) { + return new GetIdentitiesTokenInfosResponseV0(properties); }; /** - * Encodes the specified GetIdentitiesTokenBalancesResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.verify|verify} messages. + * Encodes the specified GetIdentitiesTokenInfosResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0 + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.IGetIdentitiesTokenBalancesResponseV0} message GetIdentitiesTokenBalancesResponseV0 message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.IGetIdentitiesTokenInfosResponseV0} message GetIdentitiesTokenInfosResponseV0 message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetIdentitiesTokenBalancesResponseV0.encode = function encode(message, writer) { + GetIdentitiesTokenInfosResponseV0.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.identityTokenBalances != null && Object.hasOwnProperty.call(message, "identityTokenBalances")) - $root.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances.encode(message.identityTokenBalances, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.identityTokenInfos != null && Object.hasOwnProperty.call(message, "identityTokenInfos")) + $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos.encode(message.identityTokenInfos, 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")) @@ -47330,38 +53769,38 @@ $root.org = (function() { }; /** - * Encodes the specified GetIdentitiesTokenBalancesResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.verify|verify} messages. + * Encodes the specified GetIdentitiesTokenInfosResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0 + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.IGetIdentitiesTokenBalancesResponseV0} message GetIdentitiesTokenBalancesResponseV0 message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.IGetIdentitiesTokenInfosResponseV0} message GetIdentitiesTokenInfosResponseV0 message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetIdentitiesTokenBalancesResponseV0.encodeDelimited = function encodeDelimited(message, writer) { + GetIdentitiesTokenInfosResponseV0.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetIdentitiesTokenBalancesResponseV0 message from the specified reader or buffer. + * Decodes a GetIdentitiesTokenInfosResponseV0 message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0 + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0 * @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.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0} GetIdentitiesTokenBalancesResponseV0 + * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0} GetIdentitiesTokenInfosResponseV0 * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetIdentitiesTokenBalancesResponseV0.decode = function decode(reader, length) { + GetIdentitiesTokenInfosResponseV0.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.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.identityTokenBalances = $root.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances.decode(reader, reader.uint32()); + message.identityTokenInfos = $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos.decode(reader, reader.uint32()); break; case 2: message.proof = $root.org.dash.platform.dapi.v0.Proof.decode(reader, reader.uint32()); @@ -47378,39 +53817,39 @@ $root.org = (function() { }; /** - * Decodes a GetIdentitiesTokenBalancesResponseV0 message from the specified reader or buffer, length delimited. + * Decodes a GetIdentitiesTokenInfosResponseV0 message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0 + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0 * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0} GetIdentitiesTokenBalancesResponseV0 + * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0} GetIdentitiesTokenInfosResponseV0 * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetIdentitiesTokenBalancesResponseV0.decodeDelimited = function decodeDelimited(reader) { + GetIdentitiesTokenInfosResponseV0.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GetIdentitiesTokenBalancesResponseV0 message. + * Verifies a GetIdentitiesTokenInfosResponseV0 message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0 + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0 * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetIdentitiesTokenBalancesResponseV0.verify = function verify(message) { + GetIdentitiesTokenInfosResponseV0.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; var properties = {}; - if (message.identityTokenBalances != null && message.hasOwnProperty("identityTokenBalances")) { + if (message.identityTokenInfos != null && message.hasOwnProperty("identityTokenInfos")) { properties.result = 1; { - var error = $root.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances.verify(message.identityTokenBalances); + var error = $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos.verify(message.identityTokenInfos); if (error) - return "identityTokenBalances." + error; + return "identityTokenInfos." + error; } } if (message.proof != null && message.hasOwnProperty("proof")) { @@ -47432,54 +53871,54 @@ $root.org = (function() { }; /** - * Creates a GetIdentitiesTokenBalancesResponseV0 message from a plain object. Also converts values to their respective internal types. + * Creates a GetIdentitiesTokenInfosResponseV0 message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0 + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0 * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0} GetIdentitiesTokenBalancesResponseV0 + * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0} GetIdentitiesTokenInfosResponseV0 */ - GetIdentitiesTokenBalancesResponseV0.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0) + GetIdentitiesTokenInfosResponseV0.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0) return object; - var message = new $root.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0(); - if (object.identityTokenBalances != null) { - if (typeof object.identityTokenBalances !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.identityTokenBalances: object expected"); - message.identityTokenBalances = $root.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances.fromObject(object.identityTokenBalances); + var message = new $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0(); + if (object.identityTokenInfos != null) { + if (typeof object.identityTokenInfos !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.identityTokenInfos: object expected"); + message.identityTokenInfos = $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos.fromObject(object.identityTokenInfos); } if (object.proof != null) { if (typeof object.proof !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.proof: object expected"); + throw TypeError(".org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.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.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.metadata: object expected"); + throw TypeError(".org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.metadata: object expected"); message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.fromObject(object.metadata); } return message; }; /** - * Creates a plain object from a GetIdentitiesTokenBalancesResponseV0 message. Also converts values to other types if specified. + * Creates a plain object from a GetIdentitiesTokenInfosResponseV0 message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0 + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0} message GetIdentitiesTokenBalancesResponseV0 + * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0} message GetIdentitiesTokenInfosResponseV0 * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetIdentitiesTokenBalancesResponseV0.toObject = function toObject(message, options) { + GetIdentitiesTokenInfosResponseV0.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) object.metadata = null; - if (message.identityTokenBalances != null && message.hasOwnProperty("identityTokenBalances")) { - object.identityTokenBalances = $root.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances.toObject(message.identityTokenBalances, options); + if (message.identityTokenInfos != null && message.hasOwnProperty("identityTokenInfos")) { + object.identityTokenInfos = $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos.toObject(message.identityTokenInfos, options); if (options.oneofs) - object.result = "identityTokenBalances"; + object.result = "identityTokenInfos"; } if (message.proof != null && message.hasOwnProperty("proof")) { object.proof = $root.org.dash.platform.dapi.v0.Proof.toObject(message.proof, options); @@ -47492,35 +53931,34 @@ $root.org = (function() { }; /** - * Converts this GetIdentitiesTokenBalancesResponseV0 to JSON. + * Converts this GetIdentitiesTokenInfosResponseV0 to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0 + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0 * @instance * @returns {Object.} JSON object */ - GetIdentitiesTokenBalancesResponseV0.prototype.toJSON = function toJSON() { + GetIdentitiesTokenInfosResponseV0.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry = (function() { + GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry = (function() { /** - * Properties of an IdentityTokenBalanceEntry. - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0 - * @interface IIdentityTokenBalanceEntry - * @property {Uint8Array|null} [identityId] IdentityTokenBalanceEntry identityId - * @property {number|Long|null} [balance] IdentityTokenBalanceEntry balance + * Properties of a TokenIdentityInfoEntry. + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0 + * @interface ITokenIdentityInfoEntry + * @property {boolean|null} [frozen] TokenIdentityInfoEntry frozen */ /** - * Constructs a new IdentityTokenBalanceEntry. - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0 - * @classdesc Represents an IdentityTokenBalanceEntry. - * @implements IIdentityTokenBalanceEntry + * Constructs a new TokenIdentityInfoEntry. + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0 + * @classdesc Represents a TokenIdentityInfoEntry. + * @implements ITokenIdentityInfoEntry * @constructor - * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IIdentityTokenBalanceEntry=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.ITokenIdentityInfoEntry=} [properties] Properties to set */ - function IdentityTokenBalanceEntry(properties) { + function TokenIdentityInfoEntry(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -47528,80 +53966,268 @@ $root.org = (function() { } /** - * IdentityTokenBalanceEntry identityId. + * TokenIdentityInfoEntry frozen. + * @member {boolean} frozen + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry + * @instance + */ + TokenIdentityInfoEntry.prototype.frozen = false; + + /** + * Creates a new TokenIdentityInfoEntry instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry + * @static + * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.ITokenIdentityInfoEntry=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry} TokenIdentityInfoEntry instance + */ + TokenIdentityInfoEntry.create = function create(properties) { + return new TokenIdentityInfoEntry(properties); + }; + + /** + * Encodes the specified TokenIdentityInfoEntry message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry + * @static + * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.ITokenIdentityInfoEntry} message TokenIdentityInfoEntry message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + TokenIdentityInfoEntry.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.frozen != null && Object.hasOwnProperty.call(message, "frozen")) + writer.uint32(/* id 1, wireType 0 =*/8).bool(message.frozen); + return writer; + }; + + /** + * Encodes the specified TokenIdentityInfoEntry message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry + * @static + * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.ITokenIdentityInfoEntry} message TokenIdentityInfoEntry message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + TokenIdentityInfoEntry.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a TokenIdentityInfoEntry message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry + * @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.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry} TokenIdentityInfoEntry + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + TokenIdentityInfoEntry.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.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.frozen = reader.bool(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a TokenIdentityInfoEntry message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry} TokenIdentityInfoEntry + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + TokenIdentityInfoEntry.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a TokenIdentityInfoEntry message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + TokenIdentityInfoEntry.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.frozen != null && message.hasOwnProperty("frozen")) + if (typeof message.frozen !== "boolean") + return "frozen: boolean expected"; + return null; + }; + + /** + * Creates a TokenIdentityInfoEntry message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry} TokenIdentityInfoEntry + */ + TokenIdentityInfoEntry.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry(); + if (object.frozen != null) + message.frozen = Boolean(object.frozen); + return message; + }; + + /** + * Creates a plain object from a TokenIdentityInfoEntry message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry + * @static + * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry} message TokenIdentityInfoEntry + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + TokenIdentityInfoEntry.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.frozen = false; + if (message.frozen != null && message.hasOwnProperty("frozen")) + object.frozen = message.frozen; + return object; + }; + + /** + * Converts this TokenIdentityInfoEntry to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry + * @instance + * @returns {Object.} JSON object + */ + TokenIdentityInfoEntry.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return TokenIdentityInfoEntry; + })(); + + GetIdentitiesTokenInfosResponseV0.TokenInfoEntry = (function() { + + /** + * Properties of a TokenInfoEntry. + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0 + * @interface ITokenInfoEntry + * @property {Uint8Array|null} [identityId] TokenInfoEntry identityId + * @property {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.ITokenIdentityInfoEntry|null} [info] TokenInfoEntry info + */ + + /** + * Constructs a new TokenInfoEntry. + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0 + * @classdesc Represents a TokenInfoEntry. + * @implements ITokenInfoEntry + * @constructor + * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.ITokenInfoEntry=} [properties] Properties to set + */ + function TokenInfoEntry(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]]; + } + + /** + * TokenInfoEntry identityId. * @member {Uint8Array} identityId - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry * @instance */ - IdentityTokenBalanceEntry.prototype.identityId = $util.newBuffer([]); + TokenInfoEntry.prototype.identityId = $util.newBuffer([]); /** - * IdentityTokenBalanceEntry balance. - * @member {number|Long} balance - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry + * TokenInfoEntry info. + * @member {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.ITokenIdentityInfoEntry|null|undefined} info + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry * @instance */ - IdentityTokenBalanceEntry.prototype.balance = $util.Long ? $util.Long.fromBits(0,0,true) : 0; + TokenInfoEntry.prototype.info = null; /** - * Creates a new IdentityTokenBalanceEntry instance using the specified properties. + * Creates a new TokenInfoEntry instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry * @static - * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IIdentityTokenBalanceEntry=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry} IdentityTokenBalanceEntry instance + * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.ITokenInfoEntry=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry} TokenInfoEntry instance */ - IdentityTokenBalanceEntry.create = function create(properties) { - return new IdentityTokenBalanceEntry(properties); + TokenInfoEntry.create = function create(properties) { + return new TokenInfoEntry(properties); }; /** - * Encodes the specified IdentityTokenBalanceEntry message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry.verify|verify} messages. + * Encodes the specified TokenInfoEntry message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry * @static - * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IIdentityTokenBalanceEntry} message IdentityTokenBalanceEntry message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.ITokenInfoEntry} message TokenInfoEntry message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - IdentityTokenBalanceEntry.encode = function encode(message, writer) { + TokenInfoEntry.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.balance != null && Object.hasOwnProperty.call(message, "balance")) - writer.uint32(/* id 2, wireType 0 =*/16).uint64(message.balance); + if (message.info != null && Object.hasOwnProperty.call(message, "info")) + $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry.encode(message.info, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; /** - * Encodes the specified IdentityTokenBalanceEntry message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry.verify|verify} messages. + * Encodes the specified TokenInfoEntry message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry * @static - * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IIdentityTokenBalanceEntry} message IdentityTokenBalanceEntry message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.ITokenInfoEntry} message TokenInfoEntry message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - IdentityTokenBalanceEntry.encodeDelimited = function encodeDelimited(message, writer) { + TokenInfoEntry.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes an IdentityTokenBalanceEntry message from the specified reader or buffer. + * Decodes a TokenInfoEntry message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry * @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.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry} IdentityTokenBalanceEntry + * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry} TokenInfoEntry * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - IdentityTokenBalanceEntry.decode = function decode(reader, length) { + TokenInfoEntry.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.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { @@ -47609,7 +54235,7 @@ $root.org = (function() { message.identityId = reader.bytes(); break; case 2: - message.balance = reader.uint64(); + message.info = $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -47620,80 +54246,78 @@ $root.org = (function() { }; /** - * Decodes an IdentityTokenBalanceEntry message from the specified reader or buffer, length delimited. + * Decodes a TokenInfoEntry message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry} IdentityTokenBalanceEntry + * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry} TokenInfoEntry * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - IdentityTokenBalanceEntry.decodeDelimited = function decodeDelimited(reader) { + TokenInfoEntry.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies an IdentityTokenBalanceEntry message. + * Verifies a TokenInfoEntry message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - IdentityTokenBalanceEntry.verify = function verify(message) { + TokenInfoEntry.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.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.info != null && message.hasOwnProperty("info")) { + var error = $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry.verify(message.info); + if (error) + return "info." + error; + } return null; }; /** - * Creates an IdentityTokenBalanceEntry message from a plain object. Also converts values to their respective internal types. + * Creates a TokenInfoEntry message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry} IdentityTokenBalanceEntry + * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry} TokenInfoEntry */ - IdentityTokenBalanceEntry.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry) + TokenInfoEntry.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry) return object; - var message = new $root.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry(); + var message = new $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry(); 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.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.info != null) { + if (typeof object.info !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry.info: object expected"); + message.info = $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry.fromObject(object.info); + } return message; }; /** - * Creates a plain object from an IdentityTokenBalanceEntry message. Also converts values to other types if specified. + * Creates a plain object from a TokenInfoEntry message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry * @static - * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry} message IdentityTokenBalanceEntry + * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry} message TokenInfoEntry * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - IdentityTokenBalanceEntry.toObject = function toObject(message, options) { + TokenInfoEntry.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; @@ -47705,55 +54329,48 @@ $root.org = (function() { if (options.bytes !== Array) object.identityId = $util.newBuffer(object.identityId); } - 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; + object.info = null; } 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.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.info != null && message.hasOwnProperty("info")) + object.info = $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry.toObject(message.info, options); return object; }; /** - * Converts this IdentityTokenBalanceEntry to JSON. + * Converts this TokenInfoEntry to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry * @instance * @returns {Object.} JSON object */ - IdentityTokenBalanceEntry.prototype.toJSON = function toJSON() { + TokenInfoEntry.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return IdentityTokenBalanceEntry; + return TokenInfoEntry; })(); - GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances = (function() { + GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos = (function() { /** - * Properties of an IdentityTokenBalances. - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0 - * @interface IIdentityTokenBalances - * @property {Array.|null} [identityTokenBalances] IdentityTokenBalances identityTokenBalances + * Properties of an IdentityTokenInfos. + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0 + * @interface IIdentityTokenInfos + * @property {Array.|null} [tokenInfos] IdentityTokenInfos tokenInfos */ /** - * Constructs a new IdentityTokenBalances. - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0 - * @classdesc Represents an IdentityTokenBalances. - * @implements IIdentityTokenBalances + * Constructs a new IdentityTokenInfos. + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0 + * @classdesc Represents an IdentityTokenInfos. + * @implements IIdentityTokenInfos * @constructor - * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IIdentityTokenBalances=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IIdentityTokenInfos=} [properties] Properties to set */ - function IdentityTokenBalances(properties) { - this.identityTokenBalances = []; + function IdentityTokenInfos(properties) { + this.tokenInfos = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -47761,78 +54378,78 @@ $root.org = (function() { } /** - * IdentityTokenBalances identityTokenBalances. - * @member {Array.} identityTokenBalances - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances + * IdentityTokenInfos tokenInfos. + * @member {Array.} tokenInfos + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos * @instance */ - IdentityTokenBalances.prototype.identityTokenBalances = $util.emptyArray; + IdentityTokenInfos.prototype.tokenInfos = $util.emptyArray; /** - * Creates a new IdentityTokenBalances instance using the specified properties. + * Creates a new IdentityTokenInfos instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos * @static - * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IIdentityTokenBalances=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances} IdentityTokenBalances instance + * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IIdentityTokenInfos=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos} IdentityTokenInfos instance */ - IdentityTokenBalances.create = function create(properties) { - return new IdentityTokenBalances(properties); + IdentityTokenInfos.create = function create(properties) { + return new IdentityTokenInfos(properties); }; /** - * Encodes the specified IdentityTokenBalances message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances.verify|verify} messages. + * Encodes the specified IdentityTokenInfos message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos * @static - * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IIdentityTokenBalances} message IdentityTokenBalances message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IIdentityTokenInfos} message IdentityTokenInfos message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - IdentityTokenBalances.encode = function encode(message, writer) { + IdentityTokenInfos.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.identityTokenBalances != null && message.identityTokenBalances.length) - for (var i = 0; i < message.identityTokenBalances.length; ++i) - $root.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry.encode(message.identityTokenBalances[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.tokenInfos != null && message.tokenInfos.length) + for (var i = 0; i < message.tokenInfos.length; ++i) + $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry.encode(message.tokenInfos[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified IdentityTokenBalances message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances.verify|verify} messages. + * Encodes the specified IdentityTokenInfos message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos * @static - * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IIdentityTokenBalances} message IdentityTokenBalances message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IIdentityTokenInfos} message IdentityTokenInfos message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - IdentityTokenBalances.encodeDelimited = function encodeDelimited(message, writer) { + IdentityTokenInfos.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes an IdentityTokenBalances message from the specified reader or buffer. + * Decodes an IdentityTokenInfos message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos * @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.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances} IdentityTokenBalances + * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos} IdentityTokenInfos * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - IdentityTokenBalances.decode = function decode(reader, length) { + IdentityTokenInfos.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.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - if (!(message.identityTokenBalances && message.identityTokenBalances.length)) - message.identityTokenBalances = []; - message.identityTokenBalances.push($root.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry.decode(reader, reader.uint32())); + if (!(message.tokenInfos && message.tokenInfos.length)) + message.tokenInfos = []; + message.tokenInfos.push($root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry.decode(reader, reader.uint32())); break; default: reader.skipType(tag & 7); @@ -47843,130 +54460,130 @@ $root.org = (function() { }; /** - * Decodes an IdentityTokenBalances message from the specified reader or buffer, length delimited. + * Decodes an IdentityTokenInfos message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances} IdentityTokenBalances + * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos} IdentityTokenInfos * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - IdentityTokenBalances.decodeDelimited = function decodeDelimited(reader) { + IdentityTokenInfos.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies an IdentityTokenBalances message. + * Verifies an IdentityTokenInfos message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - IdentityTokenBalances.verify = function verify(message) { + IdentityTokenInfos.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.identityTokenBalances != null && message.hasOwnProperty("identityTokenBalances")) { - if (!Array.isArray(message.identityTokenBalances)) - return "identityTokenBalances: array expected"; - for (var i = 0; i < message.identityTokenBalances.length; ++i) { - var error = $root.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry.verify(message.identityTokenBalances[i]); + if (message.tokenInfos != null && message.hasOwnProperty("tokenInfos")) { + if (!Array.isArray(message.tokenInfos)) + return "tokenInfos: array expected"; + for (var i = 0; i < message.tokenInfos.length; ++i) { + var error = $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry.verify(message.tokenInfos[i]); if (error) - return "identityTokenBalances." + error; + return "tokenInfos." + error; } } return null; }; /** - * Creates an IdentityTokenBalances message from a plain object. Also converts values to their respective internal types. + * Creates an IdentityTokenInfos message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances} IdentityTokenBalances + * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos} IdentityTokenInfos */ - IdentityTokenBalances.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances) + IdentityTokenInfos.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos) return object; - var message = new $root.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances(); - if (object.identityTokenBalances) { - if (!Array.isArray(object.identityTokenBalances)) - throw TypeError(".org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances.identityTokenBalances: array expected"); - message.identityTokenBalances = []; - for (var i = 0; i < object.identityTokenBalances.length; ++i) { - if (typeof object.identityTokenBalances[i] !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances.identityTokenBalances: object expected"); - message.identityTokenBalances[i] = $root.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry.fromObject(object.identityTokenBalances[i]); + var message = new $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos(); + if (object.tokenInfos) { + if (!Array.isArray(object.tokenInfos)) + throw TypeError(".org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos.tokenInfos: array expected"); + message.tokenInfos = []; + for (var i = 0; i < object.tokenInfos.length; ++i) { + if (typeof object.tokenInfos[i] !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos.tokenInfos: object expected"); + message.tokenInfos[i] = $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry.fromObject(object.tokenInfos[i]); } } return message; }; /** - * Creates a plain object from an IdentityTokenBalances message. Also converts values to other types if specified. + * Creates a plain object from an IdentityTokenInfos message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos * @static - * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances} message IdentityTokenBalances + * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos} message IdentityTokenInfos * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - IdentityTokenBalances.toObject = function toObject(message, options) { + IdentityTokenInfos.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.arrays || options.defaults) - object.identityTokenBalances = []; - if (message.identityTokenBalances && message.identityTokenBalances.length) { - object.identityTokenBalances = []; - for (var j = 0; j < message.identityTokenBalances.length; ++j) - object.identityTokenBalances[j] = $root.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry.toObject(message.identityTokenBalances[j], options); + object.tokenInfos = []; + if (message.tokenInfos && message.tokenInfos.length) { + object.tokenInfos = []; + for (var j = 0; j < message.tokenInfos.length; ++j) + object.tokenInfos[j] = $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry.toObject(message.tokenInfos[j], options); } return object; }; /** - * Converts this IdentityTokenBalances to JSON. + * Converts this IdentityTokenInfos to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances + * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos * @instance * @returns {Object.} JSON object */ - IdentityTokenBalances.prototype.toJSON = function toJSON() { + IdentityTokenInfos.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return IdentityTokenBalances; + return IdentityTokenInfos; })(); - return GetIdentitiesTokenBalancesResponseV0; + return GetIdentitiesTokenInfosResponseV0; })(); - return GetIdentitiesTokenBalancesResponse; + return GetIdentitiesTokenInfosResponse; })(); - v0.GetIdentityTokenInfosRequest = (function() { + v0.GetTokenStatusesRequest = (function() { /** - * Properties of a GetIdentityTokenInfosRequest. + * Properties of a GetTokenStatusesRequest. * @memberof org.dash.platform.dapi.v0 - * @interface IGetIdentityTokenInfosRequest - * @property {org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.IGetIdentityTokenInfosRequestV0|null} [v0] GetIdentityTokenInfosRequest v0 + * @interface IGetTokenStatusesRequest + * @property {org.dash.platform.dapi.v0.GetTokenStatusesRequest.IGetTokenStatusesRequestV0|null} [v0] GetTokenStatusesRequest v0 */ /** - * Constructs a new GetIdentityTokenInfosRequest. + * Constructs a new GetTokenStatusesRequest. * @memberof org.dash.platform.dapi.v0 - * @classdesc Represents a GetIdentityTokenInfosRequest. - * @implements IGetIdentityTokenInfosRequest + * @classdesc Represents a GetTokenStatusesRequest. + * @implements IGetTokenStatusesRequest * @constructor - * @param {org.dash.platform.dapi.v0.IGetIdentityTokenInfosRequest=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.IGetTokenStatusesRequest=} [properties] Properties to set */ - function GetIdentityTokenInfosRequest(properties) { + function GetTokenStatusesRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -47974,89 +54591,89 @@ $root.org = (function() { } /** - * GetIdentityTokenInfosRequest v0. - * @member {org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.IGetIdentityTokenInfosRequestV0|null|undefined} v0 - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest + * GetTokenStatusesRequest v0. + * @member {org.dash.platform.dapi.v0.GetTokenStatusesRequest.IGetTokenStatusesRequestV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetTokenStatusesRequest * @instance */ - GetIdentityTokenInfosRequest.prototype.v0 = null; + GetTokenStatusesRequest.prototype.v0 = null; // OneOf field names bound to virtual getters and setters var $oneOfFields; /** - * GetIdentityTokenInfosRequest version. + * GetTokenStatusesRequest version. * @member {"v0"|undefined} version - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest + * @memberof org.dash.platform.dapi.v0.GetTokenStatusesRequest * @instance */ - Object.defineProperty(GetIdentityTokenInfosRequest.prototype, "version", { + Object.defineProperty(GetTokenStatusesRequest.prototype, "version", { get: $util.oneOfGetter($oneOfFields = ["v0"]), set: $util.oneOfSetter($oneOfFields) }); /** - * Creates a new GetIdentityTokenInfosRequest instance using the specified properties. + * Creates a new GetTokenStatusesRequest instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest + * @memberof org.dash.platform.dapi.v0.GetTokenStatusesRequest * @static - * @param {org.dash.platform.dapi.v0.IGetIdentityTokenInfosRequest=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest} GetIdentityTokenInfosRequest instance + * @param {org.dash.platform.dapi.v0.IGetTokenStatusesRequest=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetTokenStatusesRequest} GetTokenStatusesRequest instance */ - GetIdentityTokenInfosRequest.create = function create(properties) { - return new GetIdentityTokenInfosRequest(properties); + GetTokenStatusesRequest.create = function create(properties) { + return new GetTokenStatusesRequest(properties); }; /** - * Encodes the specified GetIdentityTokenInfosRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.verify|verify} messages. + * Encodes the specified GetTokenStatusesRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenStatusesRequest.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest + * @memberof org.dash.platform.dapi.v0.GetTokenStatusesRequest * @static - * @param {org.dash.platform.dapi.v0.IGetIdentityTokenInfosRequest} message GetIdentityTokenInfosRequest message or plain object to encode + * @param {org.dash.platform.dapi.v0.IGetTokenStatusesRequest} message GetTokenStatusesRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetIdentityTokenInfosRequest.encode = function encode(message, writer) { + GetTokenStatusesRequest.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.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + $root.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified GetIdentityTokenInfosRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.verify|verify} messages. + * Encodes the specified GetTokenStatusesRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenStatusesRequest.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest + * @memberof org.dash.platform.dapi.v0.GetTokenStatusesRequest * @static - * @param {org.dash.platform.dapi.v0.IGetIdentityTokenInfosRequest} message GetIdentityTokenInfosRequest message or plain object to encode + * @param {org.dash.platform.dapi.v0.IGetTokenStatusesRequest} message GetTokenStatusesRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetIdentityTokenInfosRequest.encodeDelimited = function encodeDelimited(message, writer) { + GetTokenStatusesRequest.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetIdentityTokenInfosRequest message from the specified reader or buffer. + * Decodes a GetTokenStatusesRequest message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest + * @memberof org.dash.platform.dapi.v0.GetTokenStatusesRequest * @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.GetIdentityTokenInfosRequest} GetIdentityTokenInfosRequest + * @returns {org.dash.platform.dapi.v0.GetTokenStatusesRequest} GetTokenStatusesRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetIdentityTokenInfosRequest.decode = function decode(reader, length) { + GetTokenStatusesRequest.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.GetIdentityTokenInfosRequest(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetTokenStatusesRequest(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.v0 = $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.decode(reader, reader.uint32()); + message.v0 = $root.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -48067,37 +54684,37 @@ $root.org = (function() { }; /** - * Decodes a GetIdentityTokenInfosRequest message from the specified reader or buffer, length delimited. + * Decodes a GetTokenStatusesRequest message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest + * @memberof org.dash.platform.dapi.v0.GetTokenStatusesRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest} GetIdentityTokenInfosRequest + * @returns {org.dash.platform.dapi.v0.GetTokenStatusesRequest} GetTokenStatusesRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetIdentityTokenInfosRequest.decodeDelimited = function decodeDelimited(reader) { + GetTokenStatusesRequest.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GetIdentityTokenInfosRequest message. + * Verifies a GetTokenStatusesRequest message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest + * @memberof org.dash.platform.dapi.v0.GetTokenStatusesRequest * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetIdentityTokenInfosRequest.verify = function verify(message) { + GetTokenStatusesRequest.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.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.verify(message.v0); + var error = $root.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0.verify(message.v0); if (error) return "v0." + error; } @@ -48106,40 +54723,40 @@ $root.org = (function() { }; /** - * Creates a GetIdentityTokenInfosRequest message from a plain object. Also converts values to their respective internal types. + * Creates a GetTokenStatusesRequest message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest + * @memberof org.dash.platform.dapi.v0.GetTokenStatusesRequest * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest} GetIdentityTokenInfosRequest + * @returns {org.dash.platform.dapi.v0.GetTokenStatusesRequest} GetTokenStatusesRequest */ - GetIdentityTokenInfosRequest.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest) + GetTokenStatusesRequest.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetTokenStatusesRequest) return object; - var message = new $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest(); + var message = new $root.org.dash.platform.dapi.v0.GetTokenStatusesRequest(); if (object.v0 != null) { if (typeof object.v0 !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.v0: object expected"); - message.v0 = $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.fromObject(object.v0); + throw TypeError(".org.dash.platform.dapi.v0.GetTokenStatusesRequest.v0: object expected"); + message.v0 = $root.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0.fromObject(object.v0); } return message; }; /** - * Creates a plain object from a GetIdentityTokenInfosRequest message. Also converts values to other types if specified. + * Creates a plain object from a GetTokenStatusesRequest message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest + * @memberof org.dash.platform.dapi.v0.GetTokenStatusesRequest * @static - * @param {org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest} message GetIdentityTokenInfosRequest + * @param {org.dash.platform.dapi.v0.GetTokenStatusesRequest} message GetTokenStatusesRequest * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetIdentityTokenInfosRequest.toObject = function toObject(message, options) { + GetTokenStatusesRequest.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.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.toObject(message.v0, options); + object.v0 = $root.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0.toObject(message.v0, options); if (options.oneofs) object.version = "v0"; } @@ -48147,36 +54764,35 @@ $root.org = (function() { }; /** - * Converts this GetIdentityTokenInfosRequest to JSON. + * Converts this GetTokenStatusesRequest to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest + * @memberof org.dash.platform.dapi.v0.GetTokenStatusesRequest * @instance * @returns {Object.} JSON object */ - GetIdentityTokenInfosRequest.prototype.toJSON = function toJSON() { + GetTokenStatusesRequest.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0 = (function() { + GetTokenStatusesRequest.GetTokenStatusesRequestV0 = (function() { /** - * Properties of a GetIdentityTokenInfosRequestV0. - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest - * @interface IGetIdentityTokenInfosRequestV0 - * @property {Uint8Array|null} [identityId] GetIdentityTokenInfosRequestV0 identityId - * @property {Array.|null} [tokenIds] GetIdentityTokenInfosRequestV0 tokenIds - * @property {boolean|null} [prove] GetIdentityTokenInfosRequestV0 prove + * Properties of a GetTokenStatusesRequestV0. + * @memberof org.dash.platform.dapi.v0.GetTokenStatusesRequest + * @interface IGetTokenStatusesRequestV0 + * @property {Array.|null} [tokenIds] GetTokenStatusesRequestV0 tokenIds + * @property {boolean|null} [prove] GetTokenStatusesRequestV0 prove */ /** - * Constructs a new GetIdentityTokenInfosRequestV0. - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest - * @classdesc Represents a GetIdentityTokenInfosRequestV0. - * @implements IGetIdentityTokenInfosRequestV0 + * Constructs a new GetTokenStatusesRequestV0. + * @memberof org.dash.platform.dapi.v0.GetTokenStatusesRequest + * @classdesc Represents a GetTokenStatusesRequestV0. + * @implements IGetTokenStatusesRequestV0 * @constructor - * @param {org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.IGetIdentityTokenInfosRequestV0=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetTokenStatusesRequest.IGetTokenStatusesRequestV0=} [properties] Properties to set */ - function GetIdentityTokenInfosRequestV0(properties) { + function GetTokenStatusesRequestV0(properties) { this.tokenIds = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) @@ -48185,103 +54801,90 @@ $root.org = (function() { } /** - * GetIdentityTokenInfosRequestV0 identityId. - * @member {Uint8Array} identityId - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0 - * @instance - */ - GetIdentityTokenInfosRequestV0.prototype.identityId = $util.newBuffer([]); - - /** - * GetIdentityTokenInfosRequestV0 tokenIds. + * GetTokenStatusesRequestV0 tokenIds. * @member {Array.} tokenIds - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0 + * @memberof org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0 * @instance */ - GetIdentityTokenInfosRequestV0.prototype.tokenIds = $util.emptyArray; + GetTokenStatusesRequestV0.prototype.tokenIds = $util.emptyArray; /** - * GetIdentityTokenInfosRequestV0 prove. + * GetTokenStatusesRequestV0 prove. * @member {boolean} prove - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0 + * @memberof org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0 * @instance */ - GetIdentityTokenInfosRequestV0.prototype.prove = false; + GetTokenStatusesRequestV0.prototype.prove = false; /** - * Creates a new GetIdentityTokenInfosRequestV0 instance using the specified properties. + * Creates a new GetTokenStatusesRequestV0 instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0 + * @memberof org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.IGetIdentityTokenInfosRequestV0=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0} GetIdentityTokenInfosRequestV0 instance + * @param {org.dash.platform.dapi.v0.GetTokenStatusesRequest.IGetTokenStatusesRequestV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0} GetTokenStatusesRequestV0 instance */ - GetIdentityTokenInfosRequestV0.create = function create(properties) { - return new GetIdentityTokenInfosRequestV0(properties); + GetTokenStatusesRequestV0.create = function create(properties) { + return new GetTokenStatusesRequestV0(properties); }; /** - * Encodes the specified GetIdentityTokenInfosRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.verify|verify} messages. + * Encodes the specified GetTokenStatusesRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0 + * @memberof org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.IGetIdentityTokenInfosRequestV0} message GetIdentityTokenInfosRequestV0 message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetTokenStatusesRequest.IGetTokenStatusesRequestV0} message GetTokenStatusesRequestV0 message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetIdentityTokenInfosRequestV0.encode = function encode(message, writer) { + GetTokenStatusesRequestV0.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.tokenIds != null && message.tokenIds.length) for (var i = 0; i < message.tokenIds.length; ++i) - writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.tokenIds[i]); + writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.tokenIds[i]); if (message.prove != null && Object.hasOwnProperty.call(message, "prove")) - writer.uint32(/* id 3, wireType 0 =*/24).bool(message.prove); + writer.uint32(/* id 2, wireType 0 =*/16).bool(message.prove); return writer; }; /** - * Encodes the specified GetIdentityTokenInfosRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.verify|verify} messages. + * Encodes the specified GetTokenStatusesRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0 + * @memberof org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.IGetIdentityTokenInfosRequestV0} message GetIdentityTokenInfosRequestV0 message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetTokenStatusesRequest.IGetTokenStatusesRequestV0} message GetTokenStatusesRequestV0 message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetIdentityTokenInfosRequestV0.encodeDelimited = function encodeDelimited(message, writer) { + GetTokenStatusesRequestV0.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetIdentityTokenInfosRequestV0 message from the specified reader or buffer. + * Decodes a GetTokenStatusesRequestV0 message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0 + * @memberof org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0 * @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.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0} GetIdentityTokenInfosRequestV0 + * @returns {org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0} GetTokenStatusesRequestV0 * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetIdentityTokenInfosRequestV0.decode = function decode(reader, length) { + GetTokenStatusesRequestV0.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.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.identityId = reader.bytes(); - break; - case 2: if (!(message.tokenIds && message.tokenIds.length)) message.tokenIds = []; message.tokenIds.push(reader.bytes()); break; - case 3: + case 2: message.prove = reader.bool(); break; default: @@ -48293,35 +54896,32 @@ $root.org = (function() { }; /** - * Decodes a GetIdentityTokenInfosRequestV0 message from the specified reader or buffer, length delimited. + * Decodes a GetTokenStatusesRequestV0 message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0 + * @memberof org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0 * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0} GetIdentityTokenInfosRequestV0 + * @returns {org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0} GetTokenStatusesRequestV0 * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetIdentityTokenInfosRequestV0.decodeDelimited = function decodeDelimited(reader) { + GetTokenStatusesRequestV0.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GetIdentityTokenInfosRequestV0 message. + * Verifies a GetTokenStatusesRequestV0 message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0 + * @memberof org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0 * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetIdentityTokenInfosRequestV0.verify = function verify(message) { + GetTokenStatusesRequestV0.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.tokenIds != null && message.hasOwnProperty("tokenIds")) { if (!Array.isArray(message.tokenIds)) return "tokenIds: array expected"; @@ -48336,25 +54936,20 @@ $root.org = (function() { }; /** - * Creates a GetIdentityTokenInfosRequestV0 message from a plain object. Also converts values to their respective internal types. + * Creates a GetTokenStatusesRequestV0 message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0 + * @memberof org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0 * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0} GetIdentityTokenInfosRequestV0 + * @returns {org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0} GetTokenStatusesRequestV0 */ - GetIdentityTokenInfosRequestV0.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0) + GetTokenStatusesRequestV0.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0) return object; - var message = new $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0(); - 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; + var message = new $root.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0(); if (object.tokenIds) { if (!Array.isArray(object.tokenIds)) - throw TypeError(".org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.tokenIds: array expected"); + throw TypeError(".org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0.tokenIds: array expected"); message.tokenIds = []; for (var i = 0; i < object.tokenIds.length; ++i) if (typeof object.tokenIds[i] === "string") @@ -48368,32 +54963,22 @@ $root.org = (function() { }; /** - * Creates a plain object from a GetIdentityTokenInfosRequestV0 message. Also converts values to other types if specified. + * Creates a plain object from a GetTokenStatusesRequestV0 message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0 + * @memberof org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0} message GetIdentityTokenInfosRequestV0 + * @param {org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0} message GetTokenStatusesRequestV0 * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetIdentityTokenInfosRequestV0.toObject = function toObject(message, options) { + GetTokenStatusesRequestV0.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.arrays || options.defaults) object.tokenIds = []; - if (options.defaults) { - if (options.bytes === String) - object.identityId = ""; - else { - object.identityId = []; - if (options.bytes !== Array) - object.identityId = $util.newBuffer(object.identityId); - } + if (options.defaults) object.prove = false; - } - 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.tokenIds && message.tokenIds.length) { object.tokenIds = []; for (var j = 0; j < message.tokenIds.length; ++j) @@ -48405,40 +54990,40 @@ $root.org = (function() { }; /** - * Converts this GetIdentityTokenInfosRequestV0 to JSON. + * Converts this GetTokenStatusesRequestV0 to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0 + * @memberof org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0 * @instance * @returns {Object.} JSON object */ - GetIdentityTokenInfosRequestV0.prototype.toJSON = function toJSON() { + GetTokenStatusesRequestV0.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return GetIdentityTokenInfosRequestV0; + return GetTokenStatusesRequestV0; })(); - return GetIdentityTokenInfosRequest; + return GetTokenStatusesRequest; })(); - v0.GetIdentityTokenInfosResponse = (function() { + v0.GetTokenStatusesResponse = (function() { /** - * Properties of a GetIdentityTokenInfosResponse. + * Properties of a GetTokenStatusesResponse. * @memberof org.dash.platform.dapi.v0 - * @interface IGetIdentityTokenInfosResponse - * @property {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.IGetIdentityTokenInfosResponseV0|null} [v0] GetIdentityTokenInfosResponse v0 + * @interface IGetTokenStatusesResponse + * @property {org.dash.platform.dapi.v0.GetTokenStatusesResponse.IGetTokenStatusesResponseV0|null} [v0] GetTokenStatusesResponse v0 */ /** - * Constructs a new GetIdentityTokenInfosResponse. + * Constructs a new GetTokenStatusesResponse. * @memberof org.dash.platform.dapi.v0 - * @classdesc Represents a GetIdentityTokenInfosResponse. - * @implements IGetIdentityTokenInfosResponse + * @classdesc Represents a GetTokenStatusesResponse. + * @implements IGetTokenStatusesResponse * @constructor - * @param {org.dash.platform.dapi.v0.IGetIdentityTokenInfosResponse=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.IGetTokenStatusesResponse=} [properties] Properties to set */ - function GetIdentityTokenInfosResponse(properties) { + function GetTokenStatusesResponse(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -48446,89 +55031,89 @@ $root.org = (function() { } /** - * GetIdentityTokenInfosResponse v0. - * @member {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.IGetIdentityTokenInfosResponseV0|null|undefined} v0 - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse + * GetTokenStatusesResponse v0. + * @member {org.dash.platform.dapi.v0.GetTokenStatusesResponse.IGetTokenStatusesResponseV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse * @instance */ - GetIdentityTokenInfosResponse.prototype.v0 = null; + GetTokenStatusesResponse.prototype.v0 = null; // OneOf field names bound to virtual getters and setters var $oneOfFields; /** - * GetIdentityTokenInfosResponse version. + * GetTokenStatusesResponse version. * @member {"v0"|undefined} version - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse + * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse * @instance */ - Object.defineProperty(GetIdentityTokenInfosResponse.prototype, "version", { + Object.defineProperty(GetTokenStatusesResponse.prototype, "version", { get: $util.oneOfGetter($oneOfFields = ["v0"]), set: $util.oneOfSetter($oneOfFields) }); /** - * Creates a new GetIdentityTokenInfosResponse instance using the specified properties. + * Creates a new GetTokenStatusesResponse instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse + * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse * @static - * @param {org.dash.platform.dapi.v0.IGetIdentityTokenInfosResponse=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse} GetIdentityTokenInfosResponse instance + * @param {org.dash.platform.dapi.v0.IGetTokenStatusesResponse=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetTokenStatusesResponse} GetTokenStatusesResponse instance */ - GetIdentityTokenInfosResponse.create = function create(properties) { - return new GetIdentityTokenInfosResponse(properties); + GetTokenStatusesResponse.create = function create(properties) { + return new GetTokenStatusesResponse(properties); }; /** - * Encodes the specified GetIdentityTokenInfosResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.verify|verify} messages. + * Encodes the specified GetTokenStatusesResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenStatusesResponse.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse + * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse * @static - * @param {org.dash.platform.dapi.v0.IGetIdentityTokenInfosResponse} message GetIdentityTokenInfosResponse message or plain object to encode + * @param {org.dash.platform.dapi.v0.IGetTokenStatusesResponse} message GetTokenStatusesResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetIdentityTokenInfosResponse.encode = function encode(message, writer) { + GetTokenStatusesResponse.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.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + $root.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified GetIdentityTokenInfosResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.verify|verify} messages. + * Encodes the specified GetTokenStatusesResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenStatusesResponse.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse + * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse * @static - * @param {org.dash.platform.dapi.v0.IGetIdentityTokenInfosResponse} message GetIdentityTokenInfosResponse message or plain object to encode + * @param {org.dash.platform.dapi.v0.IGetTokenStatusesResponse} message GetTokenStatusesResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetIdentityTokenInfosResponse.encodeDelimited = function encodeDelimited(message, writer) { + GetTokenStatusesResponse.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetIdentityTokenInfosResponse message from the specified reader or buffer. + * Decodes a GetTokenStatusesResponse message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse + * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse * @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.GetIdentityTokenInfosResponse} GetIdentityTokenInfosResponse + * @returns {org.dash.platform.dapi.v0.GetTokenStatusesResponse} GetTokenStatusesResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetIdentityTokenInfosResponse.decode = function decode(reader, length) { + GetTokenStatusesResponse.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.GetIdentityTokenInfosResponse(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetTokenStatusesResponse(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.v0 = $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.decode(reader, reader.uint32()); + message.v0 = $root.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -48539,37 +55124,37 @@ $root.org = (function() { }; /** - * Decodes a GetIdentityTokenInfosResponse message from the specified reader or buffer, length delimited. + * Decodes a GetTokenStatusesResponse message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse + * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse} GetIdentityTokenInfosResponse + * @returns {org.dash.platform.dapi.v0.GetTokenStatusesResponse} GetTokenStatusesResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetIdentityTokenInfosResponse.decodeDelimited = function decodeDelimited(reader) { + GetTokenStatusesResponse.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GetIdentityTokenInfosResponse message. + * Verifies a GetTokenStatusesResponse message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse + * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetIdentityTokenInfosResponse.verify = function verify(message) { + GetTokenStatusesResponse.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.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.verify(message.v0); + var error = $root.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.verify(message.v0); if (error) return "v0." + error; } @@ -48578,40 +55163,40 @@ $root.org = (function() { }; /** - * Creates a GetIdentityTokenInfosResponse message from a plain object. Also converts values to their respective internal types. + * Creates a GetTokenStatusesResponse message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse + * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse} GetIdentityTokenInfosResponse + * @returns {org.dash.platform.dapi.v0.GetTokenStatusesResponse} GetTokenStatusesResponse */ - GetIdentityTokenInfosResponse.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse) + GetTokenStatusesResponse.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetTokenStatusesResponse) return object; - var message = new $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse(); + var message = new $root.org.dash.platform.dapi.v0.GetTokenStatusesResponse(); if (object.v0 != null) { if (typeof object.v0 !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.v0: object expected"); - message.v0 = $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.fromObject(object.v0); + throw TypeError(".org.dash.platform.dapi.v0.GetTokenStatusesResponse.v0: object expected"); + message.v0 = $root.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.fromObject(object.v0); } return message; }; /** - * Creates a plain object from a GetIdentityTokenInfosResponse message. Also converts values to other types if specified. + * Creates a plain object from a GetTokenStatusesResponse message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse + * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse * @static - * @param {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse} message GetIdentityTokenInfosResponse + * @param {org.dash.platform.dapi.v0.GetTokenStatusesResponse} message GetTokenStatusesResponse * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetIdentityTokenInfosResponse.toObject = function toObject(message, options) { + GetTokenStatusesResponse.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.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.toObject(message.v0, options); + object.v0 = $root.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.toObject(message.v0, options); if (options.oneofs) object.version = "v0"; } @@ -48619,36 +55204,36 @@ $root.org = (function() { }; /** - * Converts this GetIdentityTokenInfosResponse to JSON. + * Converts this GetTokenStatusesResponse to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse + * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse * @instance * @returns {Object.} JSON object */ - GetIdentityTokenInfosResponse.prototype.toJSON = function toJSON() { + GetTokenStatusesResponse.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0 = (function() { + GetTokenStatusesResponse.GetTokenStatusesResponseV0 = (function() { /** - * Properties of a GetIdentityTokenInfosResponseV0. - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse - * @interface IGetIdentityTokenInfosResponseV0 - * @property {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.ITokenInfos|null} [tokenInfos] GetIdentityTokenInfosResponseV0 tokenInfos - * @property {org.dash.platform.dapi.v0.IProof|null} [proof] GetIdentityTokenInfosResponseV0 proof - * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetIdentityTokenInfosResponseV0 metadata + * Properties of a GetTokenStatusesResponseV0. + * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse + * @interface IGetTokenStatusesResponseV0 + * @property {org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.ITokenStatuses|null} [tokenStatuses] GetTokenStatusesResponseV0 tokenStatuses + * @property {org.dash.platform.dapi.v0.IProof|null} [proof] GetTokenStatusesResponseV0 proof + * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetTokenStatusesResponseV0 metadata */ /** - * Constructs a new GetIdentityTokenInfosResponseV0. - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse - * @classdesc Represents a GetIdentityTokenInfosResponseV0. - * @implements IGetIdentityTokenInfosResponseV0 + * Constructs a new GetTokenStatusesResponseV0. + * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse + * @classdesc Represents a GetTokenStatusesResponseV0. + * @implements IGetTokenStatusesResponseV0 * @constructor - * @param {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.IGetIdentityTokenInfosResponseV0=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetTokenStatusesResponse.IGetTokenStatusesResponseV0=} [properties] Properties to set */ - function GetIdentityTokenInfosResponseV0(properties) { + function GetTokenStatusesResponseV0(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -48656,69 +55241,69 @@ $root.org = (function() { } /** - * GetIdentityTokenInfosResponseV0 tokenInfos. - * @member {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.ITokenInfos|null|undefined} tokenInfos - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0 + * GetTokenStatusesResponseV0 tokenStatuses. + * @member {org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.ITokenStatuses|null|undefined} tokenStatuses + * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0 * @instance */ - GetIdentityTokenInfosResponseV0.prototype.tokenInfos = null; + GetTokenStatusesResponseV0.prototype.tokenStatuses = null; /** - * GetIdentityTokenInfosResponseV0 proof. + * GetTokenStatusesResponseV0 proof. * @member {org.dash.platform.dapi.v0.IProof|null|undefined} proof - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0 + * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0 * @instance */ - GetIdentityTokenInfosResponseV0.prototype.proof = null; + GetTokenStatusesResponseV0.prototype.proof = null; /** - * GetIdentityTokenInfosResponseV0 metadata. + * GetTokenStatusesResponseV0 metadata. * @member {org.dash.platform.dapi.v0.IResponseMetadata|null|undefined} metadata - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0 + * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0 * @instance */ - GetIdentityTokenInfosResponseV0.prototype.metadata = null; + GetTokenStatusesResponseV0.prototype.metadata = null; // OneOf field names bound to virtual getters and setters var $oneOfFields; /** - * GetIdentityTokenInfosResponseV0 result. - * @member {"tokenInfos"|"proof"|undefined} result - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0 + * GetTokenStatusesResponseV0 result. + * @member {"tokenStatuses"|"proof"|undefined} result + * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0 * @instance */ - Object.defineProperty(GetIdentityTokenInfosResponseV0.prototype, "result", { - get: $util.oneOfGetter($oneOfFields = ["tokenInfos", "proof"]), + Object.defineProperty(GetTokenStatusesResponseV0.prototype, "result", { + get: $util.oneOfGetter($oneOfFields = ["tokenStatuses", "proof"]), set: $util.oneOfSetter($oneOfFields) }); /** - * Creates a new GetIdentityTokenInfosResponseV0 instance using the specified properties. + * Creates a new GetTokenStatusesResponseV0 instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0 + * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.IGetIdentityTokenInfosResponseV0=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0} GetIdentityTokenInfosResponseV0 instance + * @param {org.dash.platform.dapi.v0.GetTokenStatusesResponse.IGetTokenStatusesResponseV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0} GetTokenStatusesResponseV0 instance */ - GetIdentityTokenInfosResponseV0.create = function create(properties) { - return new GetIdentityTokenInfosResponseV0(properties); + GetTokenStatusesResponseV0.create = function create(properties) { + return new GetTokenStatusesResponseV0(properties); }; /** - * Encodes the specified GetIdentityTokenInfosResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.verify|verify} messages. + * Encodes the specified GetTokenStatusesResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0 + * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.IGetIdentityTokenInfosResponseV0} message GetIdentityTokenInfosResponseV0 message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetTokenStatusesResponse.IGetTokenStatusesResponseV0} message GetTokenStatusesResponseV0 message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetIdentityTokenInfosResponseV0.encode = function encode(message, writer) { + GetTokenStatusesResponseV0.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.tokenInfos != null && Object.hasOwnProperty.call(message, "tokenInfos")) - $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos.encode(message.tokenInfos, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.tokenStatuses != null && Object.hasOwnProperty.call(message, "tokenStatuses")) + $root.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses.encode(message.tokenStatuses, 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")) @@ -48727,38 +55312,38 @@ $root.org = (function() { }; /** - * Encodes the specified GetIdentityTokenInfosResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.verify|verify} messages. + * Encodes the specified GetTokenStatusesResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0 + * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.IGetIdentityTokenInfosResponseV0} message GetIdentityTokenInfosResponseV0 message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetTokenStatusesResponse.IGetTokenStatusesResponseV0} message GetTokenStatusesResponseV0 message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetIdentityTokenInfosResponseV0.encodeDelimited = function encodeDelimited(message, writer) { + GetTokenStatusesResponseV0.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetIdentityTokenInfosResponseV0 message from the specified reader or buffer. + * Decodes a GetTokenStatusesResponseV0 message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0 + * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0 * @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.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0} GetIdentityTokenInfosResponseV0 + * @returns {org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0} GetTokenStatusesResponseV0 * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetIdentityTokenInfosResponseV0.decode = function decode(reader, length) { + GetTokenStatusesResponseV0.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.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.tokenInfos = $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos.decode(reader, reader.uint32()); + message.tokenStatuses = $root.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses.decode(reader, reader.uint32()); break; case 2: message.proof = $root.org.dash.platform.dapi.v0.Proof.decode(reader, reader.uint32()); @@ -48775,336 +55360,149 @@ $root.org = (function() { }; /** - * Decodes a GetIdentityTokenInfosResponseV0 message from the specified reader or buffer, length delimited. + * Decodes a GetTokenStatusesResponseV0 message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0 + * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0 * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0} GetIdentityTokenInfosResponseV0 + * @returns {org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0} GetTokenStatusesResponseV0 * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetIdentityTokenInfosResponseV0.decodeDelimited = function decodeDelimited(reader) { + GetTokenStatusesResponseV0.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GetIdentityTokenInfosResponseV0 message. + * Verifies a GetTokenStatusesResponseV0 message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0 + * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0 * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetIdentityTokenInfosResponseV0.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - var properties = {}; - if (message.tokenInfos != null && message.hasOwnProperty("tokenInfos")) { - properties.result = 1; - { - var error = $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos.verify(message.tokenInfos); - if (error) - return "tokenInfos." + 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 GetIdentityTokenInfosResponseV0 message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0 - * @static - * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0} GetIdentityTokenInfosResponseV0 - */ - GetIdentityTokenInfosResponseV0.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0) - return object; - var message = new $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0(); - if (object.tokenInfos != null) { - if (typeof object.tokenInfos !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.tokenInfos: object expected"); - message.tokenInfos = $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos.fromObject(object.tokenInfos); - } - if (object.proof != null) { - if (typeof object.proof !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.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.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.metadata: object expected"); - message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.fromObject(object.metadata); - } - return message; - }; - - /** - * Creates a plain object from a GetIdentityTokenInfosResponseV0 message. Also converts values to other types if specified. - * @function toObject - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0 - * @static - * @param {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0} message GetIdentityTokenInfosResponseV0 - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - GetIdentityTokenInfosResponseV0.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) - object.metadata = null; - if (message.tokenInfos != null && message.hasOwnProperty("tokenInfos")) { - object.tokenInfos = $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos.toObject(message.tokenInfos, options); - if (options.oneofs) - object.result = "tokenInfos"; - } - 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 GetIdentityTokenInfosResponseV0 to JSON. - * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0 - * @instance - * @returns {Object.} JSON object - */ - GetIdentityTokenInfosResponseV0.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry = (function() { - - /** - * Properties of a TokenIdentityInfoEntry. - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0 - * @interface ITokenIdentityInfoEntry - * @property {boolean|null} [frozen] TokenIdentityInfoEntry frozen - */ - - /** - * Constructs a new TokenIdentityInfoEntry. - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0 - * @classdesc Represents a TokenIdentityInfoEntry. - * @implements ITokenIdentityInfoEntry - * @constructor - * @param {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.ITokenIdentityInfoEntry=} [properties] Properties to set - */ - function TokenIdentityInfoEntry(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]]; - } - - /** - * TokenIdentityInfoEntry frozen. - * @member {boolean} frozen - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry - * @instance - */ - TokenIdentityInfoEntry.prototype.frozen = false; - - /** - * Creates a new TokenIdentityInfoEntry instance using the specified properties. - * @function create - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry - * @static - * @param {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.ITokenIdentityInfoEntry=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry} TokenIdentityInfoEntry instance - */ - TokenIdentityInfoEntry.create = function create(properties) { - return new TokenIdentityInfoEntry(properties); - }; - - /** - * Encodes the specified TokenIdentityInfoEntry message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry.verify|verify} messages. - * @function encode - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry - * @static - * @param {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.ITokenIdentityInfoEntry} message TokenIdentityInfoEntry message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - TokenIdentityInfoEntry.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.frozen != null && Object.hasOwnProperty.call(message, "frozen")) - writer.uint32(/* id 1, wireType 0 =*/8).bool(message.frozen); - return writer; - }; - - /** - * Encodes the specified TokenIdentityInfoEntry message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry.verify|verify} messages. - * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry - * @static - * @param {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.ITokenIdentityInfoEntry} message TokenIdentityInfoEntry message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - TokenIdentityInfoEntry.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a TokenIdentityInfoEntry message from the specified reader or buffer. - * @function decode - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry - * @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.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry} TokenIdentityInfoEntry - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - TokenIdentityInfoEntry.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.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.frozen = reader.bool(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a TokenIdentityInfoEntry message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry} TokenIdentityInfoEntry - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - TokenIdentityInfoEntry.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a TokenIdentityInfoEntry message. - * @function verify - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - TokenIdentityInfoEntry.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.frozen != null && message.hasOwnProperty("frozen")) - if (typeof message.frozen !== "boolean") - return "frozen: boolean expected"; - return null; - }; - - /** - * Creates a TokenIdentityInfoEntry message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry - * @static - * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry} TokenIdentityInfoEntry - */ - TokenIdentityInfoEntry.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry) - return object; - var message = new $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry(); - if (object.frozen != null) - message.frozen = Boolean(object.frozen); - return message; - }; + GetTokenStatusesResponseV0.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + var properties = {}; + if (message.tokenStatuses != null && message.hasOwnProperty("tokenStatuses")) { + properties.result = 1; + { + var error = $root.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses.verify(message.tokenStatuses); + if (error) + return "tokenStatuses." + 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 plain object from a TokenIdentityInfoEntry message. Also converts values to other types if specified. - * @function toObject - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry - * @static - * @param {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry} message TokenIdentityInfoEntry - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - TokenIdentityInfoEntry.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) - object.frozen = false; - if (message.frozen != null && message.hasOwnProperty("frozen")) - object.frozen = message.frozen; + /** + * Creates a GetTokenStatusesResponseV0 message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0 + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0} GetTokenStatusesResponseV0 + */ + GetTokenStatusesResponseV0.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0) return object; - }; + var message = new $root.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0(); + if (object.tokenStatuses != null) { + if (typeof object.tokenStatuses !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.tokenStatuses: object expected"); + message.tokenStatuses = $root.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses.fromObject(object.tokenStatuses); + } + if (object.proof != null) { + if (typeof object.proof !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.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.GetTokenStatusesResponse.GetTokenStatusesResponseV0.metadata: object expected"); + message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.fromObject(object.metadata); + } + return message; + }; - /** - * Converts this TokenIdentityInfoEntry to JSON. - * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry - * @instance - * @returns {Object.} JSON object - */ - TokenIdentityInfoEntry.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; + /** + * Creates a plain object from a GetTokenStatusesResponseV0 message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0 + * @static + * @param {org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0} message GetTokenStatusesResponseV0 + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetTokenStatusesResponseV0.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.metadata = null; + if (message.tokenStatuses != null && message.hasOwnProperty("tokenStatuses")) { + object.tokenStatuses = $root.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses.toObject(message.tokenStatuses, options); + if (options.oneofs) + object.result = "tokenStatuses"; + } + 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; + }; - return TokenIdentityInfoEntry; - })(); + /** + * Converts this GetTokenStatusesResponseV0 to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0 + * @instance + * @returns {Object.} JSON object + */ + GetTokenStatusesResponseV0.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; - GetIdentityTokenInfosResponseV0.TokenInfoEntry = (function() { + GetTokenStatusesResponseV0.TokenStatusEntry = (function() { /** - * Properties of a TokenInfoEntry. - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0 - * @interface ITokenInfoEntry - * @property {Uint8Array|null} [tokenId] TokenInfoEntry tokenId - * @property {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.ITokenIdentityInfoEntry|null} [info] TokenInfoEntry info + * Properties of a TokenStatusEntry. + * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0 + * @interface ITokenStatusEntry + * @property {Uint8Array|null} [tokenId] TokenStatusEntry tokenId + * @property {boolean|null} [paused] TokenStatusEntry paused */ /** - * Constructs a new TokenInfoEntry. - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0 - * @classdesc Represents a TokenInfoEntry. - * @implements ITokenInfoEntry + * Constructs a new TokenStatusEntry. + * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0 + * @classdesc Represents a TokenStatusEntry. + * @implements ITokenStatusEntry * @constructor - * @param {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.ITokenInfoEntry=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.ITokenStatusEntry=} [properties] Properties to set */ - function TokenInfoEntry(properties) { + function TokenStatusEntry(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -49112,80 +55510,80 @@ $root.org = (function() { } /** - * TokenInfoEntry tokenId. + * TokenStatusEntry tokenId. * @member {Uint8Array} tokenId - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry + * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry * @instance */ - TokenInfoEntry.prototype.tokenId = $util.newBuffer([]); + TokenStatusEntry.prototype.tokenId = $util.newBuffer([]); /** - * TokenInfoEntry info. - * @member {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.ITokenIdentityInfoEntry|null|undefined} info - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry + * TokenStatusEntry paused. + * @member {boolean} paused + * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry * @instance */ - TokenInfoEntry.prototype.info = null; + TokenStatusEntry.prototype.paused = false; /** - * Creates a new TokenInfoEntry instance using the specified properties. + * Creates a new TokenStatusEntry instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry + * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry * @static - * @param {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.ITokenInfoEntry=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry} TokenInfoEntry instance + * @param {org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.ITokenStatusEntry=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry} TokenStatusEntry instance */ - TokenInfoEntry.create = function create(properties) { - return new TokenInfoEntry(properties); + TokenStatusEntry.create = function create(properties) { + return new TokenStatusEntry(properties); }; /** - * Encodes the specified TokenInfoEntry message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry.verify|verify} messages. + * Encodes the specified TokenStatusEntry message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry + * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry * @static - * @param {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.ITokenInfoEntry} message TokenInfoEntry message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.ITokenStatusEntry} message TokenStatusEntry message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - TokenInfoEntry.encode = function encode(message, writer) { + TokenStatusEntry.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.tokenId != null && Object.hasOwnProperty.call(message, "tokenId")) writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.tokenId); - if (message.info != null && Object.hasOwnProperty.call(message, "info")) - $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry.encode(message.info, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.paused != null && Object.hasOwnProperty.call(message, "paused")) + writer.uint32(/* id 2, wireType 0 =*/16).bool(message.paused); return writer; }; /** - * Encodes the specified TokenInfoEntry message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry.verify|verify} messages. + * Encodes the specified TokenStatusEntry message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry + * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry * @static - * @param {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.ITokenInfoEntry} message TokenInfoEntry message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.ITokenStatusEntry} message TokenStatusEntry message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - TokenInfoEntry.encodeDelimited = function encodeDelimited(message, writer) { + TokenStatusEntry.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a TokenInfoEntry message from the specified reader or buffer. + * Decodes a TokenStatusEntry message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry + * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry * @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.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry} TokenInfoEntry + * @returns {org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry} TokenStatusEntry * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - TokenInfoEntry.decode = function decode(reader, length) { + TokenStatusEntry.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.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { @@ -49193,7 +55591,7 @@ $root.org = (function() { message.tokenId = reader.bytes(); break; case 2: - message.info = $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry.decode(reader, reader.uint32()); + message.paused = reader.bool(); break; default: reader.skipType(tag & 7); @@ -49204,78 +55602,73 @@ $root.org = (function() { }; /** - * Decodes a TokenInfoEntry message from the specified reader or buffer, length delimited. + * Decodes a TokenStatusEntry message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry + * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry} TokenInfoEntry + * @returns {org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry} TokenStatusEntry * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - TokenInfoEntry.decodeDelimited = function decodeDelimited(reader) { + TokenStatusEntry.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a TokenInfoEntry message. + * Verifies a TokenStatusEntry message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry + * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - TokenInfoEntry.verify = function verify(message) { + TokenStatusEntry.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.tokenId != null && message.hasOwnProperty("tokenId")) if (!(message.tokenId && typeof message.tokenId.length === "number" || $util.isString(message.tokenId))) return "tokenId: buffer expected"; - if (message.info != null && message.hasOwnProperty("info")) { - var error = $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry.verify(message.info); - if (error) - return "info." + error; - } + if (message.paused != null && message.hasOwnProperty("paused")) + if (typeof message.paused !== "boolean") + return "paused: boolean expected"; return null; }; /** - * Creates a TokenInfoEntry message from a plain object. Also converts values to their respective internal types. + * Creates a TokenStatusEntry message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry + * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry} TokenInfoEntry + * @returns {org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry} TokenStatusEntry */ - TokenInfoEntry.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry) + TokenStatusEntry.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry) return object; - var message = new $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry(); + var message = new $root.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry(); if (object.tokenId != null) if (typeof object.tokenId === "string") $util.base64.decode(object.tokenId, message.tokenId = $util.newBuffer($util.base64.length(object.tokenId)), 0); else if (object.tokenId.length >= 0) message.tokenId = object.tokenId; - if (object.info != null) { - if (typeof object.info !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry.info: object expected"); - message.info = $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry.fromObject(object.info); - } + if (object.paused != null) + message.paused = Boolean(object.paused); return message; }; /** - * Creates a plain object from a TokenInfoEntry message. Also converts values to other types if specified. + * Creates a plain object from a TokenStatusEntry message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry + * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry * @static - * @param {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry} message TokenInfoEntry + * @param {org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry} message TokenStatusEntry * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - TokenInfoEntry.toObject = function toObject(message, options) { + TokenStatusEntry.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; @@ -49287,48 +55680,48 @@ $root.org = (function() { if (options.bytes !== Array) object.tokenId = $util.newBuffer(object.tokenId); } - object.info = null; + object.paused = false; } if (message.tokenId != null && message.hasOwnProperty("tokenId")) object.tokenId = options.bytes === String ? $util.base64.encode(message.tokenId, 0, message.tokenId.length) : options.bytes === Array ? Array.prototype.slice.call(message.tokenId) : message.tokenId; - if (message.info != null && message.hasOwnProperty("info")) - object.info = $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry.toObject(message.info, options); + if (message.paused != null && message.hasOwnProperty("paused")) + object.paused = message.paused; return object; }; /** - * Converts this TokenInfoEntry to JSON. + * Converts this TokenStatusEntry to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry + * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry * @instance * @returns {Object.} JSON object */ - TokenInfoEntry.prototype.toJSON = function toJSON() { + TokenStatusEntry.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return TokenInfoEntry; + return TokenStatusEntry; })(); - GetIdentityTokenInfosResponseV0.TokenInfos = (function() { + GetTokenStatusesResponseV0.TokenStatuses = (function() { /** - * Properties of a TokenInfos. - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0 - * @interface ITokenInfos - * @property {Array.|null} [tokenInfos] TokenInfos tokenInfos + * Properties of a TokenStatuses. + * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0 + * @interface ITokenStatuses + * @property {Array.|null} [tokenStatuses] TokenStatuses tokenStatuses */ /** - * Constructs a new TokenInfos. - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0 - * @classdesc Represents a TokenInfos. - * @implements ITokenInfos + * Constructs a new TokenStatuses. + * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0 + * @classdesc Represents a TokenStatuses. + * @implements ITokenStatuses * @constructor - * @param {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.ITokenInfos=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.ITokenStatuses=} [properties] Properties to set */ - function TokenInfos(properties) { - this.tokenInfos = []; + function TokenStatuses(properties) { + this.tokenStatuses = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -49336,78 +55729,78 @@ $root.org = (function() { } /** - * TokenInfos tokenInfos. - * @member {Array.} tokenInfos - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos + * TokenStatuses tokenStatuses. + * @member {Array.} tokenStatuses + * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses * @instance */ - TokenInfos.prototype.tokenInfos = $util.emptyArray; + TokenStatuses.prototype.tokenStatuses = $util.emptyArray; /** - * Creates a new TokenInfos instance using the specified properties. + * Creates a new TokenStatuses instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos + * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses * @static - * @param {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.ITokenInfos=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos} TokenInfos instance + * @param {org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.ITokenStatuses=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses} TokenStatuses instance */ - TokenInfos.create = function create(properties) { - return new TokenInfos(properties); + TokenStatuses.create = function create(properties) { + return new TokenStatuses(properties); }; /** - * Encodes the specified TokenInfos message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos.verify|verify} messages. + * Encodes the specified TokenStatuses message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos + * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses * @static - * @param {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.ITokenInfos} message TokenInfos message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.ITokenStatuses} message TokenStatuses message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - TokenInfos.encode = function encode(message, writer) { + TokenStatuses.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.tokenInfos != null && message.tokenInfos.length) - for (var i = 0; i < message.tokenInfos.length; ++i) - $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry.encode(message.tokenInfos[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.tokenStatuses != null && message.tokenStatuses.length) + for (var i = 0; i < message.tokenStatuses.length; ++i) + $root.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry.encode(message.tokenStatuses[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified TokenInfos message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos.verify|verify} messages. + * Encodes the specified TokenStatuses message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos + * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses * @static - * @param {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.ITokenInfos} message TokenInfos message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.ITokenStatuses} message TokenStatuses message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - TokenInfos.encodeDelimited = function encodeDelimited(message, writer) { + TokenStatuses.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a TokenInfos message from the specified reader or buffer. + * Decodes a TokenStatuses message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos + * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses * @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.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos} TokenInfos + * @returns {org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses} TokenStatuses * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - TokenInfos.decode = function decode(reader, length) { + TokenStatuses.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.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - if (!(message.tokenInfos && message.tokenInfos.length)) - message.tokenInfos = []; - message.tokenInfos.push($root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry.decode(reader, reader.uint32())); + if (!(message.tokenStatuses && message.tokenStatuses.length)) + message.tokenStatuses = []; + message.tokenStatuses.push($root.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry.decode(reader, reader.uint32())); break; default: reader.skipType(tag & 7); @@ -49418,130 +55811,130 @@ $root.org = (function() { }; /** - * Decodes a TokenInfos message from the specified reader or buffer, length delimited. + * Decodes a TokenStatuses message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos + * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos} TokenInfos + * @returns {org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses} TokenStatuses * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - TokenInfos.decodeDelimited = function decodeDelimited(reader) { + TokenStatuses.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a TokenInfos message. + * Verifies a TokenStatuses message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos + * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - TokenInfos.verify = function verify(message) { + TokenStatuses.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.tokenInfos != null && message.hasOwnProperty("tokenInfos")) { - if (!Array.isArray(message.tokenInfos)) - return "tokenInfos: array expected"; - for (var i = 0; i < message.tokenInfos.length; ++i) { - var error = $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry.verify(message.tokenInfos[i]); + if (message.tokenStatuses != null && message.hasOwnProperty("tokenStatuses")) { + if (!Array.isArray(message.tokenStatuses)) + return "tokenStatuses: array expected"; + for (var i = 0; i < message.tokenStatuses.length; ++i) { + var error = $root.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry.verify(message.tokenStatuses[i]); if (error) - return "tokenInfos." + error; + return "tokenStatuses." + error; } } return null; }; /** - * Creates a TokenInfos message from a plain object. Also converts values to their respective internal types. + * Creates a TokenStatuses message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos + * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos} TokenInfos + * @returns {org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses} TokenStatuses */ - TokenInfos.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos) + TokenStatuses.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses) return object; - var message = new $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos(); - if (object.tokenInfos) { - if (!Array.isArray(object.tokenInfos)) - throw TypeError(".org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos.tokenInfos: array expected"); - message.tokenInfos = []; - for (var i = 0; i < object.tokenInfos.length; ++i) { - if (typeof object.tokenInfos[i] !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos.tokenInfos: object expected"); - message.tokenInfos[i] = $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry.fromObject(object.tokenInfos[i]); + var message = new $root.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses(); + if (object.tokenStatuses) { + if (!Array.isArray(object.tokenStatuses)) + throw TypeError(".org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses.tokenStatuses: array expected"); + message.tokenStatuses = []; + for (var i = 0; i < object.tokenStatuses.length; ++i) { + if (typeof object.tokenStatuses[i] !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses.tokenStatuses: object expected"); + message.tokenStatuses[i] = $root.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry.fromObject(object.tokenStatuses[i]); } } return message; }; /** - * Creates a plain object from a TokenInfos message. Also converts values to other types if specified. + * Creates a plain object from a TokenStatuses message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos + * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses * @static - * @param {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos} message TokenInfos + * @param {org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses} message TokenStatuses * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - TokenInfos.toObject = function toObject(message, options) { + TokenStatuses.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.arrays || options.defaults) - object.tokenInfos = []; - if (message.tokenInfos && message.tokenInfos.length) { - object.tokenInfos = []; - for (var j = 0; j < message.tokenInfos.length; ++j) - object.tokenInfos[j] = $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry.toObject(message.tokenInfos[j], options); + object.tokenStatuses = []; + if (message.tokenStatuses && message.tokenStatuses.length) { + object.tokenStatuses = []; + for (var j = 0; j < message.tokenStatuses.length; ++j) + object.tokenStatuses[j] = $root.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry.toObject(message.tokenStatuses[j], options); } return object; }; /** - * Converts this TokenInfos to JSON. + * Converts this TokenStatuses to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos + * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses * @instance * @returns {Object.} JSON object */ - TokenInfos.prototype.toJSON = function toJSON() { + TokenStatuses.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return TokenInfos; + return TokenStatuses; })(); - return GetIdentityTokenInfosResponseV0; + return GetTokenStatusesResponseV0; })(); - return GetIdentityTokenInfosResponse; + return GetTokenStatusesResponse; })(); - v0.GetIdentitiesTokenInfosRequest = (function() { + v0.GetTokenDirectPurchasePricesRequest = (function() { /** - * Properties of a GetIdentitiesTokenInfosRequest. + * Properties of a GetTokenDirectPurchasePricesRequest. * @memberof org.dash.platform.dapi.v0 - * @interface IGetIdentitiesTokenInfosRequest - * @property {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.IGetIdentitiesTokenInfosRequestV0|null} [v0] GetIdentitiesTokenInfosRequest v0 + * @interface IGetTokenDirectPurchasePricesRequest + * @property {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.IGetTokenDirectPurchasePricesRequestV0|null} [v0] GetTokenDirectPurchasePricesRequest v0 */ /** - * Constructs a new GetIdentitiesTokenInfosRequest. + * Constructs a new GetTokenDirectPurchasePricesRequest. * @memberof org.dash.platform.dapi.v0 - * @classdesc Represents a GetIdentitiesTokenInfosRequest. - * @implements IGetIdentitiesTokenInfosRequest + * @classdesc Represents a GetTokenDirectPurchasePricesRequest. + * @implements IGetTokenDirectPurchasePricesRequest * @constructor - * @param {org.dash.platform.dapi.v0.IGetIdentitiesTokenInfosRequest=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.IGetTokenDirectPurchasePricesRequest=} [properties] Properties to set */ - function GetIdentitiesTokenInfosRequest(properties) { + function GetTokenDirectPurchasePricesRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -49549,89 +55942,89 @@ $root.org = (function() { } /** - * GetIdentitiesTokenInfosRequest v0. - * @member {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.IGetIdentitiesTokenInfosRequestV0|null|undefined} v0 - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest + * GetTokenDirectPurchasePricesRequest v0. + * @member {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.IGetTokenDirectPurchasePricesRequestV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest * @instance */ - GetIdentitiesTokenInfosRequest.prototype.v0 = null; + GetTokenDirectPurchasePricesRequest.prototype.v0 = null; // OneOf field names bound to virtual getters and setters var $oneOfFields; /** - * GetIdentitiesTokenInfosRequest version. + * GetTokenDirectPurchasePricesRequest version. * @member {"v0"|undefined} version - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest + * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest * @instance */ - Object.defineProperty(GetIdentitiesTokenInfosRequest.prototype, "version", { + Object.defineProperty(GetTokenDirectPurchasePricesRequest.prototype, "version", { get: $util.oneOfGetter($oneOfFields = ["v0"]), set: $util.oneOfSetter($oneOfFields) }); /** - * Creates a new GetIdentitiesTokenInfosRequest instance using the specified properties. + * Creates a new GetTokenDirectPurchasePricesRequest instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest + * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest * @static - * @param {org.dash.platform.dapi.v0.IGetIdentitiesTokenInfosRequest=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest} GetIdentitiesTokenInfosRequest instance + * @param {org.dash.platform.dapi.v0.IGetTokenDirectPurchasePricesRequest=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest} GetTokenDirectPurchasePricesRequest instance */ - GetIdentitiesTokenInfosRequest.create = function create(properties) { - return new GetIdentitiesTokenInfosRequest(properties); + GetTokenDirectPurchasePricesRequest.create = function create(properties) { + return new GetTokenDirectPurchasePricesRequest(properties); }; /** - * Encodes the specified GetIdentitiesTokenInfosRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.verify|verify} messages. + * Encodes the specified GetTokenDirectPurchasePricesRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest + * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest * @static - * @param {org.dash.platform.dapi.v0.IGetIdentitiesTokenInfosRequest} message GetIdentitiesTokenInfosRequest message or plain object to encode + * @param {org.dash.platform.dapi.v0.IGetTokenDirectPurchasePricesRequest} message GetTokenDirectPurchasePricesRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetIdentitiesTokenInfosRequest.encode = function encode(message, writer) { + GetTokenDirectPurchasePricesRequest.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.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified GetIdentitiesTokenInfosRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.verify|verify} messages. + * Encodes the specified GetTokenDirectPurchasePricesRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest + * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest * @static - * @param {org.dash.platform.dapi.v0.IGetIdentitiesTokenInfosRequest} message GetIdentitiesTokenInfosRequest message or plain object to encode + * @param {org.dash.platform.dapi.v0.IGetTokenDirectPurchasePricesRequest} message GetTokenDirectPurchasePricesRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetIdentitiesTokenInfosRequest.encodeDelimited = function encodeDelimited(message, writer) { + GetTokenDirectPurchasePricesRequest.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetIdentitiesTokenInfosRequest message from the specified reader or buffer. + * Decodes a GetTokenDirectPurchasePricesRequest message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest + * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest * @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.GetIdentitiesTokenInfosRequest} GetIdentitiesTokenInfosRequest + * @returns {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest} GetTokenDirectPurchasePricesRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetIdentitiesTokenInfosRequest.decode = function decode(reader, length) { + GetTokenDirectPurchasePricesRequest.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.GetIdentitiesTokenInfosRequest(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.v0 = $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.decode(reader, reader.uint32()); + message.v0 = $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -49642,37 +56035,37 @@ $root.org = (function() { }; /** - * Decodes a GetIdentitiesTokenInfosRequest message from the specified reader or buffer, length delimited. + * Decodes a GetTokenDirectPurchasePricesRequest message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest + * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest} GetIdentitiesTokenInfosRequest + * @returns {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest} GetTokenDirectPurchasePricesRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetIdentitiesTokenInfosRequest.decodeDelimited = function decodeDelimited(reader) { + GetTokenDirectPurchasePricesRequest.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GetIdentitiesTokenInfosRequest message. + * Verifies a GetTokenDirectPurchasePricesRequest message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest + * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetIdentitiesTokenInfosRequest.verify = function verify(message) { + GetTokenDirectPurchasePricesRequest.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.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.verify(message.v0); + var error = $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.verify(message.v0); if (error) return "v0." + error; } @@ -49681,40 +56074,40 @@ $root.org = (function() { }; /** - * Creates a GetIdentitiesTokenInfosRequest message from a plain object. Also converts values to their respective internal types. + * Creates a GetTokenDirectPurchasePricesRequest message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest + * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest} GetIdentitiesTokenInfosRequest + * @returns {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest} GetTokenDirectPurchasePricesRequest */ - GetIdentitiesTokenInfosRequest.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest) + GetTokenDirectPurchasePricesRequest.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest) return object; - var message = new $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest(); + var message = new $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest(); if (object.v0 != null) { if (typeof object.v0 !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.v0: object expected"); - message.v0 = $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.fromObject(object.v0); + throw TypeError(".org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.v0: object expected"); + message.v0 = $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.fromObject(object.v0); } return message; }; /** - * Creates a plain object from a GetIdentitiesTokenInfosRequest message. Also converts values to other types if specified. + * Creates a plain object from a GetTokenDirectPurchasePricesRequest message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest + * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest * @static - * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest} message GetIdentitiesTokenInfosRequest + * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest} message GetTokenDirectPurchasePricesRequest * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetIdentitiesTokenInfosRequest.toObject = function toObject(message, options) { + GetTokenDirectPurchasePricesRequest.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.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.toObject(message.v0, options); + object.v0 = $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.toObject(message.v0, options); if (options.oneofs) object.version = "v0"; } @@ -49722,37 +56115,36 @@ $root.org = (function() { }; /** - * Converts this GetIdentitiesTokenInfosRequest to JSON. + * Converts this GetTokenDirectPurchasePricesRequest to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest + * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest * @instance * @returns {Object.} JSON object */ - GetIdentitiesTokenInfosRequest.prototype.toJSON = function toJSON() { + GetTokenDirectPurchasePricesRequest.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0 = (function() { + GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0 = (function() { /** - * Properties of a GetIdentitiesTokenInfosRequestV0. - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest - * @interface IGetIdentitiesTokenInfosRequestV0 - * @property {Uint8Array|null} [tokenId] GetIdentitiesTokenInfosRequestV0 tokenId - * @property {Array.|null} [identityIds] GetIdentitiesTokenInfosRequestV0 identityIds - * @property {boolean|null} [prove] GetIdentitiesTokenInfosRequestV0 prove + * Properties of a GetTokenDirectPurchasePricesRequestV0. + * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest + * @interface IGetTokenDirectPurchasePricesRequestV0 + * @property {Array.|null} [tokenIds] GetTokenDirectPurchasePricesRequestV0 tokenIds + * @property {boolean|null} [prove] GetTokenDirectPurchasePricesRequestV0 prove */ /** - * Constructs a new GetIdentitiesTokenInfosRequestV0. - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest - * @classdesc Represents a GetIdentitiesTokenInfosRequestV0. - * @implements IGetIdentitiesTokenInfosRequestV0 + * Constructs a new GetTokenDirectPurchasePricesRequestV0. + * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest + * @classdesc Represents a GetTokenDirectPurchasePricesRequestV0. + * @implements IGetTokenDirectPurchasePricesRequestV0 * @constructor - * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.IGetIdentitiesTokenInfosRequestV0=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.IGetTokenDirectPurchasePricesRequestV0=} [properties] Properties to set */ - function GetIdentitiesTokenInfosRequestV0(properties) { - this.identityIds = []; + function GetTokenDirectPurchasePricesRequestV0(properties) { + this.tokenIds = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -49760,103 +56152,90 @@ $root.org = (function() { } /** - * GetIdentitiesTokenInfosRequestV0 tokenId. - * @member {Uint8Array} tokenId - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0 - * @instance - */ - GetIdentitiesTokenInfosRequestV0.prototype.tokenId = $util.newBuffer([]); - - /** - * GetIdentitiesTokenInfosRequestV0 identityIds. - * @member {Array.} identityIds - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0 + * GetTokenDirectPurchasePricesRequestV0 tokenIds. + * @member {Array.} tokenIds + * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0 * @instance */ - GetIdentitiesTokenInfosRequestV0.prototype.identityIds = $util.emptyArray; + GetTokenDirectPurchasePricesRequestV0.prototype.tokenIds = $util.emptyArray; /** - * GetIdentitiesTokenInfosRequestV0 prove. + * GetTokenDirectPurchasePricesRequestV0 prove. * @member {boolean} prove - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0 + * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0 * @instance */ - GetIdentitiesTokenInfosRequestV0.prototype.prove = false; + GetTokenDirectPurchasePricesRequestV0.prototype.prove = false; /** - * Creates a new GetIdentitiesTokenInfosRequestV0 instance using the specified properties. + * Creates a new GetTokenDirectPurchasePricesRequestV0 instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0 + * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.IGetIdentitiesTokenInfosRequestV0=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0} GetIdentitiesTokenInfosRequestV0 instance + * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.IGetTokenDirectPurchasePricesRequestV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0} GetTokenDirectPurchasePricesRequestV0 instance */ - GetIdentitiesTokenInfosRequestV0.create = function create(properties) { - return new GetIdentitiesTokenInfosRequestV0(properties); + GetTokenDirectPurchasePricesRequestV0.create = function create(properties) { + return new GetTokenDirectPurchasePricesRequestV0(properties); }; /** - * Encodes the specified GetIdentitiesTokenInfosRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.verify|verify} messages. + * Encodes the specified GetTokenDirectPurchasePricesRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0 + * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.IGetIdentitiesTokenInfosRequestV0} message GetIdentitiesTokenInfosRequestV0 message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.IGetTokenDirectPurchasePricesRequestV0} message GetTokenDirectPurchasePricesRequestV0 message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetIdentitiesTokenInfosRequestV0.encode = function encode(message, writer) { + GetTokenDirectPurchasePricesRequestV0.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.tokenId != null && Object.hasOwnProperty.call(message, "tokenId")) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.tokenId); - if (message.identityIds != null && message.identityIds.length) - for (var i = 0; i < message.identityIds.length; ++i) - writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.identityIds[i]); + if (message.tokenIds != null && message.tokenIds.length) + for (var i = 0; i < message.tokenIds.length; ++i) + writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.tokenIds[i]); if (message.prove != null && Object.hasOwnProperty.call(message, "prove")) - writer.uint32(/* id 3, wireType 0 =*/24).bool(message.prove); + writer.uint32(/* id 2, wireType 0 =*/16).bool(message.prove); return writer; }; /** - * Encodes the specified GetIdentitiesTokenInfosRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.verify|verify} messages. + * Encodes the specified GetTokenDirectPurchasePricesRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0 + * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.IGetIdentitiesTokenInfosRequestV0} message GetIdentitiesTokenInfosRequestV0 message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.IGetTokenDirectPurchasePricesRequestV0} message GetTokenDirectPurchasePricesRequestV0 message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetIdentitiesTokenInfosRequestV0.encodeDelimited = function encodeDelimited(message, writer) { + GetTokenDirectPurchasePricesRequestV0.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetIdentitiesTokenInfosRequestV0 message from the specified reader or buffer. + * Decodes a GetTokenDirectPurchasePricesRequestV0 message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0 + * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0 * @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.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0} GetIdentitiesTokenInfosRequestV0 + * @returns {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0} GetTokenDirectPurchasePricesRequestV0 * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetIdentitiesTokenInfosRequestV0.decode = function decode(reader, length) { + GetTokenDirectPurchasePricesRequestV0.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.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.tokenId = reader.bytes(); + if (!(message.tokenIds && message.tokenIds.length)) + message.tokenIds = []; + message.tokenIds.push(reader.bytes()); break; case 2: - if (!(message.identityIds && message.identityIds.length)) - message.identityIds = []; - message.identityIds.push(reader.bytes()); - break; - case 3: message.prove = reader.bool(); break; default: @@ -49868,41 +56247,38 @@ $root.org = (function() { }; /** - * Decodes a GetIdentitiesTokenInfosRequestV0 message from the specified reader or buffer, length delimited. + * Decodes a GetTokenDirectPurchasePricesRequestV0 message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0 + * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0 * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0} GetIdentitiesTokenInfosRequestV0 + * @returns {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0} GetTokenDirectPurchasePricesRequestV0 * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetIdentitiesTokenInfosRequestV0.decodeDelimited = function decodeDelimited(reader) { + GetTokenDirectPurchasePricesRequestV0.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GetIdentitiesTokenInfosRequestV0 message. + * Verifies a GetTokenDirectPurchasePricesRequestV0 message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0 + * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0 * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetIdentitiesTokenInfosRequestV0.verify = function verify(message) { + GetTokenDirectPurchasePricesRequestV0.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.tokenId != null && message.hasOwnProperty("tokenId")) - if (!(message.tokenId && typeof message.tokenId.length === "number" || $util.isString(message.tokenId))) - return "tokenId: buffer 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.tokenIds != null && message.hasOwnProperty("tokenIds")) { + if (!Array.isArray(message.tokenIds)) + return "tokenIds: array expected"; + for (var i = 0; i < message.tokenIds.length; ++i) + if (!(message.tokenIds[i] && typeof message.tokenIds[i].length === "number" || $util.isString(message.tokenIds[i]))) + return "tokenIds: buffer[] expected"; } if (message.prove != null && message.hasOwnProperty("prove")) if (typeof message.prove !== "boolean") @@ -49911,31 +56287,26 @@ $root.org = (function() { }; /** - * Creates a GetIdentitiesTokenInfosRequestV0 message from a plain object. Also converts values to their respective internal types. + * Creates a GetTokenDirectPurchasePricesRequestV0 message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0 + * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0 * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0} GetIdentitiesTokenInfosRequestV0 + * @returns {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0} GetTokenDirectPurchasePricesRequestV0 */ - GetIdentitiesTokenInfosRequestV0.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0) + GetTokenDirectPurchasePricesRequestV0.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0) return object; - var message = new $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0(); - if (object.tokenId != null) - if (typeof object.tokenId === "string") - $util.base64.decode(object.tokenId, message.tokenId = $util.newBuffer($util.base64.length(object.tokenId)), 0); - else if (object.tokenId.length >= 0) - message.tokenId = object.tokenId; - if (object.identityIds) { - if (!Array.isArray(object.identityIds)) - throw TypeError(".org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.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]; + var message = new $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0(); + if (object.tokenIds) { + if (!Array.isArray(object.tokenIds)) + throw TypeError(".org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.tokenIds: array expected"); + message.tokenIds = []; + for (var i = 0; i < object.tokenIds.length; ++i) + if (typeof object.tokenIds[i] === "string") + $util.base64.decode(object.tokenIds[i], message.tokenIds[i] = $util.newBuffer($util.base64.length(object.tokenIds[i])), 0); + else if (object.tokenIds[i].length >= 0) + message.tokenIds[i] = object.tokenIds[i]; } if (object.prove != null) message.prove = Boolean(object.prove); @@ -49943,36 +56314,26 @@ $root.org = (function() { }; /** - * Creates a plain object from a GetIdentitiesTokenInfosRequestV0 message. Also converts values to other types if specified. + * Creates a plain object from a GetTokenDirectPurchasePricesRequestV0 message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0 + * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0} message GetIdentitiesTokenInfosRequestV0 + * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0} message GetTokenDirectPurchasePricesRequestV0 * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetIdentitiesTokenInfosRequestV0.toObject = function toObject(message, options) { + GetTokenDirectPurchasePricesRequestV0.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.arrays || options.defaults) - object.identityIds = []; - if (options.defaults) { - if (options.bytes === String) - object.tokenId = ""; - else { - object.tokenId = []; - if (options.bytes !== Array) - object.tokenId = $util.newBuffer(object.tokenId); - } + object.tokenIds = []; + if (options.defaults) object.prove = false; - } - if (message.tokenId != null && message.hasOwnProperty("tokenId")) - object.tokenId = options.bytes === String ? $util.base64.encode(message.tokenId, 0, message.tokenId.length) : options.bytes === Array ? Array.prototype.slice.call(message.tokenId) : message.tokenId; - 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 (message.tokenIds && message.tokenIds.length) { + object.tokenIds = []; + for (var j = 0; j < message.tokenIds.length; ++j) + object.tokenIds[j] = options.bytes === String ? $util.base64.encode(message.tokenIds[j], 0, message.tokenIds[j].length) : options.bytes === Array ? Array.prototype.slice.call(message.tokenIds[j]) : message.tokenIds[j]; } if (message.prove != null && message.hasOwnProperty("prove")) object.prove = message.prove; @@ -49980,40 +56341,40 @@ $root.org = (function() { }; /** - * Converts this GetIdentitiesTokenInfosRequestV0 to JSON. + * Converts this GetTokenDirectPurchasePricesRequestV0 to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0 + * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0 * @instance * @returns {Object.} JSON object */ - GetIdentitiesTokenInfosRequestV0.prototype.toJSON = function toJSON() { + GetTokenDirectPurchasePricesRequestV0.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return GetIdentitiesTokenInfosRequestV0; + return GetTokenDirectPurchasePricesRequestV0; })(); - return GetIdentitiesTokenInfosRequest; + return GetTokenDirectPurchasePricesRequest; })(); - v0.GetIdentitiesTokenInfosResponse = (function() { + v0.GetTokenDirectPurchasePricesResponse = (function() { /** - * Properties of a GetIdentitiesTokenInfosResponse. + * Properties of a GetTokenDirectPurchasePricesResponse. * @memberof org.dash.platform.dapi.v0 - * @interface IGetIdentitiesTokenInfosResponse - * @property {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.IGetIdentitiesTokenInfosResponseV0|null} [v0] GetIdentitiesTokenInfosResponse v0 + * @interface IGetTokenDirectPurchasePricesResponse + * @property {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.IGetTokenDirectPurchasePricesResponseV0|null} [v0] GetTokenDirectPurchasePricesResponse v0 */ /** - * Constructs a new GetIdentitiesTokenInfosResponse. + * Constructs a new GetTokenDirectPurchasePricesResponse. * @memberof org.dash.platform.dapi.v0 - * @classdesc Represents a GetIdentitiesTokenInfosResponse. - * @implements IGetIdentitiesTokenInfosResponse + * @classdesc Represents a GetTokenDirectPurchasePricesResponse. + * @implements IGetTokenDirectPurchasePricesResponse * @constructor - * @param {org.dash.platform.dapi.v0.IGetIdentitiesTokenInfosResponse=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.IGetTokenDirectPurchasePricesResponse=} [properties] Properties to set */ - function GetIdentitiesTokenInfosResponse(properties) { + function GetTokenDirectPurchasePricesResponse(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -50021,89 +56382,89 @@ $root.org = (function() { } /** - * GetIdentitiesTokenInfosResponse v0. - * @member {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.IGetIdentitiesTokenInfosResponseV0|null|undefined} v0 - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse + * GetTokenDirectPurchasePricesResponse v0. + * @member {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.IGetTokenDirectPurchasePricesResponseV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse * @instance */ - GetIdentitiesTokenInfosResponse.prototype.v0 = null; + GetTokenDirectPurchasePricesResponse.prototype.v0 = null; // OneOf field names bound to virtual getters and setters var $oneOfFields; /** - * GetIdentitiesTokenInfosResponse version. + * GetTokenDirectPurchasePricesResponse version. * @member {"v0"|undefined} version - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse + * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse * @instance */ - Object.defineProperty(GetIdentitiesTokenInfosResponse.prototype, "version", { + Object.defineProperty(GetTokenDirectPurchasePricesResponse.prototype, "version", { get: $util.oneOfGetter($oneOfFields = ["v0"]), set: $util.oneOfSetter($oneOfFields) }); /** - * Creates a new GetIdentitiesTokenInfosResponse instance using the specified properties. + * Creates a new GetTokenDirectPurchasePricesResponse instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse + * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse * @static - * @param {org.dash.platform.dapi.v0.IGetIdentitiesTokenInfosResponse=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse} GetIdentitiesTokenInfosResponse instance + * @param {org.dash.platform.dapi.v0.IGetTokenDirectPurchasePricesResponse=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse} GetTokenDirectPurchasePricesResponse instance */ - GetIdentitiesTokenInfosResponse.create = function create(properties) { - return new GetIdentitiesTokenInfosResponse(properties); + GetTokenDirectPurchasePricesResponse.create = function create(properties) { + return new GetTokenDirectPurchasePricesResponse(properties); }; /** - * Encodes the specified GetIdentitiesTokenInfosResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.verify|verify} messages. + * Encodes the specified GetTokenDirectPurchasePricesResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse + * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse * @static - * @param {org.dash.platform.dapi.v0.IGetIdentitiesTokenInfosResponse} message GetIdentitiesTokenInfosResponse message or plain object to encode + * @param {org.dash.platform.dapi.v0.IGetTokenDirectPurchasePricesResponse} message GetTokenDirectPurchasePricesResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetIdentitiesTokenInfosResponse.encode = function encode(message, writer) { + GetTokenDirectPurchasePricesResponse.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.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified GetIdentitiesTokenInfosResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.verify|verify} messages. + * Encodes the specified GetTokenDirectPurchasePricesResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse + * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse * @static - * @param {org.dash.platform.dapi.v0.IGetIdentitiesTokenInfosResponse} message GetIdentitiesTokenInfosResponse message or plain object to encode + * @param {org.dash.platform.dapi.v0.IGetTokenDirectPurchasePricesResponse} message GetTokenDirectPurchasePricesResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetIdentitiesTokenInfosResponse.encodeDelimited = function encodeDelimited(message, writer) { + GetTokenDirectPurchasePricesResponse.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetIdentitiesTokenInfosResponse message from the specified reader or buffer. + * Decodes a GetTokenDirectPurchasePricesResponse message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse + * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse * @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.GetIdentitiesTokenInfosResponse} GetIdentitiesTokenInfosResponse + * @returns {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse} GetTokenDirectPurchasePricesResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetIdentitiesTokenInfosResponse.decode = function decode(reader, length) { + GetTokenDirectPurchasePricesResponse.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.GetIdentitiesTokenInfosResponse(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.v0 = $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.decode(reader, reader.uint32()); + message.v0 = $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -50114,37 +56475,37 @@ $root.org = (function() { }; /** - * Decodes a GetIdentitiesTokenInfosResponse message from the specified reader or buffer, length delimited. + * Decodes a GetTokenDirectPurchasePricesResponse message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse + * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse} GetIdentitiesTokenInfosResponse + * @returns {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse} GetTokenDirectPurchasePricesResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetIdentitiesTokenInfosResponse.decodeDelimited = function decodeDelimited(reader) { + GetTokenDirectPurchasePricesResponse.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GetIdentitiesTokenInfosResponse message. + * Verifies a GetTokenDirectPurchasePricesResponse message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse + * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetIdentitiesTokenInfosResponse.verify = function verify(message) { + GetTokenDirectPurchasePricesResponse.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.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.verify(message.v0); + var error = $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.verify(message.v0); if (error) return "v0." + error; } @@ -50153,40 +56514,40 @@ $root.org = (function() { }; /** - * Creates a GetIdentitiesTokenInfosResponse message from a plain object. Also converts values to their respective internal types. + * Creates a GetTokenDirectPurchasePricesResponse message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse + * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse} GetIdentitiesTokenInfosResponse + * @returns {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse} GetTokenDirectPurchasePricesResponse */ - GetIdentitiesTokenInfosResponse.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse) + GetTokenDirectPurchasePricesResponse.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse) return object; - var message = new $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse(); + var message = new $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse(); if (object.v0 != null) { if (typeof object.v0 !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.v0: object expected"); - message.v0 = $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.fromObject(object.v0); + throw TypeError(".org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.v0: object expected"); + message.v0 = $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.fromObject(object.v0); } return message; }; /** - * Creates a plain object from a GetIdentitiesTokenInfosResponse message. Also converts values to other types if specified. + * Creates a plain object from a GetTokenDirectPurchasePricesResponse message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse + * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse * @static - * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse} message GetIdentitiesTokenInfosResponse + * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse} message GetTokenDirectPurchasePricesResponse * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetIdentitiesTokenInfosResponse.toObject = function toObject(message, options) { + GetTokenDirectPurchasePricesResponse.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.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.toObject(message.v0, options); + object.v0 = $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.toObject(message.v0, options); if (options.oneofs) object.version = "v0"; } @@ -50194,36 +56555,36 @@ $root.org = (function() { }; /** - * Converts this GetIdentitiesTokenInfosResponse to JSON. + * Converts this GetTokenDirectPurchasePricesResponse to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse + * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse * @instance * @returns {Object.} JSON object */ - GetIdentitiesTokenInfosResponse.prototype.toJSON = function toJSON() { + GetTokenDirectPurchasePricesResponse.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0 = (function() { + GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0 = (function() { /** - * Properties of a GetIdentitiesTokenInfosResponseV0. - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse - * @interface IGetIdentitiesTokenInfosResponseV0 - * @property {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IIdentityTokenInfos|null} [identityTokenInfos] GetIdentitiesTokenInfosResponseV0 identityTokenInfos - * @property {org.dash.platform.dapi.v0.IProof|null} [proof] GetIdentitiesTokenInfosResponseV0 proof - * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetIdentitiesTokenInfosResponseV0 metadata + * Properties of a GetTokenDirectPurchasePricesResponseV0. + * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse + * @interface IGetTokenDirectPurchasePricesResponseV0 + * @property {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.ITokenDirectPurchasePrices|null} [tokenDirectPurchasePrices] GetTokenDirectPurchasePricesResponseV0 tokenDirectPurchasePrices + * @property {org.dash.platform.dapi.v0.IProof|null} [proof] GetTokenDirectPurchasePricesResponseV0 proof + * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetTokenDirectPurchasePricesResponseV0 metadata */ /** - * Constructs a new GetIdentitiesTokenInfosResponseV0. - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse - * @classdesc Represents a GetIdentitiesTokenInfosResponseV0. - * @implements IGetIdentitiesTokenInfosResponseV0 + * Constructs a new GetTokenDirectPurchasePricesResponseV0. + * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse + * @classdesc Represents a GetTokenDirectPurchasePricesResponseV0. + * @implements IGetTokenDirectPurchasePricesResponseV0 * @constructor - * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.IGetIdentitiesTokenInfosResponseV0=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.IGetTokenDirectPurchasePricesResponseV0=} [properties] Properties to set */ - function GetIdentitiesTokenInfosResponseV0(properties) { + function GetTokenDirectPurchasePricesResponseV0(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -50231,69 +56592,69 @@ $root.org = (function() { } /** - * GetIdentitiesTokenInfosResponseV0 identityTokenInfos. - * @member {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IIdentityTokenInfos|null|undefined} identityTokenInfos - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0 + * GetTokenDirectPurchasePricesResponseV0 tokenDirectPurchasePrices. + * @member {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.ITokenDirectPurchasePrices|null|undefined} tokenDirectPurchasePrices + * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0 * @instance */ - GetIdentitiesTokenInfosResponseV0.prototype.identityTokenInfos = null; + GetTokenDirectPurchasePricesResponseV0.prototype.tokenDirectPurchasePrices = null; /** - * GetIdentitiesTokenInfosResponseV0 proof. + * GetTokenDirectPurchasePricesResponseV0 proof. * @member {org.dash.platform.dapi.v0.IProof|null|undefined} proof - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0 + * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0 * @instance */ - GetIdentitiesTokenInfosResponseV0.prototype.proof = null; + GetTokenDirectPurchasePricesResponseV0.prototype.proof = null; /** - * GetIdentitiesTokenInfosResponseV0 metadata. + * GetTokenDirectPurchasePricesResponseV0 metadata. * @member {org.dash.platform.dapi.v0.IResponseMetadata|null|undefined} metadata - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0 + * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0 * @instance */ - GetIdentitiesTokenInfosResponseV0.prototype.metadata = null; + GetTokenDirectPurchasePricesResponseV0.prototype.metadata = null; // OneOf field names bound to virtual getters and setters var $oneOfFields; /** - * GetIdentitiesTokenInfosResponseV0 result. - * @member {"identityTokenInfos"|"proof"|undefined} result - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0 + * GetTokenDirectPurchasePricesResponseV0 result. + * @member {"tokenDirectPurchasePrices"|"proof"|undefined} result + * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0 * @instance */ - Object.defineProperty(GetIdentitiesTokenInfosResponseV0.prototype, "result", { - get: $util.oneOfGetter($oneOfFields = ["identityTokenInfos", "proof"]), + Object.defineProperty(GetTokenDirectPurchasePricesResponseV0.prototype, "result", { + get: $util.oneOfGetter($oneOfFields = ["tokenDirectPurchasePrices", "proof"]), set: $util.oneOfSetter($oneOfFields) }); /** - * Creates a new GetIdentitiesTokenInfosResponseV0 instance using the specified properties. + * Creates a new GetTokenDirectPurchasePricesResponseV0 instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0 + * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.IGetIdentitiesTokenInfosResponseV0=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0} GetIdentitiesTokenInfosResponseV0 instance + * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.IGetTokenDirectPurchasePricesResponseV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0} GetTokenDirectPurchasePricesResponseV0 instance */ - GetIdentitiesTokenInfosResponseV0.create = function create(properties) { - return new GetIdentitiesTokenInfosResponseV0(properties); + GetTokenDirectPurchasePricesResponseV0.create = function create(properties) { + return new GetTokenDirectPurchasePricesResponseV0(properties); }; /** - * Encodes the specified GetIdentitiesTokenInfosResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.verify|verify} messages. + * Encodes the specified GetTokenDirectPurchasePricesResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0 + * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.IGetIdentitiesTokenInfosResponseV0} message GetIdentitiesTokenInfosResponseV0 message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.IGetTokenDirectPurchasePricesResponseV0} message GetTokenDirectPurchasePricesResponseV0 message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetIdentitiesTokenInfosResponseV0.encode = function encode(message, writer) { + GetTokenDirectPurchasePricesResponseV0.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.identityTokenInfos != null && Object.hasOwnProperty.call(message, "identityTokenInfos")) - $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos.encode(message.identityTokenInfos, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.tokenDirectPurchasePrices != null && Object.hasOwnProperty.call(message, "tokenDirectPurchasePrices")) + $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices.encode(message.tokenDirectPurchasePrices, 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")) @@ -50302,38 +56663,38 @@ $root.org = (function() { }; /** - * Encodes the specified GetIdentitiesTokenInfosResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.verify|verify} messages. + * Encodes the specified GetTokenDirectPurchasePricesResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0 + * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.IGetIdentitiesTokenInfosResponseV0} message GetIdentitiesTokenInfosResponseV0 message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.IGetTokenDirectPurchasePricesResponseV0} message GetTokenDirectPurchasePricesResponseV0 message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetIdentitiesTokenInfosResponseV0.encodeDelimited = function encodeDelimited(message, writer) { + GetTokenDirectPurchasePricesResponseV0.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetIdentitiesTokenInfosResponseV0 message from the specified reader or buffer. + * Decodes a GetTokenDirectPurchasePricesResponseV0 message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0 + * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0 * @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.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0} GetIdentitiesTokenInfosResponseV0 + * @returns {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0} GetTokenDirectPurchasePricesResponseV0 * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetIdentitiesTokenInfosResponseV0.decode = function decode(reader, length) { + GetTokenDirectPurchasePricesResponseV0.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.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.identityTokenInfos = $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos.decode(reader, reader.uint32()); + message.tokenDirectPurchasePrices = $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices.decode(reader, reader.uint32()); break; case 2: message.proof = $root.org.dash.platform.dapi.v0.Proof.decode(reader, reader.uint32()); @@ -50350,39 +56711,39 @@ $root.org = (function() { }; /** - * Decodes a GetIdentitiesTokenInfosResponseV0 message from the specified reader or buffer, length delimited. + * Decodes a GetTokenDirectPurchasePricesResponseV0 message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0 + * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0 * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0} GetIdentitiesTokenInfosResponseV0 + * @returns {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0} GetTokenDirectPurchasePricesResponseV0 * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetIdentitiesTokenInfosResponseV0.decodeDelimited = function decodeDelimited(reader) { + GetTokenDirectPurchasePricesResponseV0.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GetIdentitiesTokenInfosResponseV0 message. + * Verifies a GetTokenDirectPurchasePricesResponseV0 message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0 + * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0 * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetIdentitiesTokenInfosResponseV0.verify = function verify(message) { + GetTokenDirectPurchasePricesResponseV0.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; var properties = {}; - if (message.identityTokenInfos != null && message.hasOwnProperty("identityTokenInfos")) { + if (message.tokenDirectPurchasePrices != null && message.hasOwnProperty("tokenDirectPurchasePrices")) { properties.result = 1; { - var error = $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos.verify(message.identityTokenInfos); + var error = $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices.verify(message.tokenDirectPurchasePrices); if (error) - return "identityTokenInfos." + error; + return "tokenDirectPurchasePrices." + error; } } if (message.proof != null && message.hasOwnProperty("proof")) { @@ -50404,54 +56765,54 @@ $root.org = (function() { }; /** - * Creates a GetIdentitiesTokenInfosResponseV0 message from a plain object. Also converts values to their respective internal types. + * Creates a GetTokenDirectPurchasePricesResponseV0 message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0 + * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0 * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0} GetIdentitiesTokenInfosResponseV0 + * @returns {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0} GetTokenDirectPurchasePricesResponseV0 */ - GetIdentitiesTokenInfosResponseV0.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0) - return object; - var message = new $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0(); - if (object.identityTokenInfos != null) { - if (typeof object.identityTokenInfos !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.identityTokenInfos: object expected"); - message.identityTokenInfos = $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos.fromObject(object.identityTokenInfos); + GetTokenDirectPurchasePricesResponseV0.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0(); + if (object.tokenDirectPurchasePrices != null) { + if (typeof object.tokenDirectPurchasePrices !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.tokenDirectPurchasePrices: object expected"); + message.tokenDirectPurchasePrices = $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices.fromObject(object.tokenDirectPurchasePrices); } if (object.proof != null) { if (typeof object.proof !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.proof: object expected"); + throw TypeError(".org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.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.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.metadata: object expected"); + throw TypeError(".org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.metadata: object expected"); message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.fromObject(object.metadata); } return message; }; /** - * Creates a plain object from a GetIdentitiesTokenInfosResponseV0 message. Also converts values to other types if specified. + * Creates a plain object from a GetTokenDirectPurchasePricesResponseV0 message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0 + * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0} message GetIdentitiesTokenInfosResponseV0 + * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0} message GetTokenDirectPurchasePricesResponseV0 * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetIdentitiesTokenInfosResponseV0.toObject = function toObject(message, options) { + GetTokenDirectPurchasePricesResponseV0.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) object.metadata = null; - if (message.identityTokenInfos != null && message.hasOwnProperty("identityTokenInfos")) { - object.identityTokenInfos = $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos.toObject(message.identityTokenInfos, options); + if (message.tokenDirectPurchasePrices != null && message.hasOwnProperty("tokenDirectPurchasePrices")) { + object.tokenDirectPurchasePrices = $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices.toObject(message.tokenDirectPurchasePrices, options); if (options.oneofs) - object.result = "identityTokenInfos"; + object.result = "tokenDirectPurchasePrices"; } if (message.proof != null && message.hasOwnProperty("proof")) { object.proof = $root.org.dash.platform.dapi.v0.Proof.toObject(message.proof, options); @@ -50464,34 +56825,35 @@ $root.org = (function() { }; /** - * Converts this GetIdentitiesTokenInfosResponseV0 to JSON. + * Converts this GetTokenDirectPurchasePricesResponseV0 to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0 + * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0 * @instance * @returns {Object.} JSON object */ - GetIdentitiesTokenInfosResponseV0.prototype.toJSON = function toJSON() { + GetTokenDirectPurchasePricesResponseV0.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry = (function() { + GetTokenDirectPurchasePricesResponseV0.PriceForQuantity = (function() { /** - * Properties of a TokenIdentityInfoEntry. - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0 - * @interface ITokenIdentityInfoEntry - * @property {boolean|null} [frozen] TokenIdentityInfoEntry frozen + * Properties of a PriceForQuantity. + * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0 + * @interface IPriceForQuantity + * @property {number|Long|null} [quantity] PriceForQuantity quantity + * @property {number|Long|null} [price] PriceForQuantity price */ /** - * Constructs a new TokenIdentityInfoEntry. - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0 - * @classdesc Represents a TokenIdentityInfoEntry. - * @implements ITokenIdentityInfoEntry + * Constructs a new PriceForQuantity. + * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0 + * @classdesc Represents a PriceForQuantity. + * @implements IPriceForQuantity * @constructor - * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.ITokenIdentityInfoEntry=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.IPriceForQuantity=} [properties] Properties to set */ - function TokenIdentityInfoEntry(properties) { + function PriceForQuantity(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -50499,75 +56861,88 @@ $root.org = (function() { } /** - * TokenIdentityInfoEntry frozen. - * @member {boolean} frozen - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry + * PriceForQuantity quantity. + * @member {number|Long} quantity + * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity * @instance */ - TokenIdentityInfoEntry.prototype.frozen = false; + PriceForQuantity.prototype.quantity = $util.Long ? $util.Long.fromBits(0,0,true) : 0; /** - * Creates a new TokenIdentityInfoEntry instance using the specified properties. + * PriceForQuantity price. + * @member {number|Long} price + * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity + * @instance + */ + PriceForQuantity.prototype.price = $util.Long ? $util.Long.fromBits(0,0,true) : 0; + + /** + * Creates a new PriceForQuantity instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry + * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity * @static - * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.ITokenIdentityInfoEntry=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry} TokenIdentityInfoEntry instance + * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.IPriceForQuantity=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity} PriceForQuantity instance */ - TokenIdentityInfoEntry.create = function create(properties) { - return new TokenIdentityInfoEntry(properties); + PriceForQuantity.create = function create(properties) { + return new PriceForQuantity(properties); }; /** - * Encodes the specified TokenIdentityInfoEntry message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry.verify|verify} messages. + * Encodes the specified PriceForQuantity message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry + * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity * @static - * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.ITokenIdentityInfoEntry} message TokenIdentityInfoEntry message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.IPriceForQuantity} message PriceForQuantity message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - TokenIdentityInfoEntry.encode = function encode(message, writer) { + PriceForQuantity.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.frozen != null && Object.hasOwnProperty.call(message, "frozen")) - writer.uint32(/* id 1, wireType 0 =*/8).bool(message.frozen); + if (message.quantity != null && Object.hasOwnProperty.call(message, "quantity")) + writer.uint32(/* id 1, wireType 0 =*/8).uint64(message.quantity); + if (message.price != null && Object.hasOwnProperty.call(message, "price")) + writer.uint32(/* id 2, wireType 0 =*/16).uint64(message.price); return writer; }; /** - * Encodes the specified TokenIdentityInfoEntry message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry.verify|verify} messages. + * Encodes the specified PriceForQuantity message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry + * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity * @static - * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.ITokenIdentityInfoEntry} message TokenIdentityInfoEntry message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.IPriceForQuantity} message PriceForQuantity message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - TokenIdentityInfoEntry.encodeDelimited = function encodeDelimited(message, writer) { + PriceForQuantity.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a TokenIdentityInfoEntry message from the specified reader or buffer. + * Decodes a PriceForQuantity message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry + * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity * @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.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry} TokenIdentityInfoEntry + * @returns {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity} PriceForQuantity * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - TokenIdentityInfoEntry.decode = function decode(reader, length) { + PriceForQuantity.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.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.frozen = reader.bool(); + message.quantity = reader.uint64(); + break; + case 2: + message.price = reader.uint64(); break; default: reader.skipType(tag & 7); @@ -50578,108 +56953,145 @@ $root.org = (function() { }; /** - * Decodes a TokenIdentityInfoEntry message from the specified reader or buffer, length delimited. + * Decodes a PriceForQuantity message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry + * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry} TokenIdentityInfoEntry + * @returns {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity} PriceForQuantity * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - TokenIdentityInfoEntry.decodeDelimited = function decodeDelimited(reader) { + PriceForQuantity.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a TokenIdentityInfoEntry message. + * Verifies a PriceForQuantity message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry + * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - TokenIdentityInfoEntry.verify = function verify(message) { + PriceForQuantity.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.frozen != null && message.hasOwnProperty("frozen")) - if (typeof message.frozen !== "boolean") - return "frozen: boolean expected"; + if (message.quantity != null && message.hasOwnProperty("quantity")) + if (!$util.isInteger(message.quantity) && !(message.quantity && $util.isInteger(message.quantity.low) && $util.isInteger(message.quantity.high))) + return "quantity: integer|Long expected"; + if (message.price != null && message.hasOwnProperty("price")) + if (!$util.isInteger(message.price) && !(message.price && $util.isInteger(message.price.low) && $util.isInteger(message.price.high))) + return "price: integer|Long expected"; return null; }; /** - * Creates a TokenIdentityInfoEntry message from a plain object. Also converts values to their respective internal types. + * Creates a PriceForQuantity message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry + * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry} TokenIdentityInfoEntry + * @returns {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity} PriceForQuantity */ - TokenIdentityInfoEntry.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry) + PriceForQuantity.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity) return object; - var message = new $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry(); - if (object.frozen != null) - message.frozen = Boolean(object.frozen); + var message = new $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity(); + if (object.quantity != null) + if ($util.Long) + (message.quantity = $util.Long.fromValue(object.quantity)).unsigned = true; + else if (typeof object.quantity === "string") + message.quantity = parseInt(object.quantity, 10); + else if (typeof object.quantity === "number") + message.quantity = object.quantity; + else if (typeof object.quantity === "object") + message.quantity = new $util.LongBits(object.quantity.low >>> 0, object.quantity.high >>> 0).toNumber(true); + if (object.price != null) + if ($util.Long) + (message.price = $util.Long.fromValue(object.price)).unsigned = true; + else if (typeof object.price === "string") + message.price = parseInt(object.price, 10); + else if (typeof object.price === "number") + message.price = object.price; + else if (typeof object.price === "object") + message.price = new $util.LongBits(object.price.low >>> 0, object.price.high >>> 0).toNumber(true); return message; }; /** - * Creates a plain object from a TokenIdentityInfoEntry message. Also converts values to other types if specified. + * Creates a plain object from a PriceForQuantity message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry + * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity * @static - * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry} message TokenIdentityInfoEntry + * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity} message PriceForQuantity * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - TokenIdentityInfoEntry.toObject = function toObject(message, options) { + PriceForQuantity.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.defaults) - object.frozen = false; - if (message.frozen != null && message.hasOwnProperty("frozen")) - object.frozen = message.frozen; + if (options.defaults) { + if ($util.Long) { + var long = new $util.Long(0, 0, true); + object.quantity = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.quantity = options.longs === String ? "0" : 0; + if ($util.Long) { + var long = new $util.Long(0, 0, true); + object.price = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.price = options.longs === String ? "0" : 0; + } + if (message.quantity != null && message.hasOwnProperty("quantity")) + if (typeof message.quantity === "number") + object.quantity = options.longs === String ? String(message.quantity) : message.quantity; + else + object.quantity = options.longs === String ? $util.Long.prototype.toString.call(message.quantity) : options.longs === Number ? new $util.LongBits(message.quantity.low >>> 0, message.quantity.high >>> 0).toNumber(true) : message.quantity; + if (message.price != null && message.hasOwnProperty("price")) + if (typeof message.price === "number") + object.price = options.longs === String ? String(message.price) : message.price; + else + object.price = options.longs === String ? $util.Long.prototype.toString.call(message.price) : options.longs === Number ? new $util.LongBits(message.price.low >>> 0, message.price.high >>> 0).toNumber(true) : message.price; return object; }; /** - * Converts this TokenIdentityInfoEntry to JSON. + * Converts this PriceForQuantity to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry + * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity * @instance * @returns {Object.} JSON object */ - TokenIdentityInfoEntry.prototype.toJSON = function toJSON() { + PriceForQuantity.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return TokenIdentityInfoEntry; + return PriceForQuantity; })(); - GetIdentitiesTokenInfosResponseV0.TokenInfoEntry = (function() { + GetTokenDirectPurchasePricesResponseV0.PricingSchedule = (function() { /** - * Properties of a TokenInfoEntry. - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0 - * @interface ITokenInfoEntry - * @property {Uint8Array|null} [identityId] TokenInfoEntry identityId - * @property {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.ITokenIdentityInfoEntry|null} [info] TokenInfoEntry info + * Properties of a PricingSchedule. + * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0 + * @interface IPricingSchedule + * @property {Array.|null} [priceForQuantity] PricingSchedule priceForQuantity */ /** - * Constructs a new TokenInfoEntry. - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0 - * @classdesc Represents a TokenInfoEntry. - * @implements ITokenInfoEntry + * Constructs a new PricingSchedule. + * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0 + * @classdesc Represents a PricingSchedule. + * @implements IPricingSchedule * @constructor - * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.ITokenInfoEntry=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.IPricingSchedule=} [properties] Properties to set */ - function TokenInfoEntry(properties) { + function PricingSchedule(properties) { + this.priceForQuantity = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -50687,88 +57099,324 @@ $root.org = (function() { } /** - * TokenInfoEntry identityId. - * @member {Uint8Array} identityId - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry + * PricingSchedule priceForQuantity. + * @member {Array.} priceForQuantity + * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule * @instance */ - TokenInfoEntry.prototype.identityId = $util.newBuffer([]); + PricingSchedule.prototype.priceForQuantity = $util.emptyArray; /** - * TokenInfoEntry info. - * @member {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.ITokenIdentityInfoEntry|null|undefined} info - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry + * Creates a new PricingSchedule instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule + * @static + * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.IPricingSchedule=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule} PricingSchedule instance + */ + PricingSchedule.create = function create(properties) { + return new PricingSchedule(properties); + }; + + /** + * Encodes the specified PricingSchedule message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule + * @static + * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.IPricingSchedule} message PricingSchedule message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + PricingSchedule.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.priceForQuantity != null && message.priceForQuantity.length) + for (var i = 0; i < message.priceForQuantity.length; ++i) + $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity.encode(message.priceForQuantity[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified PricingSchedule message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule + * @static + * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.IPricingSchedule} message PricingSchedule message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + PricingSchedule.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a PricingSchedule message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule + * @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.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule} PricingSchedule + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + PricingSchedule.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.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.priceForQuantity && message.priceForQuantity.length)) + message.priceForQuantity = []; + message.priceForQuantity.push($root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a PricingSchedule message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule} PricingSchedule + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + PricingSchedule.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a PricingSchedule message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + PricingSchedule.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.priceForQuantity != null && message.hasOwnProperty("priceForQuantity")) { + if (!Array.isArray(message.priceForQuantity)) + return "priceForQuantity: array expected"; + for (var i = 0; i < message.priceForQuantity.length; ++i) { + var error = $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity.verify(message.priceForQuantity[i]); + if (error) + return "priceForQuantity." + error; + } + } + return null; + }; + + /** + * Creates a PricingSchedule message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule} PricingSchedule + */ + PricingSchedule.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule(); + if (object.priceForQuantity) { + if (!Array.isArray(object.priceForQuantity)) + throw TypeError(".org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule.priceForQuantity: array expected"); + message.priceForQuantity = []; + for (var i = 0; i < object.priceForQuantity.length; ++i) { + if (typeof object.priceForQuantity[i] !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule.priceForQuantity: object expected"); + message.priceForQuantity[i] = $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity.fromObject(object.priceForQuantity[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a PricingSchedule message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule + * @static + * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule} message PricingSchedule + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + PricingSchedule.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.priceForQuantity = []; + if (message.priceForQuantity && message.priceForQuantity.length) { + object.priceForQuantity = []; + for (var j = 0; j < message.priceForQuantity.length; ++j) + object.priceForQuantity[j] = $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity.toObject(message.priceForQuantity[j], options); + } + return object; + }; + + /** + * Converts this PricingSchedule to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule * @instance + * @returns {Object.} JSON object */ - TokenInfoEntry.prototype.info = null; + PricingSchedule.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return PricingSchedule; + })(); + + GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry = (function() { /** - * Creates a new TokenInfoEntry instance using the specified properties. + * Properties of a TokenDirectPurchasePriceEntry. + * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0 + * @interface ITokenDirectPurchasePriceEntry + * @property {Uint8Array|null} [tokenId] TokenDirectPurchasePriceEntry tokenId + * @property {number|Long|null} [fixedPrice] TokenDirectPurchasePriceEntry fixedPrice + * @property {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.IPricingSchedule|null} [variablePrice] TokenDirectPurchasePriceEntry variablePrice + */ + + /** + * Constructs a new TokenDirectPurchasePriceEntry. + * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0 + * @classdesc Represents a TokenDirectPurchasePriceEntry. + * @implements ITokenDirectPurchasePriceEntry + * @constructor + * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.ITokenDirectPurchasePriceEntry=} [properties] Properties to set + */ + function TokenDirectPurchasePriceEntry(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]]; + } + + /** + * TokenDirectPurchasePriceEntry tokenId. + * @member {Uint8Array} tokenId + * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry + * @instance + */ + TokenDirectPurchasePriceEntry.prototype.tokenId = $util.newBuffer([]); + + /** + * TokenDirectPurchasePriceEntry fixedPrice. + * @member {number|Long} fixedPrice + * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry + * @instance + */ + TokenDirectPurchasePriceEntry.prototype.fixedPrice = $util.Long ? $util.Long.fromBits(0,0,true) : 0; + + /** + * TokenDirectPurchasePriceEntry variablePrice. + * @member {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.IPricingSchedule|null|undefined} variablePrice + * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry + * @instance + */ + TokenDirectPurchasePriceEntry.prototype.variablePrice = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * TokenDirectPurchasePriceEntry price. + * @member {"fixedPrice"|"variablePrice"|undefined} price + * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry + * @instance + */ + Object.defineProperty(TokenDirectPurchasePriceEntry.prototype, "price", { + get: $util.oneOfGetter($oneOfFields = ["fixedPrice", "variablePrice"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new TokenDirectPurchasePriceEntry instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry + * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry * @static - * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.ITokenInfoEntry=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry} TokenInfoEntry instance + * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.ITokenDirectPurchasePriceEntry=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry} TokenDirectPurchasePriceEntry instance */ - TokenInfoEntry.create = function create(properties) { - return new TokenInfoEntry(properties); + TokenDirectPurchasePriceEntry.create = function create(properties) { + return new TokenDirectPurchasePriceEntry(properties); }; /** - * Encodes the specified TokenInfoEntry message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry.verify|verify} messages. + * Encodes the specified TokenDirectPurchasePriceEntry message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry + * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry * @static - * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.ITokenInfoEntry} message TokenInfoEntry message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.ITokenDirectPurchasePriceEntry} message TokenDirectPurchasePriceEntry message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - TokenInfoEntry.encode = function encode(message, writer) { + TokenDirectPurchasePriceEntry.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.info != null && Object.hasOwnProperty.call(message, "info")) - $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry.encode(message.info, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.tokenId != null && Object.hasOwnProperty.call(message, "tokenId")) + writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.tokenId); + if (message.fixedPrice != null && Object.hasOwnProperty.call(message, "fixedPrice")) + writer.uint32(/* id 2, wireType 0 =*/16).uint64(message.fixedPrice); + if (message.variablePrice != null && Object.hasOwnProperty.call(message, "variablePrice")) + $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule.encode(message.variablePrice, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); return writer; }; /** - * Encodes the specified TokenInfoEntry message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry.verify|verify} messages. + * Encodes the specified TokenDirectPurchasePriceEntry message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry + * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry * @static - * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.ITokenInfoEntry} message TokenInfoEntry message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.ITokenDirectPurchasePriceEntry} message TokenDirectPurchasePriceEntry message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - TokenInfoEntry.encodeDelimited = function encodeDelimited(message, writer) { + TokenDirectPurchasePriceEntry.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a TokenInfoEntry message from the specified reader or buffer. + * Decodes a TokenDirectPurchasePriceEntry message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry + * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry * @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.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry} TokenInfoEntry + * @returns {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry} TokenDirectPurchasePriceEntry * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - TokenInfoEntry.decode = function decode(reader, length) { + TokenDirectPurchasePriceEntry.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.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.identityId = reader.bytes(); + message.tokenId = reader.bytes(); break; case 2: - message.info = $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry.decode(reader, reader.uint32()); + message.fixedPrice = reader.uint64(); + break; + case 3: + message.variablePrice = $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -50779,131 +57427,160 @@ $root.org = (function() { }; /** - * Decodes a TokenInfoEntry message from the specified reader or buffer, length delimited. + * Decodes a TokenDirectPurchasePriceEntry message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry + * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry} TokenInfoEntry + * @returns {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry} TokenDirectPurchasePriceEntry * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - TokenInfoEntry.decodeDelimited = function decodeDelimited(reader) { + TokenDirectPurchasePriceEntry.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a TokenInfoEntry message. + * Verifies a TokenDirectPurchasePriceEntry message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry + * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - TokenInfoEntry.verify = function verify(message) { + TokenDirectPurchasePriceEntry.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.info != null && message.hasOwnProperty("info")) { - var error = $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry.verify(message.info); - if (error) - return "info." + error; + var properties = {}; + if (message.tokenId != null && message.hasOwnProperty("tokenId")) + if (!(message.tokenId && typeof message.tokenId.length === "number" || $util.isString(message.tokenId))) + return "tokenId: buffer expected"; + if (message.fixedPrice != null && message.hasOwnProperty("fixedPrice")) { + properties.price = 1; + if (!$util.isInteger(message.fixedPrice) && !(message.fixedPrice && $util.isInteger(message.fixedPrice.low) && $util.isInteger(message.fixedPrice.high))) + return "fixedPrice: integer|Long expected"; + } + if (message.variablePrice != null && message.hasOwnProperty("variablePrice")) { + if (properties.price === 1) + return "price: multiple values"; + properties.price = 1; + { + var error = $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule.verify(message.variablePrice); + if (error) + return "variablePrice." + error; + } } return null; }; /** - * Creates a TokenInfoEntry message from a plain object. Also converts values to their respective internal types. + * Creates a TokenDirectPurchasePriceEntry message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry + * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry} TokenInfoEntry + * @returns {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry} TokenDirectPurchasePriceEntry */ - TokenInfoEntry.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry) + TokenDirectPurchasePriceEntry.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry) return object; - var message = new $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry(); - 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.info != null) { - if (typeof object.info !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry.info: object expected"); - message.info = $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry.fromObject(object.info); + var message = new $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry(); + if (object.tokenId != null) + if (typeof object.tokenId === "string") + $util.base64.decode(object.tokenId, message.tokenId = $util.newBuffer($util.base64.length(object.tokenId)), 0); + else if (object.tokenId.length >= 0) + message.tokenId = object.tokenId; + if (object.fixedPrice != null) + if ($util.Long) + (message.fixedPrice = $util.Long.fromValue(object.fixedPrice)).unsigned = true; + else if (typeof object.fixedPrice === "string") + message.fixedPrice = parseInt(object.fixedPrice, 10); + else if (typeof object.fixedPrice === "number") + message.fixedPrice = object.fixedPrice; + else if (typeof object.fixedPrice === "object") + message.fixedPrice = new $util.LongBits(object.fixedPrice.low >>> 0, object.fixedPrice.high >>> 0).toNumber(true); + if (object.variablePrice != null) { + if (typeof object.variablePrice !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.variablePrice: object expected"); + message.variablePrice = $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule.fromObject(object.variablePrice); } return message; }; /** - * Creates a plain object from a TokenInfoEntry message. Also converts values to other types if specified. + * Creates a plain object from a TokenDirectPurchasePriceEntry message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry + * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry * @static - * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry} message TokenInfoEntry + * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry} message TokenDirectPurchasePriceEntry * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - TokenInfoEntry.toObject = function toObject(message, options) { + TokenDirectPurchasePriceEntry.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.defaults) { + if (options.defaults) if (options.bytes === String) - object.identityId = ""; + object.tokenId = ""; else { - object.identityId = []; + object.tokenId = []; if (options.bytes !== Array) - object.identityId = $util.newBuffer(object.identityId); + object.tokenId = $util.newBuffer(object.tokenId); } - object.info = null; + if (message.tokenId != null && message.hasOwnProperty("tokenId")) + object.tokenId = options.bytes === String ? $util.base64.encode(message.tokenId, 0, message.tokenId.length) : options.bytes === Array ? Array.prototype.slice.call(message.tokenId) : message.tokenId; + if (message.fixedPrice != null && message.hasOwnProperty("fixedPrice")) { + if (typeof message.fixedPrice === "number") + object.fixedPrice = options.longs === String ? String(message.fixedPrice) : message.fixedPrice; + else + object.fixedPrice = options.longs === String ? $util.Long.prototype.toString.call(message.fixedPrice) : options.longs === Number ? new $util.LongBits(message.fixedPrice.low >>> 0, message.fixedPrice.high >>> 0).toNumber(true) : message.fixedPrice; + if (options.oneofs) + object.price = "fixedPrice"; + } + if (message.variablePrice != null && message.hasOwnProperty("variablePrice")) { + object.variablePrice = $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule.toObject(message.variablePrice, options); + if (options.oneofs) + object.price = "variablePrice"; } - 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.info != null && message.hasOwnProperty("info")) - object.info = $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry.toObject(message.info, options); return object; }; /** - * Converts this TokenInfoEntry to JSON. + * Converts this TokenDirectPurchasePriceEntry to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry + * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry * @instance * @returns {Object.} JSON object */ - TokenInfoEntry.prototype.toJSON = function toJSON() { + TokenDirectPurchasePriceEntry.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return TokenInfoEntry; + return TokenDirectPurchasePriceEntry; })(); - GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos = (function() { + GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices = (function() { /** - * Properties of an IdentityTokenInfos. - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0 - * @interface IIdentityTokenInfos - * @property {Array.|null} [tokenInfos] IdentityTokenInfos tokenInfos + * Properties of a TokenDirectPurchasePrices. + * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0 + * @interface ITokenDirectPurchasePrices + * @property {Array.|null} [tokenDirectPurchasePrice] TokenDirectPurchasePrices tokenDirectPurchasePrice */ /** - * Constructs a new IdentityTokenInfos. - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0 - * @classdesc Represents an IdentityTokenInfos. - * @implements IIdentityTokenInfos + * Constructs a new TokenDirectPurchasePrices. + * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0 + * @classdesc Represents a TokenDirectPurchasePrices. + * @implements ITokenDirectPurchasePrices * @constructor - * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IIdentityTokenInfos=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.ITokenDirectPurchasePrices=} [properties] Properties to set */ - function IdentityTokenInfos(properties) { - this.tokenInfos = []; + function TokenDirectPurchasePrices(properties) { + this.tokenDirectPurchasePrice = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -50911,78 +57588,78 @@ $root.org = (function() { } /** - * IdentityTokenInfos tokenInfos. - * @member {Array.} tokenInfos - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos + * TokenDirectPurchasePrices tokenDirectPurchasePrice. + * @member {Array.} tokenDirectPurchasePrice + * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices * @instance */ - IdentityTokenInfos.prototype.tokenInfos = $util.emptyArray; + TokenDirectPurchasePrices.prototype.tokenDirectPurchasePrice = $util.emptyArray; /** - * Creates a new IdentityTokenInfos instance using the specified properties. + * Creates a new TokenDirectPurchasePrices instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos + * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices * @static - * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IIdentityTokenInfos=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos} IdentityTokenInfos instance + * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.ITokenDirectPurchasePrices=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices} TokenDirectPurchasePrices instance */ - IdentityTokenInfos.create = function create(properties) { - return new IdentityTokenInfos(properties); + TokenDirectPurchasePrices.create = function create(properties) { + return new TokenDirectPurchasePrices(properties); }; /** - * Encodes the specified IdentityTokenInfos message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos.verify|verify} messages. + * Encodes the specified TokenDirectPurchasePrices message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos + * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices * @static - * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IIdentityTokenInfos} message IdentityTokenInfos message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.ITokenDirectPurchasePrices} message TokenDirectPurchasePrices message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - IdentityTokenInfos.encode = function encode(message, writer) { + TokenDirectPurchasePrices.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.tokenInfos != null && message.tokenInfos.length) - for (var i = 0; i < message.tokenInfos.length; ++i) - $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry.encode(message.tokenInfos[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.tokenDirectPurchasePrice != null && message.tokenDirectPurchasePrice.length) + for (var i = 0; i < message.tokenDirectPurchasePrice.length; ++i) + $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.encode(message.tokenDirectPurchasePrice[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified IdentityTokenInfos message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos.verify|verify} messages. + * Encodes the specified TokenDirectPurchasePrices message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos + * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices * @static - * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IIdentityTokenInfos} message IdentityTokenInfos message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.ITokenDirectPurchasePrices} message TokenDirectPurchasePrices message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - IdentityTokenInfos.encodeDelimited = function encodeDelimited(message, writer) { + TokenDirectPurchasePrices.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes an IdentityTokenInfos message from the specified reader or buffer. + * Decodes a TokenDirectPurchasePrices message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos + * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices * @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.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos} IdentityTokenInfos + * @returns {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices} TokenDirectPurchasePrices * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - IdentityTokenInfos.decode = function decode(reader, length) { + TokenDirectPurchasePrices.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.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - if (!(message.tokenInfos && message.tokenInfos.length)) - message.tokenInfos = []; - message.tokenInfos.push($root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry.decode(reader, reader.uint32())); + if (!(message.tokenDirectPurchasePrice && message.tokenDirectPurchasePrice.length)) + message.tokenDirectPurchasePrice = []; + message.tokenDirectPurchasePrice.push($root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.decode(reader, reader.uint32())); break; default: reader.skipType(tag & 7); @@ -50993,130 +57670,560 @@ $root.org = (function() { }; /** - * Decodes an IdentityTokenInfos message from the specified reader or buffer, length delimited. + * Decodes a TokenDirectPurchasePrices message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos + * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos} IdentityTokenInfos + * @returns {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices} TokenDirectPurchasePrices * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - IdentityTokenInfos.decodeDelimited = function decodeDelimited(reader) { + TokenDirectPurchasePrices.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; - /** - * Verifies an IdentityTokenInfos message. - * @function verify - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - IdentityTokenInfos.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.tokenInfos != null && message.hasOwnProperty("tokenInfos")) { - if (!Array.isArray(message.tokenInfos)) - return "tokenInfos: array expected"; - for (var i = 0; i < message.tokenInfos.length; ++i) { - var error = $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry.verify(message.tokenInfos[i]); - if (error) - return "tokenInfos." + error; - } - } - return null; - }; + /** + * Verifies a TokenDirectPurchasePrices message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + TokenDirectPurchasePrices.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.tokenDirectPurchasePrice != null && message.hasOwnProperty("tokenDirectPurchasePrice")) { + if (!Array.isArray(message.tokenDirectPurchasePrice)) + return "tokenDirectPurchasePrice: array expected"; + for (var i = 0; i < message.tokenDirectPurchasePrice.length; ++i) { + var error = $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.verify(message.tokenDirectPurchasePrice[i]); + if (error) + return "tokenDirectPurchasePrice." + error; + } + } + return null; + }; + + /** + * Creates a TokenDirectPurchasePrices message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices} TokenDirectPurchasePrices + */ + TokenDirectPurchasePrices.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices(); + if (object.tokenDirectPurchasePrice) { + if (!Array.isArray(object.tokenDirectPurchasePrice)) + throw TypeError(".org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices.tokenDirectPurchasePrice: array expected"); + message.tokenDirectPurchasePrice = []; + for (var i = 0; i < object.tokenDirectPurchasePrice.length; ++i) { + if (typeof object.tokenDirectPurchasePrice[i] !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices.tokenDirectPurchasePrice: object expected"); + message.tokenDirectPurchasePrice[i] = $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.fromObject(object.tokenDirectPurchasePrice[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a TokenDirectPurchasePrices message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices + * @static + * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices} message TokenDirectPurchasePrices + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + TokenDirectPurchasePrices.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.tokenDirectPurchasePrice = []; + if (message.tokenDirectPurchasePrice && message.tokenDirectPurchasePrice.length) { + object.tokenDirectPurchasePrice = []; + for (var j = 0; j < message.tokenDirectPurchasePrice.length; ++j) + object.tokenDirectPurchasePrice[j] = $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.toObject(message.tokenDirectPurchasePrice[j], options); + } + return object; + }; + + /** + * Converts this TokenDirectPurchasePrices to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices + * @instance + * @returns {Object.} JSON object + */ + TokenDirectPurchasePrices.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return TokenDirectPurchasePrices; + })(); + + return GetTokenDirectPurchasePricesResponseV0; + })(); + + return GetTokenDirectPurchasePricesResponse; + })(); + + v0.GetTokenContractInfoRequest = (function() { + + /** + * Properties of a GetTokenContractInfoRequest. + * @memberof org.dash.platform.dapi.v0 + * @interface IGetTokenContractInfoRequest + * @property {org.dash.platform.dapi.v0.GetTokenContractInfoRequest.IGetTokenContractInfoRequestV0|null} [v0] GetTokenContractInfoRequest v0 + */ + + /** + * Constructs a new GetTokenContractInfoRequest. + * @memberof org.dash.platform.dapi.v0 + * @classdesc Represents a GetTokenContractInfoRequest. + * @implements IGetTokenContractInfoRequest + * @constructor + * @param {org.dash.platform.dapi.v0.IGetTokenContractInfoRequest=} [properties] Properties to set + */ + function GetTokenContractInfoRequest(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]]; + } + + /** + * GetTokenContractInfoRequest v0. + * @member {org.dash.platform.dapi.v0.GetTokenContractInfoRequest.IGetTokenContractInfoRequestV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoRequest + * @instance + */ + GetTokenContractInfoRequest.prototype.v0 = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * GetTokenContractInfoRequest version. + * @member {"v0"|undefined} version + * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoRequest + * @instance + */ + Object.defineProperty(GetTokenContractInfoRequest.prototype, "version", { + get: $util.oneOfGetter($oneOfFields = ["v0"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new GetTokenContractInfoRequest instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoRequest + * @static + * @param {org.dash.platform.dapi.v0.IGetTokenContractInfoRequest=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetTokenContractInfoRequest} GetTokenContractInfoRequest instance + */ + GetTokenContractInfoRequest.create = function create(properties) { + return new GetTokenContractInfoRequest(properties); + }; + + /** + * Encodes the specified GetTokenContractInfoRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenContractInfoRequest.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoRequest + * @static + * @param {org.dash.platform.dapi.v0.IGetTokenContractInfoRequest} message GetTokenContractInfoRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetTokenContractInfoRequest.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.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified GetTokenContractInfoRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenContractInfoRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoRequest + * @static + * @param {org.dash.platform.dapi.v0.IGetTokenContractInfoRequest} message GetTokenContractInfoRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetTokenContractInfoRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GetTokenContractInfoRequest message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoRequest + * @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.GetTokenContractInfoRequest} GetTokenContractInfoRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetTokenContractInfoRequest.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.GetTokenContractInfoRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.v0 = $root.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GetTokenContractInfoRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetTokenContractInfoRequest} GetTokenContractInfoRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetTokenContractInfoRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GetTokenContractInfoRequest message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetTokenContractInfoRequest.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.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0.verify(message.v0); + if (error) + return "v0." + error; + } + } + return null; + }; + + /** + * Creates a GetTokenContractInfoRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoRequest + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetTokenContractInfoRequest} GetTokenContractInfoRequest + */ + GetTokenContractInfoRequest.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetTokenContractInfoRequest) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetTokenContractInfoRequest(); + if (object.v0 != null) { + if (typeof object.v0 !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetTokenContractInfoRequest.v0: object expected"); + message.v0 = $root.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0.fromObject(object.v0); + } + return message; + }; + + /** + * Creates a plain object from a GetTokenContractInfoRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoRequest + * @static + * @param {org.dash.platform.dapi.v0.GetTokenContractInfoRequest} message GetTokenContractInfoRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetTokenContractInfoRequest.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.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0.toObject(message.v0, options); + if (options.oneofs) + object.version = "v0"; + } + return object; + }; + + /** + * Converts this GetTokenContractInfoRequest to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoRequest + * @instance + * @returns {Object.} JSON object + */ + GetTokenContractInfoRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + GetTokenContractInfoRequest.GetTokenContractInfoRequestV0 = (function() { + + /** + * Properties of a GetTokenContractInfoRequestV0. + * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoRequest + * @interface IGetTokenContractInfoRequestV0 + * @property {Uint8Array|null} [tokenId] GetTokenContractInfoRequestV0 tokenId + * @property {boolean|null} [prove] GetTokenContractInfoRequestV0 prove + */ + + /** + * Constructs a new GetTokenContractInfoRequestV0. + * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoRequest + * @classdesc Represents a GetTokenContractInfoRequestV0. + * @implements IGetTokenContractInfoRequestV0 + * @constructor + * @param {org.dash.platform.dapi.v0.GetTokenContractInfoRequest.IGetTokenContractInfoRequestV0=} [properties] Properties to set + */ + function GetTokenContractInfoRequestV0(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]]; + } + + /** + * GetTokenContractInfoRequestV0 tokenId. + * @member {Uint8Array} tokenId + * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0 + * @instance + */ + GetTokenContractInfoRequestV0.prototype.tokenId = $util.newBuffer([]); + + /** + * GetTokenContractInfoRequestV0 prove. + * @member {boolean} prove + * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0 + * @instance + */ + GetTokenContractInfoRequestV0.prototype.prove = false; + + /** + * Creates a new GetTokenContractInfoRequestV0 instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0 + * @static + * @param {org.dash.platform.dapi.v0.GetTokenContractInfoRequest.IGetTokenContractInfoRequestV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0} GetTokenContractInfoRequestV0 instance + */ + GetTokenContractInfoRequestV0.create = function create(properties) { + return new GetTokenContractInfoRequestV0(properties); + }; + + /** + * Encodes the specified GetTokenContractInfoRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0 + * @static + * @param {org.dash.platform.dapi.v0.GetTokenContractInfoRequest.IGetTokenContractInfoRequestV0} message GetTokenContractInfoRequestV0 message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetTokenContractInfoRequestV0.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.tokenId != null && Object.hasOwnProperty.call(message, "tokenId")) + writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.tokenId); + if (message.prove != null && Object.hasOwnProperty.call(message, "prove")) + writer.uint32(/* id 2, wireType 0 =*/16).bool(message.prove); + return writer; + }; + + /** + * Encodes the specified GetTokenContractInfoRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0 + * @static + * @param {org.dash.platform.dapi.v0.GetTokenContractInfoRequest.IGetTokenContractInfoRequestV0} message GetTokenContractInfoRequestV0 message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetTokenContractInfoRequestV0.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; - /** - * Creates an IdentityTokenInfos message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos - * @static - * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos} IdentityTokenInfos - */ - IdentityTokenInfos.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos) - return object; - var message = new $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos(); - if (object.tokenInfos) { - if (!Array.isArray(object.tokenInfos)) - throw TypeError(".org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos.tokenInfos: array expected"); - message.tokenInfos = []; - for (var i = 0; i < object.tokenInfos.length; ++i) { - if (typeof object.tokenInfos[i] !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos.tokenInfos: object expected"); - message.tokenInfos[i] = $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry.fromObject(object.tokenInfos[i]); - } + /** + * Decodes a GetTokenContractInfoRequestV0 message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0 + * @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.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0} GetTokenContractInfoRequestV0 + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetTokenContractInfoRequestV0.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.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.tokenId = reader.bytes(); + break; + case 2: + message.prove = reader.bool(); + break; + default: + reader.skipType(tag & 7); + break; } - return message; - }; + } + return message; + }; - /** - * Creates a plain object from an IdentityTokenInfos message. Also converts values to other types if specified. - * @function toObject - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos - * @static - * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos} message IdentityTokenInfos - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - IdentityTokenInfos.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.arrays || options.defaults) - object.tokenInfos = []; - if (message.tokenInfos && message.tokenInfos.length) { - object.tokenInfos = []; - for (var j = 0; j < message.tokenInfos.length; ++j) - object.tokenInfos[j] = $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry.toObject(message.tokenInfos[j], options); - } + /** + * Decodes a GetTokenContractInfoRequestV0 message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0 + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0} GetTokenContractInfoRequestV0 + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetTokenContractInfoRequestV0.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GetTokenContractInfoRequestV0 message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0 + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetTokenContractInfoRequestV0.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.tokenId != null && message.hasOwnProperty("tokenId")) + if (!(message.tokenId && typeof message.tokenId.length === "number" || $util.isString(message.tokenId))) + return "tokenId: buffer expected"; + if (message.prove != null && message.hasOwnProperty("prove")) + if (typeof message.prove !== "boolean") + return "prove: boolean expected"; + return null; + }; + + /** + * Creates a GetTokenContractInfoRequestV0 message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0 + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0} GetTokenContractInfoRequestV0 + */ + GetTokenContractInfoRequestV0.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0) return object; - }; + var message = new $root.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0(); + if (object.tokenId != null) + if (typeof object.tokenId === "string") + $util.base64.decode(object.tokenId, message.tokenId = $util.newBuffer($util.base64.length(object.tokenId)), 0); + else if (object.tokenId.length >= 0) + message.tokenId = object.tokenId; + if (object.prove != null) + message.prove = Boolean(object.prove); + return message; + }; - /** - * Converts this IdentityTokenInfos to JSON. - * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos - * @instance - * @returns {Object.} JSON object - */ - IdentityTokenInfos.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; + /** + * Creates a plain object from a GetTokenContractInfoRequestV0 message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0 + * @static + * @param {org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0} message GetTokenContractInfoRequestV0 + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetTokenContractInfoRequestV0.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + if (options.bytes === String) + object.tokenId = ""; + else { + object.tokenId = []; + if (options.bytes !== Array) + object.tokenId = $util.newBuffer(object.tokenId); + } + object.prove = false; + } + if (message.tokenId != null && message.hasOwnProperty("tokenId")) + object.tokenId = options.bytes === String ? $util.base64.encode(message.tokenId, 0, message.tokenId.length) : options.bytes === Array ? Array.prototype.slice.call(message.tokenId) : message.tokenId; + if (message.prove != null && message.hasOwnProperty("prove")) + object.prove = message.prove; + return object; + }; - return IdentityTokenInfos; - })(); + /** + * Converts this GetTokenContractInfoRequestV0 to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0 + * @instance + * @returns {Object.} JSON object + */ + GetTokenContractInfoRequestV0.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; - return GetIdentitiesTokenInfosResponseV0; + return GetTokenContractInfoRequestV0; })(); - return GetIdentitiesTokenInfosResponse; + return GetTokenContractInfoRequest; })(); - v0.GetTokenStatusesRequest = (function() { + v0.GetTokenContractInfoResponse = (function() { /** - * Properties of a GetTokenStatusesRequest. + * Properties of a GetTokenContractInfoResponse. * @memberof org.dash.platform.dapi.v0 - * @interface IGetTokenStatusesRequest - * @property {org.dash.platform.dapi.v0.GetTokenStatusesRequest.IGetTokenStatusesRequestV0|null} [v0] GetTokenStatusesRequest v0 + * @interface IGetTokenContractInfoResponse + * @property {org.dash.platform.dapi.v0.GetTokenContractInfoResponse.IGetTokenContractInfoResponseV0|null} [v0] GetTokenContractInfoResponse v0 */ /** - * Constructs a new GetTokenStatusesRequest. + * Constructs a new GetTokenContractInfoResponse. * @memberof org.dash.platform.dapi.v0 - * @classdesc Represents a GetTokenStatusesRequest. - * @implements IGetTokenStatusesRequest + * @classdesc Represents a GetTokenContractInfoResponse. + * @implements IGetTokenContractInfoResponse * @constructor - * @param {org.dash.platform.dapi.v0.IGetTokenStatusesRequest=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.IGetTokenContractInfoResponse=} [properties] Properties to set */ - function GetTokenStatusesRequest(properties) { + function GetTokenContractInfoResponse(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -51124,89 +58231,89 @@ $root.org = (function() { } /** - * GetTokenStatusesRequest v0. - * @member {org.dash.platform.dapi.v0.GetTokenStatusesRequest.IGetTokenStatusesRequestV0|null|undefined} v0 - * @memberof org.dash.platform.dapi.v0.GetTokenStatusesRequest + * GetTokenContractInfoResponse v0. + * @member {org.dash.platform.dapi.v0.GetTokenContractInfoResponse.IGetTokenContractInfoResponseV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoResponse * @instance */ - GetTokenStatusesRequest.prototype.v0 = null; + GetTokenContractInfoResponse.prototype.v0 = null; // OneOf field names bound to virtual getters and setters var $oneOfFields; /** - * GetTokenStatusesRequest version. + * GetTokenContractInfoResponse version. * @member {"v0"|undefined} version - * @memberof org.dash.platform.dapi.v0.GetTokenStatusesRequest + * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoResponse * @instance */ - Object.defineProperty(GetTokenStatusesRequest.prototype, "version", { + Object.defineProperty(GetTokenContractInfoResponse.prototype, "version", { get: $util.oneOfGetter($oneOfFields = ["v0"]), set: $util.oneOfSetter($oneOfFields) }); /** - * Creates a new GetTokenStatusesRequest instance using the specified properties. + * Creates a new GetTokenContractInfoResponse instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetTokenStatusesRequest + * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoResponse * @static - * @param {org.dash.platform.dapi.v0.IGetTokenStatusesRequest=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetTokenStatusesRequest} GetTokenStatusesRequest instance + * @param {org.dash.platform.dapi.v0.IGetTokenContractInfoResponse=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetTokenContractInfoResponse} GetTokenContractInfoResponse instance */ - GetTokenStatusesRequest.create = function create(properties) { - return new GetTokenStatusesRequest(properties); + GetTokenContractInfoResponse.create = function create(properties) { + return new GetTokenContractInfoResponse(properties); }; /** - * Encodes the specified GetTokenStatusesRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenStatusesRequest.verify|verify} messages. + * Encodes the specified GetTokenContractInfoResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenContractInfoResponse.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetTokenStatusesRequest + * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoResponse * @static - * @param {org.dash.platform.dapi.v0.IGetTokenStatusesRequest} message GetTokenStatusesRequest message or plain object to encode + * @param {org.dash.platform.dapi.v0.IGetTokenContractInfoResponse} message GetTokenContractInfoResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetTokenStatusesRequest.encode = function encode(message, writer) { + GetTokenContractInfoResponse.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.GetTokenStatusesRequest.GetTokenStatusesRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + $root.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified GetTokenStatusesRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenStatusesRequest.verify|verify} messages. + * Encodes the specified GetTokenContractInfoResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenContractInfoResponse.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetTokenStatusesRequest + * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoResponse * @static - * @param {org.dash.platform.dapi.v0.IGetTokenStatusesRequest} message GetTokenStatusesRequest message or plain object to encode + * @param {org.dash.platform.dapi.v0.IGetTokenContractInfoResponse} message GetTokenContractInfoResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetTokenStatusesRequest.encodeDelimited = function encodeDelimited(message, writer) { + GetTokenContractInfoResponse.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetTokenStatusesRequest message from the specified reader or buffer. + * Decodes a GetTokenContractInfoResponse message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetTokenStatusesRequest + * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoResponse * @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.GetTokenStatusesRequest} GetTokenStatusesRequest + * @returns {org.dash.platform.dapi.v0.GetTokenContractInfoResponse} GetTokenContractInfoResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetTokenStatusesRequest.decode = function decode(reader, length) { + GetTokenContractInfoResponse.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.GetTokenStatusesRequest(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetTokenContractInfoResponse(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.v0 = $root.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0.decode(reader, reader.uint32()); + message.v0 = $root.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -51217,37 +58324,37 @@ $root.org = (function() { }; /** - * Decodes a GetTokenStatusesRequest message from the specified reader or buffer, length delimited. + * Decodes a GetTokenContractInfoResponse message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetTokenStatusesRequest + * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetTokenStatusesRequest} GetTokenStatusesRequest + * @returns {org.dash.platform.dapi.v0.GetTokenContractInfoResponse} GetTokenContractInfoResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetTokenStatusesRequest.decodeDelimited = function decodeDelimited(reader) { + GetTokenContractInfoResponse.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GetTokenStatusesRequest message. + * Verifies a GetTokenContractInfoResponse message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetTokenStatusesRequest + * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoResponse * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetTokenStatusesRequest.verify = function verify(message) { + GetTokenContractInfoResponse.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.GetTokenStatusesRequest.GetTokenStatusesRequestV0.verify(message.v0); + var error = $root.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.verify(message.v0); if (error) return "v0." + error; } @@ -51256,40 +58363,40 @@ $root.org = (function() { }; /** - * Creates a GetTokenStatusesRequest message from a plain object. Also converts values to their respective internal types. + * Creates a GetTokenContractInfoResponse message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetTokenStatusesRequest + * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoResponse * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetTokenStatusesRequest} GetTokenStatusesRequest + * @returns {org.dash.platform.dapi.v0.GetTokenContractInfoResponse} GetTokenContractInfoResponse */ - GetTokenStatusesRequest.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetTokenStatusesRequest) + GetTokenContractInfoResponse.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetTokenContractInfoResponse) return object; - var message = new $root.org.dash.platform.dapi.v0.GetTokenStatusesRequest(); + var message = new $root.org.dash.platform.dapi.v0.GetTokenContractInfoResponse(); if (object.v0 != null) { if (typeof object.v0 !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetTokenStatusesRequest.v0: object expected"); - message.v0 = $root.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0.fromObject(object.v0); + throw TypeError(".org.dash.platform.dapi.v0.GetTokenContractInfoResponse.v0: object expected"); + message.v0 = $root.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.fromObject(object.v0); } return message; }; /** - * Creates a plain object from a GetTokenStatusesRequest message. Also converts values to other types if specified. + * Creates a plain object from a GetTokenContractInfoResponse message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetTokenStatusesRequest + * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoResponse * @static - * @param {org.dash.platform.dapi.v0.GetTokenStatusesRequest} message GetTokenStatusesRequest + * @param {org.dash.platform.dapi.v0.GetTokenContractInfoResponse} message GetTokenContractInfoResponse * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetTokenStatusesRequest.toObject = function toObject(message, options) { + GetTokenContractInfoResponse.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.GetTokenStatusesRequest.GetTokenStatusesRequestV0.toObject(message.v0, options); + object.v0 = $root.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.toObject(message.v0, options); if (options.oneofs) object.version = "v0"; } @@ -51297,36 +58404,36 @@ $root.org = (function() { }; /** - * Converts this GetTokenStatusesRequest to JSON. + * Converts this GetTokenContractInfoResponse to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetTokenStatusesRequest + * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoResponse * @instance * @returns {Object.} JSON object */ - GetTokenStatusesRequest.prototype.toJSON = function toJSON() { + GetTokenContractInfoResponse.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - GetTokenStatusesRequest.GetTokenStatusesRequestV0 = (function() { + GetTokenContractInfoResponse.GetTokenContractInfoResponseV0 = (function() { /** - * Properties of a GetTokenStatusesRequestV0. - * @memberof org.dash.platform.dapi.v0.GetTokenStatusesRequest - * @interface IGetTokenStatusesRequestV0 - * @property {Array.|null} [tokenIds] GetTokenStatusesRequestV0 tokenIds - * @property {boolean|null} [prove] GetTokenStatusesRequestV0 prove + * Properties of a GetTokenContractInfoResponseV0. + * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoResponse + * @interface IGetTokenContractInfoResponseV0 + * @property {org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.ITokenContractInfoData|null} [data] GetTokenContractInfoResponseV0 data + * @property {org.dash.platform.dapi.v0.IProof|null} [proof] GetTokenContractInfoResponseV0 proof + * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetTokenContractInfoResponseV0 metadata */ /** - * Constructs a new GetTokenStatusesRequestV0. - * @memberof org.dash.platform.dapi.v0.GetTokenStatusesRequest - * @classdesc Represents a GetTokenStatusesRequestV0. - * @implements IGetTokenStatusesRequestV0 + * Constructs a new GetTokenContractInfoResponseV0. + * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoResponse + * @classdesc Represents a GetTokenContractInfoResponseV0. + * @implements IGetTokenContractInfoResponseV0 * @constructor - * @param {org.dash.platform.dapi.v0.GetTokenStatusesRequest.IGetTokenStatusesRequestV0=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetTokenContractInfoResponse.IGetTokenContractInfoResponseV0=} [properties] Properties to set */ - function GetTokenStatusesRequestV0(properties) { - this.tokenIds = []; + function GetTokenContractInfoResponseV0(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -51334,91 +58441,115 @@ $root.org = (function() { } /** - * GetTokenStatusesRequestV0 tokenIds. - * @member {Array.} tokenIds - * @memberof org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0 + * GetTokenContractInfoResponseV0 data. + * @member {org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.ITokenContractInfoData|null|undefined} data + * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0 * @instance */ - GetTokenStatusesRequestV0.prototype.tokenIds = $util.emptyArray; + GetTokenContractInfoResponseV0.prototype.data = null; /** - * GetTokenStatusesRequestV0 prove. - * @member {boolean} prove - * @memberof org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0 + * GetTokenContractInfoResponseV0 proof. + * @member {org.dash.platform.dapi.v0.IProof|null|undefined} proof + * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0 * @instance */ - GetTokenStatusesRequestV0.prototype.prove = false; + GetTokenContractInfoResponseV0.prototype.proof = null; /** - * Creates a new GetTokenStatusesRequestV0 instance using the specified properties. + * GetTokenContractInfoResponseV0 metadata. + * @member {org.dash.platform.dapi.v0.IResponseMetadata|null|undefined} metadata + * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0 + * @instance + */ + GetTokenContractInfoResponseV0.prototype.metadata = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * GetTokenContractInfoResponseV0 result. + * @member {"data"|"proof"|undefined} result + * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0 + * @instance + */ + Object.defineProperty(GetTokenContractInfoResponseV0.prototype, "result", { + get: $util.oneOfGetter($oneOfFields = ["data", "proof"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new GetTokenContractInfoResponseV0 instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0 + * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetTokenStatusesRequest.IGetTokenStatusesRequestV0=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0} GetTokenStatusesRequestV0 instance + * @param {org.dash.platform.dapi.v0.GetTokenContractInfoResponse.IGetTokenContractInfoResponseV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0} GetTokenContractInfoResponseV0 instance */ - GetTokenStatusesRequestV0.create = function create(properties) { - return new GetTokenStatusesRequestV0(properties); + GetTokenContractInfoResponseV0.create = function create(properties) { + return new GetTokenContractInfoResponseV0(properties); }; /** - * Encodes the specified GetTokenStatusesRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0.verify|verify} messages. + * Encodes the specified GetTokenContractInfoResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0 + * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetTokenStatusesRequest.IGetTokenStatusesRequestV0} message GetTokenStatusesRequestV0 message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetTokenContractInfoResponse.IGetTokenContractInfoResponseV0} message GetTokenContractInfoResponseV0 message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetTokenStatusesRequestV0.encode = function encode(message, writer) { + GetTokenContractInfoResponseV0.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.tokenIds != null && message.tokenIds.length) - for (var i = 0; i < message.tokenIds.length; ++i) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.tokenIds[i]); - if (message.prove != null && Object.hasOwnProperty.call(message, "prove")) - writer.uint32(/* id 2, wireType 0 =*/16).bool(message.prove); + if (message.data != null && Object.hasOwnProperty.call(message, "data")) + $root.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData.encode(message.data, 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 GetTokenStatusesRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0.verify|verify} messages. + * Encodes the specified GetTokenContractInfoResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0 + * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetTokenStatusesRequest.IGetTokenStatusesRequestV0} message GetTokenStatusesRequestV0 message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetTokenContractInfoResponse.IGetTokenContractInfoResponseV0} message GetTokenContractInfoResponseV0 message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetTokenStatusesRequestV0.encodeDelimited = function encodeDelimited(message, writer) { + GetTokenContractInfoResponseV0.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetTokenStatusesRequestV0 message from the specified reader or buffer. + * Decodes a GetTokenContractInfoResponseV0 message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0 + * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0 * @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.GetTokenStatusesRequest.GetTokenStatusesRequestV0} GetTokenStatusesRequestV0 + * @returns {org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0} GetTokenContractInfoResponseV0 * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetTokenStatusesRequestV0.decode = function decode(reader, length) { + GetTokenContractInfoResponseV0.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.GetTokenStatusesRequest.GetTokenStatusesRequestV0(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - if (!(message.tokenIds && message.tokenIds.length)) - message.tokenIds = []; - message.tokenIds.push(reader.bytes()); + message.data = $root.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData.decode(reader, reader.uint32()); break; case 2: - message.prove = reader.bool(); + 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); @@ -51429,134 +58560,373 @@ $root.org = (function() { }; /** - * Decodes a GetTokenStatusesRequestV0 message from the specified reader or buffer, length delimited. + * Decodes a GetTokenContractInfoResponseV0 message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0 + * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0 * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0} GetTokenStatusesRequestV0 + * @returns {org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0} GetTokenContractInfoResponseV0 * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetTokenStatusesRequestV0.decodeDelimited = function decodeDelimited(reader) { + GetTokenContractInfoResponseV0.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; - /** - * Verifies a GetTokenStatusesRequestV0 message. - * @function verify - * @memberof org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0 - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - GetTokenStatusesRequestV0.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.tokenIds != null && message.hasOwnProperty("tokenIds")) { - if (!Array.isArray(message.tokenIds)) - return "tokenIds: array expected"; - for (var i = 0; i < message.tokenIds.length; ++i) - if (!(message.tokenIds[i] && typeof message.tokenIds[i].length === "number" || $util.isString(message.tokenIds[i]))) - return "tokenIds: buffer[] expected"; - } - if (message.prove != null && message.hasOwnProperty("prove")) - if (typeof message.prove !== "boolean") - return "prove: boolean expected"; - return null; - }; + /** + * Verifies a GetTokenContractInfoResponseV0 message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0 + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetTokenContractInfoResponseV0.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + var properties = {}; + if (message.data != null && message.hasOwnProperty("data")) { + properties.result = 1; + { + var error = $root.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData.verify(message.data); + if (error) + return "data." + 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 GetTokenContractInfoResponseV0 message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0 + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0} GetTokenContractInfoResponseV0 + */ + GetTokenContractInfoResponseV0.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0(); + if (object.data != null) { + if (typeof object.data !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.data: object expected"); + message.data = $root.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData.fromObject(object.data); + } + if (object.proof != null) { + if (typeof object.proof !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.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.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.metadata: object expected"); + message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.fromObject(object.metadata); + } + return message; + }; + + /** + * Creates a plain object from a GetTokenContractInfoResponseV0 message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0 + * @static + * @param {org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0} message GetTokenContractInfoResponseV0 + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetTokenContractInfoResponseV0.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.metadata = null; + if (message.data != null && message.hasOwnProperty("data")) { + object.data = $root.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData.toObject(message.data, options); + if (options.oneofs) + object.result = "data"; + } + 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 GetTokenContractInfoResponseV0 to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0 + * @instance + * @returns {Object.} JSON object + */ + GetTokenContractInfoResponseV0.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + GetTokenContractInfoResponseV0.TokenContractInfoData = (function() { + + /** + * Properties of a TokenContractInfoData. + * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0 + * @interface ITokenContractInfoData + * @property {Uint8Array|null} [contractId] TokenContractInfoData contractId + * @property {number|null} [tokenContractPosition] TokenContractInfoData tokenContractPosition + */ + + /** + * Constructs a new TokenContractInfoData. + * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0 + * @classdesc Represents a TokenContractInfoData. + * @implements ITokenContractInfoData + * @constructor + * @param {org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.ITokenContractInfoData=} [properties] Properties to set + */ + function TokenContractInfoData(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]]; + } + + /** + * TokenContractInfoData contractId. + * @member {Uint8Array} contractId + * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData + * @instance + */ + TokenContractInfoData.prototype.contractId = $util.newBuffer([]); + + /** + * TokenContractInfoData tokenContractPosition. + * @member {number} tokenContractPosition + * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData + * @instance + */ + TokenContractInfoData.prototype.tokenContractPosition = 0; + + /** + * Creates a new TokenContractInfoData instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData + * @static + * @param {org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.ITokenContractInfoData=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData} TokenContractInfoData instance + */ + TokenContractInfoData.create = function create(properties) { + return new TokenContractInfoData(properties); + }; + + /** + * Encodes the specified TokenContractInfoData message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData + * @static + * @param {org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.ITokenContractInfoData} message TokenContractInfoData message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + TokenContractInfoData.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.tokenContractPosition != null && Object.hasOwnProperty.call(message, "tokenContractPosition")) + writer.uint32(/* id 2, wireType 0 =*/16).uint32(message.tokenContractPosition); + return writer; + }; + + /** + * Encodes the specified TokenContractInfoData message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData + * @static + * @param {org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.ITokenContractInfoData} message TokenContractInfoData message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + TokenContractInfoData.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a TokenContractInfoData message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData + * @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.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData} TokenContractInfoData + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + TokenContractInfoData.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.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.contractId = reader.bytes(); + break; + case 2: + message.tokenContractPosition = reader.uint32(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a TokenContractInfoData message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData} TokenContractInfoData + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + TokenContractInfoData.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a TokenContractInfoData message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + TokenContractInfoData.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.tokenContractPosition != null && message.hasOwnProperty("tokenContractPosition")) + if (!$util.isInteger(message.tokenContractPosition)) + return "tokenContractPosition: integer expected"; + return null; + }; + + /** + * Creates a TokenContractInfoData message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData} TokenContractInfoData + */ + TokenContractInfoData.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData) + return object; + var message = new $root.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData(); + 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.tokenContractPosition != null) + message.tokenContractPosition = object.tokenContractPosition >>> 0; + return message; + }; - /** - * Creates a GetTokenStatusesRequestV0 message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0 - * @static - * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0} GetTokenStatusesRequestV0 - */ - GetTokenStatusesRequestV0.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0) + /** + * Creates a plain object from a TokenContractInfoData message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData + * @static + * @param {org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData} message TokenContractInfoData + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + TokenContractInfoData.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.tokenContractPosition = 0; + } + 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.tokenContractPosition != null && message.hasOwnProperty("tokenContractPosition")) + object.tokenContractPosition = message.tokenContractPosition; return object; - var message = new $root.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0(); - if (object.tokenIds) { - if (!Array.isArray(object.tokenIds)) - throw TypeError(".org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0.tokenIds: array expected"); - message.tokenIds = []; - for (var i = 0; i < object.tokenIds.length; ++i) - if (typeof object.tokenIds[i] === "string") - $util.base64.decode(object.tokenIds[i], message.tokenIds[i] = $util.newBuffer($util.base64.length(object.tokenIds[i])), 0); - else if (object.tokenIds[i].length >= 0) - message.tokenIds[i] = object.tokenIds[i]; - } - if (object.prove != null) - message.prove = Boolean(object.prove); - return message; - }; + }; - /** - * Creates a plain object from a GetTokenStatusesRequestV0 message. Also converts values to other types if specified. - * @function toObject - * @memberof org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0 - * @static - * @param {org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0} message GetTokenStatusesRequestV0 - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - GetTokenStatusesRequestV0.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.arrays || options.defaults) - object.tokenIds = []; - if (options.defaults) - object.prove = false; - if (message.tokenIds && message.tokenIds.length) { - object.tokenIds = []; - for (var j = 0; j < message.tokenIds.length; ++j) - object.tokenIds[j] = options.bytes === String ? $util.base64.encode(message.tokenIds[j], 0, message.tokenIds[j].length) : options.bytes === Array ? Array.prototype.slice.call(message.tokenIds[j]) : message.tokenIds[j]; - } - if (message.prove != null && message.hasOwnProperty("prove")) - object.prove = message.prove; - return object; - }; + /** + * Converts this TokenContractInfoData to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData + * @instance + * @returns {Object.} JSON object + */ + TokenContractInfoData.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; - /** - * Converts this GetTokenStatusesRequestV0 to JSON. - * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0 - * @instance - * @returns {Object.} JSON object - */ - GetTokenStatusesRequestV0.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; + return TokenContractInfoData; + })(); - return GetTokenStatusesRequestV0; + return GetTokenContractInfoResponseV0; })(); - return GetTokenStatusesRequest; + return GetTokenContractInfoResponse; })(); - v0.GetTokenStatusesResponse = (function() { + v0.GetTokenPreProgrammedDistributionsRequest = (function() { /** - * Properties of a GetTokenStatusesResponse. + * Properties of a GetTokenPreProgrammedDistributionsRequest. * @memberof org.dash.platform.dapi.v0 - * @interface IGetTokenStatusesResponse - * @property {org.dash.platform.dapi.v0.GetTokenStatusesResponse.IGetTokenStatusesResponseV0|null} [v0] GetTokenStatusesResponse v0 + * @interface IGetTokenPreProgrammedDistributionsRequest + * @property {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.IGetTokenPreProgrammedDistributionsRequestV0|null} [v0] GetTokenPreProgrammedDistributionsRequest v0 */ /** - * Constructs a new GetTokenStatusesResponse. + * Constructs a new GetTokenPreProgrammedDistributionsRequest. * @memberof org.dash.platform.dapi.v0 - * @classdesc Represents a GetTokenStatusesResponse. - * @implements IGetTokenStatusesResponse + * @classdesc Represents a GetTokenPreProgrammedDistributionsRequest. + * @implements IGetTokenPreProgrammedDistributionsRequest * @constructor - * @param {org.dash.platform.dapi.v0.IGetTokenStatusesResponse=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.IGetTokenPreProgrammedDistributionsRequest=} [properties] Properties to set */ - function GetTokenStatusesResponse(properties) { + function GetTokenPreProgrammedDistributionsRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -51564,89 +58934,89 @@ $root.org = (function() { } /** - * GetTokenStatusesResponse v0. - * @member {org.dash.platform.dapi.v0.GetTokenStatusesResponse.IGetTokenStatusesResponseV0|null|undefined} v0 - * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse + * GetTokenPreProgrammedDistributionsRequest v0. + * @member {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.IGetTokenPreProgrammedDistributionsRequestV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest * @instance */ - GetTokenStatusesResponse.prototype.v0 = null; + GetTokenPreProgrammedDistributionsRequest.prototype.v0 = null; // OneOf field names bound to virtual getters and setters var $oneOfFields; /** - * GetTokenStatusesResponse version. + * GetTokenPreProgrammedDistributionsRequest version. * @member {"v0"|undefined} version - * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse + * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest * @instance */ - Object.defineProperty(GetTokenStatusesResponse.prototype, "version", { + Object.defineProperty(GetTokenPreProgrammedDistributionsRequest.prototype, "version", { get: $util.oneOfGetter($oneOfFields = ["v0"]), set: $util.oneOfSetter($oneOfFields) }); /** - * Creates a new GetTokenStatusesResponse instance using the specified properties. + * Creates a new GetTokenPreProgrammedDistributionsRequest instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse + * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest * @static - * @param {org.dash.platform.dapi.v0.IGetTokenStatusesResponse=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetTokenStatusesResponse} GetTokenStatusesResponse instance + * @param {org.dash.platform.dapi.v0.IGetTokenPreProgrammedDistributionsRequest=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest} GetTokenPreProgrammedDistributionsRequest instance */ - GetTokenStatusesResponse.create = function create(properties) { - return new GetTokenStatusesResponse(properties); + GetTokenPreProgrammedDistributionsRequest.create = function create(properties) { + return new GetTokenPreProgrammedDistributionsRequest(properties); }; /** - * Encodes the specified GetTokenStatusesResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenStatusesResponse.verify|verify} messages. + * Encodes the specified GetTokenPreProgrammedDistributionsRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse + * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest * @static - * @param {org.dash.platform.dapi.v0.IGetTokenStatusesResponse} message GetTokenStatusesResponse message or plain object to encode + * @param {org.dash.platform.dapi.v0.IGetTokenPreProgrammedDistributionsRequest} message GetTokenPreProgrammedDistributionsRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetTokenStatusesResponse.encode = function encode(message, writer) { + GetTokenPreProgrammedDistributionsRequest.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.GetTokenStatusesResponse.GetTokenStatusesResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified GetTokenStatusesResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenStatusesResponse.verify|verify} messages. + * Encodes the specified GetTokenPreProgrammedDistributionsRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse + * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest * @static - * @param {org.dash.platform.dapi.v0.IGetTokenStatusesResponse} message GetTokenStatusesResponse message or plain object to encode + * @param {org.dash.platform.dapi.v0.IGetTokenPreProgrammedDistributionsRequest} message GetTokenPreProgrammedDistributionsRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetTokenStatusesResponse.encodeDelimited = function encodeDelimited(message, writer) { + GetTokenPreProgrammedDistributionsRequest.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetTokenStatusesResponse message from the specified reader or buffer. + * Decodes a GetTokenPreProgrammedDistributionsRequest message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse + * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest * @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.GetTokenStatusesResponse} GetTokenStatusesResponse + * @returns {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest} GetTokenPreProgrammedDistributionsRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetTokenStatusesResponse.decode = function decode(reader, length) { + GetTokenPreProgrammedDistributionsRequest.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.GetTokenStatusesResponse(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.v0 = $root.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.decode(reader, reader.uint32()); + message.v0 = $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -51657,37 +59027,37 @@ $root.org = (function() { }; /** - * Decodes a GetTokenStatusesResponse message from the specified reader or buffer, length delimited. + * Decodes a GetTokenPreProgrammedDistributionsRequest message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse + * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetTokenStatusesResponse} GetTokenStatusesResponse + * @returns {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest} GetTokenPreProgrammedDistributionsRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetTokenStatusesResponse.decodeDelimited = function decodeDelimited(reader) { + GetTokenPreProgrammedDistributionsRequest.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GetTokenStatusesResponse message. + * Verifies a GetTokenPreProgrammedDistributionsRequest message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse + * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetTokenStatusesResponse.verify = function verify(message) { + GetTokenPreProgrammedDistributionsRequest.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.GetTokenStatusesResponse.GetTokenStatusesResponseV0.verify(message.v0); + var error = $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.verify(message.v0); if (error) return "v0." + error; } @@ -51696,40 +59066,40 @@ $root.org = (function() { }; /** - * Creates a GetTokenStatusesResponse message from a plain object. Also converts values to their respective internal types. + * Creates a GetTokenPreProgrammedDistributionsRequest message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse + * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetTokenStatusesResponse} GetTokenStatusesResponse + * @returns {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest} GetTokenPreProgrammedDistributionsRequest */ - GetTokenStatusesResponse.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetTokenStatusesResponse) + GetTokenPreProgrammedDistributionsRequest.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest) return object; - var message = new $root.org.dash.platform.dapi.v0.GetTokenStatusesResponse(); + var message = new $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest(); if (object.v0 != null) { if (typeof object.v0 !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetTokenStatusesResponse.v0: object expected"); - message.v0 = $root.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.fromObject(object.v0); + throw TypeError(".org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.v0: object expected"); + message.v0 = $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.fromObject(object.v0); } return message; }; /** - * Creates a plain object from a GetTokenStatusesResponse message. Also converts values to other types if specified. + * Creates a plain object from a GetTokenPreProgrammedDistributionsRequest message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse + * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest * @static - * @param {org.dash.platform.dapi.v0.GetTokenStatusesResponse} message GetTokenStatusesResponse + * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest} message GetTokenPreProgrammedDistributionsRequest * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetTokenStatusesResponse.toObject = function toObject(message, options) { + GetTokenPreProgrammedDistributionsRequest.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.GetTokenStatusesResponse.GetTokenStatusesResponseV0.toObject(message.v0, options); + object.v0 = $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.toObject(message.v0, options); if (options.oneofs) object.version = "v0"; } @@ -51737,36 +59107,37 @@ $root.org = (function() { }; /** - * Converts this GetTokenStatusesResponse to JSON. + * Converts this GetTokenPreProgrammedDistributionsRequest to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse + * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest * @instance * @returns {Object.} JSON object */ - GetTokenStatusesResponse.prototype.toJSON = function toJSON() { + GetTokenPreProgrammedDistributionsRequest.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - GetTokenStatusesResponse.GetTokenStatusesResponseV0 = (function() { + GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0 = (function() { /** - * Properties of a GetTokenStatusesResponseV0. - * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse - * @interface IGetTokenStatusesResponseV0 - * @property {org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.ITokenStatuses|null} [tokenStatuses] GetTokenStatusesResponseV0 tokenStatuses - * @property {org.dash.platform.dapi.v0.IProof|null} [proof] GetTokenStatusesResponseV0 proof - * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetTokenStatusesResponseV0 metadata + * Properties of a GetTokenPreProgrammedDistributionsRequestV0. + * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest + * @interface IGetTokenPreProgrammedDistributionsRequestV0 + * @property {Uint8Array|null} [tokenId] GetTokenPreProgrammedDistributionsRequestV0 tokenId + * @property {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.IStartAtInfo|null} [startAtInfo] GetTokenPreProgrammedDistributionsRequestV0 startAtInfo + * @property {number|null} [limit] GetTokenPreProgrammedDistributionsRequestV0 limit + * @property {boolean|null} [prove] GetTokenPreProgrammedDistributionsRequestV0 prove */ /** - * Constructs a new GetTokenStatusesResponseV0. - * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse - * @classdesc Represents a GetTokenStatusesResponseV0. - * @implements IGetTokenStatusesResponseV0 + * Constructs a new GetTokenPreProgrammedDistributionsRequestV0. + * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest + * @classdesc Represents a GetTokenPreProgrammedDistributionsRequestV0. + * @implements IGetTokenPreProgrammedDistributionsRequestV0 * @constructor - * @param {org.dash.platform.dapi.v0.GetTokenStatusesResponse.IGetTokenStatusesResponseV0=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.IGetTokenPreProgrammedDistributionsRequestV0=} [properties] Properties to set */ - function GetTokenStatusesResponseV0(properties) { + function GetTokenPreProgrammedDistributionsRequestV0(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -51774,115 +59145,114 @@ $root.org = (function() { } /** - * GetTokenStatusesResponseV0 tokenStatuses. - * @member {org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.ITokenStatuses|null|undefined} tokenStatuses - * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0 + * GetTokenPreProgrammedDistributionsRequestV0 tokenId. + * @member {Uint8Array} tokenId + * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0 * @instance */ - GetTokenStatusesResponseV0.prototype.tokenStatuses = null; + GetTokenPreProgrammedDistributionsRequestV0.prototype.tokenId = $util.newBuffer([]); /** - * GetTokenStatusesResponseV0 proof. - * @member {org.dash.platform.dapi.v0.IProof|null|undefined} proof - * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0 + * GetTokenPreProgrammedDistributionsRequestV0 startAtInfo. + * @member {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.IStartAtInfo|null|undefined} startAtInfo + * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0 * @instance */ - GetTokenStatusesResponseV0.prototype.proof = null; + GetTokenPreProgrammedDistributionsRequestV0.prototype.startAtInfo = null; /** - * GetTokenStatusesResponseV0 metadata. - * @member {org.dash.platform.dapi.v0.IResponseMetadata|null|undefined} metadata - * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0 + * GetTokenPreProgrammedDistributionsRequestV0 limit. + * @member {number} limit + * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0 * @instance */ - GetTokenStatusesResponseV0.prototype.metadata = null; - - // OneOf field names bound to virtual getters and setters - var $oneOfFields; + GetTokenPreProgrammedDistributionsRequestV0.prototype.limit = 0; /** - * GetTokenStatusesResponseV0 result. - * @member {"tokenStatuses"|"proof"|undefined} result - * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0 + * GetTokenPreProgrammedDistributionsRequestV0 prove. + * @member {boolean} prove + * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0 * @instance */ - Object.defineProperty(GetTokenStatusesResponseV0.prototype, "result", { - get: $util.oneOfGetter($oneOfFields = ["tokenStatuses", "proof"]), - set: $util.oneOfSetter($oneOfFields) - }); + GetTokenPreProgrammedDistributionsRequestV0.prototype.prove = false; /** - * Creates a new GetTokenStatusesResponseV0 instance using the specified properties. + * Creates a new GetTokenPreProgrammedDistributionsRequestV0 instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0 + * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetTokenStatusesResponse.IGetTokenStatusesResponseV0=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0} GetTokenStatusesResponseV0 instance + * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.IGetTokenPreProgrammedDistributionsRequestV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0} GetTokenPreProgrammedDistributionsRequestV0 instance */ - GetTokenStatusesResponseV0.create = function create(properties) { - return new GetTokenStatusesResponseV0(properties); + GetTokenPreProgrammedDistributionsRequestV0.create = function create(properties) { + return new GetTokenPreProgrammedDistributionsRequestV0(properties); }; /** - * Encodes the specified GetTokenStatusesResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.verify|verify} messages. + * Encodes the specified GetTokenPreProgrammedDistributionsRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0 + * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetTokenStatusesResponse.IGetTokenStatusesResponseV0} message GetTokenStatusesResponseV0 message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.IGetTokenPreProgrammedDistributionsRequestV0} message GetTokenPreProgrammedDistributionsRequestV0 message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetTokenStatusesResponseV0.encode = function encode(message, writer) { + GetTokenPreProgrammedDistributionsRequestV0.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.tokenStatuses != null && Object.hasOwnProperty.call(message, "tokenStatuses")) - $root.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses.encode(message.tokenStatuses, 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.tokenId != null && Object.hasOwnProperty.call(message, "tokenId")) + writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.tokenId); + if (message.startAtInfo != null && Object.hasOwnProperty.call(message, "startAtInfo")) + $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.encode(message.startAtInfo, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.limit != null && Object.hasOwnProperty.call(message, "limit")) + writer.uint32(/* id 3, wireType 0 =*/24).uint32(message.limit); + if (message.prove != null && Object.hasOwnProperty.call(message, "prove")) + writer.uint32(/* id 4, wireType 0 =*/32).bool(message.prove); return writer; }; /** - * Encodes the specified GetTokenStatusesResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.verify|verify} messages. + * Encodes the specified GetTokenPreProgrammedDistributionsRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0 + * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetTokenStatusesResponse.IGetTokenStatusesResponseV0} message GetTokenStatusesResponseV0 message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.IGetTokenPreProgrammedDistributionsRequestV0} message GetTokenPreProgrammedDistributionsRequestV0 message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetTokenStatusesResponseV0.encodeDelimited = function encodeDelimited(message, writer) { + GetTokenPreProgrammedDistributionsRequestV0.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetTokenStatusesResponseV0 message from the specified reader or buffer. + * Decodes a GetTokenPreProgrammedDistributionsRequestV0 message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0 + * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0 * @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.GetTokenStatusesResponse.GetTokenStatusesResponseV0} GetTokenStatusesResponseV0 + * @returns {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0} GetTokenPreProgrammedDistributionsRequestV0 * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetTokenStatusesResponseV0.decode = function decode(reader, length) { + GetTokenPreProgrammedDistributionsRequestV0.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.GetTokenStatusesResponse.GetTokenStatusesResponseV0(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.tokenStatuses = $root.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses.decode(reader, reader.uint32()); + message.tokenId = reader.bytes(); break; case 2: - message.proof = $root.org.dash.platform.dapi.v0.Proof.decode(reader, reader.uint32()); + message.startAtInfo = $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.decode(reader, reader.uint32()); break; case 3: - message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.decode(reader, reader.uint32()); + message.limit = reader.uint32(); + break; + case 4: + message.prove = reader.bool(); break; default: reader.skipType(tag & 7); @@ -51893,149 +59263,145 @@ $root.org = (function() { }; /** - * Decodes a GetTokenStatusesResponseV0 message from the specified reader or buffer, length delimited. + * Decodes a GetTokenPreProgrammedDistributionsRequestV0 message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0 + * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0 * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0} GetTokenStatusesResponseV0 + * @returns {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0} GetTokenPreProgrammedDistributionsRequestV0 * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetTokenStatusesResponseV0.decodeDelimited = function decodeDelimited(reader) { + GetTokenPreProgrammedDistributionsRequestV0.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GetTokenStatusesResponseV0 message. + * Verifies a GetTokenPreProgrammedDistributionsRequestV0 message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0 + * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0 * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetTokenStatusesResponseV0.verify = function verify(message) { + GetTokenPreProgrammedDistributionsRequestV0.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - var properties = {}; - if (message.tokenStatuses != null && message.hasOwnProperty("tokenStatuses")) { - properties.result = 1; - { - var error = $root.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses.verify(message.tokenStatuses); - if (error) - return "tokenStatuses." + 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 (message.tokenId != null && message.hasOwnProperty("tokenId")) + if (!(message.tokenId && typeof message.tokenId.length === "number" || $util.isString(message.tokenId))) + return "tokenId: buffer expected"; + if (message.startAtInfo != null && message.hasOwnProperty("startAtInfo")) { + var error = $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.verify(message.startAtInfo); if (error) - return "metadata." + error; + return "startAtInfo." + error; } + if (message.limit != null && message.hasOwnProperty("limit")) + if (!$util.isInteger(message.limit)) + return "limit: integer expected"; + if (message.prove != null && message.hasOwnProperty("prove")) + if (typeof message.prove !== "boolean") + return "prove: boolean expected"; return null; }; /** - * Creates a GetTokenStatusesResponseV0 message from a plain object. Also converts values to their respective internal types. + * Creates a GetTokenPreProgrammedDistributionsRequestV0 message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0 + * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0 * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0} GetTokenStatusesResponseV0 + * @returns {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0} GetTokenPreProgrammedDistributionsRequestV0 */ - GetTokenStatusesResponseV0.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0) + GetTokenPreProgrammedDistributionsRequestV0.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0) return object; - var message = new $root.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0(); - if (object.tokenStatuses != null) { - if (typeof object.tokenStatuses !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.tokenStatuses: object expected"); - message.tokenStatuses = $root.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses.fromObject(object.tokenStatuses); - } - if (object.proof != null) { - if (typeof object.proof !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.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.GetTokenStatusesResponse.GetTokenStatusesResponseV0.metadata: object expected"); - message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.fromObject(object.metadata); + var message = new $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0(); + if (object.tokenId != null) + if (typeof object.tokenId === "string") + $util.base64.decode(object.tokenId, message.tokenId = $util.newBuffer($util.base64.length(object.tokenId)), 0); + else if (object.tokenId.length >= 0) + message.tokenId = object.tokenId; + if (object.startAtInfo != null) { + if (typeof object.startAtInfo !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.startAtInfo: object expected"); + message.startAtInfo = $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.fromObject(object.startAtInfo); } + if (object.limit != null) + message.limit = object.limit >>> 0; + if (object.prove != null) + message.prove = Boolean(object.prove); return message; }; /** - * Creates a plain object from a GetTokenStatusesResponseV0 message. Also converts values to other types if specified. + * Creates a plain object from a GetTokenPreProgrammedDistributionsRequestV0 message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0 + * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0 * @static - * @param {org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0} message GetTokenStatusesResponseV0 + * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0} message GetTokenPreProgrammedDistributionsRequestV0 * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetTokenStatusesResponseV0.toObject = function toObject(message, options) { + GetTokenPreProgrammedDistributionsRequestV0.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.defaults) - object.metadata = null; - if (message.tokenStatuses != null && message.hasOwnProperty("tokenStatuses")) { - object.tokenStatuses = $root.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses.toObject(message.tokenStatuses, options); - if (options.oneofs) - object.result = "tokenStatuses"; - } - 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.defaults) { + if (options.bytes === String) + object.tokenId = ""; + else { + object.tokenId = []; + if (options.bytes !== Array) + object.tokenId = $util.newBuffer(object.tokenId); + } + object.startAtInfo = null; + object.limit = 0; + object.prove = false; } - if (message.metadata != null && message.hasOwnProperty("metadata")) - object.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.toObject(message.metadata, options); + if (message.tokenId != null && message.hasOwnProperty("tokenId")) + object.tokenId = options.bytes === String ? $util.base64.encode(message.tokenId, 0, message.tokenId.length) : options.bytes === Array ? Array.prototype.slice.call(message.tokenId) : message.tokenId; + if (message.startAtInfo != null && message.hasOwnProperty("startAtInfo")) + object.startAtInfo = $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.toObject(message.startAtInfo, options); + if (message.limit != null && message.hasOwnProperty("limit")) + object.limit = message.limit; + if (message.prove != null && message.hasOwnProperty("prove")) + object.prove = message.prove; return object; }; /** - * Converts this GetTokenStatusesResponseV0 to JSON. + * Converts this GetTokenPreProgrammedDistributionsRequestV0 to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0 + * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0 * @instance * @returns {Object.} JSON object */ - GetTokenStatusesResponseV0.prototype.toJSON = function toJSON() { + GetTokenPreProgrammedDistributionsRequestV0.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - GetTokenStatusesResponseV0.TokenStatusEntry = (function() { + GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo = (function() { /** - * Properties of a TokenStatusEntry. - * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0 - * @interface ITokenStatusEntry - * @property {Uint8Array|null} [tokenId] TokenStatusEntry tokenId - * @property {boolean|null} [paused] TokenStatusEntry paused + * Properties of a StartAtInfo. + * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0 + * @interface IStartAtInfo + * @property {number|Long|null} [startTimeMs] StartAtInfo startTimeMs + * @property {Uint8Array|null} [startRecipient] StartAtInfo startRecipient + * @property {boolean|null} [startRecipientIncluded] StartAtInfo startRecipientIncluded */ /** - * Constructs a new TokenStatusEntry. - * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0 - * @classdesc Represents a TokenStatusEntry. - * @implements ITokenStatusEntry + * Constructs a new StartAtInfo. + * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0 + * @classdesc Represents a StartAtInfo. + * @implements IStartAtInfo * @constructor - * @param {org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.ITokenStatusEntry=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.IStartAtInfo=} [properties] Properties to set */ - function TokenStatusEntry(properties) { + function StartAtInfo(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -52043,88 +59409,101 @@ $root.org = (function() { } /** - * TokenStatusEntry tokenId. - * @member {Uint8Array} tokenId - * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry + * StartAtInfo startTimeMs. + * @member {number|Long} startTimeMs + * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo * @instance */ - TokenStatusEntry.prototype.tokenId = $util.newBuffer([]); + StartAtInfo.prototype.startTimeMs = $util.Long ? $util.Long.fromBits(0,0,true) : 0; /** - * TokenStatusEntry paused. - * @member {boolean} paused - * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry + * StartAtInfo startRecipient. + * @member {Uint8Array} startRecipient + * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo * @instance */ - TokenStatusEntry.prototype.paused = false; + StartAtInfo.prototype.startRecipient = $util.newBuffer([]); /** - * Creates a new TokenStatusEntry instance using the specified properties. + * StartAtInfo startRecipientIncluded. + * @member {boolean} startRecipientIncluded + * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo + * @instance + */ + StartAtInfo.prototype.startRecipientIncluded = false; + + /** + * Creates a new StartAtInfo instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry + * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo * @static - * @param {org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.ITokenStatusEntry=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry} TokenStatusEntry instance + * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.IStartAtInfo=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo} StartAtInfo instance */ - TokenStatusEntry.create = function create(properties) { - return new TokenStatusEntry(properties); + StartAtInfo.create = function create(properties) { + return new StartAtInfo(properties); }; /** - * Encodes the specified TokenStatusEntry message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry.verify|verify} messages. + * Encodes the specified StartAtInfo message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry + * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo * @static - * @param {org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.ITokenStatusEntry} message TokenStatusEntry message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.IStartAtInfo} message StartAtInfo message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - TokenStatusEntry.encode = function encode(message, writer) { + StartAtInfo.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.tokenId != null && Object.hasOwnProperty.call(message, "tokenId")) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.tokenId); - if (message.paused != null && Object.hasOwnProperty.call(message, "paused")) - writer.uint32(/* id 2, wireType 0 =*/16).bool(message.paused); + if (message.startTimeMs != null && Object.hasOwnProperty.call(message, "startTimeMs")) + writer.uint32(/* id 1, wireType 0 =*/8).uint64(message.startTimeMs); + if (message.startRecipient != null && Object.hasOwnProperty.call(message, "startRecipient")) + writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.startRecipient); + if (message.startRecipientIncluded != null && Object.hasOwnProperty.call(message, "startRecipientIncluded")) + writer.uint32(/* id 3, wireType 0 =*/24).bool(message.startRecipientIncluded); return writer; }; /** - * Encodes the specified TokenStatusEntry message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry.verify|verify} messages. + * Encodes the specified StartAtInfo message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry + * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo * @static - * @param {org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.ITokenStatusEntry} message TokenStatusEntry message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.IStartAtInfo} message StartAtInfo message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - TokenStatusEntry.encodeDelimited = function encodeDelimited(message, writer) { + StartAtInfo.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a TokenStatusEntry message from the specified reader or buffer. + * Decodes a StartAtInfo message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry + * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo * @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.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry} TokenStatusEntry + * @returns {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo} StartAtInfo * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - TokenStatusEntry.decode = function decode(reader, length) { + StartAtInfo.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.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.tokenId = reader.bytes(); + message.startTimeMs = reader.uint64(); break; case 2: - message.paused = reader.bool(); + message.startRecipient = reader.bytes(); + break; + case 3: + message.startRecipientIncluded = reader.bool(); break; default: reader.skipType(tag & 7); @@ -52135,339 +59514,153 @@ $root.org = (function() { }; /** - * Decodes a TokenStatusEntry message from the specified reader or buffer, length delimited. + * Decodes a StartAtInfo message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry + * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry} TokenStatusEntry + * @returns {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo} StartAtInfo * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - TokenStatusEntry.decodeDelimited = function decodeDelimited(reader) { + StartAtInfo.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a TokenStatusEntry message. + * Verifies a StartAtInfo message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry + * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - TokenStatusEntry.verify = function verify(message) { + StartAtInfo.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.tokenId != null && message.hasOwnProperty("tokenId")) - if (!(message.tokenId && typeof message.tokenId.length === "number" || $util.isString(message.tokenId))) - return "tokenId: buffer expected"; - if (message.paused != null && message.hasOwnProperty("paused")) - if (typeof message.paused !== "boolean") - return "paused: boolean expected"; + if (message.startTimeMs != null && message.hasOwnProperty("startTimeMs")) + if (!$util.isInteger(message.startTimeMs) && !(message.startTimeMs && $util.isInteger(message.startTimeMs.low) && $util.isInteger(message.startTimeMs.high))) + return "startTimeMs: integer|Long expected"; + if (message.startRecipient != null && message.hasOwnProperty("startRecipient")) + if (!(message.startRecipient && typeof message.startRecipient.length === "number" || $util.isString(message.startRecipient))) + return "startRecipient: buffer expected"; + if (message.startRecipientIncluded != null && message.hasOwnProperty("startRecipientIncluded")) + if (typeof message.startRecipientIncluded !== "boolean") + return "startRecipientIncluded: boolean expected"; return null; }; /** - * Creates a TokenStatusEntry message from a plain object. Also converts values to their respective internal types. + * Creates a StartAtInfo message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry + * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry} TokenStatusEntry + * @returns {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo} StartAtInfo */ - TokenStatusEntry.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry) + StartAtInfo.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo) return object; - var message = new $root.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry(); - if (object.tokenId != null) - if (typeof object.tokenId === "string") - $util.base64.decode(object.tokenId, message.tokenId = $util.newBuffer($util.base64.length(object.tokenId)), 0); - else if (object.tokenId.length >= 0) - message.tokenId = object.tokenId; - if (object.paused != null) - message.paused = Boolean(object.paused); + var message = new $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo(); + if (object.startTimeMs != null) + if ($util.Long) + (message.startTimeMs = $util.Long.fromValue(object.startTimeMs)).unsigned = true; + else if (typeof object.startTimeMs === "string") + message.startTimeMs = parseInt(object.startTimeMs, 10); + else if (typeof object.startTimeMs === "number") + message.startTimeMs = object.startTimeMs; + else if (typeof object.startTimeMs === "object") + message.startTimeMs = new $util.LongBits(object.startTimeMs.low >>> 0, object.startTimeMs.high >>> 0).toNumber(true); + if (object.startRecipient != null) + if (typeof object.startRecipient === "string") + $util.base64.decode(object.startRecipient, message.startRecipient = $util.newBuffer($util.base64.length(object.startRecipient)), 0); + else if (object.startRecipient.length >= 0) + message.startRecipient = object.startRecipient; + if (object.startRecipientIncluded != null) + message.startRecipientIncluded = Boolean(object.startRecipientIncluded); return message; }; /** - * Creates a plain object from a TokenStatusEntry message. Also converts values to other types if specified. + * Creates a plain object from a StartAtInfo message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry + * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo * @static - * @param {org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry} message TokenStatusEntry + * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo} message StartAtInfo * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - TokenStatusEntry.toObject = function toObject(message, options) { + StartAtInfo.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.startTimeMs = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.startTimeMs = options.longs === String ? "0" : 0; if (options.bytes === String) - object.tokenId = ""; + object.startRecipient = ""; else { - object.tokenId = []; + object.startRecipient = []; if (options.bytes !== Array) - object.tokenId = $util.newBuffer(object.tokenId); - } - object.paused = false; - } - if (message.tokenId != null && message.hasOwnProperty("tokenId")) - object.tokenId = options.bytes === String ? $util.base64.encode(message.tokenId, 0, message.tokenId.length) : options.bytes === Array ? Array.prototype.slice.call(message.tokenId) : message.tokenId; - if (message.paused != null && message.hasOwnProperty("paused")) - object.paused = message.paused; - return object; - }; - - /** - * Converts this TokenStatusEntry to JSON. - * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry - * @instance - * @returns {Object.} JSON object - */ - TokenStatusEntry.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return TokenStatusEntry; - })(); - - GetTokenStatusesResponseV0.TokenStatuses = (function() { - - /** - * Properties of a TokenStatuses. - * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0 - * @interface ITokenStatuses - * @property {Array.|null} [tokenStatuses] TokenStatuses tokenStatuses - */ - - /** - * Constructs a new TokenStatuses. - * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0 - * @classdesc Represents a TokenStatuses. - * @implements ITokenStatuses - * @constructor - * @param {org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.ITokenStatuses=} [properties] Properties to set - */ - function TokenStatuses(properties) { - this.tokenStatuses = []; - 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]]; - } - - /** - * TokenStatuses tokenStatuses. - * @member {Array.} tokenStatuses - * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses - * @instance - */ - TokenStatuses.prototype.tokenStatuses = $util.emptyArray; - - /** - * Creates a new TokenStatuses instance using the specified properties. - * @function create - * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses - * @static - * @param {org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.ITokenStatuses=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses} TokenStatuses instance - */ - TokenStatuses.create = function create(properties) { - return new TokenStatuses(properties); - }; - - /** - * Encodes the specified TokenStatuses message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses.verify|verify} messages. - * @function encode - * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses - * @static - * @param {org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.ITokenStatuses} message TokenStatuses message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - TokenStatuses.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.tokenStatuses != null && message.tokenStatuses.length) - for (var i = 0; i < message.tokenStatuses.length; ++i) - $root.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry.encode(message.tokenStatuses[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified TokenStatuses message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses.verify|verify} messages. - * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses - * @static - * @param {org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.ITokenStatuses} message TokenStatuses message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - TokenStatuses.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a TokenStatuses message from the specified reader or buffer. - * @function decode - * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses - * @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.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses} TokenStatuses - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - TokenStatuses.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.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (!(message.tokenStatuses && message.tokenStatuses.length)) - message.tokenStatuses = []; - message.tokenStatuses.push($root.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry.decode(reader, reader.uint32())); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a TokenStatuses message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses} TokenStatuses - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - TokenStatuses.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a TokenStatuses message. - * @function verify - * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - TokenStatuses.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.tokenStatuses != null && message.hasOwnProperty("tokenStatuses")) { - if (!Array.isArray(message.tokenStatuses)) - return "tokenStatuses: array expected"; - for (var i = 0; i < message.tokenStatuses.length; ++i) { - var error = $root.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry.verify(message.tokenStatuses[i]); - if (error) - return "tokenStatuses." + error; - } - } - return null; - }; - - /** - * Creates a TokenStatuses message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses - * @static - * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses} TokenStatuses - */ - TokenStatuses.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses) - return object; - var message = new $root.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses(); - if (object.tokenStatuses) { - if (!Array.isArray(object.tokenStatuses)) - throw TypeError(".org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses.tokenStatuses: array expected"); - message.tokenStatuses = []; - for (var i = 0; i < object.tokenStatuses.length; ++i) { - if (typeof object.tokenStatuses[i] !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses.tokenStatuses: object expected"); - message.tokenStatuses[i] = $root.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry.fromObject(object.tokenStatuses[i]); + object.startRecipient = $util.newBuffer(object.startRecipient); } + object.startRecipientIncluded = false; } - return message; - }; - - /** - * Creates a plain object from a TokenStatuses message. Also converts values to other types if specified. - * @function toObject - * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses - * @static - * @param {org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses} message TokenStatuses - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - TokenStatuses.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.arrays || options.defaults) - object.tokenStatuses = []; - if (message.tokenStatuses && message.tokenStatuses.length) { - object.tokenStatuses = []; - for (var j = 0; j < message.tokenStatuses.length; ++j) - object.tokenStatuses[j] = $root.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry.toObject(message.tokenStatuses[j], options); - } + if (message.startTimeMs != null && message.hasOwnProperty("startTimeMs")) + if (typeof message.startTimeMs === "number") + object.startTimeMs = options.longs === String ? String(message.startTimeMs) : message.startTimeMs; + else + object.startTimeMs = options.longs === String ? $util.Long.prototype.toString.call(message.startTimeMs) : options.longs === Number ? new $util.LongBits(message.startTimeMs.low >>> 0, message.startTimeMs.high >>> 0).toNumber(true) : message.startTimeMs; + if (message.startRecipient != null && message.hasOwnProperty("startRecipient")) + object.startRecipient = options.bytes === String ? $util.base64.encode(message.startRecipient, 0, message.startRecipient.length) : options.bytes === Array ? Array.prototype.slice.call(message.startRecipient) : message.startRecipient; + if (message.startRecipientIncluded != null && message.hasOwnProperty("startRecipientIncluded")) + object.startRecipientIncluded = message.startRecipientIncluded; return object; }; /** - * Converts this TokenStatuses to JSON. + * Converts this StartAtInfo to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses + * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo * @instance * @returns {Object.} JSON object */ - TokenStatuses.prototype.toJSON = function toJSON() { + StartAtInfo.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return TokenStatuses; + return StartAtInfo; })(); - return GetTokenStatusesResponseV0; + return GetTokenPreProgrammedDistributionsRequestV0; })(); - return GetTokenStatusesResponse; + return GetTokenPreProgrammedDistributionsRequest; })(); - v0.GetTokenDirectPurchasePricesResponse = (function() { + v0.GetTokenPreProgrammedDistributionsResponse = (function() { /** - * Properties of a GetTokenDirectPurchasePricesResponse. + * Properties of a GetTokenPreProgrammedDistributionsResponse. * @memberof org.dash.platform.dapi.v0 - * @interface IGetTokenDirectPurchasePricesResponse - * @property {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.IGetTokenDirectPurchasePricesResponseV0|null} [v0] GetTokenDirectPurchasePricesResponse v0 + * @interface IGetTokenPreProgrammedDistributionsResponse + * @property {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.IGetTokenPreProgrammedDistributionsResponseV0|null} [v0] GetTokenPreProgrammedDistributionsResponse v0 */ /** - * Constructs a new GetTokenDirectPurchasePricesResponse. + * Constructs a new GetTokenPreProgrammedDistributionsResponse. * @memberof org.dash.platform.dapi.v0 - * @classdesc Represents a GetTokenDirectPurchasePricesResponse. - * @implements IGetTokenDirectPurchasePricesResponse + * @classdesc Represents a GetTokenPreProgrammedDistributionsResponse. + * @implements IGetTokenPreProgrammedDistributionsResponse * @constructor - * @param {org.dash.platform.dapi.v0.IGetTokenDirectPurchasePricesResponse=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.IGetTokenPreProgrammedDistributionsResponse=} [properties] Properties to set */ - function GetTokenDirectPurchasePricesResponse(properties) { + function GetTokenPreProgrammedDistributionsResponse(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -52475,89 +59668,89 @@ $root.org = (function() { } /** - * GetTokenDirectPurchasePricesResponse v0. - * @member {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.IGetTokenDirectPurchasePricesResponseV0|null|undefined} v0 - * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse + * GetTokenPreProgrammedDistributionsResponse v0. + * @member {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.IGetTokenPreProgrammedDistributionsResponseV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse * @instance */ - GetTokenDirectPurchasePricesResponse.prototype.v0 = null; + GetTokenPreProgrammedDistributionsResponse.prototype.v0 = null; // OneOf field names bound to virtual getters and setters var $oneOfFields; /** - * GetTokenDirectPurchasePricesResponse version. + * GetTokenPreProgrammedDistributionsResponse version. * @member {"v0"|undefined} version - * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse + * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse * @instance */ - Object.defineProperty(GetTokenDirectPurchasePricesResponse.prototype, "version", { + Object.defineProperty(GetTokenPreProgrammedDistributionsResponse.prototype, "version", { get: $util.oneOfGetter($oneOfFields = ["v0"]), set: $util.oneOfSetter($oneOfFields) }); /** - * Creates a new GetTokenDirectPurchasePricesResponse instance using the specified properties. + * Creates a new GetTokenPreProgrammedDistributionsResponse instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse + * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse * @static - * @param {org.dash.platform.dapi.v0.IGetTokenDirectPurchasePricesResponse=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse} GetTokenDirectPurchasePricesResponse instance + * @param {org.dash.platform.dapi.v0.IGetTokenPreProgrammedDistributionsResponse=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse} GetTokenPreProgrammedDistributionsResponse instance */ - GetTokenDirectPurchasePricesResponse.create = function create(properties) { - return new GetTokenDirectPurchasePricesResponse(properties); + GetTokenPreProgrammedDistributionsResponse.create = function create(properties) { + return new GetTokenPreProgrammedDistributionsResponse(properties); }; /** - * Encodes the specified GetTokenDirectPurchasePricesResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.verify|verify} messages. + * Encodes the specified GetTokenPreProgrammedDistributionsResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse + * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse * @static - * @param {org.dash.platform.dapi.v0.IGetTokenDirectPurchasePricesResponse} message GetTokenDirectPurchasePricesResponse message or plain object to encode + * @param {org.dash.platform.dapi.v0.IGetTokenPreProgrammedDistributionsResponse} message GetTokenPreProgrammedDistributionsResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetTokenDirectPurchasePricesResponse.encode = function encode(message, writer) { + GetTokenPreProgrammedDistributionsResponse.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.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified GetTokenDirectPurchasePricesResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.verify|verify} messages. + * Encodes the specified GetTokenPreProgrammedDistributionsResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse + * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse * @static - * @param {org.dash.platform.dapi.v0.IGetTokenDirectPurchasePricesResponse} message GetTokenDirectPurchasePricesResponse message or plain object to encode + * @param {org.dash.platform.dapi.v0.IGetTokenPreProgrammedDistributionsResponse} message GetTokenPreProgrammedDistributionsResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetTokenDirectPurchasePricesResponse.encodeDelimited = function encodeDelimited(message, writer) { + GetTokenPreProgrammedDistributionsResponse.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetTokenDirectPurchasePricesResponse message from the specified reader or buffer. + * Decodes a GetTokenPreProgrammedDistributionsResponse message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse + * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse * @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.GetTokenDirectPurchasePricesResponse} GetTokenDirectPurchasePricesResponse + * @returns {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse} GetTokenPreProgrammedDistributionsResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetTokenDirectPurchasePricesResponse.decode = function decode(reader, length) { + GetTokenPreProgrammedDistributionsResponse.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.GetTokenDirectPurchasePricesResponse(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.v0 = $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.decode(reader, reader.uint32()); + message.v0 = $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -52568,37 +59761,37 @@ $root.org = (function() { }; /** - * Decodes a GetTokenDirectPurchasePricesResponse message from the specified reader or buffer, length delimited. + * Decodes a GetTokenPreProgrammedDistributionsResponse message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse + * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse} GetTokenDirectPurchasePricesResponse + * @returns {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse} GetTokenPreProgrammedDistributionsResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetTokenDirectPurchasePricesResponse.decodeDelimited = function decodeDelimited(reader) { + GetTokenPreProgrammedDistributionsResponse.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GetTokenDirectPurchasePricesResponse message. + * Verifies a GetTokenPreProgrammedDistributionsResponse message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse + * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetTokenDirectPurchasePricesResponse.verify = function verify(message) { + GetTokenPreProgrammedDistributionsResponse.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.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.verify(message.v0); + var error = $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.verify(message.v0); if (error) return "v0." + error; } @@ -52607,40 +59800,40 @@ $root.org = (function() { }; /** - * Creates a GetTokenDirectPurchasePricesResponse message from a plain object. Also converts values to their respective internal types. + * Creates a GetTokenPreProgrammedDistributionsResponse message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse + * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse} GetTokenDirectPurchasePricesResponse + * @returns {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse} GetTokenPreProgrammedDistributionsResponse */ - GetTokenDirectPurchasePricesResponse.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse) + GetTokenPreProgrammedDistributionsResponse.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse) return object; - var message = new $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse(); + var message = new $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse(); if (object.v0 != null) { if (typeof object.v0 !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.v0: object expected"); - message.v0 = $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.fromObject(object.v0); + throw TypeError(".org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.v0: object expected"); + message.v0 = $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.fromObject(object.v0); } return message; }; /** - * Creates a plain object from a GetTokenDirectPurchasePricesResponse message. Also converts values to other types if specified. + * Creates a plain object from a GetTokenPreProgrammedDistributionsResponse message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse + * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse * @static - * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse} message GetTokenDirectPurchasePricesResponse + * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse} message GetTokenPreProgrammedDistributionsResponse * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetTokenDirectPurchasePricesResponse.toObject = function toObject(message, options) { + GetTokenPreProgrammedDistributionsResponse.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.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.toObject(message.v0, options); + object.v0 = $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.toObject(message.v0, options); if (options.oneofs) object.version = "v0"; } @@ -52648,36 +59841,36 @@ $root.org = (function() { }; /** - * Converts this GetTokenDirectPurchasePricesResponse to JSON. + * Converts this GetTokenPreProgrammedDistributionsResponse to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse + * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse * @instance * @returns {Object.} JSON object */ - GetTokenDirectPurchasePricesResponse.prototype.toJSON = function toJSON() { + GetTokenPreProgrammedDistributionsResponse.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0 = (function() { + GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0 = (function() { /** - * Properties of a GetTokenDirectPurchasePricesResponseV0. - * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse - * @interface IGetTokenDirectPurchasePricesResponseV0 - * @property {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.ITokenDirectPurchasePrices|null} [tokenDirectPurchasePrices] GetTokenDirectPurchasePricesResponseV0 tokenDirectPurchasePrices - * @property {org.dash.platform.dapi.v0.IProof|null} [proof] GetTokenDirectPurchasePricesResponseV0 proof - * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetTokenDirectPurchasePricesResponseV0 metadata + * Properties of a GetTokenPreProgrammedDistributionsResponseV0. + * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse + * @interface IGetTokenPreProgrammedDistributionsResponseV0 + * @property {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.ITokenDistributions|null} [tokenDistributions] GetTokenPreProgrammedDistributionsResponseV0 tokenDistributions + * @property {org.dash.platform.dapi.v0.IProof|null} [proof] GetTokenPreProgrammedDistributionsResponseV0 proof + * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetTokenPreProgrammedDistributionsResponseV0 metadata */ /** - * Constructs a new GetTokenDirectPurchasePricesResponseV0. - * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse - * @classdesc Represents a GetTokenDirectPurchasePricesResponseV0. - * @implements IGetTokenDirectPurchasePricesResponseV0 + * Constructs a new GetTokenPreProgrammedDistributionsResponseV0. + * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse + * @classdesc Represents a GetTokenPreProgrammedDistributionsResponseV0. + * @implements IGetTokenPreProgrammedDistributionsResponseV0 * @constructor - * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.IGetTokenDirectPurchasePricesResponseV0=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.IGetTokenPreProgrammedDistributionsResponseV0=} [properties] Properties to set */ - function GetTokenDirectPurchasePricesResponseV0(properties) { + function GetTokenPreProgrammedDistributionsResponseV0(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -52685,69 +59878,69 @@ $root.org = (function() { } /** - * GetTokenDirectPurchasePricesResponseV0 tokenDirectPurchasePrices. - * @member {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.ITokenDirectPurchasePrices|null|undefined} tokenDirectPurchasePrices - * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0 + * GetTokenPreProgrammedDistributionsResponseV0 tokenDistributions. + * @member {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.ITokenDistributions|null|undefined} tokenDistributions + * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0 * @instance */ - GetTokenDirectPurchasePricesResponseV0.prototype.tokenDirectPurchasePrices = null; + GetTokenPreProgrammedDistributionsResponseV0.prototype.tokenDistributions = null; /** - * GetTokenDirectPurchasePricesResponseV0 proof. + * GetTokenPreProgrammedDistributionsResponseV0 proof. * @member {org.dash.platform.dapi.v0.IProof|null|undefined} proof - * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0 + * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0 * @instance */ - GetTokenDirectPurchasePricesResponseV0.prototype.proof = null; + GetTokenPreProgrammedDistributionsResponseV0.prototype.proof = null; /** - * GetTokenDirectPurchasePricesResponseV0 metadata. + * GetTokenPreProgrammedDistributionsResponseV0 metadata. * @member {org.dash.platform.dapi.v0.IResponseMetadata|null|undefined} metadata - * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0 + * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0 * @instance */ - GetTokenDirectPurchasePricesResponseV0.prototype.metadata = null; + GetTokenPreProgrammedDistributionsResponseV0.prototype.metadata = null; // OneOf field names bound to virtual getters and setters var $oneOfFields; /** - * GetTokenDirectPurchasePricesResponseV0 result. - * @member {"tokenDirectPurchasePrices"|"proof"|undefined} result - * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0 + * GetTokenPreProgrammedDistributionsResponseV0 result. + * @member {"tokenDistributions"|"proof"|undefined} result + * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0 * @instance */ - Object.defineProperty(GetTokenDirectPurchasePricesResponseV0.prototype, "result", { - get: $util.oneOfGetter($oneOfFields = ["tokenDirectPurchasePrices", "proof"]), + Object.defineProperty(GetTokenPreProgrammedDistributionsResponseV0.prototype, "result", { + get: $util.oneOfGetter($oneOfFields = ["tokenDistributions", "proof"]), set: $util.oneOfSetter($oneOfFields) }); /** - * Creates a new GetTokenDirectPurchasePricesResponseV0 instance using the specified properties. + * Creates a new GetTokenPreProgrammedDistributionsResponseV0 instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0 + * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.IGetTokenDirectPurchasePricesResponseV0=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0} GetTokenDirectPurchasePricesResponseV0 instance + * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.IGetTokenPreProgrammedDistributionsResponseV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0} GetTokenPreProgrammedDistributionsResponseV0 instance */ - GetTokenDirectPurchasePricesResponseV0.create = function create(properties) { - return new GetTokenDirectPurchasePricesResponseV0(properties); + GetTokenPreProgrammedDistributionsResponseV0.create = function create(properties) { + return new GetTokenPreProgrammedDistributionsResponseV0(properties); }; /** - * Encodes the specified GetTokenDirectPurchasePricesResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.verify|verify} messages. + * Encodes the specified GetTokenPreProgrammedDistributionsResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0 + * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.IGetTokenDirectPurchasePricesResponseV0} message GetTokenDirectPurchasePricesResponseV0 message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.IGetTokenPreProgrammedDistributionsResponseV0} message GetTokenPreProgrammedDistributionsResponseV0 message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetTokenDirectPurchasePricesResponseV0.encode = function encode(message, writer) { + GetTokenPreProgrammedDistributionsResponseV0.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.tokenDirectPurchasePrices != null && Object.hasOwnProperty.call(message, "tokenDirectPurchasePrices")) - $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices.encode(message.tokenDirectPurchasePrices, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.tokenDistributions != null && Object.hasOwnProperty.call(message, "tokenDistributions")) + $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions.encode(message.tokenDistributions, 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")) @@ -52756,38 +59949,38 @@ $root.org = (function() { }; /** - * Encodes the specified GetTokenDirectPurchasePricesResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.verify|verify} messages. + * Encodes the specified GetTokenPreProgrammedDistributionsResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0 + * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.IGetTokenDirectPurchasePricesResponseV0} message GetTokenDirectPurchasePricesResponseV0 message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.IGetTokenPreProgrammedDistributionsResponseV0} message GetTokenPreProgrammedDistributionsResponseV0 message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetTokenDirectPurchasePricesResponseV0.encodeDelimited = function encodeDelimited(message, writer) { + GetTokenPreProgrammedDistributionsResponseV0.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetTokenDirectPurchasePricesResponseV0 message from the specified reader or buffer. + * Decodes a GetTokenPreProgrammedDistributionsResponseV0 message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0 + * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0 * @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.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0} GetTokenDirectPurchasePricesResponseV0 + * @returns {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0} GetTokenPreProgrammedDistributionsResponseV0 * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetTokenDirectPurchasePricesResponseV0.decode = function decode(reader, length) { + GetTokenPreProgrammedDistributionsResponseV0.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.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.tokenDirectPurchasePrices = $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices.decode(reader, reader.uint32()); + message.tokenDistributions = $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions.decode(reader, reader.uint32()); break; case 2: message.proof = $root.org.dash.platform.dapi.v0.Proof.decode(reader, reader.uint32()); @@ -52804,39 +59997,39 @@ $root.org = (function() { }; /** - * Decodes a GetTokenDirectPurchasePricesResponseV0 message from the specified reader or buffer, length delimited. + * Decodes a GetTokenPreProgrammedDistributionsResponseV0 message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0 + * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0 * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0} GetTokenDirectPurchasePricesResponseV0 + * @returns {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0} GetTokenPreProgrammedDistributionsResponseV0 * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetTokenDirectPurchasePricesResponseV0.decodeDelimited = function decodeDelimited(reader) { + GetTokenPreProgrammedDistributionsResponseV0.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GetTokenDirectPurchasePricesResponseV0 message. + * Verifies a GetTokenPreProgrammedDistributionsResponseV0 message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0 + * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0 * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetTokenDirectPurchasePricesResponseV0.verify = function verify(message) { + GetTokenPreProgrammedDistributionsResponseV0.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; var properties = {}; - if (message.tokenDirectPurchasePrices != null && message.hasOwnProperty("tokenDirectPurchasePrices")) { + if (message.tokenDistributions != null && message.hasOwnProperty("tokenDistributions")) { properties.result = 1; { - var error = $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices.verify(message.tokenDirectPurchasePrices); + var error = $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions.verify(message.tokenDistributions); if (error) - return "tokenDirectPurchasePrices." + error; + return "tokenDistributions." + error; } } if (message.proof != null && message.hasOwnProperty("proof")) { @@ -52858,54 +60051,54 @@ $root.org = (function() { }; /** - * Creates a GetTokenDirectPurchasePricesResponseV0 message from a plain object. Also converts values to their respective internal types. + * Creates a GetTokenPreProgrammedDistributionsResponseV0 message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0 + * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0 * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0} GetTokenDirectPurchasePricesResponseV0 + * @returns {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0} GetTokenPreProgrammedDistributionsResponseV0 */ - GetTokenDirectPurchasePricesResponseV0.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0) + GetTokenPreProgrammedDistributionsResponseV0.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0) return object; - var message = new $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0(); - if (object.tokenDirectPurchasePrices != null) { - if (typeof object.tokenDirectPurchasePrices !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.tokenDirectPurchasePrices: object expected"); - message.tokenDirectPurchasePrices = $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices.fromObject(object.tokenDirectPurchasePrices); + var message = new $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0(); + if (object.tokenDistributions != null) { + if (typeof object.tokenDistributions !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.tokenDistributions: object expected"); + message.tokenDistributions = $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions.fromObject(object.tokenDistributions); } if (object.proof != null) { if (typeof object.proof !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.proof: object expected"); + throw TypeError(".org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.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.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.metadata: object expected"); + throw TypeError(".org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.metadata: object expected"); message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.fromObject(object.metadata); } return message; }; /** - * Creates a plain object from a GetTokenDirectPurchasePricesResponseV0 message. Also converts values to other types if specified. + * Creates a plain object from a GetTokenPreProgrammedDistributionsResponseV0 message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0 + * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0} message GetTokenDirectPurchasePricesResponseV0 + * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0} message GetTokenPreProgrammedDistributionsResponseV0 * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetTokenDirectPurchasePricesResponseV0.toObject = function toObject(message, options) { + GetTokenPreProgrammedDistributionsResponseV0.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) object.metadata = null; - if (message.tokenDirectPurchasePrices != null && message.hasOwnProperty("tokenDirectPurchasePrices")) { - object.tokenDirectPurchasePrices = $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices.toObject(message.tokenDirectPurchasePrices, options); + if (message.tokenDistributions != null && message.hasOwnProperty("tokenDistributions")) { + object.tokenDistributions = $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions.toObject(message.tokenDistributions, options); if (options.oneofs) - object.result = "tokenDirectPurchasePrices"; + object.result = "tokenDistributions"; } if (message.proof != null && message.hasOwnProperty("proof")) { object.proof = $root.org.dash.platform.dapi.v0.Proof.toObject(message.proof, options); @@ -52918,35 +60111,35 @@ $root.org = (function() { }; /** - * Converts this GetTokenDirectPurchasePricesResponseV0 to JSON. + * Converts this GetTokenPreProgrammedDistributionsResponseV0 to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0 + * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0 * @instance * @returns {Object.} JSON object */ - GetTokenDirectPurchasePricesResponseV0.prototype.toJSON = function toJSON() { + GetTokenPreProgrammedDistributionsResponseV0.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - GetTokenDirectPurchasePricesResponseV0.PriceForQuantity = (function() { + GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry = (function() { /** - * Properties of a PriceForQuantity. - * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0 - * @interface IPriceForQuantity - * @property {number|Long|null} [quantity] PriceForQuantity quantity - * @property {number|Long|null} [price] PriceForQuantity price + * Properties of a TokenDistributionEntry. + * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0 + * @interface ITokenDistributionEntry + * @property {Uint8Array|null} [recipientId] TokenDistributionEntry recipientId + * @property {number|Long|null} [amount] TokenDistributionEntry amount */ /** - * Constructs a new PriceForQuantity. - * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0 - * @classdesc Represents a PriceForQuantity. - * @implements IPriceForQuantity + * Constructs a new TokenDistributionEntry. + * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0 + * @classdesc Represents a TokenDistributionEntry. + * @implements ITokenDistributionEntry * @constructor - * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.IPriceForQuantity=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.ITokenDistributionEntry=} [properties] Properties to set */ - function PriceForQuantity(properties) { + function TokenDistributionEntry(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -52954,316 +60147,88 @@ $root.org = (function() { } /** - * PriceForQuantity quantity. - * @member {number|Long} quantity - * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity - * @instance - */ - PriceForQuantity.prototype.quantity = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - - /** - * PriceForQuantity price. - * @member {number|Long} price - * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity - * @instance - */ - PriceForQuantity.prototype.price = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - - /** - * Creates a new PriceForQuantity instance using the specified properties. - * @function create - * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity - * @static - * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.IPriceForQuantity=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity} PriceForQuantity instance - */ - PriceForQuantity.create = function create(properties) { - return new PriceForQuantity(properties); - }; - - /** - * Encodes the specified PriceForQuantity message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity.verify|verify} messages. - * @function encode - * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity - * @static - * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.IPriceForQuantity} message PriceForQuantity message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - PriceForQuantity.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.quantity != null && Object.hasOwnProperty.call(message, "quantity")) - writer.uint32(/* id 1, wireType 0 =*/8).uint64(message.quantity); - if (message.price != null && Object.hasOwnProperty.call(message, "price")) - writer.uint32(/* id 2, wireType 0 =*/16).uint64(message.price); - return writer; - }; - - /** - * Encodes the specified PriceForQuantity message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity.verify|verify} messages. - * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity - * @static - * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.IPriceForQuantity} message PriceForQuantity message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - PriceForQuantity.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a PriceForQuantity message from the specified reader or buffer. - * @function decode - * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity - * @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.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity} PriceForQuantity - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - PriceForQuantity.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.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.quantity = reader.uint64(); - break; - case 2: - message.price = reader.uint64(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a PriceForQuantity message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity} PriceForQuantity - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - PriceForQuantity.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a PriceForQuantity message. - * @function verify - * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - PriceForQuantity.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.quantity != null && message.hasOwnProperty("quantity")) - if (!$util.isInteger(message.quantity) && !(message.quantity && $util.isInteger(message.quantity.low) && $util.isInteger(message.quantity.high))) - return "quantity: integer|Long expected"; - if (message.price != null && message.hasOwnProperty("price")) - if (!$util.isInteger(message.price) && !(message.price && $util.isInteger(message.price.low) && $util.isInteger(message.price.high))) - return "price: integer|Long expected"; - return null; - }; - - /** - * Creates a PriceForQuantity message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity - * @static - * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity} PriceForQuantity - */ - PriceForQuantity.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity) - return object; - var message = new $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity(); - if (object.quantity != null) - if ($util.Long) - (message.quantity = $util.Long.fromValue(object.quantity)).unsigned = true; - else if (typeof object.quantity === "string") - message.quantity = parseInt(object.quantity, 10); - else if (typeof object.quantity === "number") - message.quantity = object.quantity; - else if (typeof object.quantity === "object") - message.quantity = new $util.LongBits(object.quantity.low >>> 0, object.quantity.high >>> 0).toNumber(true); - if (object.price != null) - if ($util.Long) - (message.price = $util.Long.fromValue(object.price)).unsigned = true; - else if (typeof object.price === "string") - message.price = parseInt(object.price, 10); - else if (typeof object.price === "number") - message.price = object.price; - else if (typeof object.price === "object") - message.price = new $util.LongBits(object.price.low >>> 0, object.price.high >>> 0).toNumber(true); - return message; - }; - - /** - * Creates a plain object from a PriceForQuantity message. Also converts values to other types if specified. - * @function toObject - * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity - * @static - * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity} message PriceForQuantity - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - PriceForQuantity.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.quantity = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.quantity = options.longs === String ? "0" : 0; - if ($util.Long) { - var long = new $util.Long(0, 0, true); - object.price = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.price = options.longs === String ? "0" : 0; - } - if (message.quantity != null && message.hasOwnProperty("quantity")) - if (typeof message.quantity === "number") - object.quantity = options.longs === String ? String(message.quantity) : message.quantity; - else - object.quantity = options.longs === String ? $util.Long.prototype.toString.call(message.quantity) : options.longs === Number ? new $util.LongBits(message.quantity.low >>> 0, message.quantity.high >>> 0).toNumber(true) : message.quantity; - if (message.price != null && message.hasOwnProperty("price")) - if (typeof message.price === "number") - object.price = options.longs === String ? String(message.price) : message.price; - else - object.price = options.longs === String ? $util.Long.prototype.toString.call(message.price) : options.longs === Number ? new $util.LongBits(message.price.low >>> 0, message.price.high >>> 0).toNumber(true) : message.price; - return object; - }; - - /** - * Converts this PriceForQuantity to JSON. - * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity + * TokenDistributionEntry recipientId. + * @member {Uint8Array} recipientId + * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry * @instance - * @returns {Object.} JSON object - */ - PriceForQuantity.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return PriceForQuantity; - })(); - - GetTokenDirectPurchasePricesResponseV0.PricingSchedule = (function() { - - /** - * Properties of a PricingSchedule. - * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0 - * @interface IPricingSchedule - * @property {Array.|null} [priceForQuantity] PricingSchedule priceForQuantity - */ - - /** - * Constructs a new PricingSchedule. - * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0 - * @classdesc Represents a PricingSchedule. - * @implements IPricingSchedule - * @constructor - * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.IPricingSchedule=} [properties] Properties to set */ - function PricingSchedule(properties) { - this.priceForQuantity = []; - 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]]; - } + TokenDistributionEntry.prototype.recipientId = $util.newBuffer([]); /** - * PricingSchedule priceForQuantity. - * @member {Array.} priceForQuantity - * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule + * TokenDistributionEntry amount. + * @member {number|Long} amount + * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry * @instance */ - PricingSchedule.prototype.priceForQuantity = $util.emptyArray; + TokenDistributionEntry.prototype.amount = $util.Long ? $util.Long.fromBits(0,0,true) : 0; /** - * Creates a new PricingSchedule instance using the specified properties. + * Creates a new TokenDistributionEntry instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule + * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry * @static - * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.IPricingSchedule=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule} PricingSchedule instance + * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.ITokenDistributionEntry=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry} TokenDistributionEntry instance */ - PricingSchedule.create = function create(properties) { - return new PricingSchedule(properties); + TokenDistributionEntry.create = function create(properties) { + return new TokenDistributionEntry(properties); }; /** - * Encodes the specified PricingSchedule message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule.verify|verify} messages. + * Encodes the specified TokenDistributionEntry message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule + * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry * @static - * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.IPricingSchedule} message PricingSchedule message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.ITokenDistributionEntry} message TokenDistributionEntry message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - PricingSchedule.encode = function encode(message, writer) { + TokenDistributionEntry.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.priceForQuantity != null && message.priceForQuantity.length) - for (var i = 0; i < message.priceForQuantity.length; ++i) - $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity.encode(message.priceForQuantity[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.recipientId != null && Object.hasOwnProperty.call(message, "recipientId")) + writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.recipientId); + if (message.amount != null && Object.hasOwnProperty.call(message, "amount")) + writer.uint32(/* id 2, wireType 0 =*/16).uint64(message.amount); return writer; }; /** - * Encodes the specified PricingSchedule message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule.verify|verify} messages. + * Encodes the specified TokenDistributionEntry message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule + * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry * @static - * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.IPricingSchedule} message PricingSchedule message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.ITokenDistributionEntry} message TokenDistributionEntry message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - PricingSchedule.encodeDelimited = function encodeDelimited(message, writer) { + TokenDistributionEntry.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a PricingSchedule message from the specified reader or buffer. + * Decodes a TokenDistributionEntry message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule + * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry * @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.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule} PricingSchedule + * @returns {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry} TokenDistributionEntry * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - PricingSchedule.decode = function decode(reader, length) { + TokenDistributionEntry.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.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - if (!(message.priceForQuantity && message.priceForQuantity.length)) - message.priceForQuantity = []; - message.priceForQuantity.push($root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity.decode(reader, reader.uint32())); + message.recipientId = reader.bytes(); + break; + case 2: + message.amount = reader.uint64(); break; default: reader.skipType(tag & 7); @@ -53274,126 +60239,141 @@ $root.org = (function() { }; /** - * Decodes a PricingSchedule message from the specified reader or buffer, length delimited. + * Decodes a TokenDistributionEntry message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule + * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule} PricingSchedule + * @returns {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry} TokenDistributionEntry * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - PricingSchedule.decodeDelimited = function decodeDelimited(reader) { + TokenDistributionEntry.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a PricingSchedule message. + * Verifies a TokenDistributionEntry message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule + * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - PricingSchedule.verify = function verify(message) { + TokenDistributionEntry.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.priceForQuantity != null && message.hasOwnProperty("priceForQuantity")) { - if (!Array.isArray(message.priceForQuantity)) - return "priceForQuantity: array expected"; - for (var i = 0; i < message.priceForQuantity.length; ++i) { - var error = $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity.verify(message.priceForQuantity[i]); - if (error) - return "priceForQuantity." + error; - } - } + if (message.recipientId != null && message.hasOwnProperty("recipientId")) + if (!(message.recipientId && typeof message.recipientId.length === "number" || $util.isString(message.recipientId))) + return "recipientId: buffer expected"; + if (message.amount != null && message.hasOwnProperty("amount")) + if (!$util.isInteger(message.amount) && !(message.amount && $util.isInteger(message.amount.low) && $util.isInteger(message.amount.high))) + return "amount: integer|Long expected"; return null; }; /** - * Creates a PricingSchedule message from a plain object. Also converts values to their respective internal types. + * Creates a TokenDistributionEntry message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule + * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule} PricingSchedule + * @returns {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry} TokenDistributionEntry */ - PricingSchedule.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule) + TokenDistributionEntry.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry) return object; - var message = new $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule(); - if (object.priceForQuantity) { - if (!Array.isArray(object.priceForQuantity)) - throw TypeError(".org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule.priceForQuantity: array expected"); - message.priceForQuantity = []; - for (var i = 0; i < object.priceForQuantity.length; ++i) { - if (typeof object.priceForQuantity[i] !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule.priceForQuantity: object expected"); - message.priceForQuantity[i] = $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity.fromObject(object.priceForQuantity[i]); - } - } + var message = new $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry(); + if (object.recipientId != null) + if (typeof object.recipientId === "string") + $util.base64.decode(object.recipientId, message.recipientId = $util.newBuffer($util.base64.length(object.recipientId)), 0); + else if (object.recipientId.length >= 0) + message.recipientId = object.recipientId; + if (object.amount != null) + if ($util.Long) + (message.amount = $util.Long.fromValue(object.amount)).unsigned = true; + else if (typeof object.amount === "string") + message.amount = parseInt(object.amount, 10); + else if (typeof object.amount === "number") + message.amount = object.amount; + else if (typeof object.amount === "object") + message.amount = new $util.LongBits(object.amount.low >>> 0, object.amount.high >>> 0).toNumber(true); return message; }; /** - * Creates a plain object from a PricingSchedule message. Also converts values to other types if specified. + * Creates a plain object from a TokenDistributionEntry message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule + * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry * @static - * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule} message PricingSchedule + * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry} message TokenDistributionEntry * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - PricingSchedule.toObject = function toObject(message, options) { + TokenDistributionEntry.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.arrays || options.defaults) - object.priceForQuantity = []; - if (message.priceForQuantity && message.priceForQuantity.length) { - object.priceForQuantity = []; - for (var j = 0; j < message.priceForQuantity.length; ++j) - object.priceForQuantity[j] = $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity.toObject(message.priceForQuantity[j], options); + if (options.defaults) { + if (options.bytes === String) + object.recipientId = ""; + else { + object.recipientId = []; + if (options.bytes !== Array) + object.recipientId = $util.newBuffer(object.recipientId); + } + if ($util.Long) { + var long = new $util.Long(0, 0, true); + object.amount = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.amount = options.longs === String ? "0" : 0; } + if (message.recipientId != null && message.hasOwnProperty("recipientId")) + object.recipientId = options.bytes === String ? $util.base64.encode(message.recipientId, 0, message.recipientId.length) : options.bytes === Array ? Array.prototype.slice.call(message.recipientId) : message.recipientId; + if (message.amount != null && message.hasOwnProperty("amount")) + if (typeof message.amount === "number") + object.amount = options.longs === String ? String(message.amount) : message.amount; + else + object.amount = options.longs === String ? $util.Long.prototype.toString.call(message.amount) : options.longs === Number ? new $util.LongBits(message.amount.low >>> 0, message.amount.high >>> 0).toNumber(true) : message.amount; return object; }; /** - * Converts this PricingSchedule to JSON. + * Converts this TokenDistributionEntry to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule + * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry * @instance * @returns {Object.} JSON object */ - PricingSchedule.prototype.toJSON = function toJSON() { + TokenDistributionEntry.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return PricingSchedule; + return TokenDistributionEntry; })(); - GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry = (function() { + GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry = (function() { /** - * Properties of a TokenDirectPurchasePriceEntry. - * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0 - * @interface ITokenDirectPurchasePriceEntry - * @property {Uint8Array|null} [tokenId] TokenDirectPurchasePriceEntry tokenId - * @property {number|Long|null} [fixedPrice] TokenDirectPurchasePriceEntry fixedPrice - * @property {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.IPricingSchedule|null} [variablePrice] TokenDirectPurchasePriceEntry variablePrice + * Properties of a TokenTimedDistributionEntry. + * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0 + * @interface ITokenTimedDistributionEntry + * @property {number|Long|null} [timestamp] TokenTimedDistributionEntry timestamp + * @property {Array.|null} [distributions] TokenTimedDistributionEntry distributions */ /** - * Constructs a new TokenDirectPurchasePriceEntry. - * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0 - * @classdesc Represents a TokenDirectPurchasePriceEntry. - * @implements ITokenDirectPurchasePriceEntry + * Constructs a new TokenTimedDistributionEntry. + * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0 + * @classdesc Represents a TokenTimedDistributionEntry. + * @implements ITokenTimedDistributionEntry * @constructor - * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.ITokenDirectPurchasePriceEntry=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.ITokenTimedDistributionEntry=} [properties] Properties to set */ - function TokenDirectPurchasePriceEntry(properties) { + function TokenTimedDistributionEntry(properties) { + this.distributions = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -53401,115 +60381,91 @@ $root.org = (function() { } /** - * TokenDirectPurchasePriceEntry tokenId. - * @member {Uint8Array} tokenId - * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry - * @instance - */ - TokenDirectPurchasePriceEntry.prototype.tokenId = $util.newBuffer([]); - - /** - * TokenDirectPurchasePriceEntry fixedPrice. - * @member {number|Long} fixedPrice - * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry - * @instance - */ - TokenDirectPurchasePriceEntry.prototype.fixedPrice = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - - /** - * TokenDirectPurchasePriceEntry variablePrice. - * @member {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.IPricingSchedule|null|undefined} variablePrice - * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry + * TokenTimedDistributionEntry timestamp. + * @member {number|Long} timestamp + * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry * @instance */ - TokenDirectPurchasePriceEntry.prototype.variablePrice = null; - - // OneOf field names bound to virtual getters and setters - var $oneOfFields; + TokenTimedDistributionEntry.prototype.timestamp = $util.Long ? $util.Long.fromBits(0,0,true) : 0; /** - * TokenDirectPurchasePriceEntry price. - * @member {"fixedPrice"|"variablePrice"|undefined} price - * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry + * TokenTimedDistributionEntry distributions. + * @member {Array.} distributions + * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry * @instance */ - Object.defineProperty(TokenDirectPurchasePriceEntry.prototype, "price", { - get: $util.oneOfGetter($oneOfFields = ["fixedPrice", "variablePrice"]), - set: $util.oneOfSetter($oneOfFields) - }); + TokenTimedDistributionEntry.prototype.distributions = $util.emptyArray; /** - * Creates a new TokenDirectPurchasePriceEntry instance using the specified properties. + * Creates a new TokenTimedDistributionEntry instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry + * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry * @static - * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.ITokenDirectPurchasePriceEntry=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry} TokenDirectPurchasePriceEntry instance + * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.ITokenTimedDistributionEntry=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry} TokenTimedDistributionEntry instance */ - TokenDirectPurchasePriceEntry.create = function create(properties) { - return new TokenDirectPurchasePriceEntry(properties); + TokenTimedDistributionEntry.create = function create(properties) { + return new TokenTimedDistributionEntry(properties); }; /** - * Encodes the specified TokenDirectPurchasePriceEntry message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.verify|verify} messages. + * Encodes the specified TokenTimedDistributionEntry message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry + * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry * @static - * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.ITokenDirectPurchasePriceEntry} message TokenDirectPurchasePriceEntry message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.ITokenTimedDistributionEntry} message TokenTimedDistributionEntry message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - TokenDirectPurchasePriceEntry.encode = function encode(message, writer) { + TokenTimedDistributionEntry.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.tokenId != null && Object.hasOwnProperty.call(message, "tokenId")) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.tokenId); - if (message.fixedPrice != null && Object.hasOwnProperty.call(message, "fixedPrice")) - writer.uint32(/* id 2, wireType 0 =*/16).uint64(message.fixedPrice); - if (message.variablePrice != null && Object.hasOwnProperty.call(message, "variablePrice")) - $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule.encode(message.variablePrice, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.timestamp != null && Object.hasOwnProperty.call(message, "timestamp")) + writer.uint32(/* id 1, wireType 0 =*/8).uint64(message.timestamp); + if (message.distributions != null && message.distributions.length) + for (var i = 0; i < message.distributions.length; ++i) + $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry.encode(message.distributions[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; /** - * Encodes the specified TokenDirectPurchasePriceEntry message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.verify|verify} messages. + * Encodes the specified TokenTimedDistributionEntry message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry + * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry * @static - * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.ITokenDirectPurchasePriceEntry} message TokenDirectPurchasePriceEntry message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.ITokenTimedDistributionEntry} message TokenTimedDistributionEntry message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - TokenDirectPurchasePriceEntry.encodeDelimited = function encodeDelimited(message, writer) { + TokenTimedDistributionEntry.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a TokenDirectPurchasePriceEntry message from the specified reader or buffer. + * Decodes a TokenTimedDistributionEntry message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry + * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry * @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.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry} TokenDirectPurchasePriceEntry + * @returns {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry} TokenTimedDistributionEntry * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - TokenDirectPurchasePriceEntry.decode = function decode(reader, length) { + TokenTimedDistributionEntry.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.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.tokenId = reader.bytes(); + message.timestamp = reader.uint64(); break; case 2: - message.fixedPrice = reader.uint64(); - break; - case 3: - message.variablePrice = $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule.decode(reader, reader.uint32()); + if (!(message.distributions && message.distributions.length)) + message.distributions = []; + message.distributions.push($root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry.decode(reader, reader.uint32())); break; default: reader.skipType(tag & 7); @@ -53520,160 +60476,148 @@ $root.org = (function() { }; /** - * Decodes a TokenDirectPurchasePriceEntry message from the specified reader or buffer, length delimited. + * Decodes a TokenTimedDistributionEntry message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry + * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry} TokenDirectPurchasePriceEntry + * @returns {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry} TokenTimedDistributionEntry * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - TokenDirectPurchasePriceEntry.decodeDelimited = function decodeDelimited(reader) { + TokenTimedDistributionEntry.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a TokenDirectPurchasePriceEntry message. + * Verifies a TokenTimedDistributionEntry message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry + * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - TokenDirectPurchasePriceEntry.verify = function verify(message) { + TokenTimedDistributionEntry.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - var properties = {}; - if (message.tokenId != null && message.hasOwnProperty("tokenId")) - if (!(message.tokenId && typeof message.tokenId.length === "number" || $util.isString(message.tokenId))) - return "tokenId: buffer expected"; - if (message.fixedPrice != null && message.hasOwnProperty("fixedPrice")) { - properties.price = 1; - if (!$util.isInteger(message.fixedPrice) && !(message.fixedPrice && $util.isInteger(message.fixedPrice.low) && $util.isInteger(message.fixedPrice.high))) - return "fixedPrice: integer|Long expected"; - } - if (message.variablePrice != null && message.hasOwnProperty("variablePrice")) { - if (properties.price === 1) - return "price: multiple values"; - properties.price = 1; - { - var error = $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule.verify(message.variablePrice); + if (message.timestamp != null && message.hasOwnProperty("timestamp")) + if (!$util.isInteger(message.timestamp) && !(message.timestamp && $util.isInteger(message.timestamp.low) && $util.isInteger(message.timestamp.high))) + return "timestamp: integer|Long expected"; + if (message.distributions != null && message.hasOwnProperty("distributions")) { + if (!Array.isArray(message.distributions)) + return "distributions: array expected"; + for (var i = 0; i < message.distributions.length; ++i) { + var error = $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry.verify(message.distributions[i]); if (error) - return "variablePrice." + error; + return "distributions." + error; } } return null; }; /** - * Creates a TokenDirectPurchasePriceEntry message from a plain object. Also converts values to their respective internal types. + * Creates a TokenTimedDistributionEntry message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry + * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry} TokenDirectPurchasePriceEntry + * @returns {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry} TokenTimedDistributionEntry */ - TokenDirectPurchasePriceEntry.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry) + TokenTimedDistributionEntry.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry) return object; - var message = new $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry(); - if (object.tokenId != null) - if (typeof object.tokenId === "string") - $util.base64.decode(object.tokenId, message.tokenId = $util.newBuffer($util.base64.length(object.tokenId)), 0); - else if (object.tokenId.length >= 0) - message.tokenId = object.tokenId; - if (object.fixedPrice != null) + var message = new $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry(); + if (object.timestamp != null) if ($util.Long) - (message.fixedPrice = $util.Long.fromValue(object.fixedPrice)).unsigned = true; - else if (typeof object.fixedPrice === "string") - message.fixedPrice = parseInt(object.fixedPrice, 10); - else if (typeof object.fixedPrice === "number") - message.fixedPrice = object.fixedPrice; - else if (typeof object.fixedPrice === "object") - message.fixedPrice = new $util.LongBits(object.fixedPrice.low >>> 0, object.fixedPrice.high >>> 0).toNumber(true); - if (object.variablePrice != null) { - if (typeof object.variablePrice !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.variablePrice: object expected"); - message.variablePrice = $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule.fromObject(object.variablePrice); + (message.timestamp = $util.Long.fromValue(object.timestamp)).unsigned = true; + else if (typeof object.timestamp === "string") + message.timestamp = parseInt(object.timestamp, 10); + else if (typeof object.timestamp === "number") + message.timestamp = object.timestamp; + else if (typeof object.timestamp === "object") + message.timestamp = new $util.LongBits(object.timestamp.low >>> 0, object.timestamp.high >>> 0).toNumber(true); + if (object.distributions) { + if (!Array.isArray(object.distributions)) + throw TypeError(".org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry.distributions: array expected"); + message.distributions = []; + for (var i = 0; i < object.distributions.length; ++i) { + if (typeof object.distributions[i] !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry.distributions: object expected"); + message.distributions[i] = $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry.fromObject(object.distributions[i]); + } } return message; }; /** - * Creates a plain object from a TokenDirectPurchasePriceEntry message. Also converts values to other types if specified. + * Creates a plain object from a TokenTimedDistributionEntry message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry + * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry * @static - * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry} message TokenDirectPurchasePriceEntry + * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry} message TokenTimedDistributionEntry * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - TokenDirectPurchasePriceEntry.toObject = function toObject(message, options) { + TokenTimedDistributionEntry.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; + if (options.arrays || options.defaults) + object.distributions = []; if (options.defaults) - if (options.bytes === String) - object.tokenId = ""; - else { - object.tokenId = []; - if (options.bytes !== Array) - object.tokenId = $util.newBuffer(object.tokenId); - } - if (message.tokenId != null && message.hasOwnProperty("tokenId")) - object.tokenId = options.bytes === String ? $util.base64.encode(message.tokenId, 0, message.tokenId.length) : options.bytes === Array ? Array.prototype.slice.call(message.tokenId) : message.tokenId; - if (message.fixedPrice != null && message.hasOwnProperty("fixedPrice")) { - if (typeof message.fixedPrice === "number") - object.fixedPrice = options.longs === String ? String(message.fixedPrice) : message.fixedPrice; + if ($util.Long) { + var long = new $util.Long(0, 0, true); + object.timestamp = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.timestamp = options.longs === String ? "0" : 0; + if (message.timestamp != null && message.hasOwnProperty("timestamp")) + if (typeof message.timestamp === "number") + object.timestamp = options.longs === String ? String(message.timestamp) : message.timestamp; else - object.fixedPrice = options.longs === String ? $util.Long.prototype.toString.call(message.fixedPrice) : options.longs === Number ? new $util.LongBits(message.fixedPrice.low >>> 0, message.fixedPrice.high >>> 0).toNumber(true) : message.fixedPrice; - if (options.oneofs) - object.price = "fixedPrice"; - } - if (message.variablePrice != null && message.hasOwnProperty("variablePrice")) { - object.variablePrice = $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule.toObject(message.variablePrice, options); - if (options.oneofs) - object.price = "variablePrice"; + object.timestamp = options.longs === String ? $util.Long.prototype.toString.call(message.timestamp) : options.longs === Number ? new $util.LongBits(message.timestamp.low >>> 0, message.timestamp.high >>> 0).toNumber(true) : message.timestamp; + if (message.distributions && message.distributions.length) { + object.distributions = []; + for (var j = 0; j < message.distributions.length; ++j) + object.distributions[j] = $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry.toObject(message.distributions[j], options); } return object; }; /** - * Converts this TokenDirectPurchasePriceEntry to JSON. + * Converts this TokenTimedDistributionEntry to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry + * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry * @instance * @returns {Object.} JSON object */ - TokenDirectPurchasePriceEntry.prototype.toJSON = function toJSON() { + TokenTimedDistributionEntry.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return TokenDirectPurchasePriceEntry; + return TokenTimedDistributionEntry; })(); - GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices = (function() { + GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions = (function() { /** - * Properties of a TokenDirectPurchasePrices. - * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0 - * @interface ITokenDirectPurchasePrices - * @property {Array.|null} [tokenDirectPurchasePrice] TokenDirectPurchasePrices tokenDirectPurchasePrice + * Properties of a TokenDistributions. + * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0 + * @interface ITokenDistributions + * @property {Array.|null} [tokenDistributions] TokenDistributions tokenDistributions */ /** - * Constructs a new TokenDirectPurchasePrices. - * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0 - * @classdesc Represents a TokenDirectPurchasePrices. - * @implements ITokenDirectPurchasePrices + * Constructs a new TokenDistributions. + * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0 + * @classdesc Represents a TokenDistributions. + * @implements ITokenDistributions * @constructor - * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.ITokenDirectPurchasePrices=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.ITokenDistributions=} [properties] Properties to set */ - function TokenDirectPurchasePrices(properties) { - this.tokenDirectPurchasePrice = []; + function TokenDistributions(properties) { + this.tokenDistributions = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -53681,78 +60625,78 @@ $root.org = (function() { } /** - * TokenDirectPurchasePrices tokenDirectPurchasePrice. - * @member {Array.} tokenDirectPurchasePrice - * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices + * TokenDistributions tokenDistributions. + * @member {Array.} tokenDistributions + * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions * @instance */ - TokenDirectPurchasePrices.prototype.tokenDirectPurchasePrice = $util.emptyArray; + TokenDistributions.prototype.tokenDistributions = $util.emptyArray; /** - * Creates a new TokenDirectPurchasePrices instance using the specified properties. + * Creates a new TokenDistributions instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices + * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions * @static - * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.ITokenDirectPurchasePrices=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices} TokenDirectPurchasePrices instance + * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.ITokenDistributions=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions} TokenDistributions instance */ - TokenDirectPurchasePrices.create = function create(properties) { - return new TokenDirectPurchasePrices(properties); + TokenDistributions.create = function create(properties) { + return new TokenDistributions(properties); }; /** - * Encodes the specified TokenDirectPurchasePrices message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices.verify|verify} messages. + * Encodes the specified TokenDistributions message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices + * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions * @static - * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.ITokenDirectPurchasePrices} message TokenDirectPurchasePrices message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.ITokenDistributions} message TokenDistributions message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - TokenDirectPurchasePrices.encode = function encode(message, writer) { + TokenDistributions.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.tokenDirectPurchasePrice != null && message.tokenDirectPurchasePrice.length) - for (var i = 0; i < message.tokenDirectPurchasePrice.length; ++i) - $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.encode(message.tokenDirectPurchasePrice[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.tokenDistributions != null && message.tokenDistributions.length) + for (var i = 0; i < message.tokenDistributions.length; ++i) + $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry.encode(message.tokenDistributions[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified TokenDirectPurchasePrices message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices.verify|verify} messages. + * Encodes the specified TokenDistributions message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices + * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions * @static - * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.ITokenDirectPurchasePrices} message TokenDirectPurchasePrices message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.ITokenDistributions} message TokenDistributions message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - TokenDirectPurchasePrices.encodeDelimited = function encodeDelimited(message, writer) { + TokenDistributions.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a TokenDirectPurchasePrices message from the specified reader or buffer. + * Decodes a TokenDistributions message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices + * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions * @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.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices} TokenDirectPurchasePrices + * @returns {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions} TokenDistributions * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - TokenDirectPurchasePrices.decode = function decode(reader, length) { + TokenDistributions.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.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - if (!(message.tokenDirectPurchasePrice && message.tokenDirectPurchasePrice.length)) - message.tokenDirectPurchasePrice = []; - message.tokenDirectPurchasePrice.push($root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.decode(reader, reader.uint32())); + if (!(message.tokenDistributions && message.tokenDistributions.length)) + message.tokenDistributions = []; + message.tokenDistributions.push($root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry.decode(reader, reader.uint32())); break; default: reader.skipType(tag & 7); @@ -53763,570 +60707,130 @@ $root.org = (function() { }; /** - * Decodes a TokenDirectPurchasePrices message from the specified reader or buffer, length delimited. + * Decodes a TokenDistributions message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices + * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices} TokenDirectPurchasePrices + * @returns {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions} TokenDistributions * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - TokenDirectPurchasePrices.decodeDelimited = function decodeDelimited(reader) { + TokenDistributions.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a TokenDirectPurchasePrices message. + * Verifies a TokenDistributions message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices + * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - TokenDirectPurchasePrices.verify = function verify(message) { + TokenDistributions.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.tokenDirectPurchasePrice != null && message.hasOwnProperty("tokenDirectPurchasePrice")) { - if (!Array.isArray(message.tokenDirectPurchasePrice)) - return "tokenDirectPurchasePrice: array expected"; - for (var i = 0; i < message.tokenDirectPurchasePrice.length; ++i) { - var error = $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.verify(message.tokenDirectPurchasePrice[i]); + if (message.tokenDistributions != null && message.hasOwnProperty("tokenDistributions")) { + if (!Array.isArray(message.tokenDistributions)) + return "tokenDistributions: array expected"; + for (var i = 0; i < message.tokenDistributions.length; ++i) { + var error = $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry.verify(message.tokenDistributions[i]); if (error) - return "tokenDirectPurchasePrice." + error; + return "tokenDistributions." + error; } } return null; }; /** - * Creates a TokenDirectPurchasePrices message from a plain object. Also converts values to their respective internal types. + * Creates a TokenDistributions message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices + * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices} TokenDirectPurchasePrices + * @returns {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions} TokenDistributions */ - TokenDirectPurchasePrices.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices) + TokenDistributions.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions) return object; - var message = new $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices(); - if (object.tokenDirectPurchasePrice) { - if (!Array.isArray(object.tokenDirectPurchasePrice)) - throw TypeError(".org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices.tokenDirectPurchasePrice: array expected"); - message.tokenDirectPurchasePrice = []; - for (var i = 0; i < object.tokenDirectPurchasePrice.length; ++i) { - if (typeof object.tokenDirectPurchasePrice[i] !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices.tokenDirectPurchasePrice: object expected"); - message.tokenDirectPurchasePrice[i] = $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.fromObject(object.tokenDirectPurchasePrice[i]); + var message = new $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions(); + if (object.tokenDistributions) { + if (!Array.isArray(object.tokenDistributions)) + throw TypeError(".org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions.tokenDistributions: array expected"); + message.tokenDistributions = []; + for (var i = 0; i < object.tokenDistributions.length; ++i) { + if (typeof object.tokenDistributions[i] !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions.tokenDistributions: object expected"); + message.tokenDistributions[i] = $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry.fromObject(object.tokenDistributions[i]); } } return message; }; /** - * Creates a plain object from a TokenDirectPurchasePrices message. Also converts values to other types if specified. + * Creates a plain object from a TokenDistributions message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices + * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions * @static - * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices} message TokenDirectPurchasePrices + * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions} message TokenDistributions * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - TokenDirectPurchasePrices.toObject = function toObject(message, options) { + TokenDistributions.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.arrays || options.defaults) - object.tokenDirectPurchasePrice = []; - if (message.tokenDirectPurchasePrice && message.tokenDirectPurchasePrice.length) { - object.tokenDirectPurchasePrice = []; - for (var j = 0; j < message.tokenDirectPurchasePrice.length; ++j) - object.tokenDirectPurchasePrice[j] = $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.toObject(message.tokenDirectPurchasePrice[j], options); + object.tokenDistributions = []; + if (message.tokenDistributions && message.tokenDistributions.length) { + object.tokenDistributions = []; + for (var j = 0; j < message.tokenDistributions.length; ++j) + object.tokenDistributions[j] = $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry.toObject(message.tokenDistributions[j], options); } return object; }; /** - * Converts this TokenDirectPurchasePrices to JSON. + * Converts this TokenDistributions to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices + * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions * @instance * @returns {Object.} JSON object */ - TokenDirectPurchasePrices.prototype.toJSON = function toJSON() { + TokenDistributions.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return TokenDirectPurchasePrices; + return TokenDistributions; })(); - return GetTokenDirectPurchasePricesResponseV0; - })(); - - return GetTokenDirectPurchasePricesResponse; - })(); - - v0.GetTokenDirectPurchasePricesRequest = (function() { - - /** - * Properties of a GetTokenDirectPurchasePricesRequest. - * @memberof org.dash.platform.dapi.v0 - * @interface IGetTokenDirectPurchasePricesRequest - * @property {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.IGetTokenDirectPurchasePricesRequestV0|null} [v0] GetTokenDirectPurchasePricesRequest v0 - */ - - /** - * Constructs a new GetTokenDirectPurchasePricesRequest. - * @memberof org.dash.platform.dapi.v0 - * @classdesc Represents a GetTokenDirectPurchasePricesRequest. - * @implements IGetTokenDirectPurchasePricesRequest - * @constructor - * @param {org.dash.platform.dapi.v0.IGetTokenDirectPurchasePricesRequest=} [properties] Properties to set - */ - function GetTokenDirectPurchasePricesRequest(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]]; - } - - /** - * GetTokenDirectPurchasePricesRequest v0. - * @member {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.IGetTokenDirectPurchasePricesRequestV0|null|undefined} v0 - * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest - * @instance - */ - GetTokenDirectPurchasePricesRequest.prototype.v0 = null; - - // OneOf field names bound to virtual getters and setters - var $oneOfFields; - - /** - * GetTokenDirectPurchasePricesRequest version. - * @member {"v0"|undefined} version - * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest - * @instance - */ - Object.defineProperty(GetTokenDirectPurchasePricesRequest.prototype, "version", { - get: $util.oneOfGetter($oneOfFields = ["v0"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Creates a new GetTokenDirectPurchasePricesRequest instance using the specified properties. - * @function create - * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest - * @static - * @param {org.dash.platform.dapi.v0.IGetTokenDirectPurchasePricesRequest=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest} GetTokenDirectPurchasePricesRequest instance - */ - GetTokenDirectPurchasePricesRequest.create = function create(properties) { - return new GetTokenDirectPurchasePricesRequest(properties); - }; - - /** - * Encodes the specified GetTokenDirectPurchasePricesRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.verify|verify} messages. - * @function encode - * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest - * @static - * @param {org.dash.platform.dapi.v0.IGetTokenDirectPurchasePricesRequest} message GetTokenDirectPurchasePricesRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - GetTokenDirectPurchasePricesRequest.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.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified GetTokenDirectPurchasePricesRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest - * @static - * @param {org.dash.platform.dapi.v0.IGetTokenDirectPurchasePricesRequest} message GetTokenDirectPurchasePricesRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - GetTokenDirectPurchasePricesRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a GetTokenDirectPurchasePricesRequest message from the specified reader or buffer. - * @function decode - * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest - * @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.GetTokenDirectPurchasePricesRequest} GetTokenDirectPurchasePricesRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - GetTokenDirectPurchasePricesRequest.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.GetTokenDirectPurchasePricesRequest(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.v0 = $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a GetTokenDirectPurchasePricesRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest} GetTokenDirectPurchasePricesRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - GetTokenDirectPurchasePricesRequest.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a GetTokenDirectPurchasePricesRequest message. - * @function verify - * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - GetTokenDirectPurchasePricesRequest.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.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.verify(message.v0); - if (error) - return "v0." + error; - } - } - return null; - }; - - /** - * Creates a GetTokenDirectPurchasePricesRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest - * @static - * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest} GetTokenDirectPurchasePricesRequest - */ - GetTokenDirectPurchasePricesRequest.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest) - return object; - var message = new $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest(); - if (object.v0 != null) { - if (typeof object.v0 !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.v0: object expected"); - message.v0 = $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.fromObject(object.v0); - } - return message; - }; - - /** - * Creates a plain object from a GetTokenDirectPurchasePricesRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest - * @static - * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest} message GetTokenDirectPurchasePricesRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - GetTokenDirectPurchasePricesRequest.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.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.toObject(message.v0, options); - if (options.oneofs) - object.version = "v0"; - } - return object; - }; - - /** - * Converts this GetTokenDirectPurchasePricesRequest to JSON. - * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest - * @instance - * @returns {Object.} JSON object - */ - GetTokenDirectPurchasePricesRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0 = (function() { - - /** - * Properties of a GetTokenDirectPurchasePricesRequestV0. - * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest - * @interface IGetTokenDirectPurchasePricesRequestV0 - * @property {Array.|null} [tokenIds] GetTokenDirectPurchasePricesRequestV0 tokenIds - * @property {boolean|null} [prove] GetTokenDirectPurchasePricesRequestV0 prove - */ - - /** - * Constructs a new GetTokenDirectPurchasePricesRequestV0. - * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest - * @classdesc Represents a GetTokenDirectPurchasePricesRequestV0. - * @implements IGetTokenDirectPurchasePricesRequestV0 - * @constructor - * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.IGetTokenDirectPurchasePricesRequestV0=} [properties] Properties to set - */ - function GetTokenDirectPurchasePricesRequestV0(properties) { - this.tokenIds = []; - 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]]; - } - - /** - * GetTokenDirectPurchasePricesRequestV0 tokenIds. - * @member {Array.} tokenIds - * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0 - * @instance - */ - GetTokenDirectPurchasePricesRequestV0.prototype.tokenIds = $util.emptyArray; - - /** - * GetTokenDirectPurchasePricesRequestV0 prove. - * @member {boolean} prove - * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0 - * @instance - */ - GetTokenDirectPurchasePricesRequestV0.prototype.prove = false; - - /** - * Creates a new GetTokenDirectPurchasePricesRequestV0 instance using the specified properties. - * @function create - * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0 - * @static - * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.IGetTokenDirectPurchasePricesRequestV0=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0} GetTokenDirectPurchasePricesRequestV0 instance - */ - GetTokenDirectPurchasePricesRequestV0.create = function create(properties) { - return new GetTokenDirectPurchasePricesRequestV0(properties); - }; - - /** - * Encodes the specified GetTokenDirectPurchasePricesRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.verify|verify} messages. - * @function encode - * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0 - * @static - * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.IGetTokenDirectPurchasePricesRequestV0} message GetTokenDirectPurchasePricesRequestV0 message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - GetTokenDirectPurchasePricesRequestV0.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.tokenIds != null && message.tokenIds.length) - for (var i = 0; i < message.tokenIds.length; ++i) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.tokenIds[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 GetTokenDirectPurchasePricesRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.verify|verify} messages. - * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0 - * @static - * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.IGetTokenDirectPurchasePricesRequestV0} message GetTokenDirectPurchasePricesRequestV0 message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - GetTokenDirectPurchasePricesRequestV0.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a GetTokenDirectPurchasePricesRequestV0 message from the specified reader or buffer. - * @function decode - * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0 - * @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.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0} GetTokenDirectPurchasePricesRequestV0 - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - GetTokenDirectPurchasePricesRequestV0.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.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (!(message.tokenIds && message.tokenIds.length)) - message.tokenIds = []; - message.tokenIds.push(reader.bytes()); - break; - case 2: - message.prove = reader.bool(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a GetTokenDirectPurchasePricesRequestV0 message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0 - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0} GetTokenDirectPurchasePricesRequestV0 - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - GetTokenDirectPurchasePricesRequestV0.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a GetTokenDirectPurchasePricesRequestV0 message. - * @function verify - * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0 - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - GetTokenDirectPurchasePricesRequestV0.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.tokenIds != null && message.hasOwnProperty("tokenIds")) { - if (!Array.isArray(message.tokenIds)) - return "tokenIds: array expected"; - for (var i = 0; i < message.tokenIds.length; ++i) - if (!(message.tokenIds[i] && typeof message.tokenIds[i].length === "number" || $util.isString(message.tokenIds[i]))) - return "tokenIds: buffer[] expected"; - } - if (message.prove != null && message.hasOwnProperty("prove")) - if (typeof message.prove !== "boolean") - return "prove: boolean expected"; - return null; - }; - - /** - * Creates a GetTokenDirectPurchasePricesRequestV0 message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0 - * @static - * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0} GetTokenDirectPurchasePricesRequestV0 - */ - GetTokenDirectPurchasePricesRequestV0.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0) - return object; - var message = new $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0(); - if (object.tokenIds) { - if (!Array.isArray(object.tokenIds)) - throw TypeError(".org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.tokenIds: array expected"); - message.tokenIds = []; - for (var i = 0; i < object.tokenIds.length; ++i) - if (typeof object.tokenIds[i] === "string") - $util.base64.decode(object.tokenIds[i], message.tokenIds[i] = $util.newBuffer($util.base64.length(object.tokenIds[i])), 0); - else if (object.tokenIds[i].length >= 0) - message.tokenIds[i] = object.tokenIds[i]; - } - if (object.prove != null) - message.prove = Boolean(object.prove); - return message; - }; - - /** - * Creates a plain object from a GetTokenDirectPurchasePricesRequestV0 message. Also converts values to other types if specified. - * @function toObject - * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0 - * @static - * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0} message GetTokenDirectPurchasePricesRequestV0 - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - GetTokenDirectPurchasePricesRequestV0.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.arrays || options.defaults) - object.tokenIds = []; - if (options.defaults) - object.prove = false; - if (message.tokenIds && message.tokenIds.length) { - object.tokenIds = []; - for (var j = 0; j < message.tokenIds.length; ++j) - object.tokenIds[j] = options.bytes === String ? $util.base64.encode(message.tokenIds[j], 0, message.tokenIds[j].length) : options.bytes === Array ? Array.prototype.slice.call(message.tokenIds[j]) : message.tokenIds[j]; - } - if (message.prove != null && message.hasOwnProperty("prove")) - object.prove = message.prove; - return object; - }; - - /** - * Converts this GetTokenDirectPurchasePricesRequestV0 to JSON. - * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0 - * @instance - * @returns {Object.} JSON object - */ - GetTokenDirectPurchasePricesRequestV0.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return GetTokenDirectPurchasePricesRequestV0; + return GetTokenPreProgrammedDistributionsResponseV0; })(); - return GetTokenDirectPurchasePricesRequest; + return GetTokenPreProgrammedDistributionsResponse; })(); - v0.GetTokenPreProgrammedDistributionsRequest = (function() { + v0.GetTokenPerpetualDistributionLastClaimRequest = (function() { /** - * Properties of a GetTokenPreProgrammedDistributionsRequest. + * Properties of a GetTokenPerpetualDistributionLastClaimRequest. * @memberof org.dash.platform.dapi.v0 - * @interface IGetTokenPreProgrammedDistributionsRequest - * @property {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.IGetTokenPreProgrammedDistributionsRequestV0|null} [v0] GetTokenPreProgrammedDistributionsRequest v0 + * @interface IGetTokenPerpetualDistributionLastClaimRequest + * @property {org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.IGetTokenPerpetualDistributionLastClaimRequestV0|null} [v0] GetTokenPerpetualDistributionLastClaimRequest v0 */ /** - * Constructs a new GetTokenPreProgrammedDistributionsRequest. + * Constructs a new GetTokenPerpetualDistributionLastClaimRequest. * @memberof org.dash.platform.dapi.v0 - * @classdesc Represents a GetTokenPreProgrammedDistributionsRequest. - * @implements IGetTokenPreProgrammedDistributionsRequest + * @classdesc Represents a GetTokenPerpetualDistributionLastClaimRequest. + * @implements IGetTokenPerpetualDistributionLastClaimRequest * @constructor - * @param {org.dash.platform.dapi.v0.IGetTokenPreProgrammedDistributionsRequest=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.IGetTokenPerpetualDistributionLastClaimRequest=} [properties] Properties to set */ - function GetTokenPreProgrammedDistributionsRequest(properties) { + function GetTokenPerpetualDistributionLastClaimRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -54334,89 +60838,89 @@ $root.org = (function() { } /** - * GetTokenPreProgrammedDistributionsRequest v0. - * @member {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.IGetTokenPreProgrammedDistributionsRequestV0|null|undefined} v0 - * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest + * GetTokenPerpetualDistributionLastClaimRequest v0. + * @member {org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.IGetTokenPerpetualDistributionLastClaimRequestV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest * @instance */ - GetTokenPreProgrammedDistributionsRequest.prototype.v0 = null; + GetTokenPerpetualDistributionLastClaimRequest.prototype.v0 = null; // OneOf field names bound to virtual getters and setters var $oneOfFields; /** - * GetTokenPreProgrammedDistributionsRequest version. + * GetTokenPerpetualDistributionLastClaimRequest version. * @member {"v0"|undefined} version - * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest + * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest * @instance */ - Object.defineProperty(GetTokenPreProgrammedDistributionsRequest.prototype, "version", { + Object.defineProperty(GetTokenPerpetualDistributionLastClaimRequest.prototype, "version", { get: $util.oneOfGetter($oneOfFields = ["v0"]), set: $util.oneOfSetter($oneOfFields) }); /** - * Creates a new GetTokenPreProgrammedDistributionsRequest instance using the specified properties. + * Creates a new GetTokenPerpetualDistributionLastClaimRequest instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest + * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest * @static - * @param {org.dash.platform.dapi.v0.IGetTokenPreProgrammedDistributionsRequest=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest} GetTokenPreProgrammedDistributionsRequest instance + * @param {org.dash.platform.dapi.v0.IGetTokenPerpetualDistributionLastClaimRequest=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest} GetTokenPerpetualDistributionLastClaimRequest instance */ - GetTokenPreProgrammedDistributionsRequest.create = function create(properties) { - return new GetTokenPreProgrammedDistributionsRequest(properties); + GetTokenPerpetualDistributionLastClaimRequest.create = function create(properties) { + return new GetTokenPerpetualDistributionLastClaimRequest(properties); }; /** - * Encodes the specified GetTokenPreProgrammedDistributionsRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.verify|verify} messages. + * Encodes the specified GetTokenPerpetualDistributionLastClaimRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest + * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest * @static - * @param {org.dash.platform.dapi.v0.IGetTokenPreProgrammedDistributionsRequest} message GetTokenPreProgrammedDistributionsRequest message or plain object to encode + * @param {org.dash.platform.dapi.v0.IGetTokenPerpetualDistributionLastClaimRequest} message GetTokenPerpetualDistributionLastClaimRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetTokenPreProgrammedDistributionsRequest.encode = function encode(message, writer) { + GetTokenPerpetualDistributionLastClaimRequest.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.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + $root.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified GetTokenPreProgrammedDistributionsRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.verify|verify} messages. + * Encodes the specified GetTokenPerpetualDistributionLastClaimRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest + * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest * @static - * @param {org.dash.platform.dapi.v0.IGetTokenPreProgrammedDistributionsRequest} message GetTokenPreProgrammedDistributionsRequest message or plain object to encode + * @param {org.dash.platform.dapi.v0.IGetTokenPerpetualDistributionLastClaimRequest} message GetTokenPerpetualDistributionLastClaimRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetTokenPreProgrammedDistributionsRequest.encodeDelimited = function encodeDelimited(message, writer) { + GetTokenPerpetualDistributionLastClaimRequest.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetTokenPreProgrammedDistributionsRequest message from the specified reader or buffer. + * Decodes a GetTokenPerpetualDistributionLastClaimRequest message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest + * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest * @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.GetTokenPreProgrammedDistributionsRequest} GetTokenPreProgrammedDistributionsRequest + * @returns {org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest} GetTokenPerpetualDistributionLastClaimRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetTokenPreProgrammedDistributionsRequest.decode = function decode(reader, length) { + GetTokenPerpetualDistributionLastClaimRequest.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.GetTokenPreProgrammedDistributionsRequest(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.v0 = $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.decode(reader, reader.uint32()); + message.v0 = $root.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -54427,37 +60931,37 @@ $root.org = (function() { }; /** - * Decodes a GetTokenPreProgrammedDistributionsRequest message from the specified reader or buffer, length delimited. + * Decodes a GetTokenPerpetualDistributionLastClaimRequest message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest + * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest} GetTokenPreProgrammedDistributionsRequest + * @returns {org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest} GetTokenPerpetualDistributionLastClaimRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetTokenPreProgrammedDistributionsRequest.decodeDelimited = function decodeDelimited(reader) { + GetTokenPerpetualDistributionLastClaimRequest.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GetTokenPreProgrammedDistributionsRequest message. + * Verifies a GetTokenPerpetualDistributionLastClaimRequest message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest + * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetTokenPreProgrammedDistributionsRequest.verify = function verify(message) { + GetTokenPerpetualDistributionLastClaimRequest.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.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.verify(message.v0); + var error = $root.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0.verify(message.v0); if (error) return "v0." + error; } @@ -54466,40 +60970,40 @@ $root.org = (function() { }; /** - * Creates a GetTokenPreProgrammedDistributionsRequest message from a plain object. Also converts values to their respective internal types. + * Creates a GetTokenPerpetualDistributionLastClaimRequest message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest + * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest} GetTokenPreProgrammedDistributionsRequest + * @returns {org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest} GetTokenPerpetualDistributionLastClaimRequest */ - GetTokenPreProgrammedDistributionsRequest.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest) + GetTokenPerpetualDistributionLastClaimRequest.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest) return object; - var message = new $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest(); + var message = new $root.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest(); if (object.v0 != null) { if (typeof object.v0 !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.v0: object expected"); - message.v0 = $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.fromObject(object.v0); + throw TypeError(".org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.v0: object expected"); + message.v0 = $root.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0.fromObject(object.v0); } return message; }; /** - * Creates a plain object from a GetTokenPreProgrammedDistributionsRequest message. Also converts values to other types if specified. + * Creates a plain object from a GetTokenPerpetualDistributionLastClaimRequest message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest + * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest * @static - * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest} message GetTokenPreProgrammedDistributionsRequest + * @param {org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest} message GetTokenPerpetualDistributionLastClaimRequest * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetTokenPreProgrammedDistributionsRequest.toObject = function toObject(message, options) { + GetTokenPerpetualDistributionLastClaimRequest.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.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.toObject(message.v0, options); + object.v0 = $root.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0.toObject(message.v0, options); if (options.oneofs) object.version = "v0"; } @@ -54507,37 +61011,35 @@ $root.org = (function() { }; /** - * Converts this GetTokenPreProgrammedDistributionsRequest to JSON. + * Converts this GetTokenPerpetualDistributionLastClaimRequest to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest + * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest * @instance * @returns {Object.} JSON object */ - GetTokenPreProgrammedDistributionsRequest.prototype.toJSON = function toJSON() { + GetTokenPerpetualDistributionLastClaimRequest.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0 = (function() { + GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo = (function() { /** - * Properties of a GetTokenPreProgrammedDistributionsRequestV0. - * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest - * @interface IGetTokenPreProgrammedDistributionsRequestV0 - * @property {Uint8Array|null} [tokenId] GetTokenPreProgrammedDistributionsRequestV0 tokenId - * @property {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.IStartAtInfo|null} [startAtInfo] GetTokenPreProgrammedDistributionsRequestV0 startAtInfo - * @property {number|null} [limit] GetTokenPreProgrammedDistributionsRequestV0 limit - * @property {boolean|null} [prove] GetTokenPreProgrammedDistributionsRequestV0 prove + * Properties of a ContractTokenInfo. + * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest + * @interface IContractTokenInfo + * @property {Uint8Array|null} [contractId] ContractTokenInfo contractId + * @property {number|null} [tokenContractPosition] ContractTokenInfo tokenContractPosition */ /** - * Constructs a new GetTokenPreProgrammedDistributionsRequestV0. - * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest - * @classdesc Represents a GetTokenPreProgrammedDistributionsRequestV0. - * @implements IGetTokenPreProgrammedDistributionsRequestV0 + * Constructs a new ContractTokenInfo. + * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest + * @classdesc Represents a ContractTokenInfo. + * @implements IContractTokenInfo * @constructor - * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.IGetTokenPreProgrammedDistributionsRequestV0=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.IContractTokenInfo=} [properties] Properties to set */ - function GetTokenPreProgrammedDistributionsRequestV0(properties) { + function ContractTokenInfo(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -54545,114 +61047,88 @@ $root.org = (function() { } /** - * GetTokenPreProgrammedDistributionsRequestV0 tokenId. - * @member {Uint8Array} tokenId - * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0 - * @instance - */ - GetTokenPreProgrammedDistributionsRequestV0.prototype.tokenId = $util.newBuffer([]); - - /** - * GetTokenPreProgrammedDistributionsRequestV0 startAtInfo. - * @member {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.IStartAtInfo|null|undefined} startAtInfo - * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0 - * @instance - */ - GetTokenPreProgrammedDistributionsRequestV0.prototype.startAtInfo = null; - - /** - * GetTokenPreProgrammedDistributionsRequestV0 limit. - * @member {number} limit - * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0 + * ContractTokenInfo contractId. + * @member {Uint8Array} contractId + * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo * @instance */ - GetTokenPreProgrammedDistributionsRequestV0.prototype.limit = 0; + ContractTokenInfo.prototype.contractId = $util.newBuffer([]); /** - * GetTokenPreProgrammedDistributionsRequestV0 prove. - * @member {boolean} prove - * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0 + * ContractTokenInfo tokenContractPosition. + * @member {number} tokenContractPosition + * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo * @instance */ - GetTokenPreProgrammedDistributionsRequestV0.prototype.prove = false; + ContractTokenInfo.prototype.tokenContractPosition = 0; /** - * Creates a new GetTokenPreProgrammedDistributionsRequestV0 instance using the specified properties. + * Creates a new ContractTokenInfo instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0 + * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo * @static - * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.IGetTokenPreProgrammedDistributionsRequestV0=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0} GetTokenPreProgrammedDistributionsRequestV0 instance + * @param {org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.IContractTokenInfo=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo} ContractTokenInfo instance */ - GetTokenPreProgrammedDistributionsRequestV0.create = function create(properties) { - return new GetTokenPreProgrammedDistributionsRequestV0(properties); + ContractTokenInfo.create = function create(properties) { + return new ContractTokenInfo(properties); }; /** - * Encodes the specified GetTokenPreProgrammedDistributionsRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.verify|verify} messages. + * Encodes the specified ContractTokenInfo message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0 + * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo * @static - * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.IGetTokenPreProgrammedDistributionsRequestV0} message GetTokenPreProgrammedDistributionsRequestV0 message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.IContractTokenInfo} message ContractTokenInfo message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetTokenPreProgrammedDistributionsRequestV0.encode = function encode(message, writer) { + ContractTokenInfo.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.tokenId != null && Object.hasOwnProperty.call(message, "tokenId")) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.tokenId); - if (message.startAtInfo != null && Object.hasOwnProperty.call(message, "startAtInfo")) - $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.encode(message.startAtInfo, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.limit != null && Object.hasOwnProperty.call(message, "limit")) - writer.uint32(/* id 3, wireType 0 =*/24).uint32(message.limit); - if (message.prove != null && Object.hasOwnProperty.call(message, "prove")) - writer.uint32(/* id 4, wireType 0 =*/32).bool(message.prove); + if (message.contractId != null && Object.hasOwnProperty.call(message, "contractId")) + writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.contractId); + if (message.tokenContractPosition != null && Object.hasOwnProperty.call(message, "tokenContractPosition")) + writer.uint32(/* id 2, wireType 0 =*/16).uint32(message.tokenContractPosition); return writer; }; /** - * Encodes the specified GetTokenPreProgrammedDistributionsRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.verify|verify} messages. + * Encodes the specified ContractTokenInfo message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0 + * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo * @static - * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.IGetTokenPreProgrammedDistributionsRequestV0} message GetTokenPreProgrammedDistributionsRequestV0 message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.IContractTokenInfo} message ContractTokenInfo message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetTokenPreProgrammedDistributionsRequestV0.encodeDelimited = function encodeDelimited(message, writer) { + ContractTokenInfo.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetTokenPreProgrammedDistributionsRequestV0 message from the specified reader or buffer. + * Decodes a ContractTokenInfo message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0 + * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo * @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.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0} GetTokenPreProgrammedDistributionsRequestV0 + * @returns {org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo} ContractTokenInfo * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetTokenPreProgrammedDistributionsRequestV0.decode = function decode(reader, length) { + ContractTokenInfo.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.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.tokenId = reader.bytes(); + message.contractId = reader.bytes(); break; case 2: - message.startAtInfo = $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.decode(reader, reader.uint32()); - break; - case 3: - message.limit = reader.uint32(); - break; - case 4: - message.prove = reader.bool(); + message.tokenContractPosition = reader.uint32(); break; default: reader.skipType(tag & 7); @@ -54663,404 +61139,405 @@ $root.org = (function() { }; /** - * Decodes a GetTokenPreProgrammedDistributionsRequestV0 message from the specified reader or buffer, length delimited. + * Decodes a ContractTokenInfo message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0 + * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0} GetTokenPreProgrammedDistributionsRequestV0 + * @returns {org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo} ContractTokenInfo * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetTokenPreProgrammedDistributionsRequestV0.decodeDelimited = function decodeDelimited(reader) { + ContractTokenInfo.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GetTokenPreProgrammedDistributionsRequestV0 message. + * Verifies a ContractTokenInfo message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0 + * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetTokenPreProgrammedDistributionsRequestV0.verify = function verify(message) { + ContractTokenInfo.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.tokenId != null && message.hasOwnProperty("tokenId")) - if (!(message.tokenId && typeof message.tokenId.length === "number" || $util.isString(message.tokenId))) - return "tokenId: buffer expected"; - if (message.startAtInfo != null && message.hasOwnProperty("startAtInfo")) { - var error = $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.verify(message.startAtInfo); - if (error) - return "startAtInfo." + error; - } - if (message.limit != null && message.hasOwnProperty("limit")) - if (!$util.isInteger(message.limit)) - return "limit: integer expected"; - if (message.prove != null && message.hasOwnProperty("prove")) - if (typeof message.prove !== "boolean") - return "prove: boolean 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.tokenContractPosition != null && message.hasOwnProperty("tokenContractPosition")) + if (!$util.isInteger(message.tokenContractPosition)) + return "tokenContractPosition: integer expected"; return null; }; /** - * Creates a GetTokenPreProgrammedDistributionsRequestV0 message from a plain object. Also converts values to their respective internal types. + * Creates a ContractTokenInfo message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0 + * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0} GetTokenPreProgrammedDistributionsRequestV0 + * @returns {org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo} ContractTokenInfo */ - GetTokenPreProgrammedDistributionsRequestV0.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0) + ContractTokenInfo.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo) return object; - var message = new $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0(); - if (object.tokenId != null) - if (typeof object.tokenId === "string") - $util.base64.decode(object.tokenId, message.tokenId = $util.newBuffer($util.base64.length(object.tokenId)), 0); - else if (object.tokenId.length >= 0) - message.tokenId = object.tokenId; - if (object.startAtInfo != null) { - if (typeof object.startAtInfo !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.startAtInfo: object expected"); - message.startAtInfo = $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.fromObject(object.startAtInfo); - } - if (object.limit != null) - message.limit = object.limit >>> 0; - if (object.prove != null) - message.prove = Boolean(object.prove); + var message = new $root.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo(); + 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.tokenContractPosition != null) + message.tokenContractPosition = object.tokenContractPosition >>> 0; return message; }; /** - * Creates a plain object from a GetTokenPreProgrammedDistributionsRequestV0 message. Also converts values to other types if specified. + * Creates a plain object from a ContractTokenInfo message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0 + * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo * @static - * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0} message GetTokenPreProgrammedDistributionsRequestV0 + * @param {org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo} message ContractTokenInfo * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetTokenPreProgrammedDistributionsRequestV0.toObject = function toObject(message, options) { + ContractTokenInfo.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { if (options.bytes === String) - object.tokenId = ""; + object.contractId = ""; else { - object.tokenId = []; + object.contractId = []; if (options.bytes !== Array) - object.tokenId = $util.newBuffer(object.tokenId); + object.contractId = $util.newBuffer(object.contractId); } - object.startAtInfo = null; - object.limit = 0; - object.prove = false; + object.tokenContractPosition = 0; } - if (message.tokenId != null && message.hasOwnProperty("tokenId")) - object.tokenId = options.bytes === String ? $util.base64.encode(message.tokenId, 0, message.tokenId.length) : options.bytes === Array ? Array.prototype.slice.call(message.tokenId) : message.tokenId; - if (message.startAtInfo != null && message.hasOwnProperty("startAtInfo")) - object.startAtInfo = $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.toObject(message.startAtInfo, options); - if (message.limit != null && message.hasOwnProperty("limit")) - object.limit = message.limit; - if (message.prove != null && message.hasOwnProperty("prove")) - object.prove = message.prove; + 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.tokenContractPosition != null && message.hasOwnProperty("tokenContractPosition")) + object.tokenContractPosition = message.tokenContractPosition; return object; }; /** - * Converts this GetTokenPreProgrammedDistributionsRequestV0 to JSON. + * Converts this ContractTokenInfo to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0 + * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo * @instance * @returns {Object.} JSON object */ - GetTokenPreProgrammedDistributionsRequestV0.prototype.toJSON = function toJSON() { + ContractTokenInfo.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo = (function() { + return ContractTokenInfo; + })(); - /** - * Properties of a StartAtInfo. - * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0 - * @interface IStartAtInfo - * @property {number|Long|null} [startTimeMs] StartAtInfo startTimeMs - * @property {Uint8Array|null} [startRecipient] StartAtInfo startRecipient - * @property {boolean|null} [startRecipientIncluded] StartAtInfo startRecipientIncluded - */ + GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0 = (function() { - /** - * Constructs a new StartAtInfo. - * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0 - * @classdesc Represents a StartAtInfo. - * @implements IStartAtInfo - * @constructor - * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.IStartAtInfo=} [properties] Properties to set - */ - function StartAtInfo(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]]; - } + /** + * Properties of a GetTokenPerpetualDistributionLastClaimRequestV0. + * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest + * @interface IGetTokenPerpetualDistributionLastClaimRequestV0 + * @property {Uint8Array|null} [tokenId] GetTokenPerpetualDistributionLastClaimRequestV0 tokenId + * @property {org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.IContractTokenInfo|null} [contractInfo] GetTokenPerpetualDistributionLastClaimRequestV0 contractInfo + * @property {Uint8Array|null} [identityId] GetTokenPerpetualDistributionLastClaimRequestV0 identityId + * @property {boolean|null} [prove] GetTokenPerpetualDistributionLastClaimRequestV0 prove + */ - /** - * StartAtInfo startTimeMs. - * @member {number|Long} startTimeMs - * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo - * @instance - */ - StartAtInfo.prototype.startTimeMs = $util.Long ? $util.Long.fromBits(0,0,true) : 0; + /** + * Constructs a new GetTokenPerpetualDistributionLastClaimRequestV0. + * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest + * @classdesc Represents a GetTokenPerpetualDistributionLastClaimRequestV0. + * @implements IGetTokenPerpetualDistributionLastClaimRequestV0 + * @constructor + * @param {org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.IGetTokenPerpetualDistributionLastClaimRequestV0=} [properties] Properties to set + */ + function GetTokenPerpetualDistributionLastClaimRequestV0(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]]; + } - /** - * StartAtInfo startRecipient. - * @member {Uint8Array} startRecipient - * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo - * @instance - */ - StartAtInfo.prototype.startRecipient = $util.newBuffer([]); + /** + * GetTokenPerpetualDistributionLastClaimRequestV0 tokenId. + * @member {Uint8Array} tokenId + * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0 + * @instance + */ + GetTokenPerpetualDistributionLastClaimRequestV0.prototype.tokenId = $util.newBuffer([]); - /** - * StartAtInfo startRecipientIncluded. - * @member {boolean} startRecipientIncluded - * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo - * @instance - */ - StartAtInfo.prototype.startRecipientIncluded = false; + /** + * GetTokenPerpetualDistributionLastClaimRequestV0 contractInfo. + * @member {org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.IContractTokenInfo|null|undefined} contractInfo + * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0 + * @instance + */ + GetTokenPerpetualDistributionLastClaimRequestV0.prototype.contractInfo = null; - /** - * Creates a new StartAtInfo instance using the specified properties. - * @function create - * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo - * @static - * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.IStartAtInfo=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo} StartAtInfo instance - */ - StartAtInfo.create = function create(properties) { - return new StartAtInfo(properties); - }; + /** + * GetTokenPerpetualDistributionLastClaimRequestV0 identityId. + * @member {Uint8Array} identityId + * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0 + * @instance + */ + GetTokenPerpetualDistributionLastClaimRequestV0.prototype.identityId = $util.newBuffer([]); - /** - * Encodes the specified StartAtInfo message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.verify|verify} messages. - * @function encode - * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo - * @static - * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.IStartAtInfo} message StartAtInfo message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - StartAtInfo.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.startTimeMs != null && Object.hasOwnProperty.call(message, "startTimeMs")) - writer.uint32(/* id 1, wireType 0 =*/8).uint64(message.startTimeMs); - if (message.startRecipient != null && Object.hasOwnProperty.call(message, "startRecipient")) - writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.startRecipient); - if (message.startRecipientIncluded != null && Object.hasOwnProperty.call(message, "startRecipientIncluded")) - writer.uint32(/* id 3, wireType 0 =*/24).bool(message.startRecipientIncluded); - return writer; - }; + /** + * GetTokenPerpetualDistributionLastClaimRequestV0 prove. + * @member {boolean} prove + * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0 + * @instance + */ + GetTokenPerpetualDistributionLastClaimRequestV0.prototype.prove = false; - /** - * Encodes the specified StartAtInfo message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.verify|verify} messages. - * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo - * @static - * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.IStartAtInfo} message StartAtInfo message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - StartAtInfo.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; + /** + * Creates a new GetTokenPerpetualDistributionLastClaimRequestV0 instance using the specified properties. + * @function create + * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0 + * @static + * @param {org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.IGetTokenPerpetualDistributionLastClaimRequestV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0} GetTokenPerpetualDistributionLastClaimRequestV0 instance + */ + GetTokenPerpetualDistributionLastClaimRequestV0.create = function create(properties) { + return new GetTokenPerpetualDistributionLastClaimRequestV0(properties); + }; - /** - * Decodes a StartAtInfo message from the specified reader or buffer. - * @function decode - * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo - * @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.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo} StartAtInfo - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - StartAtInfo.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.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.startTimeMs = reader.uint64(); - break; - case 2: - message.startRecipient = reader.bytes(); - break; - case 3: - message.startRecipientIncluded = reader.bool(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; + /** + * Encodes the specified GetTokenPerpetualDistributionLastClaimRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0.verify|verify} messages. + * @function encode + * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0 + * @static + * @param {org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.IGetTokenPerpetualDistributionLastClaimRequestV0} message GetTokenPerpetualDistributionLastClaimRequestV0 message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetTokenPerpetualDistributionLastClaimRequestV0.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.tokenId != null && Object.hasOwnProperty.call(message, "tokenId")) + writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.tokenId); + if (message.contractInfo != null && Object.hasOwnProperty.call(message, "contractInfo")) + $root.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo.encode(message.contractInfo, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.identityId != null && Object.hasOwnProperty.call(message, "identityId")) + writer.uint32(/* id 4, wireType 2 =*/34).bytes(message.identityId); + if (message.prove != null && Object.hasOwnProperty.call(message, "prove")) + writer.uint32(/* id 5, wireType 0 =*/40).bool(message.prove); + return writer; + }; - /** - * Decodes a StartAtInfo message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo} StartAtInfo - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - StartAtInfo.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; + /** + * Encodes the specified GetTokenPerpetualDistributionLastClaimRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0.verify|verify} messages. + * @function encodeDelimited + * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0 + * @static + * @param {org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.IGetTokenPerpetualDistributionLastClaimRequestV0} message GetTokenPerpetualDistributionLastClaimRequestV0 message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetTokenPerpetualDistributionLastClaimRequestV0.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; - /** - * Verifies a StartAtInfo message. - * @function verify - * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - StartAtInfo.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.startTimeMs != null && message.hasOwnProperty("startTimeMs")) - if (!$util.isInteger(message.startTimeMs) && !(message.startTimeMs && $util.isInteger(message.startTimeMs.low) && $util.isInteger(message.startTimeMs.high))) - return "startTimeMs: integer|Long expected"; - if (message.startRecipient != null && message.hasOwnProperty("startRecipient")) - if (!(message.startRecipient && typeof message.startRecipient.length === "number" || $util.isString(message.startRecipient))) - return "startRecipient: buffer expected"; - if (message.startRecipientIncluded != null && message.hasOwnProperty("startRecipientIncluded")) - if (typeof message.startRecipientIncluded !== "boolean") - return "startRecipientIncluded: boolean expected"; - return null; - }; + /** + * Decodes a GetTokenPerpetualDistributionLastClaimRequestV0 message from the specified reader or buffer. + * @function decode + * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0 + * @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.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0} GetTokenPerpetualDistributionLastClaimRequestV0 + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetTokenPerpetualDistributionLastClaimRequestV0.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.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.tokenId = reader.bytes(); + break; + case 2: + message.contractInfo = $root.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo.decode(reader, reader.uint32()); + break; + case 4: + message.identityId = reader.bytes(); + break; + case 5: + message.prove = reader.bool(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; - /** - * Creates a StartAtInfo message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo - * @static - * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo} StartAtInfo - */ - StartAtInfo.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo) - return object; - var message = new $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo(); - if (object.startTimeMs != null) - if ($util.Long) - (message.startTimeMs = $util.Long.fromValue(object.startTimeMs)).unsigned = true; - else if (typeof object.startTimeMs === "string") - message.startTimeMs = parseInt(object.startTimeMs, 10); - else if (typeof object.startTimeMs === "number") - message.startTimeMs = object.startTimeMs; - else if (typeof object.startTimeMs === "object") - message.startTimeMs = new $util.LongBits(object.startTimeMs.low >>> 0, object.startTimeMs.high >>> 0).toNumber(true); - if (object.startRecipient != null) - if (typeof object.startRecipient === "string") - $util.base64.decode(object.startRecipient, message.startRecipient = $util.newBuffer($util.base64.length(object.startRecipient)), 0); - else if (object.startRecipient.length >= 0) - message.startRecipient = object.startRecipient; - if (object.startRecipientIncluded != null) - message.startRecipientIncluded = Boolean(object.startRecipientIncluded); - return message; - }; + /** + * Decodes a GetTokenPerpetualDistributionLastClaimRequestV0 message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0 + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0} GetTokenPerpetualDistributionLastClaimRequestV0 + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetTokenPerpetualDistributionLastClaimRequestV0.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; - /** - * Creates a plain object from a StartAtInfo message. Also converts values to other types if specified. - * @function toObject - * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo - * @static - * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo} message StartAtInfo - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - StartAtInfo.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.startTimeMs = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.startTimeMs = options.longs === String ? "0" : 0; - if (options.bytes === String) - object.startRecipient = ""; - else { - object.startRecipient = []; - if (options.bytes !== Array) - object.startRecipient = $util.newBuffer(object.startRecipient); - } - object.startRecipientIncluded = false; - } - if (message.startTimeMs != null && message.hasOwnProperty("startTimeMs")) - if (typeof message.startTimeMs === "number") - object.startTimeMs = options.longs === String ? String(message.startTimeMs) : message.startTimeMs; - else - object.startTimeMs = options.longs === String ? $util.Long.prototype.toString.call(message.startTimeMs) : options.longs === Number ? new $util.LongBits(message.startTimeMs.low >>> 0, message.startTimeMs.high >>> 0).toNumber(true) : message.startTimeMs; - if (message.startRecipient != null && message.hasOwnProperty("startRecipient")) - object.startRecipient = options.bytes === String ? $util.base64.encode(message.startRecipient, 0, message.startRecipient.length) : options.bytes === Array ? Array.prototype.slice.call(message.startRecipient) : message.startRecipient; - if (message.startRecipientIncluded != null && message.hasOwnProperty("startRecipientIncluded")) - object.startRecipientIncluded = message.startRecipientIncluded; + /** + * Verifies a GetTokenPerpetualDistributionLastClaimRequestV0 message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0 + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetTokenPerpetualDistributionLastClaimRequestV0.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.tokenId != null && message.hasOwnProperty("tokenId")) + if (!(message.tokenId && typeof message.tokenId.length === "number" || $util.isString(message.tokenId))) + return "tokenId: buffer expected"; + if (message.contractInfo != null && message.hasOwnProperty("contractInfo")) { + var error = $root.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo.verify(message.contractInfo); + if (error) + return "contractInfo." + error; + } + 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.prove != null && message.hasOwnProperty("prove")) + if (typeof message.prove !== "boolean") + return "prove: boolean expected"; + return null; + }; + + /** + * Creates a GetTokenPerpetualDistributionLastClaimRequestV0 message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0 + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0} GetTokenPerpetualDistributionLastClaimRequestV0 + */ + GetTokenPerpetualDistributionLastClaimRequestV0.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0) return object; - }; + var message = new $root.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0(); + if (object.tokenId != null) + if (typeof object.tokenId === "string") + $util.base64.decode(object.tokenId, message.tokenId = $util.newBuffer($util.base64.length(object.tokenId)), 0); + else if (object.tokenId.length >= 0) + message.tokenId = object.tokenId; + if (object.contractInfo != null) { + if (typeof object.contractInfo !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0.contractInfo: object expected"); + message.contractInfo = $root.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo.fromObject(object.contractInfo); + } + 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.prove != null) + message.prove = Boolean(object.prove); + return message; + }; - /** - * Converts this StartAtInfo to JSON. - * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo - * @instance - * @returns {Object.} JSON object - */ - StartAtInfo.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; + /** + * Creates a plain object from a GetTokenPerpetualDistributionLastClaimRequestV0 message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0 + * @static + * @param {org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0} message GetTokenPerpetualDistributionLastClaimRequestV0 + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetTokenPerpetualDistributionLastClaimRequestV0.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + if (options.bytes === String) + object.tokenId = ""; + else { + object.tokenId = []; + if (options.bytes !== Array) + object.tokenId = $util.newBuffer(object.tokenId); + } + object.contractInfo = null; + if (options.bytes === String) + object.identityId = ""; + else { + object.identityId = []; + if (options.bytes !== Array) + object.identityId = $util.newBuffer(object.identityId); + } + object.prove = false; + } + if (message.tokenId != null && message.hasOwnProperty("tokenId")) + object.tokenId = options.bytes === String ? $util.base64.encode(message.tokenId, 0, message.tokenId.length) : options.bytes === Array ? Array.prototype.slice.call(message.tokenId) : message.tokenId; + if (message.contractInfo != null && message.hasOwnProperty("contractInfo")) + object.contractInfo = $root.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo.toObject(message.contractInfo, 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.prove != null && message.hasOwnProperty("prove")) + object.prove = message.prove; + return object; + }; - return StartAtInfo; - })(); + /** + * Converts this GetTokenPerpetualDistributionLastClaimRequestV0 to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0 + * @instance + * @returns {Object.} JSON object + */ + GetTokenPerpetualDistributionLastClaimRequestV0.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; - return GetTokenPreProgrammedDistributionsRequestV0; + return GetTokenPerpetualDistributionLastClaimRequestV0; })(); - return GetTokenPreProgrammedDistributionsRequest; + return GetTokenPerpetualDistributionLastClaimRequest; })(); - v0.GetTokenPreProgrammedDistributionsResponse = (function() { + v0.GetTokenPerpetualDistributionLastClaimResponse = (function() { /** - * Properties of a GetTokenPreProgrammedDistributionsResponse. + * Properties of a GetTokenPerpetualDistributionLastClaimResponse. * @memberof org.dash.platform.dapi.v0 - * @interface IGetTokenPreProgrammedDistributionsResponse - * @property {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.IGetTokenPreProgrammedDistributionsResponseV0|null} [v0] GetTokenPreProgrammedDistributionsResponse v0 + * @interface IGetTokenPerpetualDistributionLastClaimResponse + * @property {org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.IGetTokenPerpetualDistributionLastClaimResponseV0|null} [v0] GetTokenPerpetualDistributionLastClaimResponse v0 */ /** - * Constructs a new GetTokenPreProgrammedDistributionsResponse. + * Constructs a new GetTokenPerpetualDistributionLastClaimResponse. * @memberof org.dash.platform.dapi.v0 - * @classdesc Represents a GetTokenPreProgrammedDistributionsResponse. - * @implements IGetTokenPreProgrammedDistributionsResponse + * @classdesc Represents a GetTokenPerpetualDistributionLastClaimResponse. + * @implements IGetTokenPerpetualDistributionLastClaimResponse * @constructor - * @param {org.dash.platform.dapi.v0.IGetTokenPreProgrammedDistributionsResponse=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.IGetTokenPerpetualDistributionLastClaimResponse=} [properties] Properties to set */ - function GetTokenPreProgrammedDistributionsResponse(properties) { + function GetTokenPerpetualDistributionLastClaimResponse(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -55068,89 +61545,89 @@ $root.org = (function() { } /** - * GetTokenPreProgrammedDistributionsResponse v0. - * @member {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.IGetTokenPreProgrammedDistributionsResponseV0|null|undefined} v0 - * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse + * GetTokenPerpetualDistributionLastClaimResponse v0. + * @member {org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.IGetTokenPerpetualDistributionLastClaimResponseV0|null|undefined} v0 + * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse * @instance */ - GetTokenPreProgrammedDistributionsResponse.prototype.v0 = null; + GetTokenPerpetualDistributionLastClaimResponse.prototype.v0 = null; // OneOf field names bound to virtual getters and setters var $oneOfFields; /** - * GetTokenPreProgrammedDistributionsResponse version. + * GetTokenPerpetualDistributionLastClaimResponse version. * @member {"v0"|undefined} version - * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse + * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse * @instance */ - Object.defineProperty(GetTokenPreProgrammedDistributionsResponse.prototype, "version", { + Object.defineProperty(GetTokenPerpetualDistributionLastClaimResponse.prototype, "version", { get: $util.oneOfGetter($oneOfFields = ["v0"]), set: $util.oneOfSetter($oneOfFields) }); /** - * Creates a new GetTokenPreProgrammedDistributionsResponse instance using the specified properties. + * Creates a new GetTokenPerpetualDistributionLastClaimResponse instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse + * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse * @static - * @param {org.dash.platform.dapi.v0.IGetTokenPreProgrammedDistributionsResponse=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse} GetTokenPreProgrammedDistributionsResponse instance + * @param {org.dash.platform.dapi.v0.IGetTokenPerpetualDistributionLastClaimResponse=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse} GetTokenPerpetualDistributionLastClaimResponse instance */ - GetTokenPreProgrammedDistributionsResponse.create = function create(properties) { - return new GetTokenPreProgrammedDistributionsResponse(properties); + GetTokenPerpetualDistributionLastClaimResponse.create = function create(properties) { + return new GetTokenPerpetualDistributionLastClaimResponse(properties); }; /** - * Encodes the specified GetTokenPreProgrammedDistributionsResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.verify|verify} messages. + * Encodes the specified GetTokenPerpetualDistributionLastClaimResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse + * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse * @static - * @param {org.dash.platform.dapi.v0.IGetTokenPreProgrammedDistributionsResponse} message GetTokenPreProgrammedDistributionsResponse message or plain object to encode + * @param {org.dash.platform.dapi.v0.IGetTokenPerpetualDistributionLastClaimResponse} message GetTokenPerpetualDistributionLastClaimResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetTokenPreProgrammedDistributionsResponse.encode = function encode(message, writer) { + GetTokenPerpetualDistributionLastClaimResponse.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.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + $root.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** - * Encodes the specified GetTokenPreProgrammedDistributionsResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.verify|verify} messages. + * Encodes the specified GetTokenPerpetualDistributionLastClaimResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse + * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse * @static - * @param {org.dash.platform.dapi.v0.IGetTokenPreProgrammedDistributionsResponse} message GetTokenPreProgrammedDistributionsResponse message or plain object to encode + * @param {org.dash.platform.dapi.v0.IGetTokenPerpetualDistributionLastClaimResponse} message GetTokenPerpetualDistributionLastClaimResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetTokenPreProgrammedDistributionsResponse.encodeDelimited = function encodeDelimited(message, writer) { + GetTokenPerpetualDistributionLastClaimResponse.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetTokenPreProgrammedDistributionsResponse message from the specified reader or buffer. + * Decodes a GetTokenPerpetualDistributionLastClaimResponse message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse + * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse * @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.GetTokenPreProgrammedDistributionsResponse} GetTokenPreProgrammedDistributionsResponse + * @returns {org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse} GetTokenPerpetualDistributionLastClaimResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetTokenPreProgrammedDistributionsResponse.decode = function decode(reader, length) { + GetTokenPerpetualDistributionLastClaimResponse.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.GetTokenPreProgrammedDistributionsResponse(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - message.v0 = $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.decode(reader, reader.uint32()); + message.v0 = $root.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); @@ -55161,37 +61638,37 @@ $root.org = (function() { }; /** - * Decodes a GetTokenPreProgrammedDistributionsResponse message from the specified reader or buffer, length delimited. + * Decodes a GetTokenPerpetualDistributionLastClaimResponse message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse + * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse} GetTokenPreProgrammedDistributionsResponse + * @returns {org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse} GetTokenPerpetualDistributionLastClaimResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetTokenPreProgrammedDistributionsResponse.decodeDelimited = function decodeDelimited(reader) { + GetTokenPerpetualDistributionLastClaimResponse.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a GetTokenPreProgrammedDistributionsResponse message. + * Verifies a GetTokenPerpetualDistributionLastClaimResponse message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse + * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetTokenPreProgrammedDistributionsResponse.verify = function verify(message) { + GetTokenPerpetualDistributionLastClaimResponse.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.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.verify(message.v0); + var error = $root.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.verify(message.v0); if (error) return "v0." + error; } @@ -55200,40 +61677,40 @@ $root.org = (function() { }; /** - * Creates a GetTokenPreProgrammedDistributionsResponse message from a plain object. Also converts values to their respective internal types. + * Creates a GetTokenPerpetualDistributionLastClaimResponse message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse + * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse} GetTokenPreProgrammedDistributionsResponse + * @returns {org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse} GetTokenPerpetualDistributionLastClaimResponse */ - GetTokenPreProgrammedDistributionsResponse.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse) + GetTokenPerpetualDistributionLastClaimResponse.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse) return object; - var message = new $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse(); + var message = new $root.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse(); if (object.v0 != null) { if (typeof object.v0 !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.v0: object expected"); - message.v0 = $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.fromObject(object.v0); + throw TypeError(".org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.v0: object expected"); + message.v0 = $root.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.fromObject(object.v0); } return message; }; /** - * Creates a plain object from a GetTokenPreProgrammedDistributionsResponse message. Also converts values to other types if specified. + * Creates a plain object from a GetTokenPerpetualDistributionLastClaimResponse message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse + * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse * @static - * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse} message GetTokenPreProgrammedDistributionsResponse + * @param {org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse} message GetTokenPerpetualDistributionLastClaimResponse * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - GetTokenPreProgrammedDistributionsResponse.toObject = function toObject(message, options) { + GetTokenPerpetualDistributionLastClaimResponse.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.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.toObject(message.v0, options); + object.v0 = $root.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.toObject(message.v0, options); if (options.oneofs) object.version = "v0"; } @@ -55241,36 +61718,36 @@ $root.org = (function() { }; /** - * Converts this GetTokenPreProgrammedDistributionsResponse to JSON. + * Converts this GetTokenPerpetualDistributionLastClaimResponse to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse + * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse * @instance * @returns {Object.} JSON object */ - GetTokenPreProgrammedDistributionsResponse.prototype.toJSON = function toJSON() { + GetTokenPerpetualDistributionLastClaimResponse.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0 = (function() { + GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0 = (function() { /** - * Properties of a GetTokenPreProgrammedDistributionsResponseV0. - * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse - * @interface IGetTokenPreProgrammedDistributionsResponseV0 - * @property {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.ITokenDistributions|null} [tokenDistributions] GetTokenPreProgrammedDistributionsResponseV0 tokenDistributions - * @property {org.dash.platform.dapi.v0.IProof|null} [proof] GetTokenPreProgrammedDistributionsResponseV0 proof - * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetTokenPreProgrammedDistributionsResponseV0 metadata + * Properties of a GetTokenPerpetualDistributionLastClaimResponseV0. + * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse + * @interface IGetTokenPerpetualDistributionLastClaimResponseV0 + * @property {org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.ILastClaimInfo|null} [lastClaim] GetTokenPerpetualDistributionLastClaimResponseV0 lastClaim + * @property {org.dash.platform.dapi.v0.IProof|null} [proof] GetTokenPerpetualDistributionLastClaimResponseV0 proof + * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetTokenPerpetualDistributionLastClaimResponseV0 metadata */ /** - * Constructs a new GetTokenPreProgrammedDistributionsResponseV0. - * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse - * @classdesc Represents a GetTokenPreProgrammedDistributionsResponseV0. - * @implements IGetTokenPreProgrammedDistributionsResponseV0 + * Constructs a new GetTokenPerpetualDistributionLastClaimResponseV0. + * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse + * @classdesc Represents a GetTokenPerpetualDistributionLastClaimResponseV0. + * @implements IGetTokenPerpetualDistributionLastClaimResponseV0 * @constructor - * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.IGetTokenPreProgrammedDistributionsResponseV0=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.IGetTokenPerpetualDistributionLastClaimResponseV0=} [properties] Properties to set */ - function GetTokenPreProgrammedDistributionsResponseV0(properties) { + function GetTokenPerpetualDistributionLastClaimResponseV0(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -55278,69 +61755,69 @@ $root.org = (function() { } /** - * GetTokenPreProgrammedDistributionsResponseV0 tokenDistributions. - * @member {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.ITokenDistributions|null|undefined} tokenDistributions - * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0 + * GetTokenPerpetualDistributionLastClaimResponseV0 lastClaim. + * @member {org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.ILastClaimInfo|null|undefined} lastClaim + * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0 * @instance */ - GetTokenPreProgrammedDistributionsResponseV0.prototype.tokenDistributions = null; + GetTokenPerpetualDistributionLastClaimResponseV0.prototype.lastClaim = null; /** - * GetTokenPreProgrammedDistributionsResponseV0 proof. + * GetTokenPerpetualDistributionLastClaimResponseV0 proof. * @member {org.dash.platform.dapi.v0.IProof|null|undefined} proof - * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0 + * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0 * @instance */ - GetTokenPreProgrammedDistributionsResponseV0.prototype.proof = null; + GetTokenPerpetualDistributionLastClaimResponseV0.prototype.proof = null; /** - * GetTokenPreProgrammedDistributionsResponseV0 metadata. + * GetTokenPerpetualDistributionLastClaimResponseV0 metadata. * @member {org.dash.platform.dapi.v0.IResponseMetadata|null|undefined} metadata - * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0 + * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0 * @instance */ - GetTokenPreProgrammedDistributionsResponseV0.prototype.metadata = null; + GetTokenPerpetualDistributionLastClaimResponseV0.prototype.metadata = null; // OneOf field names bound to virtual getters and setters var $oneOfFields; /** - * GetTokenPreProgrammedDistributionsResponseV0 result. - * @member {"tokenDistributions"|"proof"|undefined} result - * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0 + * GetTokenPerpetualDistributionLastClaimResponseV0 result. + * @member {"lastClaim"|"proof"|undefined} result + * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0 * @instance */ - Object.defineProperty(GetTokenPreProgrammedDistributionsResponseV0.prototype, "result", { - get: $util.oneOfGetter($oneOfFields = ["tokenDistributions", "proof"]), + Object.defineProperty(GetTokenPerpetualDistributionLastClaimResponseV0.prototype, "result", { + get: $util.oneOfGetter($oneOfFields = ["lastClaim", "proof"]), set: $util.oneOfSetter($oneOfFields) }); /** - * Creates a new GetTokenPreProgrammedDistributionsResponseV0 instance using the specified properties. + * Creates a new GetTokenPerpetualDistributionLastClaimResponseV0 instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0 + * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.IGetTokenPreProgrammedDistributionsResponseV0=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0} GetTokenPreProgrammedDistributionsResponseV0 instance + * @param {org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.IGetTokenPerpetualDistributionLastClaimResponseV0=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0} GetTokenPerpetualDistributionLastClaimResponseV0 instance */ - GetTokenPreProgrammedDistributionsResponseV0.create = function create(properties) { - return new GetTokenPreProgrammedDistributionsResponseV0(properties); + GetTokenPerpetualDistributionLastClaimResponseV0.create = function create(properties) { + return new GetTokenPerpetualDistributionLastClaimResponseV0(properties); }; /** - * Encodes the specified GetTokenPreProgrammedDistributionsResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.verify|verify} messages. + * Encodes the specified GetTokenPerpetualDistributionLastClaimResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0 + * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.IGetTokenPreProgrammedDistributionsResponseV0} message GetTokenPreProgrammedDistributionsResponseV0 message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.IGetTokenPerpetualDistributionLastClaimResponseV0} message GetTokenPerpetualDistributionLastClaimResponseV0 message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetTokenPreProgrammedDistributionsResponseV0.encode = function encode(message, writer) { + GetTokenPerpetualDistributionLastClaimResponseV0.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.tokenDistributions != null && Object.hasOwnProperty.call(message, "tokenDistributions")) - $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions.encode(message.tokenDistributions, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.lastClaim != null && Object.hasOwnProperty.call(message, "lastClaim")) + $root.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo.encode(message.lastClaim, 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")) @@ -55349,431 +61826,199 @@ $root.org = (function() { }; /** - * Encodes the specified GetTokenPreProgrammedDistributionsResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.verify|verify} messages. + * Encodes the specified GetTokenPerpetualDistributionLastClaimResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0 + * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0 * @static - * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.IGetTokenPreProgrammedDistributionsResponseV0} message GetTokenPreProgrammedDistributionsResponseV0 message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.IGetTokenPerpetualDistributionLastClaimResponseV0} message GetTokenPerpetualDistributionLastClaimResponseV0 message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - GetTokenPreProgrammedDistributionsResponseV0.encodeDelimited = function encodeDelimited(message, writer) { + GetTokenPerpetualDistributionLastClaimResponseV0.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a GetTokenPreProgrammedDistributionsResponseV0 message from the specified reader or buffer. + * Decodes a GetTokenPerpetualDistributionLastClaimResponseV0 message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0 + * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0 * @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.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0} GetTokenPreProgrammedDistributionsResponseV0 + * @returns {org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0} GetTokenPerpetualDistributionLastClaimResponseV0 * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetTokenPreProgrammedDistributionsResponseV0.decode = function decode(reader, length) { + GetTokenPerpetualDistributionLastClaimResponseV0.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.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0(); while (reader.pos < end) { var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.tokenDistributions = $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions.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 GetTokenPreProgrammedDistributionsResponseV0 message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0 - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0} GetTokenPreProgrammedDistributionsResponseV0 - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - GetTokenPreProgrammedDistributionsResponseV0.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a GetTokenPreProgrammedDistributionsResponseV0 message. - * @function verify - * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0 - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - GetTokenPreProgrammedDistributionsResponseV0.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - var properties = {}; - if (message.tokenDistributions != null && message.hasOwnProperty("tokenDistributions")) { - properties.result = 1; - { - var error = $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions.verify(message.tokenDistributions); - if (error) - return "tokenDistributions." + 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 GetTokenPreProgrammedDistributionsResponseV0 message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0 - * @static - * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0} GetTokenPreProgrammedDistributionsResponseV0 - */ - GetTokenPreProgrammedDistributionsResponseV0.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0) - return object; - var message = new $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0(); - if (object.tokenDistributions != null) { - if (typeof object.tokenDistributions !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.tokenDistributions: object expected"); - message.tokenDistributions = $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions.fromObject(object.tokenDistributions); - } - if (object.proof != null) { - if (typeof object.proof !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.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.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.metadata: object expected"); - message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.fromObject(object.metadata); - } - return message; - }; - - /** - * Creates a plain object from a GetTokenPreProgrammedDistributionsResponseV0 message. Also converts values to other types if specified. - * @function toObject - * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0 - * @static - * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0} message GetTokenPreProgrammedDistributionsResponseV0 - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - GetTokenPreProgrammedDistributionsResponseV0.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) - object.metadata = null; - if (message.tokenDistributions != null && message.hasOwnProperty("tokenDistributions")) { - object.tokenDistributions = $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions.toObject(message.tokenDistributions, options); - if (options.oneofs) - object.result = "tokenDistributions"; - } - 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 GetTokenPreProgrammedDistributionsResponseV0 to JSON. - * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0 - * @instance - * @returns {Object.} JSON object - */ - GetTokenPreProgrammedDistributionsResponseV0.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry = (function() { - - /** - * Properties of a TokenDistributionEntry. - * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0 - * @interface ITokenDistributionEntry - * @property {Uint8Array|null} [recipientId] TokenDistributionEntry recipientId - * @property {number|Long|null} [amount] TokenDistributionEntry amount - */ - - /** - * Constructs a new TokenDistributionEntry. - * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0 - * @classdesc Represents a TokenDistributionEntry. - * @implements ITokenDistributionEntry - * @constructor - * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.ITokenDistributionEntry=} [properties] Properties to set - */ - function TokenDistributionEntry(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]]; - } - - /** - * TokenDistributionEntry recipientId. - * @member {Uint8Array} recipientId - * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry - * @instance - */ - TokenDistributionEntry.prototype.recipientId = $util.newBuffer([]); - - /** - * TokenDistributionEntry amount. - * @member {number|Long} amount - * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry - * @instance - */ - TokenDistributionEntry.prototype.amount = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - - /** - * Creates a new TokenDistributionEntry instance using the specified properties. - * @function create - * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry - * @static - * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.ITokenDistributionEntry=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry} TokenDistributionEntry instance - */ - TokenDistributionEntry.create = function create(properties) { - return new TokenDistributionEntry(properties); - }; - - /** - * Encodes the specified TokenDistributionEntry message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry.verify|verify} messages. - * @function encode - * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry - * @static - * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.ITokenDistributionEntry} message TokenDistributionEntry message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - TokenDistributionEntry.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.recipientId != null && Object.hasOwnProperty.call(message, "recipientId")) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.recipientId); - if (message.amount != null && Object.hasOwnProperty.call(message, "amount")) - writer.uint32(/* id 2, wireType 0 =*/16).uint64(message.amount); - return writer; - }; - - /** - * Encodes the specified TokenDistributionEntry message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry.verify|verify} messages. - * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry - * @static - * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.ITokenDistributionEntry} message TokenDistributionEntry message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - TokenDistributionEntry.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a TokenDistributionEntry message from the specified reader or buffer. - * @function decode - * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry - * @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.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry} TokenDistributionEntry - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - TokenDistributionEntry.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.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.recipientId = reader.bytes(); - break; - case 2: - message.amount = reader.uint64(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a TokenDistributionEntry message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry} TokenDistributionEntry - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - TokenDistributionEntry.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a TokenDistributionEntry message. - * @function verify - * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - TokenDistributionEntry.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.recipientId != null && message.hasOwnProperty("recipientId")) - if (!(message.recipientId && typeof message.recipientId.length === "number" || $util.isString(message.recipientId))) - return "recipientId: buffer expected"; - if (message.amount != null && message.hasOwnProperty("amount")) - if (!$util.isInteger(message.amount) && !(message.amount && $util.isInteger(message.amount.low) && $util.isInteger(message.amount.high))) - return "amount: integer|Long expected"; - return null; - }; - - /** - * Creates a TokenDistributionEntry message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry - * @static - * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry} TokenDistributionEntry - */ - TokenDistributionEntry.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry) - return object; - var message = new $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry(); - if (object.recipientId != null) - if (typeof object.recipientId === "string") - $util.base64.decode(object.recipientId, message.recipientId = $util.newBuffer($util.base64.length(object.recipientId)), 0); - else if (object.recipientId.length >= 0) - message.recipientId = object.recipientId; - if (object.amount != null) - if ($util.Long) - (message.amount = $util.Long.fromValue(object.amount)).unsigned = true; - else if (typeof object.amount === "string") - message.amount = parseInt(object.amount, 10); - else if (typeof object.amount === "number") - message.amount = object.amount; - else if (typeof object.amount === "object") - message.amount = new $util.LongBits(object.amount.low >>> 0, object.amount.high >>> 0).toNumber(true); - return message; - }; + switch (tag >>> 3) { + case 1: + message.lastClaim = $root.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo.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; + }; - /** - * Creates a plain object from a TokenDistributionEntry message. Also converts values to other types if specified. - * @function toObject - * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry - * @static - * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry} message TokenDistributionEntry - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - TokenDistributionEntry.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - if (options.bytes === String) - object.recipientId = ""; - else { - object.recipientId = []; - if (options.bytes !== Array) - object.recipientId = $util.newBuffer(object.recipientId); - } - if ($util.Long) { - var long = new $util.Long(0, 0, true); - object.amount = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.amount = options.longs === String ? "0" : 0; + /** + * Decodes a GetTokenPerpetualDistributionLastClaimResponseV0 message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0 + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0} GetTokenPerpetualDistributionLastClaimResponseV0 + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetTokenPerpetualDistributionLastClaimResponseV0.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GetTokenPerpetualDistributionLastClaimResponseV0 message. + * @function verify + * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0 + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetTokenPerpetualDistributionLastClaimResponseV0.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + var properties = {}; + if (message.lastClaim != null && message.hasOwnProperty("lastClaim")) { + properties.result = 1; + { + var error = $root.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo.verify(message.lastClaim); + if (error) + return "lastClaim." + error; } - if (message.recipientId != null && message.hasOwnProperty("recipientId")) - object.recipientId = options.bytes === String ? $util.base64.encode(message.recipientId, 0, message.recipientId.length) : options.bytes === Array ? Array.prototype.slice.call(message.recipientId) : message.recipientId; - if (message.amount != null && message.hasOwnProperty("amount")) - if (typeof message.amount === "number") - object.amount = options.longs === String ? String(message.amount) : message.amount; - else - object.amount = options.longs === String ? $util.Long.prototype.toString.call(message.amount) : options.longs === Number ? new $util.LongBits(message.amount.low >>> 0, message.amount.high >>> 0).toNumber(true) : message.amount; + } + 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 GetTokenPerpetualDistributionLastClaimResponseV0 message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0 + * @static + * @param {Object.} object Plain object + * @returns {org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0} GetTokenPerpetualDistributionLastClaimResponseV0 + */ + GetTokenPerpetualDistributionLastClaimResponseV0.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0) return object; - }; + var message = new $root.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0(); + if (object.lastClaim != null) { + if (typeof object.lastClaim !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.lastClaim: object expected"); + message.lastClaim = $root.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo.fromObject(object.lastClaim); + } + if (object.proof != null) { + if (typeof object.proof !== "object") + throw TypeError(".org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.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.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.metadata: object expected"); + message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.fromObject(object.metadata); + } + return message; + }; - /** - * Converts this TokenDistributionEntry to JSON. - * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry - * @instance - * @returns {Object.} JSON object - */ - TokenDistributionEntry.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; + /** + * Creates a plain object from a GetTokenPerpetualDistributionLastClaimResponseV0 message. Also converts values to other types if specified. + * @function toObject + * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0 + * @static + * @param {org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0} message GetTokenPerpetualDistributionLastClaimResponseV0 + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetTokenPerpetualDistributionLastClaimResponseV0.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.metadata = null; + if (message.lastClaim != null && message.hasOwnProperty("lastClaim")) { + object.lastClaim = $root.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo.toObject(message.lastClaim, options); + if (options.oneofs) + object.result = "lastClaim"; + } + 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; + }; - return TokenDistributionEntry; - })(); + /** + * Converts this GetTokenPerpetualDistributionLastClaimResponseV0 to JSON. + * @function toJSON + * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0 + * @instance + * @returns {Object.} JSON object + */ + GetTokenPerpetualDistributionLastClaimResponseV0.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; - GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry = (function() { + GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo = (function() { /** - * Properties of a TokenTimedDistributionEntry. - * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0 - * @interface ITokenTimedDistributionEntry - * @property {number|Long|null} [timestamp] TokenTimedDistributionEntry timestamp - * @property {Array.|null} [distributions] TokenTimedDistributionEntry distributions + * Properties of a LastClaimInfo. + * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0 + * @interface ILastClaimInfo + * @property {number|Long|null} [timestampMs] LastClaimInfo timestampMs + * @property {number|Long|null} [blockHeight] LastClaimInfo blockHeight + * @property {number|null} [epoch] LastClaimInfo epoch + * @property {Uint8Array|null} [rawBytes] LastClaimInfo rawBytes */ /** - * Constructs a new TokenTimedDistributionEntry. - * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0 - * @classdesc Represents a TokenTimedDistributionEntry. - * @implements ITokenTimedDistributionEntry + * Constructs a new LastClaimInfo. + * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0 + * @classdesc Represents a LastClaimInfo. + * @implements ILastClaimInfo * @constructor - * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.ITokenTimedDistributionEntry=} [properties] Properties to set + * @param {org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.ILastClaimInfo=} [properties] Properties to set */ - function TokenTimedDistributionEntry(properties) { - this.distributions = []; + function LastClaimInfo(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -55781,322 +62026,128 @@ $root.org = (function() { } /** - * TokenTimedDistributionEntry timestamp. - * @member {number|Long} timestamp - * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry + * LastClaimInfo timestampMs. + * @member {number|Long} timestampMs + * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo * @instance */ - TokenTimedDistributionEntry.prototype.timestamp = $util.Long ? $util.Long.fromBits(0,0,true) : 0; + LastClaimInfo.prototype.timestampMs = $util.Long ? $util.Long.fromBits(0,0,true) : 0; /** - * TokenTimedDistributionEntry distributions. - * @member {Array.} distributions - * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry + * LastClaimInfo blockHeight. + * @member {number|Long} blockHeight + * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo * @instance */ - TokenTimedDistributionEntry.prototype.distributions = $util.emptyArray; - - /** - * Creates a new TokenTimedDistributionEntry instance using the specified properties. - * @function create - * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry - * @static - * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.ITokenTimedDistributionEntry=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry} TokenTimedDistributionEntry instance - */ - TokenTimedDistributionEntry.create = function create(properties) { - return new TokenTimedDistributionEntry(properties); - }; - - /** - * Encodes the specified TokenTimedDistributionEntry message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry.verify|verify} messages. - * @function encode - * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry - * @static - * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.ITokenTimedDistributionEntry} message TokenTimedDistributionEntry message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - TokenTimedDistributionEntry.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.timestamp != null && Object.hasOwnProperty.call(message, "timestamp")) - writer.uint32(/* id 1, wireType 0 =*/8).uint64(message.timestamp); - if (message.distributions != null && message.distributions.length) - for (var i = 0; i < message.distributions.length; ++i) - $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry.encode(message.distributions[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified TokenTimedDistributionEntry message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry.verify|verify} messages. - * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry - * @static - * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.ITokenTimedDistributionEntry} message TokenTimedDistributionEntry message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - TokenTimedDistributionEntry.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a TokenTimedDistributionEntry message from the specified reader or buffer. - * @function decode - * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry - * @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.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry} TokenTimedDistributionEntry - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - TokenTimedDistributionEntry.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.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry(); - while (reader.pos < end) { - var tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.timestamp = reader.uint64(); - break; - case 2: - if (!(message.distributions && message.distributions.length)) - message.distributions = []; - message.distributions.push($root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry.decode(reader, reader.uint32())); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a TokenTimedDistributionEntry message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry} TokenTimedDistributionEntry - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - TokenTimedDistributionEntry.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a TokenTimedDistributionEntry message. - * @function verify - * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - TokenTimedDistributionEntry.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.timestamp != null && message.hasOwnProperty("timestamp")) - if (!$util.isInteger(message.timestamp) && !(message.timestamp && $util.isInteger(message.timestamp.low) && $util.isInteger(message.timestamp.high))) - return "timestamp: integer|Long expected"; - if (message.distributions != null && message.hasOwnProperty("distributions")) { - if (!Array.isArray(message.distributions)) - return "distributions: array expected"; - for (var i = 0; i < message.distributions.length; ++i) { - var error = $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry.verify(message.distributions[i]); - if (error) - return "distributions." + error; - } - } - return null; - }; - - /** - * Creates a TokenTimedDistributionEntry message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry - * @static - * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry} TokenTimedDistributionEntry - */ - TokenTimedDistributionEntry.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry) - return object; - var message = new $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry(); - if (object.timestamp != null) - if ($util.Long) - (message.timestamp = $util.Long.fromValue(object.timestamp)).unsigned = true; - else if (typeof object.timestamp === "string") - message.timestamp = parseInt(object.timestamp, 10); - else if (typeof object.timestamp === "number") - message.timestamp = object.timestamp; - else if (typeof object.timestamp === "object") - message.timestamp = new $util.LongBits(object.timestamp.low >>> 0, object.timestamp.high >>> 0).toNumber(true); - if (object.distributions) { - if (!Array.isArray(object.distributions)) - throw TypeError(".org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry.distributions: array expected"); - message.distributions = []; - for (var i = 0; i < object.distributions.length; ++i) { - if (typeof object.distributions[i] !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry.distributions: object expected"); - message.distributions[i] = $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry.fromObject(object.distributions[i]); - } - } - return message; - }; - - /** - * Creates a plain object from a TokenTimedDistributionEntry message. Also converts values to other types if specified. - * @function toObject - * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry - * @static - * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry} message TokenTimedDistributionEntry - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - TokenTimedDistributionEntry.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.arrays || options.defaults) - object.distributions = []; - if (options.defaults) - if ($util.Long) { - var long = new $util.Long(0, 0, true); - object.timestamp = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.timestamp = options.longs === String ? "0" : 0; - if (message.timestamp != null && message.hasOwnProperty("timestamp")) - if (typeof message.timestamp === "number") - object.timestamp = options.longs === String ? String(message.timestamp) : message.timestamp; - else - object.timestamp = options.longs === String ? $util.Long.prototype.toString.call(message.timestamp) : options.longs === Number ? new $util.LongBits(message.timestamp.low >>> 0, message.timestamp.high >>> 0).toNumber(true) : message.timestamp; - if (message.distributions && message.distributions.length) { - object.distributions = []; - for (var j = 0; j < message.distributions.length; ++j) - object.distributions[j] = $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry.toObject(message.distributions[j], options); - } - return object; - }; + LastClaimInfo.prototype.blockHeight = $util.Long ? $util.Long.fromBits(0,0,true) : 0; /** - * Converts this TokenTimedDistributionEntry to JSON. - * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry + * LastClaimInfo epoch. + * @member {number} epoch + * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo * @instance - * @returns {Object.} JSON object */ - TokenTimedDistributionEntry.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return TokenTimedDistributionEntry; - })(); - - GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions = (function() { + LastClaimInfo.prototype.epoch = 0; /** - * Properties of a TokenDistributions. - * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0 - * @interface ITokenDistributions - * @property {Array.|null} [tokenDistributions] TokenDistributions tokenDistributions + * LastClaimInfo rawBytes. + * @member {Uint8Array} rawBytes + * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo + * @instance */ + LastClaimInfo.prototype.rawBytes = $util.newBuffer([]); - /** - * Constructs a new TokenDistributions. - * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0 - * @classdesc Represents a TokenDistributions. - * @implements ITokenDistributions - * @constructor - * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.ITokenDistributions=} [properties] Properties to set - */ - function TokenDistributions(properties) { - this.tokenDistributions = []; - 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]]; - } + // OneOf field names bound to virtual getters and setters + var $oneOfFields; /** - * TokenDistributions tokenDistributions. - * @member {Array.} tokenDistributions - * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions + * LastClaimInfo paidAt. + * @member {"timestampMs"|"blockHeight"|"epoch"|"rawBytes"|undefined} paidAt + * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo * @instance */ - TokenDistributions.prototype.tokenDistributions = $util.emptyArray; + Object.defineProperty(LastClaimInfo.prototype, "paidAt", { + get: $util.oneOfGetter($oneOfFields = ["timestampMs", "blockHeight", "epoch", "rawBytes"]), + set: $util.oneOfSetter($oneOfFields) + }); /** - * Creates a new TokenDistributions instance using the specified properties. + * Creates a new LastClaimInfo instance using the specified properties. * @function create - * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions + * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo * @static - * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.ITokenDistributions=} [properties] Properties to set - * @returns {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions} TokenDistributions instance + * @param {org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.ILastClaimInfo=} [properties] Properties to set + * @returns {org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo} LastClaimInfo instance */ - TokenDistributions.create = function create(properties) { - return new TokenDistributions(properties); + LastClaimInfo.create = function create(properties) { + return new LastClaimInfo(properties); }; /** - * Encodes the specified TokenDistributions message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions.verify|verify} messages. + * Encodes the specified LastClaimInfo message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo.verify|verify} messages. * @function encode - * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions + * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo * @static - * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.ITokenDistributions} message TokenDistributions message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.ILastClaimInfo} message LastClaimInfo message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - TokenDistributions.encode = function encode(message, writer) { + LastClaimInfo.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.tokenDistributions != null && message.tokenDistributions.length) - for (var i = 0; i < message.tokenDistributions.length; ++i) - $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry.encode(message.tokenDistributions[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.timestampMs != null && Object.hasOwnProperty.call(message, "timestampMs")) + writer.uint32(/* id 1, wireType 0 =*/8).uint64(message.timestampMs); + if (message.blockHeight != null && Object.hasOwnProperty.call(message, "blockHeight")) + writer.uint32(/* id 2, wireType 0 =*/16).uint64(message.blockHeight); + if (message.epoch != null && Object.hasOwnProperty.call(message, "epoch")) + writer.uint32(/* id 3, wireType 0 =*/24).uint32(message.epoch); + if (message.rawBytes != null && Object.hasOwnProperty.call(message, "rawBytes")) + writer.uint32(/* id 4, wireType 2 =*/34).bytes(message.rawBytes); return writer; }; /** - * Encodes the specified TokenDistributions message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions.verify|verify} messages. + * Encodes the specified LastClaimInfo message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo.verify|verify} messages. * @function encodeDelimited - * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions + * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo * @static - * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.ITokenDistributions} message TokenDistributions message or plain object to encode + * @param {org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.ILastClaimInfo} message LastClaimInfo message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - TokenDistributions.encodeDelimited = function encodeDelimited(message, writer) { + LastClaimInfo.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a TokenDistributions message from the specified reader or buffer. + * Decodes a LastClaimInfo message from the specified reader or buffer. * @function decode - * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions + * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo * @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.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions} TokenDistributions + * @returns {org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo} LastClaimInfo * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - TokenDistributions.decode = function decode(reader, length) { + LastClaimInfo.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.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: - if (!(message.tokenDistributions && message.tokenDistributions.length)) - message.tokenDistributions = []; - message.tokenDistributions.push($root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry.decode(reader, reader.uint32())); + message.timestampMs = reader.uint64(); + break; + case 2: + message.blockHeight = reader.uint64(); + break; + case 3: + message.epoch = reader.uint32(); + break; + case 4: + message.rawBytes = reader.bytes(); break; default: reader.skipType(tag & 7); @@ -56107,110 +62158,162 @@ $root.org = (function() { }; /** - * Decodes a TokenDistributions message from the specified reader or buffer, length delimited. + * Decodes a LastClaimInfo message from the specified reader or buffer, length delimited. * @function decodeDelimited - * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions + * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions} TokenDistributions + * @returns {org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo} LastClaimInfo * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - TokenDistributions.decodeDelimited = function decodeDelimited(reader) { + LastClaimInfo.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** - * Verifies a TokenDistributions message. + * Verifies a LastClaimInfo message. * @function verify - * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions + * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - TokenDistributions.verify = function verify(message) { + LastClaimInfo.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; - if (message.tokenDistributions != null && message.hasOwnProperty("tokenDistributions")) { - if (!Array.isArray(message.tokenDistributions)) - return "tokenDistributions: array expected"; - for (var i = 0; i < message.tokenDistributions.length; ++i) { - var error = $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry.verify(message.tokenDistributions[i]); - if (error) - return "tokenDistributions." + error; - } + var properties = {}; + if (message.timestampMs != null && message.hasOwnProperty("timestampMs")) { + properties.paidAt = 1; + if (!$util.isInteger(message.timestampMs) && !(message.timestampMs && $util.isInteger(message.timestampMs.low) && $util.isInteger(message.timestampMs.high))) + return "timestampMs: integer|Long expected"; + } + if (message.blockHeight != null && message.hasOwnProperty("blockHeight")) { + if (properties.paidAt === 1) + return "paidAt: multiple values"; + properties.paidAt = 1; + if (!$util.isInteger(message.blockHeight) && !(message.blockHeight && $util.isInteger(message.blockHeight.low) && $util.isInteger(message.blockHeight.high))) + return "blockHeight: integer|Long expected"; + } + if (message.epoch != null && message.hasOwnProperty("epoch")) { + if (properties.paidAt === 1) + return "paidAt: multiple values"; + properties.paidAt = 1; + if (!$util.isInteger(message.epoch)) + return "epoch: integer expected"; + } + if (message.rawBytes != null && message.hasOwnProperty("rawBytes")) { + if (properties.paidAt === 1) + return "paidAt: multiple values"; + properties.paidAt = 1; + if (!(message.rawBytes && typeof message.rawBytes.length === "number" || $util.isString(message.rawBytes))) + return "rawBytes: buffer expected"; } return null; }; /** - * Creates a TokenDistributions message from a plain object. Also converts values to their respective internal types. + * Creates a LastClaimInfo message from a plain object. Also converts values to their respective internal types. * @function fromObject - * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions + * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo * @static * @param {Object.} object Plain object - * @returns {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions} TokenDistributions + * @returns {org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo} LastClaimInfo */ - TokenDistributions.fromObject = function fromObject(object) { - if (object instanceof $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions) + LastClaimInfo.fromObject = function fromObject(object) { + if (object instanceof $root.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo) return object; - var message = new $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions(); - if (object.tokenDistributions) { - if (!Array.isArray(object.tokenDistributions)) - throw TypeError(".org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions.tokenDistributions: array expected"); - message.tokenDistributions = []; - for (var i = 0; i < object.tokenDistributions.length; ++i) { - if (typeof object.tokenDistributions[i] !== "object") - throw TypeError(".org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions.tokenDistributions: object expected"); - message.tokenDistributions[i] = $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry.fromObject(object.tokenDistributions[i]); - } - } + var message = new $root.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo(); + if (object.timestampMs != null) + if ($util.Long) + (message.timestampMs = $util.Long.fromValue(object.timestampMs)).unsigned = true; + else if (typeof object.timestampMs === "string") + message.timestampMs = parseInt(object.timestampMs, 10); + else if (typeof object.timestampMs === "number") + message.timestampMs = object.timestampMs; + else if (typeof object.timestampMs === "object") + message.timestampMs = new $util.LongBits(object.timestampMs.low >>> 0, object.timestampMs.high >>> 0).toNumber(true); + if (object.blockHeight != null) + if ($util.Long) + (message.blockHeight = $util.Long.fromValue(object.blockHeight)).unsigned = true; + else if (typeof object.blockHeight === "string") + message.blockHeight = parseInt(object.blockHeight, 10); + else if (typeof object.blockHeight === "number") + message.blockHeight = object.blockHeight; + else if (typeof object.blockHeight === "object") + message.blockHeight = new $util.LongBits(object.blockHeight.low >>> 0, object.blockHeight.high >>> 0).toNumber(true); + if (object.epoch != null) + message.epoch = object.epoch >>> 0; + if (object.rawBytes != null) + if (typeof object.rawBytes === "string") + $util.base64.decode(object.rawBytes, message.rawBytes = $util.newBuffer($util.base64.length(object.rawBytes)), 0); + else if (object.rawBytes.length >= 0) + message.rawBytes = object.rawBytes; return message; }; /** - * Creates a plain object from a TokenDistributions message. Also converts values to other types if specified. + * Creates a plain object from a LastClaimInfo message. Also converts values to other types if specified. * @function toObject - * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions + * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo * @static - * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions} message TokenDistributions + * @param {org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo} message LastClaimInfo * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ - TokenDistributions.toObject = function toObject(message, options) { + LastClaimInfo.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; - if (options.arrays || options.defaults) - object.tokenDistributions = []; - if (message.tokenDistributions && message.tokenDistributions.length) { - object.tokenDistributions = []; - for (var j = 0; j < message.tokenDistributions.length; ++j) - object.tokenDistributions[j] = $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry.toObject(message.tokenDistributions[j], options); + if (message.timestampMs != null && message.hasOwnProperty("timestampMs")) { + if (typeof message.timestampMs === "number") + object.timestampMs = options.longs === String ? String(message.timestampMs) : message.timestampMs; + else + object.timestampMs = options.longs === String ? $util.Long.prototype.toString.call(message.timestampMs) : options.longs === Number ? new $util.LongBits(message.timestampMs.low >>> 0, message.timestampMs.high >>> 0).toNumber(true) : message.timestampMs; + if (options.oneofs) + object.paidAt = "timestampMs"; + } + if (message.blockHeight != null && message.hasOwnProperty("blockHeight")) { + if (typeof message.blockHeight === "number") + object.blockHeight = options.longs === String ? String(message.blockHeight) : message.blockHeight; + else + object.blockHeight = options.longs === String ? $util.Long.prototype.toString.call(message.blockHeight) : options.longs === Number ? new $util.LongBits(message.blockHeight.low >>> 0, message.blockHeight.high >>> 0).toNumber(true) : message.blockHeight; + if (options.oneofs) + object.paidAt = "blockHeight"; + } + if (message.epoch != null && message.hasOwnProperty("epoch")) { + object.epoch = message.epoch; + if (options.oneofs) + object.paidAt = "epoch"; + } + if (message.rawBytes != null && message.hasOwnProperty("rawBytes")) { + object.rawBytes = options.bytes === String ? $util.base64.encode(message.rawBytes, 0, message.rawBytes.length) : options.bytes === Array ? Array.prototype.slice.call(message.rawBytes) : message.rawBytes; + if (options.oneofs) + object.paidAt = "rawBytes"; } return object; }; /** - * Converts this TokenDistributions to JSON. + * Converts this LastClaimInfo to JSON. * @function toJSON - * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions + * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo * @instance * @returns {Object.} JSON object */ - TokenDistributions.prototype.toJSON = function toJSON() { + LastClaimInfo.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; - return TokenDistributions; + return LastClaimInfo; })(); - return GetTokenPreProgrammedDistributionsResponseV0; + return GetTokenPerpetualDistributionLastClaimResponseV0; })(); - return GetTokenPreProgrammedDistributionsResponse; + return GetTokenPerpetualDistributionLastClaimResponse; })(); v0.GetTokenTotalSupplyRequest = (function() { @@ -62337,6 +68440,7 @@ $root.org = (function() { * @memberof org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0 * @interface IBurnEvent * @property {number|Long|null} [amount] BurnEvent amount + * @property {Uint8Array|null} [burnFromId] BurnEvent burnFromId * @property {string|null} [publicNote] BurnEvent publicNote */ @@ -62363,6 +68467,14 @@ $root.org = (function() { */ BurnEvent.prototype.amount = $util.Long ? $util.Long.fromBits(0,0,true) : 0; + /** + * BurnEvent burnFromId. + * @member {Uint8Array} burnFromId + * @memberof org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.BurnEvent + * @instance + */ + BurnEvent.prototype.burnFromId = $util.newBuffer([]); + /** * BurnEvent publicNote. * @member {string} publicNote @@ -62397,8 +68509,10 @@ $root.org = (function() { writer = $Writer.create(); if (message.amount != null && Object.hasOwnProperty.call(message, "amount")) writer.uint32(/* id 1, wireType 0 =*/8).uint64(message.amount); + if (message.burnFromId != null && Object.hasOwnProperty.call(message, "burnFromId")) + writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.burnFromId); if (message.publicNote != null && Object.hasOwnProperty.call(message, "publicNote")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.publicNote); + writer.uint32(/* id 3, wireType 2 =*/26).string(message.publicNote); return writer; }; @@ -62437,6 +68551,9 @@ $root.org = (function() { message.amount = reader.uint64(); break; case 2: + message.burnFromId = reader.bytes(); + break; + case 3: message.publicNote = reader.string(); break; default: @@ -62477,6 +68594,9 @@ $root.org = (function() { if (message.amount != null && message.hasOwnProperty("amount")) if (!$util.isInteger(message.amount) && !(message.amount && $util.isInteger(message.amount.low) && $util.isInteger(message.amount.high))) return "amount: integer|Long expected"; + if (message.burnFromId != null && message.hasOwnProperty("burnFromId")) + if (!(message.burnFromId && typeof message.burnFromId.length === "number" || $util.isString(message.burnFromId))) + return "burnFromId: buffer expected"; if (message.publicNote != null && message.hasOwnProperty("publicNote")) if (!$util.isString(message.publicNote)) return "publicNote: string expected"; @@ -62504,6 +68624,11 @@ $root.org = (function() { message.amount = object.amount; else if (typeof object.amount === "object") message.amount = new $util.LongBits(object.amount.low >>> 0, object.amount.high >>> 0).toNumber(true); + if (object.burnFromId != null) + if (typeof object.burnFromId === "string") + $util.base64.decode(object.burnFromId, message.burnFromId = $util.newBuffer($util.base64.length(object.burnFromId)), 0); + else if (object.burnFromId.length >= 0) + message.burnFromId = object.burnFromId; if (object.publicNote != null) message.publicNote = String(object.publicNote); return message; @@ -62528,6 +68653,13 @@ $root.org = (function() { object.amount = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; } else object.amount = options.longs === String ? "0" : 0; + if (options.bytes === String) + object.burnFromId = ""; + else { + object.burnFromId = []; + if (options.bytes !== Array) + object.burnFromId = $util.newBuffer(object.burnFromId); + } object.publicNote = ""; } if (message.amount != null && message.hasOwnProperty("amount")) @@ -62535,6 +68667,8 @@ $root.org = (function() { object.amount = options.longs === String ? String(message.amount) : message.amount; else object.amount = options.longs === String ? $util.Long.prototype.toString.call(message.amount) : options.longs === Number ? new $util.LongBits(message.amount.low >>> 0, message.amount.high >>> 0).toNumber(true) : message.amount; + if (message.burnFromId != null && message.hasOwnProperty("burnFromId")) + object.burnFromId = options.bytes === String ? $util.base64.encode(message.burnFromId, 0, message.burnFromId.length) : options.bytes === Array ? Array.prototype.slice.call(message.burnFromId) : message.burnFromId; if (message.publicNote != null && message.hasOwnProperty("publicNote")) object.publicNote = message.publicNote; return object; 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 53fc70531c..0c5dfedfde 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 @@ -511,6 +511,37 @@ org.dash.platform.dapi.v0.PlatformOuterClass.GetIdentityByPublicKeyHashResponse> return getGetIdentityByPublicKeyHashMethod; } + private static volatile io.grpc.MethodDescriptor getGetIdentityByNonUniquePublicKeyHashMethod; + + @io.grpc.stub.annotations.RpcMethod( + fullMethodName = SERVICE_NAME + '/' + "getIdentityByNonUniquePublicKeyHash", + requestType = org.dash.platform.dapi.v0.PlatformOuterClass.GetIdentityByNonUniquePublicKeyHashRequest.class, + responseType = org.dash.platform.dapi.v0.PlatformOuterClass.GetIdentityByNonUniquePublicKeyHashResponse.class, + methodType = io.grpc.MethodDescriptor.MethodType.UNARY) + public static io.grpc.MethodDescriptor getGetIdentityByNonUniquePublicKeyHashMethod() { + io.grpc.MethodDescriptor getGetIdentityByNonUniquePublicKeyHashMethod; + if ((getGetIdentityByNonUniquePublicKeyHashMethod = PlatformGrpc.getGetIdentityByNonUniquePublicKeyHashMethod) == null) { + synchronized (PlatformGrpc.class) { + if ((getGetIdentityByNonUniquePublicKeyHashMethod = PlatformGrpc.getGetIdentityByNonUniquePublicKeyHashMethod) == null) { + PlatformGrpc.getGetIdentityByNonUniquePublicKeyHashMethod = getGetIdentityByNonUniquePublicKeyHashMethod = + io.grpc.MethodDescriptor.newBuilder() + .setType(io.grpc.MethodDescriptor.MethodType.UNARY) + .setFullMethodName(generateFullMethodName(SERVICE_NAME, "getIdentityByNonUniquePublicKeyHash")) + .setSampledToLocalTracing(true) + .setRequestMarshaller(io.grpc.protobuf.ProtoUtils.marshaller( + org.dash.platform.dapi.v0.PlatformOuterClass.GetIdentityByNonUniquePublicKeyHashRequest.getDefaultInstance())) + .setResponseMarshaller(io.grpc.protobuf.ProtoUtils.marshaller( + org.dash.platform.dapi.v0.PlatformOuterClass.GetIdentityByNonUniquePublicKeyHashResponse.getDefaultInstance())) + .setSchemaDescriptor(new PlatformMethodDescriptorSupplier("getIdentityByNonUniquePublicKeyHash")) + .build(); + } + } + } + return getGetIdentityByNonUniquePublicKeyHashMethod; + } + private static volatile io.grpc.MethodDescriptor getWaitForStateTransitionResultMethod; @@ -666,6 +697,37 @@ org.dash.platform.dapi.v0.PlatformOuterClass.GetEpochsInfoResponse> getGetEpochs return getGetEpochsInfoMethod; } + private static volatile io.grpc.MethodDescriptor getGetFinalizedEpochInfosMethod; + + @io.grpc.stub.annotations.RpcMethod( + fullMethodName = SERVICE_NAME + '/' + "getFinalizedEpochInfos", + requestType = org.dash.platform.dapi.v0.PlatformOuterClass.GetFinalizedEpochInfosRequest.class, + responseType = org.dash.platform.dapi.v0.PlatformOuterClass.GetFinalizedEpochInfosResponse.class, + methodType = io.grpc.MethodDescriptor.MethodType.UNARY) + public static io.grpc.MethodDescriptor getGetFinalizedEpochInfosMethod() { + io.grpc.MethodDescriptor getGetFinalizedEpochInfosMethod; + if ((getGetFinalizedEpochInfosMethod = PlatformGrpc.getGetFinalizedEpochInfosMethod) == null) { + synchronized (PlatformGrpc.class) { + if ((getGetFinalizedEpochInfosMethod = PlatformGrpc.getGetFinalizedEpochInfosMethod) == null) { + PlatformGrpc.getGetFinalizedEpochInfosMethod = getGetFinalizedEpochInfosMethod = + io.grpc.MethodDescriptor.newBuilder() + .setType(io.grpc.MethodDescriptor.MethodType.UNARY) + .setFullMethodName(generateFullMethodName(SERVICE_NAME, "getFinalizedEpochInfos")) + .setSampledToLocalTracing(true) + .setRequestMarshaller(io.grpc.protobuf.ProtoUtils.marshaller( + org.dash.platform.dapi.v0.PlatformOuterClass.GetFinalizedEpochInfosRequest.getDefaultInstance())) + .setResponseMarshaller(io.grpc.protobuf.ProtoUtils.marshaller( + org.dash.platform.dapi.v0.PlatformOuterClass.GetFinalizedEpochInfosResponse.getDefaultInstance())) + .setSchemaDescriptor(new PlatformMethodDescriptorSupplier("getFinalizedEpochInfos")) + .build(); + } + } + } + return getGetFinalizedEpochInfosMethod; + } + private static volatile io.grpc.MethodDescriptor getGetContestedResourcesMethod; @@ -1162,6 +1224,37 @@ org.dash.platform.dapi.v0.PlatformOuterClass.GetTokenDirectPurchasePricesRespons return getGetTokenDirectPurchasePricesMethod; } + private static volatile io.grpc.MethodDescriptor getGetTokenContractInfoMethod; + + @io.grpc.stub.annotations.RpcMethod( + fullMethodName = SERVICE_NAME + '/' + "getTokenContractInfo", + requestType = org.dash.platform.dapi.v0.PlatformOuterClass.GetTokenContractInfoRequest.class, + responseType = org.dash.platform.dapi.v0.PlatformOuterClass.GetTokenContractInfoResponse.class, + methodType = io.grpc.MethodDescriptor.MethodType.UNARY) + public static io.grpc.MethodDescriptor getGetTokenContractInfoMethod() { + io.grpc.MethodDescriptor getGetTokenContractInfoMethod; + if ((getGetTokenContractInfoMethod = PlatformGrpc.getGetTokenContractInfoMethod) == null) { + synchronized (PlatformGrpc.class) { + if ((getGetTokenContractInfoMethod = PlatformGrpc.getGetTokenContractInfoMethod) == null) { + PlatformGrpc.getGetTokenContractInfoMethod = getGetTokenContractInfoMethod = + io.grpc.MethodDescriptor.newBuilder() + .setType(io.grpc.MethodDescriptor.MethodType.UNARY) + .setFullMethodName(generateFullMethodName(SERVICE_NAME, "getTokenContractInfo")) + .setSampledToLocalTracing(true) + .setRequestMarshaller(io.grpc.protobuf.ProtoUtils.marshaller( + org.dash.platform.dapi.v0.PlatformOuterClass.GetTokenContractInfoRequest.getDefaultInstance())) + .setResponseMarshaller(io.grpc.protobuf.ProtoUtils.marshaller( + org.dash.platform.dapi.v0.PlatformOuterClass.GetTokenContractInfoResponse.getDefaultInstance())) + .setSchemaDescriptor(new PlatformMethodDescriptorSupplier("getTokenContractInfo")) + .build(); + } + } + } + return getGetTokenContractInfoMethod; + } + private static volatile io.grpc.MethodDescriptor getGetTokenPreProgrammedDistributionsMethod; @@ -1193,6 +1286,37 @@ org.dash.platform.dapi.v0.PlatformOuterClass.GetTokenPreProgrammedDistributionsR return getGetTokenPreProgrammedDistributionsMethod; } + private static volatile io.grpc.MethodDescriptor getGetTokenPerpetualDistributionLastClaimMethod; + + @io.grpc.stub.annotations.RpcMethod( + fullMethodName = SERVICE_NAME + '/' + "getTokenPerpetualDistributionLastClaim", + requestType = org.dash.platform.dapi.v0.PlatformOuterClass.GetTokenPerpetualDistributionLastClaimRequest.class, + responseType = org.dash.platform.dapi.v0.PlatformOuterClass.GetTokenPerpetualDistributionLastClaimResponse.class, + methodType = io.grpc.MethodDescriptor.MethodType.UNARY) + public static io.grpc.MethodDescriptor getGetTokenPerpetualDistributionLastClaimMethod() { + io.grpc.MethodDescriptor getGetTokenPerpetualDistributionLastClaimMethod; + if ((getGetTokenPerpetualDistributionLastClaimMethod = PlatformGrpc.getGetTokenPerpetualDistributionLastClaimMethod) == null) { + synchronized (PlatformGrpc.class) { + if ((getGetTokenPerpetualDistributionLastClaimMethod = PlatformGrpc.getGetTokenPerpetualDistributionLastClaimMethod) == null) { + PlatformGrpc.getGetTokenPerpetualDistributionLastClaimMethod = getGetTokenPerpetualDistributionLastClaimMethod = + io.grpc.MethodDescriptor.newBuilder() + .setType(io.grpc.MethodDescriptor.MethodType.UNARY) + .setFullMethodName(generateFullMethodName(SERVICE_NAME, "getTokenPerpetualDistributionLastClaim")) + .setSampledToLocalTracing(true) + .setRequestMarshaller(io.grpc.protobuf.ProtoUtils.marshaller( + org.dash.platform.dapi.v0.PlatformOuterClass.GetTokenPerpetualDistributionLastClaimRequest.getDefaultInstance())) + .setResponseMarshaller(io.grpc.protobuf.ProtoUtils.marshaller( + org.dash.platform.dapi.v0.PlatformOuterClass.GetTokenPerpetualDistributionLastClaimResponse.getDefaultInstance())) + .setSchemaDescriptor(new PlatformMethodDescriptorSupplier("getTokenPerpetualDistributionLastClaim")) + .build(); + } + } + } + return getGetTokenPerpetualDistributionLastClaimMethod; + } + private static volatile io.grpc.MethodDescriptor getGetTokenTotalSupplyMethod; @@ -1508,6 +1632,13 @@ public void getIdentityByPublicKeyHash(org.dash.platform.dapi.v0.PlatformOuterCl io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getGetIdentityByPublicKeyHashMethod(), responseObserver); } + /** + */ + public void getIdentityByNonUniquePublicKeyHash(org.dash.platform.dapi.v0.PlatformOuterClass.GetIdentityByNonUniquePublicKeyHashRequest request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getGetIdentityByNonUniquePublicKeyHashMethod(), responseObserver); + } + /** */ public void waitForStateTransitionResult(org.dash.platform.dapi.v0.PlatformOuterClass.WaitForStateTransitionResultRequest request, @@ -1543,6 +1674,13 @@ public void getEpochsInfo(org.dash.platform.dapi.v0.PlatformOuterClass.GetEpochs io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getGetEpochsInfoMethod(), responseObserver); } + /** + */ + public void getFinalizedEpochInfos(org.dash.platform.dapi.v0.PlatformOuterClass.GetFinalizedEpochInfosRequest request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getGetFinalizedEpochInfosMethod(), responseObserver); + } + /** *
      * What votes are currently happening for a specific contested index
@@ -1670,6 +1808,13 @@ public void getTokenDirectPurchasePrices(org.dash.platform.dapi.v0.PlatformOuter
       io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getGetTokenDirectPurchasePricesMethod(), responseObserver);
     }
 
+    /**
+     */
+    public void getTokenContractInfo(org.dash.platform.dapi.v0.PlatformOuterClass.GetTokenContractInfoRequest request,
+        io.grpc.stub.StreamObserver responseObserver) {
+      io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getGetTokenContractInfoMethod(), responseObserver);
+    }
+
     /**
      */
     public void getTokenPreProgrammedDistributions(org.dash.platform.dapi.v0.PlatformOuterClass.GetTokenPreProgrammedDistributionsRequest request,
@@ -1677,6 +1822,13 @@ public void getTokenPreProgrammedDistributions(org.dash.platform.dapi.v0.Platfor
       io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getGetTokenPreProgrammedDistributionsMethod(), responseObserver);
     }
 
+    /**
+     */
+    public void getTokenPerpetualDistributionLastClaim(org.dash.platform.dapi.v0.PlatformOuterClass.GetTokenPerpetualDistributionLastClaimRequest request,
+        io.grpc.stub.StreamObserver responseObserver) {
+      io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getGetTokenPerpetualDistributionLastClaimMethod(), responseObserver);
+    }
+
     /**
      */
     public void getTokenTotalSupply(org.dash.platform.dapi.v0.PlatformOuterClass.GetTokenTotalSupplyRequest request,
@@ -1826,6 +1978,13 @@ public void getGroupActionSigners(org.dash.platform.dapi.v0.PlatformOuterClass.G
                 org.dash.platform.dapi.v0.PlatformOuterClass.GetIdentityByPublicKeyHashRequest,
                 org.dash.platform.dapi.v0.PlatformOuterClass.GetIdentityByPublicKeyHashResponse>(
                   this, METHODID_GET_IDENTITY_BY_PUBLIC_KEY_HASH)))
+          .addMethod(
+            getGetIdentityByNonUniquePublicKeyHashMethod(),
+            io.grpc.stub.ServerCalls.asyncUnaryCall(
+              new MethodHandlers<
+                org.dash.platform.dapi.v0.PlatformOuterClass.GetIdentityByNonUniquePublicKeyHashRequest,
+                org.dash.platform.dapi.v0.PlatformOuterClass.GetIdentityByNonUniquePublicKeyHashResponse>(
+                  this, METHODID_GET_IDENTITY_BY_NON_UNIQUE_PUBLIC_KEY_HASH)))
           .addMethod(
             getWaitForStateTransitionResultMethod(),
             io.grpc.stub.ServerCalls.asyncUnaryCall(
@@ -1861,6 +2020,13 @@ public void getGroupActionSigners(org.dash.platform.dapi.v0.PlatformOuterClass.G
                 org.dash.platform.dapi.v0.PlatformOuterClass.GetEpochsInfoRequest,
                 org.dash.platform.dapi.v0.PlatformOuterClass.GetEpochsInfoResponse>(
                   this, METHODID_GET_EPOCHS_INFO)))
+          .addMethod(
+            getGetFinalizedEpochInfosMethod(),
+            io.grpc.stub.ServerCalls.asyncUnaryCall(
+              new MethodHandlers<
+                org.dash.platform.dapi.v0.PlatformOuterClass.GetFinalizedEpochInfosRequest,
+                org.dash.platform.dapi.v0.PlatformOuterClass.GetFinalizedEpochInfosResponse>(
+                  this, METHODID_GET_FINALIZED_EPOCH_INFOS)))
           .addMethod(
             getGetContestedResourcesMethod(),
             io.grpc.stub.ServerCalls.asyncUnaryCall(
@@ -1973,6 +2139,13 @@ public void getGroupActionSigners(org.dash.platform.dapi.v0.PlatformOuterClass.G
                 org.dash.platform.dapi.v0.PlatformOuterClass.GetTokenDirectPurchasePricesRequest,
                 org.dash.platform.dapi.v0.PlatformOuterClass.GetTokenDirectPurchasePricesResponse>(
                   this, METHODID_GET_TOKEN_DIRECT_PURCHASE_PRICES)))
+          .addMethod(
+            getGetTokenContractInfoMethod(),
+            io.grpc.stub.ServerCalls.asyncUnaryCall(
+              new MethodHandlers<
+                org.dash.platform.dapi.v0.PlatformOuterClass.GetTokenContractInfoRequest,
+                org.dash.platform.dapi.v0.PlatformOuterClass.GetTokenContractInfoResponse>(
+                  this, METHODID_GET_TOKEN_CONTRACT_INFO)))
           .addMethod(
             getGetTokenPreProgrammedDistributionsMethod(),
             io.grpc.stub.ServerCalls.asyncUnaryCall(
@@ -1980,6 +2153,13 @@ public void getGroupActionSigners(org.dash.platform.dapi.v0.PlatformOuterClass.G
                 org.dash.platform.dapi.v0.PlatformOuterClass.GetTokenPreProgrammedDistributionsRequest,
                 org.dash.platform.dapi.v0.PlatformOuterClass.GetTokenPreProgrammedDistributionsResponse>(
                   this, METHODID_GET_TOKEN_PRE_PROGRAMMED_DISTRIBUTIONS)))
+          .addMethod(
+            getGetTokenPerpetualDistributionLastClaimMethod(),
+            io.grpc.stub.ServerCalls.asyncUnaryCall(
+              new MethodHandlers<
+                org.dash.platform.dapi.v0.PlatformOuterClass.GetTokenPerpetualDistributionLastClaimRequest,
+                org.dash.platform.dapi.v0.PlatformOuterClass.GetTokenPerpetualDistributionLastClaimResponse>(
+                  this, METHODID_GET_TOKEN_PERPETUAL_DISTRIBUTION_LAST_CLAIM)))
           .addMethod(
             getGetTokenTotalSupplyMethod(),
             io.grpc.stub.ServerCalls.asyncUnaryCall(
@@ -2161,6 +2341,14 @@ public void getIdentityByPublicKeyHash(org.dash.platform.dapi.v0.PlatformOuterCl
           getChannel().newCall(getGetIdentityByPublicKeyHashMethod(), getCallOptions()), request, responseObserver);
     }
 
+    /**
+     */
+    public void getIdentityByNonUniquePublicKeyHash(org.dash.platform.dapi.v0.PlatformOuterClass.GetIdentityByNonUniquePublicKeyHashRequest request,
+        io.grpc.stub.StreamObserver responseObserver) {
+      io.grpc.stub.ClientCalls.asyncUnaryCall(
+          getChannel().newCall(getGetIdentityByNonUniquePublicKeyHashMethod(), getCallOptions()), request, responseObserver);
+    }
+
     /**
      */
     public void waitForStateTransitionResult(org.dash.platform.dapi.v0.PlatformOuterClass.WaitForStateTransitionResultRequest request,
@@ -2201,6 +2389,14 @@ public void getEpochsInfo(org.dash.platform.dapi.v0.PlatformOuterClass.GetEpochs
           getChannel().newCall(getGetEpochsInfoMethod(), getCallOptions()), request, responseObserver);
     }
 
+    /**
+     */
+    public void getFinalizedEpochInfos(org.dash.platform.dapi.v0.PlatformOuterClass.GetFinalizedEpochInfosRequest request,
+        io.grpc.stub.StreamObserver responseObserver) {
+      io.grpc.stub.ClientCalls.asyncUnaryCall(
+          getChannel().newCall(getGetFinalizedEpochInfosMethod(), getCallOptions()), request, responseObserver);
+    }
+
     /**
      * 
      * What votes are currently happening for a specific contested index
@@ -2344,6 +2540,14 @@ public void getTokenDirectPurchasePrices(org.dash.platform.dapi.v0.PlatformOuter
           getChannel().newCall(getGetTokenDirectPurchasePricesMethod(), getCallOptions()), request, responseObserver);
     }
 
+    /**
+     */
+    public void getTokenContractInfo(org.dash.platform.dapi.v0.PlatformOuterClass.GetTokenContractInfoRequest request,
+        io.grpc.stub.StreamObserver responseObserver) {
+      io.grpc.stub.ClientCalls.asyncUnaryCall(
+          getChannel().newCall(getGetTokenContractInfoMethod(), getCallOptions()), request, responseObserver);
+    }
+
     /**
      */
     public void getTokenPreProgrammedDistributions(org.dash.platform.dapi.v0.PlatformOuterClass.GetTokenPreProgrammedDistributionsRequest request,
@@ -2352,6 +2556,14 @@ public void getTokenPreProgrammedDistributions(org.dash.platform.dapi.v0.Platfor
           getChannel().newCall(getGetTokenPreProgrammedDistributionsMethod(), getCallOptions()), request, responseObserver);
     }
 
+    /**
+     */
+    public void getTokenPerpetualDistributionLastClaim(org.dash.platform.dapi.v0.PlatformOuterClass.GetTokenPerpetualDistributionLastClaimRequest request,
+        io.grpc.stub.StreamObserver responseObserver) {
+      io.grpc.stub.ClientCalls.asyncUnaryCall(
+          getChannel().newCall(getGetTokenPerpetualDistributionLastClaimMethod(), getCallOptions()), request, responseObserver);
+    }
+
     /**
      */
     public void getTokenTotalSupply(org.dash.platform.dapi.v0.PlatformOuterClass.GetTokenTotalSupplyRequest request,
@@ -2519,6 +2731,13 @@ public org.dash.platform.dapi.v0.PlatformOuterClass.GetIdentityByPublicKeyHashRe
           getChannel(), getGetIdentityByPublicKeyHashMethod(), getCallOptions(), request);
     }
 
+    /**
+     */
+    public org.dash.platform.dapi.v0.PlatformOuterClass.GetIdentityByNonUniquePublicKeyHashResponse getIdentityByNonUniquePublicKeyHash(org.dash.platform.dapi.v0.PlatformOuterClass.GetIdentityByNonUniquePublicKeyHashRequest request) {
+      return io.grpc.stub.ClientCalls.blockingUnaryCall(
+          getChannel(), getGetIdentityByNonUniquePublicKeyHashMethod(), getCallOptions(), request);
+    }
+
     /**
      */
     public org.dash.platform.dapi.v0.PlatformOuterClass.WaitForStateTransitionResultResponse waitForStateTransitionResult(org.dash.platform.dapi.v0.PlatformOuterClass.WaitForStateTransitionResultRequest request) {
@@ -2554,6 +2773,13 @@ public org.dash.platform.dapi.v0.PlatformOuterClass.GetEpochsInfoResponse getEpo
           getChannel(), getGetEpochsInfoMethod(), getCallOptions(), request);
     }
 
+    /**
+     */
+    public org.dash.platform.dapi.v0.PlatformOuterClass.GetFinalizedEpochInfosResponse getFinalizedEpochInfos(org.dash.platform.dapi.v0.PlatformOuterClass.GetFinalizedEpochInfosRequest request) {
+      return io.grpc.stub.ClientCalls.blockingUnaryCall(
+          getChannel(), getGetFinalizedEpochInfosMethod(), getCallOptions(), request);
+    }
+
     /**
      * 
      * What votes are currently happening for a specific contested index
@@ -2681,6 +2907,13 @@ public org.dash.platform.dapi.v0.PlatformOuterClass.GetTokenDirectPurchasePrices
           getChannel(), getGetTokenDirectPurchasePricesMethod(), getCallOptions(), request);
     }
 
+    /**
+     */
+    public org.dash.platform.dapi.v0.PlatformOuterClass.GetTokenContractInfoResponse getTokenContractInfo(org.dash.platform.dapi.v0.PlatformOuterClass.GetTokenContractInfoRequest request) {
+      return io.grpc.stub.ClientCalls.blockingUnaryCall(
+          getChannel(), getGetTokenContractInfoMethod(), getCallOptions(), request);
+    }
+
     /**
      */
     public org.dash.platform.dapi.v0.PlatformOuterClass.GetTokenPreProgrammedDistributionsResponse getTokenPreProgrammedDistributions(org.dash.platform.dapi.v0.PlatformOuterClass.GetTokenPreProgrammedDistributionsRequest request) {
@@ -2688,6 +2921,13 @@ public org.dash.platform.dapi.v0.PlatformOuterClass.GetTokenPreProgrammedDistrib
           getChannel(), getGetTokenPreProgrammedDistributionsMethod(), getCallOptions(), request);
     }
 
+    /**
+     */
+    public org.dash.platform.dapi.v0.PlatformOuterClass.GetTokenPerpetualDistributionLastClaimResponse getTokenPerpetualDistributionLastClaim(org.dash.platform.dapi.v0.PlatformOuterClass.GetTokenPerpetualDistributionLastClaimRequest request) {
+      return io.grpc.stub.ClientCalls.blockingUnaryCall(
+          getChannel(), getGetTokenPerpetualDistributionLastClaimMethod(), getCallOptions(), request);
+    }
+
     /**
      */
     public org.dash.platform.dapi.v0.PlatformOuterClass.GetTokenTotalSupplyResponse getTokenTotalSupply(org.dash.platform.dapi.v0.PlatformOuterClass.GetTokenTotalSupplyRequest request) {
@@ -2866,6 +3106,14 @@ public com.google.common.util.concurrent.ListenableFuture getIdentityByNonUniquePublicKeyHash(
+        org.dash.platform.dapi.v0.PlatformOuterClass.GetIdentityByNonUniquePublicKeyHashRequest request) {
+      return io.grpc.stub.ClientCalls.futureUnaryCall(
+          getChannel().newCall(getGetIdentityByNonUniquePublicKeyHashMethod(), getCallOptions()), request);
+    }
+
     /**
      */
     public com.google.common.util.concurrent.ListenableFuture waitForStateTransitionResult(
@@ -2906,6 +3154,14 @@ public com.google.common.util.concurrent.ListenableFuture getFinalizedEpochInfos(
+        org.dash.platform.dapi.v0.PlatformOuterClass.GetFinalizedEpochInfosRequest request) {
+      return io.grpc.stub.ClientCalls.futureUnaryCall(
+          getChannel().newCall(getGetFinalizedEpochInfosMethod(), getCallOptions()), request);
+    }
+
     /**
      * 
      * What votes are currently happening for a specific contested index
@@ -3049,6 +3305,14 @@ public com.google.common.util.concurrent.ListenableFuture getTokenContractInfo(
+        org.dash.platform.dapi.v0.PlatformOuterClass.GetTokenContractInfoRequest request) {
+      return io.grpc.stub.ClientCalls.futureUnaryCall(
+          getChannel().newCall(getGetTokenContractInfoMethod(), getCallOptions()), request);
+    }
+
     /**
      */
     public com.google.common.util.concurrent.ListenableFuture getTokenPreProgrammedDistributions(
@@ -3057,6 +3321,14 @@ public com.google.common.util.concurrent.ListenableFuture getTokenPerpetualDistributionLastClaim(
+        org.dash.platform.dapi.v0.PlatformOuterClass.GetTokenPerpetualDistributionLastClaimRequest request) {
+      return io.grpc.stub.ClientCalls.futureUnaryCall(
+          getChannel().newCall(getGetTokenPerpetualDistributionLastClaimMethod(), getCallOptions()), request);
+    }
+
     /**
      */
     public com.google.common.util.concurrent.ListenableFuture getTokenTotalSupply(
@@ -3114,33 +3386,37 @@ public com.google.common.util.concurrent.ListenableFuture implements
       io.grpc.stub.ServerCalls.UnaryMethod,
@@ -3223,6 +3499,10 @@ public void invoke(Req request, io.grpc.stub.StreamObserver responseObserv
           serviceImpl.getIdentityByPublicKeyHash((org.dash.platform.dapi.v0.PlatformOuterClass.GetIdentityByPublicKeyHashRequest) request,
               (io.grpc.stub.StreamObserver) responseObserver);
           break;
+        case METHODID_GET_IDENTITY_BY_NON_UNIQUE_PUBLIC_KEY_HASH:
+          serviceImpl.getIdentityByNonUniquePublicKeyHash((org.dash.platform.dapi.v0.PlatformOuterClass.GetIdentityByNonUniquePublicKeyHashRequest) request,
+              (io.grpc.stub.StreamObserver) responseObserver);
+          break;
         case METHODID_WAIT_FOR_STATE_TRANSITION_RESULT:
           serviceImpl.waitForStateTransitionResult((org.dash.platform.dapi.v0.PlatformOuterClass.WaitForStateTransitionResultRequest) request,
               (io.grpc.stub.StreamObserver) responseObserver);
@@ -3243,6 +3523,10 @@ public void invoke(Req request, io.grpc.stub.StreamObserver responseObserv
           serviceImpl.getEpochsInfo((org.dash.platform.dapi.v0.PlatformOuterClass.GetEpochsInfoRequest) request,
               (io.grpc.stub.StreamObserver) responseObserver);
           break;
+        case METHODID_GET_FINALIZED_EPOCH_INFOS:
+          serviceImpl.getFinalizedEpochInfos((org.dash.platform.dapi.v0.PlatformOuterClass.GetFinalizedEpochInfosRequest) request,
+              (io.grpc.stub.StreamObserver) responseObserver);
+          break;
         case METHODID_GET_CONTESTED_RESOURCES:
           serviceImpl.getContestedResources((org.dash.platform.dapi.v0.PlatformOuterClass.GetContestedResourcesRequest) request,
               (io.grpc.stub.StreamObserver) responseObserver);
@@ -3307,10 +3591,18 @@ public void invoke(Req request, io.grpc.stub.StreamObserver responseObserv
           serviceImpl.getTokenDirectPurchasePrices((org.dash.platform.dapi.v0.PlatformOuterClass.GetTokenDirectPurchasePricesRequest) request,
               (io.grpc.stub.StreamObserver) responseObserver);
           break;
+        case METHODID_GET_TOKEN_CONTRACT_INFO:
+          serviceImpl.getTokenContractInfo((org.dash.platform.dapi.v0.PlatformOuterClass.GetTokenContractInfoRequest) request,
+              (io.grpc.stub.StreamObserver) responseObserver);
+          break;
         case METHODID_GET_TOKEN_PRE_PROGRAMMED_DISTRIBUTIONS:
           serviceImpl.getTokenPreProgrammedDistributions((org.dash.platform.dapi.v0.PlatformOuterClass.GetTokenPreProgrammedDistributionsRequest) request,
               (io.grpc.stub.StreamObserver) responseObserver);
           break;
+        case METHODID_GET_TOKEN_PERPETUAL_DISTRIBUTION_LAST_CLAIM:
+          serviceImpl.getTokenPerpetualDistributionLastClaim((org.dash.platform.dapi.v0.PlatformOuterClass.GetTokenPerpetualDistributionLastClaimRequest) request,
+              (io.grpc.stub.StreamObserver) responseObserver);
+          break;
         case METHODID_GET_TOKEN_TOTAL_SUPPLY:
           serviceImpl.getTokenTotalSupply((org.dash.platform.dapi.v0.PlatformOuterClass.GetTokenTotalSupplyRequest) request,
               (io.grpc.stub.StreamObserver) responseObserver);
@@ -3408,11 +3700,13 @@ public static io.grpc.ServiceDescriptor getServiceDescriptor() {
               .addMethod(getGetDataContractsMethod())
               .addMethod(getGetDocumentsMethod())
               .addMethod(getGetIdentityByPublicKeyHashMethod())
+              .addMethod(getGetIdentityByNonUniquePublicKeyHashMethod())
               .addMethod(getWaitForStateTransitionResultMethod())
               .addMethod(getGetConsensusParamsMethod())
               .addMethod(getGetProtocolVersionUpgradeStateMethod())
               .addMethod(getGetProtocolVersionUpgradeVoteStatusMethod())
               .addMethod(getGetEpochsInfoMethod())
+              .addMethod(getGetFinalizedEpochInfosMethod())
               .addMethod(getGetContestedResourcesMethod())
               .addMethod(getGetContestedResourceVoteStateMethod())
               .addMethod(getGetContestedResourceVotersForIdentityMethod())
@@ -3429,7 +3723,9 @@ public static io.grpc.ServiceDescriptor getServiceDescriptor() {
               .addMethod(getGetIdentitiesTokenInfosMethod())
               .addMethod(getGetTokenStatusesMethod())
               .addMethod(getGetTokenDirectPurchasePricesMethod())
+              .addMethod(getGetTokenContractInfoMethod())
               .addMethod(getGetTokenPreProgrammedDistributionsMethod())
+              .addMethod(getGetTokenPerpetualDistributionLastClaimMethod())
               .addMethod(getGetTokenTotalSupplyMethod())
               .addMethod(getGetGroupInfoMethod())
               .addMethod(getGetGroupInfosMethod())
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 cfe37816bd..9b2edb1ce7 100644
--- a/packages/dapi-grpc/clients/platform/v0/nodejs/platform_pbjs.js
+++ b/packages/dapi-grpc/clients/platform/v0/nodejs/platform_pbjs.js
@@ -614,6 +614,39 @@ $root.org = (function() {
                          * @variation 2
                          */
 
+                        /**
+                         * Callback as used by {@link org.dash.platform.dapi.v0.Platform#getIdentityByNonUniquePublicKeyHash}.
+                         * @memberof org.dash.platform.dapi.v0.Platform
+                         * @typedef getIdentityByNonUniquePublicKeyHashCallback
+                         * @type {function}
+                         * @param {Error|null} error Error, if any
+                         * @param {org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse} [response] GetIdentityByNonUniquePublicKeyHashResponse
+                         */
+
+                        /**
+                         * Calls getIdentityByNonUniquePublicKeyHash.
+                         * @function getIdentityByNonUniquePublicKeyHash
+                         * @memberof org.dash.platform.dapi.v0.Platform
+                         * @instance
+                         * @param {org.dash.platform.dapi.v0.IGetIdentityByNonUniquePublicKeyHashRequest} request GetIdentityByNonUniquePublicKeyHashRequest message or plain object
+                         * @param {org.dash.platform.dapi.v0.Platform.getIdentityByNonUniquePublicKeyHashCallback} callback Node-style callback called with the error, if any, and GetIdentityByNonUniquePublicKeyHashResponse
+                         * @returns {undefined}
+                         * @variation 1
+                         */
+                        Object.defineProperty(Platform.prototype.getIdentityByNonUniquePublicKeyHash = function getIdentityByNonUniquePublicKeyHash(request, callback) {
+                            return this.rpcCall(getIdentityByNonUniquePublicKeyHash, $root.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest, $root.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse, request, callback);
+                        }, "name", { value: "getIdentityByNonUniquePublicKeyHash" });
+
+                        /**
+                         * Calls getIdentityByNonUniquePublicKeyHash.
+                         * @function getIdentityByNonUniquePublicKeyHash
+                         * @memberof org.dash.platform.dapi.v0.Platform
+                         * @instance
+                         * @param {org.dash.platform.dapi.v0.IGetIdentityByNonUniquePublicKeyHashRequest} request GetIdentityByNonUniquePublicKeyHashRequest message or plain object
+                         * @returns {Promise} Promise
+                         * @variation 2
+                         */
+
                         /**
                          * Callback as used by {@link org.dash.platform.dapi.v0.Platform#waitForStateTransitionResult}.
                          * @memberof org.dash.platform.dapi.v0.Platform
@@ -779,6 +812,39 @@ $root.org = (function() {
                          * @variation 2
                          */
 
+                        /**
+                         * Callback as used by {@link org.dash.platform.dapi.v0.Platform#getFinalizedEpochInfos}.
+                         * @memberof org.dash.platform.dapi.v0.Platform
+                         * @typedef getFinalizedEpochInfosCallback
+                         * @type {function}
+                         * @param {Error|null} error Error, if any
+                         * @param {org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse} [response] GetFinalizedEpochInfosResponse
+                         */
+
+                        /**
+                         * Calls getFinalizedEpochInfos.
+                         * @function getFinalizedEpochInfos
+                         * @memberof org.dash.platform.dapi.v0.Platform
+                         * @instance
+                         * @param {org.dash.platform.dapi.v0.IGetFinalizedEpochInfosRequest} request GetFinalizedEpochInfosRequest message or plain object
+                         * @param {org.dash.platform.dapi.v0.Platform.getFinalizedEpochInfosCallback} callback Node-style callback called with the error, if any, and GetFinalizedEpochInfosResponse
+                         * @returns {undefined}
+                         * @variation 1
+                         */
+                        Object.defineProperty(Platform.prototype.getFinalizedEpochInfos = function getFinalizedEpochInfos(request, callback) {
+                            return this.rpcCall(getFinalizedEpochInfos, $root.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest, $root.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse, request, callback);
+                        }, "name", { value: "getFinalizedEpochInfos" });
+
+                        /**
+                         * Calls getFinalizedEpochInfos.
+                         * @function getFinalizedEpochInfos
+                         * @memberof org.dash.platform.dapi.v0.Platform
+                         * @instance
+                         * @param {org.dash.platform.dapi.v0.IGetFinalizedEpochInfosRequest} request GetFinalizedEpochInfosRequest message or plain object
+                         * @returns {Promise} Promise
+                         * @variation 2
+                         */
+
                         /**
                          * Callback as used by {@link org.dash.platform.dapi.v0.Platform#getContestedResources}.
                          * @memberof org.dash.platform.dapi.v0.Platform
@@ -1307,6 +1373,39 @@ $root.org = (function() {
                          * @variation 2
                          */
 
+                        /**
+                         * Callback as used by {@link org.dash.platform.dapi.v0.Platform#getTokenContractInfo}.
+                         * @memberof org.dash.platform.dapi.v0.Platform
+                         * @typedef getTokenContractInfoCallback
+                         * @type {function}
+                         * @param {Error|null} error Error, if any
+                         * @param {org.dash.platform.dapi.v0.GetTokenContractInfoResponse} [response] GetTokenContractInfoResponse
+                         */
+
+                        /**
+                         * Calls getTokenContractInfo.
+                         * @function getTokenContractInfo
+                         * @memberof org.dash.platform.dapi.v0.Platform
+                         * @instance
+                         * @param {org.dash.platform.dapi.v0.IGetTokenContractInfoRequest} request GetTokenContractInfoRequest message or plain object
+                         * @param {org.dash.platform.dapi.v0.Platform.getTokenContractInfoCallback} callback Node-style callback called with the error, if any, and GetTokenContractInfoResponse
+                         * @returns {undefined}
+                         * @variation 1
+                         */
+                        Object.defineProperty(Platform.prototype.getTokenContractInfo = function getTokenContractInfo(request, callback) {
+                            return this.rpcCall(getTokenContractInfo, $root.org.dash.platform.dapi.v0.GetTokenContractInfoRequest, $root.org.dash.platform.dapi.v0.GetTokenContractInfoResponse, request, callback);
+                        }, "name", { value: "getTokenContractInfo" });
+
+                        /**
+                         * Calls getTokenContractInfo.
+                         * @function getTokenContractInfo
+                         * @memberof org.dash.platform.dapi.v0.Platform
+                         * @instance
+                         * @param {org.dash.platform.dapi.v0.IGetTokenContractInfoRequest} request GetTokenContractInfoRequest message or plain object
+                         * @returns {Promise} Promise
+                         * @variation 2
+                         */
+
                         /**
                          * Callback as used by {@link org.dash.platform.dapi.v0.Platform#getTokenPreProgrammedDistributions}.
                          * @memberof org.dash.platform.dapi.v0.Platform
@@ -1340,6 +1439,39 @@ $root.org = (function() {
                          * @variation 2
                          */
 
+                        /**
+                         * Callback as used by {@link org.dash.platform.dapi.v0.Platform#getTokenPerpetualDistributionLastClaim}.
+                         * @memberof org.dash.platform.dapi.v0.Platform
+                         * @typedef getTokenPerpetualDistributionLastClaimCallback
+                         * @type {function}
+                         * @param {Error|null} error Error, if any
+                         * @param {org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse} [response] GetTokenPerpetualDistributionLastClaimResponse
+                         */
+
+                        /**
+                         * Calls getTokenPerpetualDistributionLastClaim.
+                         * @function getTokenPerpetualDistributionLastClaim
+                         * @memberof org.dash.platform.dapi.v0.Platform
+                         * @instance
+                         * @param {org.dash.platform.dapi.v0.IGetTokenPerpetualDistributionLastClaimRequest} request GetTokenPerpetualDistributionLastClaimRequest message or plain object
+                         * @param {org.dash.platform.dapi.v0.Platform.getTokenPerpetualDistributionLastClaimCallback} callback Node-style callback called with the error, if any, and GetTokenPerpetualDistributionLastClaimResponse
+                         * @returns {undefined}
+                         * @variation 1
+                         */
+                        Object.defineProperty(Platform.prototype.getTokenPerpetualDistributionLastClaim = function getTokenPerpetualDistributionLastClaim(request, callback) {
+                            return this.rpcCall(getTokenPerpetualDistributionLastClaim, $root.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest, $root.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse, request, callback);
+                        }, "name", { value: "getTokenPerpetualDistributionLastClaim" });
+
+                        /**
+                         * Calls getTokenPerpetualDistributionLastClaim.
+                         * @function getTokenPerpetualDistributionLastClaim
+                         * @memberof org.dash.platform.dapi.v0.Platform
+                         * @instance
+                         * @param {org.dash.platform.dapi.v0.IGetTokenPerpetualDistributionLastClaimRequest} request GetTokenPerpetualDistributionLastClaimRequest message or plain object
+                         * @returns {Promise} Promise
+                         * @variation 2
+                         */
+
                         /**
                          * Callback as used by {@link org.dash.platform.dapi.v0.Platform#getTokenTotalSupply}.
                          * @memberof org.dash.platform.dapi.v0.Platform
@@ -20925,24 +21057,24 @@ $root.org = (function() {
                         return GetIdentityByPublicKeyHashResponse;
                     })();
 
-                    v0.WaitForStateTransitionResultRequest = (function() {
+                    v0.GetIdentityByNonUniquePublicKeyHashRequest = (function() {
 
                         /**
-                         * Properties of a WaitForStateTransitionResultRequest.
+                         * Properties of a GetIdentityByNonUniquePublicKeyHashRequest.
                          * @memberof org.dash.platform.dapi.v0
-                         * @interface IWaitForStateTransitionResultRequest
-                         * @property {org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.IWaitForStateTransitionResultRequestV0|null} [v0] WaitForStateTransitionResultRequest v0
+                         * @interface IGetIdentityByNonUniquePublicKeyHashRequest
+                         * @property {org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.IGetIdentityByNonUniquePublicKeyHashRequestV0|null} [v0] GetIdentityByNonUniquePublicKeyHashRequest v0
                          */
 
                         /**
-                         * Constructs a new WaitForStateTransitionResultRequest.
+                         * Constructs a new GetIdentityByNonUniquePublicKeyHashRequest.
                          * @memberof org.dash.platform.dapi.v0
-                         * @classdesc Represents a WaitForStateTransitionResultRequest.
-                         * @implements IWaitForStateTransitionResultRequest
+                         * @classdesc Represents a GetIdentityByNonUniquePublicKeyHashRequest.
+                         * @implements IGetIdentityByNonUniquePublicKeyHashRequest
                          * @constructor
-                         * @param {org.dash.platform.dapi.v0.IWaitForStateTransitionResultRequest=} [properties] Properties to set
+                         * @param {org.dash.platform.dapi.v0.IGetIdentityByNonUniquePublicKeyHashRequest=} [properties] Properties to set
                          */
-                        function WaitForStateTransitionResultRequest(properties) {
+                        function GetIdentityByNonUniquePublicKeyHashRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
                                     if (properties[keys[i]] != null)
@@ -20950,89 +21082,89 @@ $root.org = (function() {
                         }
 
                         /**
-                         * WaitForStateTransitionResultRequest v0.
-                         * @member {org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.IWaitForStateTransitionResultRequestV0|null|undefined} v0
-                         * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest
+                         * GetIdentityByNonUniquePublicKeyHashRequest v0.
+                         * @member {org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.IGetIdentityByNonUniquePublicKeyHashRequestV0|null|undefined} v0
+                         * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest
                          * @instance
                          */
-                        WaitForStateTransitionResultRequest.prototype.v0 = null;
+                        GetIdentityByNonUniquePublicKeyHashRequest.prototype.v0 = null;
 
                         // OneOf field names bound to virtual getters and setters
                         var $oneOfFields;
 
                         /**
-                         * WaitForStateTransitionResultRequest version.
+                         * GetIdentityByNonUniquePublicKeyHashRequest version.
                          * @member {"v0"|undefined} version
-                         * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest
+                         * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest
                          * @instance
                          */
-                        Object.defineProperty(WaitForStateTransitionResultRequest.prototype, "version", {
+                        Object.defineProperty(GetIdentityByNonUniquePublicKeyHashRequest.prototype, "version", {
                             get: $util.oneOfGetter($oneOfFields = ["v0"]),
                             set: $util.oneOfSetter($oneOfFields)
                         });
 
                         /**
-                         * Creates a new WaitForStateTransitionResultRequest instance using the specified properties.
+                         * Creates a new GetIdentityByNonUniquePublicKeyHashRequest instance using the specified properties.
                          * @function create
-                         * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest
+                         * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest
                          * @static
-                         * @param {org.dash.platform.dapi.v0.IWaitForStateTransitionResultRequest=} [properties] Properties to set
-                         * @returns {org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest} WaitForStateTransitionResultRequest instance
+                         * @param {org.dash.platform.dapi.v0.IGetIdentityByNonUniquePublicKeyHashRequest=} [properties] Properties to set
+                         * @returns {org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest} GetIdentityByNonUniquePublicKeyHashRequest instance
                          */
-                        WaitForStateTransitionResultRequest.create = function create(properties) {
-                            return new WaitForStateTransitionResultRequest(properties);
+                        GetIdentityByNonUniquePublicKeyHashRequest.create = function create(properties) {
+                            return new GetIdentityByNonUniquePublicKeyHashRequest(properties);
                         };
 
                         /**
-                         * Encodes the specified WaitForStateTransitionResultRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.verify|verify} messages.
+                         * Encodes the specified GetIdentityByNonUniquePublicKeyHashRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.verify|verify} messages.
                          * @function encode
-                         * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest
+                         * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest
                          * @static
-                         * @param {org.dash.platform.dapi.v0.IWaitForStateTransitionResultRequest} message WaitForStateTransitionResultRequest message or plain object to encode
+                         * @param {org.dash.platform.dapi.v0.IGetIdentityByNonUniquePublicKeyHashRequest} message GetIdentityByNonUniquePublicKeyHashRequest message or plain object to encode
                          * @param {$protobuf.Writer} [writer] Writer to encode to
                          * @returns {$protobuf.Writer} Writer
                          */
-                        WaitForStateTransitionResultRequest.encode = function encode(message, writer) {
+                        GetIdentityByNonUniquePublicKeyHashRequest.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.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+                                $root.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
                             return writer;
                         };
 
                         /**
-                         * Encodes the specified WaitForStateTransitionResultRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.verify|verify} messages.
+                         * Encodes the specified GetIdentityByNonUniquePublicKeyHashRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.verify|verify} messages.
                          * @function encodeDelimited
-                         * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest
+                         * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest
                          * @static
-                         * @param {org.dash.platform.dapi.v0.IWaitForStateTransitionResultRequest} message WaitForStateTransitionResultRequest message or plain object to encode
+                         * @param {org.dash.platform.dapi.v0.IGetIdentityByNonUniquePublicKeyHashRequest} message GetIdentityByNonUniquePublicKeyHashRequest message or plain object to encode
                          * @param {$protobuf.Writer} [writer] Writer to encode to
                          * @returns {$protobuf.Writer} Writer
                          */
-                        WaitForStateTransitionResultRequest.encodeDelimited = function encodeDelimited(message, writer) {
+                        GetIdentityByNonUniquePublicKeyHashRequest.encodeDelimited = function encodeDelimited(message, writer) {
                             return this.encode(message, writer).ldelim();
                         };
 
                         /**
-                         * Decodes a WaitForStateTransitionResultRequest message from the specified reader or buffer.
+                         * Decodes a GetIdentityByNonUniquePublicKeyHashRequest message from the specified reader or buffer.
                          * @function decode
-                         * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest
+                         * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest
                          * @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} WaitForStateTransitionResultRequest
+                         * @returns {org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest} GetIdentityByNonUniquePublicKeyHashRequest
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        WaitForStateTransitionResultRequest.decode = function decode(reader, length) {
+                        GetIdentityByNonUniquePublicKeyHashRequest.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();
+                            var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
                                 switch (tag >>> 3) {
                                 case 1:
-                                    message.v0 = $root.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.decode(reader, reader.uint32());
+                                    message.v0 = $root.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0.decode(reader, reader.uint32());
                                     break;
                                 default:
                                     reader.skipType(tag & 7);
@@ -21043,37 +21175,37 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Decodes a WaitForStateTransitionResultRequest message from the specified reader or buffer, length delimited.
+                         * Decodes a GetIdentityByNonUniquePublicKeyHashRequest message from the specified reader or buffer, length delimited.
                          * @function decodeDelimited
-                         * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest
+                         * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest
                          * @static
                          * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                         * @returns {org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest} WaitForStateTransitionResultRequest
+                         * @returns {org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest} GetIdentityByNonUniquePublicKeyHashRequest
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        WaitForStateTransitionResultRequest.decodeDelimited = function decodeDelimited(reader) {
+                        GetIdentityByNonUniquePublicKeyHashRequest.decodeDelimited = function decodeDelimited(reader) {
                             if (!(reader instanceof $Reader))
                                 reader = new $Reader(reader);
                             return this.decode(reader, reader.uint32());
                         };
 
                         /**
-                         * Verifies a WaitForStateTransitionResultRequest message.
+                         * Verifies a GetIdentityByNonUniquePublicKeyHashRequest message.
                          * @function verify
-                         * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest
+                         * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest
                          * @static
                          * @param {Object.} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        WaitForStateTransitionResultRequest.verify = function verify(message) {
+                        GetIdentityByNonUniquePublicKeyHashRequest.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.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.verify(message.v0);
+                                    var error = $root.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0.verify(message.v0);
                                     if (error)
                                         return "v0." + error;
                                 }
@@ -21082,40 +21214,40 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Creates a WaitForStateTransitionResultRequest message from a plain object. Also converts values to their respective internal types.
+                         * Creates a GetIdentityByNonUniquePublicKeyHashRequest message from a plain object. Also converts values to their respective internal types.
                          * @function fromObject
-                         * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest
+                         * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest
                          * @static
                          * @param {Object.} object Plain object
-                         * @returns {org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest} WaitForStateTransitionResultRequest
+                         * @returns {org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest} GetIdentityByNonUniquePublicKeyHashRequest
                          */
-                        WaitForStateTransitionResultRequest.fromObject = function fromObject(object) {
-                            if (object instanceof $root.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest)
+                        GetIdentityByNonUniquePublicKeyHashRequest.fromObject = function fromObject(object) {
+                            if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest)
                                 return object;
-                            var message = new $root.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest();
+                            var message = new $root.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest();
                             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);
+                                    throw TypeError(".org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.v0: object expected");
+                                message.v0 = $root.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0.fromObject(object.v0);
                             }
                             return message;
                         };
 
                         /**
-                         * Creates a plain object from a WaitForStateTransitionResultRequest message. Also converts values to other types if specified.
+                         * Creates a plain object from a GetIdentityByNonUniquePublicKeyHashRequest message. Also converts values to other types if specified.
                          * @function toObject
-                         * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest
+                         * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest
                          * @static
-                         * @param {org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest} message WaitForStateTransitionResultRequest
+                         * @param {org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest} message GetIdentityByNonUniquePublicKeyHashRequest
                          * @param {$protobuf.IConversionOptions} [options] Conversion options
                          * @returns {Object.} Plain object
                          */
-                        WaitForStateTransitionResultRequest.toObject = function toObject(message, options) {
+                        GetIdentityByNonUniquePublicKeyHashRequest.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);
+                                object.v0 = $root.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0.toObject(message.v0, options);
                                 if (options.oneofs)
                                     object.version = "v0";
                             }
@@ -21123,35 +21255,36 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Converts this WaitForStateTransitionResultRequest to JSON.
+                         * Converts this GetIdentityByNonUniquePublicKeyHashRequest to JSON.
                          * @function toJSON
-                         * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest
+                         * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest
                          * @instance
                          * @returns {Object.} JSON object
                          */
-                        WaitForStateTransitionResultRequest.prototype.toJSON = function toJSON() {
+                        GetIdentityByNonUniquePublicKeyHashRequest.prototype.toJSON = function toJSON() {
                             return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
                         };
 
-                        WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0 = (function() {
+                        GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0 = (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
+                             * Properties of a GetIdentityByNonUniquePublicKeyHashRequestV0.
+                             * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest
+                             * @interface IGetIdentityByNonUniquePublicKeyHashRequestV0
+                             * @property {Uint8Array|null} [publicKeyHash] GetIdentityByNonUniquePublicKeyHashRequestV0 publicKeyHash
+                             * @property {Uint8Array|null} [startAfter] GetIdentityByNonUniquePublicKeyHashRequestV0 startAfter
+                             * @property {boolean|null} [prove] GetIdentityByNonUniquePublicKeyHashRequestV0 prove
                              */
 
                             /**
-                             * Constructs a new WaitForStateTransitionResultRequestV0.
-                             * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest
-                             * @classdesc Represents a WaitForStateTransitionResultRequestV0.
-                             * @implements IWaitForStateTransitionResultRequestV0
+                             * Constructs a new GetIdentityByNonUniquePublicKeyHashRequestV0.
+                             * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest
+                             * @classdesc Represents a GetIdentityByNonUniquePublicKeyHashRequestV0.
+                             * @implements IGetIdentityByNonUniquePublicKeyHashRequestV0
                              * @constructor
-                             * @param {org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.IWaitForStateTransitionResultRequestV0=} [properties] Properties to set
+                             * @param {org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.IGetIdentityByNonUniquePublicKeyHashRequestV0=} [properties] Properties to set
                              */
-                            function WaitForStateTransitionResultRequestV0(properties) {
+                            function GetIdentityByNonUniquePublicKeyHashRequestV0(properties) {
                                 if (properties)
                                     for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
                                         if (properties[keys[i]] != null)
@@ -21159,87 +21292,100 @@ $root.org = (function() {
                             }
 
                             /**
-                             * WaitForStateTransitionResultRequestV0 stateTransitionHash.
-                             * @member {Uint8Array} stateTransitionHash
-                             * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0
+                             * GetIdentityByNonUniquePublicKeyHashRequestV0 publicKeyHash.
+                             * @member {Uint8Array} publicKeyHash
+                             * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0
                              * @instance
                              */
-                            WaitForStateTransitionResultRequestV0.prototype.stateTransitionHash = $util.newBuffer([]);
+                            GetIdentityByNonUniquePublicKeyHashRequestV0.prototype.publicKeyHash = $util.newBuffer([]);
 
                             /**
-                             * WaitForStateTransitionResultRequestV0 prove.
+                             * GetIdentityByNonUniquePublicKeyHashRequestV0 startAfter.
+                             * @member {Uint8Array} startAfter
+                             * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0
+                             * @instance
+                             */
+                            GetIdentityByNonUniquePublicKeyHashRequestV0.prototype.startAfter = $util.newBuffer([]);
+
+                            /**
+                             * GetIdentityByNonUniquePublicKeyHashRequestV0 prove.
                              * @member {boolean} prove
-                             * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0
                              * @instance
                              */
-                            WaitForStateTransitionResultRequestV0.prototype.prove = false;
+                            GetIdentityByNonUniquePublicKeyHashRequestV0.prototype.prove = false;
 
                             /**
-                             * Creates a new WaitForStateTransitionResultRequestV0 instance using the specified properties.
+                             * Creates a new GetIdentityByNonUniquePublicKeyHashRequestV0 instance using the specified properties.
                              * @function create
-                             * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.IWaitForStateTransitionResultRequestV0=} [properties] Properties to set
-                             * @returns {org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0} WaitForStateTransitionResultRequestV0 instance
+                             * @param {org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.IGetIdentityByNonUniquePublicKeyHashRequestV0=} [properties] Properties to set
+                             * @returns {org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0} GetIdentityByNonUniquePublicKeyHashRequestV0 instance
                              */
-                            WaitForStateTransitionResultRequestV0.create = function create(properties) {
-                                return new WaitForStateTransitionResultRequestV0(properties);
+                            GetIdentityByNonUniquePublicKeyHashRequestV0.create = function create(properties) {
+                                return new GetIdentityByNonUniquePublicKeyHashRequestV0(properties);
                             };
 
                             /**
-                             * Encodes the specified WaitForStateTransitionResultRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.verify|verify} messages.
+                             * Encodes the specified GetIdentityByNonUniquePublicKeyHashRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0.verify|verify} messages.
                              * @function encode
-                             * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.IWaitForStateTransitionResultRequestV0} message WaitForStateTransitionResultRequestV0 message or plain object to encode
+                             * @param {org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.IGetIdentityByNonUniquePublicKeyHashRequestV0} message GetIdentityByNonUniquePublicKeyHashRequestV0 message or plain object to encode
                              * @param {$protobuf.Writer} [writer] Writer to encode to
                              * @returns {$protobuf.Writer} Writer
                              */
-                            WaitForStateTransitionResultRequestV0.encode = function encode(message, writer) {
+                            GetIdentityByNonUniquePublicKeyHashRequestV0.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.publicKeyHash != null && Object.hasOwnProperty.call(message, "publicKeyHash"))
+                                    writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.publicKeyHash);
+                                if (message.startAfter != null && Object.hasOwnProperty.call(message, "startAfter"))
+                                    writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.startAfter);
                                 if (message.prove != null && Object.hasOwnProperty.call(message, "prove"))
-                                    writer.uint32(/* id 2, wireType 0 =*/16).bool(message.prove);
+                                    writer.uint32(/* id 3, wireType 0 =*/24).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.
+                             * Encodes the specified GetIdentityByNonUniquePublicKeyHashRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0.verify|verify} messages.
                              * @function encodeDelimited
-                             * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.IWaitForStateTransitionResultRequestV0} message WaitForStateTransitionResultRequestV0 message or plain object to encode
+                             * @param {org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.IGetIdentityByNonUniquePublicKeyHashRequestV0} message GetIdentityByNonUniquePublicKeyHashRequestV0 message or plain object to encode
                              * @param {$protobuf.Writer} [writer] Writer to encode to
                              * @returns {$protobuf.Writer} Writer
                              */
-                            WaitForStateTransitionResultRequestV0.encodeDelimited = function encodeDelimited(message, writer) {
+                            GetIdentityByNonUniquePublicKeyHashRequestV0.encodeDelimited = function encodeDelimited(message, writer) {
                                 return this.encode(message, writer).ldelim();
                             };
 
                             /**
-                             * Decodes a WaitForStateTransitionResultRequestV0 message from the specified reader or buffer.
+                             * Decodes a GetIdentityByNonUniquePublicKeyHashRequestV0 message from the specified reader or buffer.
                              * @function decode
-                             * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0
                              * @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
+                             * @returns {org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0} GetIdentityByNonUniquePublicKeyHashRequestV0
                              * @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) {
+                            GetIdentityByNonUniquePublicKeyHashRequestV0.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();
+                                var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0();
                                 while (reader.pos < end) {
                                     var tag = reader.uint32();
                                     switch (tag >>> 3) {
                                     case 1:
-                                        message.stateTransitionHash = reader.bytes();
+                                        message.publicKeyHash = reader.bytes();
                                         break;
                                     case 2:
+                                        message.startAfter = reader.bytes();
+                                        break;
+                                    case 3:
                                         message.prove = reader.bool();
                                         break;
                                     default:
@@ -21251,35 +21397,38 @@ $root.org = (function() {
                             };
 
                             /**
-                             * Decodes a WaitForStateTransitionResultRequestV0 message from the specified reader or buffer, length delimited.
+                             * Decodes a GetIdentityByNonUniquePublicKeyHashRequestV0 message from the specified reader or buffer, length delimited.
                              * @function decodeDelimited
-                             * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0
                              * @static
                              * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                             * @returns {org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0} WaitForStateTransitionResultRequestV0
+                             * @returns {org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0} GetIdentityByNonUniquePublicKeyHashRequestV0
                              * @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) {
+                            GetIdentityByNonUniquePublicKeyHashRequestV0.decodeDelimited = function decodeDelimited(reader) {
                                 if (!(reader instanceof $Reader))
                                     reader = new $Reader(reader);
                                 return this.decode(reader, reader.uint32());
                             };
 
                             /**
-                             * Verifies a WaitForStateTransitionResultRequestV0 message.
+                             * Verifies a GetIdentityByNonUniquePublicKeyHashRequestV0 message.
                              * @function verify
-                             * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0
                              * @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) {
+                            GetIdentityByNonUniquePublicKeyHashRequestV0.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.publicKeyHash != null && message.hasOwnProperty("publicKeyHash"))
+                                    if (!(message.publicKeyHash && typeof message.publicKeyHash.length === "number" || $util.isString(message.publicKeyHash)))
+                                        return "publicKeyHash: buffer expected";
+                                if (message.startAfter != null && message.hasOwnProperty("startAfter"))
+                                    if (!(message.startAfter && typeof message.startAfter.length === "number" || $util.isString(message.startAfter)))
+                                        return "startAfter: buffer expected";
                                 if (message.prove != null && message.hasOwnProperty("prove"))
                                     if (typeof message.prove !== "boolean")
                                         return "prove: boolean expected";
@@ -21287,92 +21436,106 @@ $root.org = (function() {
                             };
 
                             /**
-                             * Creates a WaitForStateTransitionResultRequestV0 message from a plain object. Also converts values to their respective internal types.
+                             * Creates a GetIdentityByNonUniquePublicKeyHashRequestV0 message from a plain object. Also converts values to their respective internal types.
                              * @function fromObject
-                             * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0
                              * @static
                              * @param {Object.} object Plain object
-                             * @returns {org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0} WaitForStateTransitionResultRequestV0
+                             * @returns {org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0} GetIdentityByNonUniquePublicKeyHashRequestV0
                              */
-                            WaitForStateTransitionResultRequestV0.fromObject = function fromObject(object) {
-                                if (object instanceof $root.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0)
+                            GetIdentityByNonUniquePublicKeyHashRequestV0.fromObject = function fromObject(object) {
+                                if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0)
                                     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;
+                                var message = new $root.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0();
+                                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.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.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.
+                             * Creates a plain object from a GetIdentityByNonUniquePublicKeyHashRequestV0 message. Also converts values to other types if specified.
                              * @function toObject
-                             * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0} message WaitForStateTransitionResultRequestV0
+                             * @param {org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0} message GetIdentityByNonUniquePublicKeyHashRequestV0
                              * @param {$protobuf.IConversionOptions} [options] Conversion options
                              * @returns {Object.} Plain object
                              */
-                            WaitForStateTransitionResultRequestV0.toObject = function toObject(message, options) {
+                            GetIdentityByNonUniquePublicKeyHashRequestV0.toObject = function toObject(message, options) {
                                 if (!options)
                                     options = {};
                                 var object = {};
                                 if (options.defaults) {
                                     if (options.bytes === String)
-                                        object.stateTransitionHash = "";
+                                        object.publicKeyHash = "";
                                     else {
-                                        object.stateTransitionHash = [];
+                                        object.publicKeyHash = [];
                                         if (options.bytes !== Array)
-                                            object.stateTransitionHash = $util.newBuffer(object.stateTransitionHash);
+                                            object.publicKeyHash = $util.newBuffer(object.publicKeyHash);
+                                    }
+                                    if (options.bytes === String)
+                                        object.startAfter = "";
+                                    else {
+                                        object.startAfter = [];
+                                        if (options.bytes !== Array)
+                                            object.startAfter = $util.newBuffer(object.startAfter);
                                     }
                                     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.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.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.prove != null && message.hasOwnProperty("prove"))
                                     object.prove = message.prove;
                                 return object;
                             };
 
                             /**
-                             * Converts this WaitForStateTransitionResultRequestV0 to JSON.
+                             * Converts this GetIdentityByNonUniquePublicKeyHashRequestV0 to JSON.
                              * @function toJSON
-                             * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0
                              * @instance
                              * @returns {Object.} JSON object
                              */
-                            WaitForStateTransitionResultRequestV0.prototype.toJSON = function toJSON() {
+                            GetIdentityByNonUniquePublicKeyHashRequestV0.prototype.toJSON = function toJSON() {
                                 return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
                             };
 
-                            return WaitForStateTransitionResultRequestV0;
+                            return GetIdentityByNonUniquePublicKeyHashRequestV0;
                         })();
 
-                        return WaitForStateTransitionResultRequest;
+                        return GetIdentityByNonUniquePublicKeyHashRequest;
                     })();
 
-                    v0.WaitForStateTransitionResultResponse = (function() {
+                    v0.GetIdentityByNonUniquePublicKeyHashResponse = (function() {
 
                         /**
-                         * Properties of a WaitForStateTransitionResultResponse.
+                         * Properties of a GetIdentityByNonUniquePublicKeyHashResponse.
                          * @memberof org.dash.platform.dapi.v0
-                         * @interface IWaitForStateTransitionResultResponse
-                         * @property {org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.IWaitForStateTransitionResultResponseV0|null} [v0] WaitForStateTransitionResultResponse v0
+                         * @interface IGetIdentityByNonUniquePublicKeyHashResponse
+                         * @property {org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.IGetIdentityByNonUniquePublicKeyHashResponseV0|null} [v0] GetIdentityByNonUniquePublicKeyHashResponse v0
                          */
 
                         /**
-                         * Constructs a new WaitForStateTransitionResultResponse.
+                         * Constructs a new GetIdentityByNonUniquePublicKeyHashResponse.
                          * @memberof org.dash.platform.dapi.v0
-                         * @classdesc Represents a WaitForStateTransitionResultResponse.
-                         * @implements IWaitForStateTransitionResultResponse
+                         * @classdesc Represents a GetIdentityByNonUniquePublicKeyHashResponse.
+                         * @implements IGetIdentityByNonUniquePublicKeyHashResponse
                          * @constructor
-                         * @param {org.dash.platform.dapi.v0.IWaitForStateTransitionResultResponse=} [properties] Properties to set
+                         * @param {org.dash.platform.dapi.v0.IGetIdentityByNonUniquePublicKeyHashResponse=} [properties] Properties to set
                          */
-                        function WaitForStateTransitionResultResponse(properties) {
+                        function GetIdentityByNonUniquePublicKeyHashResponse(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
                                     if (properties[keys[i]] != null)
@@ -21380,89 +21543,89 @@ $root.org = (function() {
                         }
 
                         /**
-                         * WaitForStateTransitionResultResponse v0.
-                         * @member {org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.IWaitForStateTransitionResultResponseV0|null|undefined} v0
-                         * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse
+                         * GetIdentityByNonUniquePublicKeyHashResponse v0.
+                         * @member {org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.IGetIdentityByNonUniquePublicKeyHashResponseV0|null|undefined} v0
+                         * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse
                          * @instance
                          */
-                        WaitForStateTransitionResultResponse.prototype.v0 = null;
+                        GetIdentityByNonUniquePublicKeyHashResponse.prototype.v0 = null;
 
                         // OneOf field names bound to virtual getters and setters
                         var $oneOfFields;
 
                         /**
-                         * WaitForStateTransitionResultResponse version.
+                         * GetIdentityByNonUniquePublicKeyHashResponse version.
                          * @member {"v0"|undefined} version
-                         * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse
+                         * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse
                          * @instance
                          */
-                        Object.defineProperty(WaitForStateTransitionResultResponse.prototype, "version", {
+                        Object.defineProperty(GetIdentityByNonUniquePublicKeyHashResponse.prototype, "version", {
                             get: $util.oneOfGetter($oneOfFields = ["v0"]),
                             set: $util.oneOfSetter($oneOfFields)
                         });
 
                         /**
-                         * Creates a new WaitForStateTransitionResultResponse instance using the specified properties.
+                         * Creates a new GetIdentityByNonUniquePublicKeyHashResponse instance using the specified properties.
                          * @function create
-                         * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse
+                         * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse
                          * @static
-                         * @param {org.dash.platform.dapi.v0.IWaitForStateTransitionResultResponse=} [properties] Properties to set
-                         * @returns {org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse} WaitForStateTransitionResultResponse instance
+                         * @param {org.dash.platform.dapi.v0.IGetIdentityByNonUniquePublicKeyHashResponse=} [properties] Properties to set
+                         * @returns {org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse} GetIdentityByNonUniquePublicKeyHashResponse instance
                          */
-                        WaitForStateTransitionResultResponse.create = function create(properties) {
-                            return new WaitForStateTransitionResultResponse(properties);
+                        GetIdentityByNonUniquePublicKeyHashResponse.create = function create(properties) {
+                            return new GetIdentityByNonUniquePublicKeyHashResponse(properties);
                         };
 
                         /**
-                         * Encodes the specified WaitForStateTransitionResultResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.verify|verify} messages.
+                         * Encodes the specified GetIdentityByNonUniquePublicKeyHashResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.verify|verify} messages.
                          * @function encode
-                         * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse
+                         * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse
                          * @static
-                         * @param {org.dash.platform.dapi.v0.IWaitForStateTransitionResultResponse} message WaitForStateTransitionResultResponse message or plain object to encode
+                         * @param {org.dash.platform.dapi.v0.IGetIdentityByNonUniquePublicKeyHashResponse} message GetIdentityByNonUniquePublicKeyHashResponse message or plain object to encode
                          * @param {$protobuf.Writer} [writer] Writer to encode to
                          * @returns {$protobuf.Writer} Writer
                          */
-                        WaitForStateTransitionResultResponse.encode = function encode(message, writer) {
+                        GetIdentityByNonUniquePublicKeyHashResponse.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.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+                                $root.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
                             return writer;
                         };
 
                         /**
-                         * Encodes the specified WaitForStateTransitionResultResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.verify|verify} messages.
+                         * Encodes the specified GetIdentityByNonUniquePublicKeyHashResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.verify|verify} messages.
                          * @function encodeDelimited
-                         * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse
+                         * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse
                          * @static
-                         * @param {org.dash.platform.dapi.v0.IWaitForStateTransitionResultResponse} message WaitForStateTransitionResultResponse message or plain object to encode
+                         * @param {org.dash.platform.dapi.v0.IGetIdentityByNonUniquePublicKeyHashResponse} message GetIdentityByNonUniquePublicKeyHashResponse message or plain object to encode
                          * @param {$protobuf.Writer} [writer] Writer to encode to
                          * @returns {$protobuf.Writer} Writer
                          */
-                        WaitForStateTransitionResultResponse.encodeDelimited = function encodeDelimited(message, writer) {
+                        GetIdentityByNonUniquePublicKeyHashResponse.encodeDelimited = function encodeDelimited(message, writer) {
                             return this.encode(message, writer).ldelim();
                         };
 
                         /**
-                         * Decodes a WaitForStateTransitionResultResponse message from the specified reader or buffer.
+                         * Decodes a GetIdentityByNonUniquePublicKeyHashResponse message from the specified reader or buffer.
                          * @function decode
-                         * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse
+                         * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse
                          * @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} WaitForStateTransitionResultResponse
+                         * @returns {org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse} GetIdentityByNonUniquePublicKeyHashResponse
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        WaitForStateTransitionResultResponse.decode = function decode(reader, length) {
+                        GetIdentityByNonUniquePublicKeyHashResponse.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();
+                            var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
                                 switch (tag >>> 3) {
                                 case 1:
-                                    message.v0 = $root.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.decode(reader, reader.uint32());
+                                    message.v0 = $root.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.decode(reader, reader.uint32());
                                     break;
                                 default:
                                     reader.skipType(tag & 7);
@@ -21473,37 +21636,37 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Decodes a WaitForStateTransitionResultResponse message from the specified reader or buffer, length delimited.
+                         * Decodes a GetIdentityByNonUniquePublicKeyHashResponse message from the specified reader or buffer, length delimited.
                          * @function decodeDelimited
-                         * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse
+                         * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse
                          * @static
                          * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                         * @returns {org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse} WaitForStateTransitionResultResponse
+                         * @returns {org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse} GetIdentityByNonUniquePublicKeyHashResponse
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        WaitForStateTransitionResultResponse.decodeDelimited = function decodeDelimited(reader) {
+                        GetIdentityByNonUniquePublicKeyHashResponse.decodeDelimited = function decodeDelimited(reader) {
                             if (!(reader instanceof $Reader))
                                 reader = new $Reader(reader);
                             return this.decode(reader, reader.uint32());
                         };
 
                         /**
-                         * Verifies a WaitForStateTransitionResultResponse message.
+                         * Verifies a GetIdentityByNonUniquePublicKeyHashResponse message.
                          * @function verify
-                         * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse
+                         * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse
                          * @static
                          * @param {Object.} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        WaitForStateTransitionResultResponse.verify = function verify(message) {
+                        GetIdentityByNonUniquePublicKeyHashResponse.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.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.verify(message.v0);
+                                    var error = $root.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.verify(message.v0);
                                     if (error)
                                         return "v0." + error;
                                 }
@@ -21512,40 +21675,40 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Creates a WaitForStateTransitionResultResponse message from a plain object. Also converts values to their respective internal types.
+                         * Creates a GetIdentityByNonUniquePublicKeyHashResponse message from a plain object. Also converts values to their respective internal types.
                          * @function fromObject
-                         * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse
+                         * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse
                          * @static
                          * @param {Object.} object Plain object
-                         * @returns {org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse} WaitForStateTransitionResultResponse
+                         * @returns {org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse} GetIdentityByNonUniquePublicKeyHashResponse
                          */
-                        WaitForStateTransitionResultResponse.fromObject = function fromObject(object) {
-                            if (object instanceof $root.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse)
+                        GetIdentityByNonUniquePublicKeyHashResponse.fromObject = function fromObject(object) {
+                            if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse)
                                 return object;
-                            var message = new $root.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse();
+                            var message = new $root.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse();
                             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);
+                                    throw TypeError(".org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.v0: object expected");
+                                message.v0 = $root.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.fromObject(object.v0);
                             }
                             return message;
                         };
 
                         /**
-                         * Creates a plain object from a WaitForStateTransitionResultResponse message. Also converts values to other types if specified.
+                         * Creates a plain object from a GetIdentityByNonUniquePublicKeyHashResponse message. Also converts values to other types if specified.
                          * @function toObject
-                         * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse
+                         * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse
                          * @static
-                         * @param {org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse} message WaitForStateTransitionResultResponse
+                         * @param {org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse} message GetIdentityByNonUniquePublicKeyHashResponse
                          * @param {$protobuf.IConversionOptions} [options] Conversion options
                          * @returns {Object.} Plain object
                          */
-                        WaitForStateTransitionResultResponse.toObject = function toObject(message, options) {
+                        GetIdentityByNonUniquePublicKeyHashResponse.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);
+                                object.v0 = $root.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.toObject(message.v0, options);
                                 if (options.oneofs)
                                     object.version = "v0";
                             }
@@ -21553,36 +21716,36 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Converts this WaitForStateTransitionResultResponse to JSON.
+                         * Converts this GetIdentityByNonUniquePublicKeyHashResponse to JSON.
                          * @function toJSON
-                         * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse
+                         * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse
                          * @instance
                          * @returns {Object.} JSON object
                          */
-                        WaitForStateTransitionResultResponse.prototype.toJSON = function toJSON() {
+                        GetIdentityByNonUniquePublicKeyHashResponse.prototype.toJSON = function toJSON() {
                             return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
                         };
 
-                        WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0 = (function() {
+                        GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0 = (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
+                             * Properties of a GetIdentityByNonUniquePublicKeyHashResponseV0.
+                             * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse
+                             * @interface IGetIdentityByNonUniquePublicKeyHashResponseV0
+                             * @property {org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IIdentityResponse|null} [identity] GetIdentityByNonUniquePublicKeyHashResponseV0 identity
+                             * @property {org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IIdentityProvedResponse|null} [proof] GetIdentityByNonUniquePublicKeyHashResponseV0 proof
+                             * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetIdentityByNonUniquePublicKeyHashResponseV0 metadata
                              */
 
                             /**
-                             * Constructs a new WaitForStateTransitionResultResponseV0.
-                             * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse
-                             * @classdesc Represents a WaitForStateTransitionResultResponseV0.
-                             * @implements IWaitForStateTransitionResultResponseV0
+                             * Constructs a new GetIdentityByNonUniquePublicKeyHashResponseV0.
+                             * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse
+                             * @classdesc Represents a GetIdentityByNonUniquePublicKeyHashResponseV0.
+                             * @implements IGetIdentityByNonUniquePublicKeyHashResponseV0
                              * @constructor
-                             * @param {org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.IWaitForStateTransitionResultResponseV0=} [properties] Properties to set
+                             * @param {org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.IGetIdentityByNonUniquePublicKeyHashResponseV0=} [properties] Properties to set
                              */
-                            function WaitForStateTransitionResultResponseV0(properties) {
+                            function GetIdentityByNonUniquePublicKeyHashResponseV0(properties) {
                                 if (properties)
                                     for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
                                         if (properties[keys[i]] != null)
@@ -21590,112 +21753,112 @@ $root.org = (function() {
                             }
 
                             /**
-                             * WaitForStateTransitionResultResponseV0 error.
-                             * @member {org.dash.platform.dapi.v0.IStateTransitionBroadcastError|null|undefined} error
-                             * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0
+                             * GetIdentityByNonUniquePublicKeyHashResponseV0 identity.
+                             * @member {org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IIdentityResponse|null|undefined} identity
+                             * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0
                              * @instance
                              */
-                            WaitForStateTransitionResultResponseV0.prototype.error = null;
+                            GetIdentityByNonUniquePublicKeyHashResponseV0.prototype.identity = null;
 
                             /**
-                             * WaitForStateTransitionResultResponseV0 proof.
-                             * @member {org.dash.platform.dapi.v0.IProof|null|undefined} proof
-                             * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0
+                             * GetIdentityByNonUniquePublicKeyHashResponseV0 proof.
+                             * @member {org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IIdentityProvedResponse|null|undefined} proof
+                             * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0
                              * @instance
                              */
-                            WaitForStateTransitionResultResponseV0.prototype.proof = null;
+                            GetIdentityByNonUniquePublicKeyHashResponseV0.prototype.proof = null;
 
                             /**
-                             * WaitForStateTransitionResultResponseV0 metadata.
+                             * GetIdentityByNonUniquePublicKeyHashResponseV0 metadata.
                              * @member {org.dash.platform.dapi.v0.IResponseMetadata|null|undefined} metadata
-                             * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0
                              * @instance
                              */
-                            WaitForStateTransitionResultResponseV0.prototype.metadata = null;
+                            GetIdentityByNonUniquePublicKeyHashResponseV0.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
+                             * GetIdentityByNonUniquePublicKeyHashResponseV0 result.
+                             * @member {"identity"|"proof"|undefined} result
+                             * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0
                              * @instance
                              */
-                            Object.defineProperty(WaitForStateTransitionResultResponseV0.prototype, "result", {
-                                get: $util.oneOfGetter($oneOfFields = ["error", "proof"]),
+                            Object.defineProperty(GetIdentityByNonUniquePublicKeyHashResponseV0.prototype, "result", {
+                                get: $util.oneOfGetter($oneOfFields = ["identity", "proof"]),
                                 set: $util.oneOfSetter($oneOfFields)
                             });
 
                             /**
-                             * Creates a new WaitForStateTransitionResultResponseV0 instance using the specified properties.
+                             * Creates a new GetIdentityByNonUniquePublicKeyHashResponseV0 instance using the specified properties.
                              * @function create
-                             * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.IWaitForStateTransitionResultResponseV0=} [properties] Properties to set
-                             * @returns {org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} WaitForStateTransitionResultResponseV0 instance
+                             * @param {org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.IGetIdentityByNonUniquePublicKeyHashResponseV0=} [properties] Properties to set
+                             * @returns {org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0} GetIdentityByNonUniquePublicKeyHashResponseV0 instance
                              */
-                            WaitForStateTransitionResultResponseV0.create = function create(properties) {
-                                return new WaitForStateTransitionResultResponseV0(properties);
+                            GetIdentityByNonUniquePublicKeyHashResponseV0.create = function create(properties) {
+                                return new GetIdentityByNonUniquePublicKeyHashResponseV0(properties);
                             };
 
                             /**
-                             * Encodes the specified WaitForStateTransitionResultResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.verify|verify} messages.
+                             * Encodes the specified GetIdentityByNonUniquePublicKeyHashResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.verify|verify} messages.
                              * @function encode
-                             * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.IWaitForStateTransitionResultResponseV0} message WaitForStateTransitionResultResponseV0 message or plain object to encode
+                             * @param {org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.IGetIdentityByNonUniquePublicKeyHashResponseV0} message GetIdentityByNonUniquePublicKeyHashResponseV0 message or plain object to encode
                              * @param {$protobuf.Writer} [writer] Writer to encode to
                              * @returns {$protobuf.Writer} Writer
                              */
-                            WaitForStateTransitionResultResponseV0.encode = function encode(message, writer) {
+                            GetIdentityByNonUniquePublicKeyHashResponseV0.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.identity != null && Object.hasOwnProperty.call(message, "identity"))
+                                    $root.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse.encode(message.identity, 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();
+                                    $root.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse.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.
+                             * Encodes the specified GetIdentityByNonUniquePublicKeyHashResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.verify|verify} messages.
                              * @function encodeDelimited
-                             * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.IWaitForStateTransitionResultResponseV0} message WaitForStateTransitionResultResponseV0 message or plain object to encode
+                             * @param {org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.IGetIdentityByNonUniquePublicKeyHashResponseV0} message GetIdentityByNonUniquePublicKeyHashResponseV0 message or plain object to encode
                              * @param {$protobuf.Writer} [writer] Writer to encode to
                              * @returns {$protobuf.Writer} Writer
                              */
-                            WaitForStateTransitionResultResponseV0.encodeDelimited = function encodeDelimited(message, writer) {
+                            GetIdentityByNonUniquePublicKeyHashResponseV0.encodeDelimited = function encodeDelimited(message, writer) {
                                 return this.encode(message, writer).ldelim();
                             };
 
                             /**
-                             * Decodes a WaitForStateTransitionResultResponseV0 message from the specified reader or buffer.
+                             * Decodes a GetIdentityByNonUniquePublicKeyHashResponseV0 message from the specified reader or buffer.
                              * @function decode
-                             * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0
                              * @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
+                             * @returns {org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0} GetIdentityByNonUniquePublicKeyHashResponseV0
                              * @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) {
+                            GetIdentityByNonUniquePublicKeyHashResponseV0.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();
+                                var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0();
                                 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());
+                                        message.identity = $root.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse.decode(reader, reader.uint32());
                                         break;
                                     case 2:
-                                        message.proof = $root.org.dash.platform.dapi.v0.Proof.decode(reader, reader.uint32());
+                                        message.proof = $root.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse.decode(reader, reader.uint32());
                                         break;
                                     case 3:
                                         message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.decode(reader, reader.uint32());
@@ -21709,39 +21872,39 @@ $root.org = (function() {
                             };
 
                             /**
-                             * Decodes a WaitForStateTransitionResultResponseV0 message from the specified reader or buffer, length delimited.
+                             * Decodes a GetIdentityByNonUniquePublicKeyHashResponseV0 message from the specified reader or buffer, length delimited.
                              * @function decodeDelimited
-                             * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0
                              * @static
                              * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                             * @returns {org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} WaitForStateTransitionResultResponseV0
+                             * @returns {org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0} GetIdentityByNonUniquePublicKeyHashResponseV0
                              * @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) {
+                            GetIdentityByNonUniquePublicKeyHashResponseV0.decodeDelimited = function decodeDelimited(reader) {
                                 if (!(reader instanceof $Reader))
                                     reader = new $Reader(reader);
                                 return this.decode(reader, reader.uint32());
                             };
 
                             /**
-                             * Verifies a WaitForStateTransitionResultResponseV0 message.
+                             * Verifies a GetIdentityByNonUniquePublicKeyHashResponseV0 message.
                              * @function verify
-                             * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0
                              * @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) {
+                            GetIdentityByNonUniquePublicKeyHashResponseV0.verify = function verify(message) {
                                 if (typeof message !== "object" || message === null)
                                     return "object expected";
                                 var properties = {};
-                                if (message.error != null && message.hasOwnProperty("error")) {
+                                if (message.identity != null && message.hasOwnProperty("identity")) {
                                     properties.result = 1;
                                     {
-                                        var error = $root.org.dash.platform.dapi.v0.StateTransitionBroadcastError.verify(message.error);
+                                        var error = $root.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse.verify(message.identity);
                                         if (error)
-                                            return "error." + error;
+                                            return "identity." + error;
                                     }
                                 }
                                 if (message.proof != null && message.hasOwnProperty("proof")) {
@@ -21749,7 +21912,7 @@ $root.org = (function() {
                                         return "result: multiple values";
                                     properties.result = 1;
                                     {
-                                        var error = $root.org.dash.platform.dapi.v0.Proof.verify(message.proof);
+                                        var error = $root.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse.verify(message.proof);
                                         if (error)
                                             return "proof." + error;
                                     }
@@ -21763,57 +21926,57 @@ $root.org = (function() {
                             };
 
                             /**
-                             * Creates a WaitForStateTransitionResultResponseV0 message from a plain object. Also converts values to their respective internal types.
+                             * Creates a GetIdentityByNonUniquePublicKeyHashResponseV0 message from a plain object. Also converts values to their respective internal types.
                              * @function fromObject
-                             * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0
                              * @static
                              * @param {Object.} object Plain object
-                             * @returns {org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} WaitForStateTransitionResultResponseV0
+                             * @returns {org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0} GetIdentityByNonUniquePublicKeyHashResponseV0
                              */
-                            WaitForStateTransitionResultResponseV0.fromObject = function fromObject(object) {
-                                if (object instanceof $root.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0)
+                            GetIdentityByNonUniquePublicKeyHashResponseV0.fromObject = function fromObject(object) {
+                                if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0)
                                     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);
+                                var message = new $root.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0();
+                                if (object.identity != null) {
+                                    if (typeof object.identity !== "object")
+                                        throw TypeError(".org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.identity: object expected");
+                                    message.identity = $root.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse.fromObject(object.identity);
                                 }
                                 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);
+                                        throw TypeError(".org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.proof: object expected");
+                                    message.proof = $root.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse.fromObject(object.proof);
                                 }
                                 if (object.metadata != null) {
                                     if (typeof object.metadata !== "object")
-                                        throw TypeError(".org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.metadata: object expected");
+                                        throw TypeError(".org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.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.
+                             * Creates a plain object from a GetIdentityByNonUniquePublicKeyHashResponseV0 message. Also converts values to other types if specified.
                              * @function toObject
-                             * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} message WaitForStateTransitionResultResponseV0
+                             * @param {org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0} message GetIdentityByNonUniquePublicKeyHashResponseV0
                              * @param {$protobuf.IConversionOptions} [options] Conversion options
                              * @returns {Object.} Plain object
                              */
-                            WaitForStateTransitionResultResponseV0.toObject = function toObject(message, options) {
+                            GetIdentityByNonUniquePublicKeyHashResponseV0.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 (message.identity != null && message.hasOwnProperty("identity")) {
+                                    object.identity = $root.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse.toObject(message.identity, options);
                                     if (options.oneofs)
-                                        object.result = "error";
+                                        object.result = "identity";
                                 }
                                 if (message.proof != null && message.hasOwnProperty("proof")) {
-                                    object.proof = $root.org.dash.platform.dapi.v0.Proof.toObject(message.proof, options);
+                                    object.proof = $root.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse.toObject(message.proof, options);
                                     if (options.oneofs)
                                         object.result = "proof";
                                 }
@@ -21823,130 +21986,550 @@ $root.org = (function() {
                             };
 
                             /**
-                             * Converts this WaitForStateTransitionResultResponseV0 to JSON.
+                             * Converts this GetIdentityByNonUniquePublicKeyHashResponseV0 to JSON.
                              * @function toJSON
-                             * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0
                              * @instance
                              * @returns {Object.} JSON object
                              */
-                            WaitForStateTransitionResultResponseV0.prototype.toJSON = function toJSON() {
+                            GetIdentityByNonUniquePublicKeyHashResponseV0.prototype.toJSON = function toJSON() {
                                 return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
                             };
 
-                            return WaitForStateTransitionResultResponseV0;
-                        })();
+                            GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse = (function() {
 
-                        return WaitForStateTransitionResultResponse;
-                    })();
+                                /**
+                                 * Properties of an IdentityResponse.
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0
+                                 * @interface IIdentityResponse
+                                 * @property {Uint8Array|null} [identity] IdentityResponse identity
+                                 */
 
-                    v0.GetConsensusParamsRequest = (function() {
+                                /**
+                                 * Constructs a new IdentityResponse.
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0
+                                 * @classdesc Represents an IdentityResponse.
+                                 * @implements IIdentityResponse
+                                 * @constructor
+                                 * @param {org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IIdentityResponse=} [properties] Properties to set
+                                 */
+                                function IdentityResponse(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]];
+                                }
 
-                        /**
-                         * Properties of a GetConsensusParamsRequest.
-                         * @memberof org.dash.platform.dapi.v0
-                         * @interface IGetConsensusParamsRequest
-                         * @property {org.dash.platform.dapi.v0.GetConsensusParamsRequest.IGetConsensusParamsRequestV0|null} [v0] GetConsensusParamsRequest v0
-                         */
+                                /**
+                                 * IdentityResponse identity.
+                                 * @member {Uint8Array} identity
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse
+                                 * @instance
+                                 */
+                                IdentityResponse.prototype.identity = $util.newBuffer([]);
 
-                        /**
-                         * 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]];
-                        }
+                                /**
+                                 * Creates a new IdentityResponse instance using the specified properties.
+                                 * @function create
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse
+                                 * @static
+                                 * @param {org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IIdentityResponse=} [properties] Properties to set
+                                 * @returns {org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse} IdentityResponse instance
+                                 */
+                                IdentityResponse.create = function create(properties) {
+                                    return new IdentityResponse(properties);
+                                };
 
-                        /**
-                         * GetConsensusParamsRequest v0.
-                         * @member {org.dash.platform.dapi.v0.GetConsensusParamsRequest.IGetConsensusParamsRequestV0|null|undefined} v0
-                         * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest
-                         * @instance
-                         */
-                        GetConsensusParamsRequest.prototype.v0 = null;
+                                /**
+                                 * Encodes the specified IdentityResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse.verify|verify} messages.
+                                 * @function encode
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse
+                                 * @static
+                                 * @param {org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IIdentityResponse} message IdentityResponse message or plain object to encode
+                                 * @param {$protobuf.Writer} [writer] Writer to encode to
+                                 * @returns {$protobuf.Writer} Writer
+                                 */
+                                IdentityResponse.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);
+                                    return writer;
+                                };
 
-                        // OneOf field names bound to virtual getters and setters
-                        var $oneOfFields;
+                                /**
+                                 * Encodes the specified IdentityResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse.verify|verify} messages.
+                                 * @function encodeDelimited
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse
+                                 * @static
+                                 * @param {org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IIdentityResponse} message IdentityResponse message or plain object to encode
+                                 * @param {$protobuf.Writer} [writer] Writer to encode to
+                                 * @returns {$protobuf.Writer} Writer
+                                 */
+                                IdentityResponse.encodeDelimited = function encodeDelimited(message, writer) {
+                                    return this.encode(message, writer).ldelim();
+                                };
 
-                        /**
-                         * GetConsensusParamsRequest version.
-                         * @member {"v0"|undefined} version
-                         * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest
-                         * @instance
-                         */
-                        Object.defineProperty(GetConsensusParamsRequest.prototype, "version", {
-                            get: $util.oneOfGetter($oneOfFields = ["v0"]),
-                            set: $util.oneOfSetter($oneOfFields)
-                        });
+                                /**
+                                 * Decodes an IdentityResponse message from the specified reader or buffer.
+                                 * @function decode
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse
+                                 * @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.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse} IdentityResponse
+                                 * @throws {Error} If the payload is not a reader or valid buffer
+                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
+                                 */
+                                IdentityResponse.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.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse();
+                                    while (reader.pos < end) {
+                                        var tag = reader.uint32();
+                                        switch (tag >>> 3) {
+                                        case 1:
+                                            message.identity = reader.bytes();
+                                            break;
+                                        default:
+                                            reader.skipType(tag & 7);
+                                            break;
+                                        }
+                                    }
+                                    return message;
+                                };
 
-                        /**
-                         * Creates a new GetConsensusParamsRequest instance using the specified properties.
+                                /**
+                                 * Decodes an IdentityResponse message from the specified reader or buffer, length delimited.
+                                 * @function decodeDelimited
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse
+                                 * @static
+                                 * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+                                 * @returns {org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse} IdentityResponse
+                                 * @throws {Error} If the payload is not a reader or valid buffer
+                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
+                                 */
+                                IdentityResponse.decodeDelimited = function decodeDelimited(reader) {
+                                    if (!(reader instanceof $Reader))
+                                        reader = new $Reader(reader);
+                                    return this.decode(reader, reader.uint32());
+                                };
+
+                                /**
+                                 * Verifies an IdentityResponse message.
+                                 * @function verify
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse
+                                 * @static
+                                 * @param {Object.} message Plain object to verify
+                                 * @returns {string|null} `null` if valid, otherwise the reason why it is not
+                                 */
+                                IdentityResponse.verify = function verify(message) {
+                                    if (typeof message !== "object" || message === null)
+                                        return "object expected";
+                                    if (message.identity != null && message.hasOwnProperty("identity"))
+                                        if (!(message.identity && typeof message.identity.length === "number" || $util.isString(message.identity)))
+                                            return "identity: buffer expected";
+                                    return null;
+                                };
+
+                                /**
+                                 * Creates an IdentityResponse message from a plain object. Also converts values to their respective internal types.
+                                 * @function fromObject
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse
+                                 * @static
+                                 * @param {Object.} object Plain object
+                                 * @returns {org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse} IdentityResponse
+                                 */
+                                IdentityResponse.fromObject = function fromObject(object) {
+                                    if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse)
+                                        return object;
+                                    var message = new $root.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse();
+                                    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;
+                                    return message;
+                                };
+
+                                /**
+                                 * Creates a plain object from an IdentityResponse message. Also converts values to other types if specified.
+                                 * @function toObject
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse
+                                 * @static
+                                 * @param {org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse} message IdentityResponse
+                                 * @param {$protobuf.IConversionOptions} [options] Conversion options
+                                 * @returns {Object.} Plain object
+                                 */
+                                IdentityResponse.toObject = function toObject(message, options) {
+                                    if (!options)
+                                        options = {};
+                                    var object = {};
+                                    if (options.defaults)
+                                        if (options.bytes === String)
+                                            object.identity = "";
+                                        else {
+                                            object.identity = [];
+                                            if (options.bytes !== Array)
+                                                object.identity = $util.newBuffer(object.identity);
+                                        }
+                                    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;
+                                    return object;
+                                };
+
+                                /**
+                                 * Converts this IdentityResponse to JSON.
+                                 * @function toJSON
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse
+                                 * @instance
+                                 * @returns {Object.} JSON object
+                                 */
+                                IdentityResponse.prototype.toJSON = function toJSON() {
+                                    return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+                                };
+
+                                return IdentityResponse;
+                            })();
+
+                            GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse = (function() {
+
+                                /**
+                                 * Properties of an IdentityProvedResponse.
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0
+                                 * @interface IIdentityProvedResponse
+                                 * @property {org.dash.platform.dapi.v0.IProof|null} [grovedbIdentityPublicKeyHashProof] IdentityProvedResponse grovedbIdentityPublicKeyHashProof
+                                 * @property {Uint8Array|null} [identityProofBytes] IdentityProvedResponse identityProofBytes
+                                 */
+
+                                /**
+                                 * Constructs a new IdentityProvedResponse.
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0
+                                 * @classdesc Represents an IdentityProvedResponse.
+                                 * @implements IIdentityProvedResponse
+                                 * @constructor
+                                 * @param {org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IIdentityProvedResponse=} [properties] Properties to set
+                                 */
+                                function IdentityProvedResponse(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]];
+                                }
+
+                                /**
+                                 * IdentityProvedResponse grovedbIdentityPublicKeyHashProof.
+                                 * @member {org.dash.platform.dapi.v0.IProof|null|undefined} grovedbIdentityPublicKeyHashProof
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse
+                                 * @instance
+                                 */
+                                IdentityProvedResponse.prototype.grovedbIdentityPublicKeyHashProof = null;
+
+                                /**
+                                 * IdentityProvedResponse identityProofBytes.
+                                 * @member {Uint8Array} identityProofBytes
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse
+                                 * @instance
+                                 */
+                                IdentityProvedResponse.prototype.identityProofBytes = $util.newBuffer([]);
+
+                                /**
+                                 * Creates a new IdentityProvedResponse instance using the specified properties.
+                                 * @function create
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse
+                                 * @static
+                                 * @param {org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IIdentityProvedResponse=} [properties] Properties to set
+                                 * @returns {org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse} IdentityProvedResponse instance
+                                 */
+                                IdentityProvedResponse.create = function create(properties) {
+                                    return new IdentityProvedResponse(properties);
+                                };
+
+                                /**
+                                 * Encodes the specified IdentityProvedResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse.verify|verify} messages.
+                                 * @function encode
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse
+                                 * @static
+                                 * @param {org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IIdentityProvedResponse} message IdentityProvedResponse message or plain object to encode
+                                 * @param {$protobuf.Writer} [writer] Writer to encode to
+                                 * @returns {$protobuf.Writer} Writer
+                                 */
+                                IdentityProvedResponse.encode = function encode(message, writer) {
+                                    if (!writer)
+                                        writer = $Writer.create();
+                                    if (message.grovedbIdentityPublicKeyHashProof != null && Object.hasOwnProperty.call(message, "grovedbIdentityPublicKeyHashProof"))
+                                        $root.org.dash.platform.dapi.v0.Proof.encode(message.grovedbIdentityPublicKeyHashProof, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+                                    if (message.identityProofBytes != null && Object.hasOwnProperty.call(message, "identityProofBytes"))
+                                        writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.identityProofBytes);
+                                    return writer;
+                                };
+
+                                /**
+                                 * Encodes the specified IdentityProvedResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse.verify|verify} messages.
+                                 * @function encodeDelimited
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse
+                                 * @static
+                                 * @param {org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IIdentityProvedResponse} message IdentityProvedResponse message or plain object to encode
+                                 * @param {$protobuf.Writer} [writer] Writer to encode to
+                                 * @returns {$protobuf.Writer} Writer
+                                 */
+                                IdentityProvedResponse.encodeDelimited = function encodeDelimited(message, writer) {
+                                    return this.encode(message, writer).ldelim();
+                                };
+
+                                /**
+                                 * Decodes an IdentityProvedResponse message from the specified reader or buffer.
+                                 * @function decode
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse
+                                 * @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.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse} IdentityProvedResponse
+                                 * @throws {Error} If the payload is not a reader or valid buffer
+                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
+                                 */
+                                IdentityProvedResponse.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.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse();
+                                    while (reader.pos < end) {
+                                        var tag = reader.uint32();
+                                        switch (tag >>> 3) {
+                                        case 1:
+                                            message.grovedbIdentityPublicKeyHashProof = $root.org.dash.platform.dapi.v0.Proof.decode(reader, reader.uint32());
+                                            break;
+                                        case 2:
+                                            message.identityProofBytes = reader.bytes();
+                                            break;
+                                        default:
+                                            reader.skipType(tag & 7);
+                                            break;
+                                        }
+                                    }
+                                    return message;
+                                };
+
+                                /**
+                                 * Decodes an IdentityProvedResponse message from the specified reader or buffer, length delimited.
+                                 * @function decodeDelimited
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse
+                                 * @static
+                                 * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+                                 * @returns {org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse} IdentityProvedResponse
+                                 * @throws {Error} If the payload is not a reader or valid buffer
+                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
+                                 */
+                                IdentityProvedResponse.decodeDelimited = function decodeDelimited(reader) {
+                                    if (!(reader instanceof $Reader))
+                                        reader = new $Reader(reader);
+                                    return this.decode(reader, reader.uint32());
+                                };
+
+                                /**
+                                 * Verifies an IdentityProvedResponse message.
+                                 * @function verify
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse
+                                 * @static
+                                 * @param {Object.} message Plain object to verify
+                                 * @returns {string|null} `null` if valid, otherwise the reason why it is not
+                                 */
+                                IdentityProvedResponse.verify = function verify(message) {
+                                    if (typeof message !== "object" || message === null)
+                                        return "object expected";
+                                    if (message.grovedbIdentityPublicKeyHashProof != null && message.hasOwnProperty("grovedbIdentityPublicKeyHashProof")) {
+                                        var error = $root.org.dash.platform.dapi.v0.Proof.verify(message.grovedbIdentityPublicKeyHashProof);
+                                        if (error)
+                                            return "grovedbIdentityPublicKeyHashProof." + error;
+                                    }
+                                    if (message.identityProofBytes != null && message.hasOwnProperty("identityProofBytes"))
+                                        if (!(message.identityProofBytes && typeof message.identityProofBytes.length === "number" || $util.isString(message.identityProofBytes)))
+                                            return "identityProofBytes: buffer expected";
+                                    return null;
+                                };
+
+                                /**
+                                 * Creates an IdentityProvedResponse message from a plain object. Also converts values to their respective internal types.
+                                 * @function fromObject
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse
+                                 * @static
+                                 * @param {Object.} object Plain object
+                                 * @returns {org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse} IdentityProvedResponse
+                                 */
+                                IdentityProvedResponse.fromObject = function fromObject(object) {
+                                    if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse)
+                                        return object;
+                                    var message = new $root.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse();
+                                    if (object.grovedbIdentityPublicKeyHashProof != null) {
+                                        if (typeof object.grovedbIdentityPublicKeyHashProof !== "object")
+                                            throw TypeError(".org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse.grovedbIdentityPublicKeyHashProof: object expected");
+                                        message.grovedbIdentityPublicKeyHashProof = $root.org.dash.platform.dapi.v0.Proof.fromObject(object.grovedbIdentityPublicKeyHashProof);
+                                    }
+                                    if (object.identityProofBytes != null)
+                                        if (typeof object.identityProofBytes === "string")
+                                            $util.base64.decode(object.identityProofBytes, message.identityProofBytes = $util.newBuffer($util.base64.length(object.identityProofBytes)), 0);
+                                        else if (object.identityProofBytes.length >= 0)
+                                            message.identityProofBytes = object.identityProofBytes;
+                                    return message;
+                                };
+
+                                /**
+                                 * Creates a plain object from an IdentityProvedResponse message. Also converts values to other types if specified.
+                                 * @function toObject
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse
+                                 * @static
+                                 * @param {org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse} message IdentityProvedResponse
+                                 * @param {$protobuf.IConversionOptions} [options] Conversion options
+                                 * @returns {Object.} Plain object
+                                 */
+                                IdentityProvedResponse.toObject = function toObject(message, options) {
+                                    if (!options)
+                                        options = {};
+                                    var object = {};
+                                    if (options.defaults) {
+                                        object.grovedbIdentityPublicKeyHashProof = null;
+                                        if (options.bytes === String)
+                                            object.identityProofBytes = "";
+                                        else {
+                                            object.identityProofBytes = [];
+                                            if (options.bytes !== Array)
+                                                object.identityProofBytes = $util.newBuffer(object.identityProofBytes);
+                                        }
+                                    }
+                                    if (message.grovedbIdentityPublicKeyHashProof != null && message.hasOwnProperty("grovedbIdentityPublicKeyHashProof"))
+                                        object.grovedbIdentityPublicKeyHashProof = $root.org.dash.platform.dapi.v0.Proof.toObject(message.grovedbIdentityPublicKeyHashProof, options);
+                                    if (message.identityProofBytes != null && message.hasOwnProperty("identityProofBytes"))
+                                        object.identityProofBytes = options.bytes === String ? $util.base64.encode(message.identityProofBytes, 0, message.identityProofBytes.length) : options.bytes === Array ? Array.prototype.slice.call(message.identityProofBytes) : message.identityProofBytes;
+                                    return object;
+                                };
+
+                                /**
+                                 * Converts this IdentityProvedResponse to JSON.
+                                 * @function toJSON
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse
+                                 * @instance
+                                 * @returns {Object.} JSON object
+                                 */
+                                IdentityProvedResponse.prototype.toJSON = function toJSON() {
+                                    return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+                                };
+
+                                return IdentityProvedResponse;
+                            })();
+
+                            return GetIdentityByNonUniquePublicKeyHashResponseV0;
+                        })();
+
+                        return GetIdentityByNonUniquePublicKeyHashResponse;
+                    })();
+
+                    v0.WaitForStateTransitionResultRequest = (function() {
+
+                        /**
+                         * Properties of a WaitForStateTransitionResultRequest.
+                         * @memberof org.dash.platform.dapi.v0
+                         * @interface IWaitForStateTransitionResultRequest
+                         * @property {org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.IWaitForStateTransitionResultRequestV0|null} [v0] WaitForStateTransitionResultRequest v0
+                         */
+
+                        /**
+                         * Constructs a new WaitForStateTransitionResultRequest.
+                         * @memberof org.dash.platform.dapi.v0
+                         * @classdesc Represents a WaitForStateTransitionResultRequest.
+                         * @implements IWaitForStateTransitionResultRequest
+                         * @constructor
+                         * @param {org.dash.platform.dapi.v0.IWaitForStateTransitionResultRequest=} [properties] Properties to set
+                         */
+                        function WaitForStateTransitionResultRequest(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]];
+                        }
+
+                        /**
+                         * WaitForStateTransitionResultRequest v0.
+                         * @member {org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.IWaitForStateTransitionResultRequestV0|null|undefined} v0
+                         * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest
+                         * @instance
+                         */
+                        WaitForStateTransitionResultRequest.prototype.v0 = null;
+
+                        // OneOf field names bound to virtual getters and setters
+                        var $oneOfFields;
+
+                        /**
+                         * WaitForStateTransitionResultRequest version.
+                         * @member {"v0"|undefined} version
+                         * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest
+                         * @instance
+                         */
+                        Object.defineProperty(WaitForStateTransitionResultRequest.prototype, "version", {
+                            get: $util.oneOfGetter($oneOfFields = ["v0"]),
+                            set: $util.oneOfSetter($oneOfFields)
+                        });
+
+                        /**
+                         * Creates a new WaitForStateTransitionResultRequest instance using the specified properties.
                          * @function create
-                         * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest
+                         * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest
                          * @static
-                         * @param {org.dash.platform.dapi.v0.IGetConsensusParamsRequest=} [properties] Properties to set
-                         * @returns {org.dash.platform.dapi.v0.GetConsensusParamsRequest} GetConsensusParamsRequest instance
+                         * @param {org.dash.platform.dapi.v0.IWaitForStateTransitionResultRequest=} [properties] Properties to set
+                         * @returns {org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest} WaitForStateTransitionResultRequest instance
                          */
-                        GetConsensusParamsRequest.create = function create(properties) {
-                            return new GetConsensusParamsRequest(properties);
+                        WaitForStateTransitionResultRequest.create = function create(properties) {
+                            return new WaitForStateTransitionResultRequest(properties);
                         };
 
                         /**
-                         * Encodes the specified GetConsensusParamsRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetConsensusParamsRequest.verify|verify} messages.
+                         * Encodes the specified WaitForStateTransitionResultRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.verify|verify} messages.
                          * @function encode
-                         * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest
+                         * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest
                          * @static
-                         * @param {org.dash.platform.dapi.v0.IGetConsensusParamsRequest} message GetConsensusParamsRequest message or plain object to encode
+                         * @param {org.dash.platform.dapi.v0.IWaitForStateTransitionResultRequest} message WaitForStateTransitionResultRequest message or plain object to encode
                          * @param {$protobuf.Writer} [writer] Writer to encode to
                          * @returns {$protobuf.Writer} Writer
                          */
-                        GetConsensusParamsRequest.encode = function encode(message, writer) {
+                        WaitForStateTransitionResultRequest.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.GetConsensusParamsRequest.GetConsensusParamsRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+                                $root.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
                             return writer;
                         };
 
                         /**
-                         * Encodes the specified GetConsensusParamsRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetConsensusParamsRequest.verify|verify} messages.
+                         * Encodes the specified WaitForStateTransitionResultRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.verify|verify} messages.
                          * @function encodeDelimited
-                         * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest
+                         * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest
                          * @static
-                         * @param {org.dash.platform.dapi.v0.IGetConsensusParamsRequest} message GetConsensusParamsRequest message or plain object to encode
+                         * @param {org.dash.platform.dapi.v0.IWaitForStateTransitionResultRequest} message WaitForStateTransitionResultRequest message or plain object to encode
                          * @param {$protobuf.Writer} [writer] Writer to encode to
                          * @returns {$protobuf.Writer} Writer
                          */
-                        GetConsensusParamsRequest.encodeDelimited = function encodeDelimited(message, writer) {
+                        WaitForStateTransitionResultRequest.encodeDelimited = function encodeDelimited(message, writer) {
                             return this.encode(message, writer).ldelim();
                         };
 
                         /**
-                         * Decodes a GetConsensusParamsRequest message from the specified reader or buffer.
+                         * Decodes a WaitForStateTransitionResultRequest message from the specified reader or buffer.
                          * @function decode
-                         * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest
+                         * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest
                          * @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
+                         * @returns {org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest} WaitForStateTransitionResultRequest
                          * @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) {
+                        WaitForStateTransitionResultRequest.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();
+                            var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
                                 switch (tag >>> 3) {
                                 case 1:
-                                    message.v0 = $root.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.decode(reader, reader.uint32());
+                                    message.v0 = $root.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.decode(reader, reader.uint32());
                                     break;
                                 default:
                                     reader.skipType(tag & 7);
@@ -21957,37 +22540,37 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Decodes a GetConsensusParamsRequest message from the specified reader or buffer, length delimited.
+                         * Decodes a WaitForStateTransitionResultRequest message from the specified reader or buffer, length delimited.
                          * @function decodeDelimited
-                         * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest
+                         * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest
                          * @static
                          * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                         * @returns {org.dash.platform.dapi.v0.GetConsensusParamsRequest} GetConsensusParamsRequest
+                         * @returns {org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest} WaitForStateTransitionResultRequest
                          * @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) {
+                        WaitForStateTransitionResultRequest.decodeDelimited = function decodeDelimited(reader) {
                             if (!(reader instanceof $Reader))
                                 reader = new $Reader(reader);
                             return this.decode(reader, reader.uint32());
                         };
 
                         /**
-                         * Verifies a GetConsensusParamsRequest message.
+                         * Verifies a WaitForStateTransitionResultRequest message.
                          * @function verify
-                         * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest
+                         * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest
                          * @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) {
+                        WaitForStateTransitionResultRequest.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.GetConsensusParamsRequest.GetConsensusParamsRequestV0.verify(message.v0);
+                                    var error = $root.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.verify(message.v0);
                                     if (error)
                                         return "v0." + error;
                                 }
@@ -21996,40 +22579,40 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Creates a GetConsensusParamsRequest message from a plain object. Also converts values to their respective internal types.
+                         * Creates a WaitForStateTransitionResultRequest message from a plain object. Also converts values to their respective internal types.
                          * @function fromObject
-                         * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest
+                         * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest
                          * @static
                          * @param {Object.} object Plain object
-                         * @returns {org.dash.platform.dapi.v0.GetConsensusParamsRequest} GetConsensusParamsRequest
+                         * @returns {org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest} WaitForStateTransitionResultRequest
                          */
-                        GetConsensusParamsRequest.fromObject = function fromObject(object) {
-                            if (object instanceof $root.org.dash.platform.dapi.v0.GetConsensusParamsRequest)
+                        WaitForStateTransitionResultRequest.fromObject = function fromObject(object) {
+                            if (object instanceof $root.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest)
                                 return object;
-                            var message = new $root.org.dash.platform.dapi.v0.GetConsensusParamsRequest();
+                            var message = new $root.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest();
                             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);
+                                    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 GetConsensusParamsRequest message. Also converts values to other types if specified.
+                         * Creates a plain object from a WaitForStateTransitionResultRequest message. Also converts values to other types if specified.
                          * @function toObject
-                         * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest
+                         * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest
                          * @static
-                         * @param {org.dash.platform.dapi.v0.GetConsensusParamsRequest} message GetConsensusParamsRequest
+                         * @param {org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest} message WaitForStateTransitionResultRequest
                          * @param {$protobuf.IConversionOptions} [options] Conversion options
                          * @returns {Object.} Plain object
                          */
-                        GetConsensusParamsRequest.toObject = function toObject(message, options) {
+                        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.GetConsensusParamsRequest.GetConsensusParamsRequestV0.toObject(message.v0, options);
+                                object.v0 = $root.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.toObject(message.v0, options);
                                 if (options.oneofs)
                                     object.version = "v0";
                             }
@@ -22037,35 +22620,35 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Converts this GetConsensusParamsRequest to JSON.
+                         * Converts this WaitForStateTransitionResultRequest to JSON.
                          * @function toJSON
-                         * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest
+                         * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest
                          * @instance
                          * @returns {Object.} JSON object
                          */
-                        GetConsensusParamsRequest.prototype.toJSON = function toJSON() {
+                        WaitForStateTransitionResultRequest.prototype.toJSON = function toJSON() {
                             return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
                         };
 
-                        GetConsensusParamsRequest.GetConsensusParamsRequestV0 = (function() {
+                        WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0 = (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
+                             * 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 GetConsensusParamsRequestV0.
-                             * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest
-                             * @classdesc Represents a GetConsensusParamsRequestV0.
-                             * @implements IGetConsensusParamsRequestV0
+                             * Constructs a new WaitForStateTransitionResultRequestV0.
+                             * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest
+                             * @classdesc Represents a WaitForStateTransitionResultRequestV0.
+                             * @implements IWaitForStateTransitionResultRequestV0
                              * @constructor
-                             * @param {org.dash.platform.dapi.v0.GetConsensusParamsRequest.IGetConsensusParamsRequestV0=} [properties] Properties to set
+                             * @param {org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.IWaitForStateTransitionResultRequestV0=} [properties] Properties to set
                              */
-                            function GetConsensusParamsRequestV0(properties) {
+                            function WaitForStateTransitionResultRequestV0(properties) {
                                 if (properties)
                                     for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
                                         if (properties[keys[i]] != null)
@@ -22073,85 +22656,85 @@ $root.org = (function() {
                             }
 
                             /**
-                             * GetConsensusParamsRequestV0 height.
-                             * @member {number} height
-                             * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0
+                             * WaitForStateTransitionResultRequestV0 stateTransitionHash.
+                             * @member {Uint8Array} stateTransitionHash
+                             * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0
                              * @instance
                              */
-                            GetConsensusParamsRequestV0.prototype.height = 0;
+                            WaitForStateTransitionResultRequestV0.prototype.stateTransitionHash = $util.newBuffer([]);
 
                             /**
-                             * GetConsensusParamsRequestV0 prove.
+                             * WaitForStateTransitionResultRequestV0 prove.
                              * @member {boolean} prove
-                             * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0
+                             * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0
                              * @instance
                              */
-                            GetConsensusParamsRequestV0.prototype.prove = false;
+                            WaitForStateTransitionResultRequestV0.prototype.prove = false;
 
                             /**
-                             * Creates a new GetConsensusParamsRequestV0 instance using the specified properties.
+                             * Creates a new WaitForStateTransitionResultRequestV0 instance using the specified properties.
                              * @function create
-                             * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0
+                             * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetConsensusParamsRequest.IGetConsensusParamsRequestV0=} [properties] Properties to set
-                             * @returns {org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0} GetConsensusParamsRequestV0 instance
+                             * @param {org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.IWaitForStateTransitionResultRequestV0=} [properties] Properties to set
+                             * @returns {org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0} WaitForStateTransitionResultRequestV0 instance
                              */
-                            GetConsensusParamsRequestV0.create = function create(properties) {
-                                return new GetConsensusParamsRequestV0(properties);
+                            WaitForStateTransitionResultRequestV0.create = function create(properties) {
+                                return new WaitForStateTransitionResultRequestV0(properties);
                             };
 
                             /**
-                             * Encodes the specified GetConsensusParamsRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.verify|verify} messages.
+                             * 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.GetConsensusParamsRequest.GetConsensusParamsRequestV0
+                             * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetConsensusParamsRequest.IGetConsensusParamsRequestV0} message GetConsensusParamsRequestV0 message or plain object to encode
+                             * @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
                              */
-                            GetConsensusParamsRequestV0.encode = function encode(message, writer) {
+                            WaitForStateTransitionResultRequestV0.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.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 GetConsensusParamsRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.verify|verify} messages.
+                             * 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.GetConsensusParamsRequest.GetConsensusParamsRequestV0
+                             * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetConsensusParamsRequest.IGetConsensusParamsRequestV0} message GetConsensusParamsRequestV0 message or plain object to encode
+                             * @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
                              */
-                            GetConsensusParamsRequestV0.encodeDelimited = function encodeDelimited(message, writer) {
+                            WaitForStateTransitionResultRequestV0.encodeDelimited = function encodeDelimited(message, writer) {
                                 return this.encode(message, writer).ldelim();
                             };
 
                             /**
-                             * Decodes a GetConsensusParamsRequestV0 message from the specified reader or buffer.
+                             * Decodes a WaitForStateTransitionResultRequestV0 message from the specified reader or buffer.
                              * @function decode
-                             * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0
+                             * @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.GetConsensusParamsRequest.GetConsensusParamsRequestV0} GetConsensusParamsRequestV0
+                             * @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
                              */
-                            GetConsensusParamsRequestV0.decode = function decode(reader, length) {
+                            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.GetConsensusParamsRequest.GetConsensusParamsRequestV0();
+                                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.height = reader.int32();
+                                        message.stateTransitionHash = reader.bytes();
                                         break;
                                     case 2:
                                         message.prove = reader.bool();
@@ -22165,35 +22748,35 @@ $root.org = (function() {
                             };
 
                             /**
-                             * Decodes a GetConsensusParamsRequestV0 message from the specified reader or buffer, length delimited.
+                             * Decodes a WaitForStateTransitionResultRequestV0 message from the specified reader or buffer, length delimited.
                              * @function decodeDelimited
-                             * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0
+                             * @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.GetConsensusParamsRequest.GetConsensusParamsRequestV0} GetConsensusParamsRequestV0
+                             * @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
                              */
-                            GetConsensusParamsRequestV0.decodeDelimited = function decodeDelimited(reader) {
+                            WaitForStateTransitionResultRequestV0.decodeDelimited = function decodeDelimited(reader) {
                                 if (!(reader instanceof $Reader))
                                     reader = new $Reader(reader);
                                 return this.decode(reader, reader.uint32());
                             };
 
                             /**
-                             * Verifies a GetConsensusParamsRequestV0 message.
+                             * Verifies a WaitForStateTransitionResultRequestV0 message.
                              * @function verify
-                             * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0
+                             * @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
                              */
-                            GetConsensusParamsRequestV0.verify = function verify(message) {
+                            WaitForStateTransitionResultRequestV0.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.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";
@@ -22201,83 +22784,92 @@ $root.org = (function() {
                             };
 
                             /**
-                             * Creates a GetConsensusParamsRequestV0 message from a plain object. Also converts values to their respective internal types.
+                             * Creates a WaitForStateTransitionResultRequestV0 message from a plain object. Also converts values to their respective internal types.
                              * @function fromObject
-                             * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0
+                             * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0
                              * @static
                              * @param {Object.} object Plain object
-                             * @returns {org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0} GetConsensusParamsRequestV0
+                             * @returns {org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0} WaitForStateTransitionResultRequestV0
                              */
-                            GetConsensusParamsRequestV0.fromObject = function fromObject(object) {
-                                if (object instanceof $root.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0)
+                            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.GetConsensusParamsRequest.GetConsensusParamsRequestV0();
-                                if (object.height != null)
-                                    message.height = object.height | 0;
+                                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 GetConsensusParamsRequestV0 message. Also converts values to other types if specified.
+                             * Creates a plain object from a WaitForStateTransitionResultRequestV0 message. Also converts values to other types if specified.
                              * @function toObject
-                             * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0
+                             * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0} message GetConsensusParamsRequestV0
+                             * @param {org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0} message WaitForStateTransitionResultRequestV0
                              * @param {$protobuf.IConversionOptions} [options] Conversion options
                              * @returns {Object.} Plain object
                              */
-                            GetConsensusParamsRequestV0.toObject = function toObject(message, options) {
+                            WaitForStateTransitionResultRequestV0.toObject = function toObject(message, options) {
                                 if (!options)
                                     options = {};
                                 var object = {};
                                 if (options.defaults) {
-                                    object.height = 0;
+                                    if (options.bytes === String)
+                                        object.stateTransitionHash = "";
+                                    else {
+                                        object.stateTransitionHash = [];
+                                        if (options.bytes !== Array)
+                                            object.stateTransitionHash = $util.newBuffer(object.stateTransitionHash);
+                                    }
                                     object.prove = false;
                                 }
-                                if (message.height != null && message.hasOwnProperty("height"))
-                                    object.height = message.height;
+                                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 GetConsensusParamsRequestV0 to JSON.
+                             * Converts this WaitForStateTransitionResultRequestV0 to JSON.
                              * @function toJSON
-                             * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0
+                             * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0
                              * @instance
                              * @returns {Object.} JSON object
                              */
-                            GetConsensusParamsRequestV0.prototype.toJSON = function toJSON() {
+                            WaitForStateTransitionResultRequestV0.prototype.toJSON = function toJSON() {
                                 return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
                             };
 
-                            return GetConsensusParamsRequestV0;
+                            return WaitForStateTransitionResultRequestV0;
                         })();
 
-                        return GetConsensusParamsRequest;
+                        return WaitForStateTransitionResultRequest;
                     })();
 
-                    v0.GetConsensusParamsResponse = (function() {
+                    v0.WaitForStateTransitionResultResponse = (function() {
 
                         /**
-                         * Properties of a GetConsensusParamsResponse.
+                         * Properties of a WaitForStateTransitionResultResponse.
                          * @memberof org.dash.platform.dapi.v0
-                         * @interface IGetConsensusParamsResponse
-                         * @property {org.dash.platform.dapi.v0.GetConsensusParamsResponse.IGetConsensusParamsResponseV0|null} [v0] GetConsensusParamsResponse v0
+                         * @interface IWaitForStateTransitionResultResponse
+                         * @property {org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.IWaitForStateTransitionResultResponseV0|null} [v0] WaitForStateTransitionResultResponse v0
                          */
 
                         /**
-                         * Constructs a new GetConsensusParamsResponse.
+                         * Constructs a new WaitForStateTransitionResultResponse.
                          * @memberof org.dash.platform.dapi.v0
-                         * @classdesc Represents a GetConsensusParamsResponse.
-                         * @implements IGetConsensusParamsResponse
+                         * @classdesc Represents a WaitForStateTransitionResultResponse.
+                         * @implements IWaitForStateTransitionResultResponse
                          * @constructor
-                         * @param {org.dash.platform.dapi.v0.IGetConsensusParamsResponse=} [properties] Properties to set
+                         * @param {org.dash.platform.dapi.v0.IWaitForStateTransitionResultResponse=} [properties] Properties to set
                          */
-                        function GetConsensusParamsResponse(properties) {
+                        function WaitForStateTransitionResultResponse(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
                                     if (properties[keys[i]] != null)
@@ -22285,89 +22877,89 @@ $root.org = (function() {
                         }
 
                         /**
-                         * GetConsensusParamsResponse v0.
-                         * @member {org.dash.platform.dapi.v0.GetConsensusParamsResponse.IGetConsensusParamsResponseV0|null|undefined} v0
-                         * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse
+                         * WaitForStateTransitionResultResponse v0.
+                         * @member {org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.IWaitForStateTransitionResultResponseV0|null|undefined} v0
+                         * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse
                          * @instance
                          */
-                        GetConsensusParamsResponse.prototype.v0 = null;
+                        WaitForStateTransitionResultResponse.prototype.v0 = null;
 
                         // OneOf field names bound to virtual getters and setters
                         var $oneOfFields;
 
                         /**
-                         * GetConsensusParamsResponse version.
+                         * WaitForStateTransitionResultResponse version.
                          * @member {"v0"|undefined} version
-                         * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse
+                         * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse
                          * @instance
                          */
-                        Object.defineProperty(GetConsensusParamsResponse.prototype, "version", {
+                        Object.defineProperty(WaitForStateTransitionResultResponse.prototype, "version", {
                             get: $util.oneOfGetter($oneOfFields = ["v0"]),
                             set: $util.oneOfSetter($oneOfFields)
                         });
 
                         /**
-                         * Creates a new GetConsensusParamsResponse instance using the specified properties.
+                         * Creates a new WaitForStateTransitionResultResponse instance using the specified properties.
                          * @function create
-                         * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse
+                         * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse
                          * @static
-                         * @param {org.dash.platform.dapi.v0.IGetConsensusParamsResponse=} [properties] Properties to set
-                         * @returns {org.dash.platform.dapi.v0.GetConsensusParamsResponse} GetConsensusParamsResponse instance
+                         * @param {org.dash.platform.dapi.v0.IWaitForStateTransitionResultResponse=} [properties] Properties to set
+                         * @returns {org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse} WaitForStateTransitionResultResponse instance
                          */
-                        GetConsensusParamsResponse.create = function create(properties) {
-                            return new GetConsensusParamsResponse(properties);
+                        WaitForStateTransitionResultResponse.create = function create(properties) {
+                            return new WaitForStateTransitionResultResponse(properties);
                         };
 
                         /**
-                         * Encodes the specified GetConsensusParamsResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetConsensusParamsResponse.verify|verify} messages.
+                         * Encodes the specified WaitForStateTransitionResultResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.verify|verify} messages.
                          * @function encode
-                         * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse
+                         * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse
                          * @static
-                         * @param {org.dash.platform.dapi.v0.IGetConsensusParamsResponse} message GetConsensusParamsResponse message or plain object to encode
+                         * @param {org.dash.platform.dapi.v0.IWaitForStateTransitionResultResponse} message WaitForStateTransitionResultResponse message or plain object to encode
                          * @param {$protobuf.Writer} [writer] Writer to encode to
                          * @returns {$protobuf.Writer} Writer
                          */
-                        GetConsensusParamsResponse.encode = function encode(message, writer) {
+                        WaitForStateTransitionResultResponse.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.GetConsensusParamsResponse.GetConsensusParamsResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+                                $root.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
                             return writer;
                         };
 
                         /**
-                         * Encodes the specified GetConsensusParamsResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetConsensusParamsResponse.verify|verify} messages.
+                         * Encodes the specified WaitForStateTransitionResultResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.verify|verify} messages.
                          * @function encodeDelimited
-                         * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse
+                         * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse
                          * @static
-                         * @param {org.dash.platform.dapi.v0.IGetConsensusParamsResponse} message GetConsensusParamsResponse message or plain object to encode
+                         * @param {org.dash.platform.dapi.v0.IWaitForStateTransitionResultResponse} message WaitForStateTransitionResultResponse message or plain object to encode
                          * @param {$protobuf.Writer} [writer] Writer to encode to
                          * @returns {$protobuf.Writer} Writer
                          */
-                        GetConsensusParamsResponse.encodeDelimited = function encodeDelimited(message, writer) {
+                        WaitForStateTransitionResultResponse.encodeDelimited = function encodeDelimited(message, writer) {
                             return this.encode(message, writer).ldelim();
                         };
 
                         /**
-                         * Decodes a GetConsensusParamsResponse message from the specified reader or buffer.
+                         * Decodes a WaitForStateTransitionResultResponse message from the specified reader or buffer.
                          * @function decode
-                         * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse
+                         * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse
                          * @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
+                         * @returns {org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse} WaitForStateTransitionResultResponse
                          * @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) {
+                        WaitForStateTransitionResultResponse.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();
+                            var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
                                 switch (tag >>> 3) {
                                 case 1:
-                                    message.v0 = $root.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.decode(reader, reader.uint32());
+                                    message.v0 = $root.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.decode(reader, reader.uint32());
                                     break;
                                 default:
                                     reader.skipType(tag & 7);
@@ -22378,37 +22970,37 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Decodes a GetConsensusParamsResponse message from the specified reader or buffer, length delimited.
+                         * Decodes a WaitForStateTransitionResultResponse message from the specified reader or buffer, length delimited.
                          * @function decodeDelimited
-                         * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse
+                         * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse
                          * @static
                          * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                         * @returns {org.dash.platform.dapi.v0.GetConsensusParamsResponse} GetConsensusParamsResponse
+                         * @returns {org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse} WaitForStateTransitionResultResponse
                          * @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) {
+                        WaitForStateTransitionResultResponse.decodeDelimited = function decodeDelimited(reader) {
                             if (!(reader instanceof $Reader))
                                 reader = new $Reader(reader);
                             return this.decode(reader, reader.uint32());
                         };
 
                         /**
-                         * Verifies a GetConsensusParamsResponse message.
+                         * Verifies a WaitForStateTransitionResultResponse message.
                          * @function verify
-                         * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse
+                         * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse
                          * @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) {
+                        WaitForStateTransitionResultResponse.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.GetConsensusParamsResponse.GetConsensusParamsResponseV0.verify(message.v0);
+                                    var error = $root.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.verify(message.v0);
                                     if (error)
                                         return "v0." + error;
                                 }
@@ -22417,40 +23009,40 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Creates a GetConsensusParamsResponse message from a plain object. Also converts values to their respective internal types.
+                         * Creates a WaitForStateTransitionResultResponse message from a plain object. Also converts values to their respective internal types.
                          * @function fromObject
-                         * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse
+                         * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse
                          * @static
                          * @param {Object.} object Plain object
-                         * @returns {org.dash.platform.dapi.v0.GetConsensusParamsResponse} GetConsensusParamsResponse
+                         * @returns {org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse} WaitForStateTransitionResultResponse
                          */
-                        GetConsensusParamsResponse.fromObject = function fromObject(object) {
-                            if (object instanceof $root.org.dash.platform.dapi.v0.GetConsensusParamsResponse)
+                        WaitForStateTransitionResultResponse.fromObject = function fromObject(object) {
+                            if (object instanceof $root.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse)
                                 return object;
-                            var message = new $root.org.dash.platform.dapi.v0.GetConsensusParamsResponse();
+                            var message = new $root.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse();
                             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);
+                                    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 GetConsensusParamsResponse message. Also converts values to other types if specified.
+                         * Creates a plain object from a WaitForStateTransitionResultResponse message. Also converts values to other types if specified.
                          * @function toObject
-                         * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse
+                         * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse
                          * @static
-                         * @param {org.dash.platform.dapi.v0.GetConsensusParamsResponse} message GetConsensusParamsResponse
+                         * @param {org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse} message WaitForStateTransitionResultResponse
                          * @param {$protobuf.IConversionOptions} [options] Conversion options
                          * @returns {Object.} Plain object
                          */
-                        GetConsensusParamsResponse.toObject = function toObject(message, options) {
+                        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.GetConsensusParamsResponse.GetConsensusParamsResponseV0.toObject(message.v0, options);
+                                object.v0 = $root.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.toObject(message.v0, options);
                                 if (options.oneofs)
                                     object.version = "v0";
                             }
@@ -22458,36 +23050,36 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Converts this GetConsensusParamsResponse to JSON.
+                         * Converts this WaitForStateTransitionResultResponse to JSON.
                          * @function toJSON
-                         * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse
+                         * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse
                          * @instance
                          * @returns {Object.} JSON object
                          */
-                        GetConsensusParamsResponse.prototype.toJSON = function toJSON() {
+                        WaitForStateTransitionResultResponse.prototype.toJSON = function toJSON() {
                             return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
                         };
 
-                        GetConsensusParamsResponse.ConsensusParamsBlock = (function() {
+                        WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0 = (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 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 ConsensusParamsBlock.
-                             * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse
-                             * @classdesc Represents a ConsensusParamsBlock.
-                             * @implements IConsensusParamsBlock
+                             * Constructs a new WaitForStateTransitionResultResponseV0.
+                             * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse
+                             * @classdesc Represents a WaitForStateTransitionResultResponseV0.
+                             * @implements IWaitForStateTransitionResultResponseV0
                              * @constructor
-                             * @param {org.dash.platform.dapi.v0.GetConsensusParamsResponse.IConsensusParamsBlock=} [properties] Properties to set
+                             * @param {org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.IWaitForStateTransitionResultResponseV0=} [properties] Properties to set
                              */
-                            function ConsensusParamsBlock(properties) {
+                            function WaitForStateTransitionResultResponseV0(properties) {
                                 if (properties)
                                     for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
                                         if (properties[keys[i]] != null)
@@ -22495,101 +23087,115 @@ $root.org = (function() {
                             }
 
                             /**
-                             * ConsensusParamsBlock maxBytes.
-                             * @member {string} maxBytes
-                             * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock
+                             * WaitForStateTransitionResultResponseV0 error.
+                             * @member {org.dash.platform.dapi.v0.IStateTransitionBroadcastError|null|undefined} error
+                             * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0
                              * @instance
                              */
-                            ConsensusParamsBlock.prototype.maxBytes = "";
+                            WaitForStateTransitionResultResponseV0.prototype.error = null;
 
                             /**
-                             * ConsensusParamsBlock maxGas.
-                             * @member {string} maxGas
-                             * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock
+                             * WaitForStateTransitionResultResponseV0 proof.
+                             * @member {org.dash.platform.dapi.v0.IProof|null|undefined} proof
+                             * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0
                              * @instance
                              */
-                            ConsensusParamsBlock.prototype.maxGas = "";
+                            WaitForStateTransitionResultResponseV0.prototype.proof = null;
 
                             /**
-                             * ConsensusParamsBlock timeIotaMs.
-                             * @member {string} timeIotaMs
-                             * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock
+                             * WaitForStateTransitionResultResponseV0 metadata.
+                             * @member {org.dash.platform.dapi.v0.IResponseMetadata|null|undefined} metadata
+                             * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0
                              * @instance
                              */
-                            ConsensusParamsBlock.prototype.timeIotaMs = "";
+                            WaitForStateTransitionResultResponseV0.prototype.metadata = null;
+
+                            // OneOf field names bound to virtual getters and setters
+                            var $oneOfFields;
 
                             /**
-                             * Creates a new ConsensusParamsBlock instance using the specified properties.
+                             * 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.GetConsensusParamsResponse.ConsensusParamsBlock
+                             * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetConsensusParamsResponse.IConsensusParamsBlock=} [properties] Properties to set
-                             * @returns {org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock} ConsensusParamsBlock instance
+                             * @param {org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.IWaitForStateTransitionResultResponseV0=} [properties] Properties to set
+                             * @returns {org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} WaitForStateTransitionResultResponseV0 instance
                              */
-                            ConsensusParamsBlock.create = function create(properties) {
-                                return new ConsensusParamsBlock(properties);
+                            WaitForStateTransitionResultResponseV0.create = function create(properties) {
+                                return new WaitForStateTransitionResultResponseV0(properties);
                             };
 
                             /**
-                             * Encodes the specified ConsensusParamsBlock message. Does not implicitly {@link org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.verify|verify} messages.
+                             * 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.GetConsensusParamsResponse.ConsensusParamsBlock
+                             * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetConsensusParamsResponse.IConsensusParamsBlock} message ConsensusParamsBlock message or plain object to encode
+                             * @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
                              */
-                            ConsensusParamsBlock.encode = function encode(message, writer) {
+                            WaitForStateTransitionResultResponseV0.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.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 ConsensusParamsBlock message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.verify|verify} messages.
+                             * 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.GetConsensusParamsResponse.ConsensusParamsBlock
+                             * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetConsensusParamsResponse.IConsensusParamsBlock} message ConsensusParamsBlock message or plain object to encode
+                             * @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
                              */
-                            ConsensusParamsBlock.encodeDelimited = function encodeDelimited(message, writer) {
+                            WaitForStateTransitionResultResponseV0.encodeDelimited = function encodeDelimited(message, writer) {
                                 return this.encode(message, writer).ldelim();
                             };
 
                             /**
-                             * Decodes a ConsensusParamsBlock message from the specified reader or buffer.
+                             * Decodes a WaitForStateTransitionResultResponseV0 message from the specified reader or buffer.
                              * @function decode
-                             * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock
+                             * @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.GetConsensusParamsResponse.ConsensusParamsBlock} ConsensusParamsBlock
+                             * @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
                              */
-                            ConsensusParamsBlock.decode = function decode(reader, length) {
+                            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.GetConsensusParamsResponse.ConsensusParamsBlock();
+                                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.maxBytes = reader.string();
+                                        message.error = $root.org.dash.platform.dapi.v0.StateTransitionBroadcastError.decode(reader, reader.uint32());
                                         break;
                                     case 2:
-                                        message.maxGas = reader.string();
+                                        message.proof = $root.org.dash.platform.dapi.v0.Proof.decode(reader, reader.uint32());
                                         break;
                                     case 3:
-                                        message.timeIotaMs = reader.string();
+                                        message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.decode(reader, reader.uint32());
                                         break;
                                     default:
                                         reader.skipType(tag & 7);
@@ -22600,357 +23206,363 @@ $root.org = (function() {
                             };
 
                             /**
-                             * Decodes a ConsensusParamsBlock message from the specified reader or buffer, length delimited.
+                             * Decodes a WaitForStateTransitionResultResponseV0 message from the specified reader or buffer, length delimited.
                              * @function decodeDelimited
-                             * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock
+                             * @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.GetConsensusParamsResponse.ConsensusParamsBlock} ConsensusParamsBlock
+                             * @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
                              */
-                            ConsensusParamsBlock.decodeDelimited = function decodeDelimited(reader) {
+                            WaitForStateTransitionResultResponseV0.decodeDelimited = function decodeDelimited(reader) {
                                 if (!(reader instanceof $Reader))
                                     reader = new $Reader(reader);
                                 return this.decode(reader, reader.uint32());
                             };
 
                             /**
-                             * Verifies a ConsensusParamsBlock message.
+                             * Verifies a WaitForStateTransitionResultResponseV0 message.
                              * @function verify
-                             * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock
+                             * @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
                              */
-                            ConsensusParamsBlock.verify = function verify(message) {
+                            WaitForStateTransitionResultResponseV0.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.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 ConsensusParamsBlock message from a plain object. Also converts values to their respective internal types.
+                             * Creates a WaitForStateTransitionResultResponseV0 message from a plain object. Also converts values to their respective internal types.
                              * @function fromObject
-                             * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock
+                             * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0
                              * @static
                              * @param {Object.} object Plain object
-                             * @returns {org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock} ConsensusParamsBlock
+                             * @returns {org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} WaitForStateTransitionResultResponseV0
                              */
-                            ConsensusParamsBlock.fromObject = function fromObject(object) {
-                                if (object instanceof $root.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock)
+                            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.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);
+                                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 ConsensusParamsBlock message. Also converts values to other types if specified.
+                             * Creates a plain object from a WaitForStateTransitionResultResponseV0 message. Also converts values to other types if specified.
                              * @function toObject
-                             * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock
+                             * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock} message ConsensusParamsBlock
+                             * @param {org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} message WaitForStateTransitionResultResponseV0
                              * @param {$protobuf.IConversionOptions} [options] Conversion options
                              * @returns {Object.} Plain object
                              */
-                            ConsensusParamsBlock.toObject = function toObject(message, options) {
+                            WaitForStateTransitionResultResponseV0.toObject = function toObject(message, options) {
                                 if (!options)
                                     options = {};
                                 var object = {};
-                                if (options.defaults) {
-                                    object.maxBytes = "";
-                                    object.maxGas = "";
-                                    object.timeIotaMs = "";
+                                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.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;
+                                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 ConsensusParamsBlock to JSON.
+                             * Converts this WaitForStateTransitionResultResponseV0 to JSON.
                              * @function toJSON
-                             * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock
+                             * @memberof org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0
                              * @instance
                              * @returns {Object.} JSON object
                              */
-                            ConsensusParamsBlock.prototype.toJSON = function toJSON() {
+                            WaitForStateTransitionResultResponseV0.prototype.toJSON = function toJSON() {
                                 return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
                             };
 
-                            return ConsensusParamsBlock;
+                            return WaitForStateTransitionResultResponseV0;
                         })();
 
-                        GetConsensusParamsResponse.ConsensusParamsEvidence = (function() {
+                        return WaitForStateTransitionResultResponse;
+                    })();
 
-                            /**
-                             * 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
-                             */
+                    v0.GetConsensusParamsRequest = (function() {
 
-                            /**
-                             * 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]];
-                            }
+                        /**
+                         * Properties of a GetConsensusParamsRequest.
+                         * @memberof org.dash.platform.dapi.v0
+                         * @interface IGetConsensusParamsRequest
+                         * @property {org.dash.platform.dapi.v0.GetConsensusParamsRequest.IGetConsensusParamsRequestV0|null} [v0] GetConsensusParamsRequest v0
+                         */
 
-                            /**
-                             * ConsensusParamsEvidence maxAgeNumBlocks.
-                             * @member {string} maxAgeNumBlocks
-                             * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence
-                             * @instance
-                             */
-                            ConsensusParamsEvidence.prototype.maxAgeNumBlocks = "";
+                        /**
+                         * 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]];
+                        }
 
-                            /**
-                             * ConsensusParamsEvidence maxAgeDuration.
-                             * @member {string} maxAgeDuration
-                             * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence
-                             * @instance
-                             */
-                            ConsensusParamsEvidence.prototype.maxAgeDuration = "";
+                        /**
+                         * GetConsensusParamsRequest v0.
+                         * @member {org.dash.platform.dapi.v0.GetConsensusParamsRequest.IGetConsensusParamsRequestV0|null|undefined} v0
+                         * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest
+                         * @instance
+                         */
+                        GetConsensusParamsRequest.prototype.v0 = null;
 
-                            /**
-                             * ConsensusParamsEvidence maxBytes.
-                             * @member {string} maxBytes
-                             * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence
-                             * @instance
-                             */
-                            ConsensusParamsEvidence.prototype.maxBytes = "";
+                        // OneOf field names bound to virtual getters and setters
+                        var $oneOfFields;
 
-                            /**
-                             * 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);
-                            };
+                        /**
+                         * GetConsensusParamsRequest version.
+                         * @member {"v0"|undefined} version
+                         * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest
+                         * @instance
+                         */
+                        Object.defineProperty(GetConsensusParamsRequest.prototype, "version", {
+                            get: $util.oneOfGetter($oneOfFields = ["v0"]),
+                            set: $util.oneOfSetter($oneOfFields)
+                        });
 
-                            /**
-                             * 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;
-                            };
+                        /**
+                         * 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);
+                        };
 
-                            /**
-                             * 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();
-                            };
+                        /**
+                         * 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.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;
+                        };
 
-                            /**
-                             * 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;
-                            };
-
-                            /**
-                             * 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());
-                            };
+                        /**
+                         * 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();
+                        };
 
-                            /**
-                             * 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;
-                            };
+                        /**
+                         * 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.v0 = $root.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.decode(reader, reader.uint32());
+                                    break;
+                                default:
+                                    reader.skipType(tag & 7);
+                                    break;
+                                }
+                            }
+                            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;
-                            };
+                        /**
+                         * 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());
+                        };
 
-                            /**
-                             * 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 = "";
+                        /**
+                         * 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";
+                            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;
                                 }
-                                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 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.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;
+                        };
 
-                            /**
-                             * 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);
-                            };
+                        /**
+                         * 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 (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";
+                            }
+                            return object;
+                        };
 
-                            return ConsensusParamsEvidence;
-                        })();
+                        /**
+                         * 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);
+                        };
 
-                        GetConsensusParamsResponse.GetConsensusParamsResponseV0 = (function() {
+                        GetConsensusParamsRequest.GetConsensusParamsRequestV0 = (function() {
 
                             /**
-                             * 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
+                             * 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 GetConsensusParamsResponseV0.
-                             * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse
-                             * @classdesc Represents a GetConsensusParamsResponseV0.
-                             * @implements IGetConsensusParamsResponseV0
+                             * Constructs a new GetConsensusParamsRequestV0.
+                             * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest
+                             * @classdesc Represents a GetConsensusParamsRequestV0.
+                             * @implements IGetConsensusParamsRequestV0
                              * @constructor
-                             * @param {org.dash.platform.dapi.v0.GetConsensusParamsResponse.IGetConsensusParamsResponseV0=} [properties] Properties to set
+                             * @param {org.dash.platform.dapi.v0.GetConsensusParamsRequest.IGetConsensusParamsRequestV0=} [properties] Properties to set
                              */
-                            function GetConsensusParamsResponseV0(properties) {
+                            function GetConsensusParamsRequestV0(properties) {
                                 if (properties)
                                     for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
                                         if (properties[keys[i]] != null)
@@ -22958,88 +23570,88 @@ $root.org = (function() {
                             }
 
                             /**
-                             * GetConsensusParamsResponseV0 block.
-                             * @member {org.dash.platform.dapi.v0.GetConsensusParamsResponse.IConsensusParamsBlock|null|undefined} block
-                             * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0
+                             * GetConsensusParamsRequestV0 height.
+                             * @member {number} height
+                             * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0
                              * @instance
                              */
-                            GetConsensusParamsResponseV0.prototype.block = null;
+                            GetConsensusParamsRequestV0.prototype.height = 0;
 
                             /**
-                             * GetConsensusParamsResponseV0 evidence.
-                             * @member {org.dash.platform.dapi.v0.GetConsensusParamsResponse.IConsensusParamsEvidence|null|undefined} evidence
-                             * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0
+                             * GetConsensusParamsRequestV0 prove.
+                             * @member {boolean} prove
+                             * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0
                              * @instance
                              */
-                            GetConsensusParamsResponseV0.prototype.evidence = null;
+                            GetConsensusParamsRequestV0.prototype.prove = false;
 
                             /**
-                             * Creates a new GetConsensusParamsResponseV0 instance using the specified properties.
+                             * Creates a new GetConsensusParamsRequestV0 instance using the specified properties.
                              * @function create
-                             * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetConsensusParamsResponse.IGetConsensusParamsResponseV0=} [properties] Properties to set
-                             * @returns {org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0} GetConsensusParamsResponseV0 instance
+                             * @param {org.dash.platform.dapi.v0.GetConsensusParamsRequest.IGetConsensusParamsRequestV0=} [properties] Properties to set
+                             * @returns {org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0} GetConsensusParamsRequestV0 instance
                              */
-                            GetConsensusParamsResponseV0.create = function create(properties) {
-                                return new GetConsensusParamsResponseV0(properties);
+                            GetConsensusParamsRequestV0.create = function create(properties) {
+                                return new GetConsensusParamsRequestV0(properties);
                             };
 
                             /**
-                             * Encodes the specified GetConsensusParamsResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.verify|verify} messages.
+                             * 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.GetConsensusParamsResponse.GetConsensusParamsResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetConsensusParamsResponse.IGetConsensusParamsResponseV0} message GetConsensusParamsResponseV0 message or plain object to encode
+                             * @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
                              */
-                            GetConsensusParamsResponseV0.encode = function encode(message, writer) {
+                            GetConsensusParamsRequestV0.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();
+                                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 GetConsensusParamsResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.verify|verify} messages.
+                             * 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.GetConsensusParamsResponse.GetConsensusParamsResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetConsensusParamsResponse.IGetConsensusParamsResponseV0} message GetConsensusParamsResponseV0 message or plain object to encode
+                             * @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
                              */
-                            GetConsensusParamsResponseV0.encodeDelimited = function encodeDelimited(message, writer) {
+                            GetConsensusParamsRequestV0.encodeDelimited = function encodeDelimited(message, writer) {
                                 return this.encode(message, writer).ldelim();
                             };
 
                             /**
-                             * Decodes a GetConsensusParamsResponseV0 message from the specified reader or buffer.
+                             * Decodes a GetConsensusParamsRequestV0 message from the specified reader or buffer.
                              * @function decode
-                             * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0
+                             * @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.GetConsensusParamsResponse.GetConsensusParamsResponseV0} GetConsensusParamsResponseV0
+                             * @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
                              */
-                            GetConsensusParamsResponseV0.decode = function decode(reader, length) {
+                            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.GetConsensusParamsResponse.GetConsensusParamsResponseV0();
+                                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.block = $root.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.decode(reader, reader.uint32());
+                                        message.height = reader.int32();
                                         break;
                                     case 2:
-                                        message.evidence = $root.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.decode(reader, reader.uint32());
+                                        message.prove = reader.bool();
                                         break;
                                     default:
                                         reader.skipType(tag & 7);
@@ -23050,129 +23662,119 @@ $root.org = (function() {
                             };
 
                             /**
-                             * Decodes a GetConsensusParamsResponseV0 message from the specified reader or buffer, length delimited.
+                             * Decodes a GetConsensusParamsRequestV0 message from the specified reader or buffer, length delimited.
                              * @function decodeDelimited
-                             * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0
+                             * @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.GetConsensusParamsResponse.GetConsensusParamsResponseV0} GetConsensusParamsResponseV0
+                             * @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
                              */
-                            GetConsensusParamsResponseV0.decodeDelimited = function decodeDelimited(reader) {
+                            GetConsensusParamsRequestV0.decodeDelimited = function decodeDelimited(reader) {
                                 if (!(reader instanceof $Reader))
                                     reader = new $Reader(reader);
                                 return this.decode(reader, reader.uint32());
                             };
 
                             /**
-                             * Verifies a GetConsensusParamsResponseV0 message.
+                             * Verifies a GetConsensusParamsRequestV0 message.
                              * @function verify
-                             * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0
+                             * @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
                              */
-                            GetConsensusParamsResponseV0.verify = function verify(message) {
+                            GetConsensusParamsRequestV0.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;
-                                }
+                                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 GetConsensusParamsResponseV0 message from a plain object. Also converts values to their respective internal types.
+                             * Creates a GetConsensusParamsRequestV0 message from a plain object. Also converts values to their respective internal types.
                              * @function fromObject
-                             * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0
                              * @static
                              * @param {Object.} object Plain object
-                             * @returns {org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0} GetConsensusParamsResponseV0
+                             * @returns {org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0} GetConsensusParamsRequestV0
                              */
-                            GetConsensusParamsResponseV0.fromObject = function fromObject(object) {
-                                if (object instanceof $root.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0)
+                            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.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);
-                                }
+                                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 GetConsensusParamsResponseV0 message. Also converts values to other types if specified.
+                             * Creates a plain object from a GetConsensusParamsRequestV0 message. Also converts values to other types if specified.
                              * @function toObject
-                             * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0} message GetConsensusParamsResponseV0
+                             * @param {org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0} message GetConsensusParamsRequestV0
                              * @param {$protobuf.IConversionOptions} [options] Conversion options
                              * @returns {Object.} Plain object
                              */
-                            GetConsensusParamsResponseV0.toObject = function toObject(message, options) {
+                            GetConsensusParamsRequestV0.toObject = function toObject(message, options) {
                                 if (!options)
                                     options = {};
                                 var object = {};
                                 if (options.defaults) {
-                                    object.block = null;
-                                    object.evidence = null;
+                                    object.height = 0;
+                                    object.prove = false;
                                 }
-                                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);
+                                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 GetConsensusParamsResponseV0 to JSON.
+                             * Converts this GetConsensusParamsRequestV0 to JSON.
                              * @function toJSON
-                             * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0
                              * @instance
                              * @returns {Object.} JSON object
                              */
-                            GetConsensusParamsResponseV0.prototype.toJSON = function toJSON() {
+                            GetConsensusParamsRequestV0.prototype.toJSON = function toJSON() {
                                 return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
                             };
 
-                            return GetConsensusParamsResponseV0;
+                            return GetConsensusParamsRequestV0;
                         })();
 
-                        return GetConsensusParamsResponse;
+                        return GetConsensusParamsRequest;
                     })();
 
-                    v0.GetProtocolVersionUpgradeStateRequest = (function() {
+                    v0.GetConsensusParamsResponse = (function() {
 
                         /**
-                         * Properties of a GetProtocolVersionUpgradeStateRequest.
+                         * Properties of a GetConsensusParamsResponse.
                          * @memberof org.dash.platform.dapi.v0
-                         * @interface IGetProtocolVersionUpgradeStateRequest
-                         * @property {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.IGetProtocolVersionUpgradeStateRequestV0|null} [v0] GetProtocolVersionUpgradeStateRequest v0
+                         * @interface IGetConsensusParamsResponse
+                         * @property {org.dash.platform.dapi.v0.GetConsensusParamsResponse.IGetConsensusParamsResponseV0|null} [v0] GetConsensusParamsResponse v0
                          */
 
                         /**
-                         * Constructs a new GetProtocolVersionUpgradeStateRequest.
+                         * Constructs a new GetConsensusParamsResponse.
                          * @memberof org.dash.platform.dapi.v0
-                         * @classdesc Represents a GetProtocolVersionUpgradeStateRequest.
-                         * @implements IGetProtocolVersionUpgradeStateRequest
+                         * @classdesc Represents a GetConsensusParamsResponse.
+                         * @implements IGetConsensusParamsResponse
                          * @constructor
-                         * @param {org.dash.platform.dapi.v0.IGetProtocolVersionUpgradeStateRequest=} [properties] Properties to set
+                         * @param {org.dash.platform.dapi.v0.IGetConsensusParamsResponse=} [properties] Properties to set
                          */
-                        function GetProtocolVersionUpgradeStateRequest(properties) {
+                        function GetConsensusParamsResponse(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
                                     if (properties[keys[i]] != null)
@@ -23180,89 +23782,89 @@ $root.org = (function() {
                         }
 
                         /**
-                         * GetProtocolVersionUpgradeStateRequest v0.
-                         * @member {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.IGetProtocolVersionUpgradeStateRequestV0|null|undefined} v0
-                         * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest
+                         * GetConsensusParamsResponse v0.
+                         * @member {org.dash.platform.dapi.v0.GetConsensusParamsResponse.IGetConsensusParamsResponseV0|null|undefined} v0
+                         * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse
                          * @instance
                          */
-                        GetProtocolVersionUpgradeStateRequest.prototype.v0 = null;
+                        GetConsensusParamsResponse.prototype.v0 = null;
 
                         // OneOf field names bound to virtual getters and setters
                         var $oneOfFields;
 
                         /**
-                         * GetProtocolVersionUpgradeStateRequest version.
+                         * GetConsensusParamsResponse version.
                          * @member {"v0"|undefined} version
-                         * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest
+                         * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse
                          * @instance
                          */
-                        Object.defineProperty(GetProtocolVersionUpgradeStateRequest.prototype, "version", {
+                        Object.defineProperty(GetConsensusParamsResponse.prototype, "version", {
                             get: $util.oneOfGetter($oneOfFields = ["v0"]),
                             set: $util.oneOfSetter($oneOfFields)
                         });
 
                         /**
-                         * Creates a new GetProtocolVersionUpgradeStateRequest instance using the specified properties.
+                         * Creates a new GetConsensusParamsResponse instance using the specified properties.
                          * @function create
-                         * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest
+                         * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse
                          * @static
-                         * @param {org.dash.platform.dapi.v0.IGetProtocolVersionUpgradeStateRequest=} [properties] Properties to set
-                         * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest} GetProtocolVersionUpgradeStateRequest instance
+                         * @param {org.dash.platform.dapi.v0.IGetConsensusParamsResponse=} [properties] Properties to set
+                         * @returns {org.dash.platform.dapi.v0.GetConsensusParamsResponse} GetConsensusParamsResponse instance
                          */
-                        GetProtocolVersionUpgradeStateRequest.create = function create(properties) {
-                            return new GetProtocolVersionUpgradeStateRequest(properties);
+                        GetConsensusParamsResponse.create = function create(properties) {
+                            return new GetConsensusParamsResponse(properties);
                         };
 
                         /**
-                         * Encodes the specified GetProtocolVersionUpgradeStateRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.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.GetProtocolVersionUpgradeStateRequest
+                         * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse
                          * @static
-                         * @param {org.dash.platform.dapi.v0.IGetProtocolVersionUpgradeStateRequest} message GetProtocolVersionUpgradeStateRequest 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
                          */
-                        GetProtocolVersionUpgradeStateRequest.encode = function encode(message, writer) {
+                        GetConsensusParamsResponse.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.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+                                $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 GetProtocolVersionUpgradeStateRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.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.GetProtocolVersionUpgradeStateRequest
+                         * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse
                          * @static
-                         * @param {org.dash.platform.dapi.v0.IGetProtocolVersionUpgradeStateRequest} message GetProtocolVersionUpgradeStateRequest 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
                          */
-                        GetProtocolVersionUpgradeStateRequest.encodeDelimited = function encodeDelimited(message, writer) {
+                        GetConsensusParamsResponse.encodeDelimited = function encodeDelimited(message, writer) {
                             return this.encode(message, writer).ldelim();
                         };
 
                         /**
-                         * Decodes a GetProtocolVersionUpgradeStateRequest 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.GetProtocolVersionUpgradeStateRequest
+                         * @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.GetProtocolVersionUpgradeStateRequest} GetProtocolVersionUpgradeStateRequest
+                         * @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
                          */
-                        GetProtocolVersionUpgradeStateRequest.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.GetProtocolVersionUpgradeStateRequest();
+                            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.v0 = $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.decode(reader, reader.uint32());
+                                    message.v0 = $root.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.decode(reader, reader.uint32());
                                     break;
                                 default:
                                     reader.skipType(tag & 7);
@@ -23273,37 +23875,37 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Decodes a GetProtocolVersionUpgradeStateRequest 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.GetProtocolVersionUpgradeStateRequest
+                         * @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.GetProtocolVersionUpgradeStateRequest} GetProtocolVersionUpgradeStateRequest
+                         * @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
                          */
-                        GetProtocolVersionUpgradeStateRequest.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 GetProtocolVersionUpgradeStateRequest message.
+                         * Verifies a GetConsensusParamsResponse message.
                          * @function verify
-                         * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest
+                         * @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
                          */
-                        GetProtocolVersionUpgradeStateRequest.verify = function verify(message) {
+                        GetConsensusParamsResponse.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.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.verify(message.v0);
+                                    var error = $root.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.verify(message.v0);
                                     if (error)
                                         return "v0." + error;
                                 }
@@ -23312,40 +23914,40 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Creates a GetProtocolVersionUpgradeStateRequest 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.GetProtocolVersionUpgradeStateRequest
+                         * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse
                          * @static
                          * @param {Object.} object Plain object
-                         * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest} GetProtocolVersionUpgradeStateRequest
+                         * @returns {org.dash.platform.dapi.v0.GetConsensusParamsResponse} GetConsensusParamsResponse
                          */
-                        GetProtocolVersionUpgradeStateRequest.fromObject = function fromObject(object) {
-                            if (object instanceof $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest)
+                        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.GetProtocolVersionUpgradeStateRequest();
+                            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.GetProtocolVersionUpgradeStateRequest.v0: object expected");
-                                message.v0 = $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.fromObject(object.v0);
+                                    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 GetProtocolVersionUpgradeStateRequest 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.GetProtocolVersionUpgradeStateRequest
+                         * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse
                          * @static
-                         * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest} message GetProtocolVersionUpgradeStateRequest
+                         * @param {org.dash.platform.dapi.v0.GetConsensusParamsResponse} message GetConsensusParamsResponse
                          * @param {$protobuf.IConversionOptions} [options] Conversion options
                          * @returns {Object.} Plain object
                          */
-                        GetProtocolVersionUpgradeStateRequest.toObject = function toObject(message, options) {
+                        GetConsensusParamsResponse.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.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.toObject(message.v0, options);
+                                object.v0 = $root.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.toObject(message.v0, options);
                                 if (options.oneofs)
                                     object.version = "v0";
                             }
@@ -23353,34 +23955,36 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Converts this GetProtocolVersionUpgradeStateRequest to JSON.
+                         * Converts this GetConsensusParamsResponse to JSON.
                          * @function toJSON
-                         * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest
+                         * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse
                          * @instance
                          * @returns {Object.} JSON object
                          */
-                        GetProtocolVersionUpgradeStateRequest.prototype.toJSON = function toJSON() {
+                        GetConsensusParamsResponse.prototype.toJSON = function toJSON() {
                             return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
                         };
 
-                        GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0 = (function() {
+                        GetConsensusParamsResponse.ConsensusParamsBlock = (function() {
 
                             /**
-                             * Properties of a GetProtocolVersionUpgradeStateRequestV0.
-                             * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest
-                             * @interface IGetProtocolVersionUpgradeStateRequestV0
-                             * @property {boolean|null} [prove] GetProtocolVersionUpgradeStateRequestV0 prove
+                             * 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
                              */
 
                             /**
-                             * Constructs a new GetProtocolVersionUpgradeStateRequestV0.
-                             * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest
-                             * @classdesc Represents a GetProtocolVersionUpgradeStateRequestV0.
-                             * @implements IGetProtocolVersionUpgradeStateRequestV0
+                             * Constructs a new ConsensusParamsBlock.
+                             * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse
+                             * @classdesc Represents a ConsensusParamsBlock.
+                             * @implements IConsensusParamsBlock
                              * @constructor
-                             * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.IGetProtocolVersionUpgradeStateRequestV0=} [properties] Properties to set
+                             * @param {org.dash.platform.dapi.v0.GetConsensusParamsResponse.IConsensusParamsBlock=} [properties] Properties to set
                              */
-                            function GetProtocolVersionUpgradeStateRequestV0(properties) {
+                            function ConsensusParamsBlock(properties) {
                                 if (properties)
                                     for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
                                         if (properties[keys[i]] != null)
@@ -23388,75 +23992,101 @@ $root.org = (function() {
                             }
 
                             /**
-                             * GetProtocolVersionUpgradeStateRequestV0 prove.
-                             * @member {boolean} prove
-                             * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0
+                             * ConsensusParamsBlock maxBytes.
+                             * @member {string} maxBytes
+                             * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock
                              * @instance
                              */
-                            GetProtocolVersionUpgradeStateRequestV0.prototype.prove = false;
+                            ConsensusParamsBlock.prototype.maxBytes = "";
 
                             /**
-                             * Creates a new GetProtocolVersionUpgradeStateRequestV0 instance using the specified properties.
+                             * ConsensusParamsBlock maxGas.
+                             * @member {string} maxGas
+                             * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock
+                             * @instance
+                             */
+                            ConsensusParamsBlock.prototype.maxGas = "";
+
+                            /**
+                             * ConsensusParamsBlock timeIotaMs.
+                             * @member {string} timeIotaMs
+                             * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock
+                             * @instance
+                             */
+                            ConsensusParamsBlock.prototype.timeIotaMs = "";
+
+                            /**
+                             * Creates a new ConsensusParamsBlock instance using the specified properties.
                              * @function create
-                             * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.IGetProtocolVersionUpgradeStateRequestV0=} [properties] Properties to set
-                             * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0} GetProtocolVersionUpgradeStateRequestV0 instance
+                             * @param {org.dash.platform.dapi.v0.GetConsensusParamsResponse.IConsensusParamsBlock=} [properties] Properties to set
+                             * @returns {org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock} ConsensusParamsBlock instance
                              */
-                            GetProtocolVersionUpgradeStateRequestV0.create = function create(properties) {
-                                return new GetProtocolVersionUpgradeStateRequestV0(properties);
+                            ConsensusParamsBlock.create = function create(properties) {
+                                return new ConsensusParamsBlock(properties);
                             };
 
                             /**
-                             * Encodes the specified GetProtocolVersionUpgradeStateRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.verify|verify} messages.
+                             * 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.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.IGetProtocolVersionUpgradeStateRequestV0} message GetProtocolVersionUpgradeStateRequestV0 message or plain object to encode
+                             * @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
                              */
-                            GetProtocolVersionUpgradeStateRequestV0.encode = function encode(message, writer) {
+                            ConsensusParamsBlock.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);
+                                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 GetProtocolVersionUpgradeStateRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.verify|verify} messages.
+                             * 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.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.IGetProtocolVersionUpgradeStateRequestV0} message GetProtocolVersionUpgradeStateRequestV0 message or plain object to encode
+                             * @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
                              */
-                            GetProtocolVersionUpgradeStateRequestV0.encodeDelimited = function encodeDelimited(message, writer) {
+                            ConsensusParamsBlock.encodeDelimited = function encodeDelimited(message, writer) {
                                 return this.encode(message, writer).ldelim();
                             };
 
                             /**
-                             * Decodes a GetProtocolVersionUpgradeStateRequestV0 message from the specified reader or buffer.
+                             * Decodes a ConsensusParamsBlock message from the specified reader or buffer.
                              * @function decode
-                             * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0
+                             * @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.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0} GetProtocolVersionUpgradeStateRequestV0
+                             * @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
                              */
-                            GetProtocolVersionUpgradeStateRequestV0.decode = function decode(reader, length) {
+                            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.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0();
+                                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.prove = reader.bool();
+                                        message.maxBytes = reader.string();
+                                        break;
+                                    case 2:
+                                        message.maxGas = reader.string();
+                                        break;
+                                    case 3:
+                                        message.timeIotaMs = reader.string();
                                         break;
                                     default:
                                         reader.skipType(tag & 7);
@@ -23467,320 +24097,126 @@ $root.org = (function() {
                             };
 
                             /**
-                             * Decodes a GetProtocolVersionUpgradeStateRequestV0 message from the specified reader or buffer, length delimited.
+                             * Decodes a ConsensusParamsBlock message from the specified reader or buffer, length delimited.
                              * @function decodeDelimited
-                             * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0
+                             * @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.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0} GetProtocolVersionUpgradeStateRequestV0
+                             * @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
                              */
-                            GetProtocolVersionUpgradeStateRequestV0.decodeDelimited = function decodeDelimited(reader) {
+                            ConsensusParamsBlock.decodeDelimited = function decodeDelimited(reader) {
                                 if (!(reader instanceof $Reader))
                                     reader = new $Reader(reader);
                                 return this.decode(reader, reader.uint32());
                             };
 
                             /**
-                             * Verifies a GetProtocolVersionUpgradeStateRequestV0 message.
+                             * Verifies a ConsensusParamsBlock message.
                              * @function verify
-                             * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0
+                             * @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
                              */
-                            GetProtocolVersionUpgradeStateRequestV0.verify = function verify(message) {
+                            ConsensusParamsBlock.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";
+                                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 GetProtocolVersionUpgradeStateRequestV0 message from a plain object. Also converts values to their respective internal types.
+                             * Creates a ConsensusParamsBlock message from a plain object. Also converts values to their respective internal types.
                              * @function fromObject
-                             * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock
                              * @static
                              * @param {Object.} object Plain object
-                             * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0} GetProtocolVersionUpgradeStateRequestV0
+                             * @returns {org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock} ConsensusParamsBlock
                              */
-                            GetProtocolVersionUpgradeStateRequestV0.fromObject = function fromObject(object) {
-                                if (object instanceof $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0)
+                            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.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0();
-                                if (object.prove != null)
-                                    message.prove = Boolean(object.prove);
+                                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 GetProtocolVersionUpgradeStateRequestV0 message. Also converts values to other types if specified.
+                             * Creates a plain object from a ConsensusParamsBlock message. Also converts values to other types if specified.
                              * @function toObject
-                             * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0} message GetProtocolVersionUpgradeStateRequestV0
+                             * @param {org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock} message ConsensusParamsBlock
                              * @param {$protobuf.IConversionOptions} [options] Conversion options
                              * @returns {Object.} Plain object
                              */
-                            GetProtocolVersionUpgradeStateRequestV0.toObject = function toObject(message, options) {
+                            ConsensusParamsBlock.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;
+                                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 GetProtocolVersionUpgradeStateRequestV0 to JSON.
+                             * Converts this ConsensusParamsBlock to JSON.
                              * @function toJSON
-                             * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock
                              * @instance
                              * @returns {Object.} JSON object
                              */
-                            GetProtocolVersionUpgradeStateRequestV0.prototype.toJSON = function toJSON() {
+                            ConsensusParamsBlock.prototype.toJSON = function toJSON() {
                                 return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
                             };
 
-                            return GetProtocolVersionUpgradeStateRequestV0;
+                            return ConsensusParamsBlock;
                         })();
 
-                        return GetProtocolVersionUpgradeStateRequest;
-                    })();
-
-                    v0.GetProtocolVersionUpgradeStateResponse = (function() {
-
-                        /**
-                         * Properties of a GetProtocolVersionUpgradeStateResponse.
-                         * @memberof org.dash.platform.dapi.v0
-                         * @interface IGetProtocolVersionUpgradeStateResponse
-                         * @property {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.IGetProtocolVersionUpgradeStateResponseV0|null} [v0] GetProtocolVersionUpgradeStateResponse v0
-                         */
-
-                        /**
-                         * Constructs a new GetProtocolVersionUpgradeStateResponse.
-                         * @memberof org.dash.platform.dapi.v0
-                         * @classdesc Represents a GetProtocolVersionUpgradeStateResponse.
-                         * @implements IGetProtocolVersionUpgradeStateResponse
-                         * @constructor
-                         * @param {org.dash.platform.dapi.v0.IGetProtocolVersionUpgradeStateResponse=} [properties] Properties to set
-                         */
-                        function GetProtocolVersionUpgradeStateResponse(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]];
-                        }
-
-                        /**
-                         * GetProtocolVersionUpgradeStateResponse v0.
-                         * @member {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.IGetProtocolVersionUpgradeStateResponseV0|null|undefined} v0
-                         * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse
-                         * @instance
-                         */
-                        GetProtocolVersionUpgradeStateResponse.prototype.v0 = null;
-
-                        // OneOf field names bound to virtual getters and setters
-                        var $oneOfFields;
-
-                        /**
-                         * GetProtocolVersionUpgradeStateResponse version.
-                         * @member {"v0"|undefined} version
-                         * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse
-                         * @instance
-                         */
-                        Object.defineProperty(GetProtocolVersionUpgradeStateResponse.prototype, "version", {
-                            get: $util.oneOfGetter($oneOfFields = ["v0"]),
-                            set: $util.oneOfSetter($oneOfFields)
-                        });
-
-                        /**
-                         * Creates a new GetProtocolVersionUpgradeStateResponse instance using the specified properties.
-                         * @function create
-                         * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse
-                         * @static
-                         * @param {org.dash.platform.dapi.v0.IGetProtocolVersionUpgradeStateResponse=} [properties] Properties to set
-                         * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse} GetProtocolVersionUpgradeStateResponse instance
-                         */
-                        GetProtocolVersionUpgradeStateResponse.create = function create(properties) {
-                            return new GetProtocolVersionUpgradeStateResponse(properties);
-                        };
-
-                        /**
-                         * Encodes the specified GetProtocolVersionUpgradeStateResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.verify|verify} messages.
-                         * @function encode
-                         * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse
-                         * @static
-                         * @param {org.dash.platform.dapi.v0.IGetProtocolVersionUpgradeStateResponse} message GetProtocolVersionUpgradeStateResponse message or plain object to encode
-                         * @param {$protobuf.Writer} [writer] Writer to encode to
-                         * @returns {$protobuf.Writer} Writer
-                         */
-                        GetProtocolVersionUpgradeStateResponse.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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
-                            return writer;
-                        };
-
-                        /**
-                         * Encodes the specified GetProtocolVersionUpgradeStateResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.verify|verify} messages.
-                         * @function encodeDelimited
-                         * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse
-                         * @static
-                         * @param {org.dash.platform.dapi.v0.IGetProtocolVersionUpgradeStateResponse} message GetProtocolVersionUpgradeStateResponse message or plain object to encode
-                         * @param {$protobuf.Writer} [writer] Writer to encode to
-                         * @returns {$protobuf.Writer} Writer
-                         */
-                        GetProtocolVersionUpgradeStateResponse.encodeDelimited = function encodeDelimited(message, writer) {
-                            return this.encode(message, writer).ldelim();
-                        };
-
-                        /**
-                         * Decodes a GetProtocolVersionUpgradeStateResponse message from the specified reader or buffer.
-                         * @function decode
-                         * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse
-                         * @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.GetProtocolVersionUpgradeStateResponse} GetProtocolVersionUpgradeStateResponse
-                         * @throws {Error} If the payload is not a reader or valid buffer
-                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
-                         */
-                        GetProtocolVersionUpgradeStateResponse.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.GetProtocolVersionUpgradeStateResponse();
-                            while (reader.pos < end) {
-                                var tag = reader.uint32();
-                                switch (tag >>> 3) {
-                                case 1:
-                                    message.v0 = $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.decode(reader, reader.uint32());
-                                    break;
-                                default:
-                                    reader.skipType(tag & 7);
-                                    break;
-                                }
-                            }
-                            return message;
-                        };
-
-                        /**
-                         * Decodes a GetProtocolVersionUpgradeStateResponse message from the specified reader or buffer, length delimited.
-                         * @function decodeDelimited
-                         * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse
-                         * @static
-                         * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                         * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse} GetProtocolVersionUpgradeStateResponse
-                         * @throws {Error} If the payload is not a reader or valid buffer
-                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
-                         */
-                        GetProtocolVersionUpgradeStateResponse.decodeDelimited = function decodeDelimited(reader) {
-                            if (!(reader instanceof $Reader))
-                                reader = new $Reader(reader);
-                            return this.decode(reader, reader.uint32());
-                        };
-
-                        /**
-                         * Verifies a GetProtocolVersionUpgradeStateResponse message.
-                         * @function verify
-                         * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse
-                         * @static
-                         * @param {Object.} message Plain object to verify
-                         * @returns {string|null} `null` if valid, otherwise the reason why it is not
-                         */
-                        GetProtocolVersionUpgradeStateResponse.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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.verify(message.v0);
-                                    if (error)
-                                        return "v0." + error;
-                                }
-                            }
-                            return null;
-                        };
-
-                        /**
-                         * Creates a GetProtocolVersionUpgradeStateResponse message from a plain object. Also converts values to their respective internal types.
-                         * @function fromObject
-                         * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse
-                         * @static
-                         * @param {Object.} object Plain object
-                         * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse} GetProtocolVersionUpgradeStateResponse
-                         */
-                        GetProtocolVersionUpgradeStateResponse.fromObject = function fromObject(object) {
-                            if (object instanceof $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse)
-                                return object;
-                            var message = new $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse();
-                            if (object.v0 != null) {
-                                if (typeof object.v0 !== "object")
-                                    throw TypeError(".org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.v0: object expected");
-                                message.v0 = $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.fromObject(object.v0);
-                            }
-                            return message;
-                        };
-
-                        /**
-                         * Creates a plain object from a GetProtocolVersionUpgradeStateResponse message. Also converts values to other types if specified.
-                         * @function toObject
-                         * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse
-                         * @static
-                         * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse} message GetProtocolVersionUpgradeStateResponse
-                         * @param {$protobuf.IConversionOptions} [options] Conversion options
-                         * @returns {Object.} Plain object
-                         */
-                        GetProtocolVersionUpgradeStateResponse.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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.toObject(message.v0, options);
-                                if (options.oneofs)
-                                    object.version = "v0";
-                            }
-                            return object;
-                        };
-
-                        /**
-                         * Converts this GetProtocolVersionUpgradeStateResponse to JSON.
-                         * @function toJSON
-                         * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse
-                         * @instance
-                         * @returns {Object.} JSON object
-                         */
-                        GetProtocolVersionUpgradeStateResponse.prototype.toJSON = function toJSON() {
-                            return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
-                        };
-
-                        GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0 = (function() {
+                        GetConsensusParamsResponse.ConsensusParamsEvidence = (function() {
 
                             /**
-                             * Properties of a GetProtocolVersionUpgradeStateResponseV0.
-                             * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse
-                             * @interface IGetProtocolVersionUpgradeStateResponseV0
-                             * @property {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.IVersions|null} [versions] GetProtocolVersionUpgradeStateResponseV0 versions
-                             * @property {org.dash.platform.dapi.v0.IProof|null} [proof] GetProtocolVersionUpgradeStateResponseV0 proof
-                             * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetProtocolVersionUpgradeStateResponseV0 metadata
+                             * 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 GetProtocolVersionUpgradeStateResponseV0.
-                             * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse
-                             * @classdesc Represents a GetProtocolVersionUpgradeStateResponseV0.
-                             * @implements IGetProtocolVersionUpgradeStateResponseV0
+                             * Constructs a new ConsensusParamsEvidence.
+                             * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse
+                             * @classdesc Represents a ConsensusParamsEvidence.
+                             * @implements IConsensusParamsEvidence
                              * @constructor
-                             * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.IGetProtocolVersionUpgradeStateResponseV0=} [properties] Properties to set
+                             * @param {org.dash.platform.dapi.v0.GetConsensusParamsResponse.IConsensusParamsEvidence=} [properties] Properties to set
                              */
-                            function GetProtocolVersionUpgradeStateResponseV0(properties) {
+                            function ConsensusParamsEvidence(properties) {
                                 if (properties)
                                     for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
                                         if (properties[keys[i]] != null)
@@ -23788,115 +24224,101 @@ $root.org = (function() {
                             }
 
                             /**
-                             * GetProtocolVersionUpgradeStateResponseV0 versions.
-                             * @member {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.IVersions|null|undefined} versions
-                             * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0
-                             * @instance
-                             */
-                            GetProtocolVersionUpgradeStateResponseV0.prototype.versions = null;
-
-                            /**
-                             * GetProtocolVersionUpgradeStateResponseV0 proof.
-                             * @member {org.dash.platform.dapi.v0.IProof|null|undefined} proof
-                             * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0
+                             * ConsensusParamsEvidence maxAgeNumBlocks.
+                             * @member {string} maxAgeNumBlocks
+                             * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence
                              * @instance
                              */
-                            GetProtocolVersionUpgradeStateResponseV0.prototype.proof = null;
+                            ConsensusParamsEvidence.prototype.maxAgeNumBlocks = "";
 
                             /**
-                             * GetProtocolVersionUpgradeStateResponseV0 metadata.
-                             * @member {org.dash.platform.dapi.v0.IResponseMetadata|null|undefined} metadata
-                             * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0
+                             * ConsensusParamsEvidence maxAgeDuration.
+                             * @member {string} maxAgeDuration
+                             * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence
                              * @instance
                              */
-                            GetProtocolVersionUpgradeStateResponseV0.prototype.metadata = null;
-
-                            // OneOf field names bound to virtual getters and setters
-                            var $oneOfFields;
+                            ConsensusParamsEvidence.prototype.maxAgeDuration = "";
 
                             /**
-                             * GetProtocolVersionUpgradeStateResponseV0 result.
-                             * @member {"versions"|"proof"|undefined} result
-                             * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0
+                             * ConsensusParamsEvidence maxBytes.
+                             * @member {string} maxBytes
+                             * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence
                              * @instance
                              */
-                            Object.defineProperty(GetProtocolVersionUpgradeStateResponseV0.prototype, "result", {
-                                get: $util.oneOfGetter($oneOfFields = ["versions", "proof"]),
-                                set: $util.oneOfSetter($oneOfFields)
-                            });
+                            ConsensusParamsEvidence.prototype.maxBytes = "";
 
                             /**
-                             * Creates a new GetProtocolVersionUpgradeStateResponseV0 instance using the specified properties.
+                             * Creates a new ConsensusParamsEvidence instance using the specified properties.
                              * @function create
-                             * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.IGetProtocolVersionUpgradeStateResponseV0=} [properties] Properties to set
-                             * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0} GetProtocolVersionUpgradeStateResponseV0 instance
+                             * @param {org.dash.platform.dapi.v0.GetConsensusParamsResponse.IConsensusParamsEvidence=} [properties] Properties to set
+                             * @returns {org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence} ConsensusParamsEvidence instance
                              */
-                            GetProtocolVersionUpgradeStateResponseV0.create = function create(properties) {
-                                return new GetProtocolVersionUpgradeStateResponseV0(properties);
+                            ConsensusParamsEvidence.create = function create(properties) {
+                                return new ConsensusParamsEvidence(properties);
                             };
 
                             /**
-                             * Encodes the specified GetProtocolVersionUpgradeStateResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.verify|verify} messages.
+                             * 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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.IGetProtocolVersionUpgradeStateResponseV0} message GetProtocolVersionUpgradeStateResponseV0 message or plain object to encode
+                             * @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
                              */
-                            GetProtocolVersionUpgradeStateResponseV0.encode = function encode(message, writer) {
+                            ConsensusParamsEvidence.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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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();
+                                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 GetProtocolVersionUpgradeStateResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.verify|verify} messages.
+                             * 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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.IGetProtocolVersionUpgradeStateResponseV0} message GetProtocolVersionUpgradeStateResponseV0 message or plain object to encode
+                             * @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
                              */
-                            GetProtocolVersionUpgradeStateResponseV0.encodeDelimited = function encodeDelimited(message, writer) {
+                            ConsensusParamsEvidence.encodeDelimited = function encodeDelimited(message, writer) {
                                 return this.encode(message, writer).ldelim();
                             };
 
                             /**
-                             * Decodes a GetProtocolVersionUpgradeStateResponseV0 message from the specified reader or buffer.
+                             * Decodes a ConsensusParamsEvidence message from the specified reader or buffer.
                              * @function decode
-                             * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0
+                             * @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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0} GetProtocolVersionUpgradeStateResponseV0
+                             * @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
                              */
-                            GetProtocolVersionUpgradeStateResponseV0.decode = function decode(reader, length) {
+                            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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0();
+                                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.versions = $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.decode(reader, reader.uint32());
+                                        message.maxAgeNumBlocks = reader.string();
                                         break;
                                     case 2:
-                                        message.proof = $root.org.dash.platform.dapi.v0.Proof.decode(reader, reader.uint32());
+                                        message.maxAgeDuration = reader.string();
                                         break;
                                     case 3:
-                                        message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.decode(reader, reader.uint32());
+                                        message.maxBytes = reader.string();
                                         break;
                                     default:
                                         reader.skipType(tag & 7);
@@ -23907,662 +24329,437 @@ $root.org = (function() {
                             };
 
                             /**
-                             * Decodes a GetProtocolVersionUpgradeStateResponseV0 message from the specified reader or buffer, length delimited.
+                             * Decodes a ConsensusParamsEvidence message from the specified reader or buffer, length delimited.
                              * @function decodeDelimited
-                             * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0
+                             * @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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0} GetProtocolVersionUpgradeStateResponseV0
+                             * @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
                              */
-                            GetProtocolVersionUpgradeStateResponseV0.decodeDelimited = function decodeDelimited(reader) {
+                            ConsensusParamsEvidence.decodeDelimited = function decodeDelimited(reader) {
                                 if (!(reader instanceof $Reader))
                                     reader = new $Reader(reader);
                                 return this.decode(reader, reader.uint32());
                             };
 
                             /**
-                             * Verifies a GetProtocolVersionUpgradeStateResponseV0 message.
+                             * Verifies a ConsensusParamsEvidence message.
                              * @function verify
-                             * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0
+                             * @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
                              */
-                            GetProtocolVersionUpgradeStateResponseV0.verify = function verify(message) {
+                            ConsensusParamsEvidence.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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.verify(message.versions);
-                                        if (error)
-                                            return "versions." + error;
-                                    }
+                                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 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 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.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.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.
+                             * @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 ConsensusParamsEvidence;
+                        })();
+
+                        GetConsensusParamsResponse.GetConsensusParamsResponseV0 = (function() {
+
+                            /**
+                             * 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 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]];
+                            }
+
+                            /**
+                             * 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;
+
+                            /**
+                             * 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 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 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 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 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;
                                     }
                                 }
-                                if (message.metadata != null && message.hasOwnProperty("metadata")) {
-                                    var error = $root.org.dash.platform.dapi.v0.ResponseMetadata.verify(message.metadata);
+                                return message;
+                            };
+
+                            /**
+                             * 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 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 "metadata." + 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 GetProtocolVersionUpgradeStateResponseV0 message from a plain object. Also converts values to their respective internal types.
+                             * Creates a GetConsensusParamsResponseV0 message from a plain object. Also converts values to their respective internal types.
                              * @function fromObject
-                             * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0
                              * @static
                              * @param {Object.} object Plain object
-                             * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0} GetProtocolVersionUpgradeStateResponseV0
+                             * @returns {org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0} GetConsensusParamsResponseV0
                              */
-                            GetProtocolVersionUpgradeStateResponseV0.fromObject = function fromObject(object) {
-                                if (object instanceof $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0)
+                            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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0();
-                                if (object.versions != null) {
-                                    if (typeof object.versions !== "object")
-                                        throw TypeError(".org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.versions: object expected");
-                                    message.versions = $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.fromObject(object.versions);
-                                }
-                                if (object.proof != null) {
-                                    if (typeof object.proof !== "object")
-                                        throw TypeError(".org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.proof: object expected");
-                                    message.proof = $root.org.dash.platform.dapi.v0.Proof.fromObject(object.proof);
+                                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.metadata != null) {
-                                    if (typeof object.metadata !== "object")
-                                        throw TypeError(".org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.metadata: object expected");
-                                    message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.fromObject(object.metadata);
+                                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 GetProtocolVersionUpgradeStateResponseV0 message. Also converts values to other types if specified.
+                             * Creates a plain object from a GetConsensusParamsResponseV0 message. Also converts values to other types if specified.
                              * @function toObject
-                             * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0} message GetProtocolVersionUpgradeStateResponseV0
+                             * @param {org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0} message GetConsensusParamsResponseV0
                              * @param {$protobuf.IConversionOptions} [options] Conversion options
                              * @returns {Object.} Plain object
                              */
-                            GetProtocolVersionUpgradeStateResponseV0.toObject = function toObject(message, options) {
+                            GetConsensusParamsResponseV0.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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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 (options.defaults) {
+                                    object.block = null;
+                                    object.evidence = null;
                                 }
-                                if (message.metadata != null && message.hasOwnProperty("metadata"))
-                                    object.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.toObject(message.metadata, options);
+                                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;
                             };
 
                             /**
-                             * Converts this GetProtocolVersionUpgradeStateResponseV0 to JSON.
+                             * Converts this GetConsensusParamsResponseV0 to JSON.
                              * @function toJSON
-                             * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0
                              * @instance
                              * @returns {Object.} JSON object
                              */
-                            GetProtocolVersionUpgradeStateResponseV0.prototype.toJSON = function toJSON() {
+                            GetConsensusParamsResponseV0.prototype.toJSON = function toJSON() {
                                 return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
                             };
 
-                            GetProtocolVersionUpgradeStateResponseV0.Versions = (function() {
+                            return GetConsensusParamsResponseV0;
+                        })();
 
-                                /**
-                                 * Properties of a Versions.
-                                 * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0
-                                 * @interface IVersions
-                                 * @property {Array.|null} [versions] Versions versions
-                                 */
+                        return GetConsensusParamsResponse;
+                    })();
 
-                                /**
-                                 * Constructs a new Versions.
-                                 * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0
-                                 * @classdesc Represents a Versions.
-                                 * @implements IVersions
-                                 * @constructor
-                                 * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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]];
-                                }
+                    v0.GetProtocolVersionUpgradeStateRequest = (function() {
 
-                                /**
-                                 * Versions versions.
-                                 * @member {Array.} versions
-                                 * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions
-                                 * @instance
-                                 */
-                                Versions.prototype.versions = $util.emptyArray;
+                        /**
+                         * Properties of a GetProtocolVersionUpgradeStateRequest.
+                         * @memberof org.dash.platform.dapi.v0
+                         * @interface IGetProtocolVersionUpgradeStateRequest
+                         * @property {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.IGetProtocolVersionUpgradeStateRequestV0|null} [v0] GetProtocolVersionUpgradeStateRequest v0
+                         */
 
-                                /**
-                                 * Creates a new Versions instance using the specified properties.
-                                 * @function create
-                                 * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions
-                                 * @static
-                                 * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.IVersions=} [properties] Properties to set
-                                 * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions} Versions instance
-                                 */
-                                Versions.create = function create(properties) {
-                                    return new Versions(properties);
-                                };
+                        /**
+                         * Constructs a new GetProtocolVersionUpgradeStateRequest.
+                         * @memberof org.dash.platform.dapi.v0
+                         * @classdesc Represents a GetProtocolVersionUpgradeStateRequest.
+                         * @implements IGetProtocolVersionUpgradeStateRequest
+                         * @constructor
+                         * @param {org.dash.platform.dapi.v0.IGetProtocolVersionUpgradeStateRequest=} [properties] Properties to set
+                         */
+                        function GetProtocolVersionUpgradeStateRequest(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 Versions message. Does not implicitly {@link org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.verify|verify} messages.
-                                 * @function encode
-                                 * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions
-                                 * @static
-                                 * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.encode(message.versions[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
-                                    return writer;
-                                };
+                        /**
+                         * GetProtocolVersionUpgradeStateRequest v0.
+                         * @member {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.IGetProtocolVersionUpgradeStateRequestV0|null|undefined} v0
+                         * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest
+                         * @instance
+                         */
+                        GetProtocolVersionUpgradeStateRequest.prototype.v0 = null;
 
-                                /**
-                                 * Encodes the specified Versions message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.verify|verify} messages.
-                                 * @function encodeDelimited
-                                 * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions
-                                 * @static
-                                 * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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();
-                                };
+                        // OneOf field names bound to virtual getters and setters
+                        var $oneOfFields;
 
-                                /**
-                                 * Decodes a Versions message from the specified reader or buffer.
-                                 * @function decode
-                                 * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.decode(reader, reader.uint32()));
-                                            break;
-                                        default:
-                                            reader.skipType(tag & 7);
-                                            break;
-                                        }
-                                    }
-                                    return message;
-                                };
+                        /**
+                         * GetProtocolVersionUpgradeStateRequest version.
+                         * @member {"v0"|undefined} version
+                         * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest
+                         * @instance
+                         */
+                        Object.defineProperty(GetProtocolVersionUpgradeStateRequest.prototype, "version", {
+                            get: $util.oneOfGetter($oneOfFields = ["v0"]),
+                            set: $util.oneOfSetter($oneOfFields)
+                        });
 
-                                /**
-                                 * Decodes a Versions message from the specified reader or buffer, length delimited.
-                                 * @function decodeDelimited
-                                 * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions
-                                 * @static
-                                 * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                                 * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions
-                                 * @static
-                                 * @param {Object.} object Plain object
-                                 * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions} Versions
-                                 */
-                                Versions.fromObject = function fromObject(object) {
-                                    if (object instanceof $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions)
-                                        return object;
-                                    var message = new $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions();
-                                    if (object.versions) {
-                                        if (!Array.isArray(object.versions))
-                                            throw TypeError(".org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.versions: object expected");
-                                            message.versions[i] = $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions
-                                 * @static
-                                 * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.toObject(message.versions[j], options);
-                                    }
-                                    return object;
-                                };
-
-                                /**
-                                 * Converts this Versions to JSON.
-                                 * @function toJSON
-                                 * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions
-                                 * @instance
-                                 * @returns {Object.} JSON object
-                                 */
-                                Versions.prototype.toJSON = function toJSON() {
-                                    return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
-                                };
-
-                                return Versions;
-                            })();
-
-                            GetProtocolVersionUpgradeStateResponseV0.VersionEntry = (function() {
-
-                                /**
-                                 * Properties of a VersionEntry.
-                                 * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0
-                                 * @interface IVersionEntry
-                                 * @property {number|null} [versionNumber] VersionEntry versionNumber
-                                 * @property {number|null} [voteCount] VersionEntry voteCount
-                                 */
-
-                                /**
-                                 * Constructs a new VersionEntry.
-                                 * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0
-                                 * @classdesc Represents a VersionEntry.
-                                 * @implements IVersionEntry
-                                 * @constructor
-                                 * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry
-                                 * @instance
-                                 */
-                                VersionEntry.prototype.versionNumber = 0;
-
-                                /**
-                                 * VersionEntry voteCount.
-                                 * @member {number} voteCount
-                                 * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry
-                                 * @instance
-                                 */
-                                VersionEntry.prototype.voteCount = 0;
-
-                                /**
-                                 * Creates a new VersionEntry instance using the specified properties.
-                                 * @function create
-                                 * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry
-                                 * @static
-                                 * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.IVersionEntry=} [properties] Properties to set
-                                 * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.verify|verify} messages.
-                                 * @function encode
-                                 * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry
-                                 * @static
-                                 * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.verify|verify} messages.
-                                 * @function encodeDelimited
-                                 * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry
-                                 * @static
-                                 * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry
-                                 * @static
-                                 * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                                 * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry
-                                 * @static
-                                 * @param {Object.} object Plain object
-                                 * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry} VersionEntry
-                                 */
-                                VersionEntry.fromObject = function fromObject(object) {
-                                    if (object instanceof $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry)
-                                        return object;
-                                    var message = new $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry
-                                 * @static
-                                 * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry
-                                 * @instance
-                                 * @returns {Object.} JSON object
-                                 */
-                                VersionEntry.prototype.toJSON = function toJSON() {
-                                    return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
-                                };
-
-                                return VersionEntry;
-                            })();
-
-                            return GetProtocolVersionUpgradeStateResponseV0;
-                        })();
-
-                        return GetProtocolVersionUpgradeStateResponse;
-                    })();
-
-                    v0.GetProtocolVersionUpgradeVoteStatusRequest = (function() {
-
-                        /**
-                         * Properties of a GetProtocolVersionUpgradeVoteStatusRequest.
-                         * @memberof org.dash.platform.dapi.v0
-                         * @interface IGetProtocolVersionUpgradeVoteStatusRequest
-                         * @property {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.IGetProtocolVersionUpgradeVoteStatusRequestV0|null} [v0] GetProtocolVersionUpgradeVoteStatusRequest v0
-                         */
-
-                        /**
-                         * Constructs a new GetProtocolVersionUpgradeVoteStatusRequest.
-                         * @memberof org.dash.platform.dapi.v0
-                         * @classdesc Represents a GetProtocolVersionUpgradeVoteStatusRequest.
-                         * @implements IGetProtocolVersionUpgradeVoteStatusRequest
-                         * @constructor
-                         * @param {org.dash.platform.dapi.v0.IGetProtocolVersionUpgradeVoteStatusRequest=} [properties] Properties to set
-                         */
-                        function GetProtocolVersionUpgradeVoteStatusRequest(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]];
-                        }
-
-                        /**
-                         * GetProtocolVersionUpgradeVoteStatusRequest v0.
-                         * @member {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.IGetProtocolVersionUpgradeVoteStatusRequestV0|null|undefined} v0
-                         * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest
-                         * @instance
-                         */
-                        GetProtocolVersionUpgradeVoteStatusRequest.prototype.v0 = null;
-
-                        // OneOf field names bound to virtual getters and setters
-                        var $oneOfFields;
-
-                        /**
-                         * GetProtocolVersionUpgradeVoteStatusRequest version.
-                         * @member {"v0"|undefined} version
-                         * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest
-                         * @instance
-                         */
-                        Object.defineProperty(GetProtocolVersionUpgradeVoteStatusRequest.prototype, "version", {
-                            get: $util.oneOfGetter($oneOfFields = ["v0"]),
-                            set: $util.oneOfSetter($oneOfFields)
-                        });
-
-                        /**
-                         * Creates a new GetProtocolVersionUpgradeVoteStatusRequest instance using the specified properties.
-                         * @function create
-                         * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest
-                         * @static
-                         * @param {org.dash.platform.dapi.v0.IGetProtocolVersionUpgradeVoteStatusRequest=} [properties] Properties to set
-                         * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest} GetProtocolVersionUpgradeVoteStatusRequest instance
-                         */
-                        GetProtocolVersionUpgradeVoteStatusRequest.create = function create(properties) {
-                            return new GetProtocolVersionUpgradeVoteStatusRequest(properties);
-                        };
+                        /**
+                         * Creates a new GetProtocolVersionUpgradeStateRequest instance using the specified properties.
+                         * @function create
+                         * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest
+                         * @static
+                         * @param {org.dash.platform.dapi.v0.IGetProtocolVersionUpgradeStateRequest=} [properties] Properties to set
+                         * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest} GetProtocolVersionUpgradeStateRequest instance
+                         */
+                        GetProtocolVersionUpgradeStateRequest.create = function create(properties) {
+                            return new GetProtocolVersionUpgradeStateRequest(properties);
+                        };
 
                         /**
-                         * Encodes the specified GetProtocolVersionUpgradeVoteStatusRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.verify|verify} messages.
+                         * Encodes the specified GetProtocolVersionUpgradeStateRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.verify|verify} messages.
                          * @function encode
-                         * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest
+                         * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest
                          * @static
-                         * @param {org.dash.platform.dapi.v0.IGetProtocolVersionUpgradeVoteStatusRequest} message GetProtocolVersionUpgradeVoteStatusRequest message or plain object to encode
+                         * @param {org.dash.platform.dapi.v0.IGetProtocolVersionUpgradeStateRequest} message GetProtocolVersionUpgradeStateRequest message or plain object to encode
                          * @param {$protobuf.Writer} [writer] Writer to encode to
                          * @returns {$protobuf.Writer} Writer
                          */
-                        GetProtocolVersionUpgradeVoteStatusRequest.encode = function encode(message, writer) {
+                        GetProtocolVersionUpgradeStateRequest.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.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+                                $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
                             return writer;
                         };
 
                         /**
-                         * Encodes the specified GetProtocolVersionUpgradeVoteStatusRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.verify|verify} messages.
+                         * Encodes the specified GetProtocolVersionUpgradeStateRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.verify|verify} messages.
                          * @function encodeDelimited
-                         * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest
+                         * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest
                          * @static
-                         * @param {org.dash.platform.dapi.v0.IGetProtocolVersionUpgradeVoteStatusRequest} message GetProtocolVersionUpgradeVoteStatusRequest message or plain object to encode
+                         * @param {org.dash.platform.dapi.v0.IGetProtocolVersionUpgradeStateRequest} message GetProtocolVersionUpgradeStateRequest message or plain object to encode
                          * @param {$protobuf.Writer} [writer] Writer to encode to
                          * @returns {$protobuf.Writer} Writer
                          */
-                        GetProtocolVersionUpgradeVoteStatusRequest.encodeDelimited = function encodeDelimited(message, writer) {
+                        GetProtocolVersionUpgradeStateRequest.encodeDelimited = function encodeDelimited(message, writer) {
                             return this.encode(message, writer).ldelim();
                         };
 
                         /**
-                         * Decodes a GetProtocolVersionUpgradeVoteStatusRequest message from the specified reader or buffer.
+                         * Decodes a GetProtocolVersionUpgradeStateRequest message from the specified reader or buffer.
                          * @function decode
-                         * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest
+                         * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest
                          * @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.GetProtocolVersionUpgradeVoteStatusRequest} GetProtocolVersionUpgradeVoteStatusRequest
+                         * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest} GetProtocolVersionUpgradeStateRequest
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        GetProtocolVersionUpgradeVoteStatusRequest.decode = function decode(reader, length) {
+                        GetProtocolVersionUpgradeStateRequest.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.GetProtocolVersionUpgradeVoteStatusRequest();
+                            var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
                                 switch (tag >>> 3) {
                                 case 1:
-                                    message.v0 = $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.decode(reader, reader.uint32());
+                                    message.v0 = $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.decode(reader, reader.uint32());
                                     break;
                                 default:
                                     reader.skipType(tag & 7);
@@ -24573,37 +24770,37 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Decodes a GetProtocolVersionUpgradeVoteStatusRequest message from the specified reader or buffer, length delimited.
+                         * Decodes a GetProtocolVersionUpgradeStateRequest message from the specified reader or buffer, length delimited.
                          * @function decodeDelimited
-                         * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest
+                         * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest
                          * @static
                          * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                         * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest} GetProtocolVersionUpgradeVoteStatusRequest
+                         * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest} GetProtocolVersionUpgradeStateRequest
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        GetProtocolVersionUpgradeVoteStatusRequest.decodeDelimited = function decodeDelimited(reader) {
+                        GetProtocolVersionUpgradeStateRequest.decodeDelimited = function decodeDelimited(reader) {
                             if (!(reader instanceof $Reader))
                                 reader = new $Reader(reader);
                             return this.decode(reader, reader.uint32());
                         };
 
                         /**
-                         * Verifies a GetProtocolVersionUpgradeVoteStatusRequest message.
+                         * Verifies a GetProtocolVersionUpgradeStateRequest message.
                          * @function verify
-                         * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest
+                         * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest
                          * @static
                          * @param {Object.} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        GetProtocolVersionUpgradeVoteStatusRequest.verify = function verify(message) {
+                        GetProtocolVersionUpgradeStateRequest.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.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.verify(message.v0);
+                                    var error = $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.verify(message.v0);
                                     if (error)
                                         return "v0." + error;
                                 }
@@ -24612,40 +24809,40 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Creates a GetProtocolVersionUpgradeVoteStatusRequest message from a plain object. Also converts values to their respective internal types.
+                         * Creates a GetProtocolVersionUpgradeStateRequest message from a plain object. Also converts values to their respective internal types.
                          * @function fromObject
-                         * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest
+                         * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest
                          * @static
                          * @param {Object.} object Plain object
-                         * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest} GetProtocolVersionUpgradeVoteStatusRequest
+                         * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest} GetProtocolVersionUpgradeStateRequest
                          */
-                        GetProtocolVersionUpgradeVoteStatusRequest.fromObject = function fromObject(object) {
-                            if (object instanceof $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest)
+                        GetProtocolVersionUpgradeStateRequest.fromObject = function fromObject(object) {
+                            if (object instanceof $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest)
                                 return object;
-                            var message = new $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest();
+                            var message = new $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest();
                             if (object.v0 != null) {
                                 if (typeof object.v0 !== "object")
-                                    throw TypeError(".org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.v0: object expected");
-                                message.v0 = $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.fromObject(object.v0);
+                                    throw TypeError(".org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.v0: object expected");
+                                message.v0 = $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.fromObject(object.v0);
                             }
                             return message;
                         };
 
                         /**
-                         * Creates a plain object from a GetProtocolVersionUpgradeVoteStatusRequest message. Also converts values to other types if specified.
+                         * Creates a plain object from a GetProtocolVersionUpgradeStateRequest message. Also converts values to other types if specified.
                          * @function toObject
-                         * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest
+                         * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest
                          * @static
-                         * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest} message GetProtocolVersionUpgradeVoteStatusRequest
+                         * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest} message GetProtocolVersionUpgradeStateRequest
                          * @param {$protobuf.IConversionOptions} [options] Conversion options
                          * @returns {Object.} Plain object
                          */
-                        GetProtocolVersionUpgradeVoteStatusRequest.toObject = function toObject(message, options) {
+                        GetProtocolVersionUpgradeStateRequest.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.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.toObject(message.v0, options);
+                                object.v0 = $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.toObject(message.v0, options);
                                 if (options.oneofs)
                                     object.version = "v0";
                             }
@@ -24653,36 +24850,34 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Converts this GetProtocolVersionUpgradeVoteStatusRequest to JSON.
+                         * Converts this GetProtocolVersionUpgradeStateRequest to JSON.
                          * @function toJSON
-                         * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest
+                         * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest
                          * @instance
                          * @returns {Object.} JSON object
                          */
-                        GetProtocolVersionUpgradeVoteStatusRequest.prototype.toJSON = function toJSON() {
+                        GetProtocolVersionUpgradeStateRequest.prototype.toJSON = function toJSON() {
                             return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
                         };
 
-                        GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0 = (function() {
+                        GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0 = (function() {
 
                             /**
-                             * Properties of a GetProtocolVersionUpgradeVoteStatusRequestV0.
-                             * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest
-                             * @interface IGetProtocolVersionUpgradeVoteStatusRequestV0
-                             * @property {Uint8Array|null} [startProTxHash] GetProtocolVersionUpgradeVoteStatusRequestV0 startProTxHash
-                             * @property {number|null} [count] GetProtocolVersionUpgradeVoteStatusRequestV0 count
-                             * @property {boolean|null} [prove] GetProtocolVersionUpgradeVoteStatusRequestV0 prove
+                             * Properties of a GetProtocolVersionUpgradeStateRequestV0.
+                             * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest
+                             * @interface IGetProtocolVersionUpgradeStateRequestV0
+                             * @property {boolean|null} [prove] GetProtocolVersionUpgradeStateRequestV0 prove
                              */
 
                             /**
-                             * Constructs a new GetProtocolVersionUpgradeVoteStatusRequestV0.
-                             * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest
-                             * @classdesc Represents a GetProtocolVersionUpgradeVoteStatusRequestV0.
-                             * @implements IGetProtocolVersionUpgradeVoteStatusRequestV0
+                             * Constructs a new GetProtocolVersionUpgradeStateRequestV0.
+                             * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest
+                             * @classdesc Represents a GetProtocolVersionUpgradeStateRequestV0.
+                             * @implements IGetProtocolVersionUpgradeStateRequestV0
                              * @constructor
-                             * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.IGetProtocolVersionUpgradeVoteStatusRequestV0=} [properties] Properties to set
+                             * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.IGetProtocolVersionUpgradeStateRequestV0=} [properties] Properties to set
                              */
-                            function GetProtocolVersionUpgradeVoteStatusRequestV0(properties) {
+                            function GetProtocolVersionUpgradeStateRequestV0(properties) {
                                 if (properties)
                                     for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
                                         if (properties[keys[i]] != null)
@@ -24690,100 +24885,74 @@ $root.org = (function() {
                             }
 
                             /**
-                             * GetProtocolVersionUpgradeVoteStatusRequestV0 startProTxHash.
-                             * @member {Uint8Array} startProTxHash
-                             * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0
-                             * @instance
-                             */
-                            GetProtocolVersionUpgradeVoteStatusRequestV0.prototype.startProTxHash = $util.newBuffer([]);
-
-                            /**
-                             * GetProtocolVersionUpgradeVoteStatusRequestV0 count.
-                             * @member {number} count
-                             * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0
-                             * @instance
-                             */
-                            GetProtocolVersionUpgradeVoteStatusRequestV0.prototype.count = 0;
-
-                            /**
-                             * GetProtocolVersionUpgradeVoteStatusRequestV0 prove.
+                             * GetProtocolVersionUpgradeStateRequestV0 prove.
                              * @member {boolean} prove
-                             * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0
                              * @instance
                              */
-                            GetProtocolVersionUpgradeVoteStatusRequestV0.prototype.prove = false;
+                            GetProtocolVersionUpgradeStateRequestV0.prototype.prove = false;
 
                             /**
-                             * Creates a new GetProtocolVersionUpgradeVoteStatusRequestV0 instance using the specified properties.
+                             * Creates a new GetProtocolVersionUpgradeStateRequestV0 instance using the specified properties.
                              * @function create
-                             * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.IGetProtocolVersionUpgradeVoteStatusRequestV0=} [properties] Properties to set
-                             * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0} GetProtocolVersionUpgradeVoteStatusRequestV0 instance
+                             * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.IGetProtocolVersionUpgradeStateRequestV0=} [properties] Properties to set
+                             * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0} GetProtocolVersionUpgradeStateRequestV0 instance
                              */
-                            GetProtocolVersionUpgradeVoteStatusRequestV0.create = function create(properties) {
-                                return new GetProtocolVersionUpgradeVoteStatusRequestV0(properties);
+                            GetProtocolVersionUpgradeStateRequestV0.create = function create(properties) {
+                                return new GetProtocolVersionUpgradeStateRequestV0(properties);
                             };
 
                             /**
-                             * Encodes the specified GetProtocolVersionUpgradeVoteStatusRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.verify|verify} messages.
+                             * Encodes the specified GetProtocolVersionUpgradeStateRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.verify|verify} messages.
                              * @function encode
-                             * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.IGetProtocolVersionUpgradeVoteStatusRequestV0} message GetProtocolVersionUpgradeVoteStatusRequestV0 message or plain object to encode
+                             * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.IGetProtocolVersionUpgradeStateRequestV0} message GetProtocolVersionUpgradeStateRequestV0 message or plain object to encode
                              * @param {$protobuf.Writer} [writer] Writer to encode to
                              * @returns {$protobuf.Writer} Writer
                              */
-                            GetProtocolVersionUpgradeVoteStatusRequestV0.encode = function encode(message, writer) {
+                            GetProtocolVersionUpgradeStateRequestV0.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);
+                                    writer.uint32(/* id 1, wireType 0 =*/8).bool(message.prove);
                                 return writer;
                             };
 
                             /**
-                             * Encodes the specified GetProtocolVersionUpgradeVoteStatusRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.verify|verify} messages.
+                             * Encodes the specified GetProtocolVersionUpgradeStateRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.verify|verify} messages.
                              * @function encodeDelimited
-                             * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.IGetProtocolVersionUpgradeVoteStatusRequestV0} message GetProtocolVersionUpgradeVoteStatusRequestV0 message or plain object to encode
+                             * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.IGetProtocolVersionUpgradeStateRequestV0} message GetProtocolVersionUpgradeStateRequestV0 message or plain object to encode
                              * @param {$protobuf.Writer} [writer] Writer to encode to
                              * @returns {$protobuf.Writer} Writer
                              */
-                            GetProtocolVersionUpgradeVoteStatusRequestV0.encodeDelimited = function encodeDelimited(message, writer) {
+                            GetProtocolVersionUpgradeStateRequestV0.encodeDelimited = function encodeDelimited(message, writer) {
                                 return this.encode(message, writer).ldelim();
                             };
 
                             /**
-                             * Decodes a GetProtocolVersionUpgradeVoteStatusRequestV0 message from the specified reader or buffer.
+                             * Decodes a GetProtocolVersionUpgradeStateRequestV0 message from the specified reader or buffer.
                              * @function decode
-                             * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0
                              * @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.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0} GetProtocolVersionUpgradeVoteStatusRequestV0
+                             * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0} GetProtocolVersionUpgradeStateRequestV0
                              * @throws {Error} If the payload is not a reader or valid buffer
                              * @throws {$protobuf.util.ProtocolError} If required fields are missing
                              */
-                            GetProtocolVersionUpgradeVoteStatusRequestV0.decode = function decode(reader, length) {
+                            GetProtocolVersionUpgradeStateRequestV0.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.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0();
+                                var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0();
                                 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:
@@ -24795,38 +24964,32 @@ $root.org = (function() {
                             };
 
                             /**
-                             * Decodes a GetProtocolVersionUpgradeVoteStatusRequestV0 message from the specified reader or buffer, length delimited.
+                             * Decodes a GetProtocolVersionUpgradeStateRequestV0 message from the specified reader or buffer, length delimited.
                              * @function decodeDelimited
-                             * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0
                              * @static
                              * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                             * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0} GetProtocolVersionUpgradeVoteStatusRequestV0
+                             * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0} GetProtocolVersionUpgradeStateRequestV0
                              * @throws {Error} If the payload is not a reader or valid buffer
                              * @throws {$protobuf.util.ProtocolError} If required fields are missing
                              */
-                            GetProtocolVersionUpgradeVoteStatusRequestV0.decodeDelimited = function decodeDelimited(reader) {
+                            GetProtocolVersionUpgradeStateRequestV0.decodeDelimited = function decodeDelimited(reader) {
                                 if (!(reader instanceof $Reader))
                                     reader = new $Reader(reader);
                                 return this.decode(reader, reader.uint32());
                             };
 
                             /**
-                             * Verifies a GetProtocolVersionUpgradeVoteStatusRequestV0 message.
+                             * Verifies a GetProtocolVersionUpgradeStateRequestV0 message.
                              * @function verify
-                             * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0
                              * @static
                              * @param {Object.} message Plain object to verify
                              * @returns {string|null} `null` if valid, otherwise the reason why it is not
                              */
-                            GetProtocolVersionUpgradeVoteStatusRequestV0.verify = function verify(message) {
+                            GetProtocolVersionUpgradeStateRequestV0.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";
@@ -24834,97 +24997,77 @@ $root.org = (function() {
                             };
 
                             /**
-                             * Creates a GetProtocolVersionUpgradeVoteStatusRequestV0 message from a plain object. Also converts values to their respective internal types.
+                             * Creates a GetProtocolVersionUpgradeStateRequestV0 message from a plain object. Also converts values to their respective internal types.
                              * @function fromObject
-                             * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0
                              * @static
                              * @param {Object.} object Plain object
-                             * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0} GetProtocolVersionUpgradeVoteStatusRequestV0
+                             * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0} GetProtocolVersionUpgradeStateRequestV0
                              */
-                            GetProtocolVersionUpgradeVoteStatusRequestV0.fromObject = function fromObject(object) {
-                                if (object instanceof $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0)
+                            GetProtocolVersionUpgradeStateRequestV0.fromObject = function fromObject(object) {
+                                if (object instanceof $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0)
                                     return object;
-                                var message = new $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0();
-                                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;
+                                var message = new $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0();
                                 if (object.prove != null)
                                     message.prove = Boolean(object.prove);
                                 return message;
                             };
 
                             /**
-                             * Creates a plain object from a GetProtocolVersionUpgradeVoteStatusRequestV0 message. Also converts values to other types if specified.
+                             * Creates a plain object from a GetProtocolVersionUpgradeStateRequestV0 message. Also converts values to other types if specified.
                              * @function toObject
-                             * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0} message GetProtocolVersionUpgradeVoteStatusRequestV0
+                             * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0} message GetProtocolVersionUpgradeStateRequestV0
                              * @param {$protobuf.IConversionOptions} [options] Conversion options
                              * @returns {Object.} Plain object
                              */
-                            GetProtocolVersionUpgradeVoteStatusRequestV0.toObject = function toObject(message, options) {
+                            GetProtocolVersionUpgradeStateRequestV0.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;
+                                if (options.defaults)
                                     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 GetProtocolVersionUpgradeVoteStatusRequestV0 to JSON.
+                             * Converts this GetProtocolVersionUpgradeStateRequestV0 to JSON.
                              * @function toJSON
-                             * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0
                              * @instance
                              * @returns {Object.} JSON object
                              */
-                            GetProtocolVersionUpgradeVoteStatusRequestV0.prototype.toJSON = function toJSON() {
+                            GetProtocolVersionUpgradeStateRequestV0.prototype.toJSON = function toJSON() {
                                 return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
                             };
 
-                            return GetProtocolVersionUpgradeVoteStatusRequestV0;
+                            return GetProtocolVersionUpgradeStateRequestV0;
                         })();
 
-                        return GetProtocolVersionUpgradeVoteStatusRequest;
+                        return GetProtocolVersionUpgradeStateRequest;
                     })();
 
-                    v0.GetProtocolVersionUpgradeVoteStatusResponse = (function() {
+                    v0.GetProtocolVersionUpgradeStateResponse = (function() {
 
                         /**
-                         * Properties of a GetProtocolVersionUpgradeVoteStatusResponse.
+                         * Properties of a GetProtocolVersionUpgradeStateResponse.
                          * @memberof org.dash.platform.dapi.v0
-                         * @interface IGetProtocolVersionUpgradeVoteStatusResponse
-                         * @property {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.IGetProtocolVersionUpgradeVoteStatusResponseV0|null} [v0] GetProtocolVersionUpgradeVoteStatusResponse v0
+                         * @interface IGetProtocolVersionUpgradeStateResponse
+                         * @property {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.IGetProtocolVersionUpgradeStateResponseV0|null} [v0] GetProtocolVersionUpgradeStateResponse v0
                          */
 
                         /**
-                         * Constructs a new GetProtocolVersionUpgradeVoteStatusResponse.
+                         * Constructs a new GetProtocolVersionUpgradeStateResponse.
                          * @memberof org.dash.platform.dapi.v0
-                         * @classdesc Represents a GetProtocolVersionUpgradeVoteStatusResponse.
-                         * @implements IGetProtocolVersionUpgradeVoteStatusResponse
+                         * @classdesc Represents a GetProtocolVersionUpgradeStateResponse.
+                         * @implements IGetProtocolVersionUpgradeStateResponse
                          * @constructor
-                         * @param {org.dash.platform.dapi.v0.IGetProtocolVersionUpgradeVoteStatusResponse=} [properties] Properties to set
+                         * @param {org.dash.platform.dapi.v0.IGetProtocolVersionUpgradeStateResponse=} [properties] Properties to set
                          */
-                        function GetProtocolVersionUpgradeVoteStatusResponse(properties) {
+                        function GetProtocolVersionUpgradeStateResponse(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
                                     if (properties[keys[i]] != null)
@@ -24932,89 +25075,89 @@ $root.org = (function() {
                         }
 
                         /**
-                         * GetProtocolVersionUpgradeVoteStatusResponse v0.
-                         * @member {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.IGetProtocolVersionUpgradeVoteStatusResponseV0|null|undefined} v0
-                         * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse
+                         * GetProtocolVersionUpgradeStateResponse v0.
+                         * @member {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.IGetProtocolVersionUpgradeStateResponseV0|null|undefined} v0
+                         * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse
                          * @instance
                          */
-                        GetProtocolVersionUpgradeVoteStatusResponse.prototype.v0 = null;
+                        GetProtocolVersionUpgradeStateResponse.prototype.v0 = null;
 
                         // OneOf field names bound to virtual getters and setters
                         var $oneOfFields;
 
                         /**
-                         * GetProtocolVersionUpgradeVoteStatusResponse version.
+                         * GetProtocolVersionUpgradeStateResponse version.
                          * @member {"v0"|undefined} version
-                         * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse
+                         * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse
                          * @instance
                          */
-                        Object.defineProperty(GetProtocolVersionUpgradeVoteStatusResponse.prototype, "version", {
+                        Object.defineProperty(GetProtocolVersionUpgradeStateResponse.prototype, "version", {
                             get: $util.oneOfGetter($oneOfFields = ["v0"]),
                             set: $util.oneOfSetter($oneOfFields)
                         });
 
                         /**
-                         * Creates a new GetProtocolVersionUpgradeVoteStatusResponse instance using the specified properties.
+                         * Creates a new GetProtocolVersionUpgradeStateResponse instance using the specified properties.
                          * @function create
-                         * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse
+                         * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse
                          * @static
-                         * @param {org.dash.platform.dapi.v0.IGetProtocolVersionUpgradeVoteStatusResponse=} [properties] Properties to set
-                         * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse} GetProtocolVersionUpgradeVoteStatusResponse instance
+                         * @param {org.dash.platform.dapi.v0.IGetProtocolVersionUpgradeStateResponse=} [properties] Properties to set
+                         * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse} GetProtocolVersionUpgradeStateResponse instance
                          */
-                        GetProtocolVersionUpgradeVoteStatusResponse.create = function create(properties) {
-                            return new GetProtocolVersionUpgradeVoteStatusResponse(properties);
+                        GetProtocolVersionUpgradeStateResponse.create = function create(properties) {
+                            return new GetProtocolVersionUpgradeStateResponse(properties);
                         };
 
                         /**
-                         * Encodes the specified GetProtocolVersionUpgradeVoteStatusResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.verify|verify} messages.
+                         * Encodes the specified GetProtocolVersionUpgradeStateResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.verify|verify} messages.
                          * @function encode
-                         * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse
+                         * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse
                          * @static
-                         * @param {org.dash.platform.dapi.v0.IGetProtocolVersionUpgradeVoteStatusResponse} message GetProtocolVersionUpgradeVoteStatusResponse message or plain object to encode
+                         * @param {org.dash.platform.dapi.v0.IGetProtocolVersionUpgradeStateResponse} message GetProtocolVersionUpgradeStateResponse message or plain object to encode
                          * @param {$protobuf.Writer} [writer] Writer to encode to
                          * @returns {$protobuf.Writer} Writer
                          */
-                        GetProtocolVersionUpgradeVoteStatusResponse.encode = function encode(message, writer) {
+                        GetProtocolVersionUpgradeStateResponse.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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+                                $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
                             return writer;
                         };
 
                         /**
-                         * Encodes the specified GetProtocolVersionUpgradeVoteStatusResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.verify|verify} messages.
+                         * Encodes the specified GetProtocolVersionUpgradeStateResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.verify|verify} messages.
                          * @function encodeDelimited
-                         * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse
+                         * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse
                          * @static
-                         * @param {org.dash.platform.dapi.v0.IGetProtocolVersionUpgradeVoteStatusResponse} message GetProtocolVersionUpgradeVoteStatusResponse message or plain object to encode
+                         * @param {org.dash.platform.dapi.v0.IGetProtocolVersionUpgradeStateResponse} message GetProtocolVersionUpgradeStateResponse message or plain object to encode
                          * @param {$protobuf.Writer} [writer] Writer to encode to
                          * @returns {$protobuf.Writer} Writer
                          */
-                        GetProtocolVersionUpgradeVoteStatusResponse.encodeDelimited = function encodeDelimited(message, writer) {
+                        GetProtocolVersionUpgradeStateResponse.encodeDelimited = function encodeDelimited(message, writer) {
                             return this.encode(message, writer).ldelim();
                         };
 
                         /**
-                         * Decodes a GetProtocolVersionUpgradeVoteStatusResponse message from the specified reader or buffer.
+                         * Decodes a GetProtocolVersionUpgradeStateResponse message from the specified reader or buffer.
                          * @function decode
-                         * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse
+                         * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse
                          * @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.GetProtocolVersionUpgradeVoteStatusResponse} GetProtocolVersionUpgradeVoteStatusResponse
+                         * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse} GetProtocolVersionUpgradeStateResponse
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        GetProtocolVersionUpgradeVoteStatusResponse.decode = function decode(reader, length) {
+                        GetProtocolVersionUpgradeStateResponse.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.GetProtocolVersionUpgradeVoteStatusResponse();
+                            var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
                                 switch (tag >>> 3) {
                                 case 1:
-                                    message.v0 = $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.decode(reader, reader.uint32());
+                                    message.v0 = $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.decode(reader, reader.uint32());
                                     break;
                                 default:
                                     reader.skipType(tag & 7);
@@ -25025,37 +25168,37 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Decodes a GetProtocolVersionUpgradeVoteStatusResponse message from the specified reader or buffer, length delimited.
+                         * Decodes a GetProtocolVersionUpgradeStateResponse message from the specified reader or buffer, length delimited.
                          * @function decodeDelimited
-                         * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse
+                         * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse
                          * @static
                          * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                         * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse} GetProtocolVersionUpgradeVoteStatusResponse
+                         * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse} GetProtocolVersionUpgradeStateResponse
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        GetProtocolVersionUpgradeVoteStatusResponse.decodeDelimited = function decodeDelimited(reader) {
+                        GetProtocolVersionUpgradeStateResponse.decodeDelimited = function decodeDelimited(reader) {
                             if (!(reader instanceof $Reader))
                                 reader = new $Reader(reader);
                             return this.decode(reader, reader.uint32());
                         };
 
                         /**
-                         * Verifies a GetProtocolVersionUpgradeVoteStatusResponse message.
+                         * Verifies a GetProtocolVersionUpgradeStateResponse message.
                          * @function verify
-                         * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse
+                         * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse
                          * @static
                          * @param {Object.} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        GetProtocolVersionUpgradeVoteStatusResponse.verify = function verify(message) {
+                        GetProtocolVersionUpgradeStateResponse.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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.verify(message.v0);
+                                    var error = $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.verify(message.v0);
                                     if (error)
                                         return "v0." + error;
                                 }
@@ -25064,40 +25207,40 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Creates a GetProtocolVersionUpgradeVoteStatusResponse message from a plain object. Also converts values to their respective internal types.
+                         * Creates a GetProtocolVersionUpgradeStateResponse message from a plain object. Also converts values to their respective internal types.
                          * @function fromObject
-                         * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse
+                         * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse
                          * @static
                          * @param {Object.} object Plain object
-                         * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse} GetProtocolVersionUpgradeVoteStatusResponse
+                         * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse} GetProtocolVersionUpgradeStateResponse
                          */
-                        GetProtocolVersionUpgradeVoteStatusResponse.fromObject = function fromObject(object) {
-                            if (object instanceof $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse)
+                        GetProtocolVersionUpgradeStateResponse.fromObject = function fromObject(object) {
+                            if (object instanceof $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse)
                                 return object;
-                            var message = new $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse();
+                            var message = new $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse();
                             if (object.v0 != null) {
                                 if (typeof object.v0 !== "object")
-                                    throw TypeError(".org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.v0: object expected");
-                                message.v0 = $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.fromObject(object.v0);
+                                    throw TypeError(".org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.v0: object expected");
+                                message.v0 = $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.fromObject(object.v0);
                             }
                             return message;
                         };
 
                         /**
-                         * Creates a plain object from a GetProtocolVersionUpgradeVoteStatusResponse message. Also converts values to other types if specified.
+                         * Creates a plain object from a GetProtocolVersionUpgradeStateResponse message. Also converts values to other types if specified.
                          * @function toObject
-                         * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse
+                         * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse
                          * @static
-                         * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse} message GetProtocolVersionUpgradeVoteStatusResponse
+                         * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse} message GetProtocolVersionUpgradeStateResponse
                          * @param {$protobuf.IConversionOptions} [options] Conversion options
                          * @returns {Object.} Plain object
                          */
-                        GetProtocolVersionUpgradeVoteStatusResponse.toObject = function toObject(message, options) {
+                        GetProtocolVersionUpgradeStateResponse.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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.toObject(message.v0, options);
+                                object.v0 = $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.toObject(message.v0, options);
                                 if (options.oneofs)
                                     object.version = "v0";
                             }
@@ -25105,36 +25248,36 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Converts this GetProtocolVersionUpgradeVoteStatusResponse to JSON.
+                         * Converts this GetProtocolVersionUpgradeStateResponse to JSON.
                          * @function toJSON
-                         * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse
+                         * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse
                          * @instance
                          * @returns {Object.} JSON object
                          */
-                        GetProtocolVersionUpgradeVoteStatusResponse.prototype.toJSON = function toJSON() {
+                        GetProtocolVersionUpgradeStateResponse.prototype.toJSON = function toJSON() {
                             return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
                         };
 
-                        GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0 = (function() {
+                        GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0 = (function() {
 
                             /**
-                             * Properties of a GetProtocolVersionUpgradeVoteStatusResponseV0.
-                             * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse
-                             * @interface IGetProtocolVersionUpgradeVoteStatusResponseV0
-                             * @property {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.IVersionSignals|null} [versions] GetProtocolVersionUpgradeVoteStatusResponseV0 versions
-                             * @property {org.dash.platform.dapi.v0.IProof|null} [proof] GetProtocolVersionUpgradeVoteStatusResponseV0 proof
-                             * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetProtocolVersionUpgradeVoteStatusResponseV0 metadata
+                             * Properties of a GetProtocolVersionUpgradeStateResponseV0.
+                             * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse
+                             * @interface IGetProtocolVersionUpgradeStateResponseV0
+                             * @property {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.IVersions|null} [versions] GetProtocolVersionUpgradeStateResponseV0 versions
+                             * @property {org.dash.platform.dapi.v0.IProof|null} [proof] GetProtocolVersionUpgradeStateResponseV0 proof
+                             * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetProtocolVersionUpgradeStateResponseV0 metadata
                              */
 
                             /**
-                             * Constructs a new GetProtocolVersionUpgradeVoteStatusResponseV0.
-                             * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse
-                             * @classdesc Represents a GetProtocolVersionUpgradeVoteStatusResponseV0.
-                             * @implements IGetProtocolVersionUpgradeVoteStatusResponseV0
+                             * Constructs a new GetProtocolVersionUpgradeStateResponseV0.
+                             * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse
+                             * @classdesc Represents a GetProtocolVersionUpgradeStateResponseV0.
+                             * @implements IGetProtocolVersionUpgradeStateResponseV0
                              * @constructor
-                             * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.IGetProtocolVersionUpgradeVoteStatusResponseV0=} [properties] Properties to set
+                             * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.IGetProtocolVersionUpgradeStateResponseV0=} [properties] Properties to set
                              */
-                            function GetProtocolVersionUpgradeVoteStatusResponseV0(properties) {
+                            function GetProtocolVersionUpgradeStateResponseV0(properties) {
                                 if (properties)
                                     for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
                                         if (properties[keys[i]] != null)
@@ -25142,69 +25285,69 @@ $root.org = (function() {
                             }
 
                             /**
-                             * GetProtocolVersionUpgradeVoteStatusResponseV0 versions.
-                             * @member {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.IVersionSignals|null|undefined} versions
-                             * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0
+                             * GetProtocolVersionUpgradeStateResponseV0 versions.
+                             * @member {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.IVersions|null|undefined} versions
+                             * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0
                              * @instance
                              */
-                            GetProtocolVersionUpgradeVoteStatusResponseV0.prototype.versions = null;
+                            GetProtocolVersionUpgradeStateResponseV0.prototype.versions = null;
 
                             /**
-                             * GetProtocolVersionUpgradeVoteStatusResponseV0 proof.
+                             * GetProtocolVersionUpgradeStateResponseV0 proof.
                              * @member {org.dash.platform.dapi.v0.IProof|null|undefined} proof
-                             * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0
                              * @instance
                              */
-                            GetProtocolVersionUpgradeVoteStatusResponseV0.prototype.proof = null;
+                            GetProtocolVersionUpgradeStateResponseV0.prototype.proof = null;
 
                             /**
-                             * GetProtocolVersionUpgradeVoteStatusResponseV0 metadata.
+                             * GetProtocolVersionUpgradeStateResponseV0 metadata.
                              * @member {org.dash.platform.dapi.v0.IResponseMetadata|null|undefined} metadata
-                             * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0
                              * @instance
                              */
-                            GetProtocolVersionUpgradeVoteStatusResponseV0.prototype.metadata = null;
+                            GetProtocolVersionUpgradeStateResponseV0.prototype.metadata = null;
 
                             // OneOf field names bound to virtual getters and setters
                             var $oneOfFields;
 
                             /**
-                             * GetProtocolVersionUpgradeVoteStatusResponseV0 result.
+                             * GetProtocolVersionUpgradeStateResponseV0 result.
                              * @member {"versions"|"proof"|undefined} result
-                             * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0
                              * @instance
                              */
-                            Object.defineProperty(GetProtocolVersionUpgradeVoteStatusResponseV0.prototype, "result", {
+                            Object.defineProperty(GetProtocolVersionUpgradeStateResponseV0.prototype, "result", {
                                 get: $util.oneOfGetter($oneOfFields = ["versions", "proof"]),
                                 set: $util.oneOfSetter($oneOfFields)
                             });
 
                             /**
-                             * Creates a new GetProtocolVersionUpgradeVoteStatusResponseV0 instance using the specified properties.
+                             * Creates a new GetProtocolVersionUpgradeStateResponseV0 instance using the specified properties.
                              * @function create
-                             * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.IGetProtocolVersionUpgradeVoteStatusResponseV0=} [properties] Properties to set
-                             * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0} GetProtocolVersionUpgradeVoteStatusResponseV0 instance
+                             * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.IGetProtocolVersionUpgradeStateResponseV0=} [properties] Properties to set
+                             * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0} GetProtocolVersionUpgradeStateResponseV0 instance
                              */
-                            GetProtocolVersionUpgradeVoteStatusResponseV0.create = function create(properties) {
-                                return new GetProtocolVersionUpgradeVoteStatusResponseV0(properties);
+                            GetProtocolVersionUpgradeStateResponseV0.create = function create(properties) {
+                                return new GetProtocolVersionUpgradeStateResponseV0(properties);
                             };
 
                             /**
-                             * Encodes the specified GetProtocolVersionUpgradeVoteStatusResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.verify|verify} messages.
+                             * Encodes the specified GetProtocolVersionUpgradeStateResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.verify|verify} messages.
                              * @function encode
-                             * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.IGetProtocolVersionUpgradeVoteStatusResponseV0} message GetProtocolVersionUpgradeVoteStatusResponseV0 message or plain object to encode
+                             * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.IGetProtocolVersionUpgradeStateResponseV0} message GetProtocolVersionUpgradeStateResponseV0 message or plain object to encode
                              * @param {$protobuf.Writer} [writer] Writer to encode to
                              * @returns {$protobuf.Writer} Writer
                              */
-                            GetProtocolVersionUpgradeVoteStatusResponseV0.encode = function encode(message, writer) {
+                            GetProtocolVersionUpgradeStateResponseV0.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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.encode(message.versions, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+                                    $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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"))
@@ -25213,38 +25356,38 @@ $root.org = (function() {
                             };
 
                             /**
-                             * Encodes the specified GetProtocolVersionUpgradeVoteStatusResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.verify|verify} messages.
+                             * Encodes the specified GetProtocolVersionUpgradeStateResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.verify|verify} messages.
                              * @function encodeDelimited
-                             * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.IGetProtocolVersionUpgradeVoteStatusResponseV0} message GetProtocolVersionUpgradeVoteStatusResponseV0 message or plain object to encode
+                             * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.IGetProtocolVersionUpgradeStateResponseV0} message GetProtocolVersionUpgradeStateResponseV0 message or plain object to encode
                              * @param {$protobuf.Writer} [writer] Writer to encode to
                              * @returns {$protobuf.Writer} Writer
                              */
-                            GetProtocolVersionUpgradeVoteStatusResponseV0.encodeDelimited = function encodeDelimited(message, writer) {
+                            GetProtocolVersionUpgradeStateResponseV0.encodeDelimited = function encodeDelimited(message, writer) {
                                 return this.encode(message, writer).ldelim();
                             };
 
                             /**
-                             * Decodes a GetProtocolVersionUpgradeVoteStatusResponseV0 message from the specified reader or buffer.
+                             * Decodes a GetProtocolVersionUpgradeStateResponseV0 message from the specified reader or buffer.
                              * @function decode
-                             * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0
                              * @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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0} GetProtocolVersionUpgradeVoteStatusResponseV0
+                             * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0} GetProtocolVersionUpgradeStateResponseV0
                              * @throws {Error} If the payload is not a reader or valid buffer
                              * @throws {$protobuf.util.ProtocolError} If required fields are missing
                              */
-                            GetProtocolVersionUpgradeVoteStatusResponseV0.decode = function decode(reader, length) {
+                            GetProtocolVersionUpgradeStateResponseV0.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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0();
+                                var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0();
                                 while (reader.pos < end) {
                                     var tag = reader.uint32();
                                     switch (tag >>> 3) {
                                     case 1:
-                                        message.versions = $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.decode(reader, reader.uint32());
+                                        message.versions = $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.decode(reader, reader.uint32());
                                         break;
                                     case 2:
                                         message.proof = $root.org.dash.platform.dapi.v0.Proof.decode(reader, reader.uint32());
@@ -25261,37 +25404,37 @@ $root.org = (function() {
                             };
 
                             /**
-                             * Decodes a GetProtocolVersionUpgradeVoteStatusResponseV0 message from the specified reader or buffer, length delimited.
+                             * Decodes a GetProtocolVersionUpgradeStateResponseV0 message from the specified reader or buffer, length delimited.
                              * @function decodeDelimited
-                             * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0
                              * @static
                              * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                             * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0} GetProtocolVersionUpgradeVoteStatusResponseV0
+                             * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0} GetProtocolVersionUpgradeStateResponseV0
                              * @throws {Error} If the payload is not a reader or valid buffer
                              * @throws {$protobuf.util.ProtocolError} If required fields are missing
                              */
-                            GetProtocolVersionUpgradeVoteStatusResponseV0.decodeDelimited = function decodeDelimited(reader) {
+                            GetProtocolVersionUpgradeStateResponseV0.decodeDelimited = function decodeDelimited(reader) {
                                 if (!(reader instanceof $Reader))
                                     reader = new $Reader(reader);
                                 return this.decode(reader, reader.uint32());
                             };
 
                             /**
-                             * Verifies a GetProtocolVersionUpgradeVoteStatusResponseV0 message.
+                             * Verifies a GetProtocolVersionUpgradeStateResponseV0 message.
                              * @function verify
-                             * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0
                              * @static
                              * @param {Object.} message Plain object to verify
                              * @returns {string|null} `null` if valid, otherwise the reason why it is not
                              */
-                            GetProtocolVersionUpgradeVoteStatusResponseV0.verify = function verify(message) {
+                            GetProtocolVersionUpgradeStateResponseV0.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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.verify(message.versions);
+                                        var error = $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.verify(message.versions);
                                         if (error)
                                             return "versions." + error;
                                     }
@@ -25315,52 +25458,52 @@ $root.org = (function() {
                             };
 
                             /**
-                             * Creates a GetProtocolVersionUpgradeVoteStatusResponseV0 message from a plain object. Also converts values to their respective internal types.
+                             * Creates a GetProtocolVersionUpgradeStateResponseV0 message from a plain object. Also converts values to their respective internal types.
                              * @function fromObject
-                             * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0
                              * @static
                              * @param {Object.} object Plain object
-                             * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0} GetProtocolVersionUpgradeVoteStatusResponseV0
+                             * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0} GetProtocolVersionUpgradeStateResponseV0
                              */
-                            GetProtocolVersionUpgradeVoteStatusResponseV0.fromObject = function fromObject(object) {
-                                if (object instanceof $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0)
+                            GetProtocolVersionUpgradeStateResponseV0.fromObject = function fromObject(object) {
+                                if (object instanceof $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0)
                                     return object;
-                                var message = new $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0();
+                                var message = new $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0();
                                 if (object.versions != null) {
                                     if (typeof object.versions !== "object")
-                                        throw TypeError(".org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.versions: object expected");
-                                    message.versions = $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.fromObject(object.versions);
+                                        throw TypeError(".org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.versions: object expected");
+                                    message.versions = $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.fromObject(object.versions);
                                 }
                                 if (object.proof != null) {
                                     if (typeof object.proof !== "object")
-                                        throw TypeError(".org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.proof: object expected");
+                                        throw TypeError(".org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.metadata: object expected");
+                                        throw TypeError(".org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.metadata: object expected");
                                     message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.fromObject(object.metadata);
                                 }
                                 return message;
                             };
 
                             /**
-                             * Creates a plain object from a GetProtocolVersionUpgradeVoteStatusResponseV0 message. Also converts values to other types if specified.
+                             * Creates a plain object from a GetProtocolVersionUpgradeStateResponseV0 message. Also converts values to other types if specified.
                              * @function toObject
-                             * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0} message GetProtocolVersionUpgradeVoteStatusResponseV0
+                             * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0} message GetProtocolVersionUpgradeStateResponseV0
                              * @param {$protobuf.IConversionOptions} [options] Conversion options
                              * @returns {Object.} Plain object
                              */
-                            GetProtocolVersionUpgradeVoteStatusResponseV0.toObject = function toObject(message, options) {
+                            GetProtocolVersionUpgradeStateResponseV0.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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.toObject(message.versions, options);
+                                    object.versions = $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.toObject(message.versions, options);
                                     if (options.oneofs)
                                         object.result = "versions";
                                 }
@@ -25375,35 +25518,35 @@ $root.org = (function() {
                             };
 
                             /**
-                             * Converts this GetProtocolVersionUpgradeVoteStatusResponseV0 to JSON.
+                             * Converts this GetProtocolVersionUpgradeStateResponseV0 to JSON.
                              * @function toJSON
-                             * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0
                              * @instance
                              * @returns {Object.} JSON object
                              */
-                            GetProtocolVersionUpgradeVoteStatusResponseV0.prototype.toJSON = function toJSON() {
+                            GetProtocolVersionUpgradeStateResponseV0.prototype.toJSON = function toJSON() {
                                 return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
                             };
 
-                            GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals = (function() {
+                            GetProtocolVersionUpgradeStateResponseV0.Versions = (function() {
 
                                 /**
-                                 * Properties of a VersionSignals.
-                                 * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0
-                                 * @interface IVersionSignals
-                                 * @property {Array.|null} [versionSignals] VersionSignals versionSignals
+                                 * Properties of a Versions.
+                                 * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0
+                                 * @interface IVersions
+                                 * @property {Array.|null} [versions] Versions versions
                                  */
 
                                 /**
-                                 * Constructs a new VersionSignals.
-                                 * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0
-                                 * @classdesc Represents a VersionSignals.
-                                 * @implements IVersionSignals
+                                 * Constructs a new Versions.
+                                 * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0
+                                 * @classdesc Represents a Versions.
+                                 * @implements IVersions
                                  * @constructor
-                                 * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.IVersionSignals=} [properties] Properties to set
+                                 * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.IVersions=} [properties] Properties to set
                                  */
-                                function VersionSignals(properties) {
-                                    this.versionSignals = [];
+                                function Versions(properties) {
+                                    this.versions = [];
                                     if (properties)
                                         for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
                                             if (properties[keys[i]] != null)
@@ -25411,78 +25554,78 @@ $root.org = (function() {
                                 }
 
                                 /**
-                                 * VersionSignals versionSignals.
-                                 * @member {Array.} versionSignals
-                                 * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals
+                                 * Versions versions.
+                                 * @member {Array.} versions
+                                 * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions
                                  * @instance
                                  */
-                                VersionSignals.prototype.versionSignals = $util.emptyArray;
+                                Versions.prototype.versions = $util.emptyArray;
 
                                 /**
-                                 * Creates a new VersionSignals instance using the specified properties.
+                                 * Creates a new Versions instance using the specified properties.
                                  * @function create
-                                 * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals
+                                 * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions
                                  * @static
-                                 * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.IVersionSignals=} [properties] Properties to set
-                                 * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals} VersionSignals instance
+                                 * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.IVersions=} [properties] Properties to set
+                                 * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions} Versions instance
                                  */
-                                VersionSignals.create = function create(properties) {
-                                    return new VersionSignals(properties);
+                                Versions.create = function create(properties) {
+                                    return new Versions(properties);
                                 };
 
                                 /**
-                                 * Encodes the specified VersionSignals message. Does not implicitly {@link org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.verify|verify} messages.
+                                 * Encodes the specified Versions message. Does not implicitly {@link org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.verify|verify} messages.
                                  * @function encode
-                                 * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals
+                                 * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions
                                  * @static
-                                 * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.IVersionSignals} message VersionSignals message or plain object to encode
+                                 * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.IVersions} message Versions message or plain object to encode
                                  * @param {$protobuf.Writer} [writer] Writer to encode to
                                  * @returns {$protobuf.Writer} Writer
                                  */
-                                VersionSignals.encode = function encode(message, writer) {
+                                Versions.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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.encode(message.versionSignals[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+                                    if (message.versions != null && message.versions.length)
+                                        for (var i = 0; i < message.versions.length; ++i)
+                                            $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.encode(message.versions[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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.verify|verify} messages.
+                                 * Encodes the specified Versions message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.verify|verify} messages.
                                  * @function encodeDelimited
-                                 * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals
+                                 * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions
                                  * @static
-                                 * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.IVersionSignals} message VersionSignals message or plain object to encode
+                                 * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.IVersions} message Versions message or plain object to encode
                                  * @param {$protobuf.Writer} [writer] Writer to encode to
                                  * @returns {$protobuf.Writer} Writer
                                  */
-                                VersionSignals.encodeDelimited = function encodeDelimited(message, writer) {
+                                Versions.encodeDelimited = function encodeDelimited(message, writer) {
                                     return this.encode(message, writer).ldelim();
                                 };
 
                                 /**
-                                 * Decodes a VersionSignals message from the specified reader or buffer.
+                                 * Decodes a Versions message from the specified reader or buffer.
                                  * @function decode
-                                 * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals
+                                 * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals} VersionSignals
+                                 * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions} Versions
                                  * @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) {
+                                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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals();
+                                    var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions();
                                     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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.decode(reader, reader.uint32()));
+                                            if (!(message.versions && message.versions.length))
+                                                message.versions = [];
+                                            message.versions.push($root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.decode(reader, reader.uint32()));
                                             break;
                                         default:
                                             reader.skipType(tag & 7);
@@ -25493,125 +25636,125 @@ $root.org = (function() {
                                 };
 
                                 /**
-                                 * Decodes a VersionSignals message from the specified reader or buffer, length delimited.
+                                 * Decodes a Versions message from the specified reader or buffer, length delimited.
                                  * @function decodeDelimited
-                                 * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals
+                                 * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions
                                  * @static
                                  * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                                 * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals} VersionSignals
+                                 * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions} Versions
                                  * @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) {
+                                Versions.decodeDelimited = function decodeDelimited(reader) {
                                     if (!(reader instanceof $Reader))
                                         reader = new $Reader(reader);
                                     return this.decode(reader, reader.uint32());
                                 };
 
                                 /**
-                                 * Verifies a VersionSignals message.
+                                 * Verifies a Versions message.
                                  * @function verify
-                                 * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals
+                                 * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions
                                  * @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) {
+                                Versions.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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.verify(message.versionSignals[i]);
+                                    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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.verify(message.versions[i]);
                                             if (error)
-                                                return "versionSignals." + error;
+                                                return "versions." + error;
                                         }
                                     }
                                     return null;
                                 };
 
                                 /**
-                                 * Creates a VersionSignals message from a plain object. Also converts values to their respective internal types.
+                                 * Creates a Versions message from a plain object. Also converts values to their respective internal types.
                                  * @function fromObject
-                                 * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals
+                                 * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions
                                  * @static
                                  * @param {Object.} object Plain object
-                                 * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals} VersionSignals
+                                 * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions} Versions
                                  */
-                                VersionSignals.fromObject = function fromObject(object) {
-                                    if (object instanceof $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals)
+                                Versions.fromObject = function fromObject(object) {
+                                    if (object instanceof $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions)
                                         return object;
-                                    var message = new $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals();
-                                    if (object.versionSignals) {
-                                        if (!Array.isArray(object.versionSignals))
-                                            throw TypeError(".org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.versionSignals: object expected");
-                                            message.versionSignals[i] = $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.fromObject(object.versionSignals[i]);
+                                    var message = new $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions();
+                                    if (object.versions) {
+                                        if (!Array.isArray(object.versions))
+                                            throw TypeError(".org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.versions: object expected");
+                                            message.versions[i] = $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.fromObject(object.versions[i]);
                                         }
                                     }
                                     return message;
                                 };
 
                                 /**
-                                 * Creates a plain object from a VersionSignals message. Also converts values to other types if specified.
+                                 * Creates a plain object from a Versions message. Also converts values to other types if specified.
                                  * @function toObject
-                                 * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals
+                                 * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions
                                  * @static
-                                 * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals} message VersionSignals
+                                 * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions} message Versions
                                  * @param {$protobuf.IConversionOptions} [options] Conversion options
                                  * @returns {Object.} Plain object
                                  */
-                                VersionSignals.toObject = function toObject(message, options) {
+                                Versions.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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.toObject(message.versionSignals[j], options);
+                                        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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.toObject(message.versions[j], options);
                                     }
                                     return object;
                                 };
 
                                 /**
-                                 * Converts this VersionSignals to JSON.
+                                 * Converts this Versions to JSON.
                                  * @function toJSON
-                                 * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals
+                                 * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions
                                  * @instance
                                  * @returns {Object.} JSON object
                                  */
-                                VersionSignals.prototype.toJSON = function toJSON() {
+                                Versions.prototype.toJSON = function toJSON() {
                                     return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
                                 };
 
-                                return VersionSignals;
+                                return Versions;
                             })();
 
-                            GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal = (function() {
+                            GetProtocolVersionUpgradeStateResponseV0.VersionEntry = (function() {
 
                                 /**
-                                 * Properties of a VersionSignal.
-                                 * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0
-                                 * @interface IVersionSignal
-                                 * @property {Uint8Array|null} [proTxHash] VersionSignal proTxHash
-                                 * @property {number|null} [version] VersionSignal version
+                                 * Properties of a VersionEntry.
+                                 * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0
+                                 * @interface IVersionEntry
+                                 * @property {number|null} [versionNumber] VersionEntry versionNumber
+                                 * @property {number|null} [voteCount] VersionEntry voteCount
                                  */
 
                                 /**
-                                 * Constructs a new VersionSignal.
-                                 * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0
-                                 * @classdesc Represents a VersionSignal.
-                                 * @implements IVersionSignal
+                                 * Constructs a new VersionEntry.
+                                 * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0
+                                 * @classdesc Represents a VersionEntry.
+                                 * @implements IVersionEntry
                                  * @constructor
-                                 * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.IVersionSignal=} [properties] Properties to set
+                                 * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.IVersionEntry=} [properties] Properties to set
                                  */
-                                function VersionSignal(properties) {
+                                function VersionEntry(properties) {
                                     if (properties)
                                         for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
                                             if (properties[keys[i]] != null)
@@ -25619,88 +25762,88 @@ $root.org = (function() {
                                 }
 
                                 /**
-                                 * VersionSignal proTxHash.
-                                 * @member {Uint8Array} proTxHash
-                                 * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal
+                                 * VersionEntry versionNumber.
+                                 * @member {number} versionNumber
+                                 * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry
                                  * @instance
                                  */
-                                VersionSignal.prototype.proTxHash = $util.newBuffer([]);
+                                VersionEntry.prototype.versionNumber = 0;
 
                                 /**
-                                 * VersionSignal version.
-                                 * @member {number} version
-                                 * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal
+                                 * VersionEntry voteCount.
+                                 * @member {number} voteCount
+                                 * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry
                                  * @instance
                                  */
-                                VersionSignal.prototype.version = 0;
+                                VersionEntry.prototype.voteCount = 0;
 
                                 /**
-                                 * Creates a new VersionSignal instance using the specified properties.
+                                 * Creates a new VersionEntry instance using the specified properties.
                                  * @function create
-                                 * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal
+                                 * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry
                                  * @static
-                                 * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.IVersionSignal=} [properties] Properties to set
-                                 * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal} VersionSignal instance
+                                 * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.IVersionEntry=} [properties] Properties to set
+                                 * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry} VersionEntry instance
                                  */
-                                VersionSignal.create = function create(properties) {
-                                    return new VersionSignal(properties);
+                                VersionEntry.create = function create(properties) {
+                                    return new VersionEntry(properties);
                                 };
 
                                 /**
-                                 * Encodes the specified VersionSignal message. Does not implicitly {@link org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.verify|verify} messages.
+                                 * Encodes the specified VersionEntry message. Does not implicitly {@link org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.verify|verify} messages.
                                  * @function encode
-                                 * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal
+                                 * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry
                                  * @static
-                                 * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.IVersionSignal} message VersionSignal message or plain object to encode
+                                 * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.IVersionEntry} message VersionEntry message or plain object to encode
                                  * @param {$protobuf.Writer} [writer] Writer to encode to
                                  * @returns {$protobuf.Writer} Writer
                                  */
-                                VersionSignal.encode = function encode(message, writer) {
+                                VersionEntry.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);
+                                    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 VersionSignal message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.verify|verify} messages.
+                                 * Encodes the specified VersionEntry message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.verify|verify} messages.
                                  * @function encodeDelimited
-                                 * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal
+                                 * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry
                                  * @static
-                                 * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.IVersionSignal} message VersionSignal message or plain object to encode
+                                 * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.IVersionEntry} message VersionEntry message or plain object to encode
                                  * @param {$protobuf.Writer} [writer] Writer to encode to
                                  * @returns {$protobuf.Writer} Writer
                                  */
-                                VersionSignal.encodeDelimited = function encodeDelimited(message, writer) {
+                                VersionEntry.encodeDelimited = function encodeDelimited(message, writer) {
                                     return this.encode(message, writer).ldelim();
                                 };
 
                                 /**
-                                 * Decodes a VersionSignal message from the specified reader or buffer.
+                                 * Decodes a VersionEntry message from the specified reader or buffer.
                                  * @function decode
-                                 * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal
+                                 * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal} VersionSignal
+                                 * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry} VersionEntry
                                  * @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) {
+                                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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal();
+                                    var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry();
                                     while (reader.pos < end) {
                                         var tag = reader.uint32();
                                         switch (tag >>> 3) {
                                         case 1:
-                                            message.proTxHash = reader.bytes();
+                                            message.versionNumber = reader.uint32();
                                             break;
                                         case 2:
-                                            message.version = reader.uint32();
+                                            message.voteCount = reader.uint32();
                                             break;
                                         default:
                                             reader.skipType(tag & 7);
@@ -25711,131 +25854,122 @@ $root.org = (function() {
                                 };
 
                                 /**
-                                 * Decodes a VersionSignal message from the specified reader or buffer, length delimited.
+                                 * Decodes a VersionEntry message from the specified reader or buffer, length delimited.
                                  * @function decodeDelimited
-                                 * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal
+                                 * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry
                                  * @static
                                  * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                                 * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal} VersionSignal
+                                 * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry} VersionEntry
                                  * @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) {
+                                VersionEntry.decodeDelimited = function decodeDelimited(reader) {
                                     if (!(reader instanceof $Reader))
                                         reader = new $Reader(reader);
                                     return this.decode(reader, reader.uint32());
                                 };
 
                                 /**
-                                 * Verifies a VersionSignal message.
+                                 * Verifies a VersionEntry message.
                                  * @function verify
-                                 * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal
+                                 * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry
                                  * @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) {
+                                VersionEntry.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";
+                                    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 VersionSignal message from a plain object. Also converts values to their respective internal types.
+                                 * Creates a VersionEntry message from a plain object. Also converts values to their respective internal types.
                                  * @function fromObject
-                                 * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal
+                                 * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry
                                  * @static
                                  * @param {Object.} object Plain object
-                                 * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal} VersionSignal
+                                 * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry} VersionEntry
                                  */
-                                VersionSignal.fromObject = function fromObject(object) {
-                                    if (object instanceof $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal)
+                                VersionEntry.fromObject = function fromObject(object) {
+                                    if (object instanceof $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry)
                                         return object;
-                                    var message = new $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.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;
+                                    var message = new $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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 VersionSignal message. Also converts values to other types if specified.
+                                 * Creates a plain object from a VersionEntry message. Also converts values to other types if specified.
                                  * @function toObject
-                                 * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal
+                                 * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry
                                  * @static
-                                 * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal} message VersionSignal
+                                 * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry} message VersionEntry
                                  * @param {$protobuf.IConversionOptions} [options] Conversion options
                                  * @returns {Object.} Plain object
                                  */
-                                VersionSignal.toObject = function toObject(message, options) {
+                                VersionEntry.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;
+                                        object.versionNumber = 0;
+                                        object.voteCount = 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;
+                                    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 VersionSignal to JSON.
+                                 * Converts this VersionEntry to JSON.
                                  * @function toJSON
-                                 * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal
+                                 * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry
                                  * @instance
                                  * @returns {Object.} JSON object
                                  */
-                                VersionSignal.prototype.toJSON = function toJSON() {
+                                VersionEntry.prototype.toJSON = function toJSON() {
                                     return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
                                 };
 
-                                return VersionSignal;
+                                return VersionEntry;
                             })();
 
-                            return GetProtocolVersionUpgradeVoteStatusResponseV0;
+                            return GetProtocolVersionUpgradeStateResponseV0;
                         })();
 
-                        return GetProtocolVersionUpgradeVoteStatusResponse;
+                        return GetProtocolVersionUpgradeStateResponse;
                     })();
 
-                    v0.GetEpochsInfoRequest = (function() {
+                    v0.GetProtocolVersionUpgradeVoteStatusRequest = (function() {
 
                         /**
-                         * Properties of a GetEpochsInfoRequest.
+                         * Properties of a GetProtocolVersionUpgradeVoteStatusRequest.
                          * @memberof org.dash.platform.dapi.v0
-                         * @interface IGetEpochsInfoRequest
-                         * @property {org.dash.platform.dapi.v0.GetEpochsInfoRequest.IGetEpochsInfoRequestV0|null} [v0] GetEpochsInfoRequest v0
+                         * @interface IGetProtocolVersionUpgradeVoteStatusRequest
+                         * @property {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.IGetProtocolVersionUpgradeVoteStatusRequestV0|null} [v0] GetProtocolVersionUpgradeVoteStatusRequest v0
                          */
 
                         /**
-                         * Constructs a new GetEpochsInfoRequest.
+                         * Constructs a new GetProtocolVersionUpgradeVoteStatusRequest.
                          * @memberof org.dash.platform.dapi.v0
-                         * @classdesc Represents a GetEpochsInfoRequest.
-                         * @implements IGetEpochsInfoRequest
+                         * @classdesc Represents a GetProtocolVersionUpgradeVoteStatusRequest.
+                         * @implements IGetProtocolVersionUpgradeVoteStatusRequest
                          * @constructor
-                         * @param {org.dash.platform.dapi.v0.IGetEpochsInfoRequest=} [properties] Properties to set
+                         * @param {org.dash.platform.dapi.v0.IGetProtocolVersionUpgradeVoteStatusRequest=} [properties] Properties to set
                          */
-                        function GetEpochsInfoRequest(properties) {
+                        function GetProtocolVersionUpgradeVoteStatusRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
                                     if (properties[keys[i]] != null)
@@ -25843,89 +25977,89 @@ $root.org = (function() {
                         }
 
                         /**
-                         * GetEpochsInfoRequest v0.
-                         * @member {org.dash.platform.dapi.v0.GetEpochsInfoRequest.IGetEpochsInfoRequestV0|null|undefined} v0
-                         * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest
+                         * GetProtocolVersionUpgradeVoteStatusRequest v0.
+                         * @member {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.IGetProtocolVersionUpgradeVoteStatusRequestV0|null|undefined} v0
+                         * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest
                          * @instance
                          */
-                        GetEpochsInfoRequest.prototype.v0 = null;
+                        GetProtocolVersionUpgradeVoteStatusRequest.prototype.v0 = null;
 
                         // OneOf field names bound to virtual getters and setters
                         var $oneOfFields;
 
                         /**
-                         * GetEpochsInfoRequest version.
+                         * GetProtocolVersionUpgradeVoteStatusRequest version.
                          * @member {"v0"|undefined} version
-                         * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest
+                         * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest
                          * @instance
                          */
-                        Object.defineProperty(GetEpochsInfoRequest.prototype, "version", {
+                        Object.defineProperty(GetProtocolVersionUpgradeVoteStatusRequest.prototype, "version", {
                             get: $util.oneOfGetter($oneOfFields = ["v0"]),
                             set: $util.oneOfSetter($oneOfFields)
                         });
 
                         /**
-                         * Creates a new GetEpochsInfoRequest instance using the specified properties.
+                         * Creates a new GetProtocolVersionUpgradeVoteStatusRequest instance using the specified properties.
                          * @function create
-                         * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest
+                         * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest
                          * @static
-                         * @param {org.dash.platform.dapi.v0.IGetEpochsInfoRequest=} [properties] Properties to set
-                         * @returns {org.dash.platform.dapi.v0.GetEpochsInfoRequest} GetEpochsInfoRequest instance
+                         * @param {org.dash.platform.dapi.v0.IGetProtocolVersionUpgradeVoteStatusRequest=} [properties] Properties to set
+                         * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest} GetProtocolVersionUpgradeVoteStatusRequest instance
                          */
-                        GetEpochsInfoRequest.create = function create(properties) {
-                            return new GetEpochsInfoRequest(properties);
+                        GetProtocolVersionUpgradeVoteStatusRequest.create = function create(properties) {
+                            return new GetProtocolVersionUpgradeVoteStatusRequest(properties);
                         };
 
                         /**
-                         * Encodes the specified GetEpochsInfoRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetEpochsInfoRequest.verify|verify} messages.
+                         * Encodes the specified GetProtocolVersionUpgradeVoteStatusRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.verify|verify} messages.
                          * @function encode
-                         * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest
+                         * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest
                          * @static
-                         * @param {org.dash.platform.dapi.v0.IGetEpochsInfoRequest} message GetEpochsInfoRequest message or plain object to encode
+                         * @param {org.dash.platform.dapi.v0.IGetProtocolVersionUpgradeVoteStatusRequest} message GetProtocolVersionUpgradeVoteStatusRequest message or plain object to encode
                          * @param {$protobuf.Writer} [writer] Writer to encode to
                          * @returns {$protobuf.Writer} Writer
                          */
-                        GetEpochsInfoRequest.encode = function encode(message, writer) {
+                        GetProtocolVersionUpgradeVoteStatusRequest.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();
+                                $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.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.
+                         * Encodes the specified GetProtocolVersionUpgradeVoteStatusRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.verify|verify} messages.
                          * @function encodeDelimited
-                         * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest
+                         * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest
                          * @static
-                         * @param {org.dash.platform.dapi.v0.IGetEpochsInfoRequest} message GetEpochsInfoRequest message or plain object to encode
+                         * @param {org.dash.platform.dapi.v0.IGetProtocolVersionUpgradeVoteStatusRequest} message GetProtocolVersionUpgradeVoteStatusRequest message or plain object to encode
                          * @param {$protobuf.Writer} [writer] Writer to encode to
                          * @returns {$protobuf.Writer} Writer
                          */
-                        GetEpochsInfoRequest.encodeDelimited = function encodeDelimited(message, writer) {
+                        GetProtocolVersionUpgradeVoteStatusRequest.encodeDelimited = function encodeDelimited(message, writer) {
                             return this.encode(message, writer).ldelim();
                         };
 
                         /**
-                         * Decodes a GetEpochsInfoRequest message from the specified reader or buffer.
+                         * Decodes a GetProtocolVersionUpgradeVoteStatusRequest message from the specified reader or buffer.
                          * @function decode
-                         * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest
+                         * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest
                          * @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
+                         * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest} GetProtocolVersionUpgradeVoteStatusRequest
                          * @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) {
+                        GetProtocolVersionUpgradeVoteStatusRequest.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();
+                            var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest();
                             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());
+                                    message.v0 = $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.decode(reader, reader.uint32());
                                     break;
                                 default:
                                     reader.skipType(tag & 7);
@@ -25936,37 +26070,37 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Decodes a GetEpochsInfoRequest message from the specified reader or buffer, length delimited.
+                         * Decodes a GetProtocolVersionUpgradeVoteStatusRequest message from the specified reader or buffer, length delimited.
                          * @function decodeDelimited
-                         * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest
+                         * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest
                          * @static
                          * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                         * @returns {org.dash.platform.dapi.v0.GetEpochsInfoRequest} GetEpochsInfoRequest
+                         * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest} GetProtocolVersionUpgradeVoteStatusRequest
                          * @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) {
+                        GetProtocolVersionUpgradeVoteStatusRequest.decodeDelimited = function decodeDelimited(reader) {
                             if (!(reader instanceof $Reader))
                                 reader = new $Reader(reader);
                             return this.decode(reader, reader.uint32());
                         };
 
                         /**
-                         * Verifies a GetEpochsInfoRequest message.
+                         * Verifies a GetProtocolVersionUpgradeVoteStatusRequest message.
                          * @function verify
-                         * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest
+                         * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest
                          * @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) {
+                        GetProtocolVersionUpgradeVoteStatusRequest.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);
+                                    var error = $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.verify(message.v0);
                                     if (error)
                                         return "v0." + error;
                                 }
@@ -25975,40 +26109,40 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Creates a GetEpochsInfoRequest message from a plain object. Also converts values to their respective internal types.
+                         * Creates a GetProtocolVersionUpgradeVoteStatusRequest message from a plain object. Also converts values to their respective internal types.
                          * @function fromObject
-                         * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest
+                         * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest
                          * @static
                          * @param {Object.} object Plain object
-                         * @returns {org.dash.platform.dapi.v0.GetEpochsInfoRequest} GetEpochsInfoRequest
+                         * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest} GetProtocolVersionUpgradeVoteStatusRequest
                          */
-                        GetEpochsInfoRequest.fromObject = function fromObject(object) {
-                            if (object instanceof $root.org.dash.platform.dapi.v0.GetEpochsInfoRequest)
+                        GetProtocolVersionUpgradeVoteStatusRequest.fromObject = function fromObject(object) {
+                            if (object instanceof $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest)
                                 return object;
-                            var message = new $root.org.dash.platform.dapi.v0.GetEpochsInfoRequest();
+                            var message = new $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest();
                             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);
+                                    throw TypeError(".org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.v0: object expected");
+                                message.v0 = $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.fromObject(object.v0);
                             }
                             return message;
                         };
 
                         /**
-                         * Creates a plain object from a GetEpochsInfoRequest message. Also converts values to other types if specified.
+                         * Creates a plain object from a GetProtocolVersionUpgradeVoteStatusRequest message. Also converts values to other types if specified.
                          * @function toObject
-                         * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest
+                         * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest
                          * @static
-                         * @param {org.dash.platform.dapi.v0.GetEpochsInfoRequest} message GetEpochsInfoRequest
+                         * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest} message GetProtocolVersionUpgradeVoteStatusRequest
                          * @param {$protobuf.IConversionOptions} [options] Conversion options
                          * @returns {Object.} Plain object
                          */
-                        GetEpochsInfoRequest.toObject = function toObject(message, options) {
+                        GetProtocolVersionUpgradeVoteStatusRequest.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);
+                                object.v0 = $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.toObject(message.v0, options);
                                 if (options.oneofs)
                                     object.version = "v0";
                             }
@@ -26016,37 +26150,36 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Converts this GetEpochsInfoRequest to JSON.
+                         * Converts this GetProtocolVersionUpgradeVoteStatusRequest to JSON.
                          * @function toJSON
-                         * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest
+                         * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest
                          * @instance
                          * @returns {Object.} JSON object
                          */
-                        GetEpochsInfoRequest.prototype.toJSON = function toJSON() {
+                        GetProtocolVersionUpgradeVoteStatusRequest.prototype.toJSON = function toJSON() {
                             return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
                         };
 
-                        GetEpochsInfoRequest.GetEpochsInfoRequestV0 = (function() {
+                        GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0 = (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
+                             * Properties of a GetProtocolVersionUpgradeVoteStatusRequestV0.
+                             * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest
+                             * @interface IGetProtocolVersionUpgradeVoteStatusRequestV0
+                             * @property {Uint8Array|null} [startProTxHash] GetProtocolVersionUpgradeVoteStatusRequestV0 startProTxHash
+                             * @property {number|null} [count] GetProtocolVersionUpgradeVoteStatusRequestV0 count
+                             * @property {boolean|null} [prove] GetProtocolVersionUpgradeVoteStatusRequestV0 prove
                              */
 
                             /**
-                             * Constructs a new GetEpochsInfoRequestV0.
-                             * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest
-                             * @classdesc Represents a GetEpochsInfoRequestV0.
-                             * @implements IGetEpochsInfoRequestV0
+                             * Constructs a new GetProtocolVersionUpgradeVoteStatusRequestV0.
+                             * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest
+                             * @classdesc Represents a GetProtocolVersionUpgradeVoteStatusRequestV0.
+                             * @implements IGetProtocolVersionUpgradeVoteStatusRequestV0
                              * @constructor
-                             * @param {org.dash.platform.dapi.v0.GetEpochsInfoRequest.IGetEpochsInfoRequestV0=} [properties] Properties to set
+                             * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.IGetProtocolVersionUpgradeVoteStatusRequestV0=} [properties] Properties to set
                              */
-                            function GetEpochsInfoRequestV0(properties) {
+                            function GetProtocolVersionUpgradeVoteStatusRequestV0(properties) {
                                 if (properties)
                                     for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
                                         if (properties[keys[i]] != null)
@@ -26054,113 +26187,100 @@ $root.org = (function() {
                             }
 
                             /**
-                             * GetEpochsInfoRequestV0 startEpoch.
-                             * @member {google.protobuf.IUInt32Value|null|undefined} startEpoch
-                             * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0
+                             * GetProtocolVersionUpgradeVoteStatusRequestV0 startProTxHash.
+                             * @member {Uint8Array} startProTxHash
+                             * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0
                              * @instance
                              */
-                            GetEpochsInfoRequestV0.prototype.startEpoch = null;
+                            GetProtocolVersionUpgradeVoteStatusRequestV0.prototype.startProTxHash = $util.newBuffer([]);
 
                             /**
-                             * GetEpochsInfoRequestV0 count.
+                             * GetProtocolVersionUpgradeVoteStatusRequestV0 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
+                             * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0
                              * @instance
                              */
-                            GetEpochsInfoRequestV0.prototype.ascending = false;
+                            GetProtocolVersionUpgradeVoteStatusRequestV0.prototype.count = 0;
 
                             /**
-                             * GetEpochsInfoRequestV0 prove.
+                             * GetProtocolVersionUpgradeVoteStatusRequestV0 prove.
                              * @member {boolean} prove
-                             * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0
                              * @instance
                              */
-                            GetEpochsInfoRequestV0.prototype.prove = false;
+                            GetProtocolVersionUpgradeVoteStatusRequestV0.prototype.prove = false;
 
                             /**
-                             * Creates a new GetEpochsInfoRequestV0 instance using the specified properties.
+                             * Creates a new GetProtocolVersionUpgradeVoteStatusRequestV0 instance using the specified properties.
                              * @function create
-                             * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetEpochsInfoRequest.IGetEpochsInfoRequestV0=} [properties] Properties to set
-                             * @returns {org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0} GetEpochsInfoRequestV0 instance
+                             * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.IGetProtocolVersionUpgradeVoteStatusRequestV0=} [properties] Properties to set
+                             * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0} GetProtocolVersionUpgradeVoteStatusRequestV0 instance
                              */
-                            GetEpochsInfoRequestV0.create = function create(properties) {
-                                return new GetEpochsInfoRequestV0(properties);
+                            GetProtocolVersionUpgradeVoteStatusRequestV0.create = function create(properties) {
+                                return new GetProtocolVersionUpgradeVoteStatusRequestV0(properties);
                             };
 
                             /**
-                             * Encodes the specified GetEpochsInfoRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.verify|verify} messages.
+                             * Encodes the specified GetProtocolVersionUpgradeVoteStatusRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.verify|verify} messages.
                              * @function encode
-                             * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetEpochsInfoRequest.IGetEpochsInfoRequestV0} message GetEpochsInfoRequestV0 message or plain object to encode
+                             * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.IGetProtocolVersionUpgradeVoteStatusRequestV0} message GetProtocolVersionUpgradeVoteStatusRequestV0 message or plain object to encode
                              * @param {$protobuf.Writer} [writer] Writer to encode to
                              * @returns {$protobuf.Writer} Writer
                              */
-                            GetEpochsInfoRequestV0.encode = function encode(message, writer) {
+                            GetProtocolVersionUpgradeVoteStatusRequestV0.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.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.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);
+                                    writer.uint32(/* id 3, wireType 0 =*/24).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.
+                             * Encodes the specified GetProtocolVersionUpgradeVoteStatusRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.verify|verify} messages.
                              * @function encodeDelimited
-                             * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetEpochsInfoRequest.IGetEpochsInfoRequestV0} message GetEpochsInfoRequestV0 message or plain object to encode
+                             * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.IGetProtocolVersionUpgradeVoteStatusRequestV0} message GetProtocolVersionUpgradeVoteStatusRequestV0 message or plain object to encode
                              * @param {$protobuf.Writer} [writer] Writer to encode to
                              * @returns {$protobuf.Writer} Writer
                              */
-                            GetEpochsInfoRequestV0.encodeDelimited = function encodeDelimited(message, writer) {
+                            GetProtocolVersionUpgradeVoteStatusRequestV0.encodeDelimited = function encodeDelimited(message, writer) {
                                 return this.encode(message, writer).ldelim();
                             };
 
                             /**
-                             * Decodes a GetEpochsInfoRequestV0 message from the specified reader or buffer.
+                             * Decodes a GetProtocolVersionUpgradeVoteStatusRequestV0 message from the specified reader or buffer.
                              * @function decode
-                             * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0
                              * @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
+                             * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0} GetProtocolVersionUpgradeVoteStatusRequestV0
                              * @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) {
+                            GetProtocolVersionUpgradeVoteStatusRequestV0.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();
+                                var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0();
                                 while (reader.pos < end) {
                                     var tag = reader.uint32();
                                     switch (tag >>> 3) {
                                     case 1:
-                                        message.startEpoch = $root.google.protobuf.UInt32Value.decode(reader, reader.uint32());
+                                        message.startProTxHash = reader.bytes();
                                         break;
                                     case 2:
                                         message.count = reader.uint32();
                                         break;
                                     case 3:
-                                        message.ascending = reader.bool();
-                                        break;
-                                    case 4:
                                         message.prove = reader.bool();
                                         break;
                                     default:
@@ -26172,43 +26292,38 @@ $root.org = (function() {
                             };
 
                             /**
-                             * Decodes a GetEpochsInfoRequestV0 message from the specified reader or buffer, length delimited.
+                             * Decodes a GetProtocolVersionUpgradeVoteStatusRequestV0 message from the specified reader or buffer, length delimited.
                              * @function decodeDelimited
-                             * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0
                              * @static
                              * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                             * @returns {org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0} GetEpochsInfoRequestV0
+                             * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0} GetProtocolVersionUpgradeVoteStatusRequestV0
                              * @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) {
+                            GetProtocolVersionUpgradeVoteStatusRequestV0.decodeDelimited = function decodeDelimited(reader) {
                                 if (!(reader instanceof $Reader))
                                     reader = new $Reader(reader);
                                 return this.decode(reader, reader.uint32());
                             };
 
                             /**
-                             * Verifies a GetEpochsInfoRequestV0 message.
+                             * Verifies a GetProtocolVersionUpgradeVoteStatusRequestV0 message.
                              * @function verify
-                             * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0
                              * @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) {
+                            GetProtocolVersionUpgradeVoteStatusRequestV0.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.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.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";
@@ -26216,96 +26331,97 @@ $root.org = (function() {
                             };
 
                             /**
-                             * Creates a GetEpochsInfoRequestV0 message from a plain object. Also converts values to their respective internal types.
+                             * Creates a GetProtocolVersionUpgradeVoteStatusRequestV0 message from a plain object. Also converts values to their respective internal types.
                              * @function fromObject
-                             * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0
                              * @static
                              * @param {Object.} object Plain object
-                             * @returns {org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0} GetEpochsInfoRequestV0
+                             * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0} GetProtocolVersionUpgradeVoteStatusRequestV0
                              */
-                            GetEpochsInfoRequestV0.fromObject = function fromObject(object) {
-                                if (object instanceof $root.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0)
+                            GetProtocolVersionUpgradeVoteStatusRequestV0.fromObject = function fromObject(object) {
+                                if (object instanceof $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0)
                                     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);
-                                }
+                                var message = new $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0();
+                                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.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.
+                             * Creates a plain object from a GetProtocolVersionUpgradeVoteStatusRequestV0 message. Also converts values to other types if specified.
                              * @function toObject
-                             * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0} message GetEpochsInfoRequestV0
+                             * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0} message GetProtocolVersionUpgradeVoteStatusRequestV0
                              * @param {$protobuf.IConversionOptions} [options] Conversion options
                              * @returns {Object.} Plain object
                              */
-                            GetEpochsInfoRequestV0.toObject = function toObject(message, options) {
+                            GetProtocolVersionUpgradeVoteStatusRequestV0.toObject = function toObject(message, options) {
                                 if (!options)
                                     options = {};
                                 var object = {};
                                 if (options.defaults) {
-                                    object.startEpoch = null;
+                                    if (options.bytes === String)
+                                        object.startProTxHash = "";
+                                    else {
+                                        object.startProTxHash = [];
+                                        if (options.bytes !== Array)
+                                            object.startProTxHash = $util.newBuffer(object.startProTxHash);
+                                    }
                                     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.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.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.
+                             * Converts this GetProtocolVersionUpgradeVoteStatusRequestV0 to JSON.
                              * @function toJSON
-                             * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0
                              * @instance
                              * @returns {Object.} JSON object
                              */
-                            GetEpochsInfoRequestV0.prototype.toJSON = function toJSON() {
+                            GetProtocolVersionUpgradeVoteStatusRequestV0.prototype.toJSON = function toJSON() {
                                 return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
                             };
 
-                            return GetEpochsInfoRequestV0;
+                            return GetProtocolVersionUpgradeVoteStatusRequestV0;
                         })();
 
-                        return GetEpochsInfoRequest;
+                        return GetProtocolVersionUpgradeVoteStatusRequest;
                     })();
 
-                    v0.GetEpochsInfoResponse = (function() {
+                    v0.GetProtocolVersionUpgradeVoteStatusResponse = (function() {
 
                         /**
-                         * Properties of a GetEpochsInfoResponse.
+                         * Properties of a GetProtocolVersionUpgradeVoteStatusResponse.
                          * @memberof org.dash.platform.dapi.v0
-                         * @interface IGetEpochsInfoResponse
-                         * @property {org.dash.platform.dapi.v0.GetEpochsInfoResponse.IGetEpochsInfoResponseV0|null} [v0] GetEpochsInfoResponse v0
+                         * @interface IGetProtocolVersionUpgradeVoteStatusResponse
+                         * @property {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.IGetProtocolVersionUpgradeVoteStatusResponseV0|null} [v0] GetProtocolVersionUpgradeVoteStatusResponse v0
                          */
 
                         /**
-                         * Constructs a new GetEpochsInfoResponse.
+                         * Constructs a new GetProtocolVersionUpgradeVoteStatusResponse.
                          * @memberof org.dash.platform.dapi.v0
-                         * @classdesc Represents a GetEpochsInfoResponse.
-                         * @implements IGetEpochsInfoResponse
+                         * @classdesc Represents a GetProtocolVersionUpgradeVoteStatusResponse.
+                         * @implements IGetProtocolVersionUpgradeVoteStatusResponse
                          * @constructor
-                         * @param {org.dash.platform.dapi.v0.IGetEpochsInfoResponse=} [properties] Properties to set
+                         * @param {org.dash.platform.dapi.v0.IGetProtocolVersionUpgradeVoteStatusResponse=} [properties] Properties to set
                          */
-                        function GetEpochsInfoResponse(properties) {
+                        function GetProtocolVersionUpgradeVoteStatusResponse(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
                                     if (properties[keys[i]] != null)
@@ -26313,89 +26429,89 @@ $root.org = (function() {
                         }
 
                         /**
-                         * GetEpochsInfoResponse v0.
-                         * @member {org.dash.platform.dapi.v0.GetEpochsInfoResponse.IGetEpochsInfoResponseV0|null|undefined} v0
-                         * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse
+                         * GetProtocolVersionUpgradeVoteStatusResponse v0.
+                         * @member {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.IGetProtocolVersionUpgradeVoteStatusResponseV0|null|undefined} v0
+                         * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse
                          * @instance
                          */
-                        GetEpochsInfoResponse.prototype.v0 = null;
+                        GetProtocolVersionUpgradeVoteStatusResponse.prototype.v0 = null;
 
                         // OneOf field names bound to virtual getters and setters
                         var $oneOfFields;
 
                         /**
-                         * GetEpochsInfoResponse version.
+                         * GetProtocolVersionUpgradeVoteStatusResponse version.
                          * @member {"v0"|undefined} version
-                         * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse
+                         * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse
                          * @instance
                          */
-                        Object.defineProperty(GetEpochsInfoResponse.prototype, "version", {
+                        Object.defineProperty(GetProtocolVersionUpgradeVoteStatusResponse.prototype, "version", {
                             get: $util.oneOfGetter($oneOfFields = ["v0"]),
                             set: $util.oneOfSetter($oneOfFields)
                         });
 
                         /**
-                         * Creates a new GetEpochsInfoResponse instance using the specified properties.
+                         * Creates a new GetProtocolVersionUpgradeVoteStatusResponse instance using the specified properties.
                          * @function create
-                         * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse
+                         * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse
                          * @static
-                         * @param {org.dash.platform.dapi.v0.IGetEpochsInfoResponse=} [properties] Properties to set
-                         * @returns {org.dash.platform.dapi.v0.GetEpochsInfoResponse} GetEpochsInfoResponse instance
+                         * @param {org.dash.platform.dapi.v0.IGetProtocolVersionUpgradeVoteStatusResponse=} [properties] Properties to set
+                         * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse} GetProtocolVersionUpgradeVoteStatusResponse instance
                          */
-                        GetEpochsInfoResponse.create = function create(properties) {
-                            return new GetEpochsInfoResponse(properties);
+                        GetProtocolVersionUpgradeVoteStatusResponse.create = function create(properties) {
+                            return new GetProtocolVersionUpgradeVoteStatusResponse(properties);
                         };
 
                         /**
-                         * Encodes the specified GetEpochsInfoResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetEpochsInfoResponse.verify|verify} messages.
+                         * Encodes the specified GetProtocolVersionUpgradeVoteStatusResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.verify|verify} messages.
                          * @function encode
-                         * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse
+                         * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse
                          * @static
-                         * @param {org.dash.platform.dapi.v0.IGetEpochsInfoResponse} message GetEpochsInfoResponse message or plain object to encode
+                         * @param {org.dash.platform.dapi.v0.IGetProtocolVersionUpgradeVoteStatusResponse} message GetProtocolVersionUpgradeVoteStatusResponse message or plain object to encode
                          * @param {$protobuf.Writer} [writer] Writer to encode to
                          * @returns {$protobuf.Writer} Writer
                          */
-                        GetEpochsInfoResponse.encode = function encode(message, writer) {
+                        GetProtocolVersionUpgradeVoteStatusResponse.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();
+                                $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.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.
+                         * Encodes the specified GetProtocolVersionUpgradeVoteStatusResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.verify|verify} messages.
                          * @function encodeDelimited
-                         * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse
+                         * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse
                          * @static
-                         * @param {org.dash.platform.dapi.v0.IGetEpochsInfoResponse} message GetEpochsInfoResponse message or plain object to encode
+                         * @param {org.dash.platform.dapi.v0.IGetProtocolVersionUpgradeVoteStatusResponse} message GetProtocolVersionUpgradeVoteStatusResponse message or plain object to encode
                          * @param {$protobuf.Writer} [writer] Writer to encode to
                          * @returns {$protobuf.Writer} Writer
                          */
-                        GetEpochsInfoResponse.encodeDelimited = function encodeDelimited(message, writer) {
+                        GetProtocolVersionUpgradeVoteStatusResponse.encodeDelimited = function encodeDelimited(message, writer) {
                             return this.encode(message, writer).ldelim();
                         };
 
                         /**
-                         * Decodes a GetEpochsInfoResponse message from the specified reader or buffer.
+                         * Decodes a GetProtocolVersionUpgradeVoteStatusResponse message from the specified reader or buffer.
                          * @function decode
-                         * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse
+                         * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse
                          * @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
+                         * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse} GetProtocolVersionUpgradeVoteStatusResponse
                          * @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) {
+                        GetProtocolVersionUpgradeVoteStatusResponse.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();
+                            var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse();
                             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());
+                                    message.v0 = $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.decode(reader, reader.uint32());
                                     break;
                                 default:
                                     reader.skipType(tag & 7);
@@ -26406,37 +26522,37 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Decodes a GetEpochsInfoResponse message from the specified reader or buffer, length delimited.
+                         * Decodes a GetProtocolVersionUpgradeVoteStatusResponse message from the specified reader or buffer, length delimited.
                          * @function decodeDelimited
-                         * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse
+                         * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse
                          * @static
                          * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                         * @returns {org.dash.platform.dapi.v0.GetEpochsInfoResponse} GetEpochsInfoResponse
+                         * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse} GetProtocolVersionUpgradeVoteStatusResponse
                          * @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) {
+                        GetProtocolVersionUpgradeVoteStatusResponse.decodeDelimited = function decodeDelimited(reader) {
                             if (!(reader instanceof $Reader))
                                 reader = new $Reader(reader);
                             return this.decode(reader, reader.uint32());
                         };
 
                         /**
-                         * Verifies a GetEpochsInfoResponse message.
+                         * Verifies a GetProtocolVersionUpgradeVoteStatusResponse message.
                          * @function verify
-                         * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse
+                         * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse
                          * @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) {
+                        GetProtocolVersionUpgradeVoteStatusResponse.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);
+                                    var error = $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.verify(message.v0);
                                     if (error)
                                         return "v0." + error;
                                 }
@@ -26445,40 +26561,40 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Creates a GetEpochsInfoResponse message from a plain object. Also converts values to their respective internal types.
+                         * Creates a GetProtocolVersionUpgradeVoteStatusResponse message from a plain object. Also converts values to their respective internal types.
                          * @function fromObject
-                         * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse
+                         * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse
                          * @static
                          * @param {Object.} object Plain object
-                         * @returns {org.dash.platform.dapi.v0.GetEpochsInfoResponse} GetEpochsInfoResponse
+                         * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse} GetProtocolVersionUpgradeVoteStatusResponse
                          */
-                        GetEpochsInfoResponse.fromObject = function fromObject(object) {
-                            if (object instanceof $root.org.dash.platform.dapi.v0.GetEpochsInfoResponse)
+                        GetProtocolVersionUpgradeVoteStatusResponse.fromObject = function fromObject(object) {
+                            if (object instanceof $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse)
                                 return object;
-                            var message = new $root.org.dash.platform.dapi.v0.GetEpochsInfoResponse();
+                            var message = new $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse();
                             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);
+                                    throw TypeError(".org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.v0: object expected");
+                                message.v0 = $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.fromObject(object.v0);
                             }
                             return message;
                         };
 
                         /**
-                         * Creates a plain object from a GetEpochsInfoResponse message. Also converts values to other types if specified.
+                         * Creates a plain object from a GetProtocolVersionUpgradeVoteStatusResponse message. Also converts values to other types if specified.
                          * @function toObject
-                         * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse
+                         * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse
                          * @static
-                         * @param {org.dash.platform.dapi.v0.GetEpochsInfoResponse} message GetEpochsInfoResponse
+                         * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse} message GetProtocolVersionUpgradeVoteStatusResponse
                          * @param {$protobuf.IConversionOptions} [options] Conversion options
                          * @returns {Object.} Plain object
                          */
-                        GetEpochsInfoResponse.toObject = function toObject(message, options) {
+                        GetProtocolVersionUpgradeVoteStatusResponse.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);
+                                object.v0 = $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.toObject(message.v0, options);
                                 if (options.oneofs)
                                     object.version = "v0";
                             }
@@ -26486,36 +26602,36 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Converts this GetEpochsInfoResponse to JSON.
+                         * Converts this GetProtocolVersionUpgradeVoteStatusResponse to JSON.
                          * @function toJSON
-                         * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse
+                         * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse
                          * @instance
                          * @returns {Object.} JSON object
                          */
-                        GetEpochsInfoResponse.prototype.toJSON = function toJSON() {
+                        GetProtocolVersionUpgradeVoteStatusResponse.prototype.toJSON = function toJSON() {
                             return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
                         };
 
-                        GetEpochsInfoResponse.GetEpochsInfoResponseV0 = (function() {
+                        GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0 = (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
+                             * Properties of a GetProtocolVersionUpgradeVoteStatusResponseV0.
+                             * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse
+                             * @interface IGetProtocolVersionUpgradeVoteStatusResponseV0
+                             * @property {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.IVersionSignals|null} [versions] GetProtocolVersionUpgradeVoteStatusResponseV0 versions
+                             * @property {org.dash.platform.dapi.v0.IProof|null} [proof] GetProtocolVersionUpgradeVoteStatusResponseV0 proof
+                             * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetProtocolVersionUpgradeVoteStatusResponseV0 metadata
                              */
 
                             /**
-                             * Constructs a new GetEpochsInfoResponseV0.
-                             * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse
-                             * @classdesc Represents a GetEpochsInfoResponseV0.
-                             * @implements IGetEpochsInfoResponseV0
+                             * Constructs a new GetProtocolVersionUpgradeVoteStatusResponseV0.
+                             * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse
+                             * @classdesc Represents a GetProtocolVersionUpgradeVoteStatusResponseV0.
+                             * @implements IGetProtocolVersionUpgradeVoteStatusResponseV0
                              * @constructor
-                             * @param {org.dash.platform.dapi.v0.GetEpochsInfoResponse.IGetEpochsInfoResponseV0=} [properties] Properties to set
+                             * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.IGetProtocolVersionUpgradeVoteStatusResponseV0=} [properties] Properties to set
                              */
-                            function GetEpochsInfoResponseV0(properties) {
+                            function GetProtocolVersionUpgradeVoteStatusResponseV0(properties) {
                                 if (properties)
                                     for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
                                         if (properties[keys[i]] != null)
@@ -26523,69 +26639,69 @@ $root.org = (function() {
                             }
 
                             /**
-                             * GetEpochsInfoResponseV0 epochs.
-                             * @member {org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.IEpochInfos|null|undefined} epochs
-                             * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0
+                             * GetProtocolVersionUpgradeVoteStatusResponseV0 versions.
+                             * @member {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.IVersionSignals|null|undefined} versions
+                             * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0
                              * @instance
                              */
-                            GetEpochsInfoResponseV0.prototype.epochs = null;
+                            GetProtocolVersionUpgradeVoteStatusResponseV0.prototype.versions = null;
 
                             /**
-                             * GetEpochsInfoResponseV0 proof.
+                             * GetProtocolVersionUpgradeVoteStatusResponseV0 proof.
                              * @member {org.dash.platform.dapi.v0.IProof|null|undefined} proof
-                             * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0
                              * @instance
                              */
-                            GetEpochsInfoResponseV0.prototype.proof = null;
+                            GetProtocolVersionUpgradeVoteStatusResponseV0.prototype.proof = null;
 
                             /**
-                             * GetEpochsInfoResponseV0 metadata.
+                             * GetProtocolVersionUpgradeVoteStatusResponseV0 metadata.
                              * @member {org.dash.platform.dapi.v0.IResponseMetadata|null|undefined} metadata
-                             * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0
                              * @instance
                              */
-                            GetEpochsInfoResponseV0.prototype.metadata = null;
+                            GetProtocolVersionUpgradeVoteStatusResponseV0.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
+                             * GetProtocolVersionUpgradeVoteStatusResponseV0 result.
+                             * @member {"versions"|"proof"|undefined} result
+                             * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0
                              * @instance
                              */
-                            Object.defineProperty(GetEpochsInfoResponseV0.prototype, "result", {
-                                get: $util.oneOfGetter($oneOfFields = ["epochs", "proof"]),
+                            Object.defineProperty(GetProtocolVersionUpgradeVoteStatusResponseV0.prototype, "result", {
+                                get: $util.oneOfGetter($oneOfFields = ["versions", "proof"]),
                                 set: $util.oneOfSetter($oneOfFields)
                             });
 
                             /**
-                             * Creates a new GetEpochsInfoResponseV0 instance using the specified properties.
+                             * Creates a new GetProtocolVersionUpgradeVoteStatusResponseV0 instance using the specified properties.
                              * @function create
-                             * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetEpochsInfoResponse.IGetEpochsInfoResponseV0=} [properties] Properties to set
-                             * @returns {org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0} GetEpochsInfoResponseV0 instance
+                             * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.IGetProtocolVersionUpgradeVoteStatusResponseV0=} [properties] Properties to set
+                             * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0} GetProtocolVersionUpgradeVoteStatusResponseV0 instance
                              */
-                            GetEpochsInfoResponseV0.create = function create(properties) {
-                                return new GetEpochsInfoResponseV0(properties);
+                            GetProtocolVersionUpgradeVoteStatusResponseV0.create = function create(properties) {
+                                return new GetProtocolVersionUpgradeVoteStatusResponseV0(properties);
                             };
 
                             /**
-                             * Encodes the specified GetEpochsInfoResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.verify|verify} messages.
+                             * Encodes the specified GetProtocolVersionUpgradeVoteStatusResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.verify|verify} messages.
                              * @function encode
-                             * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetEpochsInfoResponse.IGetEpochsInfoResponseV0} message GetEpochsInfoResponseV0 message or plain object to encode
+                             * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.IGetProtocolVersionUpgradeVoteStatusResponseV0} message GetProtocolVersionUpgradeVoteStatusResponseV0 message or plain object to encode
                              * @param {$protobuf.Writer} [writer] Writer to encode to
                              * @returns {$protobuf.Writer} Writer
                              */
-                            GetEpochsInfoResponseV0.encode = function encode(message, writer) {
+                            GetProtocolVersionUpgradeVoteStatusResponseV0.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.versions != null && Object.hasOwnProperty.call(message, "versions"))
+                                    $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.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"))
@@ -26594,38 +26710,38 @@ $root.org = (function() {
                             };
 
                             /**
-                             * Encodes the specified GetEpochsInfoResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.verify|verify} messages.
+                             * Encodes the specified GetProtocolVersionUpgradeVoteStatusResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.verify|verify} messages.
                              * @function encodeDelimited
-                             * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetEpochsInfoResponse.IGetEpochsInfoResponseV0} message GetEpochsInfoResponseV0 message or plain object to encode
+                             * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.IGetProtocolVersionUpgradeVoteStatusResponseV0} message GetProtocolVersionUpgradeVoteStatusResponseV0 message or plain object to encode
                              * @param {$protobuf.Writer} [writer] Writer to encode to
                              * @returns {$protobuf.Writer} Writer
                              */
-                            GetEpochsInfoResponseV0.encodeDelimited = function encodeDelimited(message, writer) {
+                            GetProtocolVersionUpgradeVoteStatusResponseV0.encodeDelimited = function encodeDelimited(message, writer) {
                                 return this.encode(message, writer).ldelim();
                             };
 
                             /**
-                             * Decodes a GetEpochsInfoResponseV0 message from the specified reader or buffer.
+                             * Decodes a GetProtocolVersionUpgradeVoteStatusResponseV0 message from the specified reader or buffer.
                              * @function decode
-                             * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0
                              * @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
+                             * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0} GetProtocolVersionUpgradeVoteStatusResponseV0
                              * @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) {
+                            GetProtocolVersionUpgradeVoteStatusResponseV0.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();
+                                var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0();
                                 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());
+                                        message.versions = $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.decode(reader, reader.uint32());
                                         break;
                                     case 2:
                                         message.proof = $root.org.dash.platform.dapi.v0.Proof.decode(reader, reader.uint32());
@@ -26642,39 +26758,39 @@ $root.org = (function() {
                             };
 
                             /**
-                             * Decodes a GetEpochsInfoResponseV0 message from the specified reader or buffer, length delimited.
+                             * Decodes a GetProtocolVersionUpgradeVoteStatusResponseV0 message from the specified reader or buffer, length delimited.
                              * @function decodeDelimited
-                             * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0
                              * @static
                              * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                             * @returns {org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0} GetEpochsInfoResponseV0
+                             * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0} GetProtocolVersionUpgradeVoteStatusResponseV0
                              * @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) {
+                            GetProtocolVersionUpgradeVoteStatusResponseV0.decodeDelimited = function decodeDelimited(reader) {
                                 if (!(reader instanceof $Reader))
                                     reader = new $Reader(reader);
                                 return this.decode(reader, reader.uint32());
                             };
 
                             /**
-                             * Verifies a GetEpochsInfoResponseV0 message.
+                             * Verifies a GetProtocolVersionUpgradeVoteStatusResponseV0 message.
                              * @function verify
-                             * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0
                              * @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) {
+                            GetProtocolVersionUpgradeVoteStatusResponseV0.verify = function verify(message) {
                                 if (typeof message !== "object" || message === null)
                                     return "object expected";
                                 var properties = {};
-                                if (message.epochs != null && message.hasOwnProperty("epochs")) {
+                                if (message.versions != null && message.hasOwnProperty("versions")) {
                                     properties.result = 1;
                                     {
-                                        var error = $root.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.verify(message.epochs);
+                                        var error = $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.verify(message.versions);
                                         if (error)
-                                            return "epochs." + error;
+                                            return "versions." + error;
                                     }
                                 }
                                 if (message.proof != null && message.hasOwnProperty("proof")) {
@@ -26696,54 +26812,54 @@ $root.org = (function() {
                             };
 
                             /**
-                             * Creates a GetEpochsInfoResponseV0 message from a plain object. Also converts values to their respective internal types.
+                             * Creates a GetProtocolVersionUpgradeVoteStatusResponseV0 message from a plain object. Also converts values to their respective internal types.
                              * @function fromObject
-                             * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0
                              * @static
                              * @param {Object.} object Plain object
-                             * @returns {org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0} GetEpochsInfoResponseV0
+                             * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0} GetProtocolVersionUpgradeVoteStatusResponseV0
                              */
-                            GetEpochsInfoResponseV0.fromObject = function fromObject(object) {
-                                if (object instanceof $root.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0)
+                            GetProtocolVersionUpgradeVoteStatusResponseV0.fromObject = function fromObject(object) {
+                                if (object instanceof $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0)
                                     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);
+                                var message = new $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0();
+                                if (object.versions != null) {
+                                    if (typeof object.versions !== "object")
+                                        throw TypeError(".org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.versions: object expected");
+                                    message.versions = $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.fromObject(object.versions);
                                 }
                                 if (object.proof != null) {
                                     if (typeof object.proof !== "object")
-                                        throw TypeError(".org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.proof: object expected");
+                                        throw TypeError(".org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.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");
+                                        throw TypeError(".org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.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.
+                             * Creates a plain object from a GetProtocolVersionUpgradeVoteStatusResponseV0 message. Also converts values to other types if specified.
                              * @function toObject
-                             * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0} message GetEpochsInfoResponseV0
+                             * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0} message GetProtocolVersionUpgradeVoteStatusResponseV0
                              * @param {$protobuf.IConversionOptions} [options] Conversion options
                              * @returns {Object.} Plain object
                              */
-                            GetEpochsInfoResponseV0.toObject = function toObject(message, options) {
+                            GetProtocolVersionUpgradeVoteStatusResponseV0.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 (message.versions != null && message.hasOwnProperty("versions")) {
+                                    object.versions = $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.toObject(message.versions, options);
                                     if (options.oneofs)
-                                        object.result = "epochs";
+                                        object.result = "versions";
                                 }
                                 if (message.proof != null && message.hasOwnProperty("proof")) {
                                     object.proof = $root.org.dash.platform.dapi.v0.Proof.toObject(message.proof, options);
@@ -26756,35 +26872,35 @@ $root.org = (function() {
                             };
 
                             /**
-                             * Converts this GetEpochsInfoResponseV0 to JSON.
+                             * Converts this GetProtocolVersionUpgradeVoteStatusResponseV0 to JSON.
                              * @function toJSON
-                             * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0
                              * @instance
                              * @returns {Object.} JSON object
                              */
-                            GetEpochsInfoResponseV0.prototype.toJSON = function toJSON() {
+                            GetProtocolVersionUpgradeVoteStatusResponseV0.prototype.toJSON = function toJSON() {
                                 return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
                             };
 
-                            GetEpochsInfoResponseV0.EpochInfos = (function() {
+                            GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals = (function() {
 
                                 /**
-                                 * Properties of an EpochInfos.
-                                 * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0
-                                 * @interface IEpochInfos
-                                 * @property {Array.|null} [epochInfos] EpochInfos epochInfos
+                                 * Properties of a VersionSignals.
+                                 * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0
+                                 * @interface IVersionSignals
+                                 * @property {Array.|null} [versionSignals] VersionSignals versionSignals
                                  */
 
                                 /**
-                                 * Constructs a new EpochInfos.
-                                 * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0
-                                 * @classdesc Represents an EpochInfos.
-                                 * @implements IEpochInfos
+                                 * Constructs a new VersionSignals.
+                                 * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0
+                                 * @classdesc Represents a VersionSignals.
+                                 * @implements IVersionSignals
                                  * @constructor
-                                 * @param {org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.IEpochInfos=} [properties] Properties to set
+                                 * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.IVersionSignals=} [properties] Properties to set
                                  */
-                                function EpochInfos(properties) {
-                                    this.epochInfos = [];
+                                function VersionSignals(properties) {
+                                    this.versionSignals = [];
                                     if (properties)
                                         for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
                                             if (properties[keys[i]] != null)
@@ -26792,78 +26908,78 @@ $root.org = (function() {
                                 }
 
                                 /**
-                                 * EpochInfos epochInfos.
-                                 * @member {Array.} epochInfos
-                                 * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos
+                                 * VersionSignals versionSignals.
+                                 * @member {Array.} versionSignals
+                                 * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals
                                  * @instance
                                  */
-                                EpochInfos.prototype.epochInfos = $util.emptyArray;
+                                VersionSignals.prototype.versionSignals = $util.emptyArray;
 
                                 /**
-                                 * Creates a new EpochInfos instance using the specified properties.
+                                 * Creates a new VersionSignals instance using the specified properties.
                                  * @function create
-                                 * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos
+                                 * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals
                                  * @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
+                                 * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.IVersionSignals=} [properties] Properties to set
+                                 * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals} VersionSignals instance
                                  */
-                                EpochInfos.create = function create(properties) {
-                                    return new EpochInfos(properties);
+                                VersionSignals.create = function create(properties) {
+                                    return new VersionSignals(properties);
                                 };
 
                                 /**
-                                 * Encodes the specified EpochInfos message. Does not implicitly {@link org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.verify|verify} messages.
+                                 * Encodes the specified VersionSignals message. Does not implicitly {@link org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.verify|verify} messages.
                                  * @function encode
-                                 * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos
+                                 * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals
                                  * @static
-                                 * @param {org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.IEpochInfos} message EpochInfos message or plain object to encode
+                                 * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.IVersionSignals} message VersionSignals message or plain object to encode
                                  * @param {$protobuf.Writer} [writer] Writer to encode to
                                  * @returns {$protobuf.Writer} Writer
                                  */
-                                EpochInfos.encode = function encode(message, writer) {
+                                VersionSignals.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();
+                                    if (message.versionSignals != null && message.versionSignals.length)
+                                        for (var i = 0; i < message.versionSignals.length; ++i)
+                                            $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.encode(message.versionSignals[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.
+                                 * Encodes the specified VersionSignals message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.verify|verify} messages.
                                  * @function encodeDelimited
-                                 * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos
+                                 * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals
                                  * @static
-                                 * @param {org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.IEpochInfos} message EpochInfos message or plain object to encode
+                                 * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.IVersionSignals} message VersionSignals message or plain object to encode
                                  * @param {$protobuf.Writer} [writer] Writer to encode to
                                  * @returns {$protobuf.Writer} Writer
                                  */
-                                EpochInfos.encodeDelimited = function encodeDelimited(message, writer) {
+                                VersionSignals.encodeDelimited = function encodeDelimited(message, writer) {
                                     return this.encode(message, writer).ldelim();
                                 };
 
                                 /**
-                                 * Decodes an EpochInfos message from the specified reader or buffer.
+                                 * Decodes a VersionSignals message from the specified reader or buffer.
                                  * @function decode
-                                 * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos
+                                 * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.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.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos} EpochInfos
+                                 * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals} VersionSignals
                                  * @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) {
+                                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.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos();
+                                    var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals();
                                     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()));
+                                            if (!(message.versionSignals && message.versionSignals.length))
+                                                message.versionSignals = [];
+                                            message.versionSignals.push($root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.decode(reader, reader.uint32()));
                                             break;
                                         default:
                                             reader.skipType(tag & 7);
@@ -26874,129 +26990,125 @@ $root.org = (function() {
                                 };
 
                                 /**
-                                 * Decodes an EpochInfos message from the specified reader or buffer, length delimited.
+                                 * Decodes a VersionSignals message from the specified reader or buffer, length delimited.
                                  * @function decodeDelimited
-                                 * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos
+                                 * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals
                                  * @static
                                  * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                                 * @returns {org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos} EpochInfos
+                                 * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals} VersionSignals
                                  * @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) {
+                                VersionSignals.decodeDelimited = function decodeDelimited(reader) {
                                     if (!(reader instanceof $Reader))
                                         reader = new $Reader(reader);
                                     return this.decode(reader, reader.uint32());
                                 };
 
                                 /**
-                                 * Verifies an EpochInfos message.
+                                 * Verifies a VersionSignals message.
                                  * @function verify
-                                 * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos
+                                 * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals
                                  * @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) {
+                                VersionSignals.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 (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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.verify(message.versionSignals[i]);
                                             if (error)
-                                                return "epochInfos." + error;
+                                                return "versionSignals." + error;
                                         }
                                     }
                                     return null;
                                 };
 
                                 /**
-                                 * Creates an EpochInfos message from a plain object. Also converts values to their respective internal types.
+                                 * Creates a VersionSignals message from a plain object. Also converts values to their respective internal types.
                                  * @function fromObject
-                                 * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos
+                                 * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals
                                  * @static
                                  * @param {Object.} object Plain object
-                                 * @returns {org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos} EpochInfos
+                                 * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals} VersionSignals
                                  */
-                                EpochInfos.fromObject = function fromObject(object) {
-                                    if (object instanceof $root.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos)
+                                VersionSignals.fromObject = function fromObject(object) {
+                                    if (object instanceof $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals)
                                         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]);
+                                    var message = new $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals();
+                                    if (object.versionSignals) {
+                                        if (!Array.isArray(object.versionSignals))
+                                            throw TypeError(".org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.versionSignals: object expected");
+                                            message.versionSignals[i] = $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.fromObject(object.versionSignals[i]);
                                         }
                                     }
                                     return message;
                                 };
 
                                 /**
-                                 * Creates a plain object from an EpochInfos message. Also converts values to other types if specified.
+                                 * Creates a plain object from a VersionSignals message. Also converts values to other types if specified.
                                  * @function toObject
-                                 * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos
+                                 * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals
                                  * @static
-                                 * @param {org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos} message EpochInfos
+                                 * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals} message VersionSignals
                                  * @param {$protobuf.IConversionOptions} [options] Conversion options
                                  * @returns {Object.} Plain object
                                  */
-                                EpochInfos.toObject = function toObject(message, options) {
+                                VersionSignals.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);
+                                        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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.toObject(message.versionSignals[j], options);
                                     }
                                     return object;
                                 };
 
                                 /**
-                                 * Converts this EpochInfos to JSON.
+                                 * Converts this VersionSignals to JSON.
                                  * @function toJSON
-                                 * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos
+                                 * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals
                                  * @instance
                                  * @returns {Object.} JSON object
                                  */
-                                EpochInfos.prototype.toJSON = function toJSON() {
+                                VersionSignals.prototype.toJSON = function toJSON() {
                                     return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
                                 };
 
-                                return EpochInfos;
+                                return VersionSignals;
                             })();
 
-                            GetEpochsInfoResponseV0.EpochInfo = (function() {
+                            GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal = (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
-                                 * @property {number|null} [protocolVersion] EpochInfo protocolVersion
+                                 * Properties of a VersionSignal.
+                                 * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0
+                                 * @interface IVersionSignal
+                                 * @property {Uint8Array|null} [proTxHash] VersionSignal proTxHash
+                                 * @property {number|null} [version] VersionSignal version
                                  */
 
                                 /**
-                                 * Constructs a new EpochInfo.
-                                 * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0
-                                 * @classdesc Represents an EpochInfo.
-                                 * @implements IEpochInfo
+                                 * Constructs a new VersionSignal.
+                                 * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0
+                                 * @classdesc Represents a VersionSignal.
+                                 * @implements IVersionSignal
                                  * @constructor
-                                 * @param {org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.IEpochInfo=} [properties] Properties to set
+                                 * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.IVersionSignal=} [properties] Properties to set
                                  */
-                                function EpochInfo(properties) {
+                                function VersionSignal(properties) {
                                     if (properties)
                                         for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
                                             if (properties[keys[i]] != null)
@@ -27004,140 +27116,88 @@ $root.org = (function() {
                                 }
 
                                 /**
-                                 * EpochInfo number.
-                                 * @member {number} number
-                                 * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo
+                                 * VersionSignal proTxHash.
+                                 * @member {Uint8Array} proTxHash
+                                 * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal
                                  * @instance
                                  */
-                                EpochInfo.prototype.number = 0;
+                                VersionSignal.prototype.proTxHash = $util.newBuffer([]);
 
                                 /**
-                                 * EpochInfo firstBlockHeight.
-                                 * @member {number|Long} firstBlockHeight
-                                 * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo
+                                 * VersionSignal version.
+                                 * @member {number} version
+                                 * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal
                                  * @instance
                                  */
-                                EpochInfo.prototype.firstBlockHeight = $util.Long ? $util.Long.fromBits(0,0,true) : 0;
+                                VersionSignal.prototype.version = 0;
 
                                 /**
-                                 * EpochInfo firstCoreBlockHeight.
-                                 * @member {number} firstCoreBlockHeight
-                                 * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo
-                                 * @instance
+                                 * Creates a new VersionSignal instance using the specified properties.
+                                 * @function create
+                                 * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal
+                                 * @static
+                                 * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.IVersionSignal=} [properties] Properties to set
+                                 * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal} VersionSignal instance
                                  */
-                                EpochInfo.prototype.firstCoreBlockHeight = 0;
+                                VersionSignal.create = function create(properties) {
+                                    return new VersionSignal(properties);
+                                };
 
                                 /**
-                                 * EpochInfo startTime.
-                                 * @member {number|Long} startTime
-                                 * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo
-                                 * @instance
+                                 * Encodes the specified VersionSignal message. Does not implicitly {@link org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.verify|verify} messages.
+                                 * @function encode
+                                 * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal
+                                 * @static
+                                 * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.IVersionSignal} message VersionSignal message or plain object to encode
+                                 * @param {$protobuf.Writer} [writer] Writer to encode to
+                                 * @returns {$protobuf.Writer} Writer
                                  */
-                                EpochInfo.prototype.startTime = $util.Long ? $util.Long.fromBits(0,0,true) : 0;
+                                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;
+                                };
 
                                 /**
-                                 * EpochInfo feeMultiplier.
-                                 * @member {number} feeMultiplier
-                                 * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo
-                                 * @instance
-                                 */
-                                EpochInfo.prototype.feeMultiplier = 0;
-
-                                /**
-                                 * EpochInfo protocolVersion.
-                                 * @member {number} protocolVersion
-                                 * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo
-                                 * @instance
-                                 */
-                                EpochInfo.prototype.protocolVersion = 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);
-                                    if (message.protocolVersion != null && Object.hasOwnProperty.call(message, "protocolVersion"))
-                                        writer.uint32(/* id 6, wireType 0 =*/48).uint32(message.protocolVersion);
-                                    return writer;
-                                };
-
-                                /**
-                                 * Encodes the specified EpochInfo message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.verify|verify} messages.
+                                 * Encodes the specified VersionSignal message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.verify|verify} messages.
                                  * @function encodeDelimited
-                                 * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo
+                                 * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal
                                  * @static
-                                 * @param {org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.IEpochInfo} message EpochInfo message or plain object to encode
+                                 * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.IVersionSignal} message VersionSignal message or plain object to encode
                                  * @param {$protobuf.Writer} [writer] Writer to encode to
                                  * @returns {$protobuf.Writer} Writer
                                  */
-                                EpochInfo.encodeDelimited = function encodeDelimited(message, writer) {
+                                VersionSignal.encodeDelimited = function encodeDelimited(message, writer) {
                                     return this.encode(message, writer).ldelim();
                                 };
 
                                 /**
-                                 * Decodes an EpochInfo message from the specified reader or buffer.
+                                 * Decodes a VersionSignal message from the specified reader or buffer.
                                  * @function decode
-                                 * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo
+                                 * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.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.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo} EpochInfo
+                                 * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal} VersionSignal
                                  * @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) {
+                                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.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo();
+                                    var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal();
                                     while (reader.pos < end) {
                                         var tag = reader.uint32();
                                         switch (tag >>> 3) {
                                         case 1:
-                                            message.number = reader.uint32();
+                                            message.proTxHash = reader.bytes();
                                             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;
-                                        case 6:
-                                            message.protocolVersion = reader.uint32();
+                                            message.version = reader.uint32();
                                             break;
                                         default:
                                             reader.skipType(tag & 7);
@@ -27148,182 +27208,131 @@ $root.org = (function() {
                                 };
 
                                 /**
-                                 * Decodes an EpochInfo message from the specified reader or buffer, length delimited.
+                                 * Decodes a VersionSignal message from the specified reader or buffer, length delimited.
                                  * @function decodeDelimited
-                                 * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo
+                                 * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal
                                  * @static
                                  * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                                 * @returns {org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo} EpochInfo
+                                 * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal} VersionSignal
                                  * @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) {
+                                VersionSignal.decodeDelimited = function decodeDelimited(reader) {
                                     if (!(reader instanceof $Reader))
                                         reader = new $Reader(reader);
                                     return this.decode(reader, reader.uint32());
                                 };
 
                                 /**
-                                 * Verifies an EpochInfo message.
+                                 * Verifies a VersionSignal message.
                                  * @function verify
-                                 * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo
+                                 * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal
                                  * @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) {
+                                VersionSignal.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";
-                                    if (message.protocolVersion != null && message.hasOwnProperty("protocolVersion"))
-                                        if (!$util.isInteger(message.protocolVersion))
-                                            return "protocolVersion: integer 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 an EpochInfo message from a plain object. Also converts values to their respective internal types.
+                                 * Creates a VersionSignal message from a plain object. Also converts values to their respective internal types.
                                  * @function fromObject
-                                 * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo
+                                 * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal
                                  * @static
                                  * @param {Object.} object Plain object
-                                 * @returns {org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo} EpochInfo
+                                 * @returns {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal} VersionSignal
                                  */
-                                EpochInfo.fromObject = function fromObject(object) {
-                                    if (object instanceof $root.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo)
+                                VersionSignal.fromObject = function fromObject(object) {
+                                    if (object instanceof $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal)
                                         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);
-                                    if (object.protocolVersion != null)
-                                        message.protocolVersion = object.protocolVersion >>> 0;
+                                    var message = new $root.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.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 an EpochInfo message. Also converts values to other types if specified.
+                                 * Creates a plain object from a VersionSignal message. Also converts values to other types if specified.
                                  * @function toObject
-                                 * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo
+                                 * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal
                                  * @static
-                                 * @param {org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo} message EpochInfo
+                                 * @param {org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal} message VersionSignal
                                  * @param {$protobuf.IConversionOptions} [options] Conversion options
                                  * @returns {Object.} Plain object
                                  */
-                                EpochInfo.toObject = function toObject(message, options) {
+                                VersionSignal.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;
-                                        object.protocolVersion = 0;
+                                        if (options.bytes === String)
+                                            object.proTxHash = "";
+                                        else {
+                                            object.proTxHash = [];
+                                            if (options.bytes !== Array)
+                                                object.proTxHash = $util.newBuffer(object.proTxHash);
+                                        }
+                                        object.version = 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;
-                                    if (message.protocolVersion != null && message.hasOwnProperty("protocolVersion"))
-                                        object.protocolVersion = message.protocolVersion;
+                                    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 EpochInfo to JSON.
+                                 * Converts this VersionSignal to JSON.
                                  * @function toJSON
-                                 * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo
+                                 * @memberof org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal
                                  * @instance
                                  * @returns {Object.} JSON object
                                  */
-                                EpochInfo.prototype.toJSON = function toJSON() {
+                                VersionSignal.prototype.toJSON = function toJSON() {
                                     return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
                                 };
 
-                                return EpochInfo;
+                                return VersionSignal;
                             })();
 
-                            return GetEpochsInfoResponseV0;
+                            return GetProtocolVersionUpgradeVoteStatusResponseV0;
                         })();
 
-                        return GetEpochsInfoResponse;
+                        return GetProtocolVersionUpgradeVoteStatusResponse;
                     })();
 
-                    v0.GetContestedResourcesRequest = (function() {
+                    v0.GetEpochsInfoRequest = (function() {
 
                         /**
-                         * Properties of a GetContestedResourcesRequest.
+                         * Properties of a GetEpochsInfoRequest.
                          * @memberof org.dash.platform.dapi.v0
-                         * @interface IGetContestedResourcesRequest
-                         * @property {org.dash.platform.dapi.v0.GetContestedResourcesRequest.IGetContestedResourcesRequestV0|null} [v0] GetContestedResourcesRequest v0
+                         * @interface IGetEpochsInfoRequest
+                         * @property {org.dash.platform.dapi.v0.GetEpochsInfoRequest.IGetEpochsInfoRequestV0|null} [v0] GetEpochsInfoRequest v0
                          */
 
                         /**
-                         * Constructs a new GetContestedResourcesRequest.
+                         * Constructs a new GetEpochsInfoRequest.
                          * @memberof org.dash.platform.dapi.v0
-                         * @classdesc Represents a GetContestedResourcesRequest.
-                         * @implements IGetContestedResourcesRequest
+                         * @classdesc Represents a GetEpochsInfoRequest.
+                         * @implements IGetEpochsInfoRequest
                          * @constructor
-                         * @param {org.dash.platform.dapi.v0.IGetContestedResourcesRequest=} [properties] Properties to set
+                         * @param {org.dash.platform.dapi.v0.IGetEpochsInfoRequest=} [properties] Properties to set
                          */
-                        function GetContestedResourcesRequest(properties) {
+                        function GetEpochsInfoRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
                                     if (properties[keys[i]] != null)
@@ -27331,89 +27340,89 @@ $root.org = (function() {
                         }
 
                         /**
-                         * GetContestedResourcesRequest v0.
-                         * @member {org.dash.platform.dapi.v0.GetContestedResourcesRequest.IGetContestedResourcesRequestV0|null|undefined} v0
-                         * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest
+                         * GetEpochsInfoRequest v0.
+                         * @member {org.dash.platform.dapi.v0.GetEpochsInfoRequest.IGetEpochsInfoRequestV0|null|undefined} v0
+                         * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest
                          * @instance
                          */
-                        GetContestedResourcesRequest.prototype.v0 = null;
+                        GetEpochsInfoRequest.prototype.v0 = null;
 
                         // OneOf field names bound to virtual getters and setters
                         var $oneOfFields;
 
                         /**
-                         * GetContestedResourcesRequest version.
+                         * GetEpochsInfoRequest version.
                          * @member {"v0"|undefined} version
-                         * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest
+                         * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest
                          * @instance
                          */
-                        Object.defineProperty(GetContestedResourcesRequest.prototype, "version", {
+                        Object.defineProperty(GetEpochsInfoRequest.prototype, "version", {
                             get: $util.oneOfGetter($oneOfFields = ["v0"]),
                             set: $util.oneOfSetter($oneOfFields)
                         });
 
                         /**
-                         * Creates a new GetContestedResourcesRequest instance using the specified properties.
+                         * Creates a new GetEpochsInfoRequest instance using the specified properties.
                          * @function create
-                         * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest
+                         * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest
                          * @static
-                         * @param {org.dash.platform.dapi.v0.IGetContestedResourcesRequest=} [properties] Properties to set
-                         * @returns {org.dash.platform.dapi.v0.GetContestedResourcesRequest} GetContestedResourcesRequest instance
+                         * @param {org.dash.platform.dapi.v0.IGetEpochsInfoRequest=} [properties] Properties to set
+                         * @returns {org.dash.platform.dapi.v0.GetEpochsInfoRequest} GetEpochsInfoRequest instance
                          */
-                        GetContestedResourcesRequest.create = function create(properties) {
-                            return new GetContestedResourcesRequest(properties);
+                        GetEpochsInfoRequest.create = function create(properties) {
+                            return new GetEpochsInfoRequest(properties);
                         };
 
                         /**
-                         * Encodes the specified GetContestedResourcesRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourcesRequest.verify|verify} messages.
+                         * 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.GetContestedResourcesRequest
+                         * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest
                          * @static
-                         * @param {org.dash.platform.dapi.v0.IGetContestedResourcesRequest} message GetContestedResourcesRequest message or plain object to encode
+                         * @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
                          */
-                        GetContestedResourcesRequest.encode = function encode(message, 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.GetContestedResourcesRequest.GetContestedResourcesRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+                                $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 GetContestedResourcesRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourcesRequest.verify|verify} messages.
+                         * 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.GetContestedResourcesRequest
+                         * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest
                          * @static
-                         * @param {org.dash.platform.dapi.v0.IGetContestedResourcesRequest} message GetContestedResourcesRequest message or plain object to encode
+                         * @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
                          */
-                        GetContestedResourcesRequest.encodeDelimited = function encodeDelimited(message, writer) {
+                        GetEpochsInfoRequest.encodeDelimited = function encodeDelimited(message, writer) {
                             return this.encode(message, writer).ldelim();
                         };
 
                         /**
-                         * Decodes a GetContestedResourcesRequest message from the specified reader or buffer.
+                         * Decodes a GetEpochsInfoRequest message from the specified reader or buffer.
                          * @function decode
-                         * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest
+                         * @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.GetContestedResourcesRequest} GetContestedResourcesRequest
+                         * @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
                          */
-                        GetContestedResourcesRequest.decode = function decode(reader, length) {
+                        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.GetContestedResourcesRequest();
+                            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.GetContestedResourcesRequest.GetContestedResourcesRequestV0.decode(reader, reader.uint32());
+                                    message.v0 = $root.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.decode(reader, reader.uint32());
                                     break;
                                 default:
                                     reader.skipType(tag & 7);
@@ -27424,37 +27433,37 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Decodes a GetContestedResourcesRequest message from the specified reader or buffer, length delimited.
+                         * Decodes a GetEpochsInfoRequest message from the specified reader or buffer, length delimited.
                          * @function decodeDelimited
-                         * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest
+                         * @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.GetContestedResourcesRequest} GetContestedResourcesRequest
+                         * @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
                          */
-                        GetContestedResourcesRequest.decodeDelimited = function decodeDelimited(reader) {
+                        GetEpochsInfoRequest.decodeDelimited = function decodeDelimited(reader) {
                             if (!(reader instanceof $Reader))
                                 reader = new $Reader(reader);
                             return this.decode(reader, reader.uint32());
                         };
 
                         /**
-                         * Verifies a GetContestedResourcesRequest message.
+                         * Verifies a GetEpochsInfoRequest message.
                          * @function verify
-                         * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest
+                         * @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
                          */
-                        GetContestedResourcesRequest.verify = function verify(message) {
+                        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.GetContestedResourcesRequest.GetContestedResourcesRequestV0.verify(message.v0);
+                                    var error = $root.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.verify(message.v0);
                                     if (error)
                                         return "v0." + error;
                                 }
@@ -27463,40 +27472,40 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Creates a GetContestedResourcesRequest message from a plain object. Also converts values to their respective internal types.
+                         * Creates a GetEpochsInfoRequest message from a plain object. Also converts values to their respective internal types.
                          * @function fromObject
-                         * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest
+                         * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest
                          * @static
                          * @param {Object.} object Plain object
-                         * @returns {org.dash.platform.dapi.v0.GetContestedResourcesRequest} GetContestedResourcesRequest
+                         * @returns {org.dash.platform.dapi.v0.GetEpochsInfoRequest} GetEpochsInfoRequest
                          */
-                        GetContestedResourcesRequest.fromObject = function fromObject(object) {
-                            if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourcesRequest)
+                        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.GetContestedResourcesRequest();
+                            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.GetContestedResourcesRequest.v0: object expected");
-                                message.v0 = $root.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.fromObject(object.v0);
+                                    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 GetContestedResourcesRequest message. Also converts values to other types if specified.
+                         * Creates a plain object from a GetEpochsInfoRequest message. Also converts values to other types if specified.
                          * @function toObject
-                         * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest
+                         * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest
                          * @static
-                         * @param {org.dash.platform.dapi.v0.GetContestedResourcesRequest} message GetContestedResourcesRequest
+                         * @param {org.dash.platform.dapi.v0.GetEpochsInfoRequest} message GetEpochsInfoRequest
                          * @param {$protobuf.IConversionOptions} [options] Conversion options
                          * @returns {Object.} Plain object
                          */
-                        GetContestedResourcesRequest.toObject = function toObject(message, options) {
+                        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.GetContestedResourcesRequest.GetContestedResourcesRequestV0.toObject(message.v0, options);
+                                object.v0 = $root.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.toObject(message.v0, options);
                                 if (options.oneofs)
                                     object.version = "v0";
                             }
@@ -27504,44 +27513,37 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Converts this GetContestedResourcesRequest to JSON.
+                         * Converts this GetEpochsInfoRequest to JSON.
                          * @function toJSON
-                         * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest
+                         * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest
                          * @instance
                          * @returns {Object.} JSON object
                          */
-                        GetContestedResourcesRequest.prototype.toJSON = function toJSON() {
+                        GetEpochsInfoRequest.prototype.toJSON = function toJSON() {
                             return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
                         };
 
-                        GetContestedResourcesRequest.GetContestedResourcesRequestV0 = (function() {
+                        GetEpochsInfoRequest.GetEpochsInfoRequestV0 = (function() {
 
                             /**
-                             * Properties of a GetContestedResourcesRequestV0.
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest
-                             * @interface IGetContestedResourcesRequestV0
-                             * @property {Uint8Array|null} [contractId] GetContestedResourcesRequestV0 contractId
-                             * @property {string|null} [documentTypeName] GetContestedResourcesRequestV0 documentTypeName
-                             * @property {string|null} [indexName] GetContestedResourcesRequestV0 indexName
-                             * @property {Array.|null} [startIndexValues] GetContestedResourcesRequestV0 startIndexValues
-                             * @property {Array.|null} [endIndexValues] GetContestedResourcesRequestV0 endIndexValues
-                             * @property {org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.IStartAtValueInfo|null} [startAtValueInfo] GetContestedResourcesRequestV0 startAtValueInfo
-                             * @property {number|null} [count] GetContestedResourcesRequestV0 count
-                             * @property {boolean|null} [orderAscending] GetContestedResourcesRequestV0 orderAscending
-                             * @property {boolean|null} [prove] GetContestedResourcesRequestV0 prove
+                             * 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 GetContestedResourcesRequestV0.
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest
-                             * @classdesc Represents a GetContestedResourcesRequestV0.
-                             * @implements IGetContestedResourcesRequestV0
+                             * Constructs a new GetEpochsInfoRequestV0.
+                             * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest
+                             * @classdesc Represents a GetEpochsInfoRequestV0.
+                             * @implements IGetEpochsInfoRequestV0
                              * @constructor
-                             * @param {org.dash.platform.dapi.v0.GetContestedResourcesRequest.IGetContestedResourcesRequestV0=} [properties] Properties to set
+                             * @param {org.dash.platform.dapi.v0.GetEpochsInfoRequest.IGetEpochsInfoRequestV0=} [properties] Properties to set
                              */
-                            function GetContestedResourcesRequestV0(properties) {
-                                this.startIndexValues = [];
-                                this.endIndexValues = [];
+                            function GetEpochsInfoRequestV0(properties) {
                                 if (properties)
                                     for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
                                         if (properties[keys[i]] != null)
@@ -27549,184 +27551,113 @@ $root.org = (function() {
                             }
 
                             /**
-                             * GetContestedResourcesRequestV0 contractId.
-                             * @member {Uint8Array} contractId
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0
-                             * @instance
-                             */
-                            GetContestedResourcesRequestV0.prototype.contractId = $util.newBuffer([]);
-
-                            /**
-                             * GetContestedResourcesRequestV0 documentTypeName.
-                             * @member {string} documentTypeName
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0
-                             * @instance
-                             */
-                            GetContestedResourcesRequestV0.prototype.documentTypeName = "";
-
-                            /**
-                             * GetContestedResourcesRequestV0 indexName.
-                             * @member {string} indexName
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0
-                             * @instance
-                             */
-                            GetContestedResourcesRequestV0.prototype.indexName = "";
-
-                            /**
-                             * GetContestedResourcesRequestV0 startIndexValues.
-                             * @member {Array.} startIndexValues
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0
-                             * @instance
-                             */
-                            GetContestedResourcesRequestV0.prototype.startIndexValues = $util.emptyArray;
-
-                            /**
-                             * GetContestedResourcesRequestV0 endIndexValues.
-                             * @member {Array.} endIndexValues
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0
-                             * @instance
-                             */
-                            GetContestedResourcesRequestV0.prototype.endIndexValues = $util.emptyArray;
-
-                            /**
-                             * GetContestedResourcesRequestV0 startAtValueInfo.
-                             * @member {org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.IStartAtValueInfo|null|undefined} startAtValueInfo
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0
+                             * GetEpochsInfoRequestV0 startEpoch.
+                             * @member {google.protobuf.IUInt32Value|null|undefined} startEpoch
+                             * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0
                              * @instance
                              */
-                            GetContestedResourcesRequestV0.prototype.startAtValueInfo = null;
+                            GetEpochsInfoRequestV0.prototype.startEpoch = null;
 
                             /**
-                             * GetContestedResourcesRequestV0 count.
+                             * GetEpochsInfoRequestV0 count.
                              * @member {number} count
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0
                              * @instance
                              */
-                            GetContestedResourcesRequestV0.prototype.count = 0;
+                            GetEpochsInfoRequestV0.prototype.count = 0;
 
                             /**
-                             * GetContestedResourcesRequestV0 orderAscending.
-                             * @member {boolean} orderAscending
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0
+                             * GetEpochsInfoRequestV0 ascending.
+                             * @member {boolean} ascending
+                             * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0
                              * @instance
                              */
-                            GetContestedResourcesRequestV0.prototype.orderAscending = false;
+                            GetEpochsInfoRequestV0.prototype.ascending = false;
 
                             /**
-                             * GetContestedResourcesRequestV0 prove.
+                             * GetEpochsInfoRequestV0 prove.
                              * @member {boolean} prove
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0
                              * @instance
                              */
-                            GetContestedResourcesRequestV0.prototype.prove = false;
+                            GetEpochsInfoRequestV0.prototype.prove = false;
 
                             /**
-                             * Creates a new GetContestedResourcesRequestV0 instance using the specified properties.
+                             * Creates a new GetEpochsInfoRequestV0 instance using the specified properties.
                              * @function create
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetContestedResourcesRequest.IGetContestedResourcesRequestV0=} [properties] Properties to set
-                             * @returns {org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0} GetContestedResourcesRequestV0 instance
+                             * @param {org.dash.platform.dapi.v0.GetEpochsInfoRequest.IGetEpochsInfoRequestV0=} [properties] Properties to set
+                             * @returns {org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0} GetEpochsInfoRequestV0 instance
                              */
-                            GetContestedResourcesRequestV0.create = function create(properties) {
-                                return new GetContestedResourcesRequestV0(properties);
+                            GetEpochsInfoRequestV0.create = function create(properties) {
+                                return new GetEpochsInfoRequestV0(properties);
                             };
 
                             /**
-                             * Encodes the specified GetContestedResourcesRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.verify|verify} messages.
+                             * 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.GetContestedResourcesRequest.GetContestedResourcesRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetContestedResourcesRequest.IGetContestedResourcesRequestV0} message GetContestedResourcesRequestV0 message or plain object to encode
+                             * @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
                              */
-                            GetContestedResourcesRequestV0.encode = function encode(message, writer) {
+                            GetEpochsInfoRequestV0.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.documentTypeName != null && Object.hasOwnProperty.call(message, "documentTypeName"))
-                                    writer.uint32(/* id 2, wireType 2 =*/18).string(message.documentTypeName);
-                                if (message.indexName != null && Object.hasOwnProperty.call(message, "indexName"))
-                                    writer.uint32(/* id 3, wireType 2 =*/26).string(message.indexName);
-                                if (message.startIndexValues != null && message.startIndexValues.length)
-                                    for (var i = 0; i < message.startIndexValues.length; ++i)
-                                        writer.uint32(/* id 4, wireType 2 =*/34).bytes(message.startIndexValues[i]);
-                                if (message.endIndexValues != null && message.endIndexValues.length)
-                                    for (var i = 0; i < message.endIndexValues.length; ++i)
-                                        writer.uint32(/* id 5, wireType 2 =*/42).bytes(message.endIndexValues[i]);
-                                if (message.startAtValueInfo != null && Object.hasOwnProperty.call(message, "startAtValueInfo"))
-                                    $root.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.encode(message.startAtValueInfo, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim();
+                                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 7, wireType 0 =*/56).uint32(message.count);
-                                if (message.orderAscending != null && Object.hasOwnProperty.call(message, "orderAscending"))
-                                    writer.uint32(/* id 8, wireType 0 =*/64).bool(message.orderAscending);
+                                    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 9, wireType 0 =*/72).bool(message.prove);
+                                    writer.uint32(/* id 4, wireType 0 =*/32).bool(message.prove);
                                 return writer;
                             };
 
                             /**
-                             * Encodes the specified GetContestedResourcesRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.verify|verify} messages.
+                             * 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.GetContestedResourcesRequest.GetContestedResourcesRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetContestedResourcesRequest.IGetContestedResourcesRequestV0} message GetContestedResourcesRequestV0 message or plain object to encode
+                             * @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
                              */
-                            GetContestedResourcesRequestV0.encodeDelimited = function encodeDelimited(message, writer) {
+                            GetEpochsInfoRequestV0.encodeDelimited = function encodeDelimited(message, writer) {
                                 return this.encode(message, writer).ldelim();
                             };
 
                             /**
-                             * Decodes a GetContestedResourcesRequestV0 message from the specified reader or buffer.
+                             * Decodes a GetEpochsInfoRequestV0 message from the specified reader or buffer.
                              * @function decode
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0
+                             * @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.GetContestedResourcesRequest.GetContestedResourcesRequestV0} GetContestedResourcesRequestV0
+                             * @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
                              */
-                            GetContestedResourcesRequestV0.decode = function decode(reader, length) {
+                            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.GetContestedResourcesRequest.GetContestedResourcesRequestV0();
+                                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.contractId = reader.bytes();
+                                        message.startEpoch = $root.google.protobuf.UInt32Value.decode(reader, reader.uint32());
                                         break;
                                     case 2:
-                                        message.documentTypeName = reader.string();
+                                        message.count = reader.uint32();
                                         break;
                                     case 3:
-                                        message.indexName = reader.string();
+                                        message.ascending = reader.bool();
                                         break;
                                     case 4:
-                                        if (!(message.startIndexValues && message.startIndexValues.length))
-                                            message.startIndexValues = [];
-                                        message.startIndexValues.push(reader.bytes());
-                                        break;
-                                    case 5:
-                                        if (!(message.endIndexValues && message.endIndexValues.length))
-                                            message.endIndexValues = [];
-                                        message.endIndexValues.push(reader.bytes());
-                                        break;
-                                    case 6:
-                                        message.startAtValueInfo = $root.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.decode(reader, reader.uint32());
-                                        break;
-                                    case 7:
-                                        message.count = reader.uint32();
-                                        break;
-                                    case 8:
-                                        message.orderAscending = reader.bool();
-                                        break;
-                                    case 9:
                                         message.prove = reader.bool();
                                         break;
                                     default:
@@ -27738,66 +27669,43 @@ $root.org = (function() {
                             };
 
                             /**
-                             * Decodes a GetContestedResourcesRequestV0 message from the specified reader or buffer, length delimited.
+                             * Decodes a GetEpochsInfoRequestV0 message from the specified reader or buffer, length delimited.
                              * @function decodeDelimited
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0
+                             * @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.GetContestedResourcesRequest.GetContestedResourcesRequestV0} GetContestedResourcesRequestV0
+                             * @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
                              */
-                            GetContestedResourcesRequestV0.decodeDelimited = function decodeDelimited(reader) {
+                            GetEpochsInfoRequestV0.decodeDelimited = function decodeDelimited(reader) {
                                 if (!(reader instanceof $Reader))
                                     reader = new $Reader(reader);
                                 return this.decode(reader, reader.uint32());
                             };
 
                             /**
-                             * Verifies a GetContestedResourcesRequestV0 message.
+                             * Verifies a GetEpochsInfoRequestV0 message.
                              * @function verify
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0
+                             * @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
                              */
-                            GetContestedResourcesRequestV0.verify = function verify(message) {
+                            GetEpochsInfoRequestV0.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.documentTypeName != null && message.hasOwnProperty("documentTypeName"))
-                                    if (!$util.isString(message.documentTypeName))
-                                        return "documentTypeName: string expected";
-                                if (message.indexName != null && message.hasOwnProperty("indexName"))
-                                    if (!$util.isString(message.indexName))
-                                        return "indexName: string expected";
-                                if (message.startIndexValues != null && message.hasOwnProperty("startIndexValues")) {
-                                    if (!Array.isArray(message.startIndexValues))
-                                        return "startIndexValues: array expected";
-                                    for (var i = 0; i < message.startIndexValues.length; ++i)
-                                        if (!(message.startIndexValues[i] && typeof message.startIndexValues[i].length === "number" || $util.isString(message.startIndexValues[i])))
-                                            return "startIndexValues: buffer[] expected";
-                                }
-                                if (message.endIndexValues != null && message.hasOwnProperty("endIndexValues")) {
-                                    if (!Array.isArray(message.endIndexValues))
-                                        return "endIndexValues: array expected";
-                                    for (var i = 0; i < message.endIndexValues.length; ++i)
-                                        if (!(message.endIndexValues[i] && typeof message.endIndexValues[i].length === "number" || $util.isString(message.endIndexValues[i])))
-                                            return "endIndexValues: buffer[] expected";
-                                }
-                                if (message.startAtValueInfo != null && message.hasOwnProperty("startAtValueInfo")) {
-                                    var error = $root.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.verify(message.startAtValueInfo);
+                                if (message.startEpoch != null && message.hasOwnProperty("startEpoch")) {
+                                    var error = $root.google.protobuf.UInt32Value.verify(message.startEpoch);
                                     if (error)
-                                        return "startAtValueInfo." + error;
+                                        return "startEpoch." + error;
                                 }
                                 if (message.count != null && message.hasOwnProperty("count"))
                                     if (!$util.isInteger(message.count))
                                         return "count: integer expected";
-                                if (message.orderAscending != null && message.hasOwnProperty("orderAscending"))
-                                    if (typeof message.orderAscending !== "boolean")
-                                        return "orderAscending: boolean 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";
@@ -27805,373 +27713,96 @@ $root.org = (function() {
                             };
 
                             /**
-                             * Creates a GetContestedResourcesRequestV0 message from a plain object. Also converts values to their respective internal types.
+                             * Creates a GetEpochsInfoRequestV0 message from a plain object. Also converts values to their respective internal types.
                              * @function fromObject
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0
                              * @static
                              * @param {Object.} object Plain object
-                             * @returns {org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0} GetContestedResourcesRequestV0
+                             * @returns {org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0} GetEpochsInfoRequestV0
                              */
-                            GetContestedResourcesRequestV0.fromObject = function fromObject(object) {
-                                if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0)
+                            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.GetContestedResourcesRequest.GetContestedResourcesRequestV0();
-                                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.documentTypeName != null)
-                                    message.documentTypeName = String(object.documentTypeName);
-                                if (object.indexName != null)
-                                    message.indexName = String(object.indexName);
-                                if (object.startIndexValues) {
-                                    if (!Array.isArray(object.startIndexValues))
-                                        throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.startIndexValues: array expected");
-                                    message.startIndexValues = [];
-                                    for (var i = 0; i < object.startIndexValues.length; ++i)
-                                        if (typeof object.startIndexValues[i] === "string")
-                                            $util.base64.decode(object.startIndexValues[i], message.startIndexValues[i] = $util.newBuffer($util.base64.length(object.startIndexValues[i])), 0);
-                                        else if (object.startIndexValues[i].length >= 0)
-                                            message.startIndexValues[i] = object.startIndexValues[i];
-                                }
-                                if (object.endIndexValues) {
-                                    if (!Array.isArray(object.endIndexValues))
-                                        throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.endIndexValues: array expected");
-                                    message.endIndexValues = [];
-                                    for (var i = 0; i < object.endIndexValues.length; ++i)
-                                        if (typeof object.endIndexValues[i] === "string")
-                                            $util.base64.decode(object.endIndexValues[i], message.endIndexValues[i] = $util.newBuffer($util.base64.length(object.endIndexValues[i])), 0);
-                                        else if (object.endIndexValues[i].length >= 0)
-                                            message.endIndexValues[i] = object.endIndexValues[i];
-                                }
-                                if (object.startAtValueInfo != null) {
-                                    if (typeof object.startAtValueInfo !== "object")
-                                        throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.startAtValueInfo: object expected");
-                                    message.startAtValueInfo = $root.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.fromObject(object.startAtValueInfo);
+                                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.orderAscending != null)
-                                    message.orderAscending = Boolean(object.orderAscending);
+                                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 GetContestedResourcesRequestV0 message. Also converts values to other types if specified.
+                             * Creates a plain object from a GetEpochsInfoRequestV0 message. Also converts values to other types if specified.
                              * @function toObject
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0} message GetContestedResourcesRequestV0
+                             * @param {org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0} message GetEpochsInfoRequestV0
                              * @param {$protobuf.IConversionOptions} [options] Conversion options
                              * @returns {Object.} Plain object
                              */
-                            GetContestedResourcesRequestV0.toObject = function toObject(message, options) {
+                            GetEpochsInfoRequestV0.toObject = function toObject(message, options) {
                                 if (!options)
                                     options = {};
                                 var object = {};
-                                if (options.arrays || options.defaults) {
-                                    object.startIndexValues = [];
-                                    object.endIndexValues = [];
-                                }
                                 if (options.defaults) {
-                                    if (options.bytes === String)
-                                        object.contractId = "";
-                                    else {
-                                        object.contractId = [];
-                                        if (options.bytes !== Array)
-                                            object.contractId = $util.newBuffer(object.contractId);
-                                    }
-                                    object.documentTypeName = "";
-                                    object.indexName = "";
-                                    object.startAtValueInfo = null;
+                                    object.startEpoch = null;
                                     object.count = 0;
-                                    object.orderAscending = false;
+                                    object.ascending = false;
                                     object.prove = false;
                                 }
-                                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.documentTypeName != null && message.hasOwnProperty("documentTypeName"))
-                                    object.documentTypeName = message.documentTypeName;
-                                if (message.indexName != null && message.hasOwnProperty("indexName"))
-                                    object.indexName = message.indexName;
-                                if (message.startIndexValues && message.startIndexValues.length) {
-                                    object.startIndexValues = [];
-                                    for (var j = 0; j < message.startIndexValues.length; ++j)
-                                        object.startIndexValues[j] = options.bytes === String ? $util.base64.encode(message.startIndexValues[j], 0, message.startIndexValues[j].length) : options.bytes === Array ? Array.prototype.slice.call(message.startIndexValues[j]) : message.startIndexValues[j];
-                                }
-                                if (message.endIndexValues && message.endIndexValues.length) {
-                                    object.endIndexValues = [];
-                                    for (var j = 0; j < message.endIndexValues.length; ++j)
-                                        object.endIndexValues[j] = options.bytes === String ? $util.base64.encode(message.endIndexValues[j], 0, message.endIndexValues[j].length) : options.bytes === Array ? Array.prototype.slice.call(message.endIndexValues[j]) : message.endIndexValues[j];
-                                }
-                                if (message.startAtValueInfo != null && message.hasOwnProperty("startAtValueInfo"))
-                                    object.startAtValueInfo = $root.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.toObject(message.startAtValueInfo, options);
+                                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.orderAscending != null && message.hasOwnProperty("orderAscending"))
-                                    object.orderAscending = message.orderAscending;
+                                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 GetContestedResourcesRequestV0 to JSON.
+                             * Converts this GetEpochsInfoRequestV0 to JSON.
                              * @function toJSON
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0
                              * @instance
                              * @returns {Object.} JSON object
                              */
-                            GetContestedResourcesRequestV0.prototype.toJSON = function toJSON() {
+                            GetEpochsInfoRequestV0.prototype.toJSON = function toJSON() {
                                 return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
                             };
 
-                            GetContestedResourcesRequestV0.StartAtValueInfo = (function() {
-
-                                /**
-                                 * Properties of a StartAtValueInfo.
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0
-                                 * @interface IStartAtValueInfo
-                                 * @property {Uint8Array|null} [startValue] StartAtValueInfo startValue
-                                 * @property {boolean|null} [startValueIncluded] StartAtValueInfo startValueIncluded
-                                 */
-
-                                /**
-                                 * Constructs a new StartAtValueInfo.
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0
-                                 * @classdesc Represents a StartAtValueInfo.
-                                 * @implements IStartAtValueInfo
-                                 * @constructor
-                                 * @param {org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.IStartAtValueInfo=} [properties] Properties to set
-                                 */
-                                function StartAtValueInfo(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]];
-                                }
-
-                                /**
-                                 * StartAtValueInfo startValue.
-                                 * @member {Uint8Array} startValue
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo
-                                 * @instance
-                                 */
-                                StartAtValueInfo.prototype.startValue = $util.newBuffer([]);
-
-                                /**
-                                 * StartAtValueInfo startValueIncluded.
-                                 * @member {boolean} startValueIncluded
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo
-                                 * @instance
-                                 */
-                                StartAtValueInfo.prototype.startValueIncluded = false;
-
-                                /**
-                                 * Creates a new StartAtValueInfo instance using the specified properties.
-                                 * @function create
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo
-                                 * @static
-                                 * @param {org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.IStartAtValueInfo=} [properties] Properties to set
-                                 * @returns {org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo} StartAtValueInfo instance
-                                 */
-                                StartAtValueInfo.create = function create(properties) {
-                                    return new StartAtValueInfo(properties);
-                                };
-
-                                /**
-                                 * Encodes the specified StartAtValueInfo message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.verify|verify} messages.
-                                 * @function encode
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo
-                                 * @static
-                                 * @param {org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.IStartAtValueInfo} message StartAtValueInfo message or plain object to encode
-                                 * @param {$protobuf.Writer} [writer] Writer to encode to
-                                 * @returns {$protobuf.Writer} Writer
-                                 */
-                                StartAtValueInfo.encode = function encode(message, writer) {
-                                    if (!writer)
-                                        writer = $Writer.create();
-                                    if (message.startValue != null && Object.hasOwnProperty.call(message, "startValue"))
-                                        writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.startValue);
-                                    if (message.startValueIncluded != null && Object.hasOwnProperty.call(message, "startValueIncluded"))
-                                        writer.uint32(/* id 2, wireType 0 =*/16).bool(message.startValueIncluded);
-                                    return writer;
-                                };
-
-                                /**
-                                 * Encodes the specified StartAtValueInfo message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.verify|verify} messages.
-                                 * @function encodeDelimited
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo
-                                 * @static
-                                 * @param {org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.IStartAtValueInfo} message StartAtValueInfo message or plain object to encode
-                                 * @param {$protobuf.Writer} [writer] Writer to encode to
-                                 * @returns {$protobuf.Writer} Writer
-                                 */
-                                StartAtValueInfo.encodeDelimited = function encodeDelimited(message, writer) {
-                                    return this.encode(message, writer).ldelim();
-                                };
-
-                                /**
-                                 * Decodes a StartAtValueInfo message from the specified reader or buffer.
-                                 * @function decode
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo
-                                 * @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.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo} StartAtValueInfo
-                                 * @throws {Error} If the payload is not a reader or valid buffer
-                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
-                                 */
-                                StartAtValueInfo.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.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo();
-                                    while (reader.pos < end) {
-                                        var tag = reader.uint32();
-                                        switch (tag >>> 3) {
-                                        case 1:
-                                            message.startValue = reader.bytes();
-                                            break;
-                                        case 2:
-                                            message.startValueIncluded = reader.bool();
-                                            break;
-                                        default:
-                                            reader.skipType(tag & 7);
-                                            break;
-                                        }
-                                    }
-                                    return message;
-                                };
-
-                                /**
-                                 * Decodes a StartAtValueInfo message from the specified reader or buffer, length delimited.
-                                 * @function decodeDelimited
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo
-                                 * @static
-                                 * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                                 * @returns {org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo} StartAtValueInfo
-                                 * @throws {Error} If the payload is not a reader or valid buffer
-                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
-                                 */
-                                StartAtValueInfo.decodeDelimited = function decodeDelimited(reader) {
-                                    if (!(reader instanceof $Reader))
-                                        reader = new $Reader(reader);
-                                    return this.decode(reader, reader.uint32());
-                                };
-
-                                /**
-                                 * Verifies a StartAtValueInfo message.
-                                 * @function verify
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo
-                                 * @static
-                                 * @param {Object.} message Plain object to verify
-                                 * @returns {string|null} `null` if valid, otherwise the reason why it is not
-                                 */
-                                StartAtValueInfo.verify = function verify(message) {
-                                    if (typeof message !== "object" || message === null)
-                                        return "object expected";
-                                    if (message.startValue != null && message.hasOwnProperty("startValue"))
-                                        if (!(message.startValue && typeof message.startValue.length === "number" || $util.isString(message.startValue)))
-                                            return "startValue: buffer expected";
-                                    if (message.startValueIncluded != null && message.hasOwnProperty("startValueIncluded"))
-                                        if (typeof message.startValueIncluded !== "boolean")
-                                            return "startValueIncluded: boolean expected";
-                                    return null;
-                                };
-
-                                /**
-                                 * Creates a StartAtValueInfo message from a plain object. Also converts values to their respective internal types.
-                                 * @function fromObject
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo
-                                 * @static
-                                 * @param {Object.} object Plain object
-                                 * @returns {org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo} StartAtValueInfo
-                                 */
-                                StartAtValueInfo.fromObject = function fromObject(object) {
-                                    if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo)
-                                        return object;
-                                    var message = new $root.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo();
-                                    if (object.startValue != null)
-                                        if (typeof object.startValue === "string")
-                                            $util.base64.decode(object.startValue, message.startValue = $util.newBuffer($util.base64.length(object.startValue)), 0);
-                                        else if (object.startValue.length >= 0)
-                                            message.startValue = object.startValue;
-                                    if (object.startValueIncluded != null)
-                                        message.startValueIncluded = Boolean(object.startValueIncluded);
-                                    return message;
-                                };
-
-                                /**
-                                 * Creates a plain object from a StartAtValueInfo message. Also converts values to other types if specified.
-                                 * @function toObject
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo
-                                 * @static
-                                 * @param {org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo} message StartAtValueInfo
-                                 * @param {$protobuf.IConversionOptions} [options] Conversion options
-                                 * @returns {Object.} Plain object
-                                 */
-                                StartAtValueInfo.toObject = function toObject(message, options) {
-                                    if (!options)
-                                        options = {};
-                                    var object = {};
-                                    if (options.defaults) {
-                                        if (options.bytes === String)
-                                            object.startValue = "";
-                                        else {
-                                            object.startValue = [];
-                                            if (options.bytes !== Array)
-                                                object.startValue = $util.newBuffer(object.startValue);
-                                        }
-                                        object.startValueIncluded = false;
-                                    }
-                                    if (message.startValue != null && message.hasOwnProperty("startValue"))
-                                        object.startValue = options.bytes === String ? $util.base64.encode(message.startValue, 0, message.startValue.length) : options.bytes === Array ? Array.prototype.slice.call(message.startValue) : message.startValue;
-                                    if (message.startValueIncluded != null && message.hasOwnProperty("startValueIncluded"))
-                                        object.startValueIncluded = message.startValueIncluded;
-                                    return object;
-                                };
-
-                                /**
-                                 * Converts this StartAtValueInfo to JSON.
-                                 * @function toJSON
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo
-                                 * @instance
-                                 * @returns {Object.} JSON object
-                                 */
-                                StartAtValueInfo.prototype.toJSON = function toJSON() {
-                                    return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
-                                };
-
-                                return StartAtValueInfo;
-                            })();
-
-                            return GetContestedResourcesRequestV0;
+                            return GetEpochsInfoRequestV0;
                         })();
 
-                        return GetContestedResourcesRequest;
+                        return GetEpochsInfoRequest;
                     })();
 
-                    v0.GetContestedResourcesResponse = (function() {
+                    v0.GetEpochsInfoResponse = (function() {
 
                         /**
-                         * Properties of a GetContestedResourcesResponse.
+                         * Properties of a GetEpochsInfoResponse.
                          * @memberof org.dash.platform.dapi.v0
-                         * @interface IGetContestedResourcesResponse
-                         * @property {org.dash.platform.dapi.v0.GetContestedResourcesResponse.IGetContestedResourcesResponseV0|null} [v0] GetContestedResourcesResponse v0
+                         * @interface IGetEpochsInfoResponse
+                         * @property {org.dash.platform.dapi.v0.GetEpochsInfoResponse.IGetEpochsInfoResponseV0|null} [v0] GetEpochsInfoResponse v0
                          */
 
                         /**
-                         * Constructs a new GetContestedResourcesResponse.
+                         * Constructs a new GetEpochsInfoResponse.
                          * @memberof org.dash.platform.dapi.v0
-                         * @classdesc Represents a GetContestedResourcesResponse.
-                         * @implements IGetContestedResourcesResponse
+                         * @classdesc Represents a GetEpochsInfoResponse.
+                         * @implements IGetEpochsInfoResponse
                          * @constructor
-                         * @param {org.dash.platform.dapi.v0.IGetContestedResourcesResponse=} [properties] Properties to set
+                         * @param {org.dash.platform.dapi.v0.IGetEpochsInfoResponse=} [properties] Properties to set
                          */
-                        function GetContestedResourcesResponse(properties) {
+                        function GetEpochsInfoResponse(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
                                     if (properties[keys[i]] != null)
@@ -28179,89 +27810,89 @@ $root.org = (function() {
                         }
 
                         /**
-                         * GetContestedResourcesResponse v0.
-                         * @member {org.dash.platform.dapi.v0.GetContestedResourcesResponse.IGetContestedResourcesResponseV0|null|undefined} v0
-                         * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse
+                         * GetEpochsInfoResponse v0.
+                         * @member {org.dash.platform.dapi.v0.GetEpochsInfoResponse.IGetEpochsInfoResponseV0|null|undefined} v0
+                         * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse
                          * @instance
                          */
-                        GetContestedResourcesResponse.prototype.v0 = null;
+                        GetEpochsInfoResponse.prototype.v0 = null;
 
                         // OneOf field names bound to virtual getters and setters
                         var $oneOfFields;
 
                         /**
-                         * GetContestedResourcesResponse version.
+                         * GetEpochsInfoResponse version.
                          * @member {"v0"|undefined} version
-                         * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse
+                         * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse
                          * @instance
                          */
-                        Object.defineProperty(GetContestedResourcesResponse.prototype, "version", {
+                        Object.defineProperty(GetEpochsInfoResponse.prototype, "version", {
                             get: $util.oneOfGetter($oneOfFields = ["v0"]),
                             set: $util.oneOfSetter($oneOfFields)
                         });
 
                         /**
-                         * Creates a new GetContestedResourcesResponse instance using the specified properties.
+                         * Creates a new GetEpochsInfoResponse instance using the specified properties.
                          * @function create
-                         * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse
+                         * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse
                          * @static
-                         * @param {org.dash.platform.dapi.v0.IGetContestedResourcesResponse=} [properties] Properties to set
-                         * @returns {org.dash.platform.dapi.v0.GetContestedResourcesResponse} GetContestedResourcesResponse instance
+                         * @param {org.dash.platform.dapi.v0.IGetEpochsInfoResponse=} [properties] Properties to set
+                         * @returns {org.dash.platform.dapi.v0.GetEpochsInfoResponse} GetEpochsInfoResponse instance
                          */
-                        GetContestedResourcesResponse.create = function create(properties) {
-                            return new GetContestedResourcesResponse(properties);
+                        GetEpochsInfoResponse.create = function create(properties) {
+                            return new GetEpochsInfoResponse(properties);
                         };
 
                         /**
-                         * Encodes the specified GetContestedResourcesResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourcesResponse.verify|verify} messages.
+                         * 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.GetContestedResourcesResponse
+                         * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse
                          * @static
-                         * @param {org.dash.platform.dapi.v0.IGetContestedResourcesResponse} message GetContestedResourcesResponse message or plain object to encode
+                         * @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
                          */
-                        GetContestedResourcesResponse.encode = function encode(message, 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.GetContestedResourcesResponse.GetContestedResourcesResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+                                $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 GetContestedResourcesResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourcesResponse.verify|verify} messages.
+                         * 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.GetContestedResourcesResponse
+                         * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse
                          * @static
-                         * @param {org.dash.platform.dapi.v0.IGetContestedResourcesResponse} message GetContestedResourcesResponse message or plain object to encode
+                         * @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
                          */
-                        GetContestedResourcesResponse.encodeDelimited = function encodeDelimited(message, writer) {
+                        GetEpochsInfoResponse.encodeDelimited = function encodeDelimited(message, writer) {
                             return this.encode(message, writer).ldelim();
                         };
 
                         /**
-                         * Decodes a GetContestedResourcesResponse message from the specified reader or buffer.
+                         * Decodes a GetEpochsInfoResponse message from the specified reader or buffer.
                          * @function decode
-                         * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse
+                         * @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.GetContestedResourcesResponse} GetContestedResourcesResponse
+                         * @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
                          */
-                        GetContestedResourcesResponse.decode = function decode(reader, length) {
+                        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.GetContestedResourcesResponse();
+                            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.GetContestedResourcesResponse.GetContestedResourcesResponseV0.decode(reader, reader.uint32());
+                                    message.v0 = $root.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.decode(reader, reader.uint32());
                                     break;
                                 default:
                                     reader.skipType(tag & 7);
@@ -28272,37 +27903,37 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Decodes a GetContestedResourcesResponse message from the specified reader or buffer, length delimited.
+                         * Decodes a GetEpochsInfoResponse message from the specified reader or buffer, length delimited.
                          * @function decodeDelimited
-                         * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse
+                         * @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.GetContestedResourcesResponse} GetContestedResourcesResponse
+                         * @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
                          */
-                        GetContestedResourcesResponse.decodeDelimited = function decodeDelimited(reader) {
+                        GetEpochsInfoResponse.decodeDelimited = function decodeDelimited(reader) {
                             if (!(reader instanceof $Reader))
                                 reader = new $Reader(reader);
                             return this.decode(reader, reader.uint32());
                         };
 
                         /**
-                         * Verifies a GetContestedResourcesResponse message.
+                         * Verifies a GetEpochsInfoResponse message.
                          * @function verify
-                         * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse
+                         * @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
                          */
-                        GetContestedResourcesResponse.verify = function verify(message) {
+                        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.GetContestedResourcesResponse.GetContestedResourcesResponseV0.verify(message.v0);
+                                    var error = $root.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.verify(message.v0);
                                     if (error)
                                         return "v0." + error;
                                 }
@@ -28311,40 +27942,40 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Creates a GetContestedResourcesResponse message from a plain object. Also converts values to their respective internal types.
+                         * Creates a GetEpochsInfoResponse message from a plain object. Also converts values to their respective internal types.
                          * @function fromObject
-                         * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse
+                         * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse
                          * @static
                          * @param {Object.} object Plain object
-                         * @returns {org.dash.platform.dapi.v0.GetContestedResourcesResponse} GetContestedResourcesResponse
+                         * @returns {org.dash.platform.dapi.v0.GetEpochsInfoResponse} GetEpochsInfoResponse
                          */
-                        GetContestedResourcesResponse.fromObject = function fromObject(object) {
-                            if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourcesResponse)
+                        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.GetContestedResourcesResponse();
+                            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.GetContestedResourcesResponse.v0: object expected");
-                                message.v0 = $root.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.fromObject(object.v0);
+                                    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 GetContestedResourcesResponse message. Also converts values to other types if specified.
+                         * Creates a plain object from a GetEpochsInfoResponse message. Also converts values to other types if specified.
                          * @function toObject
-                         * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse
+                         * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse
                          * @static
-                         * @param {org.dash.platform.dapi.v0.GetContestedResourcesResponse} message GetContestedResourcesResponse
+                         * @param {org.dash.platform.dapi.v0.GetEpochsInfoResponse} message GetEpochsInfoResponse
                          * @param {$protobuf.IConversionOptions} [options] Conversion options
                          * @returns {Object.} Plain object
                          */
-                        GetContestedResourcesResponse.toObject = function toObject(message, options) {
+                        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.GetContestedResourcesResponse.GetContestedResourcesResponseV0.toObject(message.v0, options);
+                                object.v0 = $root.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.toObject(message.v0, options);
                                 if (options.oneofs)
                                     object.version = "v0";
                             }
@@ -28352,36 +27983,36 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Converts this GetContestedResourcesResponse to JSON.
+                         * Converts this GetEpochsInfoResponse to JSON.
                          * @function toJSON
-                         * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse
+                         * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse
                          * @instance
                          * @returns {Object.} JSON object
                          */
-                        GetContestedResourcesResponse.prototype.toJSON = function toJSON() {
+                        GetEpochsInfoResponse.prototype.toJSON = function toJSON() {
                             return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
                         };
 
-                        GetContestedResourcesResponse.GetContestedResourcesResponseV0 = (function() {
+                        GetEpochsInfoResponse.GetEpochsInfoResponseV0 = (function() {
 
                             /**
-                             * Properties of a GetContestedResourcesResponseV0.
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse
-                             * @interface IGetContestedResourcesResponseV0
-                             * @property {org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.IContestedResourceValues|null} [contestedResourceValues] GetContestedResourcesResponseV0 contestedResourceValues
-                             * @property {org.dash.platform.dapi.v0.IProof|null} [proof] GetContestedResourcesResponseV0 proof
-                             * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetContestedResourcesResponseV0 metadata
+                             * 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 GetContestedResourcesResponseV0.
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse
-                             * @classdesc Represents a GetContestedResourcesResponseV0.
-                             * @implements IGetContestedResourcesResponseV0
+                             * Constructs a new GetEpochsInfoResponseV0.
+                             * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse
+                             * @classdesc Represents a GetEpochsInfoResponseV0.
+                             * @implements IGetEpochsInfoResponseV0
                              * @constructor
-                             * @param {org.dash.platform.dapi.v0.GetContestedResourcesResponse.IGetContestedResourcesResponseV0=} [properties] Properties to set
+                             * @param {org.dash.platform.dapi.v0.GetEpochsInfoResponse.IGetEpochsInfoResponseV0=} [properties] Properties to set
                              */
-                            function GetContestedResourcesResponseV0(properties) {
+                            function GetEpochsInfoResponseV0(properties) {
                                 if (properties)
                                     for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
                                         if (properties[keys[i]] != null)
@@ -28389,69 +28020,69 @@ $root.org = (function() {
                             }
 
                             /**
-                             * GetContestedResourcesResponseV0 contestedResourceValues.
-                             * @member {org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.IContestedResourceValues|null|undefined} contestedResourceValues
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0
+                             * GetEpochsInfoResponseV0 epochs.
+                             * @member {org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.IEpochInfos|null|undefined} epochs
+                             * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0
                              * @instance
                              */
-                            GetContestedResourcesResponseV0.prototype.contestedResourceValues = null;
+                            GetEpochsInfoResponseV0.prototype.epochs = null;
 
                             /**
-                             * GetContestedResourcesResponseV0 proof.
+                             * GetEpochsInfoResponseV0 proof.
                              * @member {org.dash.platform.dapi.v0.IProof|null|undefined} proof
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0
                              * @instance
                              */
-                            GetContestedResourcesResponseV0.prototype.proof = null;
+                            GetEpochsInfoResponseV0.prototype.proof = null;
 
                             /**
-                             * GetContestedResourcesResponseV0 metadata.
+                             * GetEpochsInfoResponseV0 metadata.
                              * @member {org.dash.platform.dapi.v0.IResponseMetadata|null|undefined} metadata
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0
                              * @instance
                              */
-                            GetContestedResourcesResponseV0.prototype.metadata = null;
+                            GetEpochsInfoResponseV0.prototype.metadata = null;
 
                             // OneOf field names bound to virtual getters and setters
                             var $oneOfFields;
 
                             /**
-                             * GetContestedResourcesResponseV0 result.
-                             * @member {"contestedResourceValues"|"proof"|undefined} result
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0
+                             * GetEpochsInfoResponseV0 result.
+                             * @member {"epochs"|"proof"|undefined} result
+                             * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0
                              * @instance
                              */
-                            Object.defineProperty(GetContestedResourcesResponseV0.prototype, "result", {
-                                get: $util.oneOfGetter($oneOfFields = ["contestedResourceValues", "proof"]),
+                            Object.defineProperty(GetEpochsInfoResponseV0.prototype, "result", {
+                                get: $util.oneOfGetter($oneOfFields = ["epochs", "proof"]),
                                 set: $util.oneOfSetter($oneOfFields)
                             });
 
                             /**
-                             * Creates a new GetContestedResourcesResponseV0 instance using the specified properties.
+                             * Creates a new GetEpochsInfoResponseV0 instance using the specified properties.
                              * @function create
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetContestedResourcesResponse.IGetContestedResourcesResponseV0=} [properties] Properties to set
-                             * @returns {org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0} GetContestedResourcesResponseV0 instance
+                             * @param {org.dash.platform.dapi.v0.GetEpochsInfoResponse.IGetEpochsInfoResponseV0=} [properties] Properties to set
+                             * @returns {org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0} GetEpochsInfoResponseV0 instance
                              */
-                            GetContestedResourcesResponseV0.create = function create(properties) {
-                                return new GetContestedResourcesResponseV0(properties);
+                            GetEpochsInfoResponseV0.create = function create(properties) {
+                                return new GetEpochsInfoResponseV0(properties);
                             };
 
                             /**
-                             * Encodes the specified GetContestedResourcesResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.verify|verify} messages.
+                             * 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.GetContestedResourcesResponse.GetContestedResourcesResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetContestedResourcesResponse.IGetContestedResourcesResponseV0} message GetContestedResourcesResponseV0 message or plain object to encode
+                             * @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
                              */
-                            GetContestedResourcesResponseV0.encode = function encode(message, writer) {
+                            GetEpochsInfoResponseV0.encode = function encode(message, writer) {
                                 if (!writer)
                                     writer = $Writer.create();
-                                if (message.contestedResourceValues != null && Object.hasOwnProperty.call(message, "contestedResourceValues"))
-                                    $root.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.encode(message.contestedResourceValues, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+                                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"))
@@ -28460,38 +28091,38 @@ $root.org = (function() {
                             };
 
                             /**
-                             * Encodes the specified GetContestedResourcesResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.verify|verify} messages.
+                             * 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.GetContestedResourcesResponse.GetContestedResourcesResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetContestedResourcesResponse.IGetContestedResourcesResponseV0} message GetContestedResourcesResponseV0 message or plain object to encode
+                             * @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
                              */
-                            GetContestedResourcesResponseV0.encodeDelimited = function encodeDelimited(message, writer) {
+                            GetEpochsInfoResponseV0.encodeDelimited = function encodeDelimited(message, writer) {
                                 return this.encode(message, writer).ldelim();
                             };
 
                             /**
-                             * Decodes a GetContestedResourcesResponseV0 message from the specified reader or buffer.
+                             * Decodes a GetEpochsInfoResponseV0 message from the specified reader or buffer.
                              * @function decode
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0
+                             * @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.GetContestedResourcesResponse.GetContestedResourcesResponseV0} GetContestedResourcesResponseV0
+                             * @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
                              */
-                            GetContestedResourcesResponseV0.decode = function decode(reader, length) {
+                            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.GetContestedResourcesResponse.GetContestedResourcesResponseV0();
+                                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.contestedResourceValues = $root.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.decode(reader, reader.uint32());
+                                        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());
@@ -28508,39 +28139,39 @@ $root.org = (function() {
                             };
 
                             /**
-                             * Decodes a GetContestedResourcesResponseV0 message from the specified reader or buffer, length delimited.
+                             * Decodes a GetEpochsInfoResponseV0 message from the specified reader or buffer, length delimited.
                              * @function decodeDelimited
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0
+                             * @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.GetContestedResourcesResponse.GetContestedResourcesResponseV0} GetContestedResourcesResponseV0
+                             * @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
                              */
-                            GetContestedResourcesResponseV0.decodeDelimited = function decodeDelimited(reader) {
+                            GetEpochsInfoResponseV0.decodeDelimited = function decodeDelimited(reader) {
                                 if (!(reader instanceof $Reader))
                                     reader = new $Reader(reader);
                                 return this.decode(reader, reader.uint32());
                             };
 
                             /**
-                             * Verifies a GetContestedResourcesResponseV0 message.
+                             * Verifies a GetEpochsInfoResponseV0 message.
                              * @function verify
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0
+                             * @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
                              */
-                            GetContestedResourcesResponseV0.verify = function verify(message) {
+                            GetEpochsInfoResponseV0.verify = function verify(message) {
                                 if (typeof message !== "object" || message === null)
                                     return "object expected";
                                 var properties = {};
-                                if (message.contestedResourceValues != null && message.hasOwnProperty("contestedResourceValues")) {
+                                if (message.epochs != null && message.hasOwnProperty("epochs")) {
                                     properties.result = 1;
                                     {
-                                        var error = $root.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.verify(message.contestedResourceValues);
+                                        var error = $root.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.verify(message.epochs);
                                         if (error)
-                                            return "contestedResourceValues." + error;
+                                            return "epochs." + error;
                                     }
                                 }
                                 if (message.proof != null && message.hasOwnProperty("proof")) {
@@ -28562,54 +28193,54 @@ $root.org = (function() {
                             };
 
                             /**
-                             * Creates a GetContestedResourcesResponseV0 message from a plain object. Also converts values to their respective internal types.
+                             * Creates a GetEpochsInfoResponseV0 message from a plain object. Also converts values to their respective internal types.
                              * @function fromObject
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0
                              * @static
                              * @param {Object.} object Plain object
-                             * @returns {org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0} GetContestedResourcesResponseV0
+                             * @returns {org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0} GetEpochsInfoResponseV0
                              */
-                            GetContestedResourcesResponseV0.fromObject = function fromObject(object) {
-                                if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0)
+                            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.GetContestedResourcesResponse.GetContestedResourcesResponseV0();
-                                if (object.contestedResourceValues != null) {
-                                    if (typeof object.contestedResourceValues !== "object")
-                                        throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.contestedResourceValues: object expected");
-                                    message.contestedResourceValues = $root.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.fromObject(object.contestedResourceValues);
+                                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.GetContestedResourcesResponse.GetContestedResourcesResponseV0.proof: object expected");
+                                        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.GetContestedResourcesResponse.GetContestedResourcesResponseV0.metadata: object expected");
+                                        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 GetContestedResourcesResponseV0 message. Also converts values to other types if specified.
+                             * Creates a plain object from a GetEpochsInfoResponseV0 message. Also converts values to other types if specified.
                              * @function toObject
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0} message GetContestedResourcesResponseV0
+                             * @param {org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0} message GetEpochsInfoResponseV0
                              * @param {$protobuf.IConversionOptions} [options] Conversion options
                              * @returns {Object.} Plain object
                              */
-                            GetContestedResourcesResponseV0.toObject = function toObject(message, options) {
+                            GetEpochsInfoResponseV0.toObject = function toObject(message, options) {
                                 if (!options)
                                     options = {};
                                 var object = {};
                                 if (options.defaults)
                                     object.metadata = null;
-                                if (message.contestedResourceValues != null && message.hasOwnProperty("contestedResourceValues")) {
-                                    object.contestedResourceValues = $root.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.toObject(message.contestedResourceValues, options);
+                                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 = "contestedResourceValues";
+                                        object.result = "epochs";
                                 }
                                 if (message.proof != null && message.hasOwnProperty("proof")) {
                                     object.proof = $root.org.dash.platform.dapi.v0.Proof.toObject(message.proof, options);
@@ -28622,35 +28253,35 @@ $root.org = (function() {
                             };
 
                             /**
-                             * Converts this GetContestedResourcesResponseV0 to JSON.
+                             * Converts this GetEpochsInfoResponseV0 to JSON.
                              * @function toJSON
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0
                              * @instance
                              * @returns {Object.} JSON object
                              */
-                            GetContestedResourcesResponseV0.prototype.toJSON = function toJSON() {
+                            GetEpochsInfoResponseV0.prototype.toJSON = function toJSON() {
                                 return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
                             };
 
-                            GetContestedResourcesResponseV0.ContestedResourceValues = (function() {
+                            GetEpochsInfoResponseV0.EpochInfos = (function() {
 
                                 /**
-                                 * Properties of a ContestedResourceValues.
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0
-                                 * @interface IContestedResourceValues
-                                 * @property {Array.|null} [contestedResourceValues] ContestedResourceValues contestedResourceValues
+                                 * Properties of an EpochInfos.
+                                 * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0
+                                 * @interface IEpochInfos
+                                 * @property {Array.|null} [epochInfos] EpochInfos epochInfos
                                  */
 
                                 /**
-                                 * Constructs a new ContestedResourceValues.
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0
-                                 * @classdesc Represents a ContestedResourceValues.
-                                 * @implements IContestedResourceValues
+                                 * 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.GetContestedResourcesResponse.GetContestedResourcesResponseV0.IContestedResourceValues=} [properties] Properties to set
+                                 * @param {org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.IEpochInfos=} [properties] Properties to set
                                  */
-                                function ContestedResourceValues(properties) {
-                                    this.contestedResourceValues = [];
+                                function EpochInfos(properties) {
+                                    this.epochInfos = [];
                                     if (properties)
                                         for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
                                             if (properties[keys[i]] != null)
@@ -28658,78 +28289,78 @@ $root.org = (function() {
                                 }
 
                                 /**
-                                 * ContestedResourceValues contestedResourceValues.
-                                 * @member {Array.} contestedResourceValues
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues
+                                 * EpochInfos epochInfos.
+                                 * @member {Array.} epochInfos
+                                 * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos
                                  * @instance
                                  */
-                                ContestedResourceValues.prototype.contestedResourceValues = $util.emptyArray;
+                                EpochInfos.prototype.epochInfos = $util.emptyArray;
 
                                 /**
-                                 * Creates a new ContestedResourceValues instance using the specified properties.
+                                 * Creates a new EpochInfos instance using the specified properties.
                                  * @function create
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues
+                                 * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos
                                  * @static
-                                 * @param {org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.IContestedResourceValues=} [properties] Properties to set
-                                 * @returns {org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues} ContestedResourceValues instance
+                                 * @param {org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.IEpochInfos=} [properties] Properties to set
+                                 * @returns {org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos} EpochInfos instance
                                  */
-                                ContestedResourceValues.create = function create(properties) {
-                                    return new ContestedResourceValues(properties);
+                                EpochInfos.create = function create(properties) {
+                                    return new EpochInfos(properties);
                                 };
 
                                 /**
-                                 * Encodes the specified ContestedResourceValues message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.verify|verify} messages.
+                                 * 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.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues
+                                 * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos
                                  * @static
-                                 * @param {org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.IContestedResourceValues} message ContestedResourceValues message or plain object to encode
+                                 * @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
                                  */
-                                ContestedResourceValues.encode = function encode(message, writer) {
+                                EpochInfos.encode = function encode(message, writer) {
                                     if (!writer)
                                         writer = $Writer.create();
-                                    if (message.contestedResourceValues != null && message.contestedResourceValues.length)
-                                        for (var i = 0; i < message.contestedResourceValues.length; ++i)
-                                            writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.contestedResourceValues[i]);
+                                    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 ContestedResourceValues message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.verify|verify} messages.
+                                 * 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.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues
+                                 * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos
                                  * @static
-                                 * @param {org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.IContestedResourceValues} message ContestedResourceValues message or plain object to encode
+                                 * @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
                                  */
-                                ContestedResourceValues.encodeDelimited = function encodeDelimited(message, writer) {
+                                EpochInfos.encodeDelimited = function encodeDelimited(message, writer) {
                                     return this.encode(message, writer).ldelim();
                                 };
 
                                 /**
-                                 * Decodes a ContestedResourceValues message from the specified reader or buffer.
+                                 * Decodes an EpochInfos message from the specified reader or buffer.
                                  * @function decode
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues
+                                 * @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.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues} ContestedResourceValues
+                                 * @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
                                  */
-                                ContestedResourceValues.decode = function decode(reader, length) {
+                                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.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues();
+                                    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.contestedResourceValues && message.contestedResourceValues.length))
-                                                message.contestedResourceValues = [];
-                                            message.contestedResourceValues.push(reader.bytes());
+                                            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);
@@ -28740,218 +28371,546 @@ $root.org = (function() {
                                 };
 
                                 /**
-                                 * Decodes a ContestedResourceValues message from the specified reader or buffer, length delimited.
+                                 * Decodes an EpochInfos message from the specified reader or buffer, length delimited.
                                  * @function decodeDelimited
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues
+                                 * @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.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues} ContestedResourceValues
+                                 * @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
                                  */
-                                ContestedResourceValues.decodeDelimited = function decodeDelimited(reader) {
+                                EpochInfos.decodeDelimited = function decodeDelimited(reader) {
                                     if (!(reader instanceof $Reader))
                                         reader = new $Reader(reader);
                                     return this.decode(reader, reader.uint32());
                                 };
 
                                 /**
-                                 * Verifies a ContestedResourceValues message.
+                                 * Verifies an EpochInfos message.
                                  * @function verify
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues
+                                 * @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
                                  */
-                                ContestedResourceValues.verify = function verify(message) {
+                                EpochInfos.verify = function verify(message) {
                                     if (typeof message !== "object" || message === null)
                                         return "object expected";
-                                    if (message.contestedResourceValues != null && message.hasOwnProperty("contestedResourceValues")) {
-                                        if (!Array.isArray(message.contestedResourceValues))
-                                            return "contestedResourceValues: array expected";
-                                        for (var i = 0; i < message.contestedResourceValues.length; ++i)
-                                            if (!(message.contestedResourceValues[i] && typeof message.contestedResourceValues[i].length === "number" || $util.isString(message.contestedResourceValues[i])))
-                                                return "contestedResourceValues: buffer[] 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 a ContestedResourceValues message from a plain object. Also converts values to their respective internal types.
+                                 * Creates an EpochInfos message from a plain object. Also converts values to their respective internal types.
                                  * @function fromObject
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues
+                                 * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos
                                  * @static
                                  * @param {Object.} object Plain object
-                                 * @returns {org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues} ContestedResourceValues
+                                 * @returns {org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos} EpochInfos
                                  */
-                                ContestedResourceValues.fromObject = function fromObject(object) {
-                                    if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues)
+                                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.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues();
-                                    if (object.contestedResourceValues) {
-                                        if (!Array.isArray(object.contestedResourceValues))
-                                            throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.contestedResourceValues: array expected");
-                                        message.contestedResourceValues = [];
-                                        for (var i = 0; i < object.contestedResourceValues.length; ++i)
-                                            if (typeof object.contestedResourceValues[i] === "string")
-                                                $util.base64.decode(object.contestedResourceValues[i], message.contestedResourceValues[i] = $util.newBuffer($util.base64.length(object.contestedResourceValues[i])), 0);
-                                            else if (object.contestedResourceValues[i].length >= 0)
-                                                message.contestedResourceValues[i] = object.contestedResourceValues[i];
+                                    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 a ContestedResourceValues message. Also converts values to other types if specified.
+                                 * Creates a plain object from an EpochInfos message. Also converts values to other types if specified.
                                  * @function toObject
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues
+                                 * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos
                                  * @static
-                                 * @param {org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues} message ContestedResourceValues
+                                 * @param {org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos} message EpochInfos
                                  * @param {$protobuf.IConversionOptions} [options] Conversion options
                                  * @returns {Object.} Plain object
                                  */
-                                ContestedResourceValues.toObject = function toObject(message, options) {
+                                EpochInfos.toObject = function toObject(message, options) {
                                     if (!options)
                                         options = {};
                                     var object = {};
                                     if (options.arrays || options.defaults)
-                                        object.contestedResourceValues = [];
-                                    if (message.contestedResourceValues && message.contestedResourceValues.length) {
-                                        object.contestedResourceValues = [];
-                                        for (var j = 0; j < message.contestedResourceValues.length; ++j)
-                                            object.contestedResourceValues[j] = options.bytes === String ? $util.base64.encode(message.contestedResourceValues[j], 0, message.contestedResourceValues[j].length) : options.bytes === Array ? Array.prototype.slice.call(message.contestedResourceValues[j]) : message.contestedResourceValues[j];
+                                        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 ContestedResourceValues to JSON.
+                                 * Converts this EpochInfos to JSON.
                                  * @function toJSON
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues
+                                 * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos
                                  * @instance
                                  * @returns {Object.} JSON object
                                  */
-                                ContestedResourceValues.prototype.toJSON = function toJSON() {
+                                EpochInfos.prototype.toJSON = function toJSON() {
                                     return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
                                 };
 
-                                return ContestedResourceValues;
+                                return EpochInfos;
                             })();
 
-                            return GetContestedResourcesResponseV0;
-                        })();
+                            GetEpochsInfoResponseV0.EpochInfo = (function() {
 
-                        return GetContestedResourcesResponse;
-                    })();
+                                /**
+                                 * 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
+                                 * @property {number|null} [protocolVersion] EpochInfo protocolVersion
+                                 */
 
-                    v0.GetVotePollsByEndDateRequest = (function() {
+                                /**
+                                 * 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]];
+                                }
 
-                        /**
-                         * Properties of a GetVotePollsByEndDateRequest.
-                         * @memberof org.dash.platform.dapi.v0
-                         * @interface IGetVotePollsByEndDateRequest
-                         * @property {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.IGetVotePollsByEndDateRequestV0|null} [v0] GetVotePollsByEndDateRequest v0
-                         */
+                                /**
+                                 * EpochInfo number.
+                                 * @member {number} number
+                                 * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo
+                                 * @instance
+                                 */
+                                EpochInfo.prototype.number = 0;
 
-                        /**
-                         * Constructs a new GetVotePollsByEndDateRequest.
-                         * @memberof org.dash.platform.dapi.v0
-                         * @classdesc Represents a GetVotePollsByEndDateRequest.
-                         * @implements IGetVotePollsByEndDateRequest
-                         * @constructor
-                         * @param {org.dash.platform.dapi.v0.IGetVotePollsByEndDateRequest=} [properties] Properties to set
-                         */
-                        function GetVotePollsByEndDateRequest(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 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;
 
-                        /**
-                         * GetVotePollsByEndDateRequest v0.
-                         * @member {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.IGetVotePollsByEndDateRequestV0|null|undefined} v0
-                         * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest
-                         * @instance
-                         */
-                        GetVotePollsByEndDateRequest.prototype.v0 = null;
+                                /**
+                                 * EpochInfo firstCoreBlockHeight.
+                                 * @member {number} firstCoreBlockHeight
+                                 * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo
+                                 * @instance
+                                 */
+                                EpochInfo.prototype.firstCoreBlockHeight = 0;
 
-                        // OneOf field names bound to virtual getters and setters
-                        var $oneOfFields;
+                                /**
+                                 * 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;
 
-                        /**
-                         * GetVotePollsByEndDateRequest version.
-                         * @member {"v0"|undefined} version
-                         * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest
-                         * @instance
-                         */
-                        Object.defineProperty(GetVotePollsByEndDateRequest.prototype, "version", {
-                            get: $util.oneOfGetter($oneOfFields = ["v0"]),
-                            set: $util.oneOfSetter($oneOfFields)
-                        });
+                                /**
+                                 * EpochInfo feeMultiplier.
+                                 * @member {number} feeMultiplier
+                                 * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo
+                                 * @instance
+                                 */
+                                EpochInfo.prototype.feeMultiplier = 0;
 
-                        /**
-                         * Creates a new GetVotePollsByEndDateRequest instance using the specified properties.
-                         * @function create
-                         * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest
-                         * @static
-                         * @param {org.dash.platform.dapi.v0.IGetVotePollsByEndDateRequest=} [properties] Properties to set
-                         * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest} GetVotePollsByEndDateRequest instance
-                         */
-                        GetVotePollsByEndDateRequest.create = function create(properties) {
-                            return new GetVotePollsByEndDateRequest(properties);
-                        };
+                                /**
+                                 * EpochInfo protocolVersion.
+                                 * @member {number} protocolVersion
+                                 * @memberof org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo
+                                 * @instance
+                                 */
+                                EpochInfo.prototype.protocolVersion = 0;
 
-                        /**
-                         * Encodes the specified GetVotePollsByEndDateRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.verify|verify} messages.
-                         * @function encode
-                         * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest
-                         * @static
-                         * @param {org.dash.platform.dapi.v0.IGetVotePollsByEndDateRequest} message GetVotePollsByEndDateRequest message or plain object to encode
-                         * @param {$protobuf.Writer} [writer] Writer to encode to
-                         * @returns {$protobuf.Writer} Writer
-                         */
-                        GetVotePollsByEndDateRequest.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.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
-                            return writer;
-                        };
+                                /**
+                                 * 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 GetVotePollsByEndDateRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.verify|verify} messages.
-                         * @function encodeDelimited
-                         * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest
-                         * @static
-                         * @param {org.dash.platform.dapi.v0.IGetVotePollsByEndDateRequest} message GetVotePollsByEndDateRequest message or plain object to encode
-                         * @param {$protobuf.Writer} [writer] Writer to encode to
-                         * @returns {$protobuf.Writer} Writer
-                         */
-                        GetVotePollsByEndDateRequest.encodeDelimited = function encodeDelimited(message, writer) {
-                            return this.encode(message, writer).ldelim();
+                                /**
+                                 * 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);
+                                    if (message.protocolVersion != null && Object.hasOwnProperty.call(message, "protocolVersion"))
+                                        writer.uint32(/* id 6, wireType 0 =*/48).uint32(message.protocolVersion);
+                                    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;
+                                        case 6:
+                                            message.protocolVersion = reader.uint32();
+                                            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";
+                                    if (message.protocolVersion != null && message.hasOwnProperty("protocolVersion"))
+                                        if (!$util.isInteger(message.protocolVersion))
+                                            return "protocolVersion: integer 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);
+                                    if (object.protocolVersion != null)
+                                        message.protocolVersion = object.protocolVersion >>> 0;
+                                    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;
+                                        object.protocolVersion = 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;
+                                    if (message.protocolVersion != null && message.hasOwnProperty("protocolVersion"))
+                                        object.protocolVersion = message.protocolVersion;
+                                    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;
+                    })();
+
+                    v0.GetFinalizedEpochInfosRequest = (function() {
+
+                        /**
+                         * Properties of a GetFinalizedEpochInfosRequest.
+                         * @memberof org.dash.platform.dapi.v0
+                         * @interface IGetFinalizedEpochInfosRequest
+                         * @property {org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.IGetFinalizedEpochInfosRequestV0|null} [v0] GetFinalizedEpochInfosRequest v0
+                         */
+
+                        /**
+                         * Constructs a new GetFinalizedEpochInfosRequest.
+                         * @memberof org.dash.platform.dapi.v0
+                         * @classdesc Represents a GetFinalizedEpochInfosRequest.
+                         * @implements IGetFinalizedEpochInfosRequest
+                         * @constructor
+                         * @param {org.dash.platform.dapi.v0.IGetFinalizedEpochInfosRequest=} [properties] Properties to set
+                         */
+                        function GetFinalizedEpochInfosRequest(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]];
+                        }
+
+                        /**
+                         * GetFinalizedEpochInfosRequest v0.
+                         * @member {org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.IGetFinalizedEpochInfosRequestV0|null|undefined} v0
+                         * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest
+                         * @instance
+                         */
+                        GetFinalizedEpochInfosRequest.prototype.v0 = null;
+
+                        // OneOf field names bound to virtual getters and setters
+                        var $oneOfFields;
+
+                        /**
+                         * GetFinalizedEpochInfosRequest version.
+                         * @member {"v0"|undefined} version
+                         * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest
+                         * @instance
+                         */
+                        Object.defineProperty(GetFinalizedEpochInfosRequest.prototype, "version", {
+                            get: $util.oneOfGetter($oneOfFields = ["v0"]),
+                            set: $util.oneOfSetter($oneOfFields)
+                        });
+
+                        /**
+                         * Creates a new GetFinalizedEpochInfosRequest instance using the specified properties.
+                         * @function create
+                         * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest
+                         * @static
+                         * @param {org.dash.platform.dapi.v0.IGetFinalizedEpochInfosRequest=} [properties] Properties to set
+                         * @returns {org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest} GetFinalizedEpochInfosRequest instance
+                         */
+                        GetFinalizedEpochInfosRequest.create = function create(properties) {
+                            return new GetFinalizedEpochInfosRequest(properties);
                         };
 
                         /**
-                         * Decodes a GetVotePollsByEndDateRequest message from the specified reader or buffer.
+                         * Encodes the specified GetFinalizedEpochInfosRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.verify|verify} messages.
+                         * @function encode
+                         * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest
+                         * @static
+                         * @param {org.dash.platform.dapi.v0.IGetFinalizedEpochInfosRequest} message GetFinalizedEpochInfosRequest message or plain object to encode
+                         * @param {$protobuf.Writer} [writer] Writer to encode to
+                         * @returns {$protobuf.Writer} Writer
+                         */
+                        GetFinalizedEpochInfosRequest.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.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+                            return writer;
+                        };
+
+                        /**
+                         * Encodes the specified GetFinalizedEpochInfosRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.verify|verify} messages.
+                         * @function encodeDelimited
+                         * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest
+                         * @static
+                         * @param {org.dash.platform.dapi.v0.IGetFinalizedEpochInfosRequest} message GetFinalizedEpochInfosRequest message or plain object to encode
+                         * @param {$protobuf.Writer} [writer] Writer to encode to
+                         * @returns {$protobuf.Writer} Writer
+                         */
+                        GetFinalizedEpochInfosRequest.encodeDelimited = function encodeDelimited(message, writer) {
+                            return this.encode(message, writer).ldelim();
+                        };
+
+                        /**
+                         * Decodes a GetFinalizedEpochInfosRequest message from the specified reader or buffer.
                          * @function decode
-                         * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest
+                         * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest
                          * @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.GetVotePollsByEndDateRequest} GetVotePollsByEndDateRequest
+                         * @returns {org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest} GetFinalizedEpochInfosRequest
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        GetVotePollsByEndDateRequest.decode = function decode(reader, length) {
+                        GetFinalizedEpochInfosRequest.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.GetVotePollsByEndDateRequest();
+                            var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
                                 switch (tag >>> 3) {
                                 case 1:
-                                    message.v0 = $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.decode(reader, reader.uint32());
+                                    message.v0 = $root.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0.decode(reader, reader.uint32());
                                     break;
                                 default:
                                     reader.skipType(tag & 7);
@@ -28962,37 +28921,37 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Decodes a GetVotePollsByEndDateRequest message from the specified reader or buffer, length delimited.
+                         * Decodes a GetFinalizedEpochInfosRequest message from the specified reader or buffer, length delimited.
                          * @function decodeDelimited
-                         * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest
+                         * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest
                          * @static
                          * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                         * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest} GetVotePollsByEndDateRequest
+                         * @returns {org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest} GetFinalizedEpochInfosRequest
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        GetVotePollsByEndDateRequest.decodeDelimited = function decodeDelimited(reader) {
+                        GetFinalizedEpochInfosRequest.decodeDelimited = function decodeDelimited(reader) {
                             if (!(reader instanceof $Reader))
                                 reader = new $Reader(reader);
                             return this.decode(reader, reader.uint32());
                         };
 
                         /**
-                         * Verifies a GetVotePollsByEndDateRequest message.
+                         * Verifies a GetFinalizedEpochInfosRequest message.
                          * @function verify
-                         * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest
+                         * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest
                          * @static
                          * @param {Object.} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        GetVotePollsByEndDateRequest.verify = function verify(message) {
+                        GetFinalizedEpochInfosRequest.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.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.verify(message.v0);
+                                    var error = $root.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0.verify(message.v0);
                                     if (error)
                                         return "v0." + error;
                                 }
@@ -29001,40 +28960,40 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Creates a GetVotePollsByEndDateRequest message from a plain object. Also converts values to their respective internal types.
+                         * Creates a GetFinalizedEpochInfosRequest message from a plain object. Also converts values to their respective internal types.
                          * @function fromObject
-                         * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest
+                         * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest
                          * @static
                          * @param {Object.} object Plain object
-                         * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest} GetVotePollsByEndDateRequest
+                         * @returns {org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest} GetFinalizedEpochInfosRequest
                          */
-                        GetVotePollsByEndDateRequest.fromObject = function fromObject(object) {
-                            if (object instanceof $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest)
+                        GetFinalizedEpochInfosRequest.fromObject = function fromObject(object) {
+                            if (object instanceof $root.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest)
                                 return object;
-                            var message = new $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest();
+                            var message = new $root.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest();
                             if (object.v0 != null) {
                                 if (typeof object.v0 !== "object")
-                                    throw TypeError(".org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.v0: object expected");
-                                message.v0 = $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.fromObject(object.v0);
+                                    throw TypeError(".org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.v0: object expected");
+                                message.v0 = $root.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0.fromObject(object.v0);
                             }
                             return message;
                         };
 
                         /**
-                         * Creates a plain object from a GetVotePollsByEndDateRequest message. Also converts values to other types if specified.
+                         * Creates a plain object from a GetFinalizedEpochInfosRequest message. Also converts values to other types if specified.
                          * @function toObject
-                         * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest
+                         * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest
                          * @static
-                         * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest} message GetVotePollsByEndDateRequest
+                         * @param {org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest} message GetFinalizedEpochInfosRequest
                          * @param {$protobuf.IConversionOptions} [options] Conversion options
                          * @returns {Object.} Plain object
                          */
-                        GetVotePollsByEndDateRequest.toObject = function toObject(message, options) {
+                        GetFinalizedEpochInfosRequest.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.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.toObject(message.v0, options);
+                                object.v0 = $root.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0.toObject(message.v0, options);
                                 if (options.oneofs)
                                     object.version = "v0";
                             }
@@ -29042,39 +29001,38 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Converts this GetVotePollsByEndDateRequest to JSON.
+                         * Converts this GetFinalizedEpochInfosRequest to JSON.
                          * @function toJSON
-                         * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest
+                         * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest
                          * @instance
                          * @returns {Object.} JSON object
                          */
-                        GetVotePollsByEndDateRequest.prototype.toJSON = function toJSON() {
+                        GetFinalizedEpochInfosRequest.prototype.toJSON = function toJSON() {
                             return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
                         };
 
-                        GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0 = (function() {
+                        GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0 = (function() {
 
                             /**
-                             * Properties of a GetVotePollsByEndDateRequestV0.
-                             * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest
-                             * @interface IGetVotePollsByEndDateRequestV0
-                             * @property {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.IStartAtTimeInfo|null} [startTimeInfo] GetVotePollsByEndDateRequestV0 startTimeInfo
-                             * @property {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.IEndAtTimeInfo|null} [endTimeInfo] GetVotePollsByEndDateRequestV0 endTimeInfo
-                             * @property {number|null} [limit] GetVotePollsByEndDateRequestV0 limit
-                             * @property {number|null} [offset] GetVotePollsByEndDateRequestV0 offset
-                             * @property {boolean|null} [ascending] GetVotePollsByEndDateRequestV0 ascending
-                             * @property {boolean|null} [prove] GetVotePollsByEndDateRequestV0 prove
+                             * Properties of a GetFinalizedEpochInfosRequestV0.
+                             * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest
+                             * @interface IGetFinalizedEpochInfosRequestV0
+                             * @property {number|null} [startEpochIndex] GetFinalizedEpochInfosRequestV0 startEpochIndex
+                             * @property {boolean|null} [startEpochIndexIncluded] GetFinalizedEpochInfosRequestV0 startEpochIndexIncluded
+                             * @property {number|null} [endEpochIndex] GetFinalizedEpochInfosRequestV0 endEpochIndex
+                             * @property {boolean|null} [endEpochIndexIncluded] GetFinalizedEpochInfosRequestV0 endEpochIndexIncluded
+                             * @property {boolean|null} [prove] GetFinalizedEpochInfosRequestV0 prove
                              */
 
                             /**
-                             * Constructs a new GetVotePollsByEndDateRequestV0.
-                             * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest
-                             * @classdesc Represents a GetVotePollsByEndDateRequestV0.
-                             * @implements IGetVotePollsByEndDateRequestV0
+                             * Constructs a new GetFinalizedEpochInfosRequestV0.
+                             * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest
+                             * @classdesc Represents a GetFinalizedEpochInfosRequestV0.
+                             * @implements IGetFinalizedEpochInfosRequestV0
                              * @constructor
-                             * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.IGetVotePollsByEndDateRequestV0=} [properties] Properties to set
+                             * @param {org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.IGetFinalizedEpochInfosRequestV0=} [properties] Properties to set
                              */
-                            function GetVotePollsByEndDateRequestV0(properties) {
+                            function GetFinalizedEpochInfosRequestV0(properties) {
                                 if (properties)
                                     for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
                                         if (properties[keys[i]] != null)
@@ -29082,139 +29040,126 @@ $root.org = (function() {
                             }
 
                             /**
-                             * GetVotePollsByEndDateRequestV0 startTimeInfo.
-                             * @member {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.IStartAtTimeInfo|null|undefined} startTimeInfo
-                             * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0
-                             * @instance
-                             */
-                            GetVotePollsByEndDateRequestV0.prototype.startTimeInfo = null;
-
-                            /**
-                             * GetVotePollsByEndDateRequestV0 endTimeInfo.
-                             * @member {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.IEndAtTimeInfo|null|undefined} endTimeInfo
-                             * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0
+                             * GetFinalizedEpochInfosRequestV0 startEpochIndex.
+                             * @member {number} startEpochIndex
+                             * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0
                              * @instance
                              */
-                            GetVotePollsByEndDateRequestV0.prototype.endTimeInfo = null;
+                            GetFinalizedEpochInfosRequestV0.prototype.startEpochIndex = 0;
 
                             /**
-                             * GetVotePollsByEndDateRequestV0 limit.
-                             * @member {number} limit
-                             * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0
+                             * GetFinalizedEpochInfosRequestV0 startEpochIndexIncluded.
+                             * @member {boolean} startEpochIndexIncluded
+                             * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0
                              * @instance
                              */
-                            GetVotePollsByEndDateRequestV0.prototype.limit = 0;
+                            GetFinalizedEpochInfosRequestV0.prototype.startEpochIndexIncluded = false;
 
                             /**
-                             * GetVotePollsByEndDateRequestV0 offset.
-                             * @member {number} offset
-                             * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0
+                             * GetFinalizedEpochInfosRequestV0 endEpochIndex.
+                             * @member {number} endEpochIndex
+                             * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0
                              * @instance
                              */
-                            GetVotePollsByEndDateRequestV0.prototype.offset = 0;
+                            GetFinalizedEpochInfosRequestV0.prototype.endEpochIndex = 0;
 
                             /**
-                             * GetVotePollsByEndDateRequestV0 ascending.
-                             * @member {boolean} ascending
-                             * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0
+                             * GetFinalizedEpochInfosRequestV0 endEpochIndexIncluded.
+                             * @member {boolean} endEpochIndexIncluded
+                             * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0
                              * @instance
                              */
-                            GetVotePollsByEndDateRequestV0.prototype.ascending = false;
+                            GetFinalizedEpochInfosRequestV0.prototype.endEpochIndexIncluded = false;
 
                             /**
-                             * GetVotePollsByEndDateRequestV0 prove.
+                             * GetFinalizedEpochInfosRequestV0 prove.
                              * @member {boolean} prove
-                             * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0
                              * @instance
                              */
-                            GetVotePollsByEndDateRequestV0.prototype.prove = false;
+                            GetFinalizedEpochInfosRequestV0.prototype.prove = false;
 
                             /**
-                             * Creates a new GetVotePollsByEndDateRequestV0 instance using the specified properties.
+                             * Creates a new GetFinalizedEpochInfosRequestV0 instance using the specified properties.
                              * @function create
-                             * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.IGetVotePollsByEndDateRequestV0=} [properties] Properties to set
-                             * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0} GetVotePollsByEndDateRequestV0 instance
+                             * @param {org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.IGetFinalizedEpochInfosRequestV0=} [properties] Properties to set
+                             * @returns {org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0} GetFinalizedEpochInfosRequestV0 instance
                              */
-                            GetVotePollsByEndDateRequestV0.create = function create(properties) {
-                                return new GetVotePollsByEndDateRequestV0(properties);
+                            GetFinalizedEpochInfosRequestV0.create = function create(properties) {
+                                return new GetFinalizedEpochInfosRequestV0(properties);
                             };
 
                             /**
-                             * Encodes the specified GetVotePollsByEndDateRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.verify|verify} messages.
+                             * Encodes the specified GetFinalizedEpochInfosRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0.verify|verify} messages.
                              * @function encode
-                             * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.IGetVotePollsByEndDateRequestV0} message GetVotePollsByEndDateRequestV0 message or plain object to encode
+                             * @param {org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.IGetFinalizedEpochInfosRequestV0} message GetFinalizedEpochInfosRequestV0 message or plain object to encode
                              * @param {$protobuf.Writer} [writer] Writer to encode to
                              * @returns {$protobuf.Writer} Writer
                              */
-                            GetVotePollsByEndDateRequestV0.encode = function encode(message, writer) {
+                            GetFinalizedEpochInfosRequestV0.encode = function encode(message, writer) {
                                 if (!writer)
                                     writer = $Writer.create();
-                                if (message.startTimeInfo != null && Object.hasOwnProperty.call(message, "startTimeInfo"))
-                                    $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.encode(message.startTimeInfo, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
-                                if (message.endTimeInfo != null && Object.hasOwnProperty.call(message, "endTimeInfo"))
-                                    $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.encode(message.endTimeInfo, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
-                                if (message.limit != null && Object.hasOwnProperty.call(message, "limit"))
-                                    writer.uint32(/* id 3, wireType 0 =*/24).uint32(message.limit);
-                                if (message.offset != null && Object.hasOwnProperty.call(message, "offset"))
-                                    writer.uint32(/* id 4, wireType 0 =*/32).uint32(message.offset);
-                                if (message.ascending != null && Object.hasOwnProperty.call(message, "ascending"))
-                                    writer.uint32(/* id 5, wireType 0 =*/40).bool(message.ascending);
+                                if (message.startEpochIndex != null && Object.hasOwnProperty.call(message, "startEpochIndex"))
+                                    writer.uint32(/* id 1, wireType 0 =*/8).uint32(message.startEpochIndex);
+                                if (message.startEpochIndexIncluded != null && Object.hasOwnProperty.call(message, "startEpochIndexIncluded"))
+                                    writer.uint32(/* id 2, wireType 0 =*/16).bool(message.startEpochIndexIncluded);
+                                if (message.endEpochIndex != null && Object.hasOwnProperty.call(message, "endEpochIndex"))
+                                    writer.uint32(/* id 3, wireType 0 =*/24).uint32(message.endEpochIndex);
+                                if (message.endEpochIndexIncluded != null && Object.hasOwnProperty.call(message, "endEpochIndexIncluded"))
+                                    writer.uint32(/* id 4, wireType 0 =*/32).bool(message.endEpochIndexIncluded);
                                 if (message.prove != null && Object.hasOwnProperty.call(message, "prove"))
-                                    writer.uint32(/* id 6, wireType 0 =*/48).bool(message.prove);
+                                    writer.uint32(/* id 5, wireType 0 =*/40).bool(message.prove);
                                 return writer;
                             };
 
                             /**
-                             * Encodes the specified GetVotePollsByEndDateRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.verify|verify} messages.
+                             * Encodes the specified GetFinalizedEpochInfosRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0.verify|verify} messages.
                              * @function encodeDelimited
-                             * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.IGetVotePollsByEndDateRequestV0} message GetVotePollsByEndDateRequestV0 message or plain object to encode
+                             * @param {org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.IGetFinalizedEpochInfosRequestV0} message GetFinalizedEpochInfosRequestV0 message or plain object to encode
                              * @param {$protobuf.Writer} [writer] Writer to encode to
                              * @returns {$protobuf.Writer} Writer
                              */
-                            GetVotePollsByEndDateRequestV0.encodeDelimited = function encodeDelimited(message, writer) {
+                            GetFinalizedEpochInfosRequestV0.encodeDelimited = function encodeDelimited(message, writer) {
                                 return this.encode(message, writer).ldelim();
                             };
 
                             /**
-                             * Decodes a GetVotePollsByEndDateRequestV0 message from the specified reader or buffer.
+                             * Decodes a GetFinalizedEpochInfosRequestV0 message from the specified reader or buffer.
                              * @function decode
-                             * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0
                              * @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.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0} GetVotePollsByEndDateRequestV0
+                             * @returns {org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0} GetFinalizedEpochInfosRequestV0
                              * @throws {Error} If the payload is not a reader or valid buffer
                              * @throws {$protobuf.util.ProtocolError} If required fields are missing
                              */
-                            GetVotePollsByEndDateRequestV0.decode = function decode(reader, length) {
+                            GetFinalizedEpochInfosRequestV0.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.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0();
+                                var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0();
                                 while (reader.pos < end) {
                                     var tag = reader.uint32();
                                     switch (tag >>> 3) {
                                     case 1:
-                                        message.startTimeInfo = $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.decode(reader, reader.uint32());
+                                        message.startEpochIndex = reader.uint32();
                                         break;
                                     case 2:
-                                        message.endTimeInfo = $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.decode(reader, reader.uint32());
+                                        message.startEpochIndexIncluded = reader.bool();
                                         break;
                                     case 3:
-                                        message.limit = reader.uint32();
+                                        message.endEpochIndex = reader.uint32();
                                         break;
                                     case 4:
-                                        message.offset = reader.uint32();
+                                        message.endEpochIndexIncluded = reader.bool();
                                         break;
                                     case 5:
-                                        message.ascending = reader.bool();
-                                        break;
-                                    case 6:
                                         message.prove = reader.bool();
                                         break;
                                     default:
@@ -29226,51 +29171,44 @@ $root.org = (function() {
                             };
 
                             /**
-                             * Decodes a GetVotePollsByEndDateRequestV0 message from the specified reader or buffer, length delimited.
+                             * Decodes a GetFinalizedEpochInfosRequestV0 message from the specified reader or buffer, length delimited.
                              * @function decodeDelimited
-                             * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0
                              * @static
                              * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                             * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0} GetVotePollsByEndDateRequestV0
+                             * @returns {org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0} GetFinalizedEpochInfosRequestV0
                              * @throws {Error} If the payload is not a reader or valid buffer
                              * @throws {$protobuf.util.ProtocolError} If required fields are missing
                              */
-                            GetVotePollsByEndDateRequestV0.decodeDelimited = function decodeDelimited(reader) {
+                            GetFinalizedEpochInfosRequestV0.decodeDelimited = function decodeDelimited(reader) {
                                 if (!(reader instanceof $Reader))
                                     reader = new $Reader(reader);
                                 return this.decode(reader, reader.uint32());
                             };
 
                             /**
-                             * Verifies a GetVotePollsByEndDateRequestV0 message.
+                             * Verifies a GetFinalizedEpochInfosRequestV0 message.
                              * @function verify
-                             * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0
                              * @static
                              * @param {Object.} message Plain object to verify
                              * @returns {string|null} `null` if valid, otherwise the reason why it is not
                              */
-                            GetVotePollsByEndDateRequestV0.verify = function verify(message) {
+                            GetFinalizedEpochInfosRequestV0.verify = function verify(message) {
                                 if (typeof message !== "object" || message === null)
                                     return "object expected";
-                                if (message.startTimeInfo != null && message.hasOwnProperty("startTimeInfo")) {
-                                    var error = $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.verify(message.startTimeInfo);
-                                    if (error)
-                                        return "startTimeInfo." + error;
-                                }
-                                if (message.endTimeInfo != null && message.hasOwnProperty("endTimeInfo")) {
-                                    var error = $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.verify(message.endTimeInfo);
-                                    if (error)
-                                        return "endTimeInfo." + error;
-                                }
-                                if (message.limit != null && message.hasOwnProperty("limit"))
-                                    if (!$util.isInteger(message.limit))
-                                        return "limit: integer expected";
-                                if (message.offset != null && message.hasOwnProperty("offset"))
-                                    if (!$util.isInteger(message.offset))
-                                        return "offset: integer expected";
-                                if (message.ascending != null && message.hasOwnProperty("ascending"))
-                                    if (typeof message.ascending !== "boolean")
-                                        return "ascending: boolean expected";
+                                if (message.startEpochIndex != null && message.hasOwnProperty("startEpochIndex"))
+                                    if (!$util.isInteger(message.startEpochIndex))
+                                        return "startEpochIndex: integer expected";
+                                if (message.startEpochIndexIncluded != null && message.hasOwnProperty("startEpochIndexIncluded"))
+                                    if (typeof message.startEpochIndexIncluded !== "boolean")
+                                        return "startEpochIndexIncluded: boolean expected";
+                                if (message.endEpochIndex != null && message.hasOwnProperty("endEpochIndex"))
+                                    if (!$util.isInteger(message.endEpochIndex))
+                                        return "endEpochIndex: integer expected";
+                                if (message.endEpochIndexIncluded != null && message.hasOwnProperty("endEpochIndexIncluded"))
+                                    if (typeof message.endEpochIndexIncluded !== "boolean")
+                                        return "endEpochIndexIncluded: boolean expected";
                                 if (message.prove != null && message.hasOwnProperty("prove"))
                                     if (typeof message.prove !== "boolean")
                                         return "prove: boolean expected";
@@ -29278,557 +29216,98 @@ $root.org = (function() {
                             };
 
                             /**
-                             * Creates a GetVotePollsByEndDateRequestV0 message from a plain object. Also converts values to their respective internal types.
+                             * Creates a GetFinalizedEpochInfosRequestV0 message from a plain object. Also converts values to their respective internal types.
                              * @function fromObject
-                             * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0
                              * @static
                              * @param {Object.} object Plain object
-                             * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0} GetVotePollsByEndDateRequestV0
+                             * @returns {org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0} GetFinalizedEpochInfosRequestV0
                              */
-                            GetVotePollsByEndDateRequestV0.fromObject = function fromObject(object) {
-                                if (object instanceof $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0)
+                            GetFinalizedEpochInfosRequestV0.fromObject = function fromObject(object) {
+                                if (object instanceof $root.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0)
                                     return object;
-                                var message = new $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0();
-                                if (object.startTimeInfo != null) {
-                                    if (typeof object.startTimeInfo !== "object")
-                                        throw TypeError(".org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.startTimeInfo: object expected");
-                                    message.startTimeInfo = $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.fromObject(object.startTimeInfo);
-                                }
-                                if (object.endTimeInfo != null) {
-                                    if (typeof object.endTimeInfo !== "object")
-                                        throw TypeError(".org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.endTimeInfo: object expected");
-                                    message.endTimeInfo = $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.fromObject(object.endTimeInfo);
-                                }
-                                if (object.limit != null)
-                                    message.limit = object.limit >>> 0;
-                                if (object.offset != null)
-                                    message.offset = object.offset >>> 0;
-                                if (object.ascending != null)
-                                    message.ascending = Boolean(object.ascending);
+                                var message = new $root.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0();
+                                if (object.startEpochIndex != null)
+                                    message.startEpochIndex = object.startEpochIndex >>> 0;
+                                if (object.startEpochIndexIncluded != null)
+                                    message.startEpochIndexIncluded = Boolean(object.startEpochIndexIncluded);
+                                if (object.endEpochIndex != null)
+                                    message.endEpochIndex = object.endEpochIndex >>> 0;
+                                if (object.endEpochIndexIncluded != null)
+                                    message.endEpochIndexIncluded = Boolean(object.endEpochIndexIncluded);
                                 if (object.prove != null)
                                     message.prove = Boolean(object.prove);
                                 return message;
                             };
 
                             /**
-                             * Creates a plain object from a GetVotePollsByEndDateRequestV0 message. Also converts values to other types if specified.
+                             * Creates a plain object from a GetFinalizedEpochInfosRequestV0 message. Also converts values to other types if specified.
                              * @function toObject
-                             * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0} message GetVotePollsByEndDateRequestV0
+                             * @param {org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0} message GetFinalizedEpochInfosRequestV0
                              * @param {$protobuf.IConversionOptions} [options] Conversion options
                              * @returns {Object.} Plain object
                              */
-                            GetVotePollsByEndDateRequestV0.toObject = function toObject(message, options) {
+                            GetFinalizedEpochInfosRequestV0.toObject = function toObject(message, options) {
                                 if (!options)
                                     options = {};
                                 var object = {};
                                 if (options.defaults) {
-                                    object.startTimeInfo = null;
-                                    object.endTimeInfo = null;
-                                    object.limit = 0;
-                                    object.offset = 0;
-                                    object.ascending = false;
+                                    object.startEpochIndex = 0;
+                                    object.startEpochIndexIncluded = false;
+                                    object.endEpochIndex = 0;
+                                    object.endEpochIndexIncluded = false;
                                     object.prove = false;
                                 }
-                                if (message.startTimeInfo != null && message.hasOwnProperty("startTimeInfo"))
-                                    object.startTimeInfo = $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.toObject(message.startTimeInfo, options);
-                                if (message.endTimeInfo != null && message.hasOwnProperty("endTimeInfo"))
-                                    object.endTimeInfo = $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.toObject(message.endTimeInfo, options);
-                                if (message.limit != null && message.hasOwnProperty("limit"))
-                                    object.limit = message.limit;
-                                if (message.offset != null && message.hasOwnProperty("offset"))
-                                    object.offset = message.offset;
-                                if (message.ascending != null && message.hasOwnProperty("ascending"))
-                                    object.ascending = message.ascending;
+                                if (message.startEpochIndex != null && message.hasOwnProperty("startEpochIndex"))
+                                    object.startEpochIndex = message.startEpochIndex;
+                                if (message.startEpochIndexIncluded != null && message.hasOwnProperty("startEpochIndexIncluded"))
+                                    object.startEpochIndexIncluded = message.startEpochIndexIncluded;
+                                if (message.endEpochIndex != null && message.hasOwnProperty("endEpochIndex"))
+                                    object.endEpochIndex = message.endEpochIndex;
+                                if (message.endEpochIndexIncluded != null && message.hasOwnProperty("endEpochIndexIncluded"))
+                                    object.endEpochIndexIncluded = message.endEpochIndexIncluded;
                                 if (message.prove != null && message.hasOwnProperty("prove"))
                                     object.prove = message.prove;
                                 return object;
                             };
 
                             /**
-                             * Converts this GetVotePollsByEndDateRequestV0 to JSON.
+                             * Converts this GetFinalizedEpochInfosRequestV0 to JSON.
                              * @function toJSON
-                             * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0
                              * @instance
                              * @returns {Object.} JSON object
                              */
-                            GetVotePollsByEndDateRequestV0.prototype.toJSON = function toJSON() {
+                            GetFinalizedEpochInfosRequestV0.prototype.toJSON = function toJSON() {
                                 return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
                             };
 
-                            GetVotePollsByEndDateRequestV0.StartAtTimeInfo = (function() {
-
-                                /**
-                                 * Properties of a StartAtTimeInfo.
-                                 * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0
-                                 * @interface IStartAtTimeInfo
-                                 * @property {number|Long|null} [startTimeMs] StartAtTimeInfo startTimeMs
-                                 * @property {boolean|null} [startTimeIncluded] StartAtTimeInfo startTimeIncluded
-                                 */
+                            return GetFinalizedEpochInfosRequestV0;
+                        })();
 
-                                /**
-                                 * Constructs a new StartAtTimeInfo.
-                                 * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0
-                                 * @classdesc Represents a StartAtTimeInfo.
-                                 * @implements IStartAtTimeInfo
-                                 * @constructor
-                                 * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.IStartAtTimeInfo=} [properties] Properties to set
-                                 */
-                                function StartAtTimeInfo(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 GetFinalizedEpochInfosRequest;
+                    })();
 
-                                /**
-                                 * StartAtTimeInfo startTimeMs.
-                                 * @member {number|Long} startTimeMs
-                                 * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo
-                                 * @instance
-                                 */
-                                StartAtTimeInfo.prototype.startTimeMs = $util.Long ? $util.Long.fromBits(0,0,true) : 0;
-
-                                /**
-                                 * StartAtTimeInfo startTimeIncluded.
-                                 * @member {boolean} startTimeIncluded
-                                 * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo
-                                 * @instance
-                                 */
-                                StartAtTimeInfo.prototype.startTimeIncluded = false;
-
-                                /**
-                                 * Creates a new StartAtTimeInfo instance using the specified properties.
-                                 * @function create
-                                 * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo
-                                 * @static
-                                 * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.IStartAtTimeInfo=} [properties] Properties to set
-                                 * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo} StartAtTimeInfo instance
-                                 */
-                                StartAtTimeInfo.create = function create(properties) {
-                                    return new StartAtTimeInfo(properties);
-                                };
-
-                                /**
-                                 * Encodes the specified StartAtTimeInfo message. Does not implicitly {@link org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.verify|verify} messages.
-                                 * @function encode
-                                 * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo
-                                 * @static
-                                 * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.IStartAtTimeInfo} message StartAtTimeInfo message or plain object to encode
-                                 * @param {$protobuf.Writer} [writer] Writer to encode to
-                                 * @returns {$protobuf.Writer} Writer
-                                 */
-                                StartAtTimeInfo.encode = function encode(message, writer) {
-                                    if (!writer)
-                                        writer = $Writer.create();
-                                    if (message.startTimeMs != null && Object.hasOwnProperty.call(message, "startTimeMs"))
-                                        writer.uint32(/* id 1, wireType 0 =*/8).uint64(message.startTimeMs);
-                                    if (message.startTimeIncluded != null && Object.hasOwnProperty.call(message, "startTimeIncluded"))
-                                        writer.uint32(/* id 2, wireType 0 =*/16).bool(message.startTimeIncluded);
-                                    return writer;
-                                };
-
-                                /**
-                                 * Encodes the specified StartAtTimeInfo message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.verify|verify} messages.
-                                 * @function encodeDelimited
-                                 * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo
-                                 * @static
-                                 * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.IStartAtTimeInfo} message StartAtTimeInfo message or plain object to encode
-                                 * @param {$protobuf.Writer} [writer] Writer to encode to
-                                 * @returns {$protobuf.Writer} Writer
-                                 */
-                                StartAtTimeInfo.encodeDelimited = function encodeDelimited(message, writer) {
-                                    return this.encode(message, writer).ldelim();
-                                };
-
-                                /**
-                                 * Decodes a StartAtTimeInfo message from the specified reader or buffer.
-                                 * @function decode
-                                 * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo
-                                 * @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.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo} StartAtTimeInfo
-                                 * @throws {Error} If the payload is not a reader or valid buffer
-                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
-                                 */
-                                StartAtTimeInfo.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.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo();
-                                    while (reader.pos < end) {
-                                        var tag = reader.uint32();
-                                        switch (tag >>> 3) {
-                                        case 1:
-                                            message.startTimeMs = reader.uint64();
-                                            break;
-                                        case 2:
-                                            message.startTimeIncluded = reader.bool();
-                                            break;
-                                        default:
-                                            reader.skipType(tag & 7);
-                                            break;
-                                        }
-                                    }
-                                    return message;
-                                };
-
-                                /**
-                                 * Decodes a StartAtTimeInfo message from the specified reader or buffer, length delimited.
-                                 * @function decodeDelimited
-                                 * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo
-                                 * @static
-                                 * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                                 * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo} StartAtTimeInfo
-                                 * @throws {Error} If the payload is not a reader or valid buffer
-                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
-                                 */
-                                StartAtTimeInfo.decodeDelimited = function decodeDelimited(reader) {
-                                    if (!(reader instanceof $Reader))
-                                        reader = new $Reader(reader);
-                                    return this.decode(reader, reader.uint32());
-                                };
-
-                                /**
-                                 * Verifies a StartAtTimeInfo message.
-                                 * @function verify
-                                 * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo
-                                 * @static
-                                 * @param {Object.} message Plain object to verify
-                                 * @returns {string|null} `null` if valid, otherwise the reason why it is not
-                                 */
-                                StartAtTimeInfo.verify = function verify(message) {
-                                    if (typeof message !== "object" || message === null)
-                                        return "object expected";
-                                    if (message.startTimeMs != null && message.hasOwnProperty("startTimeMs"))
-                                        if (!$util.isInteger(message.startTimeMs) && !(message.startTimeMs && $util.isInteger(message.startTimeMs.low) && $util.isInteger(message.startTimeMs.high)))
-                                            return "startTimeMs: integer|Long expected";
-                                    if (message.startTimeIncluded != null && message.hasOwnProperty("startTimeIncluded"))
-                                        if (typeof message.startTimeIncluded !== "boolean")
-                                            return "startTimeIncluded: boolean expected";
-                                    return null;
-                                };
-
-                                /**
-                                 * Creates a StartAtTimeInfo message from a plain object. Also converts values to their respective internal types.
-                                 * @function fromObject
-                                 * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo
-                                 * @static
-                                 * @param {Object.} object Plain object
-                                 * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo} StartAtTimeInfo
-                                 */
-                                StartAtTimeInfo.fromObject = function fromObject(object) {
-                                    if (object instanceof $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo)
-                                        return object;
-                                    var message = new $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo();
-                                    if (object.startTimeMs != null)
-                                        if ($util.Long)
-                                            (message.startTimeMs = $util.Long.fromValue(object.startTimeMs)).unsigned = true;
-                                        else if (typeof object.startTimeMs === "string")
-                                            message.startTimeMs = parseInt(object.startTimeMs, 10);
-                                        else if (typeof object.startTimeMs === "number")
-                                            message.startTimeMs = object.startTimeMs;
-                                        else if (typeof object.startTimeMs === "object")
-                                            message.startTimeMs = new $util.LongBits(object.startTimeMs.low >>> 0, object.startTimeMs.high >>> 0).toNumber(true);
-                                    if (object.startTimeIncluded != null)
-                                        message.startTimeIncluded = Boolean(object.startTimeIncluded);
-                                    return message;
-                                };
-
-                                /**
-                                 * Creates a plain object from a StartAtTimeInfo message. Also converts values to other types if specified.
-                                 * @function toObject
-                                 * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo
-                                 * @static
-                                 * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo} message StartAtTimeInfo
-                                 * @param {$protobuf.IConversionOptions} [options] Conversion options
-                                 * @returns {Object.} Plain object
-                                 */
-                                StartAtTimeInfo.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.startTimeMs = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;
-                                        } else
-                                            object.startTimeMs = options.longs === String ? "0" : 0;
-                                        object.startTimeIncluded = false;
-                                    }
-                                    if (message.startTimeMs != null && message.hasOwnProperty("startTimeMs"))
-                                        if (typeof message.startTimeMs === "number")
-                                            object.startTimeMs = options.longs === String ? String(message.startTimeMs) : message.startTimeMs;
-                                        else
-                                            object.startTimeMs = options.longs === String ? $util.Long.prototype.toString.call(message.startTimeMs) : options.longs === Number ? new $util.LongBits(message.startTimeMs.low >>> 0, message.startTimeMs.high >>> 0).toNumber(true) : message.startTimeMs;
-                                    if (message.startTimeIncluded != null && message.hasOwnProperty("startTimeIncluded"))
-                                        object.startTimeIncluded = message.startTimeIncluded;
-                                    return object;
-                                };
-
-                                /**
-                                 * Converts this StartAtTimeInfo to JSON.
-                                 * @function toJSON
-                                 * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo
-                                 * @instance
-                                 * @returns {Object.} JSON object
-                                 */
-                                StartAtTimeInfo.prototype.toJSON = function toJSON() {
-                                    return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
-                                };
-
-                                return StartAtTimeInfo;
-                            })();
-
-                            GetVotePollsByEndDateRequestV0.EndAtTimeInfo = (function() {
-
-                                /**
-                                 * Properties of an EndAtTimeInfo.
-                                 * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0
-                                 * @interface IEndAtTimeInfo
-                                 * @property {number|Long|null} [endTimeMs] EndAtTimeInfo endTimeMs
-                                 * @property {boolean|null} [endTimeIncluded] EndAtTimeInfo endTimeIncluded
-                                 */
-
-                                /**
-                                 * Constructs a new EndAtTimeInfo.
-                                 * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0
-                                 * @classdesc Represents an EndAtTimeInfo.
-                                 * @implements IEndAtTimeInfo
-                                 * @constructor
-                                 * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.IEndAtTimeInfo=} [properties] Properties to set
-                                 */
-                                function EndAtTimeInfo(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]];
-                                }
-
-                                /**
-                                 * EndAtTimeInfo endTimeMs.
-                                 * @member {number|Long} endTimeMs
-                                 * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo
-                                 * @instance
-                                 */
-                                EndAtTimeInfo.prototype.endTimeMs = $util.Long ? $util.Long.fromBits(0,0,true) : 0;
-
-                                /**
-                                 * EndAtTimeInfo endTimeIncluded.
-                                 * @member {boolean} endTimeIncluded
-                                 * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo
-                                 * @instance
-                                 */
-                                EndAtTimeInfo.prototype.endTimeIncluded = false;
-
-                                /**
-                                 * Creates a new EndAtTimeInfo instance using the specified properties.
-                                 * @function create
-                                 * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo
-                                 * @static
-                                 * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.IEndAtTimeInfo=} [properties] Properties to set
-                                 * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo} EndAtTimeInfo instance
-                                 */
-                                EndAtTimeInfo.create = function create(properties) {
-                                    return new EndAtTimeInfo(properties);
-                                };
-
-                                /**
-                                 * Encodes the specified EndAtTimeInfo message. Does not implicitly {@link org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.verify|verify} messages.
-                                 * @function encode
-                                 * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo
-                                 * @static
-                                 * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.IEndAtTimeInfo} message EndAtTimeInfo message or plain object to encode
-                                 * @param {$protobuf.Writer} [writer] Writer to encode to
-                                 * @returns {$protobuf.Writer} Writer
-                                 */
-                                EndAtTimeInfo.encode = function encode(message, writer) {
-                                    if (!writer)
-                                        writer = $Writer.create();
-                                    if (message.endTimeMs != null && Object.hasOwnProperty.call(message, "endTimeMs"))
-                                        writer.uint32(/* id 1, wireType 0 =*/8).uint64(message.endTimeMs);
-                                    if (message.endTimeIncluded != null && Object.hasOwnProperty.call(message, "endTimeIncluded"))
-                                        writer.uint32(/* id 2, wireType 0 =*/16).bool(message.endTimeIncluded);
-                                    return writer;
-                                };
-
-                                /**
-                                 * Encodes the specified EndAtTimeInfo message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.verify|verify} messages.
-                                 * @function encodeDelimited
-                                 * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo
-                                 * @static
-                                 * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.IEndAtTimeInfo} message EndAtTimeInfo message or plain object to encode
-                                 * @param {$protobuf.Writer} [writer] Writer to encode to
-                                 * @returns {$protobuf.Writer} Writer
-                                 */
-                                EndAtTimeInfo.encodeDelimited = function encodeDelimited(message, writer) {
-                                    return this.encode(message, writer).ldelim();
-                                };
-
-                                /**
-                                 * Decodes an EndAtTimeInfo message from the specified reader or buffer.
-                                 * @function decode
-                                 * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo
-                                 * @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.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo} EndAtTimeInfo
-                                 * @throws {Error} If the payload is not a reader or valid buffer
-                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
-                                 */
-                                EndAtTimeInfo.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.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo();
-                                    while (reader.pos < end) {
-                                        var tag = reader.uint32();
-                                        switch (tag >>> 3) {
-                                        case 1:
-                                            message.endTimeMs = reader.uint64();
-                                            break;
-                                        case 2:
-                                            message.endTimeIncluded = reader.bool();
-                                            break;
-                                        default:
-                                            reader.skipType(tag & 7);
-                                            break;
-                                        }
-                                    }
-                                    return message;
-                                };
-
-                                /**
-                                 * Decodes an EndAtTimeInfo message from the specified reader or buffer, length delimited.
-                                 * @function decodeDelimited
-                                 * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo
-                                 * @static
-                                 * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                                 * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo} EndAtTimeInfo
-                                 * @throws {Error} If the payload is not a reader or valid buffer
-                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
-                                 */
-                                EndAtTimeInfo.decodeDelimited = function decodeDelimited(reader) {
-                                    if (!(reader instanceof $Reader))
-                                        reader = new $Reader(reader);
-                                    return this.decode(reader, reader.uint32());
-                                };
-
-                                /**
-                                 * Verifies an EndAtTimeInfo message.
-                                 * @function verify
-                                 * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo
-                                 * @static
-                                 * @param {Object.} message Plain object to verify
-                                 * @returns {string|null} `null` if valid, otherwise the reason why it is not
-                                 */
-                                EndAtTimeInfo.verify = function verify(message) {
-                                    if (typeof message !== "object" || message === null)
-                                        return "object expected";
-                                    if (message.endTimeMs != null && message.hasOwnProperty("endTimeMs"))
-                                        if (!$util.isInteger(message.endTimeMs) && !(message.endTimeMs && $util.isInteger(message.endTimeMs.low) && $util.isInteger(message.endTimeMs.high)))
-                                            return "endTimeMs: integer|Long expected";
-                                    if (message.endTimeIncluded != null && message.hasOwnProperty("endTimeIncluded"))
-                                        if (typeof message.endTimeIncluded !== "boolean")
-                                            return "endTimeIncluded: boolean expected";
-                                    return null;
-                                };
-
-                                /**
-                                 * Creates an EndAtTimeInfo message from a plain object. Also converts values to their respective internal types.
-                                 * @function fromObject
-                                 * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo
-                                 * @static
-                                 * @param {Object.} object Plain object
-                                 * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo} EndAtTimeInfo
-                                 */
-                                EndAtTimeInfo.fromObject = function fromObject(object) {
-                                    if (object instanceof $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo)
-                                        return object;
-                                    var message = new $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo();
-                                    if (object.endTimeMs != null)
-                                        if ($util.Long)
-                                            (message.endTimeMs = $util.Long.fromValue(object.endTimeMs)).unsigned = true;
-                                        else if (typeof object.endTimeMs === "string")
-                                            message.endTimeMs = parseInt(object.endTimeMs, 10);
-                                        else if (typeof object.endTimeMs === "number")
-                                            message.endTimeMs = object.endTimeMs;
-                                        else if (typeof object.endTimeMs === "object")
-                                            message.endTimeMs = new $util.LongBits(object.endTimeMs.low >>> 0, object.endTimeMs.high >>> 0).toNumber(true);
-                                    if (object.endTimeIncluded != null)
-                                        message.endTimeIncluded = Boolean(object.endTimeIncluded);
-                                    return message;
-                                };
-
-                                /**
-                                 * Creates a plain object from an EndAtTimeInfo message. Also converts values to other types if specified.
-                                 * @function toObject
-                                 * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo
-                                 * @static
-                                 * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo} message EndAtTimeInfo
-                                 * @param {$protobuf.IConversionOptions} [options] Conversion options
-                                 * @returns {Object.} Plain object
-                                 */
-                                EndAtTimeInfo.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.endTimeMs = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;
-                                        } else
-                                            object.endTimeMs = options.longs === String ? "0" : 0;
-                                        object.endTimeIncluded = false;
-                                    }
-                                    if (message.endTimeMs != null && message.hasOwnProperty("endTimeMs"))
-                                        if (typeof message.endTimeMs === "number")
-                                            object.endTimeMs = options.longs === String ? String(message.endTimeMs) : message.endTimeMs;
-                                        else
-                                            object.endTimeMs = options.longs === String ? $util.Long.prototype.toString.call(message.endTimeMs) : options.longs === Number ? new $util.LongBits(message.endTimeMs.low >>> 0, message.endTimeMs.high >>> 0).toNumber(true) : message.endTimeMs;
-                                    if (message.endTimeIncluded != null && message.hasOwnProperty("endTimeIncluded"))
-                                        object.endTimeIncluded = message.endTimeIncluded;
-                                    return object;
-                                };
-
-                                /**
-                                 * Converts this EndAtTimeInfo to JSON.
-                                 * @function toJSON
-                                 * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo
-                                 * @instance
-                                 * @returns {Object.} JSON object
-                                 */
-                                EndAtTimeInfo.prototype.toJSON = function toJSON() {
-                                    return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
-                                };
-
-                                return EndAtTimeInfo;
-                            })();
-
-                            return GetVotePollsByEndDateRequestV0;
-                        })();
-
-                        return GetVotePollsByEndDateRequest;
-                    })();
-
-                    v0.GetVotePollsByEndDateResponse = (function() {
+                    v0.GetFinalizedEpochInfosResponse = (function() {
 
                         /**
-                         * Properties of a GetVotePollsByEndDateResponse.
+                         * Properties of a GetFinalizedEpochInfosResponse.
                          * @memberof org.dash.platform.dapi.v0
-                         * @interface IGetVotePollsByEndDateResponse
-                         * @property {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.IGetVotePollsByEndDateResponseV0|null} [v0] GetVotePollsByEndDateResponse v0
+                         * @interface IGetFinalizedEpochInfosResponse
+                         * @property {org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.IGetFinalizedEpochInfosResponseV0|null} [v0] GetFinalizedEpochInfosResponse v0
                          */
 
                         /**
-                         * Constructs a new GetVotePollsByEndDateResponse.
+                         * Constructs a new GetFinalizedEpochInfosResponse.
                          * @memberof org.dash.platform.dapi.v0
-                         * @classdesc Represents a GetVotePollsByEndDateResponse.
-                         * @implements IGetVotePollsByEndDateResponse
+                         * @classdesc Represents a GetFinalizedEpochInfosResponse.
+                         * @implements IGetFinalizedEpochInfosResponse
                          * @constructor
-                         * @param {org.dash.platform.dapi.v0.IGetVotePollsByEndDateResponse=} [properties] Properties to set
+                         * @param {org.dash.platform.dapi.v0.IGetFinalizedEpochInfosResponse=} [properties] Properties to set
                          */
-                        function GetVotePollsByEndDateResponse(properties) {
+                        function GetFinalizedEpochInfosResponse(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
                                     if (properties[keys[i]] != null)
@@ -29836,89 +29315,89 @@ $root.org = (function() {
                         }
 
                         /**
-                         * GetVotePollsByEndDateResponse v0.
-                         * @member {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.IGetVotePollsByEndDateResponseV0|null|undefined} v0
-                         * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse
+                         * GetFinalizedEpochInfosResponse v0.
+                         * @member {org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.IGetFinalizedEpochInfosResponseV0|null|undefined} v0
+                         * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse
                          * @instance
                          */
-                        GetVotePollsByEndDateResponse.prototype.v0 = null;
+                        GetFinalizedEpochInfosResponse.prototype.v0 = null;
 
                         // OneOf field names bound to virtual getters and setters
                         var $oneOfFields;
 
                         /**
-                         * GetVotePollsByEndDateResponse version.
+                         * GetFinalizedEpochInfosResponse version.
                          * @member {"v0"|undefined} version
-                         * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse
+                         * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse
                          * @instance
                          */
-                        Object.defineProperty(GetVotePollsByEndDateResponse.prototype, "version", {
+                        Object.defineProperty(GetFinalizedEpochInfosResponse.prototype, "version", {
                             get: $util.oneOfGetter($oneOfFields = ["v0"]),
                             set: $util.oneOfSetter($oneOfFields)
                         });
 
                         /**
-                         * Creates a new GetVotePollsByEndDateResponse instance using the specified properties.
+                         * Creates a new GetFinalizedEpochInfosResponse instance using the specified properties.
                          * @function create
-                         * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse
+                         * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse
                          * @static
-                         * @param {org.dash.platform.dapi.v0.IGetVotePollsByEndDateResponse=} [properties] Properties to set
-                         * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse} GetVotePollsByEndDateResponse instance
+                         * @param {org.dash.platform.dapi.v0.IGetFinalizedEpochInfosResponse=} [properties] Properties to set
+                         * @returns {org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse} GetFinalizedEpochInfosResponse instance
                          */
-                        GetVotePollsByEndDateResponse.create = function create(properties) {
-                            return new GetVotePollsByEndDateResponse(properties);
+                        GetFinalizedEpochInfosResponse.create = function create(properties) {
+                            return new GetFinalizedEpochInfosResponse(properties);
                         };
 
                         /**
-                         * Encodes the specified GetVotePollsByEndDateResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.verify|verify} messages.
+                         * Encodes the specified GetFinalizedEpochInfosResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.verify|verify} messages.
                          * @function encode
-                         * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse
+                         * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse
                          * @static
-                         * @param {org.dash.platform.dapi.v0.IGetVotePollsByEndDateResponse} message GetVotePollsByEndDateResponse message or plain object to encode
+                         * @param {org.dash.platform.dapi.v0.IGetFinalizedEpochInfosResponse} message GetFinalizedEpochInfosResponse message or plain object to encode
                          * @param {$protobuf.Writer} [writer] Writer to encode to
                          * @returns {$protobuf.Writer} Writer
                          */
-                        GetVotePollsByEndDateResponse.encode = function encode(message, writer) {
+                        GetFinalizedEpochInfosResponse.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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+                                $root.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
                             return writer;
                         };
 
                         /**
-                         * Encodes the specified GetVotePollsByEndDateResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.verify|verify} messages.
+                         * Encodes the specified GetFinalizedEpochInfosResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.verify|verify} messages.
                          * @function encodeDelimited
-                         * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse
+                         * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse
                          * @static
-                         * @param {org.dash.platform.dapi.v0.IGetVotePollsByEndDateResponse} message GetVotePollsByEndDateResponse message or plain object to encode
+                         * @param {org.dash.platform.dapi.v0.IGetFinalizedEpochInfosResponse} message GetFinalizedEpochInfosResponse message or plain object to encode
                          * @param {$protobuf.Writer} [writer] Writer to encode to
                          * @returns {$protobuf.Writer} Writer
                          */
-                        GetVotePollsByEndDateResponse.encodeDelimited = function encodeDelimited(message, writer) {
+                        GetFinalizedEpochInfosResponse.encodeDelimited = function encodeDelimited(message, writer) {
                             return this.encode(message, writer).ldelim();
                         };
 
                         /**
-                         * Decodes a GetVotePollsByEndDateResponse message from the specified reader or buffer.
+                         * Decodes a GetFinalizedEpochInfosResponse message from the specified reader or buffer.
                          * @function decode
-                         * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse
+                         * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse
                          * @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.GetVotePollsByEndDateResponse} GetVotePollsByEndDateResponse
+                         * @returns {org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse} GetFinalizedEpochInfosResponse
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        GetVotePollsByEndDateResponse.decode = function decode(reader, length) {
+                        GetFinalizedEpochInfosResponse.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.GetVotePollsByEndDateResponse();
+                            var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
                                 switch (tag >>> 3) {
                                 case 1:
-                                    message.v0 = $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.decode(reader, reader.uint32());
+                                    message.v0 = $root.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.decode(reader, reader.uint32());
                                     break;
                                 default:
                                     reader.skipType(tag & 7);
@@ -29929,37 +29408,37 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Decodes a GetVotePollsByEndDateResponse message from the specified reader or buffer, length delimited.
+                         * Decodes a GetFinalizedEpochInfosResponse message from the specified reader or buffer, length delimited.
                          * @function decodeDelimited
-                         * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse
+                         * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse
                          * @static
                          * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                         * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse} GetVotePollsByEndDateResponse
+                         * @returns {org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse} GetFinalizedEpochInfosResponse
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        GetVotePollsByEndDateResponse.decodeDelimited = function decodeDelimited(reader) {
+                        GetFinalizedEpochInfosResponse.decodeDelimited = function decodeDelimited(reader) {
                             if (!(reader instanceof $Reader))
                                 reader = new $Reader(reader);
                             return this.decode(reader, reader.uint32());
                         };
 
                         /**
-                         * Verifies a GetVotePollsByEndDateResponse message.
+                         * Verifies a GetFinalizedEpochInfosResponse message.
                          * @function verify
-                         * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse
+                         * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse
                          * @static
                          * @param {Object.} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        GetVotePollsByEndDateResponse.verify = function verify(message) {
+                        GetFinalizedEpochInfosResponse.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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.verify(message.v0);
+                                    var error = $root.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.verify(message.v0);
                                     if (error)
                                         return "v0." + error;
                                 }
@@ -29968,40 +29447,40 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Creates a GetVotePollsByEndDateResponse message from a plain object. Also converts values to their respective internal types.
+                         * Creates a GetFinalizedEpochInfosResponse message from a plain object. Also converts values to their respective internal types.
                          * @function fromObject
-                         * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse
+                         * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse
                          * @static
                          * @param {Object.} object Plain object
-                         * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse} GetVotePollsByEndDateResponse
+                         * @returns {org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse} GetFinalizedEpochInfosResponse
                          */
-                        GetVotePollsByEndDateResponse.fromObject = function fromObject(object) {
-                            if (object instanceof $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse)
+                        GetFinalizedEpochInfosResponse.fromObject = function fromObject(object) {
+                            if (object instanceof $root.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse)
                                 return object;
-                            var message = new $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse();
+                            var message = new $root.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse();
                             if (object.v0 != null) {
                                 if (typeof object.v0 !== "object")
-                                    throw TypeError(".org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.v0: object expected");
-                                message.v0 = $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.fromObject(object.v0);
+                                    throw TypeError(".org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.v0: object expected");
+                                message.v0 = $root.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.fromObject(object.v0);
                             }
                             return message;
                         };
 
                         /**
-                         * Creates a plain object from a GetVotePollsByEndDateResponse message. Also converts values to other types if specified.
+                         * Creates a plain object from a GetFinalizedEpochInfosResponse message. Also converts values to other types if specified.
                          * @function toObject
-                         * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse
+                         * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse
                          * @static
-                         * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse} message GetVotePollsByEndDateResponse
+                         * @param {org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse} message GetFinalizedEpochInfosResponse
                          * @param {$protobuf.IConversionOptions} [options] Conversion options
                          * @returns {Object.} Plain object
                          */
-                        GetVotePollsByEndDateResponse.toObject = function toObject(message, options) {
+                        GetFinalizedEpochInfosResponse.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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.toObject(message.v0, options);
+                                object.v0 = $root.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.toObject(message.v0, options);
                                 if (options.oneofs)
                                     object.version = "v0";
                             }
@@ -30009,36 +29488,36 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Converts this GetVotePollsByEndDateResponse to JSON.
+                         * Converts this GetFinalizedEpochInfosResponse to JSON.
                          * @function toJSON
-                         * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse
+                         * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse
                          * @instance
                          * @returns {Object.} JSON object
                          */
-                        GetVotePollsByEndDateResponse.prototype.toJSON = function toJSON() {
+                        GetFinalizedEpochInfosResponse.prototype.toJSON = function toJSON() {
                             return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
                         };
 
-                        GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0 = (function() {
+                        GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0 = (function() {
 
                             /**
-                             * Properties of a GetVotePollsByEndDateResponseV0.
-                             * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse
-                             * @interface IGetVotePollsByEndDateResponseV0
-                             * @property {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.ISerializedVotePollsByTimestamps|null} [votePollsByTimestamps] GetVotePollsByEndDateResponseV0 votePollsByTimestamps
-                             * @property {org.dash.platform.dapi.v0.IProof|null} [proof] GetVotePollsByEndDateResponseV0 proof
-                             * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetVotePollsByEndDateResponseV0 metadata
+                             * Properties of a GetFinalizedEpochInfosResponseV0.
+                             * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse
+                             * @interface IGetFinalizedEpochInfosResponseV0
+                             * @property {org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.IFinalizedEpochInfos|null} [epochs] GetFinalizedEpochInfosResponseV0 epochs
+                             * @property {org.dash.platform.dapi.v0.IProof|null} [proof] GetFinalizedEpochInfosResponseV0 proof
+                             * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetFinalizedEpochInfosResponseV0 metadata
                              */
 
                             /**
-                             * Constructs a new GetVotePollsByEndDateResponseV0.
-                             * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse
-                             * @classdesc Represents a GetVotePollsByEndDateResponseV0.
-                             * @implements IGetVotePollsByEndDateResponseV0
+                             * Constructs a new GetFinalizedEpochInfosResponseV0.
+                             * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse
+                             * @classdesc Represents a GetFinalizedEpochInfosResponseV0.
+                             * @implements IGetFinalizedEpochInfosResponseV0
                              * @constructor
-                             * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.IGetVotePollsByEndDateResponseV0=} [properties] Properties to set
+                             * @param {org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.IGetFinalizedEpochInfosResponseV0=} [properties] Properties to set
                              */
-                            function GetVotePollsByEndDateResponseV0(properties) {
+                            function GetFinalizedEpochInfosResponseV0(properties) {
                                 if (properties)
                                     for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
                                         if (properties[keys[i]] != null)
@@ -30046,69 +29525,69 @@ $root.org = (function() {
                             }
 
                             /**
-                             * GetVotePollsByEndDateResponseV0 votePollsByTimestamps.
-                             * @member {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.ISerializedVotePollsByTimestamps|null|undefined} votePollsByTimestamps
-                             * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0
+                             * GetFinalizedEpochInfosResponseV0 epochs.
+                             * @member {org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.IFinalizedEpochInfos|null|undefined} epochs
+                             * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0
                              * @instance
                              */
-                            GetVotePollsByEndDateResponseV0.prototype.votePollsByTimestamps = null;
+                            GetFinalizedEpochInfosResponseV0.prototype.epochs = null;
 
                             /**
-                             * GetVotePollsByEndDateResponseV0 proof.
+                             * GetFinalizedEpochInfosResponseV0 proof.
                              * @member {org.dash.platform.dapi.v0.IProof|null|undefined} proof
-                             * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0
                              * @instance
                              */
-                            GetVotePollsByEndDateResponseV0.prototype.proof = null;
+                            GetFinalizedEpochInfosResponseV0.prototype.proof = null;
 
                             /**
-                             * GetVotePollsByEndDateResponseV0 metadata.
+                             * GetFinalizedEpochInfosResponseV0 metadata.
                              * @member {org.dash.platform.dapi.v0.IResponseMetadata|null|undefined} metadata
-                             * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0
                              * @instance
                              */
-                            GetVotePollsByEndDateResponseV0.prototype.metadata = null;
+                            GetFinalizedEpochInfosResponseV0.prototype.metadata = null;
 
                             // OneOf field names bound to virtual getters and setters
                             var $oneOfFields;
 
                             /**
-                             * GetVotePollsByEndDateResponseV0 result.
-                             * @member {"votePollsByTimestamps"|"proof"|undefined} result
-                             * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0
+                             * GetFinalizedEpochInfosResponseV0 result.
+                             * @member {"epochs"|"proof"|undefined} result
+                             * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0
                              * @instance
                              */
-                            Object.defineProperty(GetVotePollsByEndDateResponseV0.prototype, "result", {
-                                get: $util.oneOfGetter($oneOfFields = ["votePollsByTimestamps", "proof"]),
+                            Object.defineProperty(GetFinalizedEpochInfosResponseV0.prototype, "result", {
+                                get: $util.oneOfGetter($oneOfFields = ["epochs", "proof"]),
                                 set: $util.oneOfSetter($oneOfFields)
                             });
 
                             /**
-                             * Creates a new GetVotePollsByEndDateResponseV0 instance using the specified properties.
+                             * Creates a new GetFinalizedEpochInfosResponseV0 instance using the specified properties.
                              * @function create
-                             * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.IGetVotePollsByEndDateResponseV0=} [properties] Properties to set
-                             * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0} GetVotePollsByEndDateResponseV0 instance
+                             * @param {org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.IGetFinalizedEpochInfosResponseV0=} [properties] Properties to set
+                             * @returns {org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0} GetFinalizedEpochInfosResponseV0 instance
                              */
-                            GetVotePollsByEndDateResponseV0.create = function create(properties) {
-                                return new GetVotePollsByEndDateResponseV0(properties);
+                            GetFinalizedEpochInfosResponseV0.create = function create(properties) {
+                                return new GetFinalizedEpochInfosResponseV0(properties);
                             };
 
                             /**
-                             * Encodes the specified GetVotePollsByEndDateResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.verify|verify} messages.
+                             * Encodes the specified GetFinalizedEpochInfosResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.verify|verify} messages.
                              * @function encode
-                             * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.IGetVotePollsByEndDateResponseV0} message GetVotePollsByEndDateResponseV0 message or plain object to encode
+                             * @param {org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.IGetFinalizedEpochInfosResponseV0} message GetFinalizedEpochInfosResponseV0 message or plain object to encode
                              * @param {$protobuf.Writer} [writer] Writer to encode to
                              * @returns {$protobuf.Writer} Writer
                              */
-                            GetVotePollsByEndDateResponseV0.encode = function encode(message, writer) {
+                            GetFinalizedEpochInfosResponseV0.encode = function encode(message, writer) {
                                 if (!writer)
                                     writer = $Writer.create();
-                                if (message.votePollsByTimestamps != null && Object.hasOwnProperty.call(message, "votePollsByTimestamps"))
-                                    $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.encode(message.votePollsByTimestamps, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+                                if (message.epochs != null && Object.hasOwnProperty.call(message, "epochs"))
+                                    $root.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos.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"))
@@ -30117,38 +29596,38 @@ $root.org = (function() {
                             };
 
                             /**
-                             * Encodes the specified GetVotePollsByEndDateResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.verify|verify} messages.
+                             * Encodes the specified GetFinalizedEpochInfosResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.verify|verify} messages.
                              * @function encodeDelimited
-                             * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.IGetVotePollsByEndDateResponseV0} message GetVotePollsByEndDateResponseV0 message or plain object to encode
+                             * @param {org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.IGetFinalizedEpochInfosResponseV0} message GetFinalizedEpochInfosResponseV0 message or plain object to encode
                              * @param {$protobuf.Writer} [writer] Writer to encode to
                              * @returns {$protobuf.Writer} Writer
                              */
-                            GetVotePollsByEndDateResponseV0.encodeDelimited = function encodeDelimited(message, writer) {
+                            GetFinalizedEpochInfosResponseV0.encodeDelimited = function encodeDelimited(message, writer) {
                                 return this.encode(message, writer).ldelim();
                             };
 
                             /**
-                             * Decodes a GetVotePollsByEndDateResponseV0 message from the specified reader or buffer.
+                             * Decodes a GetFinalizedEpochInfosResponseV0 message from the specified reader or buffer.
                              * @function decode
-                             * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0
                              * @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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0} GetVotePollsByEndDateResponseV0
+                             * @returns {org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0} GetFinalizedEpochInfosResponseV0
                              * @throws {Error} If the payload is not a reader or valid buffer
                              * @throws {$protobuf.util.ProtocolError} If required fields are missing
                              */
-                            GetVotePollsByEndDateResponseV0.decode = function decode(reader, length) {
+                            GetFinalizedEpochInfosResponseV0.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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0();
+                                var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0();
                                 while (reader.pos < end) {
                                     var tag = reader.uint32();
                                     switch (tag >>> 3) {
                                     case 1:
-                                        message.votePollsByTimestamps = $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.decode(reader, reader.uint32());
+                                        message.epochs = $root.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos.decode(reader, reader.uint32());
                                         break;
                                     case 2:
                                         message.proof = $root.org.dash.platform.dapi.v0.Proof.decode(reader, reader.uint32());
@@ -30165,39 +29644,39 @@ $root.org = (function() {
                             };
 
                             /**
-                             * Decodes a GetVotePollsByEndDateResponseV0 message from the specified reader or buffer, length delimited.
+                             * Decodes a GetFinalizedEpochInfosResponseV0 message from the specified reader or buffer, length delimited.
                              * @function decodeDelimited
-                             * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0
                              * @static
                              * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                             * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0} GetVotePollsByEndDateResponseV0
+                             * @returns {org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0} GetFinalizedEpochInfosResponseV0
                              * @throws {Error} If the payload is not a reader or valid buffer
                              * @throws {$protobuf.util.ProtocolError} If required fields are missing
                              */
-                            GetVotePollsByEndDateResponseV0.decodeDelimited = function decodeDelimited(reader) {
+                            GetFinalizedEpochInfosResponseV0.decodeDelimited = function decodeDelimited(reader) {
                                 if (!(reader instanceof $Reader))
                                     reader = new $Reader(reader);
                                 return this.decode(reader, reader.uint32());
                             };
 
                             /**
-                             * Verifies a GetVotePollsByEndDateResponseV0 message.
+                             * Verifies a GetFinalizedEpochInfosResponseV0 message.
                              * @function verify
-                             * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0
                              * @static
                              * @param {Object.} message Plain object to verify
                              * @returns {string|null} `null` if valid, otherwise the reason why it is not
                              */
-                            GetVotePollsByEndDateResponseV0.verify = function verify(message) {
+                            GetFinalizedEpochInfosResponseV0.verify = function verify(message) {
                                 if (typeof message !== "object" || message === null)
                                     return "object expected";
                                 var properties = {};
-                                if (message.votePollsByTimestamps != null && message.hasOwnProperty("votePollsByTimestamps")) {
+                                if (message.epochs != null && message.hasOwnProperty("epochs")) {
                                     properties.result = 1;
                                     {
-                                        var error = $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.verify(message.votePollsByTimestamps);
+                                        var error = $root.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos.verify(message.epochs);
                                         if (error)
-                                            return "votePollsByTimestamps." + error;
+                                            return "epochs." + error;
                                     }
                                 }
                                 if (message.proof != null && message.hasOwnProperty("proof")) {
@@ -30219,54 +29698,54 @@ $root.org = (function() {
                             };
 
                             /**
-                             * Creates a GetVotePollsByEndDateResponseV0 message from a plain object. Also converts values to their respective internal types.
+                             * Creates a GetFinalizedEpochInfosResponseV0 message from a plain object. Also converts values to their respective internal types.
                              * @function fromObject
-                             * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0
                              * @static
                              * @param {Object.} object Plain object
-                             * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0} GetVotePollsByEndDateResponseV0
+                             * @returns {org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0} GetFinalizedEpochInfosResponseV0
                              */
-                            GetVotePollsByEndDateResponseV0.fromObject = function fromObject(object) {
-                                if (object instanceof $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0)
+                            GetFinalizedEpochInfosResponseV0.fromObject = function fromObject(object) {
+                                if (object instanceof $root.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0)
                                     return object;
-                                var message = new $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0();
-                                if (object.votePollsByTimestamps != null) {
-                                    if (typeof object.votePollsByTimestamps !== "object")
-                                        throw TypeError(".org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.votePollsByTimestamps: object expected");
-                                    message.votePollsByTimestamps = $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.fromObject(object.votePollsByTimestamps);
+                                var message = new $root.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0();
+                                if (object.epochs != null) {
+                                    if (typeof object.epochs !== "object")
+                                        throw TypeError(".org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.epochs: object expected");
+                                    message.epochs = $root.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos.fromObject(object.epochs);
                                 }
                                 if (object.proof != null) {
                                     if (typeof object.proof !== "object")
-                                        throw TypeError(".org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.proof: object expected");
+                                        throw TypeError(".org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.metadata: object expected");
+                                        throw TypeError(".org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.metadata: object expected");
                                     message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.fromObject(object.metadata);
                                 }
                                 return message;
                             };
 
                             /**
-                             * Creates a plain object from a GetVotePollsByEndDateResponseV0 message. Also converts values to other types if specified.
+                             * Creates a plain object from a GetFinalizedEpochInfosResponseV0 message. Also converts values to other types if specified.
                              * @function toObject
-                             * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0} message GetVotePollsByEndDateResponseV0
+                             * @param {org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0} message GetFinalizedEpochInfosResponseV0
                              * @param {$protobuf.IConversionOptions} [options] Conversion options
                              * @returns {Object.} Plain object
                              */
-                            GetVotePollsByEndDateResponseV0.toObject = function toObject(message, options) {
+                            GetFinalizedEpochInfosResponseV0.toObject = function toObject(message, options) {
                                 if (!options)
                                     options = {};
                                 var object = {};
                                 if (options.defaults)
                                     object.metadata = null;
-                                if (message.votePollsByTimestamps != null && message.hasOwnProperty("votePollsByTimestamps")) {
-                                    object.votePollsByTimestamps = $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.toObject(message.votePollsByTimestamps, options);
+                                if (message.epochs != null && message.hasOwnProperty("epochs")) {
+                                    object.epochs = $root.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos.toObject(message.epochs, options);
                                     if (options.oneofs)
-                                        object.result = "votePollsByTimestamps";
+                                        object.result = "epochs";
                                 }
                                 if (message.proof != null && message.hasOwnProperty("proof")) {
                                     object.proof = $root.org.dash.platform.dapi.v0.Proof.toObject(message.proof, options);
@@ -30279,36 +29758,35 @@ $root.org = (function() {
                             };
 
                             /**
-                             * Converts this GetVotePollsByEndDateResponseV0 to JSON.
+                             * Converts this GetFinalizedEpochInfosResponseV0 to JSON.
                              * @function toJSON
-                             * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0
                              * @instance
                              * @returns {Object.} JSON object
                              */
-                            GetVotePollsByEndDateResponseV0.prototype.toJSON = function toJSON() {
+                            GetFinalizedEpochInfosResponseV0.prototype.toJSON = function toJSON() {
                                 return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
                             };
 
-                            GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp = (function() {
+                            GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos = (function() {
 
                                 /**
-                                 * Properties of a SerializedVotePollsByTimestamp.
-                                 * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0
-                                 * @interface ISerializedVotePollsByTimestamp
-                                 * @property {number|Long|null} [timestamp] SerializedVotePollsByTimestamp timestamp
-                                 * @property {Array.|null} [serializedVotePolls] SerializedVotePollsByTimestamp serializedVotePolls
+                                 * Properties of a FinalizedEpochInfos.
+                                 * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0
+                                 * @interface IFinalizedEpochInfos
+                                 * @property {Array.|null} [finalizedEpochInfos] FinalizedEpochInfos finalizedEpochInfos
                                  */
 
                                 /**
-                                 * Constructs a new SerializedVotePollsByTimestamp.
-                                 * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0
-                                 * @classdesc Represents a SerializedVotePollsByTimestamp.
-                                 * @implements ISerializedVotePollsByTimestamp
+                                 * Constructs a new FinalizedEpochInfos.
+                                 * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0
+                                 * @classdesc Represents a FinalizedEpochInfos.
+                                 * @implements IFinalizedEpochInfos
                                  * @constructor
-                                 * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.ISerializedVotePollsByTimestamp=} [properties] Properties to set
+                                 * @param {org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.IFinalizedEpochInfos=} [properties] Properties to set
                                  */
-                                function SerializedVotePollsByTimestamp(properties) {
-                                    this.serializedVotePolls = [];
+                                function FinalizedEpochInfos(properties) {
+                                    this.finalizedEpochInfos = [];
                                     if (properties)
                                         for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
                                             if (properties[keys[i]] != null)
@@ -30316,91 +29794,78 @@ $root.org = (function() {
                                 }
 
                                 /**
-                                 * SerializedVotePollsByTimestamp timestamp.
-                                 * @member {number|Long} timestamp
-                                 * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp
-                                 * @instance
-                                 */
-                                SerializedVotePollsByTimestamp.prototype.timestamp = $util.Long ? $util.Long.fromBits(0,0,true) : 0;
-
-                                /**
-                                 * SerializedVotePollsByTimestamp serializedVotePolls.
-                                 * @member {Array.} serializedVotePolls
-                                 * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp
+                                 * FinalizedEpochInfos finalizedEpochInfos.
+                                 * @member {Array.} finalizedEpochInfos
+                                 * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos
                                  * @instance
                                  */
-                                SerializedVotePollsByTimestamp.prototype.serializedVotePolls = $util.emptyArray;
+                                FinalizedEpochInfos.prototype.finalizedEpochInfos = $util.emptyArray;
 
                                 /**
-                                 * Creates a new SerializedVotePollsByTimestamp instance using the specified properties.
+                                 * Creates a new FinalizedEpochInfos instance using the specified properties.
                                  * @function create
-                                 * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp
+                                 * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos
                                  * @static
-                                 * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.ISerializedVotePollsByTimestamp=} [properties] Properties to set
-                                 * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp} SerializedVotePollsByTimestamp instance
+                                 * @param {org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.IFinalizedEpochInfos=} [properties] Properties to set
+                                 * @returns {org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos} FinalizedEpochInfos instance
                                  */
-                                SerializedVotePollsByTimestamp.create = function create(properties) {
-                                    return new SerializedVotePollsByTimestamp(properties);
+                                FinalizedEpochInfos.create = function create(properties) {
+                                    return new FinalizedEpochInfos(properties);
                                 };
 
                                 /**
-                                 * Encodes the specified SerializedVotePollsByTimestamp message. Does not implicitly {@link org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.verify|verify} messages.
+                                 * Encodes the specified FinalizedEpochInfos message. Does not implicitly {@link org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos.verify|verify} messages.
                                  * @function encode
-                                 * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp
+                                 * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos
                                  * @static
-                                 * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.ISerializedVotePollsByTimestamp} message SerializedVotePollsByTimestamp message or plain object to encode
+                                 * @param {org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.IFinalizedEpochInfos} message FinalizedEpochInfos message or plain object to encode
                                  * @param {$protobuf.Writer} [writer] Writer to encode to
                                  * @returns {$protobuf.Writer} Writer
                                  */
-                                SerializedVotePollsByTimestamp.encode = function encode(message, writer) {
+                                FinalizedEpochInfos.encode = function encode(message, writer) {
                                     if (!writer)
                                         writer = $Writer.create();
-                                    if (message.timestamp != null && Object.hasOwnProperty.call(message, "timestamp"))
-                                        writer.uint32(/* id 1, wireType 0 =*/8).uint64(message.timestamp);
-                                    if (message.serializedVotePolls != null && message.serializedVotePolls.length)
-                                        for (var i = 0; i < message.serializedVotePolls.length; ++i)
-                                            writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.serializedVotePolls[i]);
+                                    if (message.finalizedEpochInfos != null && message.finalizedEpochInfos.length)
+                                        for (var i = 0; i < message.finalizedEpochInfos.length; ++i)
+                                            $root.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo.encode(message.finalizedEpochInfos[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
                                     return writer;
                                 };
 
                                 /**
-                                 * Encodes the specified SerializedVotePollsByTimestamp message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.verify|verify} messages.
+                                 * Encodes the specified FinalizedEpochInfos message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos.verify|verify} messages.
                                  * @function encodeDelimited
-                                 * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp
+                                 * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos
                                  * @static
-                                 * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.ISerializedVotePollsByTimestamp} message SerializedVotePollsByTimestamp message or plain object to encode
+                                 * @param {org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.IFinalizedEpochInfos} message FinalizedEpochInfos message or plain object to encode
                                  * @param {$protobuf.Writer} [writer] Writer to encode to
                                  * @returns {$protobuf.Writer} Writer
                                  */
-                                SerializedVotePollsByTimestamp.encodeDelimited = function encodeDelimited(message, writer) {
+                                FinalizedEpochInfos.encodeDelimited = function encodeDelimited(message, writer) {
                                     return this.encode(message, writer).ldelim();
                                 };
 
                                 /**
-                                 * Decodes a SerializedVotePollsByTimestamp message from the specified reader or buffer.
+                                 * Decodes a FinalizedEpochInfos message from the specified reader or buffer.
                                  * @function decode
-                                 * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp
+                                 * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos
                                  * @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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp} SerializedVotePollsByTimestamp
+                                 * @returns {org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos} FinalizedEpochInfos
                                  * @throws {Error} If the payload is not a reader or valid buffer
                                  * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                  */
-                                SerializedVotePollsByTimestamp.decode = function decode(reader, length) {
+                                FinalizedEpochInfos.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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp();
+                                    var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos();
                                     while (reader.pos < end) {
                                         var tag = reader.uint32();
                                         switch (tag >>> 3) {
                                         case 1:
-                                            message.timestamp = reader.uint64();
-                                            break;
-                                        case 2:
-                                            if (!(message.serializedVotePolls && message.serializedVotePolls.length))
-                                                message.serializedVotePolls = [];
-                                            message.serializedVotePolls.push(reader.bytes());
+                                            if (!(message.finalizedEpochInfos && message.finalizedEpochInfos.length))
+                                                message.finalizedEpochInfos = [];
+                                            message.finalizedEpochInfos.push($root.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo.decode(reader, reader.uint32()));
                                             break;
                                         default:
                                             reader.skipType(tag & 7);
@@ -30411,147 +29876,137 @@ $root.org = (function() {
                                 };
 
                                 /**
-                                 * Decodes a SerializedVotePollsByTimestamp message from the specified reader or buffer, length delimited.
+                                 * Decodes a FinalizedEpochInfos message from the specified reader or buffer, length delimited.
                                  * @function decodeDelimited
-                                 * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp
+                                 * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos
                                  * @static
                                  * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                                 * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp} SerializedVotePollsByTimestamp
+                                 * @returns {org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos} FinalizedEpochInfos
                                  * @throws {Error} If the payload is not a reader or valid buffer
                                  * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                  */
-                                SerializedVotePollsByTimestamp.decodeDelimited = function decodeDelimited(reader) {
+                                FinalizedEpochInfos.decodeDelimited = function decodeDelimited(reader) {
                                     if (!(reader instanceof $Reader))
                                         reader = new $Reader(reader);
                                     return this.decode(reader, reader.uint32());
                                 };
 
                                 /**
-                                 * Verifies a SerializedVotePollsByTimestamp message.
+                                 * Verifies a FinalizedEpochInfos message.
                                  * @function verify
-                                 * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp
+                                 * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos
                                  * @static
                                  * @param {Object.} message Plain object to verify
                                  * @returns {string|null} `null` if valid, otherwise the reason why it is not
                                  */
-                                SerializedVotePollsByTimestamp.verify = function verify(message) {
+                                FinalizedEpochInfos.verify = function verify(message) {
                                     if (typeof message !== "object" || message === null)
                                         return "object expected";
-                                    if (message.timestamp != null && message.hasOwnProperty("timestamp"))
-                                        if (!$util.isInteger(message.timestamp) && !(message.timestamp && $util.isInteger(message.timestamp.low) && $util.isInteger(message.timestamp.high)))
-                                            return "timestamp: integer|Long expected";
-                                    if (message.serializedVotePolls != null && message.hasOwnProperty("serializedVotePolls")) {
-                                        if (!Array.isArray(message.serializedVotePolls))
-                                            return "serializedVotePolls: array expected";
-                                        for (var i = 0; i < message.serializedVotePolls.length; ++i)
-                                            if (!(message.serializedVotePolls[i] && typeof message.serializedVotePolls[i].length === "number" || $util.isString(message.serializedVotePolls[i])))
-                                                return "serializedVotePolls: buffer[] expected";
+                                    if (message.finalizedEpochInfos != null && message.hasOwnProperty("finalizedEpochInfos")) {
+                                        if (!Array.isArray(message.finalizedEpochInfos))
+                                            return "finalizedEpochInfos: array expected";
+                                        for (var i = 0; i < message.finalizedEpochInfos.length; ++i) {
+                                            var error = $root.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo.verify(message.finalizedEpochInfos[i]);
+                                            if (error)
+                                                return "finalizedEpochInfos." + error;
+                                        }
                                     }
                                     return null;
                                 };
 
                                 /**
-                                 * Creates a SerializedVotePollsByTimestamp message from a plain object. Also converts values to their respective internal types.
+                                 * Creates a FinalizedEpochInfos message from a plain object. Also converts values to their respective internal types.
                                  * @function fromObject
-                                 * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp
+                                 * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos
                                  * @static
                                  * @param {Object.} object Plain object
-                                 * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp} SerializedVotePollsByTimestamp
+                                 * @returns {org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos} FinalizedEpochInfos
                                  */
-                                SerializedVotePollsByTimestamp.fromObject = function fromObject(object) {
-                                    if (object instanceof $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp)
+                                FinalizedEpochInfos.fromObject = function fromObject(object) {
+                                    if (object instanceof $root.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos)
                                         return object;
-                                    var message = new $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp();
-                                    if (object.timestamp != null)
-                                        if ($util.Long)
-                                            (message.timestamp = $util.Long.fromValue(object.timestamp)).unsigned = true;
-                                        else if (typeof object.timestamp === "string")
-                                            message.timestamp = parseInt(object.timestamp, 10);
-                                        else if (typeof object.timestamp === "number")
-                                            message.timestamp = object.timestamp;
-                                        else if (typeof object.timestamp === "object")
-                                            message.timestamp = new $util.LongBits(object.timestamp.low >>> 0, object.timestamp.high >>> 0).toNumber(true);
-                                    if (object.serializedVotePolls) {
-                                        if (!Array.isArray(object.serializedVotePolls))
-                                            throw TypeError(".org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.serializedVotePolls: array expected");
-                                        message.serializedVotePolls = [];
-                                        for (var i = 0; i < object.serializedVotePolls.length; ++i)
-                                            if (typeof object.serializedVotePolls[i] === "string")
-                                                $util.base64.decode(object.serializedVotePolls[i], message.serializedVotePolls[i] = $util.newBuffer($util.base64.length(object.serializedVotePolls[i])), 0);
-                                            else if (object.serializedVotePolls[i].length >= 0)
-                                                message.serializedVotePolls[i] = object.serializedVotePolls[i];
+                                    var message = new $root.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos();
+                                    if (object.finalizedEpochInfos) {
+                                        if (!Array.isArray(object.finalizedEpochInfos))
+                                            throw TypeError(".org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos.finalizedEpochInfos: array expected");
+                                        message.finalizedEpochInfos = [];
+                                        for (var i = 0; i < object.finalizedEpochInfos.length; ++i) {
+                                            if (typeof object.finalizedEpochInfos[i] !== "object")
+                                                throw TypeError(".org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos.finalizedEpochInfos: object expected");
+                                            message.finalizedEpochInfos[i] = $root.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo.fromObject(object.finalizedEpochInfos[i]);
+                                        }
                                     }
                                     return message;
                                 };
 
                                 /**
-                                 * Creates a plain object from a SerializedVotePollsByTimestamp message. Also converts values to other types if specified.
+                                 * Creates a plain object from a FinalizedEpochInfos message. Also converts values to other types if specified.
                                  * @function toObject
-                                 * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp
+                                 * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos
                                  * @static
-                                 * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp} message SerializedVotePollsByTimestamp
+                                 * @param {org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos} message FinalizedEpochInfos
                                  * @param {$protobuf.IConversionOptions} [options] Conversion options
                                  * @returns {Object.} Plain object
                                  */
-                                SerializedVotePollsByTimestamp.toObject = function toObject(message, options) {
+                                FinalizedEpochInfos.toObject = function toObject(message, options) {
                                     if (!options)
                                         options = {};
                                     var object = {};
                                     if (options.arrays || options.defaults)
-                                        object.serializedVotePolls = [];
-                                    if (options.defaults)
-                                        if ($util.Long) {
-                                            var long = new $util.Long(0, 0, true);
-                                            object.timestamp = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;
-                                        } else
-                                            object.timestamp = options.longs === String ? "0" : 0;
-                                    if (message.timestamp != null && message.hasOwnProperty("timestamp"))
-                                        if (typeof message.timestamp === "number")
-                                            object.timestamp = options.longs === String ? String(message.timestamp) : message.timestamp;
-                                        else
-                                            object.timestamp = options.longs === String ? $util.Long.prototype.toString.call(message.timestamp) : options.longs === Number ? new $util.LongBits(message.timestamp.low >>> 0, message.timestamp.high >>> 0).toNumber(true) : message.timestamp;
-                                    if (message.serializedVotePolls && message.serializedVotePolls.length) {
-                                        object.serializedVotePolls = [];
-                                        for (var j = 0; j < message.serializedVotePolls.length; ++j)
-                                            object.serializedVotePolls[j] = options.bytes === String ? $util.base64.encode(message.serializedVotePolls[j], 0, message.serializedVotePolls[j].length) : options.bytes === Array ? Array.prototype.slice.call(message.serializedVotePolls[j]) : message.serializedVotePolls[j];
+                                        object.finalizedEpochInfos = [];
+                                    if (message.finalizedEpochInfos && message.finalizedEpochInfos.length) {
+                                        object.finalizedEpochInfos = [];
+                                        for (var j = 0; j < message.finalizedEpochInfos.length; ++j)
+                                            object.finalizedEpochInfos[j] = $root.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo.toObject(message.finalizedEpochInfos[j], options);
                                     }
                                     return object;
                                 };
 
                                 /**
-                                 * Converts this SerializedVotePollsByTimestamp to JSON.
+                                 * Converts this FinalizedEpochInfos to JSON.
                                  * @function toJSON
-                                 * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp
+                                 * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos
                                  * @instance
                                  * @returns {Object.} JSON object
                                  */
-                                SerializedVotePollsByTimestamp.prototype.toJSON = function toJSON() {
+                                FinalizedEpochInfos.prototype.toJSON = function toJSON() {
                                     return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
                                 };
 
-                                return SerializedVotePollsByTimestamp;
+                                return FinalizedEpochInfos;
                             })();
 
-                            GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps = (function() {
+                            GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo = (function() {
 
                                 /**
-                                 * Properties of a SerializedVotePollsByTimestamps.
-                                 * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0
-                                 * @interface ISerializedVotePollsByTimestamps
-                                 * @property {Array.|null} [votePollsByTimestamps] SerializedVotePollsByTimestamps votePollsByTimestamps
-                                 * @property {boolean|null} [finishedResults] SerializedVotePollsByTimestamps finishedResults
+                                 * Properties of a FinalizedEpochInfo.
+                                 * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0
+                                 * @interface IFinalizedEpochInfo
+                                 * @property {number|null} [number] FinalizedEpochInfo number
+                                 * @property {number|Long|null} [firstBlockHeight] FinalizedEpochInfo firstBlockHeight
+                                 * @property {number|null} [firstCoreBlockHeight] FinalizedEpochInfo firstCoreBlockHeight
+                                 * @property {number|Long|null} [firstBlockTime] FinalizedEpochInfo firstBlockTime
+                                 * @property {number|null} [feeMultiplier] FinalizedEpochInfo feeMultiplier
+                                 * @property {number|null} [protocolVersion] FinalizedEpochInfo protocolVersion
+                                 * @property {number|Long|null} [totalBlocksInEpoch] FinalizedEpochInfo totalBlocksInEpoch
+                                 * @property {number|null} [nextEpochStartCoreBlockHeight] FinalizedEpochInfo nextEpochStartCoreBlockHeight
+                                 * @property {number|Long|null} [totalProcessingFees] FinalizedEpochInfo totalProcessingFees
+                                 * @property {number|Long|null} [totalDistributedStorageFees] FinalizedEpochInfo totalDistributedStorageFees
+                                 * @property {number|Long|null} [totalCreatedStorageFees] FinalizedEpochInfo totalCreatedStorageFees
+                                 * @property {number|Long|null} [coreBlockRewards] FinalizedEpochInfo coreBlockRewards
+                                 * @property {Array.|null} [blockProposers] FinalizedEpochInfo blockProposers
                                  */
 
                                 /**
-                                 * Constructs a new SerializedVotePollsByTimestamps.
-                                 * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0
-                                 * @classdesc Represents a SerializedVotePollsByTimestamps.
-                                 * @implements ISerializedVotePollsByTimestamps
+                                 * Constructs a new FinalizedEpochInfo.
+                                 * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0
+                                 * @classdesc Represents a FinalizedEpochInfo.
+                                 * @implements IFinalizedEpochInfo
                                  * @constructor
-                                 * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.ISerializedVotePollsByTimestamps=} [properties] Properties to set
+                                 * @param {org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.IFinalizedEpochInfo=} [properties] Properties to set
                                  */
-                                function SerializedVotePollsByTimestamps(properties) {
-                                    this.votePollsByTimestamps = [];
+                                function FinalizedEpochInfo(properties) {
+                                    this.blockProposers = [];
                                     if (properties)
                                         for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
                                             if (properties[keys[i]] != null)
@@ -30559,91 +30014,234 @@ $root.org = (function() {
                                 }
 
                                 /**
-                                 * SerializedVotePollsByTimestamps votePollsByTimestamps.
-                                 * @member {Array.} votePollsByTimestamps
-                                 * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps
+                                 * FinalizedEpochInfo number.
+                                 * @member {number} number
+                                 * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo
                                  * @instance
                                  */
-                                SerializedVotePollsByTimestamps.prototype.votePollsByTimestamps = $util.emptyArray;
+                                FinalizedEpochInfo.prototype.number = 0;
 
                                 /**
-                                 * SerializedVotePollsByTimestamps finishedResults.
-                                 * @member {boolean} finishedResults
-                                 * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps
+                                 * FinalizedEpochInfo firstBlockHeight.
+                                 * @member {number|Long} firstBlockHeight
+                                 * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo
                                  * @instance
                                  */
-                                SerializedVotePollsByTimestamps.prototype.finishedResults = false;
+                                FinalizedEpochInfo.prototype.firstBlockHeight = $util.Long ? $util.Long.fromBits(0,0,true) : 0;
 
                                 /**
-                                 * Creates a new SerializedVotePollsByTimestamps instance using the specified properties.
+                                 * FinalizedEpochInfo firstCoreBlockHeight.
+                                 * @member {number} firstCoreBlockHeight
+                                 * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo
+                                 * @instance
+                                 */
+                                FinalizedEpochInfo.prototype.firstCoreBlockHeight = 0;
+
+                                /**
+                                 * FinalizedEpochInfo firstBlockTime.
+                                 * @member {number|Long} firstBlockTime
+                                 * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo
+                                 * @instance
+                                 */
+                                FinalizedEpochInfo.prototype.firstBlockTime = $util.Long ? $util.Long.fromBits(0,0,true) : 0;
+
+                                /**
+                                 * FinalizedEpochInfo feeMultiplier.
+                                 * @member {number} feeMultiplier
+                                 * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo
+                                 * @instance
+                                 */
+                                FinalizedEpochInfo.prototype.feeMultiplier = 0;
+
+                                /**
+                                 * FinalizedEpochInfo protocolVersion.
+                                 * @member {number} protocolVersion
+                                 * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo
+                                 * @instance
+                                 */
+                                FinalizedEpochInfo.prototype.protocolVersion = 0;
+
+                                /**
+                                 * FinalizedEpochInfo totalBlocksInEpoch.
+                                 * @member {number|Long} totalBlocksInEpoch
+                                 * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo
+                                 * @instance
+                                 */
+                                FinalizedEpochInfo.prototype.totalBlocksInEpoch = $util.Long ? $util.Long.fromBits(0,0,true) : 0;
+
+                                /**
+                                 * FinalizedEpochInfo nextEpochStartCoreBlockHeight.
+                                 * @member {number} nextEpochStartCoreBlockHeight
+                                 * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo
+                                 * @instance
+                                 */
+                                FinalizedEpochInfo.prototype.nextEpochStartCoreBlockHeight = 0;
+
+                                /**
+                                 * FinalizedEpochInfo totalProcessingFees.
+                                 * @member {number|Long} totalProcessingFees
+                                 * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo
+                                 * @instance
+                                 */
+                                FinalizedEpochInfo.prototype.totalProcessingFees = $util.Long ? $util.Long.fromBits(0,0,true) : 0;
+
+                                /**
+                                 * FinalizedEpochInfo totalDistributedStorageFees.
+                                 * @member {number|Long} totalDistributedStorageFees
+                                 * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo
+                                 * @instance
+                                 */
+                                FinalizedEpochInfo.prototype.totalDistributedStorageFees = $util.Long ? $util.Long.fromBits(0,0,true) : 0;
+
+                                /**
+                                 * FinalizedEpochInfo totalCreatedStorageFees.
+                                 * @member {number|Long} totalCreatedStorageFees
+                                 * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo
+                                 * @instance
+                                 */
+                                FinalizedEpochInfo.prototype.totalCreatedStorageFees = $util.Long ? $util.Long.fromBits(0,0,true) : 0;
+
+                                /**
+                                 * FinalizedEpochInfo coreBlockRewards.
+                                 * @member {number|Long} coreBlockRewards
+                                 * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo
+                                 * @instance
+                                 */
+                                FinalizedEpochInfo.prototype.coreBlockRewards = $util.Long ? $util.Long.fromBits(0,0,true) : 0;
+
+                                /**
+                                 * FinalizedEpochInfo blockProposers.
+                                 * @member {Array.} blockProposers
+                                 * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo
+                                 * @instance
+                                 */
+                                FinalizedEpochInfo.prototype.blockProposers = $util.emptyArray;
+
+                                /**
+                                 * Creates a new FinalizedEpochInfo instance using the specified properties.
                                  * @function create
-                                 * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps
+                                 * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo
                                  * @static
-                                 * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.ISerializedVotePollsByTimestamps=} [properties] Properties to set
-                                 * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps} SerializedVotePollsByTimestamps instance
+                                 * @param {org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.IFinalizedEpochInfo=} [properties] Properties to set
+                                 * @returns {org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo} FinalizedEpochInfo instance
                                  */
-                                SerializedVotePollsByTimestamps.create = function create(properties) {
-                                    return new SerializedVotePollsByTimestamps(properties);
+                                FinalizedEpochInfo.create = function create(properties) {
+                                    return new FinalizedEpochInfo(properties);
                                 };
 
                                 /**
-                                 * Encodes the specified SerializedVotePollsByTimestamps message. Does not implicitly {@link org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.verify|verify} messages.
+                                 * Encodes the specified FinalizedEpochInfo message. Does not implicitly {@link org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo.verify|verify} messages.
                                  * @function encode
-                                 * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps
+                                 * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo
                                  * @static
-                                 * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.ISerializedVotePollsByTimestamps} message SerializedVotePollsByTimestamps message or plain object to encode
+                                 * @param {org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.IFinalizedEpochInfo} message FinalizedEpochInfo message or plain object to encode
                                  * @param {$protobuf.Writer} [writer] Writer to encode to
                                  * @returns {$protobuf.Writer} Writer
                                  */
-                                SerializedVotePollsByTimestamps.encode = function encode(message, writer) {
+                                FinalizedEpochInfo.encode = function encode(message, writer) {
                                     if (!writer)
                                         writer = $Writer.create();
-                                    if (message.votePollsByTimestamps != null && message.votePollsByTimestamps.length)
-                                        for (var i = 0; i < message.votePollsByTimestamps.length; ++i)
-                                            $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.encode(message.votePollsByTimestamps[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
-                                    if (message.finishedResults != null && Object.hasOwnProperty.call(message, "finishedResults"))
-                                        writer.uint32(/* id 2, wireType 0 =*/16).bool(message.finishedResults);
+                                    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.firstBlockTime != null && Object.hasOwnProperty.call(message, "firstBlockTime"))
+                                        writer.uint32(/* id 4, wireType 0 =*/32).uint64(message.firstBlockTime);
+                                    if (message.feeMultiplier != null && Object.hasOwnProperty.call(message, "feeMultiplier"))
+                                        writer.uint32(/* id 5, wireType 1 =*/41).double(message.feeMultiplier);
+                                    if (message.protocolVersion != null && Object.hasOwnProperty.call(message, "protocolVersion"))
+                                        writer.uint32(/* id 6, wireType 0 =*/48).uint32(message.protocolVersion);
+                                    if (message.totalBlocksInEpoch != null && Object.hasOwnProperty.call(message, "totalBlocksInEpoch"))
+                                        writer.uint32(/* id 7, wireType 0 =*/56).uint64(message.totalBlocksInEpoch);
+                                    if (message.nextEpochStartCoreBlockHeight != null && Object.hasOwnProperty.call(message, "nextEpochStartCoreBlockHeight"))
+                                        writer.uint32(/* id 8, wireType 0 =*/64).uint32(message.nextEpochStartCoreBlockHeight);
+                                    if (message.totalProcessingFees != null && Object.hasOwnProperty.call(message, "totalProcessingFees"))
+                                        writer.uint32(/* id 9, wireType 0 =*/72).uint64(message.totalProcessingFees);
+                                    if (message.totalDistributedStorageFees != null && Object.hasOwnProperty.call(message, "totalDistributedStorageFees"))
+                                        writer.uint32(/* id 10, wireType 0 =*/80).uint64(message.totalDistributedStorageFees);
+                                    if (message.totalCreatedStorageFees != null && Object.hasOwnProperty.call(message, "totalCreatedStorageFees"))
+                                        writer.uint32(/* id 11, wireType 0 =*/88).uint64(message.totalCreatedStorageFees);
+                                    if (message.coreBlockRewards != null && Object.hasOwnProperty.call(message, "coreBlockRewards"))
+                                        writer.uint32(/* id 12, wireType 0 =*/96).uint64(message.coreBlockRewards);
+                                    if (message.blockProposers != null && message.blockProposers.length)
+                                        for (var i = 0; i < message.blockProposers.length; ++i)
+                                            $root.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer.encode(message.blockProposers[i], writer.uint32(/* id 13, wireType 2 =*/106).fork()).ldelim();
                                     return writer;
                                 };
 
                                 /**
-                                 * Encodes the specified SerializedVotePollsByTimestamps message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.verify|verify} messages.
+                                 * Encodes the specified FinalizedEpochInfo message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo.verify|verify} messages.
                                  * @function encodeDelimited
-                                 * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps
+                                 * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo
                                  * @static
-                                 * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.ISerializedVotePollsByTimestamps} message SerializedVotePollsByTimestamps message or plain object to encode
+                                 * @param {org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.IFinalizedEpochInfo} message FinalizedEpochInfo message or plain object to encode
                                  * @param {$protobuf.Writer} [writer] Writer to encode to
                                  * @returns {$protobuf.Writer} Writer
                                  */
-                                SerializedVotePollsByTimestamps.encodeDelimited = function encodeDelimited(message, writer) {
+                                FinalizedEpochInfo.encodeDelimited = function encodeDelimited(message, writer) {
                                     return this.encode(message, writer).ldelim();
                                 };
 
                                 /**
-                                 * Decodes a SerializedVotePollsByTimestamps message from the specified reader or buffer.
+                                 * Decodes a FinalizedEpochInfo message from the specified reader or buffer.
                                  * @function decode
-                                 * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps
+                                 * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo
                                  * @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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps} SerializedVotePollsByTimestamps
+                                 * @returns {org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo} FinalizedEpochInfo
                                  * @throws {Error} If the payload is not a reader or valid buffer
                                  * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                  */
-                                SerializedVotePollsByTimestamps.decode = function decode(reader, length) {
+                                FinalizedEpochInfo.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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps();
+                                    var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo();
                                     while (reader.pos < end) {
                                         var tag = reader.uint32();
                                         switch (tag >>> 3) {
                                         case 1:
-                                            if (!(message.votePollsByTimestamps && message.votePollsByTimestamps.length))
-                                                message.votePollsByTimestamps = [];
-                                            message.votePollsByTimestamps.push($root.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.decode(reader, reader.uint32()));
+                                            message.number = reader.uint32();
                                             break;
                                         case 2:
-                                            message.finishedResults = reader.bool();
+                                            message.firstBlockHeight = reader.uint64();
+                                            break;
+                                        case 3:
+                                            message.firstCoreBlockHeight = reader.uint32();
+                                            break;
+                                        case 4:
+                                            message.firstBlockTime = reader.uint64();
+                                            break;
+                                        case 5:
+                                            message.feeMultiplier = reader.double();
+                                            break;
+                                        case 6:
+                                            message.protocolVersion = reader.uint32();
+                                            break;
+                                        case 7:
+                                            message.totalBlocksInEpoch = reader.uint64();
+                                            break;
+                                        case 8:
+                                            message.nextEpochStartCoreBlockHeight = reader.uint32();
+                                            break;
+                                        case 9:
+                                            message.totalProcessingFees = reader.uint64();
+                                            break;
+                                        case 10:
+                                            message.totalDistributedStorageFees = reader.uint64();
+                                            break;
+                                        case 11:
+                                            message.totalCreatedStorageFees = reader.uint64();
+                                            break;
+                                        case 12:
+                                            message.coreBlockRewards = reader.uint64();
+                                            break;
+                                        case 13:
+                                            if (!(message.blockProposers && message.blockProposers.length))
+                                                message.blockProposers = [];
+                                            message.blockProposers.push($root.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer.decode(reader, reader.uint32()));
                                             break;
                                         default:
                                             reader.skipType(tag & 7);
@@ -30654,229 +30252,635 @@ $root.org = (function() {
                                 };
 
                                 /**
-                                 * Decodes a SerializedVotePollsByTimestamps message from the specified reader or buffer, length delimited.
+                                 * Decodes a FinalizedEpochInfo message from the specified reader or buffer, length delimited.
                                  * @function decodeDelimited
-                                 * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps
+                                 * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo
                                  * @static
                                  * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                                 * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps} SerializedVotePollsByTimestamps
+                                 * @returns {org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo} FinalizedEpochInfo
                                  * @throws {Error} If the payload is not a reader or valid buffer
                                  * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                  */
-                                SerializedVotePollsByTimestamps.decodeDelimited = function decodeDelimited(reader) {
+                                FinalizedEpochInfo.decodeDelimited = function decodeDelimited(reader) {
                                     if (!(reader instanceof $Reader))
                                         reader = new $Reader(reader);
                                     return this.decode(reader, reader.uint32());
                                 };
 
                                 /**
-                                 * Verifies a SerializedVotePollsByTimestamps message.
+                                 * Verifies a FinalizedEpochInfo message.
                                  * @function verify
-                                 * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps
+                                 * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo
                                  * @static
                                  * @param {Object.} message Plain object to verify
                                  * @returns {string|null} `null` if valid, otherwise the reason why it is not
                                  */
-                                SerializedVotePollsByTimestamps.verify = function verify(message) {
+                                FinalizedEpochInfo.verify = function verify(message) {
                                     if (typeof message !== "object" || message === null)
                                         return "object expected";
-                                    if (message.votePollsByTimestamps != null && message.hasOwnProperty("votePollsByTimestamps")) {
-                                        if (!Array.isArray(message.votePollsByTimestamps))
-                                            return "votePollsByTimestamps: array expected";
-                                        for (var i = 0; i < message.votePollsByTimestamps.length; ++i) {
-                                            var error = $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.verify(message.votePollsByTimestamps[i]);
+                                    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.firstBlockTime != null && message.hasOwnProperty("firstBlockTime"))
+                                        if (!$util.isInteger(message.firstBlockTime) && !(message.firstBlockTime && $util.isInteger(message.firstBlockTime.low) && $util.isInteger(message.firstBlockTime.high)))
+                                            return "firstBlockTime: integer|Long expected";
+                                    if (message.feeMultiplier != null && message.hasOwnProperty("feeMultiplier"))
+                                        if (typeof message.feeMultiplier !== "number")
+                                            return "feeMultiplier: number expected";
+                                    if (message.protocolVersion != null && message.hasOwnProperty("protocolVersion"))
+                                        if (!$util.isInteger(message.protocolVersion))
+                                            return "protocolVersion: integer expected";
+                                    if (message.totalBlocksInEpoch != null && message.hasOwnProperty("totalBlocksInEpoch"))
+                                        if (!$util.isInteger(message.totalBlocksInEpoch) && !(message.totalBlocksInEpoch && $util.isInteger(message.totalBlocksInEpoch.low) && $util.isInteger(message.totalBlocksInEpoch.high)))
+                                            return "totalBlocksInEpoch: integer|Long expected";
+                                    if (message.nextEpochStartCoreBlockHeight != null && message.hasOwnProperty("nextEpochStartCoreBlockHeight"))
+                                        if (!$util.isInteger(message.nextEpochStartCoreBlockHeight))
+                                            return "nextEpochStartCoreBlockHeight: integer expected";
+                                    if (message.totalProcessingFees != null && message.hasOwnProperty("totalProcessingFees"))
+                                        if (!$util.isInteger(message.totalProcessingFees) && !(message.totalProcessingFees && $util.isInteger(message.totalProcessingFees.low) && $util.isInteger(message.totalProcessingFees.high)))
+                                            return "totalProcessingFees: integer|Long expected";
+                                    if (message.totalDistributedStorageFees != null && message.hasOwnProperty("totalDistributedStorageFees"))
+                                        if (!$util.isInteger(message.totalDistributedStorageFees) && !(message.totalDistributedStorageFees && $util.isInteger(message.totalDistributedStorageFees.low) && $util.isInteger(message.totalDistributedStorageFees.high)))
+                                            return "totalDistributedStorageFees: integer|Long expected";
+                                    if (message.totalCreatedStorageFees != null && message.hasOwnProperty("totalCreatedStorageFees"))
+                                        if (!$util.isInteger(message.totalCreatedStorageFees) && !(message.totalCreatedStorageFees && $util.isInteger(message.totalCreatedStorageFees.low) && $util.isInteger(message.totalCreatedStorageFees.high)))
+                                            return "totalCreatedStorageFees: integer|Long expected";
+                                    if (message.coreBlockRewards != null && message.hasOwnProperty("coreBlockRewards"))
+                                        if (!$util.isInteger(message.coreBlockRewards) && !(message.coreBlockRewards && $util.isInteger(message.coreBlockRewards.low) && $util.isInteger(message.coreBlockRewards.high)))
+                                            return "coreBlockRewards: integer|Long expected";
+                                    if (message.blockProposers != null && message.hasOwnProperty("blockProposers")) {
+                                        if (!Array.isArray(message.blockProposers))
+                                            return "blockProposers: array expected";
+                                        for (var i = 0; i < message.blockProposers.length; ++i) {
+                                            var error = $root.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer.verify(message.blockProposers[i]);
                                             if (error)
-                                                return "votePollsByTimestamps." + error;
+                                                return "blockProposers." + error;
                                         }
                                     }
-                                    if (message.finishedResults != null && message.hasOwnProperty("finishedResults"))
-                                        if (typeof message.finishedResults !== "boolean")
-                                            return "finishedResults: boolean expected";
                                     return null;
                                 };
 
                                 /**
-                                 * Creates a SerializedVotePollsByTimestamps message from a plain object. Also converts values to their respective internal types.
+                                 * Creates a FinalizedEpochInfo message from a plain object. Also converts values to their respective internal types.
                                  * @function fromObject
-                                 * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps
+                                 * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo
                                  * @static
                                  * @param {Object.} object Plain object
-                                 * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps} SerializedVotePollsByTimestamps
+                                 * @returns {org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo} FinalizedEpochInfo
                                  */
-                                SerializedVotePollsByTimestamps.fromObject = function fromObject(object) {
-                                    if (object instanceof $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps)
+                                FinalizedEpochInfo.fromObject = function fromObject(object) {
+                                    if (object instanceof $root.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo)
                                         return object;
-                                    var message = new $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps();
-                                    if (object.votePollsByTimestamps) {
-                                        if (!Array.isArray(object.votePollsByTimestamps))
-                                            throw TypeError(".org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.votePollsByTimestamps: array expected");
-                                        message.votePollsByTimestamps = [];
-                                        for (var i = 0; i < object.votePollsByTimestamps.length; ++i) {
-                                            if (typeof object.votePollsByTimestamps[i] !== "object")
-                                                throw TypeError(".org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.votePollsByTimestamps: object expected");
-                                            message.votePollsByTimestamps[i] = $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.fromObject(object.votePollsByTimestamps[i]);
+                                    var message = new $root.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo();
+                                    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.firstBlockTime != null)
+                                        if ($util.Long)
+                                            (message.firstBlockTime = $util.Long.fromValue(object.firstBlockTime)).unsigned = true;
+                                        else if (typeof object.firstBlockTime === "string")
+                                            message.firstBlockTime = parseInt(object.firstBlockTime, 10);
+                                        else if (typeof object.firstBlockTime === "number")
+                                            message.firstBlockTime = object.firstBlockTime;
+                                        else if (typeof object.firstBlockTime === "object")
+                                            message.firstBlockTime = new $util.LongBits(object.firstBlockTime.low >>> 0, object.firstBlockTime.high >>> 0).toNumber(true);
+                                    if (object.feeMultiplier != null)
+                                        message.feeMultiplier = Number(object.feeMultiplier);
+                                    if (object.protocolVersion != null)
+                                        message.protocolVersion = object.protocolVersion >>> 0;
+                                    if (object.totalBlocksInEpoch != null)
+                                        if ($util.Long)
+                                            (message.totalBlocksInEpoch = $util.Long.fromValue(object.totalBlocksInEpoch)).unsigned = true;
+                                        else if (typeof object.totalBlocksInEpoch === "string")
+                                            message.totalBlocksInEpoch = parseInt(object.totalBlocksInEpoch, 10);
+                                        else if (typeof object.totalBlocksInEpoch === "number")
+                                            message.totalBlocksInEpoch = object.totalBlocksInEpoch;
+                                        else if (typeof object.totalBlocksInEpoch === "object")
+                                            message.totalBlocksInEpoch = new $util.LongBits(object.totalBlocksInEpoch.low >>> 0, object.totalBlocksInEpoch.high >>> 0).toNumber(true);
+                                    if (object.nextEpochStartCoreBlockHeight != null)
+                                        message.nextEpochStartCoreBlockHeight = object.nextEpochStartCoreBlockHeight >>> 0;
+                                    if (object.totalProcessingFees != null)
+                                        if ($util.Long)
+                                            (message.totalProcessingFees = $util.Long.fromValue(object.totalProcessingFees)).unsigned = true;
+                                        else if (typeof object.totalProcessingFees === "string")
+                                            message.totalProcessingFees = parseInt(object.totalProcessingFees, 10);
+                                        else if (typeof object.totalProcessingFees === "number")
+                                            message.totalProcessingFees = object.totalProcessingFees;
+                                        else if (typeof object.totalProcessingFees === "object")
+                                            message.totalProcessingFees = new $util.LongBits(object.totalProcessingFees.low >>> 0, object.totalProcessingFees.high >>> 0).toNumber(true);
+                                    if (object.totalDistributedStorageFees != null)
+                                        if ($util.Long)
+                                            (message.totalDistributedStorageFees = $util.Long.fromValue(object.totalDistributedStorageFees)).unsigned = true;
+                                        else if (typeof object.totalDistributedStorageFees === "string")
+                                            message.totalDistributedStorageFees = parseInt(object.totalDistributedStorageFees, 10);
+                                        else if (typeof object.totalDistributedStorageFees === "number")
+                                            message.totalDistributedStorageFees = object.totalDistributedStorageFees;
+                                        else if (typeof object.totalDistributedStorageFees === "object")
+                                            message.totalDistributedStorageFees = new $util.LongBits(object.totalDistributedStorageFees.low >>> 0, object.totalDistributedStorageFees.high >>> 0).toNumber(true);
+                                    if (object.totalCreatedStorageFees != null)
+                                        if ($util.Long)
+                                            (message.totalCreatedStorageFees = $util.Long.fromValue(object.totalCreatedStorageFees)).unsigned = true;
+                                        else if (typeof object.totalCreatedStorageFees === "string")
+                                            message.totalCreatedStorageFees = parseInt(object.totalCreatedStorageFees, 10);
+                                        else if (typeof object.totalCreatedStorageFees === "number")
+                                            message.totalCreatedStorageFees = object.totalCreatedStorageFees;
+                                        else if (typeof object.totalCreatedStorageFees === "object")
+                                            message.totalCreatedStorageFees = new $util.LongBits(object.totalCreatedStorageFees.low >>> 0, object.totalCreatedStorageFees.high >>> 0).toNumber(true);
+                                    if (object.coreBlockRewards != null)
+                                        if ($util.Long)
+                                            (message.coreBlockRewards = $util.Long.fromValue(object.coreBlockRewards)).unsigned = true;
+                                        else if (typeof object.coreBlockRewards === "string")
+                                            message.coreBlockRewards = parseInt(object.coreBlockRewards, 10);
+                                        else if (typeof object.coreBlockRewards === "number")
+                                            message.coreBlockRewards = object.coreBlockRewards;
+                                        else if (typeof object.coreBlockRewards === "object")
+                                            message.coreBlockRewards = new $util.LongBits(object.coreBlockRewards.low >>> 0, object.coreBlockRewards.high >>> 0).toNumber(true);
+                                    if (object.blockProposers) {
+                                        if (!Array.isArray(object.blockProposers))
+                                            throw TypeError(".org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo.blockProposers: array expected");
+                                        message.blockProposers = [];
+                                        for (var i = 0; i < object.blockProposers.length; ++i) {
+                                            if (typeof object.blockProposers[i] !== "object")
+                                                throw TypeError(".org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo.blockProposers: object expected");
+                                            message.blockProposers[i] = $root.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer.fromObject(object.blockProposers[i]);
                                         }
                                     }
-                                    if (object.finishedResults != null)
-                                        message.finishedResults = Boolean(object.finishedResults);
                                     return message;
                                 };
 
                                 /**
-                                 * Creates a plain object from a SerializedVotePollsByTimestamps message. Also converts values to other types if specified.
+                                 * Creates a plain object from a FinalizedEpochInfo message. Also converts values to other types if specified.
                                  * @function toObject
-                                 * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps
+                                 * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo
                                  * @static
-                                 * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps} message SerializedVotePollsByTimestamps
+                                 * @param {org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo} message FinalizedEpochInfo
                                  * @param {$protobuf.IConversionOptions} [options] Conversion options
                                  * @returns {Object.} Plain object
                                  */
-                                SerializedVotePollsByTimestamps.toObject = function toObject(message, options) {
+                                FinalizedEpochInfo.toObject = function toObject(message, options) {
                                     if (!options)
                                         options = {};
                                     var object = {};
                                     if (options.arrays || options.defaults)
-                                        object.votePollsByTimestamps = [];
-                                    if (options.defaults)
-                                        object.finishedResults = false;
-                                    if (message.votePollsByTimestamps && message.votePollsByTimestamps.length) {
-                                        object.votePollsByTimestamps = [];
-                                        for (var j = 0; j < message.votePollsByTimestamps.length; ++j)
-                                            object.votePollsByTimestamps[j] = $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.toObject(message.votePollsByTimestamps[j], options);
+                                        object.blockProposers = [];
+                                    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.firstBlockTime = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;
+                                        } else
+                                            object.firstBlockTime = options.longs === String ? "0" : 0;
+                                        object.feeMultiplier = 0;
+                                        object.protocolVersion = 0;
+                                        if ($util.Long) {
+                                            var long = new $util.Long(0, 0, true);
+                                            object.totalBlocksInEpoch = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;
+                                        } else
+                                            object.totalBlocksInEpoch = options.longs === String ? "0" : 0;
+                                        object.nextEpochStartCoreBlockHeight = 0;
+                                        if ($util.Long) {
+                                            var long = new $util.Long(0, 0, true);
+                                            object.totalProcessingFees = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;
+                                        } else
+                                            object.totalProcessingFees = options.longs === String ? "0" : 0;
+                                        if ($util.Long) {
+                                            var long = new $util.Long(0, 0, true);
+                                            object.totalDistributedStorageFees = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;
+                                        } else
+                                            object.totalDistributedStorageFees = options.longs === String ? "0" : 0;
+                                        if ($util.Long) {
+                                            var long = new $util.Long(0, 0, true);
+                                            object.totalCreatedStorageFees = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;
+                                        } else
+                                            object.totalCreatedStorageFees = options.longs === String ? "0" : 0;
+                                        if ($util.Long) {
+                                            var long = new $util.Long(0, 0, true);
+                                            object.coreBlockRewards = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;
+                                        } else
+                                            object.coreBlockRewards = options.longs === String ? "0" : 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.firstBlockTime != null && message.hasOwnProperty("firstBlockTime"))
+                                        if (typeof message.firstBlockTime === "number")
+                                            object.firstBlockTime = options.longs === String ? String(message.firstBlockTime) : message.firstBlockTime;
+                                        else
+                                            object.firstBlockTime = options.longs === String ? $util.Long.prototype.toString.call(message.firstBlockTime) : options.longs === Number ? new $util.LongBits(message.firstBlockTime.low >>> 0, message.firstBlockTime.high >>> 0).toNumber(true) : message.firstBlockTime;
+                                    if (message.feeMultiplier != null && message.hasOwnProperty("feeMultiplier"))
+                                        object.feeMultiplier = options.json && !isFinite(message.feeMultiplier) ? String(message.feeMultiplier) : message.feeMultiplier;
+                                    if (message.protocolVersion != null && message.hasOwnProperty("protocolVersion"))
+                                        object.protocolVersion = message.protocolVersion;
+                                    if (message.totalBlocksInEpoch != null && message.hasOwnProperty("totalBlocksInEpoch"))
+                                        if (typeof message.totalBlocksInEpoch === "number")
+                                            object.totalBlocksInEpoch = options.longs === String ? String(message.totalBlocksInEpoch) : message.totalBlocksInEpoch;
+                                        else
+                                            object.totalBlocksInEpoch = options.longs === String ? $util.Long.prototype.toString.call(message.totalBlocksInEpoch) : options.longs === Number ? new $util.LongBits(message.totalBlocksInEpoch.low >>> 0, message.totalBlocksInEpoch.high >>> 0).toNumber(true) : message.totalBlocksInEpoch;
+                                    if (message.nextEpochStartCoreBlockHeight != null && message.hasOwnProperty("nextEpochStartCoreBlockHeight"))
+                                        object.nextEpochStartCoreBlockHeight = message.nextEpochStartCoreBlockHeight;
+                                    if (message.totalProcessingFees != null && message.hasOwnProperty("totalProcessingFees"))
+                                        if (typeof message.totalProcessingFees === "number")
+                                            object.totalProcessingFees = options.longs === String ? String(message.totalProcessingFees) : message.totalProcessingFees;
+                                        else
+                                            object.totalProcessingFees = options.longs === String ? $util.Long.prototype.toString.call(message.totalProcessingFees) : options.longs === Number ? new $util.LongBits(message.totalProcessingFees.low >>> 0, message.totalProcessingFees.high >>> 0).toNumber(true) : message.totalProcessingFees;
+                                    if (message.totalDistributedStorageFees != null && message.hasOwnProperty("totalDistributedStorageFees"))
+                                        if (typeof message.totalDistributedStorageFees === "number")
+                                            object.totalDistributedStorageFees = options.longs === String ? String(message.totalDistributedStorageFees) : message.totalDistributedStorageFees;
+                                        else
+                                            object.totalDistributedStorageFees = options.longs === String ? $util.Long.prototype.toString.call(message.totalDistributedStorageFees) : options.longs === Number ? new $util.LongBits(message.totalDistributedStorageFees.low >>> 0, message.totalDistributedStorageFees.high >>> 0).toNumber(true) : message.totalDistributedStorageFees;
+                                    if (message.totalCreatedStorageFees != null && message.hasOwnProperty("totalCreatedStorageFees"))
+                                        if (typeof message.totalCreatedStorageFees === "number")
+                                            object.totalCreatedStorageFees = options.longs === String ? String(message.totalCreatedStorageFees) : message.totalCreatedStorageFees;
+                                        else
+                                            object.totalCreatedStorageFees = options.longs === String ? $util.Long.prototype.toString.call(message.totalCreatedStorageFees) : options.longs === Number ? new $util.LongBits(message.totalCreatedStorageFees.low >>> 0, message.totalCreatedStorageFees.high >>> 0).toNumber(true) : message.totalCreatedStorageFees;
+                                    if (message.coreBlockRewards != null && message.hasOwnProperty("coreBlockRewards"))
+                                        if (typeof message.coreBlockRewards === "number")
+                                            object.coreBlockRewards = options.longs === String ? String(message.coreBlockRewards) : message.coreBlockRewards;
+                                        else
+                                            object.coreBlockRewards = options.longs === String ? $util.Long.prototype.toString.call(message.coreBlockRewards) : options.longs === Number ? new $util.LongBits(message.coreBlockRewards.low >>> 0, message.coreBlockRewards.high >>> 0).toNumber(true) : message.coreBlockRewards;
+                                    if (message.blockProposers && message.blockProposers.length) {
+                                        object.blockProposers = [];
+                                        for (var j = 0; j < message.blockProposers.length; ++j)
+                                            object.blockProposers[j] = $root.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer.toObject(message.blockProposers[j], options);
                                     }
-                                    if (message.finishedResults != null && message.hasOwnProperty("finishedResults"))
-                                        object.finishedResults = message.finishedResults;
                                     return object;
                                 };
 
                                 /**
-                                 * Converts this SerializedVotePollsByTimestamps to JSON.
+                                 * Converts this FinalizedEpochInfo to JSON.
                                  * @function toJSON
-                                 * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps
+                                 * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo
                                  * @instance
                                  * @returns {Object.} JSON object
                                  */
-                                SerializedVotePollsByTimestamps.prototype.toJSON = function toJSON() {
+                                FinalizedEpochInfo.prototype.toJSON = function toJSON() {
                                     return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
                                 };
 
-                                return SerializedVotePollsByTimestamps;
+                                return FinalizedEpochInfo;
                             })();
 
-                            return GetVotePollsByEndDateResponseV0;
-                        })();
-
-                        return GetVotePollsByEndDateResponse;
-                    })();
+                            GetFinalizedEpochInfosResponseV0.BlockProposer = (function() {
 
-                    v0.GetContestedResourceVoteStateRequest = (function() {
+                                /**
+                                 * Properties of a BlockProposer.
+                                 * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0
+                                 * @interface IBlockProposer
+                                 * @property {Uint8Array|null} [proposerId] BlockProposer proposerId
+                                 * @property {number|null} [blockCount] BlockProposer blockCount
+                                 */
 
-                        /**
-                         * Properties of a GetContestedResourceVoteStateRequest.
-                         * @memberof org.dash.platform.dapi.v0
-                         * @interface IGetContestedResourceVoteStateRequest
-                         * @property {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.IGetContestedResourceVoteStateRequestV0|null} [v0] GetContestedResourceVoteStateRequest v0
-                         */
+                                /**
+                                 * Constructs a new BlockProposer.
+                                 * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0
+                                 * @classdesc Represents a BlockProposer.
+                                 * @implements IBlockProposer
+                                 * @constructor
+                                 * @param {org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.IBlockProposer=} [properties] Properties to set
+                                 */
+                                function BlockProposer(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 GetContestedResourceVoteStateRequest.
-                         * @memberof org.dash.platform.dapi.v0
-                         * @classdesc Represents a GetContestedResourceVoteStateRequest.
-                         * @implements IGetContestedResourceVoteStateRequest
-                         * @constructor
-                         * @param {org.dash.platform.dapi.v0.IGetContestedResourceVoteStateRequest=} [properties] Properties to set
-                         */
-                        function GetContestedResourceVoteStateRequest(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]];
-                        }
+                                /**
+                                 * BlockProposer proposerId.
+                                 * @member {Uint8Array} proposerId
+                                 * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer
+                                 * @instance
+                                 */
+                                BlockProposer.prototype.proposerId = $util.newBuffer([]);
 
-                        /**
-                         * GetContestedResourceVoteStateRequest v0.
-                         * @member {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.IGetContestedResourceVoteStateRequestV0|null|undefined} v0
-                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest
-                         * @instance
-                         */
-                        GetContestedResourceVoteStateRequest.prototype.v0 = null;
+                                /**
+                                 * BlockProposer blockCount.
+                                 * @member {number} blockCount
+                                 * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer
+                                 * @instance
+                                 */
+                                BlockProposer.prototype.blockCount = 0;
 
-                        // OneOf field names bound to virtual getters and setters
-                        var $oneOfFields;
+                                /**
+                                 * Creates a new BlockProposer instance using the specified properties.
+                                 * @function create
+                                 * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer
+                                 * @static
+                                 * @param {org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.IBlockProposer=} [properties] Properties to set
+                                 * @returns {org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer} BlockProposer instance
+                                 */
+                                BlockProposer.create = function create(properties) {
+                                    return new BlockProposer(properties);
+                                };
 
-                        /**
-                         * GetContestedResourceVoteStateRequest version.
-                         * @member {"v0"|undefined} version
-                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest
-                         * @instance
-                         */
-                        Object.defineProperty(GetContestedResourceVoteStateRequest.prototype, "version", {
+                                /**
+                                 * Encodes the specified BlockProposer message. Does not implicitly {@link org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer.verify|verify} messages.
+                                 * @function encode
+                                 * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer
+                                 * @static
+                                 * @param {org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.IBlockProposer} message BlockProposer message or plain object to encode
+                                 * @param {$protobuf.Writer} [writer] Writer to encode to
+                                 * @returns {$protobuf.Writer} Writer
+                                 */
+                                BlockProposer.encode = function encode(message, writer) {
+                                    if (!writer)
+                                        writer = $Writer.create();
+                                    if (message.proposerId != null && Object.hasOwnProperty.call(message, "proposerId"))
+                                        writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.proposerId);
+                                    if (message.blockCount != null && Object.hasOwnProperty.call(message, "blockCount"))
+                                        writer.uint32(/* id 2, wireType 0 =*/16).uint32(message.blockCount);
+                                    return writer;
+                                };
+
+                                /**
+                                 * Encodes the specified BlockProposer message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer.verify|verify} messages.
+                                 * @function encodeDelimited
+                                 * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer
+                                 * @static
+                                 * @param {org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.IBlockProposer} message BlockProposer message or plain object to encode
+                                 * @param {$protobuf.Writer} [writer] Writer to encode to
+                                 * @returns {$protobuf.Writer} Writer
+                                 */
+                                BlockProposer.encodeDelimited = function encodeDelimited(message, writer) {
+                                    return this.encode(message, writer).ldelim();
+                                };
+
+                                /**
+                                 * Decodes a BlockProposer message from the specified reader or buffer.
+                                 * @function decode
+                                 * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer
+                                 * @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.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer} BlockProposer
+                                 * @throws {Error} If the payload is not a reader or valid buffer
+                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
+                                 */
+                                BlockProposer.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.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer();
+                                    while (reader.pos < end) {
+                                        var tag = reader.uint32();
+                                        switch (tag >>> 3) {
+                                        case 1:
+                                            message.proposerId = reader.bytes();
+                                            break;
+                                        case 2:
+                                            message.blockCount = reader.uint32();
+                                            break;
+                                        default:
+                                            reader.skipType(tag & 7);
+                                            break;
+                                        }
+                                    }
+                                    return message;
+                                };
+
+                                /**
+                                 * Decodes a BlockProposer message from the specified reader or buffer, length delimited.
+                                 * @function decodeDelimited
+                                 * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer
+                                 * @static
+                                 * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+                                 * @returns {org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer} BlockProposer
+                                 * @throws {Error} If the payload is not a reader or valid buffer
+                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
+                                 */
+                                BlockProposer.decodeDelimited = function decodeDelimited(reader) {
+                                    if (!(reader instanceof $Reader))
+                                        reader = new $Reader(reader);
+                                    return this.decode(reader, reader.uint32());
+                                };
+
+                                /**
+                                 * Verifies a BlockProposer message.
+                                 * @function verify
+                                 * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer
+                                 * @static
+                                 * @param {Object.} message Plain object to verify
+                                 * @returns {string|null} `null` if valid, otherwise the reason why it is not
+                                 */
+                                BlockProposer.verify = function verify(message) {
+                                    if (typeof message !== "object" || message === null)
+                                        return "object expected";
+                                    if (message.proposerId != null && message.hasOwnProperty("proposerId"))
+                                        if (!(message.proposerId && typeof message.proposerId.length === "number" || $util.isString(message.proposerId)))
+                                            return "proposerId: buffer expected";
+                                    if (message.blockCount != null && message.hasOwnProperty("blockCount"))
+                                        if (!$util.isInteger(message.blockCount))
+                                            return "blockCount: integer expected";
+                                    return null;
+                                };
+
+                                /**
+                                 * Creates a BlockProposer message from a plain object. Also converts values to their respective internal types.
+                                 * @function fromObject
+                                 * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer
+                                 * @static
+                                 * @param {Object.} object Plain object
+                                 * @returns {org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer} BlockProposer
+                                 */
+                                BlockProposer.fromObject = function fromObject(object) {
+                                    if (object instanceof $root.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer)
+                                        return object;
+                                    var message = new $root.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer();
+                                    if (object.proposerId != null)
+                                        if (typeof object.proposerId === "string")
+                                            $util.base64.decode(object.proposerId, message.proposerId = $util.newBuffer($util.base64.length(object.proposerId)), 0);
+                                        else if (object.proposerId.length >= 0)
+                                            message.proposerId = object.proposerId;
+                                    if (object.blockCount != null)
+                                        message.blockCount = object.blockCount >>> 0;
+                                    return message;
+                                };
+
+                                /**
+                                 * Creates a plain object from a BlockProposer message. Also converts values to other types if specified.
+                                 * @function toObject
+                                 * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer
+                                 * @static
+                                 * @param {org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer} message BlockProposer
+                                 * @param {$protobuf.IConversionOptions} [options] Conversion options
+                                 * @returns {Object.} Plain object
+                                 */
+                                BlockProposer.toObject = function toObject(message, options) {
+                                    if (!options)
+                                        options = {};
+                                    var object = {};
+                                    if (options.defaults) {
+                                        if (options.bytes === String)
+                                            object.proposerId = "";
+                                        else {
+                                            object.proposerId = [];
+                                            if (options.bytes !== Array)
+                                                object.proposerId = $util.newBuffer(object.proposerId);
+                                        }
+                                        object.blockCount = 0;
+                                    }
+                                    if (message.proposerId != null && message.hasOwnProperty("proposerId"))
+                                        object.proposerId = options.bytes === String ? $util.base64.encode(message.proposerId, 0, message.proposerId.length) : options.bytes === Array ? Array.prototype.slice.call(message.proposerId) : message.proposerId;
+                                    if (message.blockCount != null && message.hasOwnProperty("blockCount"))
+                                        object.blockCount = message.blockCount;
+                                    return object;
+                                };
+
+                                /**
+                                 * Converts this BlockProposer to JSON.
+                                 * @function toJSON
+                                 * @memberof org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer
+                                 * @instance
+                                 * @returns {Object.} JSON object
+                                 */
+                                BlockProposer.prototype.toJSON = function toJSON() {
+                                    return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+                                };
+
+                                return BlockProposer;
+                            })();
+
+                            return GetFinalizedEpochInfosResponseV0;
+                        })();
+
+                        return GetFinalizedEpochInfosResponse;
+                    })();
+
+                    v0.GetContestedResourcesRequest = (function() {
+
+                        /**
+                         * Properties of a GetContestedResourcesRequest.
+                         * @memberof org.dash.platform.dapi.v0
+                         * @interface IGetContestedResourcesRequest
+                         * @property {org.dash.platform.dapi.v0.GetContestedResourcesRequest.IGetContestedResourcesRequestV0|null} [v0] GetContestedResourcesRequest v0
+                         */
+
+                        /**
+                         * Constructs a new GetContestedResourcesRequest.
+                         * @memberof org.dash.platform.dapi.v0
+                         * @classdesc Represents a GetContestedResourcesRequest.
+                         * @implements IGetContestedResourcesRequest
+                         * @constructor
+                         * @param {org.dash.platform.dapi.v0.IGetContestedResourcesRequest=} [properties] Properties to set
+                         */
+                        function GetContestedResourcesRequest(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]];
+                        }
+
+                        /**
+                         * GetContestedResourcesRequest v0.
+                         * @member {org.dash.platform.dapi.v0.GetContestedResourcesRequest.IGetContestedResourcesRequestV0|null|undefined} v0
+                         * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest
+                         * @instance
+                         */
+                        GetContestedResourcesRequest.prototype.v0 = null;
+
+                        // OneOf field names bound to virtual getters and setters
+                        var $oneOfFields;
+
+                        /**
+                         * GetContestedResourcesRequest version.
+                         * @member {"v0"|undefined} version
+                         * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest
+                         * @instance
+                         */
+                        Object.defineProperty(GetContestedResourcesRequest.prototype, "version", {
                             get: $util.oneOfGetter($oneOfFields = ["v0"]),
                             set: $util.oneOfSetter($oneOfFields)
                         });
 
                         /**
-                         * Creates a new GetContestedResourceVoteStateRequest instance using the specified properties.
+                         * Creates a new GetContestedResourcesRequest instance using the specified properties.
                          * @function create
-                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest
+                         * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest
                          * @static
-                         * @param {org.dash.platform.dapi.v0.IGetContestedResourceVoteStateRequest=} [properties] Properties to set
-                         * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest} GetContestedResourceVoteStateRequest instance
+                         * @param {org.dash.platform.dapi.v0.IGetContestedResourcesRequest=} [properties] Properties to set
+                         * @returns {org.dash.platform.dapi.v0.GetContestedResourcesRequest} GetContestedResourcesRequest instance
                          */
-                        GetContestedResourceVoteStateRequest.create = function create(properties) {
-                            return new GetContestedResourceVoteStateRequest(properties);
+                        GetContestedResourcesRequest.create = function create(properties) {
+                            return new GetContestedResourcesRequest(properties);
                         };
 
                         /**
-                         * Encodes the specified GetContestedResourceVoteStateRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.verify|verify} messages.
+                         * Encodes the specified GetContestedResourcesRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourcesRequest.verify|verify} messages.
                          * @function encode
-                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest
+                         * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest
                          * @static
-                         * @param {org.dash.platform.dapi.v0.IGetContestedResourceVoteStateRequest} message GetContestedResourceVoteStateRequest message or plain object to encode
+                         * @param {org.dash.platform.dapi.v0.IGetContestedResourcesRequest} message GetContestedResourcesRequest message or plain object to encode
                          * @param {$protobuf.Writer} [writer] Writer to encode to
                          * @returns {$protobuf.Writer} Writer
                          */
-                        GetContestedResourceVoteStateRequest.encode = function encode(message, writer) {
+                        GetContestedResourcesRequest.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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+                                $root.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
                             return writer;
                         };
 
                         /**
-                         * Encodes the specified GetContestedResourceVoteStateRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.verify|verify} messages.
+                         * Encodes the specified GetContestedResourcesRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourcesRequest.verify|verify} messages.
                          * @function encodeDelimited
-                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest
+                         * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest
                          * @static
-                         * @param {org.dash.platform.dapi.v0.IGetContestedResourceVoteStateRequest} message GetContestedResourceVoteStateRequest message or plain object to encode
+                         * @param {org.dash.platform.dapi.v0.IGetContestedResourcesRequest} message GetContestedResourcesRequest message or plain object to encode
                          * @param {$protobuf.Writer} [writer] Writer to encode to
                          * @returns {$protobuf.Writer} Writer
                          */
-                        GetContestedResourceVoteStateRequest.encodeDelimited = function encodeDelimited(message, writer) {
+                        GetContestedResourcesRequest.encodeDelimited = function encodeDelimited(message, writer) {
                             return this.encode(message, writer).ldelim();
                         };
 
                         /**
-                         * Decodes a GetContestedResourceVoteStateRequest message from the specified reader or buffer.
+                         * Decodes a GetContestedResourcesRequest message from the specified reader or buffer.
                          * @function decode
-                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest
+                         * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest
                          * @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.GetContestedResourceVoteStateRequest} GetContestedResourceVoteStateRequest
+                         * @returns {org.dash.platform.dapi.v0.GetContestedResourcesRequest} GetContestedResourcesRequest
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        GetContestedResourceVoteStateRequest.decode = function decode(reader, length) {
+                        GetContestedResourcesRequest.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.GetContestedResourceVoteStateRequest();
+                            var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetContestedResourcesRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
                                 switch (tag >>> 3) {
                                 case 1:
-                                    message.v0 = $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.decode(reader, reader.uint32());
+                                    message.v0 = $root.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.decode(reader, reader.uint32());
                                     break;
                                 default:
                                     reader.skipType(tag & 7);
@@ -30887,37 +30891,37 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Decodes a GetContestedResourceVoteStateRequest message from the specified reader or buffer, length delimited.
+                         * Decodes a GetContestedResourcesRequest message from the specified reader or buffer, length delimited.
                          * @function decodeDelimited
-                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest
+                         * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest
                          * @static
                          * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                         * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest} GetContestedResourceVoteStateRequest
+                         * @returns {org.dash.platform.dapi.v0.GetContestedResourcesRequest} GetContestedResourcesRequest
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        GetContestedResourceVoteStateRequest.decodeDelimited = function decodeDelimited(reader) {
+                        GetContestedResourcesRequest.decodeDelimited = function decodeDelimited(reader) {
                             if (!(reader instanceof $Reader))
                                 reader = new $Reader(reader);
                             return this.decode(reader, reader.uint32());
                         };
 
                         /**
-                         * Verifies a GetContestedResourceVoteStateRequest message.
+                         * Verifies a GetContestedResourcesRequest message.
                          * @function verify
-                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest
+                         * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest
                          * @static
                          * @param {Object.} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        GetContestedResourceVoteStateRequest.verify = function verify(message) {
+                        GetContestedResourcesRequest.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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.verify(message.v0);
+                                    var error = $root.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.verify(message.v0);
                                     if (error)
                                         return "v0." + error;
                                 }
@@ -30926,40 +30930,40 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Creates a GetContestedResourceVoteStateRequest message from a plain object. Also converts values to their respective internal types.
+                         * Creates a GetContestedResourcesRequest message from a plain object. Also converts values to their respective internal types.
                          * @function fromObject
-                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest
+                         * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest
                          * @static
                          * @param {Object.} object Plain object
-                         * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest} GetContestedResourceVoteStateRequest
+                         * @returns {org.dash.platform.dapi.v0.GetContestedResourcesRequest} GetContestedResourcesRequest
                          */
-                        GetContestedResourceVoteStateRequest.fromObject = function fromObject(object) {
-                            if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest)
+                        GetContestedResourcesRequest.fromObject = function fromObject(object) {
+                            if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourcesRequest)
                                 return object;
-                            var message = new $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest();
+                            var message = new $root.org.dash.platform.dapi.v0.GetContestedResourcesRequest();
                             if (object.v0 != null) {
                                 if (typeof object.v0 !== "object")
-                                    throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.v0: object expected");
-                                message.v0 = $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.fromObject(object.v0);
+                                    throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourcesRequest.v0: object expected");
+                                message.v0 = $root.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.fromObject(object.v0);
                             }
                             return message;
                         };
 
                         /**
-                         * Creates a plain object from a GetContestedResourceVoteStateRequest message. Also converts values to other types if specified.
+                         * Creates a plain object from a GetContestedResourcesRequest message. Also converts values to other types if specified.
                          * @function toObject
-                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest
+                         * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest
                          * @static
-                         * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest} message GetContestedResourceVoteStateRequest
+                         * @param {org.dash.platform.dapi.v0.GetContestedResourcesRequest} message GetContestedResourcesRequest
                          * @param {$protobuf.IConversionOptions} [options] Conversion options
                          * @returns {Object.} Plain object
                          */
-                        GetContestedResourceVoteStateRequest.toObject = function toObject(message, options) {
+                        GetContestedResourcesRequest.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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.toObject(message.v0, options);
+                                object.v0 = $root.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.toObject(message.v0, options);
                                 if (options.oneofs)
                                     object.version = "v0";
                             }
@@ -30967,43 +30971,44 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Converts this GetContestedResourceVoteStateRequest to JSON.
+                         * Converts this GetContestedResourcesRequest to JSON.
                          * @function toJSON
-                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest
+                         * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest
                          * @instance
                          * @returns {Object.} JSON object
                          */
-                        GetContestedResourceVoteStateRequest.prototype.toJSON = function toJSON() {
+                        GetContestedResourcesRequest.prototype.toJSON = function toJSON() {
                             return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
                         };
 
-                        GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0 = (function() {
+                        GetContestedResourcesRequest.GetContestedResourcesRequestV0 = (function() {
 
                             /**
-                             * Properties of a GetContestedResourceVoteStateRequestV0.
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest
-                             * @interface IGetContestedResourceVoteStateRequestV0
-                             * @property {Uint8Array|null} [contractId] GetContestedResourceVoteStateRequestV0 contractId
-                             * @property {string|null} [documentTypeName] GetContestedResourceVoteStateRequestV0 documentTypeName
-                             * @property {string|null} [indexName] GetContestedResourceVoteStateRequestV0 indexName
-                             * @property {Array.|null} [indexValues] GetContestedResourceVoteStateRequestV0 indexValues
-                             * @property {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.ResultType|null} [resultType] GetContestedResourceVoteStateRequestV0 resultType
-                             * @property {boolean|null} [allowIncludeLockedAndAbstainingVoteTally] GetContestedResourceVoteStateRequestV0 allowIncludeLockedAndAbstainingVoteTally
-                             * @property {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.IStartAtIdentifierInfo|null} [startAtIdentifierInfo] GetContestedResourceVoteStateRequestV0 startAtIdentifierInfo
-                             * @property {number|null} [count] GetContestedResourceVoteStateRequestV0 count
-                             * @property {boolean|null} [prove] GetContestedResourceVoteStateRequestV0 prove
+                             * Properties of a GetContestedResourcesRequestV0.
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest
+                             * @interface IGetContestedResourcesRequestV0
+                             * @property {Uint8Array|null} [contractId] GetContestedResourcesRequestV0 contractId
+                             * @property {string|null} [documentTypeName] GetContestedResourcesRequestV0 documentTypeName
+                             * @property {string|null} [indexName] GetContestedResourcesRequestV0 indexName
+                             * @property {Array.|null} [startIndexValues] GetContestedResourcesRequestV0 startIndexValues
+                             * @property {Array.|null} [endIndexValues] GetContestedResourcesRequestV0 endIndexValues
+                             * @property {org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.IStartAtValueInfo|null} [startAtValueInfo] GetContestedResourcesRequestV0 startAtValueInfo
+                             * @property {number|null} [count] GetContestedResourcesRequestV0 count
+                             * @property {boolean|null} [orderAscending] GetContestedResourcesRequestV0 orderAscending
+                             * @property {boolean|null} [prove] GetContestedResourcesRequestV0 prove
                              */
 
                             /**
-                             * Constructs a new GetContestedResourceVoteStateRequestV0.
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest
-                             * @classdesc Represents a GetContestedResourceVoteStateRequestV0.
-                             * @implements IGetContestedResourceVoteStateRequestV0
+                             * Constructs a new GetContestedResourcesRequestV0.
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest
+                             * @classdesc Represents a GetContestedResourcesRequestV0.
+                             * @implements IGetContestedResourcesRequestV0
                              * @constructor
-                             * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.IGetContestedResourceVoteStateRequestV0=} [properties] Properties to set
+                             * @param {org.dash.platform.dapi.v0.GetContestedResourcesRequest.IGetContestedResourcesRequestV0=} [properties] Properties to set
                              */
-                            function GetContestedResourceVoteStateRequestV0(properties) {
-                                this.indexValues = [];
+                            function GetContestedResourcesRequestV0(properties) {
+                                this.startIndexValues = [];
+                                this.endIndexValues = [];
                                 if (properties)
                                     for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
                                         if (properties[keys[i]] != null)
@@ -31011,99 +31016,99 @@ $root.org = (function() {
                             }
 
                             /**
-                             * GetContestedResourceVoteStateRequestV0 contractId.
+                             * GetContestedResourcesRequestV0 contractId.
                              * @member {Uint8Array} contractId
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0
                              * @instance
                              */
-                            GetContestedResourceVoteStateRequestV0.prototype.contractId = $util.newBuffer([]);
+                            GetContestedResourcesRequestV0.prototype.contractId = $util.newBuffer([]);
 
                             /**
-                             * GetContestedResourceVoteStateRequestV0 documentTypeName.
+                             * GetContestedResourcesRequestV0 documentTypeName.
                              * @member {string} documentTypeName
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0
                              * @instance
                              */
-                            GetContestedResourceVoteStateRequestV0.prototype.documentTypeName = "";
+                            GetContestedResourcesRequestV0.prototype.documentTypeName = "";
 
                             /**
-                             * GetContestedResourceVoteStateRequestV0 indexName.
+                             * GetContestedResourcesRequestV0 indexName.
                              * @member {string} indexName
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0
                              * @instance
                              */
-                            GetContestedResourceVoteStateRequestV0.prototype.indexName = "";
+                            GetContestedResourcesRequestV0.prototype.indexName = "";
 
                             /**
-                             * GetContestedResourceVoteStateRequestV0 indexValues.
-                             * @member {Array.} indexValues
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0
+                             * GetContestedResourcesRequestV0 startIndexValues.
+                             * @member {Array.} startIndexValues
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0
                              * @instance
                              */
-                            GetContestedResourceVoteStateRequestV0.prototype.indexValues = $util.emptyArray;
+                            GetContestedResourcesRequestV0.prototype.startIndexValues = $util.emptyArray;
 
                             /**
-                             * GetContestedResourceVoteStateRequestV0 resultType.
-                             * @member {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.ResultType} resultType
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0
+                             * GetContestedResourcesRequestV0 endIndexValues.
+                             * @member {Array.} endIndexValues
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0
                              * @instance
                              */
-                            GetContestedResourceVoteStateRequestV0.prototype.resultType = 0;
+                            GetContestedResourcesRequestV0.prototype.endIndexValues = $util.emptyArray;
 
                             /**
-                             * GetContestedResourceVoteStateRequestV0 allowIncludeLockedAndAbstainingVoteTally.
-                             * @member {boolean} allowIncludeLockedAndAbstainingVoteTally
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0
+                             * GetContestedResourcesRequestV0 startAtValueInfo.
+                             * @member {org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.IStartAtValueInfo|null|undefined} startAtValueInfo
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0
                              * @instance
                              */
-                            GetContestedResourceVoteStateRequestV0.prototype.allowIncludeLockedAndAbstainingVoteTally = false;
+                            GetContestedResourcesRequestV0.prototype.startAtValueInfo = null;
 
                             /**
-                             * GetContestedResourceVoteStateRequestV0 startAtIdentifierInfo.
-                             * @member {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.IStartAtIdentifierInfo|null|undefined} startAtIdentifierInfo
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0
+                             * GetContestedResourcesRequestV0 count.
+                             * @member {number} count
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0
                              * @instance
                              */
-                            GetContestedResourceVoteStateRequestV0.prototype.startAtIdentifierInfo = null;
+                            GetContestedResourcesRequestV0.prototype.count = 0;
 
                             /**
-                             * GetContestedResourceVoteStateRequestV0 count.
-                             * @member {number} count
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0
+                             * GetContestedResourcesRequestV0 orderAscending.
+                             * @member {boolean} orderAscending
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0
                              * @instance
                              */
-                            GetContestedResourceVoteStateRequestV0.prototype.count = 0;
+                            GetContestedResourcesRequestV0.prototype.orderAscending = false;
 
                             /**
-                             * GetContestedResourceVoteStateRequestV0 prove.
+                             * GetContestedResourcesRequestV0 prove.
                              * @member {boolean} prove
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0
                              * @instance
                              */
-                            GetContestedResourceVoteStateRequestV0.prototype.prove = false;
+                            GetContestedResourcesRequestV0.prototype.prove = false;
 
                             /**
-                             * Creates a new GetContestedResourceVoteStateRequestV0 instance using the specified properties.
+                             * Creates a new GetContestedResourcesRequestV0 instance using the specified properties.
                              * @function create
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.IGetContestedResourceVoteStateRequestV0=} [properties] Properties to set
-                             * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} GetContestedResourceVoteStateRequestV0 instance
+                             * @param {org.dash.platform.dapi.v0.GetContestedResourcesRequest.IGetContestedResourcesRequestV0=} [properties] Properties to set
+                             * @returns {org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0} GetContestedResourcesRequestV0 instance
                              */
-                            GetContestedResourceVoteStateRequestV0.create = function create(properties) {
-                                return new GetContestedResourceVoteStateRequestV0(properties);
+                            GetContestedResourcesRequestV0.create = function create(properties) {
+                                return new GetContestedResourcesRequestV0(properties);
                             };
 
                             /**
-                             * Encodes the specified GetContestedResourceVoteStateRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.verify|verify} messages.
+                             * Encodes the specified GetContestedResourcesRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.verify|verify} messages.
                              * @function encode
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.IGetContestedResourceVoteStateRequestV0} message GetContestedResourceVoteStateRequestV0 message or plain object to encode
+                             * @param {org.dash.platform.dapi.v0.GetContestedResourcesRequest.IGetContestedResourcesRequestV0} message GetContestedResourcesRequestV0 message or plain object to encode
                              * @param {$protobuf.Writer} [writer] Writer to encode to
                              * @returns {$protobuf.Writer} Writer
                              */
-                            GetContestedResourceVoteStateRequestV0.encode = function encode(message, writer) {
+                            GetContestedResourcesRequestV0.encode = function encode(message, writer) {
                                 if (!writer)
                                     writer = $Writer.create();
                                 if (message.contractId != null && Object.hasOwnProperty.call(message, "contractId"))
@@ -31112,50 +31117,51 @@ $root.org = (function() {
                                     writer.uint32(/* id 2, wireType 2 =*/18).string(message.documentTypeName);
                                 if (message.indexName != null && Object.hasOwnProperty.call(message, "indexName"))
                                     writer.uint32(/* id 3, wireType 2 =*/26).string(message.indexName);
-                                if (message.indexValues != null && message.indexValues.length)
-                                    for (var i = 0; i < message.indexValues.length; ++i)
-                                        writer.uint32(/* id 4, wireType 2 =*/34).bytes(message.indexValues[i]);
-                                if (message.resultType != null && Object.hasOwnProperty.call(message, "resultType"))
-                                    writer.uint32(/* id 5, wireType 0 =*/40).int32(message.resultType);
-                                if (message.allowIncludeLockedAndAbstainingVoteTally != null && Object.hasOwnProperty.call(message, "allowIncludeLockedAndAbstainingVoteTally"))
-                                    writer.uint32(/* id 6, wireType 0 =*/48).bool(message.allowIncludeLockedAndAbstainingVoteTally);
-                                if (message.startAtIdentifierInfo != null && Object.hasOwnProperty.call(message, "startAtIdentifierInfo"))
-                                    $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.encode(message.startAtIdentifierInfo, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim();
+                                if (message.startIndexValues != null && message.startIndexValues.length)
+                                    for (var i = 0; i < message.startIndexValues.length; ++i)
+                                        writer.uint32(/* id 4, wireType 2 =*/34).bytes(message.startIndexValues[i]);
+                                if (message.endIndexValues != null && message.endIndexValues.length)
+                                    for (var i = 0; i < message.endIndexValues.length; ++i)
+                                        writer.uint32(/* id 5, wireType 2 =*/42).bytes(message.endIndexValues[i]);
+                                if (message.startAtValueInfo != null && Object.hasOwnProperty.call(message, "startAtValueInfo"))
+                                    $root.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.encode(message.startAtValueInfo, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim();
                                 if (message.count != null && Object.hasOwnProperty.call(message, "count"))
-                                    writer.uint32(/* id 8, wireType 0 =*/64).uint32(message.count);
+                                    writer.uint32(/* id 7, wireType 0 =*/56).uint32(message.count);
+                                if (message.orderAscending != null && Object.hasOwnProperty.call(message, "orderAscending"))
+                                    writer.uint32(/* id 8, wireType 0 =*/64).bool(message.orderAscending);
                                 if (message.prove != null && Object.hasOwnProperty.call(message, "prove"))
                                     writer.uint32(/* id 9, wireType 0 =*/72).bool(message.prove);
                                 return writer;
                             };
 
                             /**
-                             * Encodes the specified GetContestedResourceVoteStateRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.verify|verify} messages.
+                             * Encodes the specified GetContestedResourcesRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.verify|verify} messages.
                              * @function encodeDelimited
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.IGetContestedResourceVoteStateRequestV0} message GetContestedResourceVoteStateRequestV0 message or plain object to encode
+                             * @param {org.dash.platform.dapi.v0.GetContestedResourcesRequest.IGetContestedResourcesRequestV0} message GetContestedResourcesRequestV0 message or plain object to encode
                              * @param {$protobuf.Writer} [writer] Writer to encode to
                              * @returns {$protobuf.Writer} Writer
                              */
-                            GetContestedResourceVoteStateRequestV0.encodeDelimited = function encodeDelimited(message, writer) {
+                            GetContestedResourcesRequestV0.encodeDelimited = function encodeDelimited(message, writer) {
                                 return this.encode(message, writer).ldelim();
                             };
 
                             /**
-                             * Decodes a GetContestedResourceVoteStateRequestV0 message from the specified reader or buffer.
+                             * Decodes a GetContestedResourcesRequestV0 message from the specified reader or buffer.
                              * @function decode
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0
                              * @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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} GetContestedResourceVoteStateRequestV0
+                             * @returns {org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0} GetContestedResourcesRequestV0
                              * @throws {Error} If the payload is not a reader or valid buffer
                              * @throws {$protobuf.util.ProtocolError} If required fields are missing
                              */
-                            GetContestedResourceVoteStateRequestV0.decode = function decode(reader, length) {
+                            GetContestedResourcesRequestV0.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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0();
+                                var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0();
                                 while (reader.pos < end) {
                                     var tag = reader.uint32();
                                     switch (tag >>> 3) {
@@ -31169,21 +31175,23 @@ $root.org = (function() {
                                         message.indexName = reader.string();
                                         break;
                                     case 4:
-                                        if (!(message.indexValues && message.indexValues.length))
-                                            message.indexValues = [];
-                                        message.indexValues.push(reader.bytes());
+                                        if (!(message.startIndexValues && message.startIndexValues.length))
+                                            message.startIndexValues = [];
+                                        message.startIndexValues.push(reader.bytes());
                                         break;
                                     case 5:
-                                        message.resultType = reader.int32();
+                                        if (!(message.endIndexValues && message.endIndexValues.length))
+                                            message.endIndexValues = [];
+                                        message.endIndexValues.push(reader.bytes());
                                         break;
                                     case 6:
-                                        message.allowIncludeLockedAndAbstainingVoteTally = reader.bool();
+                                        message.startAtValueInfo = $root.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.decode(reader, reader.uint32());
                                         break;
                                     case 7:
-                                        message.startAtIdentifierInfo = $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.decode(reader, reader.uint32());
+                                        message.count = reader.uint32();
                                         break;
                                     case 8:
-                                        message.count = reader.uint32();
+                                        message.orderAscending = reader.bool();
                                         break;
                                     case 9:
                                         message.prove = reader.bool();
@@ -31197,30 +31205,30 @@ $root.org = (function() {
                             };
 
                             /**
-                             * Decodes a GetContestedResourceVoteStateRequestV0 message from the specified reader or buffer, length delimited.
+                             * Decodes a GetContestedResourcesRequestV0 message from the specified reader or buffer, length delimited.
                              * @function decodeDelimited
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0
                              * @static
                              * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                             * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} GetContestedResourceVoteStateRequestV0
+                             * @returns {org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0} GetContestedResourcesRequestV0
                              * @throws {Error} If the payload is not a reader or valid buffer
                              * @throws {$protobuf.util.ProtocolError} If required fields are missing
                              */
-                            GetContestedResourceVoteStateRequestV0.decodeDelimited = function decodeDelimited(reader) {
+                            GetContestedResourcesRequestV0.decodeDelimited = function decodeDelimited(reader) {
                                 if (!(reader instanceof $Reader))
                                     reader = new $Reader(reader);
                                 return this.decode(reader, reader.uint32());
                             };
 
                             /**
-                             * Verifies a GetContestedResourceVoteStateRequestV0 message.
+                             * Verifies a GetContestedResourcesRequestV0 message.
                              * @function verify
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0
                              * @static
                              * @param {Object.} message Plain object to verify
                              * @returns {string|null} `null` if valid, otherwise the reason why it is not
                              */
-                            GetContestedResourceVoteStateRequestV0.verify = function verify(message) {
+                            GetContestedResourcesRequestV0.verify = function verify(message) {
                                 if (typeof message !== "object" || message === null)
                                     return "object expected";
                                 if (message.contractId != null && message.hasOwnProperty("contractId"))
@@ -31232,33 +31240,31 @@ $root.org = (function() {
                                 if (message.indexName != null && message.hasOwnProperty("indexName"))
                                     if (!$util.isString(message.indexName))
                                         return "indexName: string expected";
-                                if (message.indexValues != null && message.hasOwnProperty("indexValues")) {
-                                    if (!Array.isArray(message.indexValues))
-                                        return "indexValues: array expected";
-                                    for (var i = 0; i < message.indexValues.length; ++i)
-                                        if (!(message.indexValues[i] && typeof message.indexValues[i].length === "number" || $util.isString(message.indexValues[i])))
-                                            return "indexValues: buffer[] expected";
+                                if (message.startIndexValues != null && message.hasOwnProperty("startIndexValues")) {
+                                    if (!Array.isArray(message.startIndexValues))
+                                        return "startIndexValues: array expected";
+                                    for (var i = 0; i < message.startIndexValues.length; ++i)
+                                        if (!(message.startIndexValues[i] && typeof message.startIndexValues[i].length === "number" || $util.isString(message.startIndexValues[i])))
+                                            return "startIndexValues: buffer[] expected";
                                 }
-                                if (message.resultType != null && message.hasOwnProperty("resultType"))
-                                    switch (message.resultType) {
-                                    default:
-                                        return "resultType: enum value expected";
-                                    case 0:
-                                    case 1:
-                                    case 2:
-                                        break;
-                                    }
-                                if (message.allowIncludeLockedAndAbstainingVoteTally != null && message.hasOwnProperty("allowIncludeLockedAndAbstainingVoteTally"))
-                                    if (typeof message.allowIncludeLockedAndAbstainingVoteTally !== "boolean")
-                                        return "allowIncludeLockedAndAbstainingVoteTally: boolean expected";
-                                if (message.startAtIdentifierInfo != null && message.hasOwnProperty("startAtIdentifierInfo")) {
-                                    var error = $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.verify(message.startAtIdentifierInfo);
+                                if (message.endIndexValues != null && message.hasOwnProperty("endIndexValues")) {
+                                    if (!Array.isArray(message.endIndexValues))
+                                        return "endIndexValues: array expected";
+                                    for (var i = 0; i < message.endIndexValues.length; ++i)
+                                        if (!(message.endIndexValues[i] && typeof message.endIndexValues[i].length === "number" || $util.isString(message.endIndexValues[i])))
+                                            return "endIndexValues: buffer[] expected";
+                                }
+                                if (message.startAtValueInfo != null && message.hasOwnProperty("startAtValueInfo")) {
+                                    var error = $root.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.verify(message.startAtValueInfo);
                                     if (error)
-                                        return "startAtIdentifierInfo." + error;
+                                        return "startAtValueInfo." + error;
                                 }
                                 if (message.count != null && message.hasOwnProperty("count"))
                                     if (!$util.isInteger(message.count))
                                         return "count: integer expected";
+                                if (message.orderAscending != null && message.hasOwnProperty("orderAscending"))
+                                    if (typeof message.orderAscending !== "boolean")
+                                        return "orderAscending: boolean expected";
                                 if (message.prove != null && message.hasOwnProperty("prove"))
                                     if (typeof message.prove !== "boolean")
                                         return "prove: boolean expected";
@@ -31266,17 +31272,17 @@ $root.org = (function() {
                             };
 
                             /**
-                             * Creates a GetContestedResourceVoteStateRequestV0 message from a plain object. Also converts values to their respective internal types.
+                             * Creates a GetContestedResourcesRequestV0 message from a plain object. Also converts values to their respective internal types.
                              * @function fromObject
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0
                              * @static
                              * @param {Object.} object Plain object
-                             * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} GetContestedResourceVoteStateRequestV0
+                             * @returns {org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0} GetContestedResourcesRequestV0
                              */
-                            GetContestedResourceVoteStateRequestV0.fromObject = function fromObject(object) {
-                                if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0)
+                            GetContestedResourcesRequestV0.fromObject = function fromObject(object) {
+                                if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0)
                                     return object;
-                                var message = new $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0();
+                                var message = new $root.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0();
                                 if (object.contractId != null)
                                     if (typeof object.contractId === "string")
                                         $util.base64.decode(object.contractId, message.contractId = $util.newBuffer($util.base64.length(object.contractId)), 0);
@@ -31286,59 +31292,57 @@ $root.org = (function() {
                                     message.documentTypeName = String(object.documentTypeName);
                                 if (object.indexName != null)
                                     message.indexName = String(object.indexName);
-                                if (object.indexValues) {
-                                    if (!Array.isArray(object.indexValues))
-                                        throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.indexValues: array expected");
-                                    message.indexValues = [];
-                                    for (var i = 0; i < object.indexValues.length; ++i)
-                                        if (typeof object.indexValues[i] === "string")
-                                            $util.base64.decode(object.indexValues[i], message.indexValues[i] = $util.newBuffer($util.base64.length(object.indexValues[i])), 0);
-                                        else if (object.indexValues[i].length >= 0)
-                                            message.indexValues[i] = object.indexValues[i];
+                                if (object.startIndexValues) {
+                                    if (!Array.isArray(object.startIndexValues))
+                                        throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.startIndexValues: array expected");
+                                    message.startIndexValues = [];
+                                    for (var i = 0; i < object.startIndexValues.length; ++i)
+                                        if (typeof object.startIndexValues[i] === "string")
+                                            $util.base64.decode(object.startIndexValues[i], message.startIndexValues[i] = $util.newBuffer($util.base64.length(object.startIndexValues[i])), 0);
+                                        else if (object.startIndexValues[i].length >= 0)
+                                            message.startIndexValues[i] = object.startIndexValues[i];
                                 }
-                                switch (object.resultType) {
-                                case "DOCUMENTS":
-                                case 0:
-                                    message.resultType = 0;
-                                    break;
-                                case "VOTE_TALLY":
-                                case 1:
-                                    message.resultType = 1;
-                                    break;
-                                case "DOCUMENTS_AND_VOTE_TALLY":
-                                case 2:
-                                    message.resultType = 2;
-                                    break;
+                                if (object.endIndexValues) {
+                                    if (!Array.isArray(object.endIndexValues))
+                                        throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.endIndexValues: array expected");
+                                    message.endIndexValues = [];
+                                    for (var i = 0; i < object.endIndexValues.length; ++i)
+                                        if (typeof object.endIndexValues[i] === "string")
+                                            $util.base64.decode(object.endIndexValues[i], message.endIndexValues[i] = $util.newBuffer($util.base64.length(object.endIndexValues[i])), 0);
+                                        else if (object.endIndexValues[i].length >= 0)
+                                            message.endIndexValues[i] = object.endIndexValues[i];
                                 }
-                                if (object.allowIncludeLockedAndAbstainingVoteTally != null)
-                                    message.allowIncludeLockedAndAbstainingVoteTally = Boolean(object.allowIncludeLockedAndAbstainingVoteTally);
-                                if (object.startAtIdentifierInfo != null) {
-                                    if (typeof object.startAtIdentifierInfo !== "object")
-                                        throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.startAtIdentifierInfo: object expected");
-                                    message.startAtIdentifierInfo = $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.fromObject(object.startAtIdentifierInfo);
+                                if (object.startAtValueInfo != null) {
+                                    if (typeof object.startAtValueInfo !== "object")
+                                        throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.startAtValueInfo: object expected");
+                                    message.startAtValueInfo = $root.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.fromObject(object.startAtValueInfo);
                                 }
                                 if (object.count != null)
                                     message.count = object.count >>> 0;
+                                if (object.orderAscending != null)
+                                    message.orderAscending = Boolean(object.orderAscending);
                                 if (object.prove != null)
                                     message.prove = Boolean(object.prove);
                                 return message;
                             };
 
                             /**
-                             * Creates a plain object from a GetContestedResourceVoteStateRequestV0 message. Also converts values to other types if specified.
+                             * Creates a plain object from a GetContestedResourcesRequestV0 message. Also converts values to other types if specified.
                              * @function toObject
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} message GetContestedResourceVoteStateRequestV0
+                             * @param {org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0} message GetContestedResourcesRequestV0
                              * @param {$protobuf.IConversionOptions} [options] Conversion options
                              * @returns {Object.} Plain object
                              */
-                            GetContestedResourceVoteStateRequestV0.toObject = function toObject(message, options) {
+                            GetContestedResourcesRequestV0.toObject = function toObject(message, options) {
                                 if (!options)
                                     options = {};
                                 var object = {};
-                                if (options.arrays || options.defaults)
-                                    object.indexValues = [];
+                                if (options.arrays || options.defaults) {
+                                    object.startIndexValues = [];
+                                    object.endIndexValues = [];
+                                }
                                 if (options.defaults) {
                                     if (options.bytes === String)
                                         object.contractId = "";
@@ -31349,10 +31353,9 @@ $root.org = (function() {
                                     }
                                     object.documentTypeName = "";
                                     object.indexName = "";
-                                    object.resultType = options.enums === String ? "DOCUMENTS" : 0;
-                                    object.allowIncludeLockedAndAbstainingVoteTally = false;
-                                    object.startAtIdentifierInfo = null;
+                                    object.startAtValueInfo = null;
                                     object.count = 0;
+                                    object.orderAscending = false;
                                     object.prove = false;
                                 }
                                 if (message.contractId != null && message.hasOwnProperty("contractId"))
@@ -31361,54 +31364,57 @@ $root.org = (function() {
                                     object.documentTypeName = message.documentTypeName;
                                 if (message.indexName != null && message.hasOwnProperty("indexName"))
                                     object.indexName = message.indexName;
-                                if (message.indexValues && message.indexValues.length) {
-                                    object.indexValues = [];
-                                    for (var j = 0; j < message.indexValues.length; ++j)
-                                        object.indexValues[j] = options.bytes === String ? $util.base64.encode(message.indexValues[j], 0, message.indexValues[j].length) : options.bytes === Array ? Array.prototype.slice.call(message.indexValues[j]) : message.indexValues[j];
+                                if (message.startIndexValues && message.startIndexValues.length) {
+                                    object.startIndexValues = [];
+                                    for (var j = 0; j < message.startIndexValues.length; ++j)
+                                        object.startIndexValues[j] = options.bytes === String ? $util.base64.encode(message.startIndexValues[j], 0, message.startIndexValues[j].length) : options.bytes === Array ? Array.prototype.slice.call(message.startIndexValues[j]) : message.startIndexValues[j];
                                 }
-                                if (message.resultType != null && message.hasOwnProperty("resultType"))
-                                    object.resultType = options.enums === String ? $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.ResultType[message.resultType] : message.resultType;
-                                if (message.allowIncludeLockedAndAbstainingVoteTally != null && message.hasOwnProperty("allowIncludeLockedAndAbstainingVoteTally"))
-                                    object.allowIncludeLockedAndAbstainingVoteTally = message.allowIncludeLockedAndAbstainingVoteTally;
-                                if (message.startAtIdentifierInfo != null && message.hasOwnProperty("startAtIdentifierInfo"))
-                                    object.startAtIdentifierInfo = $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.toObject(message.startAtIdentifierInfo, options);
+                                if (message.endIndexValues && message.endIndexValues.length) {
+                                    object.endIndexValues = [];
+                                    for (var j = 0; j < message.endIndexValues.length; ++j)
+                                        object.endIndexValues[j] = options.bytes === String ? $util.base64.encode(message.endIndexValues[j], 0, message.endIndexValues[j].length) : options.bytes === Array ? Array.prototype.slice.call(message.endIndexValues[j]) : message.endIndexValues[j];
+                                }
+                                if (message.startAtValueInfo != null && message.hasOwnProperty("startAtValueInfo"))
+                                    object.startAtValueInfo = $root.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.toObject(message.startAtValueInfo, options);
                                 if (message.count != null && message.hasOwnProperty("count"))
                                     object.count = message.count;
+                                if (message.orderAscending != null && message.hasOwnProperty("orderAscending"))
+                                    object.orderAscending = message.orderAscending;
                                 if (message.prove != null && message.hasOwnProperty("prove"))
                                     object.prove = message.prove;
                                 return object;
                             };
 
                             /**
-                             * Converts this GetContestedResourceVoteStateRequestV0 to JSON.
+                             * Converts this GetContestedResourcesRequestV0 to JSON.
                              * @function toJSON
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0
                              * @instance
                              * @returns {Object.} JSON object
                              */
-                            GetContestedResourceVoteStateRequestV0.prototype.toJSON = function toJSON() {
+                            GetContestedResourcesRequestV0.prototype.toJSON = function toJSON() {
                                 return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
                             };
 
-                            GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo = (function() {
+                            GetContestedResourcesRequestV0.StartAtValueInfo = (function() {
 
                                 /**
-                                 * Properties of a StartAtIdentifierInfo.
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0
-                                 * @interface IStartAtIdentifierInfo
-                                 * @property {Uint8Array|null} [startIdentifier] StartAtIdentifierInfo startIdentifier
-                                 * @property {boolean|null} [startIdentifierIncluded] StartAtIdentifierInfo startIdentifierIncluded
+                                 * Properties of a StartAtValueInfo.
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0
+                                 * @interface IStartAtValueInfo
+                                 * @property {Uint8Array|null} [startValue] StartAtValueInfo startValue
+                                 * @property {boolean|null} [startValueIncluded] StartAtValueInfo startValueIncluded
                                  */
 
                                 /**
-                                 * Constructs a new StartAtIdentifierInfo.
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0
-                                 * @classdesc Represents a StartAtIdentifierInfo.
-                                 * @implements IStartAtIdentifierInfo
+                                 * Constructs a new StartAtValueInfo.
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0
+                                 * @classdesc Represents a StartAtValueInfo.
+                                 * @implements IStartAtValueInfo
                                  * @constructor
-                                 * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.IStartAtIdentifierInfo=} [properties] Properties to set
+                                 * @param {org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.IStartAtValueInfo=} [properties] Properties to set
                                  */
-                                function StartAtIdentifierInfo(properties) {
+                                function StartAtValueInfo(properties) {
                                     if (properties)
                                         for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
                                             if (properties[keys[i]] != null)
@@ -31416,88 +31422,88 @@ $root.org = (function() {
                                 }
 
                                 /**
-                                 * StartAtIdentifierInfo startIdentifier.
-                                 * @member {Uint8Array} startIdentifier
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo
+                                 * StartAtValueInfo startValue.
+                                 * @member {Uint8Array} startValue
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo
                                  * @instance
                                  */
-                                StartAtIdentifierInfo.prototype.startIdentifier = $util.newBuffer([]);
+                                StartAtValueInfo.prototype.startValue = $util.newBuffer([]);
 
                                 /**
-                                 * StartAtIdentifierInfo startIdentifierIncluded.
-                                 * @member {boolean} startIdentifierIncluded
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo
+                                 * StartAtValueInfo startValueIncluded.
+                                 * @member {boolean} startValueIncluded
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo
                                  * @instance
                                  */
-                                StartAtIdentifierInfo.prototype.startIdentifierIncluded = false;
+                                StartAtValueInfo.prototype.startValueIncluded = false;
 
                                 /**
-                                 * Creates a new StartAtIdentifierInfo instance using the specified properties.
+                                 * Creates a new StartAtValueInfo instance using the specified properties.
                                  * @function create
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo
                                  * @static
-                                 * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.IStartAtIdentifierInfo=} [properties] Properties to set
-                                 * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo} StartAtIdentifierInfo instance
+                                 * @param {org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.IStartAtValueInfo=} [properties] Properties to set
+                                 * @returns {org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo} StartAtValueInfo instance
                                  */
-                                StartAtIdentifierInfo.create = function create(properties) {
-                                    return new StartAtIdentifierInfo(properties);
+                                StartAtValueInfo.create = function create(properties) {
+                                    return new StartAtValueInfo(properties);
                                 };
 
                                 /**
-                                 * Encodes the specified StartAtIdentifierInfo message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.verify|verify} messages.
+                                 * Encodes the specified StartAtValueInfo message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.verify|verify} messages.
                                  * @function encode
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo
                                  * @static
-                                 * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.IStartAtIdentifierInfo} message StartAtIdentifierInfo message or plain object to encode
+                                 * @param {org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.IStartAtValueInfo} message StartAtValueInfo message or plain object to encode
                                  * @param {$protobuf.Writer} [writer] Writer to encode to
                                  * @returns {$protobuf.Writer} Writer
                                  */
-                                StartAtIdentifierInfo.encode = function encode(message, writer) {
+                                StartAtValueInfo.encode = function encode(message, writer) {
                                     if (!writer)
                                         writer = $Writer.create();
-                                    if (message.startIdentifier != null && Object.hasOwnProperty.call(message, "startIdentifier"))
-                                        writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.startIdentifier);
-                                    if (message.startIdentifierIncluded != null && Object.hasOwnProperty.call(message, "startIdentifierIncluded"))
-                                        writer.uint32(/* id 2, wireType 0 =*/16).bool(message.startIdentifierIncluded);
+                                    if (message.startValue != null && Object.hasOwnProperty.call(message, "startValue"))
+                                        writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.startValue);
+                                    if (message.startValueIncluded != null && Object.hasOwnProperty.call(message, "startValueIncluded"))
+                                        writer.uint32(/* id 2, wireType 0 =*/16).bool(message.startValueIncluded);
                                     return writer;
                                 };
 
                                 /**
-                                 * Encodes the specified StartAtIdentifierInfo message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.verify|verify} messages.
+                                 * Encodes the specified StartAtValueInfo message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.verify|verify} messages.
                                  * @function encodeDelimited
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo
                                  * @static
-                                 * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.IStartAtIdentifierInfo} message StartAtIdentifierInfo message or plain object to encode
+                                 * @param {org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.IStartAtValueInfo} message StartAtValueInfo message or plain object to encode
                                  * @param {$protobuf.Writer} [writer] Writer to encode to
                                  * @returns {$protobuf.Writer} Writer
                                  */
-                                StartAtIdentifierInfo.encodeDelimited = function encodeDelimited(message, writer) {
+                                StartAtValueInfo.encodeDelimited = function encodeDelimited(message, writer) {
                                     return this.encode(message, writer).ldelim();
                                 };
 
                                 /**
-                                 * Decodes a StartAtIdentifierInfo message from the specified reader or buffer.
+                                 * Decodes a StartAtValueInfo message from the specified reader or buffer.
                                  * @function decode
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo
                                  * @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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo} StartAtIdentifierInfo
+                                 * @returns {org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo} StartAtValueInfo
                                  * @throws {Error} If the payload is not a reader or valid buffer
                                  * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                  */
-                                StartAtIdentifierInfo.decode = function decode(reader, length) {
+                                StartAtValueInfo.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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo();
+                                    var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo();
                                     while (reader.pos < end) {
                                         var tag = reader.uint32();
                                         switch (tag >>> 3) {
                                         case 1:
-                                            message.startIdentifier = reader.bytes();
+                                            message.startValue = reader.bytes();
                                             break;
                                         case 2:
-                                            message.startIdentifierIncluded = reader.bool();
+                                            message.startValueIncluded = reader.bool();
                                             break;
                                         default:
                                             reader.skipType(tag & 7);
@@ -31508,147 +31514,131 @@ $root.org = (function() {
                                 };
 
                                 /**
-                                 * Decodes a StartAtIdentifierInfo message from the specified reader or buffer, length delimited.
+                                 * Decodes a StartAtValueInfo message from the specified reader or buffer, length delimited.
                                  * @function decodeDelimited
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo
                                  * @static
                                  * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                                 * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo} StartAtIdentifierInfo
+                                 * @returns {org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo} StartAtValueInfo
                                  * @throws {Error} If the payload is not a reader or valid buffer
                                  * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                  */
-                                StartAtIdentifierInfo.decodeDelimited = function decodeDelimited(reader) {
+                                StartAtValueInfo.decodeDelimited = function decodeDelimited(reader) {
                                     if (!(reader instanceof $Reader))
                                         reader = new $Reader(reader);
                                     return this.decode(reader, reader.uint32());
                                 };
 
                                 /**
-                                 * Verifies a StartAtIdentifierInfo message.
+                                 * Verifies a StartAtValueInfo message.
                                  * @function verify
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo
                                  * @static
                                  * @param {Object.} message Plain object to verify
                                  * @returns {string|null} `null` if valid, otherwise the reason why it is not
                                  */
-                                StartAtIdentifierInfo.verify = function verify(message) {
+                                StartAtValueInfo.verify = function verify(message) {
                                     if (typeof message !== "object" || message === null)
                                         return "object expected";
-                                    if (message.startIdentifier != null && message.hasOwnProperty("startIdentifier"))
-                                        if (!(message.startIdentifier && typeof message.startIdentifier.length === "number" || $util.isString(message.startIdentifier)))
-                                            return "startIdentifier: buffer expected";
-                                    if (message.startIdentifierIncluded != null && message.hasOwnProperty("startIdentifierIncluded"))
-                                        if (typeof message.startIdentifierIncluded !== "boolean")
-                                            return "startIdentifierIncluded: boolean expected";
+                                    if (message.startValue != null && message.hasOwnProperty("startValue"))
+                                        if (!(message.startValue && typeof message.startValue.length === "number" || $util.isString(message.startValue)))
+                                            return "startValue: buffer expected";
+                                    if (message.startValueIncluded != null && message.hasOwnProperty("startValueIncluded"))
+                                        if (typeof message.startValueIncluded !== "boolean")
+                                            return "startValueIncluded: boolean expected";
                                     return null;
                                 };
 
                                 /**
-                                 * Creates a StartAtIdentifierInfo message from a plain object. Also converts values to their respective internal types.
+                                 * Creates a StartAtValueInfo message from a plain object. Also converts values to their respective internal types.
                                  * @function fromObject
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo
                                  * @static
                                  * @param {Object.} object Plain object
-                                 * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo} StartAtIdentifierInfo
+                                 * @returns {org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo} StartAtValueInfo
                                  */
-                                StartAtIdentifierInfo.fromObject = function fromObject(object) {
-                                    if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo)
+                                StartAtValueInfo.fromObject = function fromObject(object) {
+                                    if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo)
                                         return object;
-                                    var message = new $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo();
-                                    if (object.startIdentifier != null)
-                                        if (typeof object.startIdentifier === "string")
-                                            $util.base64.decode(object.startIdentifier, message.startIdentifier = $util.newBuffer($util.base64.length(object.startIdentifier)), 0);
-                                        else if (object.startIdentifier.length >= 0)
-                                            message.startIdentifier = object.startIdentifier;
-                                    if (object.startIdentifierIncluded != null)
-                                        message.startIdentifierIncluded = Boolean(object.startIdentifierIncluded);
+                                    var message = new $root.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo();
+                                    if (object.startValue != null)
+                                        if (typeof object.startValue === "string")
+                                            $util.base64.decode(object.startValue, message.startValue = $util.newBuffer($util.base64.length(object.startValue)), 0);
+                                        else if (object.startValue.length >= 0)
+                                            message.startValue = object.startValue;
+                                    if (object.startValueIncluded != null)
+                                        message.startValueIncluded = Boolean(object.startValueIncluded);
                                     return message;
                                 };
 
                                 /**
-                                 * Creates a plain object from a StartAtIdentifierInfo message. Also converts values to other types if specified.
+                                 * Creates a plain object from a StartAtValueInfo message. Also converts values to other types if specified.
                                  * @function toObject
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo
                                  * @static
-                                 * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo} message StartAtIdentifierInfo
+                                 * @param {org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo} message StartAtValueInfo
                                  * @param {$protobuf.IConversionOptions} [options] Conversion options
                                  * @returns {Object.} Plain object
                                  */
-                                StartAtIdentifierInfo.toObject = function toObject(message, options) {
+                                StartAtValueInfo.toObject = function toObject(message, options) {
                                     if (!options)
                                         options = {};
                                     var object = {};
                                     if (options.defaults) {
                                         if (options.bytes === String)
-                                            object.startIdentifier = "";
+                                            object.startValue = "";
                                         else {
-                                            object.startIdentifier = [];
+                                            object.startValue = [];
                                             if (options.bytes !== Array)
-                                                object.startIdentifier = $util.newBuffer(object.startIdentifier);
+                                                object.startValue = $util.newBuffer(object.startValue);
                                         }
-                                        object.startIdentifierIncluded = false;
+                                        object.startValueIncluded = false;
                                     }
-                                    if (message.startIdentifier != null && message.hasOwnProperty("startIdentifier"))
-                                        object.startIdentifier = options.bytes === String ? $util.base64.encode(message.startIdentifier, 0, message.startIdentifier.length) : options.bytes === Array ? Array.prototype.slice.call(message.startIdentifier) : message.startIdentifier;
-                                    if (message.startIdentifierIncluded != null && message.hasOwnProperty("startIdentifierIncluded"))
-                                        object.startIdentifierIncluded = message.startIdentifierIncluded;
+                                    if (message.startValue != null && message.hasOwnProperty("startValue"))
+                                        object.startValue = options.bytes === String ? $util.base64.encode(message.startValue, 0, message.startValue.length) : options.bytes === Array ? Array.prototype.slice.call(message.startValue) : message.startValue;
+                                    if (message.startValueIncluded != null && message.hasOwnProperty("startValueIncluded"))
+                                        object.startValueIncluded = message.startValueIncluded;
                                     return object;
                                 };
 
                                 /**
-                                 * Converts this StartAtIdentifierInfo to JSON.
+                                 * Converts this StartAtValueInfo to JSON.
                                  * @function toJSON
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo
                                  * @instance
                                  * @returns {Object.} JSON object
                                  */
-                                StartAtIdentifierInfo.prototype.toJSON = function toJSON() {
+                                StartAtValueInfo.prototype.toJSON = function toJSON() {
                                     return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
                                 };
 
-                                return StartAtIdentifierInfo;
-                            })();
-
-                            /**
-                             * ResultType enum.
-                             * @name org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.ResultType
-                             * @enum {number}
-                             * @property {number} DOCUMENTS=0 DOCUMENTS value
-                             * @property {number} VOTE_TALLY=1 VOTE_TALLY value
-                             * @property {number} DOCUMENTS_AND_VOTE_TALLY=2 DOCUMENTS_AND_VOTE_TALLY value
-                             */
-                            GetContestedResourceVoteStateRequestV0.ResultType = (function() {
-                                var valuesById = {}, values = Object.create(valuesById);
-                                values[valuesById[0] = "DOCUMENTS"] = 0;
-                                values[valuesById[1] = "VOTE_TALLY"] = 1;
-                                values[valuesById[2] = "DOCUMENTS_AND_VOTE_TALLY"] = 2;
-                                return values;
+                                return StartAtValueInfo;
                             })();
 
-                            return GetContestedResourceVoteStateRequestV0;
+                            return GetContestedResourcesRequestV0;
                         })();
 
-                        return GetContestedResourceVoteStateRequest;
+                        return GetContestedResourcesRequest;
                     })();
 
-                    v0.GetContestedResourceVoteStateResponse = (function() {
+                    v0.GetContestedResourcesResponse = (function() {
 
                         /**
-                         * Properties of a GetContestedResourceVoteStateResponse.
+                         * Properties of a GetContestedResourcesResponse.
                          * @memberof org.dash.platform.dapi.v0
-                         * @interface IGetContestedResourceVoteStateResponse
-                         * @property {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.IGetContestedResourceVoteStateResponseV0|null} [v0] GetContestedResourceVoteStateResponse v0
+                         * @interface IGetContestedResourcesResponse
+                         * @property {org.dash.platform.dapi.v0.GetContestedResourcesResponse.IGetContestedResourcesResponseV0|null} [v0] GetContestedResourcesResponse v0
                          */
 
                         /**
-                         * Constructs a new GetContestedResourceVoteStateResponse.
+                         * Constructs a new GetContestedResourcesResponse.
                          * @memberof org.dash.platform.dapi.v0
-                         * @classdesc Represents a GetContestedResourceVoteStateResponse.
-                         * @implements IGetContestedResourceVoteStateResponse
+                         * @classdesc Represents a GetContestedResourcesResponse.
+                         * @implements IGetContestedResourcesResponse
                          * @constructor
-                         * @param {org.dash.platform.dapi.v0.IGetContestedResourceVoteStateResponse=} [properties] Properties to set
+                         * @param {org.dash.platform.dapi.v0.IGetContestedResourcesResponse=} [properties] Properties to set
                          */
-                        function GetContestedResourceVoteStateResponse(properties) {
+                        function GetContestedResourcesResponse(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
                                     if (properties[keys[i]] != null)
@@ -31656,89 +31646,89 @@ $root.org = (function() {
                         }
 
                         /**
-                         * GetContestedResourceVoteStateResponse v0.
-                         * @member {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.IGetContestedResourceVoteStateResponseV0|null|undefined} v0
-                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse
+                         * GetContestedResourcesResponse v0.
+                         * @member {org.dash.platform.dapi.v0.GetContestedResourcesResponse.IGetContestedResourcesResponseV0|null|undefined} v0
+                         * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse
                          * @instance
                          */
-                        GetContestedResourceVoteStateResponse.prototype.v0 = null;
+                        GetContestedResourcesResponse.prototype.v0 = null;
 
                         // OneOf field names bound to virtual getters and setters
                         var $oneOfFields;
 
                         /**
-                         * GetContestedResourceVoteStateResponse version.
+                         * GetContestedResourcesResponse version.
                          * @member {"v0"|undefined} version
-                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse
+                         * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse
                          * @instance
                          */
-                        Object.defineProperty(GetContestedResourceVoteStateResponse.prototype, "version", {
+                        Object.defineProperty(GetContestedResourcesResponse.prototype, "version", {
                             get: $util.oneOfGetter($oneOfFields = ["v0"]),
                             set: $util.oneOfSetter($oneOfFields)
                         });
 
                         /**
-                         * Creates a new GetContestedResourceVoteStateResponse instance using the specified properties.
+                         * Creates a new GetContestedResourcesResponse instance using the specified properties.
                          * @function create
-                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse
+                         * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse
                          * @static
-                         * @param {org.dash.platform.dapi.v0.IGetContestedResourceVoteStateResponse=} [properties] Properties to set
-                         * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse} GetContestedResourceVoteStateResponse instance
+                         * @param {org.dash.platform.dapi.v0.IGetContestedResourcesResponse=} [properties] Properties to set
+                         * @returns {org.dash.platform.dapi.v0.GetContestedResourcesResponse} GetContestedResourcesResponse instance
                          */
-                        GetContestedResourceVoteStateResponse.create = function create(properties) {
-                            return new GetContestedResourceVoteStateResponse(properties);
+                        GetContestedResourcesResponse.create = function create(properties) {
+                            return new GetContestedResourcesResponse(properties);
                         };
 
                         /**
-                         * Encodes the specified GetContestedResourceVoteStateResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.verify|verify} messages.
+                         * Encodes the specified GetContestedResourcesResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourcesResponse.verify|verify} messages.
                          * @function encode
-                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse
+                         * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse
                          * @static
-                         * @param {org.dash.platform.dapi.v0.IGetContestedResourceVoteStateResponse} message GetContestedResourceVoteStateResponse message or plain object to encode
+                         * @param {org.dash.platform.dapi.v0.IGetContestedResourcesResponse} message GetContestedResourcesResponse message or plain object to encode
                          * @param {$protobuf.Writer} [writer] Writer to encode to
                          * @returns {$protobuf.Writer} Writer
                          */
-                        GetContestedResourceVoteStateResponse.encode = function encode(message, writer) {
+                        GetContestedResourcesResponse.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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+                                $root.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
                             return writer;
                         };
 
                         /**
-                         * Encodes the specified GetContestedResourceVoteStateResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.verify|verify} messages.
+                         * Encodes the specified GetContestedResourcesResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourcesResponse.verify|verify} messages.
                          * @function encodeDelimited
-                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse
+                         * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse
                          * @static
-                         * @param {org.dash.platform.dapi.v0.IGetContestedResourceVoteStateResponse} message GetContestedResourceVoteStateResponse message or plain object to encode
+                         * @param {org.dash.platform.dapi.v0.IGetContestedResourcesResponse} message GetContestedResourcesResponse message or plain object to encode
                          * @param {$protobuf.Writer} [writer] Writer to encode to
                          * @returns {$protobuf.Writer} Writer
                          */
-                        GetContestedResourceVoteStateResponse.encodeDelimited = function encodeDelimited(message, writer) {
+                        GetContestedResourcesResponse.encodeDelimited = function encodeDelimited(message, writer) {
                             return this.encode(message, writer).ldelim();
                         };
 
                         /**
-                         * Decodes a GetContestedResourceVoteStateResponse message from the specified reader or buffer.
+                         * Decodes a GetContestedResourcesResponse message from the specified reader or buffer.
                          * @function decode
-                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse
+                         * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse
                          * @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.GetContestedResourceVoteStateResponse} GetContestedResourceVoteStateResponse
+                         * @returns {org.dash.platform.dapi.v0.GetContestedResourcesResponse} GetContestedResourcesResponse
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        GetContestedResourceVoteStateResponse.decode = function decode(reader, length) {
+                        GetContestedResourcesResponse.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.GetContestedResourceVoteStateResponse();
+                            var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetContestedResourcesResponse();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
                                 switch (tag >>> 3) {
                                 case 1:
-                                    message.v0 = $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.decode(reader, reader.uint32());
+                                    message.v0 = $root.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.decode(reader, reader.uint32());
                                     break;
                                 default:
                                     reader.skipType(tag & 7);
@@ -31749,37 +31739,37 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Decodes a GetContestedResourceVoteStateResponse message from the specified reader or buffer, length delimited.
+                         * Decodes a GetContestedResourcesResponse message from the specified reader or buffer, length delimited.
                          * @function decodeDelimited
-                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse
+                         * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse
                          * @static
                          * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                         * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse} GetContestedResourceVoteStateResponse
+                         * @returns {org.dash.platform.dapi.v0.GetContestedResourcesResponse} GetContestedResourcesResponse
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        GetContestedResourceVoteStateResponse.decodeDelimited = function decodeDelimited(reader) {
+                        GetContestedResourcesResponse.decodeDelimited = function decodeDelimited(reader) {
                             if (!(reader instanceof $Reader))
                                 reader = new $Reader(reader);
                             return this.decode(reader, reader.uint32());
                         };
 
                         /**
-                         * Verifies a GetContestedResourceVoteStateResponse message.
+                         * Verifies a GetContestedResourcesResponse message.
                          * @function verify
-                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse
+                         * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse
                          * @static
                          * @param {Object.} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        GetContestedResourceVoteStateResponse.verify = function verify(message) {
+                        GetContestedResourcesResponse.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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.verify(message.v0);
+                                    var error = $root.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.verify(message.v0);
                                     if (error)
                                         return "v0." + error;
                                 }
@@ -31788,40 +31778,40 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Creates a GetContestedResourceVoteStateResponse message from a plain object. Also converts values to their respective internal types.
+                         * Creates a GetContestedResourcesResponse message from a plain object. Also converts values to their respective internal types.
                          * @function fromObject
-                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse
+                         * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse
                          * @static
                          * @param {Object.} object Plain object
-                         * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse} GetContestedResourceVoteStateResponse
+                         * @returns {org.dash.platform.dapi.v0.GetContestedResourcesResponse} GetContestedResourcesResponse
                          */
-                        GetContestedResourceVoteStateResponse.fromObject = function fromObject(object) {
-                            if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse)
+                        GetContestedResourcesResponse.fromObject = function fromObject(object) {
+                            if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourcesResponse)
                                 return object;
-                            var message = new $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse();
+                            var message = new $root.org.dash.platform.dapi.v0.GetContestedResourcesResponse();
                             if (object.v0 != null) {
                                 if (typeof object.v0 !== "object")
-                                    throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.v0: object expected");
-                                message.v0 = $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.fromObject(object.v0);
+                                    throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourcesResponse.v0: object expected");
+                                message.v0 = $root.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.fromObject(object.v0);
                             }
                             return message;
                         };
 
                         /**
-                         * Creates a plain object from a GetContestedResourceVoteStateResponse message. Also converts values to other types if specified.
+                         * Creates a plain object from a GetContestedResourcesResponse message. Also converts values to other types if specified.
                          * @function toObject
-                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse
+                         * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse
                          * @static
-                         * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse} message GetContestedResourceVoteStateResponse
+                         * @param {org.dash.platform.dapi.v0.GetContestedResourcesResponse} message GetContestedResourcesResponse
                          * @param {$protobuf.IConversionOptions} [options] Conversion options
                          * @returns {Object.} Plain object
                          */
-                        GetContestedResourceVoteStateResponse.toObject = function toObject(message, options) {
+                        GetContestedResourcesResponse.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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.toObject(message.v0, options);
+                                object.v0 = $root.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.toObject(message.v0, options);
                                 if (options.oneofs)
                                     object.version = "v0";
                             }
@@ -31829,36 +31819,36 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Converts this GetContestedResourceVoteStateResponse to JSON.
+                         * Converts this GetContestedResourcesResponse to JSON.
                          * @function toJSON
-                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse
+                         * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse
                          * @instance
                          * @returns {Object.} JSON object
                          */
-                        GetContestedResourceVoteStateResponse.prototype.toJSON = function toJSON() {
+                        GetContestedResourcesResponse.prototype.toJSON = function toJSON() {
                             return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
                         };
 
-                        GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0 = (function() {
+                        GetContestedResourcesResponse.GetContestedResourcesResponseV0 = (function() {
 
                             /**
-                             * Properties of a GetContestedResourceVoteStateResponseV0.
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse
-                             * @interface IGetContestedResourceVoteStateResponseV0
-                             * @property {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.IContestedResourceContenders|null} [contestedResourceContenders] GetContestedResourceVoteStateResponseV0 contestedResourceContenders
-                             * @property {org.dash.platform.dapi.v0.IProof|null} [proof] GetContestedResourceVoteStateResponseV0 proof
-                             * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetContestedResourceVoteStateResponseV0 metadata
+                             * Properties of a GetContestedResourcesResponseV0.
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse
+                             * @interface IGetContestedResourcesResponseV0
+                             * @property {org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.IContestedResourceValues|null} [contestedResourceValues] GetContestedResourcesResponseV0 contestedResourceValues
+                             * @property {org.dash.platform.dapi.v0.IProof|null} [proof] GetContestedResourcesResponseV0 proof
+                             * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetContestedResourcesResponseV0 metadata
                              */
 
                             /**
-                             * Constructs a new GetContestedResourceVoteStateResponseV0.
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse
-                             * @classdesc Represents a GetContestedResourceVoteStateResponseV0.
-                             * @implements IGetContestedResourceVoteStateResponseV0
+                             * Constructs a new GetContestedResourcesResponseV0.
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse
+                             * @classdesc Represents a GetContestedResourcesResponseV0.
+                             * @implements IGetContestedResourcesResponseV0
                              * @constructor
-                             * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.IGetContestedResourceVoteStateResponseV0=} [properties] Properties to set
+                             * @param {org.dash.platform.dapi.v0.GetContestedResourcesResponse.IGetContestedResourcesResponseV0=} [properties] Properties to set
                              */
-                            function GetContestedResourceVoteStateResponseV0(properties) {
+                            function GetContestedResourcesResponseV0(properties) {
                                 if (properties)
                                     for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
                                         if (properties[keys[i]] != null)
@@ -31866,69 +31856,69 @@ $root.org = (function() {
                             }
 
                             /**
-                             * GetContestedResourceVoteStateResponseV0 contestedResourceContenders.
-                             * @member {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.IContestedResourceContenders|null|undefined} contestedResourceContenders
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0
+                             * GetContestedResourcesResponseV0 contestedResourceValues.
+                             * @member {org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.IContestedResourceValues|null|undefined} contestedResourceValues
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0
                              * @instance
                              */
-                            GetContestedResourceVoteStateResponseV0.prototype.contestedResourceContenders = null;
+                            GetContestedResourcesResponseV0.prototype.contestedResourceValues = null;
 
                             /**
-                             * GetContestedResourceVoteStateResponseV0 proof.
+                             * GetContestedResourcesResponseV0 proof.
                              * @member {org.dash.platform.dapi.v0.IProof|null|undefined} proof
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0
                              * @instance
                              */
-                            GetContestedResourceVoteStateResponseV0.prototype.proof = null;
+                            GetContestedResourcesResponseV0.prototype.proof = null;
 
                             /**
-                             * GetContestedResourceVoteStateResponseV0 metadata.
+                             * GetContestedResourcesResponseV0 metadata.
                              * @member {org.dash.platform.dapi.v0.IResponseMetadata|null|undefined} metadata
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0
                              * @instance
                              */
-                            GetContestedResourceVoteStateResponseV0.prototype.metadata = null;
+                            GetContestedResourcesResponseV0.prototype.metadata = null;
 
                             // OneOf field names bound to virtual getters and setters
                             var $oneOfFields;
 
                             /**
-                             * GetContestedResourceVoteStateResponseV0 result.
-                             * @member {"contestedResourceContenders"|"proof"|undefined} result
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0
+                             * GetContestedResourcesResponseV0 result.
+                             * @member {"contestedResourceValues"|"proof"|undefined} result
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0
                              * @instance
                              */
-                            Object.defineProperty(GetContestedResourceVoteStateResponseV0.prototype, "result", {
-                                get: $util.oneOfGetter($oneOfFields = ["contestedResourceContenders", "proof"]),
+                            Object.defineProperty(GetContestedResourcesResponseV0.prototype, "result", {
+                                get: $util.oneOfGetter($oneOfFields = ["contestedResourceValues", "proof"]),
                                 set: $util.oneOfSetter($oneOfFields)
                             });
 
                             /**
-                             * Creates a new GetContestedResourceVoteStateResponseV0 instance using the specified properties.
+                             * Creates a new GetContestedResourcesResponseV0 instance using the specified properties.
                              * @function create
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.IGetContestedResourceVoteStateResponseV0=} [properties] Properties to set
-                             * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0} GetContestedResourceVoteStateResponseV0 instance
+                             * @param {org.dash.platform.dapi.v0.GetContestedResourcesResponse.IGetContestedResourcesResponseV0=} [properties] Properties to set
+                             * @returns {org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0} GetContestedResourcesResponseV0 instance
                              */
-                            GetContestedResourceVoteStateResponseV0.create = function create(properties) {
-                                return new GetContestedResourceVoteStateResponseV0(properties);
+                            GetContestedResourcesResponseV0.create = function create(properties) {
+                                return new GetContestedResourcesResponseV0(properties);
                             };
 
                             /**
-                             * Encodes the specified GetContestedResourceVoteStateResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.verify|verify} messages.
+                             * Encodes the specified GetContestedResourcesResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.verify|verify} messages.
                              * @function encode
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.IGetContestedResourceVoteStateResponseV0} message GetContestedResourceVoteStateResponseV0 message or plain object to encode
+                             * @param {org.dash.platform.dapi.v0.GetContestedResourcesResponse.IGetContestedResourcesResponseV0} message GetContestedResourcesResponseV0 message or plain object to encode
                              * @param {$protobuf.Writer} [writer] Writer to encode to
                              * @returns {$protobuf.Writer} Writer
                              */
-                            GetContestedResourceVoteStateResponseV0.encode = function encode(message, writer) {
+                            GetContestedResourcesResponseV0.encode = function encode(message, writer) {
                                 if (!writer)
                                     writer = $Writer.create();
-                                if (message.contestedResourceContenders != null && Object.hasOwnProperty.call(message, "contestedResourceContenders"))
-                                    $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.encode(message.contestedResourceContenders, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+                                if (message.contestedResourceValues != null && Object.hasOwnProperty.call(message, "contestedResourceValues"))
+                                    $root.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.encode(message.contestedResourceValues, 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"))
@@ -31937,38 +31927,38 @@ $root.org = (function() {
                             };
 
                             /**
-                             * Encodes the specified GetContestedResourceVoteStateResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.verify|verify} messages.
+                             * Encodes the specified GetContestedResourcesResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.verify|verify} messages.
                              * @function encodeDelimited
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.IGetContestedResourceVoteStateResponseV0} message GetContestedResourceVoteStateResponseV0 message or plain object to encode
+                             * @param {org.dash.platform.dapi.v0.GetContestedResourcesResponse.IGetContestedResourcesResponseV0} message GetContestedResourcesResponseV0 message or plain object to encode
                              * @param {$protobuf.Writer} [writer] Writer to encode to
                              * @returns {$protobuf.Writer} Writer
                              */
-                            GetContestedResourceVoteStateResponseV0.encodeDelimited = function encodeDelimited(message, writer) {
+                            GetContestedResourcesResponseV0.encodeDelimited = function encodeDelimited(message, writer) {
                                 return this.encode(message, writer).ldelim();
                             };
 
                             /**
-                             * Decodes a GetContestedResourceVoteStateResponseV0 message from the specified reader or buffer.
+                             * Decodes a GetContestedResourcesResponseV0 message from the specified reader or buffer.
                              * @function decode
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0
                              * @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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0} GetContestedResourceVoteStateResponseV0
+                             * @returns {org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0} GetContestedResourcesResponseV0
                              * @throws {Error} If the payload is not a reader or valid buffer
                              * @throws {$protobuf.util.ProtocolError} If required fields are missing
                              */
-                            GetContestedResourceVoteStateResponseV0.decode = function decode(reader, length) {
+                            GetContestedResourcesResponseV0.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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0();
+                                var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0();
                                 while (reader.pos < end) {
                                     var tag = reader.uint32();
                                     switch (tag >>> 3) {
                                     case 1:
-                                        message.contestedResourceContenders = $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.decode(reader, reader.uint32());
+                                        message.contestedResourceValues = $root.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.decode(reader, reader.uint32());
                                         break;
                                     case 2:
                                         message.proof = $root.org.dash.platform.dapi.v0.Proof.decode(reader, reader.uint32());
@@ -31985,39 +31975,39 @@ $root.org = (function() {
                             };
 
                             /**
-                             * Decodes a GetContestedResourceVoteStateResponseV0 message from the specified reader or buffer, length delimited.
+                             * Decodes a GetContestedResourcesResponseV0 message from the specified reader or buffer, length delimited.
                              * @function decodeDelimited
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0
                              * @static
                              * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                             * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0} GetContestedResourceVoteStateResponseV0
+                             * @returns {org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0} GetContestedResourcesResponseV0
                              * @throws {Error} If the payload is not a reader or valid buffer
                              * @throws {$protobuf.util.ProtocolError} If required fields are missing
                              */
-                            GetContestedResourceVoteStateResponseV0.decodeDelimited = function decodeDelimited(reader) {
+                            GetContestedResourcesResponseV0.decodeDelimited = function decodeDelimited(reader) {
                                 if (!(reader instanceof $Reader))
                                     reader = new $Reader(reader);
                                 return this.decode(reader, reader.uint32());
                             };
 
                             /**
-                             * Verifies a GetContestedResourceVoteStateResponseV0 message.
+                             * Verifies a GetContestedResourcesResponseV0 message.
                              * @function verify
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0
                              * @static
                              * @param {Object.} message Plain object to verify
                              * @returns {string|null} `null` if valid, otherwise the reason why it is not
                              */
-                            GetContestedResourceVoteStateResponseV0.verify = function verify(message) {
+                            GetContestedResourcesResponseV0.verify = function verify(message) {
                                 if (typeof message !== "object" || message === null)
                                     return "object expected";
                                 var properties = {};
-                                if (message.contestedResourceContenders != null && message.hasOwnProperty("contestedResourceContenders")) {
+                                if (message.contestedResourceValues != null && message.hasOwnProperty("contestedResourceValues")) {
                                     properties.result = 1;
                                     {
-                                        var error = $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.verify(message.contestedResourceContenders);
+                                        var error = $root.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.verify(message.contestedResourceValues);
                                         if (error)
-                                            return "contestedResourceContenders." + error;
+                                            return "contestedResourceValues." + error;
                                     }
                                 }
                                 if (message.proof != null && message.hasOwnProperty("proof")) {
@@ -32039,54 +32029,54 @@ $root.org = (function() {
                             };
 
                             /**
-                             * Creates a GetContestedResourceVoteStateResponseV0 message from a plain object. Also converts values to their respective internal types.
+                             * Creates a GetContestedResourcesResponseV0 message from a plain object. Also converts values to their respective internal types.
                              * @function fromObject
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0
                              * @static
                              * @param {Object.} object Plain object
-                             * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0} GetContestedResourceVoteStateResponseV0
+                             * @returns {org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0} GetContestedResourcesResponseV0
                              */
-                            GetContestedResourceVoteStateResponseV0.fromObject = function fromObject(object) {
-                                if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0)
+                            GetContestedResourcesResponseV0.fromObject = function fromObject(object) {
+                                if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0)
                                     return object;
-                                var message = new $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0();
-                                if (object.contestedResourceContenders != null) {
-                                    if (typeof object.contestedResourceContenders !== "object")
-                                        throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.contestedResourceContenders: object expected");
-                                    message.contestedResourceContenders = $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.fromObject(object.contestedResourceContenders);
+                                var message = new $root.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0();
+                                if (object.contestedResourceValues != null) {
+                                    if (typeof object.contestedResourceValues !== "object")
+                                        throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.contestedResourceValues: object expected");
+                                    message.contestedResourceValues = $root.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.fromObject(object.contestedResourceValues);
                                 }
                                 if (object.proof != null) {
                                     if (typeof object.proof !== "object")
-                                        throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.proof: object expected");
+                                        throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.metadata: object expected");
+                                        throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.metadata: object expected");
                                     message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.fromObject(object.metadata);
                                 }
                                 return message;
                             };
 
                             /**
-                             * Creates a plain object from a GetContestedResourceVoteStateResponseV0 message. Also converts values to other types if specified.
+                             * Creates a plain object from a GetContestedResourcesResponseV0 message. Also converts values to other types if specified.
                              * @function toObject
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0} message GetContestedResourceVoteStateResponseV0
+                             * @param {org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0} message GetContestedResourcesResponseV0
                              * @param {$protobuf.IConversionOptions} [options] Conversion options
                              * @returns {Object.} Plain object
                              */
-                            GetContestedResourceVoteStateResponseV0.toObject = function toObject(message, options) {
+                            GetContestedResourcesResponseV0.toObject = function toObject(message, options) {
                                 if (!options)
                                     options = {};
                                 var object = {};
                                 if (options.defaults)
                                     object.metadata = null;
-                                if (message.contestedResourceContenders != null && message.hasOwnProperty("contestedResourceContenders")) {
-                                    object.contestedResourceContenders = $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.toObject(message.contestedResourceContenders, options);
+                                if (message.contestedResourceValues != null && message.hasOwnProperty("contestedResourceValues")) {
+                                    object.contestedResourceValues = $root.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.toObject(message.contestedResourceValues, options);
                                     if (options.oneofs)
-                                        object.result = "contestedResourceContenders";
+                                        object.result = "contestedResourceValues";
                                 }
                                 if (message.proof != null && message.hasOwnProperty("proof")) {
                                     object.proof = $root.org.dash.platform.dapi.v0.Proof.toObject(message.proof, options);
@@ -32099,39 +32089,35 @@ $root.org = (function() {
                             };
 
                             /**
-                             * Converts this GetContestedResourceVoteStateResponseV0 to JSON.
+                             * Converts this GetContestedResourcesResponseV0 to JSON.
                              * @function toJSON
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0
                              * @instance
                              * @returns {Object.} JSON object
                              */
-                            GetContestedResourceVoteStateResponseV0.prototype.toJSON = function toJSON() {
+                            GetContestedResourcesResponseV0.prototype.toJSON = function toJSON() {
                                 return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
                             };
 
-                            GetContestedResourceVoteStateResponseV0.FinishedVoteInfo = (function() {
+                            GetContestedResourcesResponseV0.ContestedResourceValues = (function() {
 
                                 /**
-                                 * Properties of a FinishedVoteInfo.
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0
-                                 * @interface IFinishedVoteInfo
-                                 * @property {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.FinishedVoteOutcome|null} [finishedVoteOutcome] FinishedVoteInfo finishedVoteOutcome
-                                 * @property {Uint8Array|null} [wonByIdentityId] FinishedVoteInfo wonByIdentityId
-                                 * @property {number|Long|null} [finishedAtBlockHeight] FinishedVoteInfo finishedAtBlockHeight
-                                 * @property {number|null} [finishedAtCoreBlockHeight] FinishedVoteInfo finishedAtCoreBlockHeight
-                                 * @property {number|Long|null} [finishedAtBlockTimeMs] FinishedVoteInfo finishedAtBlockTimeMs
-                                 * @property {number|null} [finishedAtEpoch] FinishedVoteInfo finishedAtEpoch
+                                 * Properties of a ContestedResourceValues.
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0
+                                 * @interface IContestedResourceValues
+                                 * @property {Array.|null} [contestedResourceValues] ContestedResourceValues contestedResourceValues
                                  */
 
                                 /**
-                                 * Constructs a new FinishedVoteInfo.
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0
-                                 * @classdesc Represents a FinishedVoteInfo.
-                                 * @implements IFinishedVoteInfo
+                                 * Constructs a new ContestedResourceValues.
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0
+                                 * @classdesc Represents a ContestedResourceValues.
+                                 * @implements IContestedResourceValues
                                  * @constructor
-                                 * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.IFinishedVoteInfo=} [properties] Properties to set
+                                 * @param {org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.IContestedResourceValues=} [properties] Properties to set
                                  */
-                                function FinishedVoteInfo(properties) {
+                                function ContestedResourceValues(properties) {
+                                    this.contestedResourceValues = [];
                                     if (properties)
                                         for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
                                             if (properties[keys[i]] != null)
@@ -32139,140 +32125,78 @@ $root.org = (function() {
                                 }
 
                                 /**
-                                 * FinishedVoteInfo finishedVoteOutcome.
-                                 * @member {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.FinishedVoteOutcome} finishedVoteOutcome
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo
-                                 * @instance
-                                 */
-                                FinishedVoteInfo.prototype.finishedVoteOutcome = 0;
-
-                                /**
-                                 * FinishedVoteInfo wonByIdentityId.
-                                 * @member {Uint8Array} wonByIdentityId
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo
-                                 * @instance
-                                 */
-                                FinishedVoteInfo.prototype.wonByIdentityId = $util.newBuffer([]);
-
-                                /**
-                                 * FinishedVoteInfo finishedAtBlockHeight.
-                                 * @member {number|Long} finishedAtBlockHeight
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo
-                                 * @instance
-                                 */
-                                FinishedVoteInfo.prototype.finishedAtBlockHeight = $util.Long ? $util.Long.fromBits(0,0,true) : 0;
-
-                                /**
-                                 * FinishedVoteInfo finishedAtCoreBlockHeight.
-                                 * @member {number} finishedAtCoreBlockHeight
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo
-                                 * @instance
-                                 */
-                                FinishedVoteInfo.prototype.finishedAtCoreBlockHeight = 0;
-
-                                /**
-                                 * FinishedVoteInfo finishedAtBlockTimeMs.
-                                 * @member {number|Long} finishedAtBlockTimeMs
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo
-                                 * @instance
-                                 */
-                                FinishedVoteInfo.prototype.finishedAtBlockTimeMs = $util.Long ? $util.Long.fromBits(0,0,true) : 0;
-
-                                /**
-                                 * FinishedVoteInfo finishedAtEpoch.
-                                 * @member {number} finishedAtEpoch
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo
+                                 * ContestedResourceValues contestedResourceValues.
+                                 * @member {Array.} contestedResourceValues
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues
                                  * @instance
                                  */
-                                FinishedVoteInfo.prototype.finishedAtEpoch = 0;
+                                ContestedResourceValues.prototype.contestedResourceValues = $util.emptyArray;
 
                                 /**
-                                 * Creates a new FinishedVoteInfo instance using the specified properties.
+                                 * Creates a new ContestedResourceValues instance using the specified properties.
                                  * @function create
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues
                                  * @static
-                                 * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.IFinishedVoteInfo=} [properties] Properties to set
-                                 * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo} FinishedVoteInfo instance
+                                 * @param {org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.IContestedResourceValues=} [properties] Properties to set
+                                 * @returns {org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues} ContestedResourceValues instance
                                  */
-                                FinishedVoteInfo.create = function create(properties) {
-                                    return new FinishedVoteInfo(properties);
+                                ContestedResourceValues.create = function create(properties) {
+                                    return new ContestedResourceValues(properties);
                                 };
 
                                 /**
-                                 * Encodes the specified FinishedVoteInfo message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.verify|verify} messages.
+                                 * Encodes the specified ContestedResourceValues message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.verify|verify} messages.
                                  * @function encode
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues
                                  * @static
-                                 * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.IFinishedVoteInfo} message FinishedVoteInfo message or plain object to encode
+                                 * @param {org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.IContestedResourceValues} message ContestedResourceValues message or plain object to encode
                                  * @param {$protobuf.Writer} [writer] Writer to encode to
                                  * @returns {$protobuf.Writer} Writer
                                  */
-                                FinishedVoteInfo.encode = function encode(message, writer) {
+                                ContestedResourceValues.encode = function encode(message, writer) {
                                     if (!writer)
                                         writer = $Writer.create();
-                                    if (message.finishedVoteOutcome != null && Object.hasOwnProperty.call(message, "finishedVoteOutcome"))
-                                        writer.uint32(/* id 1, wireType 0 =*/8).int32(message.finishedVoteOutcome);
-                                    if (message.wonByIdentityId != null && Object.hasOwnProperty.call(message, "wonByIdentityId"))
-                                        writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.wonByIdentityId);
-                                    if (message.finishedAtBlockHeight != null && Object.hasOwnProperty.call(message, "finishedAtBlockHeight"))
-                                        writer.uint32(/* id 3, wireType 0 =*/24).uint64(message.finishedAtBlockHeight);
-                                    if (message.finishedAtCoreBlockHeight != null && Object.hasOwnProperty.call(message, "finishedAtCoreBlockHeight"))
-                                        writer.uint32(/* id 4, wireType 0 =*/32).uint32(message.finishedAtCoreBlockHeight);
-                                    if (message.finishedAtBlockTimeMs != null && Object.hasOwnProperty.call(message, "finishedAtBlockTimeMs"))
-                                        writer.uint32(/* id 5, wireType 0 =*/40).uint64(message.finishedAtBlockTimeMs);
-                                    if (message.finishedAtEpoch != null && Object.hasOwnProperty.call(message, "finishedAtEpoch"))
-                                        writer.uint32(/* id 6, wireType 0 =*/48).uint32(message.finishedAtEpoch);
+                                    if (message.contestedResourceValues != null && message.contestedResourceValues.length)
+                                        for (var i = 0; i < message.contestedResourceValues.length; ++i)
+                                            writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.contestedResourceValues[i]);
                                     return writer;
                                 };
 
                                 /**
-                                 * Encodes the specified FinishedVoteInfo message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.verify|verify} messages.
+                                 * Encodes the specified ContestedResourceValues message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.verify|verify} messages.
                                  * @function encodeDelimited
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues
                                  * @static
-                                 * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.IFinishedVoteInfo} message FinishedVoteInfo message or plain object to encode
+                                 * @param {org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.IContestedResourceValues} message ContestedResourceValues message or plain object to encode
                                  * @param {$protobuf.Writer} [writer] Writer to encode to
                                  * @returns {$protobuf.Writer} Writer
                                  */
-                                FinishedVoteInfo.encodeDelimited = function encodeDelimited(message, writer) {
+                                ContestedResourceValues.encodeDelimited = function encodeDelimited(message, writer) {
                                     return this.encode(message, writer).ldelim();
                                 };
 
                                 /**
-                                 * Decodes a FinishedVoteInfo message from the specified reader or buffer.
+                                 * Decodes a ContestedResourceValues message from the specified reader or buffer.
                                  * @function decode
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues
                                  * @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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo} FinishedVoteInfo
+                                 * @returns {org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues} ContestedResourceValues
                                  * @throws {Error} If the payload is not a reader or valid buffer
                                  * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                  */
-                                FinishedVoteInfo.decode = function decode(reader, length) {
+                                ContestedResourceValues.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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo();
+                                    var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues();
                                     while (reader.pos < end) {
                                         var tag = reader.uint32();
                                         switch (tag >>> 3) {
                                         case 1:
-                                            message.finishedVoteOutcome = reader.int32();
-                                            break;
-                                        case 2:
-                                            message.wonByIdentityId = reader.bytes();
-                                            break;
-                                        case 3:
-                                            message.finishedAtBlockHeight = reader.uint64();
-                                            break;
-                                        case 4:
-                                            message.finishedAtCoreBlockHeight = reader.uint32();
-                                            break;
-                                        case 5:
-                                            message.finishedAtBlockTimeMs = reader.uint64();
-                                            break;
-                                        case 6:
-                                            message.finishedAtEpoch = reader.uint32();
+                                            if (!(message.contestedResourceValues && message.contestedResourceValues.length))
+                                                message.contestedResourceValues = [];
+                                            message.contestedResourceValues.push(reader.bytes());
                                             break;
                                         default:
                                             reader.skipType(tag & 7);
@@ -32283,846 +32207,218 @@ $root.org = (function() {
                                 };
 
                                 /**
-                                 * Decodes a FinishedVoteInfo message from the specified reader or buffer, length delimited.
+                                 * Decodes a ContestedResourceValues message from the specified reader or buffer, length delimited.
                                  * @function decodeDelimited
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues
                                  * @static
                                  * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                                 * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo} FinishedVoteInfo
+                                 * @returns {org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues} ContestedResourceValues
                                  * @throws {Error} If the payload is not a reader or valid buffer
                                  * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                  */
-                                FinishedVoteInfo.decodeDelimited = function decodeDelimited(reader) {
+                                ContestedResourceValues.decodeDelimited = function decodeDelimited(reader) {
                                     if (!(reader instanceof $Reader))
                                         reader = new $Reader(reader);
                                     return this.decode(reader, reader.uint32());
                                 };
 
                                 /**
-                                 * Verifies a FinishedVoteInfo message.
+                                 * Verifies a ContestedResourceValues message.
                                  * @function verify
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues
                                  * @static
                                  * @param {Object.} message Plain object to verify
                                  * @returns {string|null} `null` if valid, otherwise the reason why it is not
                                  */
-                                FinishedVoteInfo.verify = function verify(message) {
+                                ContestedResourceValues.verify = function verify(message) {
                                     if (typeof message !== "object" || message === null)
                                         return "object expected";
-                                    if (message.finishedVoteOutcome != null && message.hasOwnProperty("finishedVoteOutcome"))
-                                        switch (message.finishedVoteOutcome) {
-                                        default:
-                                            return "finishedVoteOutcome: enum value expected";
-                                        case 0:
-                                        case 1:
-                                        case 2:
-                                            break;
-                                        }
-                                    if (message.wonByIdentityId != null && message.hasOwnProperty("wonByIdentityId"))
-                                        if (!(message.wonByIdentityId && typeof message.wonByIdentityId.length === "number" || $util.isString(message.wonByIdentityId)))
-                                            return "wonByIdentityId: buffer expected";
-                                    if (message.finishedAtBlockHeight != null && message.hasOwnProperty("finishedAtBlockHeight"))
-                                        if (!$util.isInteger(message.finishedAtBlockHeight) && !(message.finishedAtBlockHeight && $util.isInteger(message.finishedAtBlockHeight.low) && $util.isInteger(message.finishedAtBlockHeight.high)))
-                                            return "finishedAtBlockHeight: integer|Long expected";
-                                    if (message.finishedAtCoreBlockHeight != null && message.hasOwnProperty("finishedAtCoreBlockHeight"))
-                                        if (!$util.isInteger(message.finishedAtCoreBlockHeight))
-                                            return "finishedAtCoreBlockHeight: integer expected";
-                                    if (message.finishedAtBlockTimeMs != null && message.hasOwnProperty("finishedAtBlockTimeMs"))
-                                        if (!$util.isInteger(message.finishedAtBlockTimeMs) && !(message.finishedAtBlockTimeMs && $util.isInteger(message.finishedAtBlockTimeMs.low) && $util.isInteger(message.finishedAtBlockTimeMs.high)))
-                                            return "finishedAtBlockTimeMs: integer|Long expected";
-                                    if (message.finishedAtEpoch != null && message.hasOwnProperty("finishedAtEpoch"))
-                                        if (!$util.isInteger(message.finishedAtEpoch))
-                                            return "finishedAtEpoch: integer expected";
+                                    if (message.contestedResourceValues != null && message.hasOwnProperty("contestedResourceValues")) {
+                                        if (!Array.isArray(message.contestedResourceValues))
+                                            return "contestedResourceValues: array expected";
+                                        for (var i = 0; i < message.contestedResourceValues.length; ++i)
+                                            if (!(message.contestedResourceValues[i] && typeof message.contestedResourceValues[i].length === "number" || $util.isString(message.contestedResourceValues[i])))
+                                                return "contestedResourceValues: buffer[] expected";
+                                    }
                                     return null;
                                 };
 
                                 /**
-                                 * Creates a FinishedVoteInfo message from a plain object. Also converts values to their respective internal types.
+                                 * Creates a ContestedResourceValues message from a plain object. Also converts values to their respective internal types.
                                  * @function fromObject
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues
                                  * @static
                                  * @param {Object.} object Plain object
-                                 * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo} FinishedVoteInfo
+                                 * @returns {org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues} ContestedResourceValues
                                  */
-                                FinishedVoteInfo.fromObject = function fromObject(object) {
-                                    if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo)
+                                ContestedResourceValues.fromObject = function fromObject(object) {
+                                    if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues)
                                         return object;
-                                    var message = new $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo();
-                                    switch (object.finishedVoteOutcome) {
-                                    case "TOWARDS_IDENTITY":
-                                    case 0:
-                                        message.finishedVoteOutcome = 0;
-                                        break;
-                                    case "LOCKED":
-                                    case 1:
-                                        message.finishedVoteOutcome = 1;
-                                        break;
-                                    case "NO_PREVIOUS_WINNER":
-                                    case 2:
-                                        message.finishedVoteOutcome = 2;
-                                        break;
+                                    var message = new $root.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues();
+                                    if (object.contestedResourceValues) {
+                                        if (!Array.isArray(object.contestedResourceValues))
+                                            throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.contestedResourceValues: array expected");
+                                        message.contestedResourceValues = [];
+                                        for (var i = 0; i < object.contestedResourceValues.length; ++i)
+                                            if (typeof object.contestedResourceValues[i] === "string")
+                                                $util.base64.decode(object.contestedResourceValues[i], message.contestedResourceValues[i] = $util.newBuffer($util.base64.length(object.contestedResourceValues[i])), 0);
+                                            else if (object.contestedResourceValues[i].length >= 0)
+                                                message.contestedResourceValues[i] = object.contestedResourceValues[i];
                                     }
-                                    if (object.wonByIdentityId != null)
-                                        if (typeof object.wonByIdentityId === "string")
-                                            $util.base64.decode(object.wonByIdentityId, message.wonByIdentityId = $util.newBuffer($util.base64.length(object.wonByIdentityId)), 0);
-                                        else if (object.wonByIdentityId.length >= 0)
-                                            message.wonByIdentityId = object.wonByIdentityId;
-                                    if (object.finishedAtBlockHeight != null)
-                                        if ($util.Long)
-                                            (message.finishedAtBlockHeight = $util.Long.fromValue(object.finishedAtBlockHeight)).unsigned = true;
-                                        else if (typeof object.finishedAtBlockHeight === "string")
-                                            message.finishedAtBlockHeight = parseInt(object.finishedAtBlockHeight, 10);
-                                        else if (typeof object.finishedAtBlockHeight === "number")
-                                            message.finishedAtBlockHeight = object.finishedAtBlockHeight;
-                                        else if (typeof object.finishedAtBlockHeight === "object")
-                                            message.finishedAtBlockHeight = new $util.LongBits(object.finishedAtBlockHeight.low >>> 0, object.finishedAtBlockHeight.high >>> 0).toNumber(true);
-                                    if (object.finishedAtCoreBlockHeight != null)
-                                        message.finishedAtCoreBlockHeight = object.finishedAtCoreBlockHeight >>> 0;
-                                    if (object.finishedAtBlockTimeMs != null)
-                                        if ($util.Long)
-                                            (message.finishedAtBlockTimeMs = $util.Long.fromValue(object.finishedAtBlockTimeMs)).unsigned = true;
-                                        else if (typeof object.finishedAtBlockTimeMs === "string")
-                                            message.finishedAtBlockTimeMs = parseInt(object.finishedAtBlockTimeMs, 10);
-                                        else if (typeof object.finishedAtBlockTimeMs === "number")
-                                            message.finishedAtBlockTimeMs = object.finishedAtBlockTimeMs;
-                                        else if (typeof object.finishedAtBlockTimeMs === "object")
-                                            message.finishedAtBlockTimeMs = new $util.LongBits(object.finishedAtBlockTimeMs.low >>> 0, object.finishedAtBlockTimeMs.high >>> 0).toNumber(true);
-                                    if (object.finishedAtEpoch != null)
-                                        message.finishedAtEpoch = object.finishedAtEpoch >>> 0;
                                     return message;
                                 };
 
                                 /**
-                                 * Creates a plain object from a FinishedVoteInfo message. Also converts values to other types if specified.
+                                 * Creates a plain object from a ContestedResourceValues message. Also converts values to other types if specified.
                                  * @function toObject
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues
                                  * @static
-                                 * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo} message FinishedVoteInfo
+                                 * @param {org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues} message ContestedResourceValues
                                  * @param {$protobuf.IConversionOptions} [options] Conversion options
                                  * @returns {Object.} Plain object
                                  */
-                                FinishedVoteInfo.toObject = function toObject(message, options) {
+                                ContestedResourceValues.toObject = function toObject(message, options) {
                                     if (!options)
                                         options = {};
                                     var object = {};
-                                    if (options.defaults) {
-                                        object.finishedVoteOutcome = options.enums === String ? "TOWARDS_IDENTITY" : 0;
-                                        if (options.bytes === String)
-                                            object.wonByIdentityId = "";
-                                        else {
-                                            object.wonByIdentityId = [];
-                                            if (options.bytes !== Array)
-                                                object.wonByIdentityId = $util.newBuffer(object.wonByIdentityId);
-                                        }
-                                        if ($util.Long) {
-                                            var long = new $util.Long(0, 0, true);
-                                            object.finishedAtBlockHeight = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;
-                                        } else
-                                            object.finishedAtBlockHeight = options.longs === String ? "0" : 0;
-                                        object.finishedAtCoreBlockHeight = 0;
-                                        if ($util.Long) {
-                                            var long = new $util.Long(0, 0, true);
-                                            object.finishedAtBlockTimeMs = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;
-                                        } else
-                                            object.finishedAtBlockTimeMs = options.longs === String ? "0" : 0;
-                                        object.finishedAtEpoch = 0;
+                                    if (options.arrays || options.defaults)
+                                        object.contestedResourceValues = [];
+                                    if (message.contestedResourceValues && message.contestedResourceValues.length) {
+                                        object.contestedResourceValues = [];
+                                        for (var j = 0; j < message.contestedResourceValues.length; ++j)
+                                            object.contestedResourceValues[j] = options.bytes === String ? $util.base64.encode(message.contestedResourceValues[j], 0, message.contestedResourceValues[j].length) : options.bytes === Array ? Array.prototype.slice.call(message.contestedResourceValues[j]) : message.contestedResourceValues[j];
                                     }
-                                    if (message.finishedVoteOutcome != null && message.hasOwnProperty("finishedVoteOutcome"))
-                                        object.finishedVoteOutcome = options.enums === String ? $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.FinishedVoteOutcome[message.finishedVoteOutcome] : message.finishedVoteOutcome;
-                                    if (message.wonByIdentityId != null && message.hasOwnProperty("wonByIdentityId"))
-                                        object.wonByIdentityId = options.bytes === String ? $util.base64.encode(message.wonByIdentityId, 0, message.wonByIdentityId.length) : options.bytes === Array ? Array.prototype.slice.call(message.wonByIdentityId) : message.wonByIdentityId;
-                                    if (message.finishedAtBlockHeight != null && message.hasOwnProperty("finishedAtBlockHeight"))
-                                        if (typeof message.finishedAtBlockHeight === "number")
-                                            object.finishedAtBlockHeight = options.longs === String ? String(message.finishedAtBlockHeight) : message.finishedAtBlockHeight;
-                                        else
-                                            object.finishedAtBlockHeight = options.longs === String ? $util.Long.prototype.toString.call(message.finishedAtBlockHeight) : options.longs === Number ? new $util.LongBits(message.finishedAtBlockHeight.low >>> 0, message.finishedAtBlockHeight.high >>> 0).toNumber(true) : message.finishedAtBlockHeight;
-                                    if (message.finishedAtCoreBlockHeight != null && message.hasOwnProperty("finishedAtCoreBlockHeight"))
-                                        object.finishedAtCoreBlockHeight = message.finishedAtCoreBlockHeight;
-                                    if (message.finishedAtBlockTimeMs != null && message.hasOwnProperty("finishedAtBlockTimeMs"))
-                                        if (typeof message.finishedAtBlockTimeMs === "number")
-                                            object.finishedAtBlockTimeMs = options.longs === String ? String(message.finishedAtBlockTimeMs) : message.finishedAtBlockTimeMs;
-                                        else
-                                            object.finishedAtBlockTimeMs = options.longs === String ? $util.Long.prototype.toString.call(message.finishedAtBlockTimeMs) : options.longs === Number ? new $util.LongBits(message.finishedAtBlockTimeMs.low >>> 0, message.finishedAtBlockTimeMs.high >>> 0).toNumber(true) : message.finishedAtBlockTimeMs;
-                                    if (message.finishedAtEpoch != null && message.hasOwnProperty("finishedAtEpoch"))
-                                        object.finishedAtEpoch = message.finishedAtEpoch;
                                     return object;
                                 };
 
                                 /**
-                                 * Converts this FinishedVoteInfo to JSON.
+                                 * Converts this ContestedResourceValues to JSON.
                                  * @function toJSON
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues
                                  * @instance
                                  * @returns {Object.} JSON object
                                  */
-                                FinishedVoteInfo.prototype.toJSON = function toJSON() {
+                                ContestedResourceValues.prototype.toJSON = function toJSON() {
                                     return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
                                 };
 
-                                /**
-                                 * FinishedVoteOutcome enum.
-                                 * @name org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.FinishedVoteOutcome
-                                 * @enum {number}
-                                 * @property {number} TOWARDS_IDENTITY=0 TOWARDS_IDENTITY value
-                                 * @property {number} LOCKED=1 LOCKED value
-                                 * @property {number} NO_PREVIOUS_WINNER=2 NO_PREVIOUS_WINNER value
-                                 */
-                                FinishedVoteInfo.FinishedVoteOutcome = (function() {
-                                    var valuesById = {}, values = Object.create(valuesById);
-                                    values[valuesById[0] = "TOWARDS_IDENTITY"] = 0;
-                                    values[valuesById[1] = "LOCKED"] = 1;
-                                    values[valuesById[2] = "NO_PREVIOUS_WINNER"] = 2;
-                                    return values;
-                                })();
-
-                                return FinishedVoteInfo;
+                                return ContestedResourceValues;
                             })();
 
-                            GetContestedResourceVoteStateResponseV0.ContestedResourceContenders = (function() {
-
-                                /**
-                                 * Properties of a ContestedResourceContenders.
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0
-                                 * @interface IContestedResourceContenders
-                                 * @property {Array.|null} [contenders] ContestedResourceContenders contenders
-                                 * @property {number|null} [abstainVoteTally] ContestedResourceContenders abstainVoteTally
-                                 * @property {number|null} [lockVoteTally] ContestedResourceContenders lockVoteTally
-                                 * @property {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.IFinishedVoteInfo|null} [finishedVoteInfo] ContestedResourceContenders finishedVoteInfo
-                                 */
+                            return GetContestedResourcesResponseV0;
+                        })();
 
-                                /**
-                                 * Constructs a new ContestedResourceContenders.
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0
-                                 * @classdesc Represents a ContestedResourceContenders.
-                                 * @implements IContestedResourceContenders
-                                 * @constructor
-                                 * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.IContestedResourceContenders=} [properties] Properties to set
-                                 */
-                                function ContestedResourceContenders(properties) {
-                                    this.contenders = [];
-                                    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 GetContestedResourcesResponse;
+                    })();
 
-                                /**
-                                 * ContestedResourceContenders contenders.
-                                 * @member {Array.} contenders
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders
-                                 * @instance
-                                 */
-                                ContestedResourceContenders.prototype.contenders = $util.emptyArray;
+                    v0.GetVotePollsByEndDateRequest = (function() {
 
-                                /**
-                                 * ContestedResourceContenders abstainVoteTally.
-                                 * @member {number} abstainVoteTally
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders
-                                 * @instance
-                                 */
-                                ContestedResourceContenders.prototype.abstainVoteTally = 0;
+                        /**
+                         * Properties of a GetVotePollsByEndDateRequest.
+                         * @memberof org.dash.platform.dapi.v0
+                         * @interface IGetVotePollsByEndDateRequest
+                         * @property {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.IGetVotePollsByEndDateRequestV0|null} [v0] GetVotePollsByEndDateRequest v0
+                         */
 
-                                /**
-                                 * ContestedResourceContenders lockVoteTally.
-                                 * @member {number} lockVoteTally
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders
-                                 * @instance
-                                 */
-                                ContestedResourceContenders.prototype.lockVoteTally = 0;
+                        /**
+                         * Constructs a new GetVotePollsByEndDateRequest.
+                         * @memberof org.dash.platform.dapi.v0
+                         * @classdesc Represents a GetVotePollsByEndDateRequest.
+                         * @implements IGetVotePollsByEndDateRequest
+                         * @constructor
+                         * @param {org.dash.platform.dapi.v0.IGetVotePollsByEndDateRequest=} [properties] Properties to set
+                         */
+                        function GetVotePollsByEndDateRequest(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]];
+                        }
 
-                                /**
-                                 * ContestedResourceContenders finishedVoteInfo.
-                                 * @member {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.IFinishedVoteInfo|null|undefined} finishedVoteInfo
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders
-                                 * @instance
-                                 */
-                                ContestedResourceContenders.prototype.finishedVoteInfo = null;
+                        /**
+                         * GetVotePollsByEndDateRequest v0.
+                         * @member {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.IGetVotePollsByEndDateRequestV0|null|undefined} v0
+                         * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest
+                         * @instance
+                         */
+                        GetVotePollsByEndDateRequest.prototype.v0 = null;
 
-                                /**
-                                 * Creates a new ContestedResourceContenders instance using the specified properties.
-                                 * @function create
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders
-                                 * @static
-                                 * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.IContestedResourceContenders=} [properties] Properties to set
-                                 * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders} ContestedResourceContenders instance
-                                 */
-                                ContestedResourceContenders.create = function create(properties) {
-                                    return new ContestedResourceContenders(properties);
-                                };
+                        // OneOf field names bound to virtual getters and setters
+                        var $oneOfFields;
 
-                                /**
-                                 * Encodes the specified ContestedResourceContenders message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.verify|verify} messages.
-                                 * @function encode
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders
-                                 * @static
-                                 * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.IContestedResourceContenders} message ContestedResourceContenders message or plain object to encode
-                                 * @param {$protobuf.Writer} [writer] Writer to encode to
-                                 * @returns {$protobuf.Writer} Writer
-                                 */
-                                ContestedResourceContenders.encode = function encode(message, writer) {
-                                    if (!writer)
-                                        writer = $Writer.create();
-                                    if (message.contenders != null && message.contenders.length)
-                                        for (var i = 0; i < message.contenders.length; ++i)
-                                            $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.encode(message.contenders[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
-                                    if (message.abstainVoteTally != null && Object.hasOwnProperty.call(message, "abstainVoteTally"))
-                                        writer.uint32(/* id 2, wireType 0 =*/16).uint32(message.abstainVoteTally);
-                                    if (message.lockVoteTally != null && Object.hasOwnProperty.call(message, "lockVoteTally"))
-                                        writer.uint32(/* id 3, wireType 0 =*/24).uint32(message.lockVoteTally);
-                                    if (message.finishedVoteInfo != null && Object.hasOwnProperty.call(message, "finishedVoteInfo"))
-                                        $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.encode(message.finishedVoteInfo, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim();
-                                    return writer;
-                                };
-
-                                /**
-                                 * Encodes the specified ContestedResourceContenders message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.verify|verify} messages.
-                                 * @function encodeDelimited
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders
-                                 * @static
-                                 * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.IContestedResourceContenders} message ContestedResourceContenders message or plain object to encode
-                                 * @param {$protobuf.Writer} [writer] Writer to encode to
-                                 * @returns {$protobuf.Writer} Writer
-                                 */
-                                ContestedResourceContenders.encodeDelimited = function encodeDelimited(message, writer) {
-                                    return this.encode(message, writer).ldelim();
-                                };
-
-                                /**
-                                 * Decodes a ContestedResourceContenders message from the specified reader or buffer.
-                                 * @function decode
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders
-                                 * @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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders} ContestedResourceContenders
-                                 * @throws {Error} If the payload is not a reader or valid buffer
-                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
-                                 */
-                                ContestedResourceContenders.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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders();
-                                    while (reader.pos < end) {
-                                        var tag = reader.uint32();
-                                        switch (tag >>> 3) {
-                                        case 1:
-                                            if (!(message.contenders && message.contenders.length))
-                                                message.contenders = [];
-                                            message.contenders.push($root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.decode(reader, reader.uint32()));
-                                            break;
-                                        case 2:
-                                            message.abstainVoteTally = reader.uint32();
-                                            break;
-                                        case 3:
-                                            message.lockVoteTally = reader.uint32();
-                                            break;
-                                        case 4:
-                                            message.finishedVoteInfo = $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.decode(reader, reader.uint32());
-                                            break;
-                                        default:
-                                            reader.skipType(tag & 7);
-                                            break;
-                                        }
-                                    }
-                                    return message;
-                                };
-
-                                /**
-                                 * Decodes a ContestedResourceContenders message from the specified reader or buffer, length delimited.
-                                 * @function decodeDelimited
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders
-                                 * @static
-                                 * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                                 * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders} ContestedResourceContenders
-                                 * @throws {Error} If the payload is not a reader or valid buffer
-                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
-                                 */
-                                ContestedResourceContenders.decodeDelimited = function decodeDelimited(reader) {
-                                    if (!(reader instanceof $Reader))
-                                        reader = new $Reader(reader);
-                                    return this.decode(reader, reader.uint32());
-                                };
-
-                                /**
-                                 * Verifies a ContestedResourceContenders message.
-                                 * @function verify
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders
-                                 * @static
-                                 * @param {Object.} message Plain object to verify
-                                 * @returns {string|null} `null` if valid, otherwise the reason why it is not
-                                 */
-                                ContestedResourceContenders.verify = function verify(message) {
-                                    if (typeof message !== "object" || message === null)
-                                        return "object expected";
-                                    if (message.contenders != null && message.hasOwnProperty("contenders")) {
-                                        if (!Array.isArray(message.contenders))
-                                            return "contenders: array expected";
-                                        for (var i = 0; i < message.contenders.length; ++i) {
-                                            var error = $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.verify(message.contenders[i]);
-                                            if (error)
-                                                return "contenders." + error;
-                                        }
-                                    }
-                                    if (message.abstainVoteTally != null && message.hasOwnProperty("abstainVoteTally"))
-                                        if (!$util.isInteger(message.abstainVoteTally))
-                                            return "abstainVoteTally: integer expected";
-                                    if (message.lockVoteTally != null && message.hasOwnProperty("lockVoteTally"))
-                                        if (!$util.isInteger(message.lockVoteTally))
-                                            return "lockVoteTally: integer expected";
-                                    if (message.finishedVoteInfo != null && message.hasOwnProperty("finishedVoteInfo")) {
-                                        var error = $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.verify(message.finishedVoteInfo);
-                                        if (error)
-                                            return "finishedVoteInfo." + error;
-                                    }
-                                    return null;
-                                };
-
-                                /**
-                                 * Creates a ContestedResourceContenders message from a plain object. Also converts values to their respective internal types.
-                                 * @function fromObject
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders
-                                 * @static
-                                 * @param {Object.} object Plain object
-                                 * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders} ContestedResourceContenders
-                                 */
-                                ContestedResourceContenders.fromObject = function fromObject(object) {
-                                    if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders)
-                                        return object;
-                                    var message = new $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders();
-                                    if (object.contenders) {
-                                        if (!Array.isArray(object.contenders))
-                                            throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.contenders: array expected");
-                                        message.contenders = [];
-                                        for (var i = 0; i < object.contenders.length; ++i) {
-                                            if (typeof object.contenders[i] !== "object")
-                                                throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.contenders: object expected");
-                                            message.contenders[i] = $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.fromObject(object.contenders[i]);
-                                        }
-                                    }
-                                    if (object.abstainVoteTally != null)
-                                        message.abstainVoteTally = object.abstainVoteTally >>> 0;
-                                    if (object.lockVoteTally != null)
-                                        message.lockVoteTally = object.lockVoteTally >>> 0;
-                                    if (object.finishedVoteInfo != null) {
-                                        if (typeof object.finishedVoteInfo !== "object")
-                                            throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.finishedVoteInfo: object expected");
-                                        message.finishedVoteInfo = $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.fromObject(object.finishedVoteInfo);
-                                    }
-                                    return message;
-                                };
-
-                                /**
-                                 * Creates a plain object from a ContestedResourceContenders message. Also converts values to other types if specified.
-                                 * @function toObject
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders
-                                 * @static
-                                 * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders} message ContestedResourceContenders
-                                 * @param {$protobuf.IConversionOptions} [options] Conversion options
-                                 * @returns {Object.} Plain object
-                                 */
-                                ContestedResourceContenders.toObject = function toObject(message, options) {
-                                    if (!options)
-                                        options = {};
-                                    var object = {};
-                                    if (options.arrays || options.defaults)
-                                        object.contenders = [];
-                                    if (options.defaults) {
-                                        object.abstainVoteTally = 0;
-                                        object.lockVoteTally = 0;
-                                        object.finishedVoteInfo = null;
-                                    }
-                                    if (message.contenders && message.contenders.length) {
-                                        object.contenders = [];
-                                        for (var j = 0; j < message.contenders.length; ++j)
-                                            object.contenders[j] = $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.toObject(message.contenders[j], options);
-                                    }
-                                    if (message.abstainVoteTally != null && message.hasOwnProperty("abstainVoteTally"))
-                                        object.abstainVoteTally = message.abstainVoteTally;
-                                    if (message.lockVoteTally != null && message.hasOwnProperty("lockVoteTally"))
-                                        object.lockVoteTally = message.lockVoteTally;
-                                    if (message.finishedVoteInfo != null && message.hasOwnProperty("finishedVoteInfo"))
-                                        object.finishedVoteInfo = $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.toObject(message.finishedVoteInfo, options);
-                                    return object;
-                                };
-
-                                /**
-                                 * Converts this ContestedResourceContenders to JSON.
-                                 * @function toJSON
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders
-                                 * @instance
-                                 * @returns {Object.} JSON object
-                                 */
-                                ContestedResourceContenders.prototype.toJSON = function toJSON() {
-                                    return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
-                                };
-
-                                return ContestedResourceContenders;
-                            })();
-
-                            GetContestedResourceVoteStateResponseV0.Contender = (function() {
-
-                                /**
-                                 * Properties of a Contender.
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0
-                                 * @interface IContender
-                                 * @property {Uint8Array|null} [identifier] Contender identifier
-                                 * @property {number|null} [voteCount] Contender voteCount
-                                 * @property {Uint8Array|null} [document] Contender document
-                                 */
-
-                                /**
-                                 * Constructs a new Contender.
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0
-                                 * @classdesc Represents a Contender.
-                                 * @implements IContender
-                                 * @constructor
-                                 * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.IContender=} [properties] Properties to set
-                                 */
-                                function Contender(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]];
-                                }
-
-                                /**
-                                 * Contender identifier.
-                                 * @member {Uint8Array} identifier
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender
-                                 * @instance
-                                 */
-                                Contender.prototype.identifier = $util.newBuffer([]);
-
-                                /**
-                                 * Contender voteCount.
-                                 * @member {number} voteCount
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender
-                                 * @instance
-                                 */
-                                Contender.prototype.voteCount = 0;
-
-                                /**
-                                 * Contender document.
-                                 * @member {Uint8Array} document
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender
-                                 * @instance
-                                 */
-                                Contender.prototype.document = $util.newBuffer([]);
-
-                                /**
-                                 * Creates a new Contender instance using the specified properties.
-                                 * @function create
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender
-                                 * @static
-                                 * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.IContender=} [properties] Properties to set
-                                 * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender} Contender instance
-                                 */
-                                Contender.create = function create(properties) {
-                                    return new Contender(properties);
-                                };
-
-                                /**
-                                 * Encodes the specified Contender message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.verify|verify} messages.
-                                 * @function encode
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender
-                                 * @static
-                                 * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.IContender} message Contender message or plain object to encode
-                                 * @param {$protobuf.Writer} [writer] Writer to encode to
-                                 * @returns {$protobuf.Writer} Writer
-                                 */
-                                Contender.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.voteCount != null && Object.hasOwnProperty.call(message, "voteCount"))
-                                        writer.uint32(/* id 2, wireType 0 =*/16).uint32(message.voteCount);
-                                    if (message.document != null && Object.hasOwnProperty.call(message, "document"))
-                                        writer.uint32(/* id 3, wireType 2 =*/26).bytes(message.document);
-                                    return writer;
-                                };
-
-                                /**
-                                 * Encodes the specified Contender message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.verify|verify} messages.
-                                 * @function encodeDelimited
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender
-                                 * @static
-                                 * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.IContender} message Contender message or plain object to encode
-                                 * @param {$protobuf.Writer} [writer] Writer to encode to
-                                 * @returns {$protobuf.Writer} Writer
-                                 */
-                                Contender.encodeDelimited = function encodeDelimited(message, writer) {
-                                    return this.encode(message, writer).ldelim();
-                                };
-
-                                /**
-                                 * Decodes a Contender message from the specified reader or buffer.
-                                 * @function decode
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender
-                                 * @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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender} Contender
-                                 * @throws {Error} If the payload is not a reader or valid buffer
-                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
-                                 */
-                                Contender.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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender();
-                                    while (reader.pos < end) {
-                                        var tag = reader.uint32();
-                                        switch (tag >>> 3) {
-                                        case 1:
-                                            message.identifier = reader.bytes();
-                                            break;
-                                        case 2:
-                                            message.voteCount = reader.uint32();
-                                            break;
-                                        case 3:
-                                            message.document = reader.bytes();
-                                            break;
-                                        default:
-                                            reader.skipType(tag & 7);
-                                            break;
-                                        }
-                                    }
-                                    return message;
-                                };
-
-                                /**
-                                 * Decodes a Contender message from the specified reader or buffer, length delimited.
-                                 * @function decodeDelimited
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender
-                                 * @static
-                                 * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                                 * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender} Contender
-                                 * @throws {Error} If the payload is not a reader or valid buffer
-                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
-                                 */
-                                Contender.decodeDelimited = function decodeDelimited(reader) {
-                                    if (!(reader instanceof $Reader))
-                                        reader = new $Reader(reader);
-                                    return this.decode(reader, reader.uint32());
-                                };
-
-                                /**
-                                 * Verifies a Contender message.
-                                 * @function verify
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender
-                                 * @static
-                                 * @param {Object.} message Plain object to verify
-                                 * @returns {string|null} `null` if valid, otherwise the reason why it is not
-                                 */
-                                Contender.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.voteCount != null && message.hasOwnProperty("voteCount"))
-                                        if (!$util.isInteger(message.voteCount))
-                                            return "voteCount: integer expected";
-                                    if (message.document != null && message.hasOwnProperty("document"))
-                                        if (!(message.document && typeof message.document.length === "number" || $util.isString(message.document)))
-                                            return "document: buffer expected";
-                                    return null;
-                                };
-
-                                /**
-                                 * Creates a Contender message from a plain object. Also converts values to their respective internal types.
-                                 * @function fromObject
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender
-                                 * @static
-                                 * @param {Object.} object Plain object
-                                 * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender} Contender
-                                 */
-                                Contender.fromObject = function fromObject(object) {
-                                    if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender)
-                                        return object;
-                                    var message = new $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender();
-                                    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.voteCount != null)
-                                        message.voteCount = object.voteCount >>> 0;
-                                    if (object.document != null)
-                                        if (typeof object.document === "string")
-                                            $util.base64.decode(object.document, message.document = $util.newBuffer($util.base64.length(object.document)), 0);
-                                        else if (object.document.length >= 0)
-                                            message.document = object.document;
-                                    return message;
-                                };
-
-                                /**
-                                 * Creates a plain object from a Contender message. Also converts values to other types if specified.
-                                 * @function toObject
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender
-                                 * @static
-                                 * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender} message Contender
-                                 * @param {$protobuf.IConversionOptions} [options] Conversion options
-                                 * @returns {Object.} Plain object
-                                 */
-                                Contender.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.voteCount = 0;
-                                        if (options.bytes === String)
-                                            object.document = "";
-                                        else {
-                                            object.document = [];
-                                            if (options.bytes !== Array)
-                                                object.document = $util.newBuffer(object.document);
-                                        }
-                                    }
-                                    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.voteCount != null && message.hasOwnProperty("voteCount"))
-                                        object.voteCount = message.voteCount;
-                                    if (message.document != null && message.hasOwnProperty("document"))
-                                        object.document = options.bytes === String ? $util.base64.encode(message.document, 0, message.document.length) : options.bytes === Array ? Array.prototype.slice.call(message.document) : message.document;
-                                    return object;
-                                };
-
-                                /**
-                                 * Converts this Contender to JSON.
-                                 * @function toJSON
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender
-                                 * @instance
-                                 * @returns {Object.} JSON object
-                                 */
-                                Contender.prototype.toJSON = function toJSON() {
-                                    return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
-                                };
-
-                                return Contender;
-                            })();
-
-                            return GetContestedResourceVoteStateResponseV0;
-                        })();
-
-                        return GetContestedResourceVoteStateResponse;
-                    })();
-
-                    v0.GetContestedResourceVotersForIdentityRequest = (function() {
-
-                        /**
-                         * Properties of a GetContestedResourceVotersForIdentityRequest.
-                         * @memberof org.dash.platform.dapi.v0
-                         * @interface IGetContestedResourceVotersForIdentityRequest
-                         * @property {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.IGetContestedResourceVotersForIdentityRequestV0|null} [v0] GetContestedResourceVotersForIdentityRequest v0
-                         */
-
-                        /**
-                         * Constructs a new GetContestedResourceVotersForIdentityRequest.
-                         * @memberof org.dash.platform.dapi.v0
-                         * @classdesc Represents a GetContestedResourceVotersForIdentityRequest.
-                         * @implements IGetContestedResourceVotersForIdentityRequest
-                         * @constructor
-                         * @param {org.dash.platform.dapi.v0.IGetContestedResourceVotersForIdentityRequest=} [properties] Properties to set
-                         */
-                        function GetContestedResourceVotersForIdentityRequest(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]];
-                        }
-
-                        /**
-                         * GetContestedResourceVotersForIdentityRequest v0.
-                         * @member {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.IGetContestedResourceVotersForIdentityRequestV0|null|undefined} v0
-                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest
-                         * @instance
-                         */
-                        GetContestedResourceVotersForIdentityRequest.prototype.v0 = null;
-
-                        // OneOf field names bound to virtual getters and setters
-                        var $oneOfFields;
-
-                        /**
-                         * GetContestedResourceVotersForIdentityRequest version.
-                         * @member {"v0"|undefined} version
-                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest
-                         * @instance
-                         */
-                        Object.defineProperty(GetContestedResourceVotersForIdentityRequest.prototype, "version", {
-                            get: $util.oneOfGetter($oneOfFields = ["v0"]),
-                            set: $util.oneOfSetter($oneOfFields)
-                        });
+                        /**
+                         * GetVotePollsByEndDateRequest version.
+                         * @member {"v0"|undefined} version
+                         * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest
+                         * @instance
+                         */
+                        Object.defineProperty(GetVotePollsByEndDateRequest.prototype, "version", {
+                            get: $util.oneOfGetter($oneOfFields = ["v0"]),
+                            set: $util.oneOfSetter($oneOfFields)
+                        });
 
                         /**
-                         * Creates a new GetContestedResourceVotersForIdentityRequest instance using the specified properties.
+                         * Creates a new GetVotePollsByEndDateRequest instance using the specified properties.
                          * @function create
-                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest
+                         * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest
                          * @static
-                         * @param {org.dash.platform.dapi.v0.IGetContestedResourceVotersForIdentityRequest=} [properties] Properties to set
-                         * @returns {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest} GetContestedResourceVotersForIdentityRequest instance
+                         * @param {org.dash.platform.dapi.v0.IGetVotePollsByEndDateRequest=} [properties] Properties to set
+                         * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest} GetVotePollsByEndDateRequest instance
                          */
-                        GetContestedResourceVotersForIdentityRequest.create = function create(properties) {
-                            return new GetContestedResourceVotersForIdentityRequest(properties);
+                        GetVotePollsByEndDateRequest.create = function create(properties) {
+                            return new GetVotePollsByEndDateRequest(properties);
                         };
 
                         /**
-                         * Encodes the specified GetContestedResourceVotersForIdentityRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.verify|verify} messages.
+                         * Encodes the specified GetVotePollsByEndDateRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.verify|verify} messages.
                          * @function encode
-                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest
+                         * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest
                          * @static
-                         * @param {org.dash.platform.dapi.v0.IGetContestedResourceVotersForIdentityRequest} message GetContestedResourceVotersForIdentityRequest message or plain object to encode
+                         * @param {org.dash.platform.dapi.v0.IGetVotePollsByEndDateRequest} message GetVotePollsByEndDateRequest message or plain object to encode
                          * @param {$protobuf.Writer} [writer] Writer to encode to
                          * @returns {$protobuf.Writer} Writer
                          */
-                        GetContestedResourceVotersForIdentityRequest.encode = function encode(message, writer) {
+                        GetVotePollsByEndDateRequest.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.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+                                $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
                             return writer;
                         };
 
                         /**
-                         * Encodes the specified GetContestedResourceVotersForIdentityRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.verify|verify} messages.
+                         * Encodes the specified GetVotePollsByEndDateRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.verify|verify} messages.
                          * @function encodeDelimited
-                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest
+                         * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest
                          * @static
-                         * @param {org.dash.platform.dapi.v0.IGetContestedResourceVotersForIdentityRequest} message GetContestedResourceVotersForIdentityRequest message or plain object to encode
+                         * @param {org.dash.platform.dapi.v0.IGetVotePollsByEndDateRequest} message GetVotePollsByEndDateRequest message or plain object to encode
                          * @param {$protobuf.Writer} [writer] Writer to encode to
                          * @returns {$protobuf.Writer} Writer
                          */
-                        GetContestedResourceVotersForIdentityRequest.encodeDelimited = function encodeDelimited(message, writer) {
+                        GetVotePollsByEndDateRequest.encodeDelimited = function encodeDelimited(message, writer) {
                             return this.encode(message, writer).ldelim();
                         };
 
                         /**
-                         * Decodes a GetContestedResourceVotersForIdentityRequest message from the specified reader or buffer.
+                         * Decodes a GetVotePollsByEndDateRequest message from the specified reader or buffer.
                          * @function decode
-                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest
+                         * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest
                          * @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.GetContestedResourceVotersForIdentityRequest} GetContestedResourceVotersForIdentityRequest
+                         * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest} GetVotePollsByEndDateRequest
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        GetContestedResourceVotersForIdentityRequest.decode = function decode(reader, length) {
+                        GetVotePollsByEndDateRequest.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.GetContestedResourceVotersForIdentityRequest();
+                            var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
                                 switch (tag >>> 3) {
                                 case 1:
-                                    message.v0 = $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.decode(reader, reader.uint32());
+                                    message.v0 = $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.decode(reader, reader.uint32());
                                     break;
                                 default:
                                     reader.skipType(tag & 7);
@@ -33133,37 +32429,37 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Decodes a GetContestedResourceVotersForIdentityRequest message from the specified reader or buffer, length delimited.
+                         * Decodes a GetVotePollsByEndDateRequest message from the specified reader or buffer, length delimited.
                          * @function decodeDelimited
-                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest
+                         * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest
                          * @static
                          * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                         * @returns {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest} GetContestedResourceVotersForIdentityRequest
+                         * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest} GetVotePollsByEndDateRequest
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        GetContestedResourceVotersForIdentityRequest.decodeDelimited = function decodeDelimited(reader) {
+                        GetVotePollsByEndDateRequest.decodeDelimited = function decodeDelimited(reader) {
                             if (!(reader instanceof $Reader))
                                 reader = new $Reader(reader);
                             return this.decode(reader, reader.uint32());
                         };
 
                         /**
-                         * Verifies a GetContestedResourceVotersForIdentityRequest message.
+                         * Verifies a GetVotePollsByEndDateRequest message.
                          * @function verify
-                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest
+                         * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest
                          * @static
                          * @param {Object.} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        GetContestedResourceVotersForIdentityRequest.verify = function verify(message) {
+                        GetVotePollsByEndDateRequest.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.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.verify(message.v0);
+                                    var error = $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.verify(message.v0);
                                     if (error)
                                         return "v0." + error;
                                 }
@@ -33172,40 +32468,40 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Creates a GetContestedResourceVotersForIdentityRequest message from a plain object. Also converts values to their respective internal types.
+                         * Creates a GetVotePollsByEndDateRequest message from a plain object. Also converts values to their respective internal types.
                          * @function fromObject
-                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest
+                         * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest
                          * @static
                          * @param {Object.} object Plain object
-                         * @returns {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest} GetContestedResourceVotersForIdentityRequest
+                         * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest} GetVotePollsByEndDateRequest
                          */
-                        GetContestedResourceVotersForIdentityRequest.fromObject = function fromObject(object) {
-                            if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest)
+                        GetVotePollsByEndDateRequest.fromObject = function fromObject(object) {
+                            if (object instanceof $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest)
                                 return object;
-                            var message = new $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest();
+                            var message = new $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest();
                             if (object.v0 != null) {
                                 if (typeof object.v0 !== "object")
-                                    throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.v0: object expected");
-                                message.v0 = $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.fromObject(object.v0);
+                                    throw TypeError(".org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.v0: object expected");
+                                message.v0 = $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.fromObject(object.v0);
                             }
                             return message;
                         };
 
                         /**
-                         * Creates a plain object from a GetContestedResourceVotersForIdentityRequest message. Also converts values to other types if specified.
+                         * Creates a plain object from a GetVotePollsByEndDateRequest message. Also converts values to other types if specified.
                          * @function toObject
-                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest
+                         * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest
                          * @static
-                         * @param {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest} message GetContestedResourceVotersForIdentityRequest
+                         * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest} message GetVotePollsByEndDateRequest
                          * @param {$protobuf.IConversionOptions} [options] Conversion options
                          * @returns {Object.} Plain object
                          */
-                        GetContestedResourceVotersForIdentityRequest.toObject = function toObject(message, options) {
+                        GetVotePollsByEndDateRequest.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.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.toObject(message.v0, options);
+                                object.v0 = $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.toObject(message.v0, options);
                                 if (options.oneofs)
                                     object.version = "v0";
                             }
@@ -33213,43 +32509,39 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Converts this GetContestedResourceVotersForIdentityRequest to JSON.
+                         * Converts this GetVotePollsByEndDateRequest to JSON.
                          * @function toJSON
-                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest
+                         * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest
                          * @instance
                          * @returns {Object.} JSON object
                          */
-                        GetContestedResourceVotersForIdentityRequest.prototype.toJSON = function toJSON() {
+                        GetVotePollsByEndDateRequest.prototype.toJSON = function toJSON() {
                             return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
                         };
 
-                        GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0 = (function() {
+                        GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0 = (function() {
 
                             /**
-                             * Properties of a GetContestedResourceVotersForIdentityRequestV0.
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest
-                             * @interface IGetContestedResourceVotersForIdentityRequestV0
-                             * @property {Uint8Array|null} [contractId] GetContestedResourceVotersForIdentityRequestV0 contractId
-                             * @property {string|null} [documentTypeName] GetContestedResourceVotersForIdentityRequestV0 documentTypeName
-                             * @property {string|null} [indexName] GetContestedResourceVotersForIdentityRequestV0 indexName
-                             * @property {Array.|null} [indexValues] GetContestedResourceVotersForIdentityRequestV0 indexValues
-                             * @property {Uint8Array|null} [contestantId] GetContestedResourceVotersForIdentityRequestV0 contestantId
-                             * @property {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.IStartAtIdentifierInfo|null} [startAtIdentifierInfo] GetContestedResourceVotersForIdentityRequestV0 startAtIdentifierInfo
-                             * @property {number|null} [count] GetContestedResourceVotersForIdentityRequestV0 count
-                             * @property {boolean|null} [orderAscending] GetContestedResourceVotersForIdentityRequestV0 orderAscending
-                             * @property {boolean|null} [prove] GetContestedResourceVotersForIdentityRequestV0 prove
+                             * Properties of a GetVotePollsByEndDateRequestV0.
+                             * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest
+                             * @interface IGetVotePollsByEndDateRequestV0
+                             * @property {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.IStartAtTimeInfo|null} [startTimeInfo] GetVotePollsByEndDateRequestV0 startTimeInfo
+                             * @property {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.IEndAtTimeInfo|null} [endTimeInfo] GetVotePollsByEndDateRequestV0 endTimeInfo
+                             * @property {number|null} [limit] GetVotePollsByEndDateRequestV0 limit
+                             * @property {number|null} [offset] GetVotePollsByEndDateRequestV0 offset
+                             * @property {boolean|null} [ascending] GetVotePollsByEndDateRequestV0 ascending
+                             * @property {boolean|null} [prove] GetVotePollsByEndDateRequestV0 prove
                              */
 
                             /**
-                             * Constructs a new GetContestedResourceVotersForIdentityRequestV0.
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest
-                             * @classdesc Represents a GetContestedResourceVotersForIdentityRequestV0.
-                             * @implements IGetContestedResourceVotersForIdentityRequestV0
+                             * Constructs a new GetVotePollsByEndDateRequestV0.
+                             * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest
+                             * @classdesc Represents a GetVotePollsByEndDateRequestV0.
+                             * @implements IGetVotePollsByEndDateRequestV0
                              * @constructor
-                             * @param {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.IGetContestedResourceVotersForIdentityRequestV0=} [properties] Properties to set
+                             * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.IGetVotePollsByEndDateRequestV0=} [properties] Properties to set
                              */
-                            function GetContestedResourceVotersForIdentityRequestV0(properties) {
-                                this.indexValues = [];
+                            function GetVotePollsByEndDateRequestV0(properties) {
                                 if (properties)
                                     for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
                                         if (properties[keys[i]] != null)
@@ -33257,181 +32549,139 @@ $root.org = (function() {
                             }
 
                             /**
-                             * GetContestedResourceVotersForIdentityRequestV0 contractId.
-                             * @member {Uint8Array} contractId
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0
-                             * @instance
-                             */
-                            GetContestedResourceVotersForIdentityRequestV0.prototype.contractId = $util.newBuffer([]);
-
-                            /**
-                             * GetContestedResourceVotersForIdentityRequestV0 documentTypeName.
-                             * @member {string} documentTypeName
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0
-                             * @instance
-                             */
-                            GetContestedResourceVotersForIdentityRequestV0.prototype.documentTypeName = "";
-
-                            /**
-                             * GetContestedResourceVotersForIdentityRequestV0 indexName.
-                             * @member {string} indexName
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0
-                             * @instance
-                             */
-                            GetContestedResourceVotersForIdentityRequestV0.prototype.indexName = "";
-
-                            /**
-                             * GetContestedResourceVotersForIdentityRequestV0 indexValues.
-                             * @member {Array.} indexValues
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0
+                             * GetVotePollsByEndDateRequestV0 startTimeInfo.
+                             * @member {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.IStartAtTimeInfo|null|undefined} startTimeInfo
+                             * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0
                              * @instance
                              */
-                            GetContestedResourceVotersForIdentityRequestV0.prototype.indexValues = $util.emptyArray;
+                            GetVotePollsByEndDateRequestV0.prototype.startTimeInfo = null;
 
                             /**
-                             * GetContestedResourceVotersForIdentityRequestV0 contestantId.
-                             * @member {Uint8Array} contestantId
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0
+                             * GetVotePollsByEndDateRequestV0 endTimeInfo.
+                             * @member {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.IEndAtTimeInfo|null|undefined} endTimeInfo
+                             * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0
                              * @instance
                              */
-                            GetContestedResourceVotersForIdentityRequestV0.prototype.contestantId = $util.newBuffer([]);
+                            GetVotePollsByEndDateRequestV0.prototype.endTimeInfo = null;
 
                             /**
-                             * GetContestedResourceVotersForIdentityRequestV0 startAtIdentifierInfo.
-                             * @member {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.IStartAtIdentifierInfo|null|undefined} startAtIdentifierInfo
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0
+                             * GetVotePollsByEndDateRequestV0 limit.
+                             * @member {number} limit
+                             * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0
                              * @instance
                              */
-                            GetContestedResourceVotersForIdentityRequestV0.prototype.startAtIdentifierInfo = null;
+                            GetVotePollsByEndDateRequestV0.prototype.limit = 0;
 
                             /**
-                             * GetContestedResourceVotersForIdentityRequestV0 count.
-                             * @member {number} count
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0
+                             * GetVotePollsByEndDateRequestV0 offset.
+                             * @member {number} offset
+                             * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0
                              * @instance
                              */
-                            GetContestedResourceVotersForIdentityRequestV0.prototype.count = 0;
+                            GetVotePollsByEndDateRequestV0.prototype.offset = 0;
 
                             /**
-                             * GetContestedResourceVotersForIdentityRequestV0 orderAscending.
-                             * @member {boolean} orderAscending
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0
+                             * GetVotePollsByEndDateRequestV0 ascending.
+                             * @member {boolean} ascending
+                             * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0
                              * @instance
                              */
-                            GetContestedResourceVotersForIdentityRequestV0.prototype.orderAscending = false;
+                            GetVotePollsByEndDateRequestV0.prototype.ascending = false;
 
                             /**
-                             * GetContestedResourceVotersForIdentityRequestV0 prove.
+                             * GetVotePollsByEndDateRequestV0 prove.
                              * @member {boolean} prove
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0
                              * @instance
                              */
-                            GetContestedResourceVotersForIdentityRequestV0.prototype.prove = false;
+                            GetVotePollsByEndDateRequestV0.prototype.prove = false;
 
                             /**
-                             * Creates a new GetContestedResourceVotersForIdentityRequestV0 instance using the specified properties.
+                             * Creates a new GetVotePollsByEndDateRequestV0 instance using the specified properties.
                              * @function create
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.IGetContestedResourceVotersForIdentityRequestV0=} [properties] Properties to set
-                             * @returns {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} GetContestedResourceVotersForIdentityRequestV0 instance
+                             * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.IGetVotePollsByEndDateRequestV0=} [properties] Properties to set
+                             * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0} GetVotePollsByEndDateRequestV0 instance
                              */
-                            GetContestedResourceVotersForIdentityRequestV0.create = function create(properties) {
-                                return new GetContestedResourceVotersForIdentityRequestV0(properties);
+                            GetVotePollsByEndDateRequestV0.create = function create(properties) {
+                                return new GetVotePollsByEndDateRequestV0(properties);
                             };
 
                             /**
-                             * Encodes the specified GetContestedResourceVotersForIdentityRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.verify|verify} messages.
+                             * Encodes the specified GetVotePollsByEndDateRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.verify|verify} messages.
                              * @function encode
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.IGetContestedResourceVotersForIdentityRequestV0} message GetContestedResourceVotersForIdentityRequestV0 message or plain object to encode
+                             * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.IGetVotePollsByEndDateRequestV0} message GetVotePollsByEndDateRequestV0 message or plain object to encode
                              * @param {$protobuf.Writer} [writer] Writer to encode to
                              * @returns {$protobuf.Writer} Writer
                              */
-                            GetContestedResourceVotersForIdentityRequestV0.encode = function encode(message, writer) {
+                            GetVotePollsByEndDateRequestV0.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.documentTypeName != null && Object.hasOwnProperty.call(message, "documentTypeName"))
-                                    writer.uint32(/* id 2, wireType 2 =*/18).string(message.documentTypeName);
-                                if (message.indexName != null && Object.hasOwnProperty.call(message, "indexName"))
-                                    writer.uint32(/* id 3, wireType 2 =*/26).string(message.indexName);
-                                if (message.indexValues != null && message.indexValues.length)
-                                    for (var i = 0; i < message.indexValues.length; ++i)
-                                        writer.uint32(/* id 4, wireType 2 =*/34).bytes(message.indexValues[i]);
-                                if (message.contestantId != null && Object.hasOwnProperty.call(message, "contestantId"))
-                                    writer.uint32(/* id 5, wireType 2 =*/42).bytes(message.contestantId);
-                                if (message.startAtIdentifierInfo != null && Object.hasOwnProperty.call(message, "startAtIdentifierInfo"))
-                                    $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.encode(message.startAtIdentifierInfo, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim();
-                                if (message.count != null && Object.hasOwnProperty.call(message, "count"))
-                                    writer.uint32(/* id 7, wireType 0 =*/56).uint32(message.count);
-                                if (message.orderAscending != null && Object.hasOwnProperty.call(message, "orderAscending"))
-                                    writer.uint32(/* id 8, wireType 0 =*/64).bool(message.orderAscending);
+                                if (message.startTimeInfo != null && Object.hasOwnProperty.call(message, "startTimeInfo"))
+                                    $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.encode(message.startTimeInfo, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+                                if (message.endTimeInfo != null && Object.hasOwnProperty.call(message, "endTimeInfo"))
+                                    $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.encode(message.endTimeInfo, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+                                if (message.limit != null && Object.hasOwnProperty.call(message, "limit"))
+                                    writer.uint32(/* id 3, wireType 0 =*/24).uint32(message.limit);
+                                if (message.offset != null && Object.hasOwnProperty.call(message, "offset"))
+                                    writer.uint32(/* id 4, wireType 0 =*/32).uint32(message.offset);
+                                if (message.ascending != null && Object.hasOwnProperty.call(message, "ascending"))
+                                    writer.uint32(/* id 5, wireType 0 =*/40).bool(message.ascending);
                                 if (message.prove != null && Object.hasOwnProperty.call(message, "prove"))
-                                    writer.uint32(/* id 9, wireType 0 =*/72).bool(message.prove);
+                                    writer.uint32(/* id 6, wireType 0 =*/48).bool(message.prove);
                                 return writer;
                             };
 
                             /**
-                             * Encodes the specified GetContestedResourceVotersForIdentityRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.verify|verify} messages.
+                             * Encodes the specified GetVotePollsByEndDateRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.verify|verify} messages.
                              * @function encodeDelimited
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.IGetContestedResourceVotersForIdentityRequestV0} message GetContestedResourceVotersForIdentityRequestV0 message or plain object to encode
+                             * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.IGetVotePollsByEndDateRequestV0} message GetVotePollsByEndDateRequestV0 message or plain object to encode
                              * @param {$protobuf.Writer} [writer] Writer to encode to
                              * @returns {$protobuf.Writer} Writer
                              */
-                            GetContestedResourceVotersForIdentityRequestV0.encodeDelimited = function encodeDelimited(message, writer) {
+                            GetVotePollsByEndDateRequestV0.encodeDelimited = function encodeDelimited(message, writer) {
                                 return this.encode(message, writer).ldelim();
                             };
 
                             /**
-                             * Decodes a GetContestedResourceVotersForIdentityRequestV0 message from the specified reader or buffer.
+                             * Decodes a GetVotePollsByEndDateRequestV0 message from the specified reader or buffer.
                              * @function decode
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0
                              * @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.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} GetContestedResourceVotersForIdentityRequestV0
+                             * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0} GetVotePollsByEndDateRequestV0
                              * @throws {Error} If the payload is not a reader or valid buffer
                              * @throws {$protobuf.util.ProtocolError} If required fields are missing
                              */
-                            GetContestedResourceVotersForIdentityRequestV0.decode = function decode(reader, length) {
+                            GetVotePollsByEndDateRequestV0.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.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0();
+                                var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0();
                                 while (reader.pos < end) {
                                     var tag = reader.uint32();
                                     switch (tag >>> 3) {
                                     case 1:
-                                        message.contractId = reader.bytes();
+                                        message.startTimeInfo = $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.decode(reader, reader.uint32());
                                         break;
                                     case 2:
-                                        message.documentTypeName = reader.string();
+                                        message.endTimeInfo = $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.decode(reader, reader.uint32());
                                         break;
                                     case 3:
-                                        message.indexName = reader.string();
+                                        message.limit = reader.uint32();
                                         break;
                                     case 4:
-                                        if (!(message.indexValues && message.indexValues.length))
-                                            message.indexValues = [];
-                                        message.indexValues.push(reader.bytes());
+                                        message.offset = reader.uint32();
                                         break;
                                     case 5:
-                                        message.contestantId = reader.bytes();
+                                        message.ascending = reader.bool();
                                         break;
                                     case 6:
-                                        message.startAtIdentifierInfo = $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.decode(reader, reader.uint32());
-                                        break;
-                                    case 7:
-                                        message.count = reader.uint32();
-                                        break;
-                                    case 8:
-                                        message.orderAscending = reader.bool();
-                                        break;
-                                    case 9:
                                         message.prove = reader.bool();
                                         break;
                                     default:
@@ -33443,62 +32693,51 @@ $root.org = (function() {
                             };
 
                             /**
-                             * Decodes a GetContestedResourceVotersForIdentityRequestV0 message from the specified reader or buffer, length delimited.
+                             * Decodes a GetVotePollsByEndDateRequestV0 message from the specified reader or buffer, length delimited.
                              * @function decodeDelimited
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0
                              * @static
                              * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                             * @returns {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} GetContestedResourceVotersForIdentityRequestV0
+                             * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0} GetVotePollsByEndDateRequestV0
                              * @throws {Error} If the payload is not a reader or valid buffer
                              * @throws {$protobuf.util.ProtocolError} If required fields are missing
                              */
-                            GetContestedResourceVotersForIdentityRequestV0.decodeDelimited = function decodeDelimited(reader) {
+                            GetVotePollsByEndDateRequestV0.decodeDelimited = function decodeDelimited(reader) {
                                 if (!(reader instanceof $Reader))
                                     reader = new $Reader(reader);
                                 return this.decode(reader, reader.uint32());
                             };
 
                             /**
-                             * Verifies a GetContestedResourceVotersForIdentityRequestV0 message.
+                             * Verifies a GetVotePollsByEndDateRequestV0 message.
                              * @function verify
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0
                              * @static
                              * @param {Object.} message Plain object to verify
                              * @returns {string|null} `null` if valid, otherwise the reason why it is not
                              */
-                            GetContestedResourceVotersForIdentityRequestV0.verify = function verify(message) {
+                            GetVotePollsByEndDateRequestV0.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.documentTypeName != null && message.hasOwnProperty("documentTypeName"))
-                                    if (!$util.isString(message.documentTypeName))
-                                        return "documentTypeName: string expected";
-                                if (message.indexName != null && message.hasOwnProperty("indexName"))
-                                    if (!$util.isString(message.indexName))
-                                        return "indexName: string expected";
-                                if (message.indexValues != null && message.hasOwnProperty("indexValues")) {
-                                    if (!Array.isArray(message.indexValues))
-                                        return "indexValues: array expected";
-                                    for (var i = 0; i < message.indexValues.length; ++i)
-                                        if (!(message.indexValues[i] && typeof message.indexValues[i].length === "number" || $util.isString(message.indexValues[i])))
-                                            return "indexValues: buffer[] expected";
+                                if (message.startTimeInfo != null && message.hasOwnProperty("startTimeInfo")) {
+                                    var error = $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.verify(message.startTimeInfo);
+                                    if (error)
+                                        return "startTimeInfo." + error;
                                 }
-                                if (message.contestantId != null && message.hasOwnProperty("contestantId"))
-                                    if (!(message.contestantId && typeof message.contestantId.length === "number" || $util.isString(message.contestantId)))
-                                        return "contestantId: buffer expected";
-                                if (message.startAtIdentifierInfo != null && message.hasOwnProperty("startAtIdentifierInfo")) {
-                                    var error = $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.verify(message.startAtIdentifierInfo);
+                                if (message.endTimeInfo != null && message.hasOwnProperty("endTimeInfo")) {
+                                    var error = $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.verify(message.endTimeInfo);
                                     if (error)
-                                        return "startAtIdentifierInfo." + error;
+                                        return "endTimeInfo." + error;
                                 }
-                                if (message.count != null && message.hasOwnProperty("count"))
-                                    if (!$util.isInteger(message.count))
-                                        return "count: integer expected";
-                                if (message.orderAscending != null && message.hasOwnProperty("orderAscending"))
-                                    if (typeof message.orderAscending !== "boolean")
-                                        return "orderAscending: boolean expected";
+                                if (message.limit != null && message.hasOwnProperty("limit"))
+                                    if (!$util.isInteger(message.limit))
+                                        return "limit: integer expected";
+                                if (message.offset != null && message.hasOwnProperty("offset"))
+                                    if (!$util.isInteger(message.offset))
+                                        return "offset: 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";
@@ -33506,146 +32745,104 @@ $root.org = (function() {
                             };
 
                             /**
-                             * Creates a GetContestedResourceVotersForIdentityRequestV0 message from a plain object. Also converts values to their respective internal types.
+                             * Creates a GetVotePollsByEndDateRequestV0 message from a plain object. Also converts values to their respective internal types.
                              * @function fromObject
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0
                              * @static
                              * @param {Object.} object Plain object
-                             * @returns {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} GetContestedResourceVotersForIdentityRequestV0
+                             * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0} GetVotePollsByEndDateRequestV0
                              */
-                            GetContestedResourceVotersForIdentityRequestV0.fromObject = function fromObject(object) {
-                                if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0)
+                            GetVotePollsByEndDateRequestV0.fromObject = function fromObject(object) {
+                                if (object instanceof $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0)
                                     return object;
-                                var message = new $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0();
-                                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.documentTypeName != null)
-                                    message.documentTypeName = String(object.documentTypeName);
-                                if (object.indexName != null)
-                                    message.indexName = String(object.indexName);
-                                if (object.indexValues) {
-                                    if (!Array.isArray(object.indexValues))
-                                        throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.indexValues: array expected");
-                                    message.indexValues = [];
-                                    for (var i = 0; i < object.indexValues.length; ++i)
-                                        if (typeof object.indexValues[i] === "string")
-                                            $util.base64.decode(object.indexValues[i], message.indexValues[i] = $util.newBuffer($util.base64.length(object.indexValues[i])), 0);
-                                        else if (object.indexValues[i].length >= 0)
-                                            message.indexValues[i] = object.indexValues[i];
+                                var message = new $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0();
+                                if (object.startTimeInfo != null) {
+                                    if (typeof object.startTimeInfo !== "object")
+                                        throw TypeError(".org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.startTimeInfo: object expected");
+                                    message.startTimeInfo = $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.fromObject(object.startTimeInfo);
                                 }
-                                if (object.contestantId != null)
-                                    if (typeof object.contestantId === "string")
-                                        $util.base64.decode(object.contestantId, message.contestantId = $util.newBuffer($util.base64.length(object.contestantId)), 0);
-                                    else if (object.contestantId.length >= 0)
-                                        message.contestantId = object.contestantId;
-                                if (object.startAtIdentifierInfo != null) {
-                                    if (typeof object.startAtIdentifierInfo !== "object")
-                                        throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.startAtIdentifierInfo: object expected");
-                                    message.startAtIdentifierInfo = $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.fromObject(object.startAtIdentifierInfo);
+                                if (object.endTimeInfo != null) {
+                                    if (typeof object.endTimeInfo !== "object")
+                                        throw TypeError(".org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.endTimeInfo: object expected");
+                                    message.endTimeInfo = $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.fromObject(object.endTimeInfo);
                                 }
-                                if (object.count != null)
-                                    message.count = object.count >>> 0;
-                                if (object.orderAscending != null)
-                                    message.orderAscending = Boolean(object.orderAscending);
+                                if (object.limit != null)
+                                    message.limit = object.limit >>> 0;
+                                if (object.offset != null)
+                                    message.offset = object.offset >>> 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 GetContestedResourceVotersForIdentityRequestV0 message. Also converts values to other types if specified.
+                             * Creates a plain object from a GetVotePollsByEndDateRequestV0 message. Also converts values to other types if specified.
                              * @function toObject
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} message GetContestedResourceVotersForIdentityRequestV0
+                             * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0} message GetVotePollsByEndDateRequestV0
                              * @param {$protobuf.IConversionOptions} [options] Conversion options
                              * @returns {Object.} Plain object
                              */
-                            GetContestedResourceVotersForIdentityRequestV0.toObject = function toObject(message, options) {
+                            GetVotePollsByEndDateRequestV0.toObject = function toObject(message, options) {
                                 if (!options)
                                     options = {};
                                 var object = {};
-                                if (options.arrays || options.defaults)
-                                    object.indexValues = [];
                                 if (options.defaults) {
-                                    if (options.bytes === String)
-                                        object.contractId = "";
-                                    else {
-                                        object.contractId = [];
-                                        if (options.bytes !== Array)
-                                            object.contractId = $util.newBuffer(object.contractId);
-                                    }
-                                    object.documentTypeName = "";
-                                    object.indexName = "";
-                                    if (options.bytes === String)
-                                        object.contestantId = "";
-                                    else {
-                                        object.contestantId = [];
-                                        if (options.bytes !== Array)
-                                            object.contestantId = $util.newBuffer(object.contestantId);
-                                    }
-                                    object.startAtIdentifierInfo = null;
-                                    object.count = 0;
-                                    object.orderAscending = false;
+                                    object.startTimeInfo = null;
+                                    object.endTimeInfo = null;
+                                    object.limit = 0;
+                                    object.offset = 0;
+                                    object.ascending = false;
                                     object.prove = false;
                                 }
-                                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.documentTypeName != null && message.hasOwnProperty("documentTypeName"))
-                                    object.documentTypeName = message.documentTypeName;
-                                if (message.indexName != null && message.hasOwnProperty("indexName"))
-                                    object.indexName = message.indexName;
-                                if (message.indexValues && message.indexValues.length) {
-                                    object.indexValues = [];
-                                    for (var j = 0; j < message.indexValues.length; ++j)
-                                        object.indexValues[j] = options.bytes === String ? $util.base64.encode(message.indexValues[j], 0, message.indexValues[j].length) : options.bytes === Array ? Array.prototype.slice.call(message.indexValues[j]) : message.indexValues[j];
-                                }
-                                if (message.contestantId != null && message.hasOwnProperty("contestantId"))
-                                    object.contestantId = options.bytes === String ? $util.base64.encode(message.contestantId, 0, message.contestantId.length) : options.bytes === Array ? Array.prototype.slice.call(message.contestantId) : message.contestantId;
-                                if (message.startAtIdentifierInfo != null && message.hasOwnProperty("startAtIdentifierInfo"))
-                                    object.startAtIdentifierInfo = $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.toObject(message.startAtIdentifierInfo, options);
-                                if (message.count != null && message.hasOwnProperty("count"))
-                                    object.count = message.count;
-                                if (message.orderAscending != null && message.hasOwnProperty("orderAscending"))
-                                    object.orderAscending = message.orderAscending;
+                                if (message.startTimeInfo != null && message.hasOwnProperty("startTimeInfo"))
+                                    object.startTimeInfo = $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.toObject(message.startTimeInfo, options);
+                                if (message.endTimeInfo != null && message.hasOwnProperty("endTimeInfo"))
+                                    object.endTimeInfo = $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.toObject(message.endTimeInfo, options);
+                                if (message.limit != null && message.hasOwnProperty("limit"))
+                                    object.limit = message.limit;
+                                if (message.offset != null && message.hasOwnProperty("offset"))
+                                    object.offset = message.offset;
+                                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 GetContestedResourceVotersForIdentityRequestV0 to JSON.
+                             * Converts this GetVotePollsByEndDateRequestV0 to JSON.
                              * @function toJSON
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0
                              * @instance
                              * @returns {Object.} JSON object
                              */
-                            GetContestedResourceVotersForIdentityRequestV0.prototype.toJSON = function toJSON() {
+                            GetVotePollsByEndDateRequestV0.prototype.toJSON = function toJSON() {
                                 return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
                             };
 
-                            GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo = (function() {
+                            GetVotePollsByEndDateRequestV0.StartAtTimeInfo = (function() {
 
                                 /**
-                                 * Properties of a StartAtIdentifierInfo.
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0
-                                 * @interface IStartAtIdentifierInfo
-                                 * @property {Uint8Array|null} [startIdentifier] StartAtIdentifierInfo startIdentifier
-                                 * @property {boolean|null} [startIdentifierIncluded] StartAtIdentifierInfo startIdentifierIncluded
+                                 * Properties of a StartAtTimeInfo.
+                                 * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0
+                                 * @interface IStartAtTimeInfo
+                                 * @property {number|Long|null} [startTimeMs] StartAtTimeInfo startTimeMs
+                                 * @property {boolean|null} [startTimeIncluded] StartAtTimeInfo startTimeIncluded
                                  */
 
                                 /**
-                                 * Constructs a new StartAtIdentifierInfo.
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0
-                                 * @classdesc Represents a StartAtIdentifierInfo.
-                                 * @implements IStartAtIdentifierInfo
+                                 * Constructs a new StartAtTimeInfo.
+                                 * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0
+                                 * @classdesc Represents a StartAtTimeInfo.
+                                 * @implements IStartAtTimeInfo
                                  * @constructor
-                                 * @param {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.IStartAtIdentifierInfo=} [properties] Properties to set
+                                 * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.IStartAtTimeInfo=} [properties] Properties to set
                                  */
-                                function StartAtIdentifierInfo(properties) {
+                                function StartAtTimeInfo(properties) {
                                     if (properties)
                                         for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
                                             if (properties[keys[i]] != null)
@@ -33653,88 +32850,88 @@ $root.org = (function() {
                                 }
 
                                 /**
-                                 * StartAtIdentifierInfo startIdentifier.
-                                 * @member {Uint8Array} startIdentifier
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo
+                                 * StartAtTimeInfo startTimeMs.
+                                 * @member {number|Long} startTimeMs
+                                 * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo
                                  * @instance
                                  */
-                                StartAtIdentifierInfo.prototype.startIdentifier = $util.newBuffer([]);
+                                StartAtTimeInfo.prototype.startTimeMs = $util.Long ? $util.Long.fromBits(0,0,true) : 0;
 
                                 /**
-                                 * StartAtIdentifierInfo startIdentifierIncluded.
-                                 * @member {boolean} startIdentifierIncluded
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo
+                                 * StartAtTimeInfo startTimeIncluded.
+                                 * @member {boolean} startTimeIncluded
+                                 * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo
                                  * @instance
                                  */
-                                StartAtIdentifierInfo.prototype.startIdentifierIncluded = false;
+                                StartAtTimeInfo.prototype.startTimeIncluded = false;
 
                                 /**
-                                 * Creates a new StartAtIdentifierInfo instance using the specified properties.
+                                 * Creates a new StartAtTimeInfo instance using the specified properties.
                                  * @function create
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo
+                                 * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo
                                  * @static
-                                 * @param {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.IStartAtIdentifierInfo=} [properties] Properties to set
-                                 * @returns {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo} StartAtIdentifierInfo instance
+                                 * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.IStartAtTimeInfo=} [properties] Properties to set
+                                 * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo} StartAtTimeInfo instance
                                  */
-                                StartAtIdentifierInfo.create = function create(properties) {
-                                    return new StartAtIdentifierInfo(properties);
+                                StartAtTimeInfo.create = function create(properties) {
+                                    return new StartAtTimeInfo(properties);
                                 };
 
                                 /**
-                                 * Encodes the specified StartAtIdentifierInfo message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.verify|verify} messages.
+                                 * Encodes the specified StartAtTimeInfo message. Does not implicitly {@link org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.verify|verify} messages.
                                  * @function encode
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo
+                                 * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo
                                  * @static
-                                 * @param {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.IStartAtIdentifierInfo} message StartAtIdentifierInfo message or plain object to encode
+                                 * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.IStartAtTimeInfo} message StartAtTimeInfo message or plain object to encode
                                  * @param {$protobuf.Writer} [writer] Writer to encode to
                                  * @returns {$protobuf.Writer} Writer
                                  */
-                                StartAtIdentifierInfo.encode = function encode(message, writer) {
+                                StartAtTimeInfo.encode = function encode(message, writer) {
                                     if (!writer)
                                         writer = $Writer.create();
-                                    if (message.startIdentifier != null && Object.hasOwnProperty.call(message, "startIdentifier"))
-                                        writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.startIdentifier);
-                                    if (message.startIdentifierIncluded != null && Object.hasOwnProperty.call(message, "startIdentifierIncluded"))
-                                        writer.uint32(/* id 2, wireType 0 =*/16).bool(message.startIdentifierIncluded);
+                                    if (message.startTimeMs != null && Object.hasOwnProperty.call(message, "startTimeMs"))
+                                        writer.uint32(/* id 1, wireType 0 =*/8).uint64(message.startTimeMs);
+                                    if (message.startTimeIncluded != null && Object.hasOwnProperty.call(message, "startTimeIncluded"))
+                                        writer.uint32(/* id 2, wireType 0 =*/16).bool(message.startTimeIncluded);
                                     return writer;
                                 };
 
                                 /**
-                                 * Encodes the specified StartAtIdentifierInfo message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.verify|verify} messages.
+                                 * Encodes the specified StartAtTimeInfo message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.verify|verify} messages.
                                  * @function encodeDelimited
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo
+                                 * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo
                                  * @static
-                                 * @param {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.IStartAtIdentifierInfo} message StartAtIdentifierInfo message or plain object to encode
+                                 * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.IStartAtTimeInfo} message StartAtTimeInfo message or plain object to encode
                                  * @param {$protobuf.Writer} [writer] Writer to encode to
                                  * @returns {$protobuf.Writer} Writer
                                  */
-                                StartAtIdentifierInfo.encodeDelimited = function encodeDelimited(message, writer) {
+                                StartAtTimeInfo.encodeDelimited = function encodeDelimited(message, writer) {
                                     return this.encode(message, writer).ldelim();
                                 };
 
                                 /**
-                                 * Decodes a StartAtIdentifierInfo message from the specified reader or buffer.
+                                 * Decodes a StartAtTimeInfo message from the specified reader or buffer.
                                  * @function decode
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo
+                                 * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo
                                  * @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.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo} StartAtIdentifierInfo
+                                 * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo} StartAtTimeInfo
                                  * @throws {Error} If the payload is not a reader or valid buffer
                                  * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                  */
-                                StartAtIdentifierInfo.decode = function decode(reader, length) {
+                                StartAtTimeInfo.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.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo();
+                                    var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo();
                                     while (reader.pos < end) {
                                         var tag = reader.uint32();
                                         switch (tag >>> 3) {
                                         case 1:
-                                            message.startIdentifier = reader.bytes();
+                                            message.startTimeMs = reader.uint64();
                                             break;
                                         case 2:
-                                            message.startIdentifierIncluded = reader.bool();
+                                            message.startTimeIncluded = reader.bool();
                                             break;
                                         default:
                                             reader.skipType(tag & 7);
@@ -33745,131 +32942,360 @@ $root.org = (function() {
                                 };
 
                                 /**
-                                 * Decodes a StartAtIdentifierInfo message from the specified reader or buffer, length delimited.
+                                 * Decodes a StartAtTimeInfo message from the specified reader or buffer, length delimited.
                                  * @function decodeDelimited
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo
+                                 * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo
                                  * @static
                                  * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                                 * @returns {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo} StartAtIdentifierInfo
+                                 * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo} StartAtTimeInfo
                                  * @throws {Error} If the payload is not a reader or valid buffer
                                  * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                  */
-                                StartAtIdentifierInfo.decodeDelimited = function decodeDelimited(reader) {
+                                StartAtTimeInfo.decodeDelimited = function decodeDelimited(reader) {
                                     if (!(reader instanceof $Reader))
                                         reader = new $Reader(reader);
                                     return this.decode(reader, reader.uint32());
                                 };
 
                                 /**
-                                 * Verifies a StartAtIdentifierInfo message.
+                                 * Verifies a StartAtTimeInfo message.
                                  * @function verify
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo
+                                 * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo
                                  * @static
                                  * @param {Object.} message Plain object to verify
                                  * @returns {string|null} `null` if valid, otherwise the reason why it is not
                                  */
-                                StartAtIdentifierInfo.verify = function verify(message) {
+                                StartAtTimeInfo.verify = function verify(message) {
                                     if (typeof message !== "object" || message === null)
                                         return "object expected";
-                                    if (message.startIdentifier != null && message.hasOwnProperty("startIdentifier"))
-                                        if (!(message.startIdentifier && typeof message.startIdentifier.length === "number" || $util.isString(message.startIdentifier)))
-                                            return "startIdentifier: buffer expected";
-                                    if (message.startIdentifierIncluded != null && message.hasOwnProperty("startIdentifierIncluded"))
-                                        if (typeof message.startIdentifierIncluded !== "boolean")
-                                            return "startIdentifierIncluded: boolean expected";
+                                    if (message.startTimeMs != null && message.hasOwnProperty("startTimeMs"))
+                                        if (!$util.isInteger(message.startTimeMs) && !(message.startTimeMs && $util.isInteger(message.startTimeMs.low) && $util.isInteger(message.startTimeMs.high)))
+                                            return "startTimeMs: integer|Long expected";
+                                    if (message.startTimeIncluded != null && message.hasOwnProperty("startTimeIncluded"))
+                                        if (typeof message.startTimeIncluded !== "boolean")
+                                            return "startTimeIncluded: boolean expected";
                                     return null;
                                 };
 
                                 /**
-                                 * Creates a StartAtIdentifierInfo message from a plain object. Also converts values to their respective internal types.
+                                 * Creates a StartAtTimeInfo message from a plain object. Also converts values to their respective internal types.
                                  * @function fromObject
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo
+                                 * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo
                                  * @static
                                  * @param {Object.} object Plain object
-                                 * @returns {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo} StartAtIdentifierInfo
+                                 * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo} StartAtTimeInfo
                                  */
-                                StartAtIdentifierInfo.fromObject = function fromObject(object) {
-                                    if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo)
+                                StartAtTimeInfo.fromObject = function fromObject(object) {
+                                    if (object instanceof $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo)
                                         return object;
-                                    var message = new $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo();
-                                    if (object.startIdentifier != null)
-                                        if (typeof object.startIdentifier === "string")
-                                            $util.base64.decode(object.startIdentifier, message.startIdentifier = $util.newBuffer($util.base64.length(object.startIdentifier)), 0);
-                                        else if (object.startIdentifier.length >= 0)
-                                            message.startIdentifier = object.startIdentifier;
-                                    if (object.startIdentifierIncluded != null)
-                                        message.startIdentifierIncluded = Boolean(object.startIdentifierIncluded);
+                                    var message = new $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo();
+                                    if (object.startTimeMs != null)
+                                        if ($util.Long)
+                                            (message.startTimeMs = $util.Long.fromValue(object.startTimeMs)).unsigned = true;
+                                        else if (typeof object.startTimeMs === "string")
+                                            message.startTimeMs = parseInt(object.startTimeMs, 10);
+                                        else if (typeof object.startTimeMs === "number")
+                                            message.startTimeMs = object.startTimeMs;
+                                        else if (typeof object.startTimeMs === "object")
+                                            message.startTimeMs = new $util.LongBits(object.startTimeMs.low >>> 0, object.startTimeMs.high >>> 0).toNumber(true);
+                                    if (object.startTimeIncluded != null)
+                                        message.startTimeIncluded = Boolean(object.startTimeIncluded);
                                     return message;
                                 };
 
                                 /**
-                                 * Creates a plain object from a StartAtIdentifierInfo message. Also converts values to other types if specified.
+                                 * Creates a plain object from a StartAtTimeInfo message. Also converts values to other types if specified.
                                  * @function toObject
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo
+                                 * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo
                                  * @static
-                                 * @param {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo} message StartAtIdentifierInfo
+                                 * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo} message StartAtTimeInfo
                                  * @param {$protobuf.IConversionOptions} [options] Conversion options
                                  * @returns {Object.} Plain object
                                  */
-                                StartAtIdentifierInfo.toObject = function toObject(message, options) {
+                                StartAtTimeInfo.toObject = function toObject(message, options) {
                                     if (!options)
                                         options = {};
                                     var object = {};
                                     if (options.defaults) {
-                                        if (options.bytes === String)
-                                            object.startIdentifier = "";
-                                        else {
-                                            object.startIdentifier = [];
-                                            if (options.bytes !== Array)
-                                                object.startIdentifier = $util.newBuffer(object.startIdentifier);
+                                        if ($util.Long) {
+                                            var long = new $util.Long(0, 0, true);
+                                            object.startTimeMs = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;
+                                        } else
+                                            object.startTimeMs = options.longs === String ? "0" : 0;
+                                        object.startTimeIncluded = false;
+                                    }
+                                    if (message.startTimeMs != null && message.hasOwnProperty("startTimeMs"))
+                                        if (typeof message.startTimeMs === "number")
+                                            object.startTimeMs = options.longs === String ? String(message.startTimeMs) : message.startTimeMs;
+                                        else
+                                            object.startTimeMs = options.longs === String ? $util.Long.prototype.toString.call(message.startTimeMs) : options.longs === Number ? new $util.LongBits(message.startTimeMs.low >>> 0, message.startTimeMs.high >>> 0).toNumber(true) : message.startTimeMs;
+                                    if (message.startTimeIncluded != null && message.hasOwnProperty("startTimeIncluded"))
+                                        object.startTimeIncluded = message.startTimeIncluded;
+                                    return object;
+                                };
+
+                                /**
+                                 * Converts this StartAtTimeInfo to JSON.
+                                 * @function toJSON
+                                 * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo
+                                 * @instance
+                                 * @returns {Object.} JSON object
+                                 */
+                                StartAtTimeInfo.prototype.toJSON = function toJSON() {
+                                    return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+                                };
+
+                                return StartAtTimeInfo;
+                            })();
+
+                            GetVotePollsByEndDateRequestV0.EndAtTimeInfo = (function() {
+
+                                /**
+                                 * Properties of an EndAtTimeInfo.
+                                 * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0
+                                 * @interface IEndAtTimeInfo
+                                 * @property {number|Long|null} [endTimeMs] EndAtTimeInfo endTimeMs
+                                 * @property {boolean|null} [endTimeIncluded] EndAtTimeInfo endTimeIncluded
+                                 */
+
+                                /**
+                                 * Constructs a new EndAtTimeInfo.
+                                 * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0
+                                 * @classdesc Represents an EndAtTimeInfo.
+                                 * @implements IEndAtTimeInfo
+                                 * @constructor
+                                 * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.IEndAtTimeInfo=} [properties] Properties to set
+                                 */
+                                function EndAtTimeInfo(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]];
+                                }
+
+                                /**
+                                 * EndAtTimeInfo endTimeMs.
+                                 * @member {number|Long} endTimeMs
+                                 * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo
+                                 * @instance
+                                 */
+                                EndAtTimeInfo.prototype.endTimeMs = $util.Long ? $util.Long.fromBits(0,0,true) : 0;
+
+                                /**
+                                 * EndAtTimeInfo endTimeIncluded.
+                                 * @member {boolean} endTimeIncluded
+                                 * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo
+                                 * @instance
+                                 */
+                                EndAtTimeInfo.prototype.endTimeIncluded = false;
+
+                                /**
+                                 * Creates a new EndAtTimeInfo instance using the specified properties.
+                                 * @function create
+                                 * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo
+                                 * @static
+                                 * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.IEndAtTimeInfo=} [properties] Properties to set
+                                 * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo} EndAtTimeInfo instance
+                                 */
+                                EndAtTimeInfo.create = function create(properties) {
+                                    return new EndAtTimeInfo(properties);
+                                };
+
+                                /**
+                                 * Encodes the specified EndAtTimeInfo message. Does not implicitly {@link org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.verify|verify} messages.
+                                 * @function encode
+                                 * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo
+                                 * @static
+                                 * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.IEndAtTimeInfo} message EndAtTimeInfo message or plain object to encode
+                                 * @param {$protobuf.Writer} [writer] Writer to encode to
+                                 * @returns {$protobuf.Writer} Writer
+                                 */
+                                EndAtTimeInfo.encode = function encode(message, writer) {
+                                    if (!writer)
+                                        writer = $Writer.create();
+                                    if (message.endTimeMs != null && Object.hasOwnProperty.call(message, "endTimeMs"))
+                                        writer.uint32(/* id 1, wireType 0 =*/8).uint64(message.endTimeMs);
+                                    if (message.endTimeIncluded != null && Object.hasOwnProperty.call(message, "endTimeIncluded"))
+                                        writer.uint32(/* id 2, wireType 0 =*/16).bool(message.endTimeIncluded);
+                                    return writer;
+                                };
+
+                                /**
+                                 * Encodes the specified EndAtTimeInfo message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.verify|verify} messages.
+                                 * @function encodeDelimited
+                                 * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo
+                                 * @static
+                                 * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.IEndAtTimeInfo} message EndAtTimeInfo message or plain object to encode
+                                 * @param {$protobuf.Writer} [writer] Writer to encode to
+                                 * @returns {$protobuf.Writer} Writer
+                                 */
+                                EndAtTimeInfo.encodeDelimited = function encodeDelimited(message, writer) {
+                                    return this.encode(message, writer).ldelim();
+                                };
+
+                                /**
+                                 * Decodes an EndAtTimeInfo message from the specified reader or buffer.
+                                 * @function decode
+                                 * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo
+                                 * @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.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo} EndAtTimeInfo
+                                 * @throws {Error} If the payload is not a reader or valid buffer
+                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
+                                 */
+                                EndAtTimeInfo.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.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo();
+                                    while (reader.pos < end) {
+                                        var tag = reader.uint32();
+                                        switch (tag >>> 3) {
+                                        case 1:
+                                            message.endTimeMs = reader.uint64();
+                                            break;
+                                        case 2:
+                                            message.endTimeIncluded = reader.bool();
+                                            break;
+                                        default:
+                                            reader.skipType(tag & 7);
+                                            break;
                                         }
-                                        object.startIdentifierIncluded = false;
                                     }
-                                    if (message.startIdentifier != null && message.hasOwnProperty("startIdentifier"))
-                                        object.startIdentifier = options.bytes === String ? $util.base64.encode(message.startIdentifier, 0, message.startIdentifier.length) : options.bytes === Array ? Array.prototype.slice.call(message.startIdentifier) : message.startIdentifier;
-                                    if (message.startIdentifierIncluded != null && message.hasOwnProperty("startIdentifierIncluded"))
-                                        object.startIdentifierIncluded = message.startIdentifierIncluded;
+                                    return message;
+                                };
+
+                                /**
+                                 * Decodes an EndAtTimeInfo message from the specified reader or buffer, length delimited.
+                                 * @function decodeDelimited
+                                 * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo
+                                 * @static
+                                 * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+                                 * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo} EndAtTimeInfo
+                                 * @throws {Error} If the payload is not a reader or valid buffer
+                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
+                                 */
+                                EndAtTimeInfo.decodeDelimited = function decodeDelimited(reader) {
+                                    if (!(reader instanceof $Reader))
+                                        reader = new $Reader(reader);
+                                    return this.decode(reader, reader.uint32());
+                                };
+
+                                /**
+                                 * Verifies an EndAtTimeInfo message.
+                                 * @function verify
+                                 * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo
+                                 * @static
+                                 * @param {Object.} message Plain object to verify
+                                 * @returns {string|null} `null` if valid, otherwise the reason why it is not
+                                 */
+                                EndAtTimeInfo.verify = function verify(message) {
+                                    if (typeof message !== "object" || message === null)
+                                        return "object expected";
+                                    if (message.endTimeMs != null && message.hasOwnProperty("endTimeMs"))
+                                        if (!$util.isInteger(message.endTimeMs) && !(message.endTimeMs && $util.isInteger(message.endTimeMs.low) && $util.isInteger(message.endTimeMs.high)))
+                                            return "endTimeMs: integer|Long expected";
+                                    if (message.endTimeIncluded != null && message.hasOwnProperty("endTimeIncluded"))
+                                        if (typeof message.endTimeIncluded !== "boolean")
+                                            return "endTimeIncluded: boolean expected";
+                                    return null;
+                                };
+
+                                /**
+                                 * Creates an EndAtTimeInfo message from a plain object. Also converts values to their respective internal types.
+                                 * @function fromObject
+                                 * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo
+                                 * @static
+                                 * @param {Object.} object Plain object
+                                 * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo} EndAtTimeInfo
+                                 */
+                                EndAtTimeInfo.fromObject = function fromObject(object) {
+                                    if (object instanceof $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo)
+                                        return object;
+                                    var message = new $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo();
+                                    if (object.endTimeMs != null)
+                                        if ($util.Long)
+                                            (message.endTimeMs = $util.Long.fromValue(object.endTimeMs)).unsigned = true;
+                                        else if (typeof object.endTimeMs === "string")
+                                            message.endTimeMs = parseInt(object.endTimeMs, 10);
+                                        else if (typeof object.endTimeMs === "number")
+                                            message.endTimeMs = object.endTimeMs;
+                                        else if (typeof object.endTimeMs === "object")
+                                            message.endTimeMs = new $util.LongBits(object.endTimeMs.low >>> 0, object.endTimeMs.high >>> 0).toNumber(true);
+                                    if (object.endTimeIncluded != null)
+                                        message.endTimeIncluded = Boolean(object.endTimeIncluded);
+                                    return message;
+                                };
+
+                                /**
+                                 * Creates a plain object from an EndAtTimeInfo message. Also converts values to other types if specified.
+                                 * @function toObject
+                                 * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo
+                                 * @static
+                                 * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo} message EndAtTimeInfo
+                                 * @param {$protobuf.IConversionOptions} [options] Conversion options
+                                 * @returns {Object.} Plain object
+                                 */
+                                EndAtTimeInfo.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.endTimeMs = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;
+                                        } else
+                                            object.endTimeMs = options.longs === String ? "0" : 0;
+                                        object.endTimeIncluded = false;
+                                    }
+                                    if (message.endTimeMs != null && message.hasOwnProperty("endTimeMs"))
+                                        if (typeof message.endTimeMs === "number")
+                                            object.endTimeMs = options.longs === String ? String(message.endTimeMs) : message.endTimeMs;
+                                        else
+                                            object.endTimeMs = options.longs === String ? $util.Long.prototype.toString.call(message.endTimeMs) : options.longs === Number ? new $util.LongBits(message.endTimeMs.low >>> 0, message.endTimeMs.high >>> 0).toNumber(true) : message.endTimeMs;
+                                    if (message.endTimeIncluded != null && message.hasOwnProperty("endTimeIncluded"))
+                                        object.endTimeIncluded = message.endTimeIncluded;
                                     return object;
                                 };
 
                                 /**
-                                 * Converts this StartAtIdentifierInfo to JSON.
+                                 * Converts this EndAtTimeInfo to JSON.
                                  * @function toJSON
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo
+                                 * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo
                                  * @instance
                                  * @returns {Object.} JSON object
                                  */
-                                StartAtIdentifierInfo.prototype.toJSON = function toJSON() {
+                                EndAtTimeInfo.prototype.toJSON = function toJSON() {
                                     return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
                                 };
 
-                                return StartAtIdentifierInfo;
+                                return EndAtTimeInfo;
                             })();
 
-                            return GetContestedResourceVotersForIdentityRequestV0;
+                            return GetVotePollsByEndDateRequestV0;
                         })();
 
-                        return GetContestedResourceVotersForIdentityRequest;
+                        return GetVotePollsByEndDateRequest;
                     })();
 
-                    v0.GetContestedResourceVotersForIdentityResponse = (function() {
+                    v0.GetVotePollsByEndDateResponse = (function() {
 
                         /**
-                         * Properties of a GetContestedResourceVotersForIdentityResponse.
+                         * Properties of a GetVotePollsByEndDateResponse.
                          * @memberof org.dash.platform.dapi.v0
-                         * @interface IGetContestedResourceVotersForIdentityResponse
-                         * @property {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.IGetContestedResourceVotersForIdentityResponseV0|null} [v0] GetContestedResourceVotersForIdentityResponse v0
+                         * @interface IGetVotePollsByEndDateResponse
+                         * @property {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.IGetVotePollsByEndDateResponseV0|null} [v0] GetVotePollsByEndDateResponse v0
                          */
 
                         /**
-                         * Constructs a new GetContestedResourceVotersForIdentityResponse.
+                         * Constructs a new GetVotePollsByEndDateResponse.
                          * @memberof org.dash.platform.dapi.v0
-                         * @classdesc Represents a GetContestedResourceVotersForIdentityResponse.
-                         * @implements IGetContestedResourceVotersForIdentityResponse
+                         * @classdesc Represents a GetVotePollsByEndDateResponse.
+                         * @implements IGetVotePollsByEndDateResponse
                          * @constructor
-                         * @param {org.dash.platform.dapi.v0.IGetContestedResourceVotersForIdentityResponse=} [properties] Properties to set
+                         * @param {org.dash.platform.dapi.v0.IGetVotePollsByEndDateResponse=} [properties] Properties to set
                          */
-                        function GetContestedResourceVotersForIdentityResponse(properties) {
+                        function GetVotePollsByEndDateResponse(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
                                     if (properties[keys[i]] != null)
@@ -33877,89 +33303,89 @@ $root.org = (function() {
                         }
 
                         /**
-                         * GetContestedResourceVotersForIdentityResponse v0.
-                         * @member {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.IGetContestedResourceVotersForIdentityResponseV0|null|undefined} v0
-                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse
+                         * GetVotePollsByEndDateResponse v0.
+                         * @member {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.IGetVotePollsByEndDateResponseV0|null|undefined} v0
+                         * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse
                          * @instance
                          */
-                        GetContestedResourceVotersForIdentityResponse.prototype.v0 = null;
+                        GetVotePollsByEndDateResponse.prototype.v0 = null;
 
                         // OneOf field names bound to virtual getters and setters
                         var $oneOfFields;
 
                         /**
-                         * GetContestedResourceVotersForIdentityResponse version.
+                         * GetVotePollsByEndDateResponse version.
                          * @member {"v0"|undefined} version
-                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse
+                         * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse
                          * @instance
                          */
-                        Object.defineProperty(GetContestedResourceVotersForIdentityResponse.prototype, "version", {
+                        Object.defineProperty(GetVotePollsByEndDateResponse.prototype, "version", {
                             get: $util.oneOfGetter($oneOfFields = ["v0"]),
                             set: $util.oneOfSetter($oneOfFields)
                         });
 
                         /**
-                         * Creates a new GetContestedResourceVotersForIdentityResponse instance using the specified properties.
+                         * Creates a new GetVotePollsByEndDateResponse instance using the specified properties.
                          * @function create
-                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse
+                         * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse
                          * @static
-                         * @param {org.dash.platform.dapi.v0.IGetContestedResourceVotersForIdentityResponse=} [properties] Properties to set
-                         * @returns {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse} GetContestedResourceVotersForIdentityResponse instance
+                         * @param {org.dash.platform.dapi.v0.IGetVotePollsByEndDateResponse=} [properties] Properties to set
+                         * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse} GetVotePollsByEndDateResponse instance
                          */
-                        GetContestedResourceVotersForIdentityResponse.create = function create(properties) {
-                            return new GetContestedResourceVotersForIdentityResponse(properties);
+                        GetVotePollsByEndDateResponse.create = function create(properties) {
+                            return new GetVotePollsByEndDateResponse(properties);
                         };
 
                         /**
-                         * Encodes the specified GetContestedResourceVotersForIdentityResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.verify|verify} messages.
+                         * Encodes the specified GetVotePollsByEndDateResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.verify|verify} messages.
                          * @function encode
-                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse
+                         * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse
                          * @static
-                         * @param {org.dash.platform.dapi.v0.IGetContestedResourceVotersForIdentityResponse} message GetContestedResourceVotersForIdentityResponse message or plain object to encode
+                         * @param {org.dash.platform.dapi.v0.IGetVotePollsByEndDateResponse} message GetVotePollsByEndDateResponse message or plain object to encode
                          * @param {$protobuf.Writer} [writer] Writer to encode to
                          * @returns {$protobuf.Writer} Writer
                          */
-                        GetContestedResourceVotersForIdentityResponse.encode = function encode(message, writer) {
+                        GetVotePollsByEndDateResponse.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.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+                                $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
                             return writer;
                         };
 
                         /**
-                         * Encodes the specified GetContestedResourceVotersForIdentityResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.verify|verify} messages.
+                         * Encodes the specified GetVotePollsByEndDateResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.verify|verify} messages.
                          * @function encodeDelimited
-                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse
+                         * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse
                          * @static
-                         * @param {org.dash.platform.dapi.v0.IGetContestedResourceVotersForIdentityResponse} message GetContestedResourceVotersForIdentityResponse message or plain object to encode
+                         * @param {org.dash.platform.dapi.v0.IGetVotePollsByEndDateResponse} message GetVotePollsByEndDateResponse message or plain object to encode
                          * @param {$protobuf.Writer} [writer] Writer to encode to
                          * @returns {$protobuf.Writer} Writer
                          */
-                        GetContestedResourceVotersForIdentityResponse.encodeDelimited = function encodeDelimited(message, writer) {
+                        GetVotePollsByEndDateResponse.encodeDelimited = function encodeDelimited(message, writer) {
                             return this.encode(message, writer).ldelim();
                         };
 
                         /**
-                         * Decodes a GetContestedResourceVotersForIdentityResponse message from the specified reader or buffer.
+                         * Decodes a GetVotePollsByEndDateResponse message from the specified reader or buffer.
                          * @function decode
-                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse
+                         * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse
                          * @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.GetContestedResourceVotersForIdentityResponse} GetContestedResourceVotersForIdentityResponse
+                         * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse} GetVotePollsByEndDateResponse
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        GetContestedResourceVotersForIdentityResponse.decode = function decode(reader, length) {
+                        GetVotePollsByEndDateResponse.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.GetContestedResourceVotersForIdentityResponse();
+                            var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
                                 switch (tag >>> 3) {
                                 case 1:
-                                    message.v0 = $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.decode(reader, reader.uint32());
+                                    message.v0 = $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.decode(reader, reader.uint32());
                                     break;
                                 default:
                                     reader.skipType(tag & 7);
@@ -33970,37 +33396,37 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Decodes a GetContestedResourceVotersForIdentityResponse message from the specified reader or buffer, length delimited.
+                         * Decodes a GetVotePollsByEndDateResponse message from the specified reader or buffer, length delimited.
                          * @function decodeDelimited
-                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse
+                         * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse
                          * @static
                          * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                         * @returns {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse} GetContestedResourceVotersForIdentityResponse
+                         * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse} GetVotePollsByEndDateResponse
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        GetContestedResourceVotersForIdentityResponse.decodeDelimited = function decodeDelimited(reader) {
+                        GetVotePollsByEndDateResponse.decodeDelimited = function decodeDelimited(reader) {
                             if (!(reader instanceof $Reader))
                                 reader = new $Reader(reader);
                             return this.decode(reader, reader.uint32());
                         };
 
                         /**
-                         * Verifies a GetContestedResourceVotersForIdentityResponse message.
+                         * Verifies a GetVotePollsByEndDateResponse message.
                          * @function verify
-                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse
+                         * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse
                          * @static
                          * @param {Object.} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        GetContestedResourceVotersForIdentityResponse.verify = function verify(message) {
+                        GetVotePollsByEndDateResponse.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.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.verify(message.v0);
+                                    var error = $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.verify(message.v0);
                                     if (error)
                                         return "v0." + error;
                                 }
@@ -34009,40 +33435,40 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Creates a GetContestedResourceVotersForIdentityResponse message from a plain object. Also converts values to their respective internal types.
+                         * Creates a GetVotePollsByEndDateResponse message from a plain object. Also converts values to their respective internal types.
                          * @function fromObject
-                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse
+                         * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse
                          * @static
                          * @param {Object.} object Plain object
-                         * @returns {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse} GetContestedResourceVotersForIdentityResponse
+                         * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse} GetVotePollsByEndDateResponse
                          */
-                        GetContestedResourceVotersForIdentityResponse.fromObject = function fromObject(object) {
-                            if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse)
+                        GetVotePollsByEndDateResponse.fromObject = function fromObject(object) {
+                            if (object instanceof $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse)
                                 return object;
-                            var message = new $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse();
+                            var message = new $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse();
                             if (object.v0 != null) {
                                 if (typeof object.v0 !== "object")
-                                    throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.v0: object expected");
-                                message.v0 = $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.fromObject(object.v0);
+                                    throw TypeError(".org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.v0: object expected");
+                                message.v0 = $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.fromObject(object.v0);
                             }
                             return message;
                         };
 
                         /**
-                         * Creates a plain object from a GetContestedResourceVotersForIdentityResponse message. Also converts values to other types if specified.
+                         * Creates a plain object from a GetVotePollsByEndDateResponse message. Also converts values to other types if specified.
                          * @function toObject
-                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse
+                         * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse
                          * @static
-                         * @param {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse} message GetContestedResourceVotersForIdentityResponse
+                         * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse} message GetVotePollsByEndDateResponse
                          * @param {$protobuf.IConversionOptions} [options] Conversion options
                          * @returns {Object.} Plain object
                          */
-                        GetContestedResourceVotersForIdentityResponse.toObject = function toObject(message, options) {
+                        GetVotePollsByEndDateResponse.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.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.toObject(message.v0, options);
+                                object.v0 = $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.toObject(message.v0, options);
                                 if (options.oneofs)
                                     object.version = "v0";
                             }
@@ -34050,36 +33476,36 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Converts this GetContestedResourceVotersForIdentityResponse to JSON.
+                         * Converts this GetVotePollsByEndDateResponse to JSON.
                          * @function toJSON
-                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse
+                         * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse
                          * @instance
                          * @returns {Object.} JSON object
                          */
-                        GetContestedResourceVotersForIdentityResponse.prototype.toJSON = function toJSON() {
+                        GetVotePollsByEndDateResponse.prototype.toJSON = function toJSON() {
                             return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
                         };
 
-                        GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0 = (function() {
+                        GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0 = (function() {
 
                             /**
-                             * Properties of a GetContestedResourceVotersForIdentityResponseV0.
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse
-                             * @interface IGetContestedResourceVotersForIdentityResponseV0
-                             * @property {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.IContestedResourceVoters|null} [contestedResourceVoters] GetContestedResourceVotersForIdentityResponseV0 contestedResourceVoters
-                             * @property {org.dash.platform.dapi.v0.IProof|null} [proof] GetContestedResourceVotersForIdentityResponseV0 proof
-                             * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetContestedResourceVotersForIdentityResponseV0 metadata
+                             * Properties of a GetVotePollsByEndDateResponseV0.
+                             * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse
+                             * @interface IGetVotePollsByEndDateResponseV0
+                             * @property {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.ISerializedVotePollsByTimestamps|null} [votePollsByTimestamps] GetVotePollsByEndDateResponseV0 votePollsByTimestamps
+                             * @property {org.dash.platform.dapi.v0.IProof|null} [proof] GetVotePollsByEndDateResponseV0 proof
+                             * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetVotePollsByEndDateResponseV0 metadata
                              */
 
                             /**
-                             * Constructs a new GetContestedResourceVotersForIdentityResponseV0.
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse
-                             * @classdesc Represents a GetContestedResourceVotersForIdentityResponseV0.
-                             * @implements IGetContestedResourceVotersForIdentityResponseV0
+                             * Constructs a new GetVotePollsByEndDateResponseV0.
+                             * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse
+                             * @classdesc Represents a GetVotePollsByEndDateResponseV0.
+                             * @implements IGetVotePollsByEndDateResponseV0
                              * @constructor
-                             * @param {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.IGetContestedResourceVotersForIdentityResponseV0=} [properties] Properties to set
+                             * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.IGetVotePollsByEndDateResponseV0=} [properties] Properties to set
                              */
-                            function GetContestedResourceVotersForIdentityResponseV0(properties) {
+                            function GetVotePollsByEndDateResponseV0(properties) {
                                 if (properties)
                                     for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
                                         if (properties[keys[i]] != null)
@@ -34087,69 +33513,69 @@ $root.org = (function() {
                             }
 
                             /**
-                             * GetContestedResourceVotersForIdentityResponseV0 contestedResourceVoters.
-                             * @member {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.IContestedResourceVoters|null|undefined} contestedResourceVoters
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0
+                             * GetVotePollsByEndDateResponseV0 votePollsByTimestamps.
+                             * @member {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.ISerializedVotePollsByTimestamps|null|undefined} votePollsByTimestamps
+                             * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0
                              * @instance
                              */
-                            GetContestedResourceVotersForIdentityResponseV0.prototype.contestedResourceVoters = null;
+                            GetVotePollsByEndDateResponseV0.prototype.votePollsByTimestamps = null;
 
                             /**
-                             * GetContestedResourceVotersForIdentityResponseV0 proof.
+                             * GetVotePollsByEndDateResponseV0 proof.
                              * @member {org.dash.platform.dapi.v0.IProof|null|undefined} proof
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0
                              * @instance
                              */
-                            GetContestedResourceVotersForIdentityResponseV0.prototype.proof = null;
+                            GetVotePollsByEndDateResponseV0.prototype.proof = null;
 
                             /**
-                             * GetContestedResourceVotersForIdentityResponseV0 metadata.
+                             * GetVotePollsByEndDateResponseV0 metadata.
                              * @member {org.dash.platform.dapi.v0.IResponseMetadata|null|undefined} metadata
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0
                              * @instance
                              */
-                            GetContestedResourceVotersForIdentityResponseV0.prototype.metadata = null;
+                            GetVotePollsByEndDateResponseV0.prototype.metadata = null;
 
                             // OneOf field names bound to virtual getters and setters
                             var $oneOfFields;
 
                             /**
-                             * GetContestedResourceVotersForIdentityResponseV0 result.
-                             * @member {"contestedResourceVoters"|"proof"|undefined} result
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0
+                             * GetVotePollsByEndDateResponseV0 result.
+                             * @member {"votePollsByTimestamps"|"proof"|undefined} result
+                             * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0
                              * @instance
                              */
-                            Object.defineProperty(GetContestedResourceVotersForIdentityResponseV0.prototype, "result", {
-                                get: $util.oneOfGetter($oneOfFields = ["contestedResourceVoters", "proof"]),
+                            Object.defineProperty(GetVotePollsByEndDateResponseV0.prototype, "result", {
+                                get: $util.oneOfGetter($oneOfFields = ["votePollsByTimestamps", "proof"]),
                                 set: $util.oneOfSetter($oneOfFields)
                             });
 
                             /**
-                             * Creates a new GetContestedResourceVotersForIdentityResponseV0 instance using the specified properties.
+                             * Creates a new GetVotePollsByEndDateResponseV0 instance using the specified properties.
                              * @function create
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.IGetContestedResourceVotersForIdentityResponseV0=} [properties] Properties to set
-                             * @returns {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0} GetContestedResourceVotersForIdentityResponseV0 instance
+                             * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.IGetVotePollsByEndDateResponseV0=} [properties] Properties to set
+                             * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0} GetVotePollsByEndDateResponseV0 instance
                              */
-                            GetContestedResourceVotersForIdentityResponseV0.create = function create(properties) {
-                                return new GetContestedResourceVotersForIdentityResponseV0(properties);
+                            GetVotePollsByEndDateResponseV0.create = function create(properties) {
+                                return new GetVotePollsByEndDateResponseV0(properties);
                             };
 
                             /**
-                             * Encodes the specified GetContestedResourceVotersForIdentityResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.verify|verify} messages.
+                             * Encodes the specified GetVotePollsByEndDateResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.verify|verify} messages.
                              * @function encode
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.IGetContestedResourceVotersForIdentityResponseV0} message GetContestedResourceVotersForIdentityResponseV0 message or plain object to encode
+                             * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.IGetVotePollsByEndDateResponseV0} message GetVotePollsByEndDateResponseV0 message or plain object to encode
                              * @param {$protobuf.Writer} [writer] Writer to encode to
                              * @returns {$protobuf.Writer} Writer
                              */
-                            GetContestedResourceVotersForIdentityResponseV0.encode = function encode(message, writer) {
+                            GetVotePollsByEndDateResponseV0.encode = function encode(message, writer) {
                                 if (!writer)
                                     writer = $Writer.create();
-                                if (message.contestedResourceVoters != null && Object.hasOwnProperty.call(message, "contestedResourceVoters"))
-                                    $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.encode(message.contestedResourceVoters, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+                                if (message.votePollsByTimestamps != null && Object.hasOwnProperty.call(message, "votePollsByTimestamps"))
+                                    $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.encode(message.votePollsByTimestamps, 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"))
@@ -34158,38 +33584,38 @@ $root.org = (function() {
                             };
 
                             /**
-                             * Encodes the specified GetContestedResourceVotersForIdentityResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.verify|verify} messages.
+                             * Encodes the specified GetVotePollsByEndDateResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.verify|verify} messages.
                              * @function encodeDelimited
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.IGetContestedResourceVotersForIdentityResponseV0} message GetContestedResourceVotersForIdentityResponseV0 message or plain object to encode
+                             * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.IGetVotePollsByEndDateResponseV0} message GetVotePollsByEndDateResponseV0 message or plain object to encode
                              * @param {$protobuf.Writer} [writer] Writer to encode to
                              * @returns {$protobuf.Writer} Writer
                              */
-                            GetContestedResourceVotersForIdentityResponseV0.encodeDelimited = function encodeDelimited(message, writer) {
+                            GetVotePollsByEndDateResponseV0.encodeDelimited = function encodeDelimited(message, writer) {
                                 return this.encode(message, writer).ldelim();
                             };
 
                             /**
-                             * Decodes a GetContestedResourceVotersForIdentityResponseV0 message from the specified reader or buffer.
+                             * Decodes a GetVotePollsByEndDateResponseV0 message from the specified reader or buffer.
                              * @function decode
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0
                              * @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.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0} GetContestedResourceVotersForIdentityResponseV0
+                             * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0} GetVotePollsByEndDateResponseV0
                              * @throws {Error} If the payload is not a reader or valid buffer
                              * @throws {$protobuf.util.ProtocolError} If required fields are missing
                              */
-                            GetContestedResourceVotersForIdentityResponseV0.decode = function decode(reader, length) {
+                            GetVotePollsByEndDateResponseV0.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.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0();
+                                var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0();
                                 while (reader.pos < end) {
                                     var tag = reader.uint32();
                                     switch (tag >>> 3) {
                                     case 1:
-                                        message.contestedResourceVoters = $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.decode(reader, reader.uint32());
+                                        message.votePollsByTimestamps = $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.decode(reader, reader.uint32());
                                         break;
                                     case 2:
                                         message.proof = $root.org.dash.platform.dapi.v0.Proof.decode(reader, reader.uint32());
@@ -34206,39 +33632,39 @@ $root.org = (function() {
                             };
 
                             /**
-                             * Decodes a GetContestedResourceVotersForIdentityResponseV0 message from the specified reader or buffer, length delimited.
+                             * Decodes a GetVotePollsByEndDateResponseV0 message from the specified reader or buffer, length delimited.
                              * @function decodeDelimited
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0
                              * @static
                              * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                             * @returns {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0} GetContestedResourceVotersForIdentityResponseV0
+                             * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0} GetVotePollsByEndDateResponseV0
                              * @throws {Error} If the payload is not a reader or valid buffer
                              * @throws {$protobuf.util.ProtocolError} If required fields are missing
                              */
-                            GetContestedResourceVotersForIdentityResponseV0.decodeDelimited = function decodeDelimited(reader) {
+                            GetVotePollsByEndDateResponseV0.decodeDelimited = function decodeDelimited(reader) {
                                 if (!(reader instanceof $Reader))
                                     reader = new $Reader(reader);
                                 return this.decode(reader, reader.uint32());
                             };
 
                             /**
-                             * Verifies a GetContestedResourceVotersForIdentityResponseV0 message.
+                             * Verifies a GetVotePollsByEndDateResponseV0 message.
                              * @function verify
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0
                              * @static
                              * @param {Object.} message Plain object to verify
                              * @returns {string|null} `null` if valid, otherwise the reason why it is not
                              */
-                            GetContestedResourceVotersForIdentityResponseV0.verify = function verify(message) {
+                            GetVotePollsByEndDateResponseV0.verify = function verify(message) {
                                 if (typeof message !== "object" || message === null)
                                     return "object expected";
                                 var properties = {};
-                                if (message.contestedResourceVoters != null && message.hasOwnProperty("contestedResourceVoters")) {
+                                if (message.votePollsByTimestamps != null && message.hasOwnProperty("votePollsByTimestamps")) {
                                     properties.result = 1;
                                     {
-                                        var error = $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.verify(message.contestedResourceVoters);
+                                        var error = $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.verify(message.votePollsByTimestamps);
                                         if (error)
-                                            return "contestedResourceVoters." + error;
+                                            return "votePollsByTimestamps." + error;
                                     }
                                 }
                                 if (message.proof != null && message.hasOwnProperty("proof")) {
@@ -34260,54 +33686,54 @@ $root.org = (function() {
                             };
 
                             /**
-                             * Creates a GetContestedResourceVotersForIdentityResponseV0 message from a plain object. Also converts values to their respective internal types.
+                             * Creates a GetVotePollsByEndDateResponseV0 message from a plain object. Also converts values to their respective internal types.
                              * @function fromObject
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0
                              * @static
                              * @param {Object.} object Plain object
-                             * @returns {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0} GetContestedResourceVotersForIdentityResponseV0
+                             * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0} GetVotePollsByEndDateResponseV0
                              */
-                            GetContestedResourceVotersForIdentityResponseV0.fromObject = function fromObject(object) {
-                                if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0)
+                            GetVotePollsByEndDateResponseV0.fromObject = function fromObject(object) {
+                                if (object instanceof $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0)
                                     return object;
-                                var message = new $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0();
-                                if (object.contestedResourceVoters != null) {
-                                    if (typeof object.contestedResourceVoters !== "object")
-                                        throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.contestedResourceVoters: object expected");
-                                    message.contestedResourceVoters = $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.fromObject(object.contestedResourceVoters);
+                                var message = new $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0();
+                                if (object.votePollsByTimestamps != null) {
+                                    if (typeof object.votePollsByTimestamps !== "object")
+                                        throw TypeError(".org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.votePollsByTimestamps: object expected");
+                                    message.votePollsByTimestamps = $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.fromObject(object.votePollsByTimestamps);
                                 }
                                 if (object.proof != null) {
                                     if (typeof object.proof !== "object")
-                                        throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.proof: object expected");
+                                        throw TypeError(".org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.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.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.metadata: object expected");
+                                        throw TypeError(".org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.metadata: object expected");
                                     message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.fromObject(object.metadata);
                                 }
                                 return message;
                             };
 
                             /**
-                             * Creates a plain object from a GetContestedResourceVotersForIdentityResponseV0 message. Also converts values to other types if specified.
+                             * Creates a plain object from a GetVotePollsByEndDateResponseV0 message. Also converts values to other types if specified.
                              * @function toObject
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0} message GetContestedResourceVotersForIdentityResponseV0
+                             * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0} message GetVotePollsByEndDateResponseV0
                              * @param {$protobuf.IConversionOptions} [options] Conversion options
                              * @returns {Object.} Plain object
                              */
-                            GetContestedResourceVotersForIdentityResponseV0.toObject = function toObject(message, options) {
+                            GetVotePollsByEndDateResponseV0.toObject = function toObject(message, options) {
                                 if (!options)
                                     options = {};
                                 var object = {};
                                 if (options.defaults)
                                     object.metadata = null;
-                                if (message.contestedResourceVoters != null && message.hasOwnProperty("contestedResourceVoters")) {
-                                    object.contestedResourceVoters = $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.toObject(message.contestedResourceVoters, options);
+                                if (message.votePollsByTimestamps != null && message.hasOwnProperty("votePollsByTimestamps")) {
+                                    object.votePollsByTimestamps = $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.toObject(message.votePollsByTimestamps, options);
                                     if (options.oneofs)
-                                        object.result = "contestedResourceVoters";
+                                        object.result = "votePollsByTimestamps";
                                 }
                                 if (message.proof != null && message.hasOwnProperty("proof")) {
                                     object.proof = $root.org.dash.platform.dapi.v0.Proof.toObject(message.proof, options);
@@ -34320,36 +33746,36 @@ $root.org = (function() {
                             };
 
                             /**
-                             * Converts this GetContestedResourceVotersForIdentityResponseV0 to JSON.
+                             * Converts this GetVotePollsByEndDateResponseV0 to JSON.
                              * @function toJSON
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0
                              * @instance
                              * @returns {Object.} JSON object
                              */
-                            GetContestedResourceVotersForIdentityResponseV0.prototype.toJSON = function toJSON() {
+                            GetVotePollsByEndDateResponseV0.prototype.toJSON = function toJSON() {
                                 return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
                             };
 
-                            GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters = (function() {
+                            GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp = (function() {
 
                                 /**
-                                 * Properties of a ContestedResourceVoters.
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0
-                                 * @interface IContestedResourceVoters
-                                 * @property {Array.|null} [voters] ContestedResourceVoters voters
-                                 * @property {boolean|null} [finishedResults] ContestedResourceVoters finishedResults
+                                 * Properties of a SerializedVotePollsByTimestamp.
+                                 * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0
+                                 * @interface ISerializedVotePollsByTimestamp
+                                 * @property {number|Long|null} [timestamp] SerializedVotePollsByTimestamp timestamp
+                                 * @property {Array.|null} [serializedVotePolls] SerializedVotePollsByTimestamp serializedVotePolls
                                  */
 
                                 /**
-                                 * Constructs a new ContestedResourceVoters.
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0
-                                 * @classdesc Represents a ContestedResourceVoters.
-                                 * @implements IContestedResourceVoters
+                                 * Constructs a new SerializedVotePollsByTimestamp.
+                                 * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0
+                                 * @classdesc Represents a SerializedVotePollsByTimestamp.
+                                 * @implements ISerializedVotePollsByTimestamp
                                  * @constructor
-                                 * @param {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.IContestedResourceVoters=} [properties] Properties to set
+                                 * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.ISerializedVotePollsByTimestamp=} [properties] Properties to set
                                  */
-                                function ContestedResourceVoters(properties) {
-                                    this.voters = [];
+                                function SerializedVotePollsByTimestamp(properties) {
+                                    this.serializedVotePolls = [];
                                     if (properties)
                                         for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
                                             if (properties[keys[i]] != null)
@@ -34357,91 +33783,91 @@ $root.org = (function() {
                                 }
 
                                 /**
-                                 * ContestedResourceVoters voters.
-                                 * @member {Array.} voters
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters
+                                 * SerializedVotePollsByTimestamp timestamp.
+                                 * @member {number|Long} timestamp
+                                 * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp
                                  * @instance
                                  */
-                                ContestedResourceVoters.prototype.voters = $util.emptyArray;
+                                SerializedVotePollsByTimestamp.prototype.timestamp = $util.Long ? $util.Long.fromBits(0,0,true) : 0;
 
                                 /**
-                                 * ContestedResourceVoters finishedResults.
-                                 * @member {boolean} finishedResults
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters
+                                 * SerializedVotePollsByTimestamp serializedVotePolls.
+                                 * @member {Array.} serializedVotePolls
+                                 * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp
                                  * @instance
                                  */
-                                ContestedResourceVoters.prototype.finishedResults = false;
+                                SerializedVotePollsByTimestamp.prototype.serializedVotePolls = $util.emptyArray;
 
                                 /**
-                                 * Creates a new ContestedResourceVoters instance using the specified properties.
+                                 * Creates a new SerializedVotePollsByTimestamp instance using the specified properties.
                                  * @function create
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters
+                                 * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp
                                  * @static
-                                 * @param {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.IContestedResourceVoters=} [properties] Properties to set
-                                 * @returns {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters} ContestedResourceVoters instance
+                                 * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.ISerializedVotePollsByTimestamp=} [properties] Properties to set
+                                 * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp} SerializedVotePollsByTimestamp instance
                                  */
-                                ContestedResourceVoters.create = function create(properties) {
-                                    return new ContestedResourceVoters(properties);
+                                SerializedVotePollsByTimestamp.create = function create(properties) {
+                                    return new SerializedVotePollsByTimestamp(properties);
                                 };
 
                                 /**
-                                 * Encodes the specified ContestedResourceVoters message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.verify|verify} messages.
+                                 * Encodes the specified SerializedVotePollsByTimestamp message. Does not implicitly {@link org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.verify|verify} messages.
                                  * @function encode
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters
+                                 * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp
                                  * @static
-                                 * @param {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.IContestedResourceVoters} message ContestedResourceVoters message or plain object to encode
+                                 * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.ISerializedVotePollsByTimestamp} message SerializedVotePollsByTimestamp message or plain object to encode
                                  * @param {$protobuf.Writer} [writer] Writer to encode to
                                  * @returns {$protobuf.Writer} Writer
                                  */
-                                ContestedResourceVoters.encode = function encode(message, writer) {
+                                SerializedVotePollsByTimestamp.encode = function encode(message, writer) {
                                     if (!writer)
                                         writer = $Writer.create();
-                                    if (message.voters != null && message.voters.length)
-                                        for (var i = 0; i < message.voters.length; ++i)
-                                            writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.voters[i]);
-                                    if (message.finishedResults != null && Object.hasOwnProperty.call(message, "finishedResults"))
-                                        writer.uint32(/* id 2, wireType 0 =*/16).bool(message.finishedResults);
+                                    if (message.timestamp != null && Object.hasOwnProperty.call(message, "timestamp"))
+                                        writer.uint32(/* id 1, wireType 0 =*/8).uint64(message.timestamp);
+                                    if (message.serializedVotePolls != null && message.serializedVotePolls.length)
+                                        for (var i = 0; i < message.serializedVotePolls.length; ++i)
+                                            writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.serializedVotePolls[i]);
                                     return writer;
                                 };
 
                                 /**
-                                 * Encodes the specified ContestedResourceVoters message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.verify|verify} messages.
+                                 * Encodes the specified SerializedVotePollsByTimestamp message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.verify|verify} messages.
                                  * @function encodeDelimited
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters
+                                 * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp
                                  * @static
-                                 * @param {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.IContestedResourceVoters} message ContestedResourceVoters message or plain object to encode
+                                 * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.ISerializedVotePollsByTimestamp} message SerializedVotePollsByTimestamp message or plain object to encode
                                  * @param {$protobuf.Writer} [writer] Writer to encode to
                                  * @returns {$protobuf.Writer} Writer
                                  */
-                                ContestedResourceVoters.encodeDelimited = function encodeDelimited(message, writer) {
+                                SerializedVotePollsByTimestamp.encodeDelimited = function encodeDelimited(message, writer) {
                                     return this.encode(message, writer).ldelim();
                                 };
 
                                 /**
-                                 * Decodes a ContestedResourceVoters message from the specified reader or buffer.
+                                 * Decodes a SerializedVotePollsByTimestamp message from the specified reader or buffer.
                                  * @function decode
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters
+                                 * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp
                                  * @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.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters} ContestedResourceVoters
+                                 * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp} SerializedVotePollsByTimestamp
                                  * @throws {Error} If the payload is not a reader or valid buffer
                                  * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                  */
-                                ContestedResourceVoters.decode = function decode(reader, length) {
+                                SerializedVotePollsByTimestamp.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.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters();
+                                    var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp();
                                     while (reader.pos < end) {
                                         var tag = reader.uint32();
                                         switch (tag >>> 3) {
                                         case 1:
-                                            if (!(message.voters && message.voters.length))
-                                                message.voters = [];
-                                            message.voters.push(reader.bytes());
+                                            message.timestamp = reader.uint64();
                                             break;
                                         case 2:
-                                            message.finishedResults = reader.bool();
+                                            if (!(message.serializedVotePolls && message.serializedVotePolls.length))
+                                                message.serializedVotePolls = [];
+                                            message.serializedVotePolls.push(reader.bytes());
                                             break;
                                         default:
                                             reader.skipType(tag & 7);
@@ -34452,227 +33878,472 @@ $root.org = (function() {
                                 };
 
                                 /**
-                                 * Decodes a ContestedResourceVoters message from the specified reader or buffer, length delimited.
+                                 * Decodes a SerializedVotePollsByTimestamp message from the specified reader or buffer, length delimited.
                                  * @function decodeDelimited
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters
+                                 * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp
                                  * @static
                                  * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                                 * @returns {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters} ContestedResourceVoters
+                                 * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp} SerializedVotePollsByTimestamp
                                  * @throws {Error} If the payload is not a reader or valid buffer
                                  * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                  */
-                                ContestedResourceVoters.decodeDelimited = function decodeDelimited(reader) {
+                                SerializedVotePollsByTimestamp.decodeDelimited = function decodeDelimited(reader) {
                                     if (!(reader instanceof $Reader))
                                         reader = new $Reader(reader);
                                     return this.decode(reader, reader.uint32());
                                 };
 
                                 /**
-                                 * Verifies a ContestedResourceVoters message.
+                                 * Verifies a SerializedVotePollsByTimestamp message.
                                  * @function verify
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters
+                                 * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp
                                  * @static
                                  * @param {Object.} message Plain object to verify
                                  * @returns {string|null} `null` if valid, otherwise the reason why it is not
                                  */
-                                ContestedResourceVoters.verify = function verify(message) {
+                                SerializedVotePollsByTimestamp.verify = function verify(message) {
                                     if (typeof message !== "object" || message === null)
                                         return "object expected";
-                                    if (message.voters != null && message.hasOwnProperty("voters")) {
-                                        if (!Array.isArray(message.voters))
-                                            return "voters: array expected";
-                                        for (var i = 0; i < message.voters.length; ++i)
-                                            if (!(message.voters[i] && typeof message.voters[i].length === "number" || $util.isString(message.voters[i])))
-                                                return "voters: buffer[] expected";
+                                    if (message.timestamp != null && message.hasOwnProperty("timestamp"))
+                                        if (!$util.isInteger(message.timestamp) && !(message.timestamp && $util.isInteger(message.timestamp.low) && $util.isInteger(message.timestamp.high)))
+                                            return "timestamp: integer|Long expected";
+                                    if (message.serializedVotePolls != null && message.hasOwnProperty("serializedVotePolls")) {
+                                        if (!Array.isArray(message.serializedVotePolls))
+                                            return "serializedVotePolls: array expected";
+                                        for (var i = 0; i < message.serializedVotePolls.length; ++i)
+                                            if (!(message.serializedVotePolls[i] && typeof message.serializedVotePolls[i].length === "number" || $util.isString(message.serializedVotePolls[i])))
+                                                return "serializedVotePolls: buffer[] expected";
                                     }
-                                    if (message.finishedResults != null && message.hasOwnProperty("finishedResults"))
-                                        if (typeof message.finishedResults !== "boolean")
-                                            return "finishedResults: boolean expected";
                                     return null;
                                 };
 
                                 /**
-                                 * Creates a ContestedResourceVoters message from a plain object. Also converts values to their respective internal types.
+                                 * Creates a SerializedVotePollsByTimestamp message from a plain object. Also converts values to their respective internal types.
                                  * @function fromObject
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters
+                                 * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp
                                  * @static
                                  * @param {Object.} object Plain object
-                                 * @returns {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters} ContestedResourceVoters
+                                 * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp} SerializedVotePollsByTimestamp
                                  */
-                                ContestedResourceVoters.fromObject = function fromObject(object) {
-                                    if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters)
+                                SerializedVotePollsByTimestamp.fromObject = function fromObject(object) {
+                                    if (object instanceof $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp)
                                         return object;
-                                    var message = new $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters();
-                                    if (object.voters) {
-                                        if (!Array.isArray(object.voters))
-                                            throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.voters: array expected");
-                                        message.voters = [];
-                                        for (var i = 0; i < object.voters.length; ++i)
-                                            if (typeof object.voters[i] === "string")
-                                                $util.base64.decode(object.voters[i], message.voters[i] = $util.newBuffer($util.base64.length(object.voters[i])), 0);
-                                            else if (object.voters[i].length >= 0)
-                                                message.voters[i] = object.voters[i];
+                                    var message = new $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp();
+                                    if (object.timestamp != null)
+                                        if ($util.Long)
+                                            (message.timestamp = $util.Long.fromValue(object.timestamp)).unsigned = true;
+                                        else if (typeof object.timestamp === "string")
+                                            message.timestamp = parseInt(object.timestamp, 10);
+                                        else if (typeof object.timestamp === "number")
+                                            message.timestamp = object.timestamp;
+                                        else if (typeof object.timestamp === "object")
+                                            message.timestamp = new $util.LongBits(object.timestamp.low >>> 0, object.timestamp.high >>> 0).toNumber(true);
+                                    if (object.serializedVotePolls) {
+                                        if (!Array.isArray(object.serializedVotePolls))
+                                            throw TypeError(".org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.serializedVotePolls: array expected");
+                                        message.serializedVotePolls = [];
+                                        for (var i = 0; i < object.serializedVotePolls.length; ++i)
+                                            if (typeof object.serializedVotePolls[i] === "string")
+                                                $util.base64.decode(object.serializedVotePolls[i], message.serializedVotePolls[i] = $util.newBuffer($util.base64.length(object.serializedVotePolls[i])), 0);
+                                            else if (object.serializedVotePolls[i].length >= 0)
+                                                message.serializedVotePolls[i] = object.serializedVotePolls[i];
                                     }
-                                    if (object.finishedResults != null)
-                                        message.finishedResults = Boolean(object.finishedResults);
                                     return message;
                                 };
 
                                 /**
-                                 * Creates a plain object from a ContestedResourceVoters message. Also converts values to other types if specified.
+                                 * Creates a plain object from a SerializedVotePollsByTimestamp message. Also converts values to other types if specified.
                                  * @function toObject
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters
+                                 * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp
                                  * @static
-                                 * @param {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters} message ContestedResourceVoters
+                                 * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp} message SerializedVotePollsByTimestamp
                                  * @param {$protobuf.IConversionOptions} [options] Conversion options
                                  * @returns {Object.} Plain object
                                  */
-                                ContestedResourceVoters.toObject = function toObject(message, options) {
+                                SerializedVotePollsByTimestamp.toObject = function toObject(message, options) {
                                     if (!options)
                                         options = {};
                                     var object = {};
                                     if (options.arrays || options.defaults)
-                                        object.voters = [];
+                                        object.serializedVotePolls = [];
                                     if (options.defaults)
-                                        object.finishedResults = false;
-                                    if (message.voters && message.voters.length) {
-                                        object.voters = [];
-                                        for (var j = 0; j < message.voters.length; ++j)
-                                            object.voters[j] = options.bytes === String ? $util.base64.encode(message.voters[j], 0, message.voters[j].length) : options.bytes === Array ? Array.prototype.slice.call(message.voters[j]) : message.voters[j];
+                                        if ($util.Long) {
+                                            var long = new $util.Long(0, 0, true);
+                                            object.timestamp = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;
+                                        } else
+                                            object.timestamp = options.longs === String ? "0" : 0;
+                                    if (message.timestamp != null && message.hasOwnProperty("timestamp"))
+                                        if (typeof message.timestamp === "number")
+                                            object.timestamp = options.longs === String ? String(message.timestamp) : message.timestamp;
+                                        else
+                                            object.timestamp = options.longs === String ? $util.Long.prototype.toString.call(message.timestamp) : options.longs === Number ? new $util.LongBits(message.timestamp.low >>> 0, message.timestamp.high >>> 0).toNumber(true) : message.timestamp;
+                                    if (message.serializedVotePolls && message.serializedVotePolls.length) {
+                                        object.serializedVotePolls = [];
+                                        for (var j = 0; j < message.serializedVotePolls.length; ++j)
+                                            object.serializedVotePolls[j] = options.bytes === String ? $util.base64.encode(message.serializedVotePolls[j], 0, message.serializedVotePolls[j].length) : options.bytes === Array ? Array.prototype.slice.call(message.serializedVotePolls[j]) : message.serializedVotePolls[j];
                                     }
-                                    if (message.finishedResults != null && message.hasOwnProperty("finishedResults"))
-                                        object.finishedResults = message.finishedResults;
                                     return object;
                                 };
 
                                 /**
-                                 * Converts this ContestedResourceVoters to JSON.
+                                 * Converts this SerializedVotePollsByTimestamp to JSON.
                                  * @function toJSON
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters
+                                 * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp
                                  * @instance
                                  * @returns {Object.} JSON object
                                  */
-                                ContestedResourceVoters.prototype.toJSON = function toJSON() {
+                                SerializedVotePollsByTimestamp.prototype.toJSON = function toJSON() {
                                     return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
                                 };
 
-                                return ContestedResourceVoters;
+                                return SerializedVotePollsByTimestamp;
                             })();
 
-                            return GetContestedResourceVotersForIdentityResponseV0;
-                        })();
-
-                        return GetContestedResourceVotersForIdentityResponse;
-                    })();
+                            GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps = (function() {
 
-                    v0.GetContestedResourceIdentityVotesRequest = (function() {
+                                /**
+                                 * Properties of a SerializedVotePollsByTimestamps.
+                                 * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0
+                                 * @interface ISerializedVotePollsByTimestamps
+                                 * @property {Array.|null} [votePollsByTimestamps] SerializedVotePollsByTimestamps votePollsByTimestamps
+                                 * @property {boolean|null} [finishedResults] SerializedVotePollsByTimestamps finishedResults
+                                 */
 
-                        /**
-                         * Properties of a GetContestedResourceIdentityVotesRequest.
-                         * @memberof org.dash.platform.dapi.v0
-                         * @interface IGetContestedResourceIdentityVotesRequest
-                         * @property {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.IGetContestedResourceIdentityVotesRequestV0|null} [v0] GetContestedResourceIdentityVotesRequest v0
-                         */
+                                /**
+                                 * Constructs a new SerializedVotePollsByTimestamps.
+                                 * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0
+                                 * @classdesc Represents a SerializedVotePollsByTimestamps.
+                                 * @implements ISerializedVotePollsByTimestamps
+                                 * @constructor
+                                 * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.ISerializedVotePollsByTimestamps=} [properties] Properties to set
+                                 */
+                                function SerializedVotePollsByTimestamps(properties) {
+                                    this.votePollsByTimestamps = [];
+                                    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 GetContestedResourceIdentityVotesRequest.
-                         * @memberof org.dash.platform.dapi.v0
-                         * @classdesc Represents a GetContestedResourceIdentityVotesRequest.
-                         * @implements IGetContestedResourceIdentityVotesRequest
-                         * @constructor
-                         * @param {org.dash.platform.dapi.v0.IGetContestedResourceIdentityVotesRequest=} [properties] Properties to set
-                         */
-                        function GetContestedResourceIdentityVotesRequest(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]];
-                        }
+                                /**
+                                 * SerializedVotePollsByTimestamps votePollsByTimestamps.
+                                 * @member {Array.} votePollsByTimestamps
+                                 * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps
+                                 * @instance
+                                 */
+                                SerializedVotePollsByTimestamps.prototype.votePollsByTimestamps = $util.emptyArray;
 
-                        /**
-                         * GetContestedResourceIdentityVotesRequest v0.
-                         * @member {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.IGetContestedResourceIdentityVotesRequestV0|null|undefined} v0
-                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest
-                         * @instance
-                         */
-                        GetContestedResourceIdentityVotesRequest.prototype.v0 = null;
+                                /**
+                                 * SerializedVotePollsByTimestamps finishedResults.
+                                 * @member {boolean} finishedResults
+                                 * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps
+                                 * @instance
+                                 */
+                                SerializedVotePollsByTimestamps.prototype.finishedResults = false;
 
-                        // OneOf field names bound to virtual getters and setters
-                        var $oneOfFields;
+                                /**
+                                 * Creates a new SerializedVotePollsByTimestamps instance using the specified properties.
+                                 * @function create
+                                 * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps
+                                 * @static
+                                 * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.ISerializedVotePollsByTimestamps=} [properties] Properties to set
+                                 * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps} SerializedVotePollsByTimestamps instance
+                                 */
+                                SerializedVotePollsByTimestamps.create = function create(properties) {
+                                    return new SerializedVotePollsByTimestamps(properties);
+                                };
 
-                        /**
-                         * GetContestedResourceIdentityVotesRequest version.
-                         * @member {"v0"|undefined} version
-                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest
-                         * @instance
-                         */
-                        Object.defineProperty(GetContestedResourceIdentityVotesRequest.prototype, "version", {
-                            get: $util.oneOfGetter($oneOfFields = ["v0"]),
-                            set: $util.oneOfSetter($oneOfFields)
-                        });
+                                /**
+                                 * Encodes the specified SerializedVotePollsByTimestamps message. Does not implicitly {@link org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.verify|verify} messages.
+                                 * @function encode
+                                 * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps
+                                 * @static
+                                 * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.ISerializedVotePollsByTimestamps} message SerializedVotePollsByTimestamps message or plain object to encode
+                                 * @param {$protobuf.Writer} [writer] Writer to encode to
+                                 * @returns {$protobuf.Writer} Writer
+                                 */
+                                SerializedVotePollsByTimestamps.encode = function encode(message, writer) {
+                                    if (!writer)
+                                        writer = $Writer.create();
+                                    if (message.votePollsByTimestamps != null && message.votePollsByTimestamps.length)
+                                        for (var i = 0; i < message.votePollsByTimestamps.length; ++i)
+                                            $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.encode(message.votePollsByTimestamps[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+                                    if (message.finishedResults != null && Object.hasOwnProperty.call(message, "finishedResults"))
+                                        writer.uint32(/* id 2, wireType 0 =*/16).bool(message.finishedResults);
+                                    return writer;
+                                };
 
-                        /**
-                         * Creates a new GetContestedResourceIdentityVotesRequest instance using the specified properties.
-                         * @function create
-                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest
-                         * @static
-                         * @param {org.dash.platform.dapi.v0.IGetContestedResourceIdentityVotesRequest=} [properties] Properties to set
-                         * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest} GetContestedResourceIdentityVotesRequest instance
-                         */
-                        GetContestedResourceIdentityVotesRequest.create = function create(properties) {
-                            return new GetContestedResourceIdentityVotesRequest(properties);
-                        };
+                                /**
+                                 * Encodes the specified SerializedVotePollsByTimestamps message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.verify|verify} messages.
+                                 * @function encodeDelimited
+                                 * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps
+                                 * @static
+                                 * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.ISerializedVotePollsByTimestamps} message SerializedVotePollsByTimestamps message or plain object to encode
+                                 * @param {$protobuf.Writer} [writer] Writer to encode to
+                                 * @returns {$protobuf.Writer} Writer
+                                 */
+                                SerializedVotePollsByTimestamps.encodeDelimited = function encodeDelimited(message, writer) {
+                                    return this.encode(message, writer).ldelim();
+                                };
 
-                        /**
-                         * Encodes the specified GetContestedResourceIdentityVotesRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.verify|verify} messages.
-                         * @function encode
-                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest
-                         * @static
-                         * @param {org.dash.platform.dapi.v0.IGetContestedResourceIdentityVotesRequest} message GetContestedResourceIdentityVotesRequest message or plain object to encode
-                         * @param {$protobuf.Writer} [writer] Writer to encode to
-                         * @returns {$protobuf.Writer} Writer
-                         */
-                        GetContestedResourceIdentityVotesRequest.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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
-                            return writer;
-                        };
+                                /**
+                                 * Decodes a SerializedVotePollsByTimestamps message from the specified reader or buffer.
+                                 * @function decode
+                                 * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps
+                                 * @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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps} SerializedVotePollsByTimestamps
+                                 * @throws {Error} If the payload is not a reader or valid buffer
+                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
+                                 */
+                                SerializedVotePollsByTimestamps.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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps();
+                                    while (reader.pos < end) {
+                                        var tag = reader.uint32();
+                                        switch (tag >>> 3) {
+                                        case 1:
+                                            if (!(message.votePollsByTimestamps && message.votePollsByTimestamps.length))
+                                                message.votePollsByTimestamps = [];
+                                            message.votePollsByTimestamps.push($root.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.decode(reader, reader.uint32()));
+                                            break;
+                                        case 2:
+                                            message.finishedResults = reader.bool();
+                                            break;
+                                        default:
+                                            reader.skipType(tag & 7);
+                                            break;
+                                        }
+                                    }
+                                    return message;
+                                };
 
-                        /**
-                         * Encodes the specified GetContestedResourceIdentityVotesRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.verify|verify} messages.
-                         * @function encodeDelimited
-                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest
-                         * @static
-                         * @param {org.dash.platform.dapi.v0.IGetContestedResourceIdentityVotesRequest} message GetContestedResourceIdentityVotesRequest message or plain object to encode
+                                /**
+                                 * Decodes a SerializedVotePollsByTimestamps message from the specified reader or buffer, length delimited.
+                                 * @function decodeDelimited
+                                 * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps
+                                 * @static
+                                 * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+                                 * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps} SerializedVotePollsByTimestamps
+                                 * @throws {Error} If the payload is not a reader or valid buffer
+                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
+                                 */
+                                SerializedVotePollsByTimestamps.decodeDelimited = function decodeDelimited(reader) {
+                                    if (!(reader instanceof $Reader))
+                                        reader = new $Reader(reader);
+                                    return this.decode(reader, reader.uint32());
+                                };
+
+                                /**
+                                 * Verifies a SerializedVotePollsByTimestamps message.
+                                 * @function verify
+                                 * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps
+                                 * @static
+                                 * @param {Object.} message Plain object to verify
+                                 * @returns {string|null} `null` if valid, otherwise the reason why it is not
+                                 */
+                                SerializedVotePollsByTimestamps.verify = function verify(message) {
+                                    if (typeof message !== "object" || message === null)
+                                        return "object expected";
+                                    if (message.votePollsByTimestamps != null && message.hasOwnProperty("votePollsByTimestamps")) {
+                                        if (!Array.isArray(message.votePollsByTimestamps))
+                                            return "votePollsByTimestamps: array expected";
+                                        for (var i = 0; i < message.votePollsByTimestamps.length; ++i) {
+                                            var error = $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.verify(message.votePollsByTimestamps[i]);
+                                            if (error)
+                                                return "votePollsByTimestamps." + error;
+                                        }
+                                    }
+                                    if (message.finishedResults != null && message.hasOwnProperty("finishedResults"))
+                                        if (typeof message.finishedResults !== "boolean")
+                                            return "finishedResults: boolean expected";
+                                    return null;
+                                };
+
+                                /**
+                                 * Creates a SerializedVotePollsByTimestamps message from a plain object. Also converts values to their respective internal types.
+                                 * @function fromObject
+                                 * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps
+                                 * @static
+                                 * @param {Object.} object Plain object
+                                 * @returns {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps} SerializedVotePollsByTimestamps
+                                 */
+                                SerializedVotePollsByTimestamps.fromObject = function fromObject(object) {
+                                    if (object instanceof $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps)
+                                        return object;
+                                    var message = new $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps();
+                                    if (object.votePollsByTimestamps) {
+                                        if (!Array.isArray(object.votePollsByTimestamps))
+                                            throw TypeError(".org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.votePollsByTimestamps: array expected");
+                                        message.votePollsByTimestamps = [];
+                                        for (var i = 0; i < object.votePollsByTimestamps.length; ++i) {
+                                            if (typeof object.votePollsByTimestamps[i] !== "object")
+                                                throw TypeError(".org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.votePollsByTimestamps: object expected");
+                                            message.votePollsByTimestamps[i] = $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.fromObject(object.votePollsByTimestamps[i]);
+                                        }
+                                    }
+                                    if (object.finishedResults != null)
+                                        message.finishedResults = Boolean(object.finishedResults);
+                                    return message;
+                                };
+
+                                /**
+                                 * Creates a plain object from a SerializedVotePollsByTimestamps message. Also converts values to other types if specified.
+                                 * @function toObject
+                                 * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps
+                                 * @static
+                                 * @param {org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps} message SerializedVotePollsByTimestamps
+                                 * @param {$protobuf.IConversionOptions} [options] Conversion options
+                                 * @returns {Object.} Plain object
+                                 */
+                                SerializedVotePollsByTimestamps.toObject = function toObject(message, options) {
+                                    if (!options)
+                                        options = {};
+                                    var object = {};
+                                    if (options.arrays || options.defaults)
+                                        object.votePollsByTimestamps = [];
+                                    if (options.defaults)
+                                        object.finishedResults = false;
+                                    if (message.votePollsByTimestamps && message.votePollsByTimestamps.length) {
+                                        object.votePollsByTimestamps = [];
+                                        for (var j = 0; j < message.votePollsByTimestamps.length; ++j)
+                                            object.votePollsByTimestamps[j] = $root.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.toObject(message.votePollsByTimestamps[j], options);
+                                    }
+                                    if (message.finishedResults != null && message.hasOwnProperty("finishedResults"))
+                                        object.finishedResults = message.finishedResults;
+                                    return object;
+                                };
+
+                                /**
+                                 * Converts this SerializedVotePollsByTimestamps to JSON.
+                                 * @function toJSON
+                                 * @memberof org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps
+                                 * @instance
+                                 * @returns {Object.} JSON object
+                                 */
+                                SerializedVotePollsByTimestamps.prototype.toJSON = function toJSON() {
+                                    return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+                                };
+
+                                return SerializedVotePollsByTimestamps;
+                            })();
+
+                            return GetVotePollsByEndDateResponseV0;
+                        })();
+
+                        return GetVotePollsByEndDateResponse;
+                    })();
+
+                    v0.GetContestedResourceVoteStateRequest = (function() {
+
+                        /**
+                         * Properties of a GetContestedResourceVoteStateRequest.
+                         * @memberof org.dash.platform.dapi.v0
+                         * @interface IGetContestedResourceVoteStateRequest
+                         * @property {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.IGetContestedResourceVoteStateRequestV0|null} [v0] GetContestedResourceVoteStateRequest v0
+                         */
+
+                        /**
+                         * Constructs a new GetContestedResourceVoteStateRequest.
+                         * @memberof org.dash.platform.dapi.v0
+                         * @classdesc Represents a GetContestedResourceVoteStateRequest.
+                         * @implements IGetContestedResourceVoteStateRequest
+                         * @constructor
+                         * @param {org.dash.platform.dapi.v0.IGetContestedResourceVoteStateRequest=} [properties] Properties to set
+                         */
+                        function GetContestedResourceVoteStateRequest(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]];
+                        }
+
+                        /**
+                         * GetContestedResourceVoteStateRequest v0.
+                         * @member {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.IGetContestedResourceVoteStateRequestV0|null|undefined} v0
+                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest
+                         * @instance
+                         */
+                        GetContestedResourceVoteStateRequest.prototype.v0 = null;
+
+                        // OneOf field names bound to virtual getters and setters
+                        var $oneOfFields;
+
+                        /**
+                         * GetContestedResourceVoteStateRequest version.
+                         * @member {"v0"|undefined} version
+                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest
+                         * @instance
+                         */
+                        Object.defineProperty(GetContestedResourceVoteStateRequest.prototype, "version", {
+                            get: $util.oneOfGetter($oneOfFields = ["v0"]),
+                            set: $util.oneOfSetter($oneOfFields)
+                        });
+
+                        /**
+                         * Creates a new GetContestedResourceVoteStateRequest instance using the specified properties.
+                         * @function create
+                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest
+                         * @static
+                         * @param {org.dash.platform.dapi.v0.IGetContestedResourceVoteStateRequest=} [properties] Properties to set
+                         * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest} GetContestedResourceVoteStateRequest instance
+                         */
+                        GetContestedResourceVoteStateRequest.create = function create(properties) {
+                            return new GetContestedResourceVoteStateRequest(properties);
+                        };
+
+                        /**
+                         * Encodes the specified GetContestedResourceVoteStateRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.verify|verify} messages.
+                         * @function encode
+                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest
+                         * @static
+                         * @param {org.dash.platform.dapi.v0.IGetContestedResourceVoteStateRequest} message GetContestedResourceVoteStateRequest message or plain object to encode
                          * @param {$protobuf.Writer} [writer] Writer to encode to
                          * @returns {$protobuf.Writer} Writer
                          */
-                        GetContestedResourceIdentityVotesRequest.encodeDelimited = function encodeDelimited(message, writer) {
+                        GetContestedResourceVoteStateRequest.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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+                            return writer;
+                        };
+
+                        /**
+                         * Encodes the specified GetContestedResourceVoteStateRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.verify|verify} messages.
+                         * @function encodeDelimited
+                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest
+                         * @static
+                         * @param {org.dash.platform.dapi.v0.IGetContestedResourceVoteStateRequest} message GetContestedResourceVoteStateRequest message or plain object to encode
+                         * @param {$protobuf.Writer} [writer] Writer to encode to
+                         * @returns {$protobuf.Writer} Writer
+                         */
+                        GetContestedResourceVoteStateRequest.encodeDelimited = function encodeDelimited(message, writer) {
                             return this.encode(message, writer).ldelim();
                         };
 
                         /**
-                         * Decodes a GetContestedResourceIdentityVotesRequest message from the specified reader or buffer.
+                         * Decodes a GetContestedResourceVoteStateRequest message from the specified reader or buffer.
                          * @function decode
-                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest
+                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest
                          * @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.GetContestedResourceIdentityVotesRequest} GetContestedResourceIdentityVotesRequest
+                         * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest} GetContestedResourceVoteStateRequest
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        GetContestedResourceIdentityVotesRequest.decode = function decode(reader, length) {
+                        GetContestedResourceVoteStateRequest.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.GetContestedResourceIdentityVotesRequest();
+                            var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
                                 switch (tag >>> 3) {
                                 case 1:
-                                    message.v0 = $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.decode(reader, reader.uint32());
+                                    message.v0 = $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.decode(reader, reader.uint32());
                                     break;
                                 default:
                                     reader.skipType(tag & 7);
@@ -34683,37 +34354,37 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Decodes a GetContestedResourceIdentityVotesRequest message from the specified reader or buffer, length delimited.
+                         * Decodes a GetContestedResourceVoteStateRequest message from the specified reader or buffer, length delimited.
                          * @function decodeDelimited
-                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest
+                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest
                          * @static
                          * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                         * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest} GetContestedResourceIdentityVotesRequest
+                         * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest} GetContestedResourceVoteStateRequest
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        GetContestedResourceIdentityVotesRequest.decodeDelimited = function decodeDelimited(reader) {
+                        GetContestedResourceVoteStateRequest.decodeDelimited = function decodeDelimited(reader) {
                             if (!(reader instanceof $Reader))
                                 reader = new $Reader(reader);
                             return this.decode(reader, reader.uint32());
                         };
 
                         /**
-                         * Verifies a GetContestedResourceIdentityVotesRequest message.
+                         * Verifies a GetContestedResourceVoteStateRequest message.
                          * @function verify
-                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest
+                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest
                          * @static
                          * @param {Object.} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        GetContestedResourceIdentityVotesRequest.verify = function verify(message) {
+                        GetContestedResourceVoteStateRequest.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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.verify(message.v0);
+                                    var error = $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.verify(message.v0);
                                     if (error)
                                         return "v0." + error;
                                 }
@@ -34722,40 +34393,40 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Creates a GetContestedResourceIdentityVotesRequest message from a plain object. Also converts values to their respective internal types.
+                         * Creates a GetContestedResourceVoteStateRequest message from a plain object. Also converts values to their respective internal types.
                          * @function fromObject
-                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest
+                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest
                          * @static
                          * @param {Object.} object Plain object
-                         * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest} GetContestedResourceIdentityVotesRequest
+                         * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest} GetContestedResourceVoteStateRequest
                          */
-                        GetContestedResourceIdentityVotesRequest.fromObject = function fromObject(object) {
-                            if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest)
+                        GetContestedResourceVoteStateRequest.fromObject = function fromObject(object) {
+                            if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest)
                                 return object;
-                            var message = new $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest();
+                            var message = new $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest();
                             if (object.v0 != null) {
                                 if (typeof object.v0 !== "object")
-                                    throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.v0: object expected");
-                                message.v0 = $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.fromObject(object.v0);
+                                    throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.v0: object expected");
+                                message.v0 = $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.fromObject(object.v0);
                             }
                             return message;
                         };
 
                         /**
-                         * Creates a plain object from a GetContestedResourceIdentityVotesRequest message. Also converts values to other types if specified.
+                         * Creates a plain object from a GetContestedResourceVoteStateRequest message. Also converts values to other types if specified.
                          * @function toObject
-                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest
+                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest
                          * @static
-                         * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest} message GetContestedResourceIdentityVotesRequest
+                         * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest} message GetContestedResourceVoteStateRequest
                          * @param {$protobuf.IConversionOptions} [options] Conversion options
                          * @returns {Object.} Plain object
                          */
-                        GetContestedResourceIdentityVotesRequest.toObject = function toObject(message, options) {
+                        GetContestedResourceVoteStateRequest.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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.toObject(message.v0, options);
+                                object.v0 = $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.toObject(message.v0, options);
                                 if (options.oneofs)
                                     object.version = "v0";
                             }
@@ -34763,39 +34434,43 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Converts this GetContestedResourceIdentityVotesRequest to JSON.
+                         * Converts this GetContestedResourceVoteStateRequest to JSON.
                          * @function toJSON
-                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest
+                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest
                          * @instance
                          * @returns {Object.} JSON object
                          */
-                        GetContestedResourceIdentityVotesRequest.prototype.toJSON = function toJSON() {
+                        GetContestedResourceVoteStateRequest.prototype.toJSON = function toJSON() {
                             return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
                         };
 
-                        GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0 = (function() {
+                        GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0 = (function() {
 
                             /**
-                             * Properties of a GetContestedResourceIdentityVotesRequestV0.
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest
-                             * @interface IGetContestedResourceIdentityVotesRequestV0
-                             * @property {Uint8Array|null} [identityId] GetContestedResourceIdentityVotesRequestV0 identityId
-                             * @property {google.protobuf.IUInt32Value|null} [limit] GetContestedResourceIdentityVotesRequestV0 limit
-                             * @property {google.protobuf.IUInt32Value|null} [offset] GetContestedResourceIdentityVotesRequestV0 offset
-                             * @property {boolean|null} [orderAscending] GetContestedResourceIdentityVotesRequestV0 orderAscending
-                             * @property {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.IStartAtVotePollIdInfo|null} [startAtVotePollIdInfo] GetContestedResourceIdentityVotesRequestV0 startAtVotePollIdInfo
-                             * @property {boolean|null} [prove] GetContestedResourceIdentityVotesRequestV0 prove
+                             * Properties of a GetContestedResourceVoteStateRequestV0.
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest
+                             * @interface IGetContestedResourceVoteStateRequestV0
+                             * @property {Uint8Array|null} [contractId] GetContestedResourceVoteStateRequestV0 contractId
+                             * @property {string|null} [documentTypeName] GetContestedResourceVoteStateRequestV0 documentTypeName
+                             * @property {string|null} [indexName] GetContestedResourceVoteStateRequestV0 indexName
+                             * @property {Array.|null} [indexValues] GetContestedResourceVoteStateRequestV0 indexValues
+                             * @property {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.ResultType|null} [resultType] GetContestedResourceVoteStateRequestV0 resultType
+                             * @property {boolean|null} [allowIncludeLockedAndAbstainingVoteTally] GetContestedResourceVoteStateRequestV0 allowIncludeLockedAndAbstainingVoteTally
+                             * @property {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.IStartAtIdentifierInfo|null} [startAtIdentifierInfo] GetContestedResourceVoteStateRequestV0 startAtIdentifierInfo
+                             * @property {number|null} [count] GetContestedResourceVoteStateRequestV0 count
+                             * @property {boolean|null} [prove] GetContestedResourceVoteStateRequestV0 prove
                              */
 
                             /**
-                             * Constructs a new GetContestedResourceIdentityVotesRequestV0.
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest
-                             * @classdesc Represents a GetContestedResourceIdentityVotesRequestV0.
-                             * @implements IGetContestedResourceIdentityVotesRequestV0
+                             * Constructs a new GetContestedResourceVoteStateRequestV0.
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest
+                             * @classdesc Represents a GetContestedResourceVoteStateRequestV0.
+                             * @implements IGetContestedResourceVoteStateRequestV0
                              * @constructor
-                             * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.IGetContestedResourceIdentityVotesRequestV0=} [properties] Properties to set
+                             * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.IGetContestedResourceVoteStateRequestV0=} [properties] Properties to set
                              */
-                            function GetContestedResourceIdentityVotesRequestV0(properties) {
+                            function GetContestedResourceVoteStateRequestV0(properties) {
+                                this.indexValues = [];
                                 if (properties)
                                     for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
                                         if (properties[keys[i]] != null)
@@ -34803,139 +34478,181 @@ $root.org = (function() {
                             }
 
                             /**
-                             * GetContestedResourceIdentityVotesRequestV0 identityId.
-                             * @member {Uint8Array} identityId
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0
+                             * GetContestedResourceVoteStateRequestV0 contractId.
+                             * @member {Uint8Array} contractId
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0
                              * @instance
                              */
-                            GetContestedResourceIdentityVotesRequestV0.prototype.identityId = $util.newBuffer([]);
+                            GetContestedResourceVoteStateRequestV0.prototype.contractId = $util.newBuffer([]);
 
                             /**
-                             * GetContestedResourceIdentityVotesRequestV0 limit.
-                             * @member {google.protobuf.IUInt32Value|null|undefined} limit
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0
+                             * GetContestedResourceVoteStateRequestV0 documentTypeName.
+                             * @member {string} documentTypeName
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0
                              * @instance
                              */
-                            GetContestedResourceIdentityVotesRequestV0.prototype.limit = null;
+                            GetContestedResourceVoteStateRequestV0.prototype.documentTypeName = "";
 
                             /**
-                             * GetContestedResourceIdentityVotesRequestV0 offset.
-                             * @member {google.protobuf.IUInt32Value|null|undefined} offset
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0
+                             * GetContestedResourceVoteStateRequestV0 indexName.
+                             * @member {string} indexName
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0
                              * @instance
                              */
-                            GetContestedResourceIdentityVotesRequestV0.prototype.offset = null;
+                            GetContestedResourceVoteStateRequestV0.prototype.indexName = "";
 
                             /**
-                             * GetContestedResourceIdentityVotesRequestV0 orderAscending.
-                             * @member {boolean} orderAscending
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0
+                             * GetContestedResourceVoteStateRequestV0 indexValues.
+                             * @member {Array.} indexValues
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0
                              * @instance
                              */
-                            GetContestedResourceIdentityVotesRequestV0.prototype.orderAscending = false;
+                            GetContestedResourceVoteStateRequestV0.prototype.indexValues = $util.emptyArray;
 
                             /**
-                             * GetContestedResourceIdentityVotesRequestV0 startAtVotePollIdInfo.
-                             * @member {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.IStartAtVotePollIdInfo|null|undefined} startAtVotePollIdInfo
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0
+                             * GetContestedResourceVoteStateRequestV0 resultType.
+                             * @member {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.ResultType} resultType
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0
                              * @instance
                              */
-                            GetContestedResourceIdentityVotesRequestV0.prototype.startAtVotePollIdInfo = null;
+                            GetContestedResourceVoteStateRequestV0.prototype.resultType = 0;
 
                             /**
-                             * GetContestedResourceIdentityVotesRequestV0 prove.
+                             * GetContestedResourceVoteStateRequestV0 allowIncludeLockedAndAbstainingVoteTally.
+                             * @member {boolean} allowIncludeLockedAndAbstainingVoteTally
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0
+                             * @instance
+                             */
+                            GetContestedResourceVoteStateRequestV0.prototype.allowIncludeLockedAndAbstainingVoteTally = false;
+
+                            /**
+                             * GetContestedResourceVoteStateRequestV0 startAtIdentifierInfo.
+                             * @member {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.IStartAtIdentifierInfo|null|undefined} startAtIdentifierInfo
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0
+                             * @instance
+                             */
+                            GetContestedResourceVoteStateRequestV0.prototype.startAtIdentifierInfo = null;
+
+                            /**
+                             * GetContestedResourceVoteStateRequestV0 count.
+                             * @member {number} count
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0
+                             * @instance
+                             */
+                            GetContestedResourceVoteStateRequestV0.prototype.count = 0;
+
+                            /**
+                             * GetContestedResourceVoteStateRequestV0 prove.
                              * @member {boolean} prove
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0
                              * @instance
                              */
-                            GetContestedResourceIdentityVotesRequestV0.prototype.prove = false;
+                            GetContestedResourceVoteStateRequestV0.prototype.prove = false;
 
                             /**
-                             * Creates a new GetContestedResourceIdentityVotesRequestV0 instance using the specified properties.
+                             * Creates a new GetContestedResourceVoteStateRequestV0 instance using the specified properties.
                              * @function create
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.IGetContestedResourceIdentityVotesRequestV0=} [properties] Properties to set
-                             * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0} GetContestedResourceIdentityVotesRequestV0 instance
+                             * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.IGetContestedResourceVoteStateRequestV0=} [properties] Properties to set
+                             * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} GetContestedResourceVoteStateRequestV0 instance
                              */
-                            GetContestedResourceIdentityVotesRequestV0.create = function create(properties) {
-                                return new GetContestedResourceIdentityVotesRequestV0(properties);
+                            GetContestedResourceVoteStateRequestV0.create = function create(properties) {
+                                return new GetContestedResourceVoteStateRequestV0(properties);
                             };
 
                             /**
-                             * Encodes the specified GetContestedResourceIdentityVotesRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.verify|verify} messages.
+                             * Encodes the specified GetContestedResourceVoteStateRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.verify|verify} messages.
                              * @function encode
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.IGetContestedResourceIdentityVotesRequestV0} message GetContestedResourceIdentityVotesRequestV0 message or plain object to encode
+                             * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.IGetContestedResourceVoteStateRequestV0} message GetContestedResourceVoteStateRequestV0 message or plain object to encode
                              * @param {$protobuf.Writer} [writer] Writer to encode to
                              * @returns {$protobuf.Writer} Writer
                              */
-                            GetContestedResourceIdentityVotesRequestV0.encode = function encode(message, writer) {
+                            GetContestedResourceVoteStateRequestV0.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.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.orderAscending != null && Object.hasOwnProperty.call(message, "orderAscending"))
-                                    writer.uint32(/* id 4, wireType 0 =*/32).bool(message.orderAscending);
-                                if (message.startAtVotePollIdInfo != null && Object.hasOwnProperty.call(message, "startAtVotePollIdInfo"))
-                                    $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.encode(message.startAtVotePollIdInfo, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim();
+                                if (message.contractId != null && Object.hasOwnProperty.call(message, "contractId"))
+                                    writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.contractId);
+                                if (message.documentTypeName != null && Object.hasOwnProperty.call(message, "documentTypeName"))
+                                    writer.uint32(/* id 2, wireType 2 =*/18).string(message.documentTypeName);
+                                if (message.indexName != null && Object.hasOwnProperty.call(message, "indexName"))
+                                    writer.uint32(/* id 3, wireType 2 =*/26).string(message.indexName);
+                                if (message.indexValues != null && message.indexValues.length)
+                                    for (var i = 0; i < message.indexValues.length; ++i)
+                                        writer.uint32(/* id 4, wireType 2 =*/34).bytes(message.indexValues[i]);
+                                if (message.resultType != null && Object.hasOwnProperty.call(message, "resultType"))
+                                    writer.uint32(/* id 5, wireType 0 =*/40).int32(message.resultType);
+                                if (message.allowIncludeLockedAndAbstainingVoteTally != null && Object.hasOwnProperty.call(message, "allowIncludeLockedAndAbstainingVoteTally"))
+                                    writer.uint32(/* id 6, wireType 0 =*/48).bool(message.allowIncludeLockedAndAbstainingVoteTally);
+                                if (message.startAtIdentifierInfo != null && Object.hasOwnProperty.call(message, "startAtIdentifierInfo"))
+                                    $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.encode(message.startAtIdentifierInfo, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim();
+                                if (message.count != null && Object.hasOwnProperty.call(message, "count"))
+                                    writer.uint32(/* id 8, wireType 0 =*/64).uint32(message.count);
                                 if (message.prove != null && Object.hasOwnProperty.call(message, "prove"))
-                                    writer.uint32(/* id 6, wireType 0 =*/48).bool(message.prove);
+                                    writer.uint32(/* id 9, wireType 0 =*/72).bool(message.prove);
                                 return writer;
                             };
 
                             /**
-                             * Encodes the specified GetContestedResourceIdentityVotesRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.verify|verify} messages.
+                             * Encodes the specified GetContestedResourceVoteStateRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.verify|verify} messages.
                              * @function encodeDelimited
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.IGetContestedResourceIdentityVotesRequestV0} message GetContestedResourceIdentityVotesRequestV0 message or plain object to encode
+                             * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.IGetContestedResourceVoteStateRequestV0} message GetContestedResourceVoteStateRequestV0 message or plain object to encode
                              * @param {$protobuf.Writer} [writer] Writer to encode to
                              * @returns {$protobuf.Writer} Writer
                              */
-                            GetContestedResourceIdentityVotesRequestV0.encodeDelimited = function encodeDelimited(message, writer) {
+                            GetContestedResourceVoteStateRequestV0.encodeDelimited = function encodeDelimited(message, writer) {
                                 return this.encode(message, writer).ldelim();
                             };
 
                             /**
-                             * Decodes a GetContestedResourceIdentityVotesRequestV0 message from the specified reader or buffer.
+                             * Decodes a GetContestedResourceVoteStateRequestV0 message from the specified reader or buffer.
                              * @function decode
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0
                              * @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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0} GetContestedResourceIdentityVotesRequestV0
+                             * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} GetContestedResourceVoteStateRequestV0
                              * @throws {Error} If the payload is not a reader or valid buffer
                              * @throws {$protobuf.util.ProtocolError} If required fields are missing
                              */
-                            GetContestedResourceIdentityVotesRequestV0.decode = function decode(reader, length) {
+                            GetContestedResourceVoteStateRequestV0.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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0();
+                                var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0();
                                 while (reader.pos < end) {
                                     var tag = reader.uint32();
                                     switch (tag >>> 3) {
                                     case 1:
-                                        message.identityId = reader.bytes();
+                                        message.contractId = reader.bytes();
                                         break;
                                     case 2:
-                                        message.limit = $root.google.protobuf.UInt32Value.decode(reader, reader.uint32());
+                                        message.documentTypeName = reader.string();
                                         break;
                                     case 3:
-                                        message.offset = $root.google.protobuf.UInt32Value.decode(reader, reader.uint32());
+                                        message.indexName = reader.string();
                                         break;
                                     case 4:
-                                        message.orderAscending = reader.bool();
+                                        if (!(message.indexValues && message.indexValues.length))
+                                            message.indexValues = [];
+                                        message.indexValues.push(reader.bytes());
                                         break;
                                     case 5:
-                                        message.startAtVotePollIdInfo = $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.decode(reader, reader.uint32());
+                                        message.resultType = reader.int32();
                                         break;
                                     case 6:
+                                        message.allowIncludeLockedAndAbstainingVoteTally = reader.bool();
+                                        break;
+                                    case 7:
+                                        message.startAtIdentifierInfo = $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.decode(reader, reader.uint32());
+                                        break;
+                                    case 8:
+                                        message.count = reader.uint32();
+                                        break;
+                                    case 9:
                                         message.prove = reader.bool();
                                         break;
                                     default:
@@ -34947,53 +34664,68 @@ $root.org = (function() {
                             };
 
                             /**
-                             * Decodes a GetContestedResourceIdentityVotesRequestV0 message from the specified reader or buffer, length delimited.
+                             * Decodes a GetContestedResourceVoteStateRequestV0 message from the specified reader or buffer, length delimited.
                              * @function decodeDelimited
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0
                              * @static
                              * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                             * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0} GetContestedResourceIdentityVotesRequestV0
+                             * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} GetContestedResourceVoteStateRequestV0
                              * @throws {Error} If the payload is not a reader or valid buffer
                              * @throws {$protobuf.util.ProtocolError} If required fields are missing
                              */
-                            GetContestedResourceIdentityVotesRequestV0.decodeDelimited = function decodeDelimited(reader) {
+                            GetContestedResourceVoteStateRequestV0.decodeDelimited = function decodeDelimited(reader) {
                                 if (!(reader instanceof $Reader))
                                     reader = new $Reader(reader);
                                 return this.decode(reader, reader.uint32());
                             };
 
                             /**
-                             * Verifies a GetContestedResourceIdentityVotesRequestV0 message.
+                             * Verifies a GetContestedResourceVoteStateRequestV0 message.
                              * @function verify
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0
                              * @static
                              * @param {Object.} message Plain object to verify
                              * @returns {string|null} `null` if valid, otherwise the reason why it is not
                              */
-                            GetContestedResourceIdentityVotesRequestV0.verify = function verify(message) {
+                            GetContestedResourceVoteStateRequestV0.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.limit != null && message.hasOwnProperty("limit")) {
-                                    var error = $root.google.protobuf.UInt32Value.verify(message.limit);
-                                    if (error)
-                                        return "limit." + error;
+                                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.documentTypeName != null && message.hasOwnProperty("documentTypeName"))
+                                    if (!$util.isString(message.documentTypeName))
+                                        return "documentTypeName: string expected";
+                                if (message.indexName != null && message.hasOwnProperty("indexName"))
+                                    if (!$util.isString(message.indexName))
+                                        return "indexName: string expected";
+                                if (message.indexValues != null && message.hasOwnProperty("indexValues")) {
+                                    if (!Array.isArray(message.indexValues))
+                                        return "indexValues: array expected";
+                                    for (var i = 0; i < message.indexValues.length; ++i)
+                                        if (!(message.indexValues[i] && typeof message.indexValues[i].length === "number" || $util.isString(message.indexValues[i])))
+                                            return "indexValues: buffer[] expected";
                                 }
-                                if (message.offset != null && message.hasOwnProperty("offset")) {
-                                    var error = $root.google.protobuf.UInt32Value.verify(message.offset);
+                                if (message.resultType != null && message.hasOwnProperty("resultType"))
+                                    switch (message.resultType) {
+                                    default:
+                                        return "resultType: enum value expected";
+                                    case 0:
+                                    case 1:
+                                    case 2:
+                                        break;
+                                    }
+                                if (message.allowIncludeLockedAndAbstainingVoteTally != null && message.hasOwnProperty("allowIncludeLockedAndAbstainingVoteTally"))
+                                    if (typeof message.allowIncludeLockedAndAbstainingVoteTally !== "boolean")
+                                        return "allowIncludeLockedAndAbstainingVoteTally: boolean expected";
+                                if (message.startAtIdentifierInfo != null && message.hasOwnProperty("startAtIdentifierInfo")) {
+                                    var error = $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.verify(message.startAtIdentifierInfo);
                                     if (error)
-                                        return "offset." + error;
-                                }
-                                if (message.orderAscending != null && message.hasOwnProperty("orderAscending"))
-                                    if (typeof message.orderAscending !== "boolean")
-                                        return "orderAscending: boolean expected";
-                                if (message.startAtVotePollIdInfo != null && message.hasOwnProperty("startAtVotePollIdInfo")) {
-                                    var error = $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.verify(message.startAtVotePollIdInfo);
-                                    if (error)
-                                        return "startAtVotePollIdInfo." + error;
+                                        return "startAtIdentifierInfo." + error;
                                 }
+                                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";
@@ -35001,116 +34733,149 @@ $root.org = (function() {
                             };
 
                             /**
-                             * Creates a GetContestedResourceIdentityVotesRequestV0 message from a plain object. Also converts values to their respective internal types.
+                             * Creates a GetContestedResourceVoteStateRequestV0 message from a plain object. Also converts values to their respective internal types.
                              * @function fromObject
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0
                              * @static
                              * @param {Object.} object Plain object
-                             * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0} GetContestedResourceIdentityVotesRequestV0
+                             * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} GetContestedResourceVoteStateRequestV0
                              */
-                            GetContestedResourceIdentityVotesRequestV0.fromObject = function fromObject(object) {
-                                if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0)
+                            GetContestedResourceVoteStateRequestV0.fromObject = function fromObject(object) {
+                                if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0)
                                     return object;
-                                var message = new $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0();
-                                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.limit != null) {
-                                    if (typeof object.limit !== "object")
-                                        throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.limit: object expected");
-                                    message.limit = $root.google.protobuf.UInt32Value.fromObject(object.limit);
+                                var message = new $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0();
+                                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.documentTypeName != null)
+                                    message.documentTypeName = String(object.documentTypeName);
+                                if (object.indexName != null)
+                                    message.indexName = String(object.indexName);
+                                if (object.indexValues) {
+                                    if (!Array.isArray(object.indexValues))
+                                        throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.indexValues: array expected");
+                                    message.indexValues = [];
+                                    for (var i = 0; i < object.indexValues.length; ++i)
+                                        if (typeof object.indexValues[i] === "string")
+                                            $util.base64.decode(object.indexValues[i], message.indexValues[i] = $util.newBuffer($util.base64.length(object.indexValues[i])), 0);
+                                        else if (object.indexValues[i].length >= 0)
+                                            message.indexValues[i] = object.indexValues[i];
                                 }
-                                if (object.offset != null) {
-                                    if (typeof object.offset !== "object")
-                                        throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.offset: object expected");
-                                    message.offset = $root.google.protobuf.UInt32Value.fromObject(object.offset);
+                                switch (object.resultType) {
+                                case "DOCUMENTS":
+                                case 0:
+                                    message.resultType = 0;
+                                    break;
+                                case "VOTE_TALLY":
+                                case 1:
+                                    message.resultType = 1;
+                                    break;
+                                case "DOCUMENTS_AND_VOTE_TALLY":
+                                case 2:
+                                    message.resultType = 2;
+                                    break;
                                 }
-                                if (object.orderAscending != null)
-                                    message.orderAscending = Boolean(object.orderAscending);
-                                if (object.startAtVotePollIdInfo != null) {
-                                    if (typeof object.startAtVotePollIdInfo !== "object")
-                                        throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.startAtVotePollIdInfo: object expected");
-                                    message.startAtVotePollIdInfo = $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.fromObject(object.startAtVotePollIdInfo);
+                                if (object.allowIncludeLockedAndAbstainingVoteTally != null)
+                                    message.allowIncludeLockedAndAbstainingVoteTally = Boolean(object.allowIncludeLockedAndAbstainingVoteTally);
+                                if (object.startAtIdentifierInfo != null) {
+                                    if (typeof object.startAtIdentifierInfo !== "object")
+                                        throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.startAtIdentifierInfo: object expected");
+                                    message.startAtIdentifierInfo = $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.fromObject(object.startAtIdentifierInfo);
                                 }
+                                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 GetContestedResourceIdentityVotesRequestV0 message. Also converts values to other types if specified.
+                             * Creates a plain object from a GetContestedResourceVoteStateRequestV0 message. Also converts values to other types if specified.
                              * @function toObject
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0} message GetContestedResourceIdentityVotesRequestV0
+                             * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} message GetContestedResourceVoteStateRequestV0
                              * @param {$protobuf.IConversionOptions} [options] Conversion options
                              * @returns {Object.} Plain object
                              */
-                            GetContestedResourceIdentityVotesRequestV0.toObject = function toObject(message, options) {
+                            GetContestedResourceVoteStateRequestV0.toObject = function toObject(message, options) {
                                 if (!options)
                                     options = {};
                                 var object = {};
+                                if (options.arrays || options.defaults)
+                                    object.indexValues = [];
                                 if (options.defaults) {
                                     if (options.bytes === String)
-                                        object.identityId = "";
+                                        object.contractId = "";
                                     else {
-                                        object.identityId = [];
+                                        object.contractId = [];
                                         if (options.bytes !== Array)
-                                            object.identityId = $util.newBuffer(object.identityId);
+                                            object.contractId = $util.newBuffer(object.contractId);
                                     }
-                                    object.limit = null;
-                                    object.offset = null;
-                                    object.orderAscending = false;
-                                    object.startAtVotePollIdInfo = null;
+                                    object.documentTypeName = "";
+                                    object.indexName = "";
+                                    object.resultType = options.enums === String ? "DOCUMENTS" : 0;
+                                    object.allowIncludeLockedAndAbstainingVoteTally = false;
+                                    object.startAtIdentifierInfo = null;
+                                    object.count = 0;
                                     object.prove = false;
                                 }
-                                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.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.orderAscending != null && message.hasOwnProperty("orderAscending"))
-                                    object.orderAscending = message.orderAscending;
-                                if (message.startAtVotePollIdInfo != null && message.hasOwnProperty("startAtVotePollIdInfo"))
-                                    object.startAtVotePollIdInfo = $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.toObject(message.startAtVotePollIdInfo, 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.documentTypeName != null && message.hasOwnProperty("documentTypeName"))
+                                    object.documentTypeName = message.documentTypeName;
+                                if (message.indexName != null && message.hasOwnProperty("indexName"))
+                                    object.indexName = message.indexName;
+                                if (message.indexValues && message.indexValues.length) {
+                                    object.indexValues = [];
+                                    for (var j = 0; j < message.indexValues.length; ++j)
+                                        object.indexValues[j] = options.bytes === String ? $util.base64.encode(message.indexValues[j], 0, message.indexValues[j].length) : options.bytes === Array ? Array.prototype.slice.call(message.indexValues[j]) : message.indexValues[j];
+                                }
+                                if (message.resultType != null && message.hasOwnProperty("resultType"))
+                                    object.resultType = options.enums === String ? $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.ResultType[message.resultType] : message.resultType;
+                                if (message.allowIncludeLockedAndAbstainingVoteTally != null && message.hasOwnProperty("allowIncludeLockedAndAbstainingVoteTally"))
+                                    object.allowIncludeLockedAndAbstainingVoteTally = message.allowIncludeLockedAndAbstainingVoteTally;
+                                if (message.startAtIdentifierInfo != null && message.hasOwnProperty("startAtIdentifierInfo"))
+                                    object.startAtIdentifierInfo = $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.toObject(message.startAtIdentifierInfo, options);
+                                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 GetContestedResourceIdentityVotesRequestV0 to JSON.
+                             * Converts this GetContestedResourceVoteStateRequestV0 to JSON.
                              * @function toJSON
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0
                              * @instance
                              * @returns {Object.} JSON object
                              */
-                            GetContestedResourceIdentityVotesRequestV0.prototype.toJSON = function toJSON() {
+                            GetContestedResourceVoteStateRequestV0.prototype.toJSON = function toJSON() {
                                 return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
                             };
 
-                            GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo = (function() {
+                            GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo = (function() {
 
                                 /**
-                                 * Properties of a StartAtVotePollIdInfo.
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0
-                                 * @interface IStartAtVotePollIdInfo
-                                 * @property {Uint8Array|null} [startAtPollIdentifier] StartAtVotePollIdInfo startAtPollIdentifier
-                                 * @property {boolean|null} [startPollIdentifierIncluded] StartAtVotePollIdInfo startPollIdentifierIncluded
+                                 * Properties of a StartAtIdentifierInfo.
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0
+                                 * @interface IStartAtIdentifierInfo
+                                 * @property {Uint8Array|null} [startIdentifier] StartAtIdentifierInfo startIdentifier
+                                 * @property {boolean|null} [startIdentifierIncluded] StartAtIdentifierInfo startIdentifierIncluded
                                  */
 
                                 /**
-                                 * Constructs a new StartAtVotePollIdInfo.
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0
-                                 * @classdesc Represents a StartAtVotePollIdInfo.
-                                 * @implements IStartAtVotePollIdInfo
+                                 * Constructs a new StartAtIdentifierInfo.
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0
+                                 * @classdesc Represents a StartAtIdentifierInfo.
+                                 * @implements IStartAtIdentifierInfo
                                  * @constructor
-                                 * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.IStartAtVotePollIdInfo=} [properties] Properties to set
+                                 * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.IStartAtIdentifierInfo=} [properties] Properties to set
                                  */
-                                function StartAtVotePollIdInfo(properties) {
+                                function StartAtIdentifierInfo(properties) {
                                     if (properties)
                                         for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
                                             if (properties[keys[i]] != null)
@@ -35118,88 +34883,88 @@ $root.org = (function() {
                                 }
 
                                 /**
-                                 * StartAtVotePollIdInfo startAtPollIdentifier.
-                                 * @member {Uint8Array} startAtPollIdentifier
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo
+                                 * StartAtIdentifierInfo startIdentifier.
+                                 * @member {Uint8Array} startIdentifier
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo
                                  * @instance
                                  */
-                                StartAtVotePollIdInfo.prototype.startAtPollIdentifier = $util.newBuffer([]);
+                                StartAtIdentifierInfo.prototype.startIdentifier = $util.newBuffer([]);
 
                                 /**
-                                 * StartAtVotePollIdInfo startPollIdentifierIncluded.
-                                 * @member {boolean} startPollIdentifierIncluded
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo
+                                 * StartAtIdentifierInfo startIdentifierIncluded.
+                                 * @member {boolean} startIdentifierIncluded
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo
                                  * @instance
                                  */
-                                StartAtVotePollIdInfo.prototype.startPollIdentifierIncluded = false;
+                                StartAtIdentifierInfo.prototype.startIdentifierIncluded = false;
 
                                 /**
-                                 * Creates a new StartAtVotePollIdInfo instance using the specified properties.
+                                 * Creates a new StartAtIdentifierInfo instance using the specified properties.
                                  * @function create
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo
                                  * @static
-                                 * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.IStartAtVotePollIdInfo=} [properties] Properties to set
-                                 * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo} StartAtVotePollIdInfo instance
+                                 * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.IStartAtIdentifierInfo=} [properties] Properties to set
+                                 * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo} StartAtIdentifierInfo instance
                                  */
-                                StartAtVotePollIdInfo.create = function create(properties) {
-                                    return new StartAtVotePollIdInfo(properties);
+                                StartAtIdentifierInfo.create = function create(properties) {
+                                    return new StartAtIdentifierInfo(properties);
                                 };
 
                                 /**
-                                 * Encodes the specified StartAtVotePollIdInfo message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.verify|verify} messages.
+                                 * Encodes the specified StartAtIdentifierInfo message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.verify|verify} messages.
                                  * @function encode
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo
                                  * @static
-                                 * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.IStartAtVotePollIdInfo} message StartAtVotePollIdInfo message or plain object to encode
+                                 * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.IStartAtIdentifierInfo} message StartAtIdentifierInfo message or plain object to encode
                                  * @param {$protobuf.Writer} [writer] Writer to encode to
                                  * @returns {$protobuf.Writer} Writer
                                  */
-                                StartAtVotePollIdInfo.encode = function encode(message, writer) {
+                                StartAtIdentifierInfo.encode = function encode(message, writer) {
                                     if (!writer)
                                         writer = $Writer.create();
-                                    if (message.startAtPollIdentifier != null && Object.hasOwnProperty.call(message, "startAtPollIdentifier"))
-                                        writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.startAtPollIdentifier);
-                                    if (message.startPollIdentifierIncluded != null && Object.hasOwnProperty.call(message, "startPollIdentifierIncluded"))
-                                        writer.uint32(/* id 2, wireType 0 =*/16).bool(message.startPollIdentifierIncluded);
+                                    if (message.startIdentifier != null && Object.hasOwnProperty.call(message, "startIdentifier"))
+                                        writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.startIdentifier);
+                                    if (message.startIdentifierIncluded != null && Object.hasOwnProperty.call(message, "startIdentifierIncluded"))
+                                        writer.uint32(/* id 2, wireType 0 =*/16).bool(message.startIdentifierIncluded);
                                     return writer;
                                 };
 
                                 /**
-                                 * Encodes the specified StartAtVotePollIdInfo message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.verify|verify} messages.
+                                 * Encodes the specified StartAtIdentifierInfo message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.verify|verify} messages.
                                  * @function encodeDelimited
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo
                                  * @static
-                                 * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.IStartAtVotePollIdInfo} message StartAtVotePollIdInfo message or plain object to encode
+                                 * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.IStartAtIdentifierInfo} message StartAtIdentifierInfo message or plain object to encode
                                  * @param {$protobuf.Writer} [writer] Writer to encode to
                                  * @returns {$protobuf.Writer} Writer
                                  */
-                                StartAtVotePollIdInfo.encodeDelimited = function encodeDelimited(message, writer) {
+                                StartAtIdentifierInfo.encodeDelimited = function encodeDelimited(message, writer) {
                                     return this.encode(message, writer).ldelim();
                                 };
 
                                 /**
-                                 * Decodes a StartAtVotePollIdInfo message from the specified reader or buffer.
+                                 * Decodes a StartAtIdentifierInfo message from the specified reader or buffer.
                                  * @function decode
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo
                                  * @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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo} StartAtVotePollIdInfo
+                                 * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo} StartAtIdentifierInfo
                                  * @throws {Error} If the payload is not a reader or valid buffer
                                  * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                  */
-                                StartAtVotePollIdInfo.decode = function decode(reader, length) {
+                                StartAtIdentifierInfo.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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo();
+                                    var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo();
                                     while (reader.pos < end) {
                                         var tag = reader.uint32();
                                         switch (tag >>> 3) {
                                         case 1:
-                                            message.startAtPollIdentifier = reader.bytes();
+                                            message.startIdentifier = reader.bytes();
                                             break;
                                         case 2:
-                                            message.startPollIdentifierIncluded = reader.bool();
+                                            message.startIdentifierIncluded = reader.bool();
                                             break;
                                         default:
                                             reader.skipType(tag & 7);
@@ -35210,131 +34975,147 @@ $root.org = (function() {
                                 };
 
                                 /**
-                                 * Decodes a StartAtVotePollIdInfo message from the specified reader or buffer, length delimited.
+                                 * Decodes a StartAtIdentifierInfo message from the specified reader or buffer, length delimited.
                                  * @function decodeDelimited
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo
                                  * @static
                                  * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                                 * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo} StartAtVotePollIdInfo
+                                 * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo} StartAtIdentifierInfo
                                  * @throws {Error} If the payload is not a reader or valid buffer
                                  * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                  */
-                                StartAtVotePollIdInfo.decodeDelimited = function decodeDelimited(reader) {
+                                StartAtIdentifierInfo.decodeDelimited = function decodeDelimited(reader) {
                                     if (!(reader instanceof $Reader))
                                         reader = new $Reader(reader);
                                     return this.decode(reader, reader.uint32());
                                 };
 
                                 /**
-                                 * Verifies a StartAtVotePollIdInfo message.
+                                 * Verifies a StartAtIdentifierInfo message.
                                  * @function verify
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo
                                  * @static
                                  * @param {Object.} message Plain object to verify
                                  * @returns {string|null} `null` if valid, otherwise the reason why it is not
                                  */
-                                StartAtVotePollIdInfo.verify = function verify(message) {
+                                StartAtIdentifierInfo.verify = function verify(message) {
                                     if (typeof message !== "object" || message === null)
                                         return "object expected";
-                                    if (message.startAtPollIdentifier != null && message.hasOwnProperty("startAtPollIdentifier"))
-                                        if (!(message.startAtPollIdentifier && typeof message.startAtPollIdentifier.length === "number" || $util.isString(message.startAtPollIdentifier)))
-                                            return "startAtPollIdentifier: buffer expected";
-                                    if (message.startPollIdentifierIncluded != null && message.hasOwnProperty("startPollIdentifierIncluded"))
-                                        if (typeof message.startPollIdentifierIncluded !== "boolean")
-                                            return "startPollIdentifierIncluded: boolean expected";
+                                    if (message.startIdentifier != null && message.hasOwnProperty("startIdentifier"))
+                                        if (!(message.startIdentifier && typeof message.startIdentifier.length === "number" || $util.isString(message.startIdentifier)))
+                                            return "startIdentifier: buffer expected";
+                                    if (message.startIdentifierIncluded != null && message.hasOwnProperty("startIdentifierIncluded"))
+                                        if (typeof message.startIdentifierIncluded !== "boolean")
+                                            return "startIdentifierIncluded: boolean expected";
                                     return null;
                                 };
 
                                 /**
-                                 * Creates a StartAtVotePollIdInfo message from a plain object. Also converts values to their respective internal types.
+                                 * Creates a StartAtIdentifierInfo message from a plain object. Also converts values to their respective internal types.
                                  * @function fromObject
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo
                                  * @static
                                  * @param {Object.} object Plain object
-                                 * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo} StartAtVotePollIdInfo
+                                 * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo} StartAtIdentifierInfo
                                  */
-                                StartAtVotePollIdInfo.fromObject = function fromObject(object) {
-                                    if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo)
+                                StartAtIdentifierInfo.fromObject = function fromObject(object) {
+                                    if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo)
                                         return object;
-                                    var message = new $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo();
-                                    if (object.startAtPollIdentifier != null)
-                                        if (typeof object.startAtPollIdentifier === "string")
-                                            $util.base64.decode(object.startAtPollIdentifier, message.startAtPollIdentifier = $util.newBuffer($util.base64.length(object.startAtPollIdentifier)), 0);
-                                        else if (object.startAtPollIdentifier.length >= 0)
-                                            message.startAtPollIdentifier = object.startAtPollIdentifier;
-                                    if (object.startPollIdentifierIncluded != null)
-                                        message.startPollIdentifierIncluded = Boolean(object.startPollIdentifierIncluded);
+                                    var message = new $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo();
+                                    if (object.startIdentifier != null)
+                                        if (typeof object.startIdentifier === "string")
+                                            $util.base64.decode(object.startIdentifier, message.startIdentifier = $util.newBuffer($util.base64.length(object.startIdentifier)), 0);
+                                        else if (object.startIdentifier.length >= 0)
+                                            message.startIdentifier = object.startIdentifier;
+                                    if (object.startIdentifierIncluded != null)
+                                        message.startIdentifierIncluded = Boolean(object.startIdentifierIncluded);
                                     return message;
                                 };
 
                                 /**
-                                 * Creates a plain object from a StartAtVotePollIdInfo message. Also converts values to other types if specified.
+                                 * Creates a plain object from a StartAtIdentifierInfo message. Also converts values to other types if specified.
                                  * @function toObject
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo
                                  * @static
-                                 * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo} message StartAtVotePollIdInfo
+                                 * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo} message StartAtIdentifierInfo
                                  * @param {$protobuf.IConversionOptions} [options] Conversion options
                                  * @returns {Object.} Plain object
                                  */
-                                StartAtVotePollIdInfo.toObject = function toObject(message, options) {
+                                StartAtIdentifierInfo.toObject = function toObject(message, options) {
                                     if (!options)
                                         options = {};
                                     var object = {};
                                     if (options.defaults) {
                                         if (options.bytes === String)
-                                            object.startAtPollIdentifier = "";
+                                            object.startIdentifier = "";
                                         else {
-                                            object.startAtPollIdentifier = [];
+                                            object.startIdentifier = [];
                                             if (options.bytes !== Array)
-                                                object.startAtPollIdentifier = $util.newBuffer(object.startAtPollIdentifier);
+                                                object.startIdentifier = $util.newBuffer(object.startIdentifier);
                                         }
-                                        object.startPollIdentifierIncluded = false;
+                                        object.startIdentifierIncluded = false;
                                     }
-                                    if (message.startAtPollIdentifier != null && message.hasOwnProperty("startAtPollIdentifier"))
-                                        object.startAtPollIdentifier = options.bytes === String ? $util.base64.encode(message.startAtPollIdentifier, 0, message.startAtPollIdentifier.length) : options.bytes === Array ? Array.prototype.slice.call(message.startAtPollIdentifier) : message.startAtPollIdentifier;
-                                    if (message.startPollIdentifierIncluded != null && message.hasOwnProperty("startPollIdentifierIncluded"))
-                                        object.startPollIdentifierIncluded = message.startPollIdentifierIncluded;
+                                    if (message.startIdentifier != null && message.hasOwnProperty("startIdentifier"))
+                                        object.startIdentifier = options.bytes === String ? $util.base64.encode(message.startIdentifier, 0, message.startIdentifier.length) : options.bytes === Array ? Array.prototype.slice.call(message.startIdentifier) : message.startIdentifier;
+                                    if (message.startIdentifierIncluded != null && message.hasOwnProperty("startIdentifierIncluded"))
+                                        object.startIdentifierIncluded = message.startIdentifierIncluded;
                                     return object;
                                 };
 
                                 /**
-                                 * Converts this StartAtVotePollIdInfo to JSON.
+                                 * Converts this StartAtIdentifierInfo to JSON.
                                  * @function toJSON
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo
                                  * @instance
                                  * @returns {Object.} JSON object
                                  */
-                                StartAtVotePollIdInfo.prototype.toJSON = function toJSON() {
+                                StartAtIdentifierInfo.prototype.toJSON = function toJSON() {
                                     return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
                                 };
 
-                                return StartAtVotePollIdInfo;
+                                return StartAtIdentifierInfo;
                             })();
 
-                            return GetContestedResourceIdentityVotesRequestV0;
+                            /**
+                             * ResultType enum.
+                             * @name org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.ResultType
+                             * @enum {number}
+                             * @property {number} DOCUMENTS=0 DOCUMENTS value
+                             * @property {number} VOTE_TALLY=1 VOTE_TALLY value
+                             * @property {number} DOCUMENTS_AND_VOTE_TALLY=2 DOCUMENTS_AND_VOTE_TALLY value
+                             */
+                            GetContestedResourceVoteStateRequestV0.ResultType = (function() {
+                                var valuesById = {}, values = Object.create(valuesById);
+                                values[valuesById[0] = "DOCUMENTS"] = 0;
+                                values[valuesById[1] = "VOTE_TALLY"] = 1;
+                                values[valuesById[2] = "DOCUMENTS_AND_VOTE_TALLY"] = 2;
+                                return values;
+                            })();
+
+                            return GetContestedResourceVoteStateRequestV0;
                         })();
 
-                        return GetContestedResourceIdentityVotesRequest;
+                        return GetContestedResourceVoteStateRequest;
                     })();
 
-                    v0.GetContestedResourceIdentityVotesResponse = (function() {
+                    v0.GetContestedResourceVoteStateResponse = (function() {
 
                         /**
-                         * Properties of a GetContestedResourceIdentityVotesResponse.
+                         * Properties of a GetContestedResourceVoteStateResponse.
                          * @memberof org.dash.platform.dapi.v0
-                         * @interface IGetContestedResourceIdentityVotesResponse
-                         * @property {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.IGetContestedResourceIdentityVotesResponseV0|null} [v0] GetContestedResourceIdentityVotesResponse v0
+                         * @interface IGetContestedResourceVoteStateResponse
+                         * @property {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.IGetContestedResourceVoteStateResponseV0|null} [v0] GetContestedResourceVoteStateResponse v0
                          */
 
                         /**
-                         * Constructs a new GetContestedResourceIdentityVotesResponse.
+                         * Constructs a new GetContestedResourceVoteStateResponse.
                          * @memberof org.dash.platform.dapi.v0
-                         * @classdesc Represents a GetContestedResourceIdentityVotesResponse.
-                         * @implements IGetContestedResourceIdentityVotesResponse
+                         * @classdesc Represents a GetContestedResourceVoteStateResponse.
+                         * @implements IGetContestedResourceVoteStateResponse
                          * @constructor
-                         * @param {org.dash.platform.dapi.v0.IGetContestedResourceIdentityVotesResponse=} [properties] Properties to set
+                         * @param {org.dash.platform.dapi.v0.IGetContestedResourceVoteStateResponse=} [properties] Properties to set
                          */
-                        function GetContestedResourceIdentityVotesResponse(properties) {
+                        function GetContestedResourceVoteStateResponse(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
                                     if (properties[keys[i]] != null)
@@ -35342,89 +35123,89 @@ $root.org = (function() {
                         }
 
                         /**
-                         * GetContestedResourceIdentityVotesResponse v0.
-                         * @member {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.IGetContestedResourceIdentityVotesResponseV0|null|undefined} v0
-                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse
+                         * GetContestedResourceVoteStateResponse v0.
+                         * @member {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.IGetContestedResourceVoteStateResponseV0|null|undefined} v0
+                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse
                          * @instance
                          */
-                        GetContestedResourceIdentityVotesResponse.prototype.v0 = null;
+                        GetContestedResourceVoteStateResponse.prototype.v0 = null;
 
                         // OneOf field names bound to virtual getters and setters
                         var $oneOfFields;
 
                         /**
-                         * GetContestedResourceIdentityVotesResponse version.
+                         * GetContestedResourceVoteStateResponse version.
                          * @member {"v0"|undefined} version
-                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse
+                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse
                          * @instance
                          */
-                        Object.defineProperty(GetContestedResourceIdentityVotesResponse.prototype, "version", {
+                        Object.defineProperty(GetContestedResourceVoteStateResponse.prototype, "version", {
                             get: $util.oneOfGetter($oneOfFields = ["v0"]),
                             set: $util.oneOfSetter($oneOfFields)
                         });
 
                         /**
-                         * Creates a new GetContestedResourceIdentityVotesResponse instance using the specified properties.
+                         * Creates a new GetContestedResourceVoteStateResponse instance using the specified properties.
                          * @function create
-                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse
+                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse
                          * @static
-                         * @param {org.dash.platform.dapi.v0.IGetContestedResourceIdentityVotesResponse=} [properties] Properties to set
-                         * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse} GetContestedResourceIdentityVotesResponse instance
+                         * @param {org.dash.platform.dapi.v0.IGetContestedResourceVoteStateResponse=} [properties] Properties to set
+                         * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse} GetContestedResourceVoteStateResponse instance
                          */
-                        GetContestedResourceIdentityVotesResponse.create = function create(properties) {
-                            return new GetContestedResourceIdentityVotesResponse(properties);
+                        GetContestedResourceVoteStateResponse.create = function create(properties) {
+                            return new GetContestedResourceVoteStateResponse(properties);
                         };
 
                         /**
-                         * Encodes the specified GetContestedResourceIdentityVotesResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.verify|verify} messages.
+                         * Encodes the specified GetContestedResourceVoteStateResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.verify|verify} messages.
                          * @function encode
-                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse
+                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse
                          * @static
-                         * @param {org.dash.platform.dapi.v0.IGetContestedResourceIdentityVotesResponse} message GetContestedResourceIdentityVotesResponse message or plain object to encode
+                         * @param {org.dash.platform.dapi.v0.IGetContestedResourceVoteStateResponse} message GetContestedResourceVoteStateResponse message or plain object to encode
                          * @param {$protobuf.Writer} [writer] Writer to encode to
                          * @returns {$protobuf.Writer} Writer
                          */
-                        GetContestedResourceIdentityVotesResponse.encode = function encode(message, writer) {
+                        GetContestedResourceVoteStateResponse.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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+                                $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
                             return writer;
                         };
 
                         /**
-                         * Encodes the specified GetContestedResourceIdentityVotesResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.verify|verify} messages.
+                         * Encodes the specified GetContestedResourceVoteStateResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.verify|verify} messages.
                          * @function encodeDelimited
-                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse
+                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse
                          * @static
-                         * @param {org.dash.platform.dapi.v0.IGetContestedResourceIdentityVotesResponse} message GetContestedResourceIdentityVotesResponse message or plain object to encode
+                         * @param {org.dash.platform.dapi.v0.IGetContestedResourceVoteStateResponse} message GetContestedResourceVoteStateResponse message or plain object to encode
                          * @param {$protobuf.Writer} [writer] Writer to encode to
                          * @returns {$protobuf.Writer} Writer
                          */
-                        GetContestedResourceIdentityVotesResponse.encodeDelimited = function encodeDelimited(message, writer) {
+                        GetContestedResourceVoteStateResponse.encodeDelimited = function encodeDelimited(message, writer) {
                             return this.encode(message, writer).ldelim();
                         };
 
                         /**
-                         * Decodes a GetContestedResourceIdentityVotesResponse message from the specified reader or buffer.
+                         * Decodes a GetContestedResourceVoteStateResponse message from the specified reader or buffer.
                          * @function decode
-                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse
+                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse
                          * @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.GetContestedResourceIdentityVotesResponse} GetContestedResourceIdentityVotesResponse
+                         * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse} GetContestedResourceVoteStateResponse
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        GetContestedResourceIdentityVotesResponse.decode = function decode(reader, length) {
+                        GetContestedResourceVoteStateResponse.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.GetContestedResourceIdentityVotesResponse();
+                            var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
                                 switch (tag >>> 3) {
                                 case 1:
-                                    message.v0 = $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.decode(reader, reader.uint32());
+                                    message.v0 = $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.decode(reader, reader.uint32());
                                     break;
                                 default:
                                     reader.skipType(tag & 7);
@@ -35435,37 +35216,37 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Decodes a GetContestedResourceIdentityVotesResponse message from the specified reader or buffer, length delimited.
+                         * Decodes a GetContestedResourceVoteStateResponse message from the specified reader or buffer, length delimited.
                          * @function decodeDelimited
-                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse
+                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse
                          * @static
                          * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                         * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse} GetContestedResourceIdentityVotesResponse
+                         * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse} GetContestedResourceVoteStateResponse
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        GetContestedResourceIdentityVotesResponse.decodeDelimited = function decodeDelimited(reader) {
+                        GetContestedResourceVoteStateResponse.decodeDelimited = function decodeDelimited(reader) {
                             if (!(reader instanceof $Reader))
                                 reader = new $Reader(reader);
                             return this.decode(reader, reader.uint32());
                         };
 
                         /**
-                         * Verifies a GetContestedResourceIdentityVotesResponse message.
+                         * Verifies a GetContestedResourceVoteStateResponse message.
                          * @function verify
-                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse
+                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse
                          * @static
                          * @param {Object.} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        GetContestedResourceIdentityVotesResponse.verify = function verify(message) {
+                        GetContestedResourceVoteStateResponse.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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.verify(message.v0);
+                                    var error = $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.verify(message.v0);
                                     if (error)
                                         return "v0." + error;
                                 }
@@ -35474,40 +35255,40 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Creates a GetContestedResourceIdentityVotesResponse message from a plain object. Also converts values to their respective internal types.
+                         * Creates a GetContestedResourceVoteStateResponse message from a plain object. Also converts values to their respective internal types.
                          * @function fromObject
-                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse
+                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse
                          * @static
                          * @param {Object.} object Plain object
-                         * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse} GetContestedResourceIdentityVotesResponse
+                         * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse} GetContestedResourceVoteStateResponse
                          */
-                        GetContestedResourceIdentityVotesResponse.fromObject = function fromObject(object) {
-                            if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse)
+                        GetContestedResourceVoteStateResponse.fromObject = function fromObject(object) {
+                            if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse)
                                 return object;
-                            var message = new $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse();
+                            var message = new $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse();
                             if (object.v0 != null) {
                                 if (typeof object.v0 !== "object")
-                                    throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.v0: object expected");
-                                message.v0 = $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.fromObject(object.v0);
+                                    throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.v0: object expected");
+                                message.v0 = $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.fromObject(object.v0);
                             }
                             return message;
                         };
 
                         /**
-                         * Creates a plain object from a GetContestedResourceIdentityVotesResponse message. Also converts values to other types if specified.
+                         * Creates a plain object from a GetContestedResourceVoteStateResponse message. Also converts values to other types if specified.
                          * @function toObject
-                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse
+                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse
                          * @static
-                         * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse} message GetContestedResourceIdentityVotesResponse
+                         * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse} message GetContestedResourceVoteStateResponse
                          * @param {$protobuf.IConversionOptions} [options] Conversion options
                          * @returns {Object.} Plain object
                          */
-                        GetContestedResourceIdentityVotesResponse.toObject = function toObject(message, options) {
+                        GetContestedResourceVoteStateResponse.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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.toObject(message.v0, options);
+                                object.v0 = $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.toObject(message.v0, options);
                                 if (options.oneofs)
                                     object.version = "v0";
                             }
@@ -35515,36 +35296,36 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Converts this GetContestedResourceIdentityVotesResponse to JSON.
+                         * Converts this GetContestedResourceVoteStateResponse to JSON.
                          * @function toJSON
-                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse
+                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse
                          * @instance
                          * @returns {Object.} JSON object
                          */
-                        GetContestedResourceIdentityVotesResponse.prototype.toJSON = function toJSON() {
+                        GetContestedResourceVoteStateResponse.prototype.toJSON = function toJSON() {
                             return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
                         };
 
-                        GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0 = (function() {
+                        GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0 = (function() {
 
                             /**
-                             * Properties of a GetContestedResourceIdentityVotesResponseV0.
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse
-                             * @interface IGetContestedResourceIdentityVotesResponseV0
-                             * @property {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.IContestedResourceIdentityVotes|null} [votes] GetContestedResourceIdentityVotesResponseV0 votes
-                             * @property {org.dash.platform.dapi.v0.IProof|null} [proof] GetContestedResourceIdentityVotesResponseV0 proof
-                             * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetContestedResourceIdentityVotesResponseV0 metadata
+                             * Properties of a GetContestedResourceVoteStateResponseV0.
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse
+                             * @interface IGetContestedResourceVoteStateResponseV0
+                             * @property {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.IContestedResourceContenders|null} [contestedResourceContenders] GetContestedResourceVoteStateResponseV0 contestedResourceContenders
+                             * @property {org.dash.platform.dapi.v0.IProof|null} [proof] GetContestedResourceVoteStateResponseV0 proof
+                             * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetContestedResourceVoteStateResponseV0 metadata
                              */
 
                             /**
-                             * Constructs a new GetContestedResourceIdentityVotesResponseV0.
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse
-                             * @classdesc Represents a GetContestedResourceIdentityVotesResponseV0.
-                             * @implements IGetContestedResourceIdentityVotesResponseV0
+                             * Constructs a new GetContestedResourceVoteStateResponseV0.
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse
+                             * @classdesc Represents a GetContestedResourceVoteStateResponseV0.
+                             * @implements IGetContestedResourceVoteStateResponseV0
                              * @constructor
-                             * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.IGetContestedResourceIdentityVotesResponseV0=} [properties] Properties to set
+                             * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.IGetContestedResourceVoteStateResponseV0=} [properties] Properties to set
                              */
-                            function GetContestedResourceIdentityVotesResponseV0(properties) {
+                            function GetContestedResourceVoteStateResponseV0(properties) {
                                 if (properties)
                                     for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
                                         if (properties[keys[i]] != null)
@@ -35552,69 +35333,69 @@ $root.org = (function() {
                             }
 
                             /**
-                             * GetContestedResourceIdentityVotesResponseV0 votes.
-                             * @member {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.IContestedResourceIdentityVotes|null|undefined} votes
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0
+                             * GetContestedResourceVoteStateResponseV0 contestedResourceContenders.
+                             * @member {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.IContestedResourceContenders|null|undefined} contestedResourceContenders
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0
                              * @instance
                              */
-                            GetContestedResourceIdentityVotesResponseV0.prototype.votes = null;
+                            GetContestedResourceVoteStateResponseV0.prototype.contestedResourceContenders = null;
 
                             /**
-                             * GetContestedResourceIdentityVotesResponseV0 proof.
+                             * GetContestedResourceVoteStateResponseV0 proof.
                              * @member {org.dash.platform.dapi.v0.IProof|null|undefined} proof
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0
                              * @instance
                              */
-                            GetContestedResourceIdentityVotesResponseV0.prototype.proof = null;
+                            GetContestedResourceVoteStateResponseV0.prototype.proof = null;
 
                             /**
-                             * GetContestedResourceIdentityVotesResponseV0 metadata.
+                             * GetContestedResourceVoteStateResponseV0 metadata.
                              * @member {org.dash.platform.dapi.v0.IResponseMetadata|null|undefined} metadata
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0
                              * @instance
                              */
-                            GetContestedResourceIdentityVotesResponseV0.prototype.metadata = null;
+                            GetContestedResourceVoteStateResponseV0.prototype.metadata = null;
 
                             // OneOf field names bound to virtual getters and setters
                             var $oneOfFields;
 
                             /**
-                             * GetContestedResourceIdentityVotesResponseV0 result.
-                             * @member {"votes"|"proof"|undefined} result
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0
+                             * GetContestedResourceVoteStateResponseV0 result.
+                             * @member {"contestedResourceContenders"|"proof"|undefined} result
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0
                              * @instance
                              */
-                            Object.defineProperty(GetContestedResourceIdentityVotesResponseV0.prototype, "result", {
-                                get: $util.oneOfGetter($oneOfFields = ["votes", "proof"]),
+                            Object.defineProperty(GetContestedResourceVoteStateResponseV0.prototype, "result", {
+                                get: $util.oneOfGetter($oneOfFields = ["contestedResourceContenders", "proof"]),
                                 set: $util.oneOfSetter($oneOfFields)
                             });
 
                             /**
-                             * Creates a new GetContestedResourceIdentityVotesResponseV0 instance using the specified properties.
+                             * Creates a new GetContestedResourceVoteStateResponseV0 instance using the specified properties.
                              * @function create
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.IGetContestedResourceIdentityVotesResponseV0=} [properties] Properties to set
-                             * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0} GetContestedResourceIdentityVotesResponseV0 instance
+                             * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.IGetContestedResourceVoteStateResponseV0=} [properties] Properties to set
+                             * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0} GetContestedResourceVoteStateResponseV0 instance
                              */
-                            GetContestedResourceIdentityVotesResponseV0.create = function create(properties) {
-                                return new GetContestedResourceIdentityVotesResponseV0(properties);
+                            GetContestedResourceVoteStateResponseV0.create = function create(properties) {
+                                return new GetContestedResourceVoteStateResponseV0(properties);
                             };
 
                             /**
-                             * Encodes the specified GetContestedResourceIdentityVotesResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.verify|verify} messages.
+                             * Encodes the specified GetContestedResourceVoteStateResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.verify|verify} messages.
                              * @function encode
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.IGetContestedResourceIdentityVotesResponseV0} message GetContestedResourceIdentityVotesResponseV0 message or plain object to encode
+                             * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.IGetContestedResourceVoteStateResponseV0} message GetContestedResourceVoteStateResponseV0 message or plain object to encode
                              * @param {$protobuf.Writer} [writer] Writer to encode to
                              * @returns {$protobuf.Writer} Writer
                              */
-                            GetContestedResourceIdentityVotesResponseV0.encode = function encode(message, writer) {
+                            GetContestedResourceVoteStateResponseV0.encode = function encode(message, writer) {
                                 if (!writer)
                                     writer = $Writer.create();
-                                if (message.votes != null && Object.hasOwnProperty.call(message, "votes"))
-                                    $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.encode(message.votes, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+                                if (message.contestedResourceContenders != null && Object.hasOwnProperty.call(message, "contestedResourceContenders"))
+                                    $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.encode(message.contestedResourceContenders, 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"))
@@ -35623,38 +35404,38 @@ $root.org = (function() {
                             };
 
                             /**
-                             * Encodes the specified GetContestedResourceIdentityVotesResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.verify|verify} messages.
+                             * Encodes the specified GetContestedResourceVoteStateResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.verify|verify} messages.
                              * @function encodeDelimited
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.IGetContestedResourceIdentityVotesResponseV0} message GetContestedResourceIdentityVotesResponseV0 message or plain object to encode
+                             * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.IGetContestedResourceVoteStateResponseV0} message GetContestedResourceVoteStateResponseV0 message or plain object to encode
                              * @param {$protobuf.Writer} [writer] Writer to encode to
                              * @returns {$protobuf.Writer} Writer
                              */
-                            GetContestedResourceIdentityVotesResponseV0.encodeDelimited = function encodeDelimited(message, writer) {
+                            GetContestedResourceVoteStateResponseV0.encodeDelimited = function encodeDelimited(message, writer) {
                                 return this.encode(message, writer).ldelim();
                             };
 
                             /**
-                             * Decodes a GetContestedResourceIdentityVotesResponseV0 message from the specified reader or buffer.
+                             * Decodes a GetContestedResourceVoteStateResponseV0 message from the specified reader or buffer.
                              * @function decode
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0
                              * @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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0} GetContestedResourceIdentityVotesResponseV0
+                             * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0} GetContestedResourceVoteStateResponseV0
                              * @throws {Error} If the payload is not a reader or valid buffer
                              * @throws {$protobuf.util.ProtocolError} If required fields are missing
                              */
-                            GetContestedResourceIdentityVotesResponseV0.decode = function decode(reader, length) {
+                            GetContestedResourceVoteStateResponseV0.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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0();
+                                var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0();
                                 while (reader.pos < end) {
                                     var tag = reader.uint32();
                                     switch (tag >>> 3) {
                                     case 1:
-                                        message.votes = $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.decode(reader, reader.uint32());
+                                        message.contestedResourceContenders = $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.decode(reader, reader.uint32());
                                         break;
                                     case 2:
                                         message.proof = $root.org.dash.platform.dapi.v0.Proof.decode(reader, reader.uint32());
@@ -35671,39 +35452,39 @@ $root.org = (function() {
                             };
 
                             /**
-                             * Decodes a GetContestedResourceIdentityVotesResponseV0 message from the specified reader or buffer, length delimited.
+                             * Decodes a GetContestedResourceVoteStateResponseV0 message from the specified reader or buffer, length delimited.
                              * @function decodeDelimited
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0
                              * @static
                              * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                             * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0} GetContestedResourceIdentityVotesResponseV0
+                             * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0} GetContestedResourceVoteStateResponseV0
                              * @throws {Error} If the payload is not a reader or valid buffer
                              * @throws {$protobuf.util.ProtocolError} If required fields are missing
                              */
-                            GetContestedResourceIdentityVotesResponseV0.decodeDelimited = function decodeDelimited(reader) {
+                            GetContestedResourceVoteStateResponseV0.decodeDelimited = function decodeDelimited(reader) {
                                 if (!(reader instanceof $Reader))
                                     reader = new $Reader(reader);
                                 return this.decode(reader, reader.uint32());
                             };
 
                             /**
-                             * Verifies a GetContestedResourceIdentityVotesResponseV0 message.
+                             * Verifies a GetContestedResourceVoteStateResponseV0 message.
                              * @function verify
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0
                              * @static
                              * @param {Object.} message Plain object to verify
                              * @returns {string|null} `null` if valid, otherwise the reason why it is not
                              */
-                            GetContestedResourceIdentityVotesResponseV0.verify = function verify(message) {
+                            GetContestedResourceVoteStateResponseV0.verify = function verify(message) {
                                 if (typeof message !== "object" || message === null)
                                     return "object expected";
                                 var properties = {};
-                                if (message.votes != null && message.hasOwnProperty("votes")) {
+                                if (message.contestedResourceContenders != null && message.hasOwnProperty("contestedResourceContenders")) {
                                     properties.result = 1;
                                     {
-                                        var error = $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.verify(message.votes);
+                                        var error = $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.verify(message.contestedResourceContenders);
                                         if (error)
-                                            return "votes." + error;
+                                            return "contestedResourceContenders." + error;
                                     }
                                 }
                                 if (message.proof != null && message.hasOwnProperty("proof")) {
@@ -35725,54 +35506,54 @@ $root.org = (function() {
                             };
 
                             /**
-                             * Creates a GetContestedResourceIdentityVotesResponseV0 message from a plain object. Also converts values to their respective internal types.
+                             * Creates a GetContestedResourceVoteStateResponseV0 message from a plain object. Also converts values to their respective internal types.
                              * @function fromObject
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0
                              * @static
                              * @param {Object.} object Plain object
-                             * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0} GetContestedResourceIdentityVotesResponseV0
+                             * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0} GetContestedResourceVoteStateResponseV0
                              */
-                            GetContestedResourceIdentityVotesResponseV0.fromObject = function fromObject(object) {
-                                if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0)
+                            GetContestedResourceVoteStateResponseV0.fromObject = function fromObject(object) {
+                                if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0)
                                     return object;
-                                var message = new $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0();
-                                if (object.votes != null) {
-                                    if (typeof object.votes !== "object")
-                                        throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.votes: object expected");
-                                    message.votes = $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.fromObject(object.votes);
+                                var message = new $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0();
+                                if (object.contestedResourceContenders != null) {
+                                    if (typeof object.contestedResourceContenders !== "object")
+                                        throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.contestedResourceContenders: object expected");
+                                    message.contestedResourceContenders = $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.fromObject(object.contestedResourceContenders);
                                 }
                                 if (object.proof != null) {
                                     if (typeof object.proof !== "object")
-                                        throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.proof: object expected");
+                                        throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.metadata: object expected");
+                                        throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.metadata: object expected");
                                     message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.fromObject(object.metadata);
                                 }
                                 return message;
                             };
 
                             /**
-                             * Creates a plain object from a GetContestedResourceIdentityVotesResponseV0 message. Also converts values to other types if specified.
+                             * Creates a plain object from a GetContestedResourceVoteStateResponseV0 message. Also converts values to other types if specified.
                              * @function toObject
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0} message GetContestedResourceIdentityVotesResponseV0
+                             * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0} message GetContestedResourceVoteStateResponseV0
                              * @param {$protobuf.IConversionOptions} [options] Conversion options
                              * @returns {Object.} Plain object
                              */
-                            GetContestedResourceIdentityVotesResponseV0.toObject = function toObject(message, options) {
+                            GetContestedResourceVoteStateResponseV0.toObject = function toObject(message, options) {
                                 if (!options)
                                     options = {};
                                 var object = {};
                                 if (options.defaults)
                                     object.metadata = null;
-                                if (message.votes != null && message.hasOwnProperty("votes")) {
-                                    object.votes = $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.toObject(message.votes, options);
+                                if (message.contestedResourceContenders != null && message.hasOwnProperty("contestedResourceContenders")) {
+                                    object.contestedResourceContenders = $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.toObject(message.contestedResourceContenders, options);
                                     if (options.oneofs)
-                                        object.result = "votes";
+                                        object.result = "contestedResourceContenders";
                                 }
                                 if (message.proof != null && message.hasOwnProperty("proof")) {
                                     object.proof = $root.org.dash.platform.dapi.v0.Proof.toObject(message.proof, options);
@@ -35785,36 +35566,39 @@ $root.org = (function() {
                             };
 
                             /**
-                             * Converts this GetContestedResourceIdentityVotesResponseV0 to JSON.
+                             * Converts this GetContestedResourceVoteStateResponseV0 to JSON.
                              * @function toJSON
-                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0
                              * @instance
                              * @returns {Object.} JSON object
                              */
-                            GetContestedResourceIdentityVotesResponseV0.prototype.toJSON = function toJSON() {
+                            GetContestedResourceVoteStateResponseV0.prototype.toJSON = function toJSON() {
                                 return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
                             };
 
-                            GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes = (function() {
+                            GetContestedResourceVoteStateResponseV0.FinishedVoteInfo = (function() {
 
                                 /**
-                                 * Properties of a ContestedResourceIdentityVotes.
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0
-                                 * @interface IContestedResourceIdentityVotes
-                                 * @property {Array.|null} [contestedResourceIdentityVotes] ContestedResourceIdentityVotes contestedResourceIdentityVotes
-                                 * @property {boolean|null} [finishedResults] ContestedResourceIdentityVotes finishedResults
+                                 * Properties of a FinishedVoteInfo.
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0
+                                 * @interface IFinishedVoteInfo
+                                 * @property {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.FinishedVoteOutcome|null} [finishedVoteOutcome] FinishedVoteInfo finishedVoteOutcome
+                                 * @property {Uint8Array|null} [wonByIdentityId] FinishedVoteInfo wonByIdentityId
+                                 * @property {number|Long|null} [finishedAtBlockHeight] FinishedVoteInfo finishedAtBlockHeight
+                                 * @property {number|null} [finishedAtCoreBlockHeight] FinishedVoteInfo finishedAtCoreBlockHeight
+                                 * @property {number|Long|null} [finishedAtBlockTimeMs] FinishedVoteInfo finishedAtBlockTimeMs
+                                 * @property {number|null} [finishedAtEpoch] FinishedVoteInfo finishedAtEpoch
                                  */
 
                                 /**
-                                 * Constructs a new ContestedResourceIdentityVotes.
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0
-                                 * @classdesc Represents a ContestedResourceIdentityVotes.
-                                 * @implements IContestedResourceIdentityVotes
+                                 * Constructs a new FinishedVoteInfo.
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0
+                                 * @classdesc Represents a FinishedVoteInfo.
+                                 * @implements IFinishedVoteInfo
                                  * @constructor
-                                 * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.IContestedResourceIdentityVotes=} [properties] Properties to set
+                                 * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.IFinishedVoteInfo=} [properties] Properties to set
                                  */
-                                function ContestedResourceIdentityVotes(properties) {
-                                    this.contestedResourceIdentityVotes = [];
+                                function FinishedVoteInfo(properties) {
                                     if (properties)
                                         for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
                                             if (properties[keys[i]] != null)
@@ -35822,91 +35606,140 @@ $root.org = (function() {
                                 }
 
                                 /**
-                                 * ContestedResourceIdentityVotes contestedResourceIdentityVotes.
-                                 * @member {Array.} contestedResourceIdentityVotes
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes
+                                 * FinishedVoteInfo finishedVoteOutcome.
+                                 * @member {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.FinishedVoteOutcome} finishedVoteOutcome
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo
                                  * @instance
                                  */
-                                ContestedResourceIdentityVotes.prototype.contestedResourceIdentityVotes = $util.emptyArray;
+                                FinishedVoteInfo.prototype.finishedVoteOutcome = 0;
 
                                 /**
-                                 * ContestedResourceIdentityVotes finishedResults.
-                                 * @member {boolean} finishedResults
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes
+                                 * FinishedVoteInfo wonByIdentityId.
+                                 * @member {Uint8Array} wonByIdentityId
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo
                                  * @instance
                                  */
-                                ContestedResourceIdentityVotes.prototype.finishedResults = false;
+                                FinishedVoteInfo.prototype.wonByIdentityId = $util.newBuffer([]);
 
                                 /**
-                                 * Creates a new ContestedResourceIdentityVotes instance using the specified properties.
+                                 * FinishedVoteInfo finishedAtBlockHeight.
+                                 * @member {number|Long} finishedAtBlockHeight
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo
+                                 * @instance
+                                 */
+                                FinishedVoteInfo.prototype.finishedAtBlockHeight = $util.Long ? $util.Long.fromBits(0,0,true) : 0;
+
+                                /**
+                                 * FinishedVoteInfo finishedAtCoreBlockHeight.
+                                 * @member {number} finishedAtCoreBlockHeight
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo
+                                 * @instance
+                                 */
+                                FinishedVoteInfo.prototype.finishedAtCoreBlockHeight = 0;
+
+                                /**
+                                 * FinishedVoteInfo finishedAtBlockTimeMs.
+                                 * @member {number|Long} finishedAtBlockTimeMs
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo
+                                 * @instance
+                                 */
+                                FinishedVoteInfo.prototype.finishedAtBlockTimeMs = $util.Long ? $util.Long.fromBits(0,0,true) : 0;
+
+                                /**
+                                 * FinishedVoteInfo finishedAtEpoch.
+                                 * @member {number} finishedAtEpoch
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo
+                                 * @instance
+                                 */
+                                FinishedVoteInfo.prototype.finishedAtEpoch = 0;
+
+                                /**
+                                 * Creates a new FinishedVoteInfo instance using the specified properties.
                                  * @function create
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo
                                  * @static
-                                 * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.IContestedResourceIdentityVotes=} [properties] Properties to set
-                                 * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes} ContestedResourceIdentityVotes instance
+                                 * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.IFinishedVoteInfo=} [properties] Properties to set
+                                 * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo} FinishedVoteInfo instance
                                  */
-                                ContestedResourceIdentityVotes.create = function create(properties) {
-                                    return new ContestedResourceIdentityVotes(properties);
+                                FinishedVoteInfo.create = function create(properties) {
+                                    return new FinishedVoteInfo(properties);
                                 };
 
                                 /**
-                                 * Encodes the specified ContestedResourceIdentityVotes message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.verify|verify} messages.
+                                 * Encodes the specified FinishedVoteInfo message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.verify|verify} messages.
                                  * @function encode
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo
                                  * @static
-                                 * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.IContestedResourceIdentityVotes} message ContestedResourceIdentityVotes message or plain object to encode
+                                 * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.IFinishedVoteInfo} message FinishedVoteInfo message or plain object to encode
                                  * @param {$protobuf.Writer} [writer] Writer to encode to
                                  * @returns {$protobuf.Writer} Writer
                                  */
-                                ContestedResourceIdentityVotes.encode = function encode(message, writer) {
+                                FinishedVoteInfo.encode = function encode(message, writer) {
                                     if (!writer)
                                         writer = $Writer.create();
-                                    if (message.contestedResourceIdentityVotes != null && message.contestedResourceIdentityVotes.length)
-                                        for (var i = 0; i < message.contestedResourceIdentityVotes.length; ++i)
-                                            $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.encode(message.contestedResourceIdentityVotes[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
-                                    if (message.finishedResults != null && Object.hasOwnProperty.call(message, "finishedResults"))
-                                        writer.uint32(/* id 2, wireType 0 =*/16).bool(message.finishedResults);
+                                    if (message.finishedVoteOutcome != null && Object.hasOwnProperty.call(message, "finishedVoteOutcome"))
+                                        writer.uint32(/* id 1, wireType 0 =*/8).int32(message.finishedVoteOutcome);
+                                    if (message.wonByIdentityId != null && Object.hasOwnProperty.call(message, "wonByIdentityId"))
+                                        writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.wonByIdentityId);
+                                    if (message.finishedAtBlockHeight != null && Object.hasOwnProperty.call(message, "finishedAtBlockHeight"))
+                                        writer.uint32(/* id 3, wireType 0 =*/24).uint64(message.finishedAtBlockHeight);
+                                    if (message.finishedAtCoreBlockHeight != null && Object.hasOwnProperty.call(message, "finishedAtCoreBlockHeight"))
+                                        writer.uint32(/* id 4, wireType 0 =*/32).uint32(message.finishedAtCoreBlockHeight);
+                                    if (message.finishedAtBlockTimeMs != null && Object.hasOwnProperty.call(message, "finishedAtBlockTimeMs"))
+                                        writer.uint32(/* id 5, wireType 0 =*/40).uint64(message.finishedAtBlockTimeMs);
+                                    if (message.finishedAtEpoch != null && Object.hasOwnProperty.call(message, "finishedAtEpoch"))
+                                        writer.uint32(/* id 6, wireType 0 =*/48).uint32(message.finishedAtEpoch);
                                     return writer;
                                 };
 
                                 /**
-                                 * Encodes the specified ContestedResourceIdentityVotes message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.verify|verify} messages.
+                                 * Encodes the specified FinishedVoteInfo message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.verify|verify} messages.
                                  * @function encodeDelimited
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo
                                  * @static
-                                 * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.IContestedResourceIdentityVotes} message ContestedResourceIdentityVotes message or plain object to encode
+                                 * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.IFinishedVoteInfo} message FinishedVoteInfo message or plain object to encode
                                  * @param {$protobuf.Writer} [writer] Writer to encode to
                                  * @returns {$protobuf.Writer} Writer
                                  */
-                                ContestedResourceIdentityVotes.encodeDelimited = function encodeDelimited(message, writer) {
+                                FinishedVoteInfo.encodeDelimited = function encodeDelimited(message, writer) {
                                     return this.encode(message, writer).ldelim();
                                 };
 
                                 /**
-                                 * Decodes a ContestedResourceIdentityVotes message from the specified reader or buffer.
+                                 * Decodes a FinishedVoteInfo message from the specified reader or buffer.
                                  * @function decode
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo
                                  * @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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes} ContestedResourceIdentityVotes
+                                 * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo} FinishedVoteInfo
                                  * @throws {Error} If the payload is not a reader or valid buffer
                                  * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                  */
-                                ContestedResourceIdentityVotes.decode = function decode(reader, length) {
+                                FinishedVoteInfo.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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes();
+                                    var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo();
                                     while (reader.pos < end) {
                                         var tag = reader.uint32();
                                         switch (tag >>> 3) {
                                         case 1:
-                                            if (!(message.contestedResourceIdentityVotes && message.contestedResourceIdentityVotes.length))
-                                                message.contestedResourceIdentityVotes = [];
-                                            message.contestedResourceIdentityVotes.push($root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.decode(reader, reader.uint32()));
+                                            message.finishedVoteOutcome = reader.int32();
                                             break;
                                         case 2:
-                                            message.finishedResults = reader.bool();
+                                            message.wonByIdentityId = reader.bytes();
+                                            break;
+                                        case 3:
+                                            message.finishedAtBlockHeight = reader.uint64();
+                                            break;
+                                        case 4:
+                                            message.finishedAtCoreBlockHeight = reader.uint32();
+                                            break;
+                                        case 5:
+                                            message.finishedAtBlockTimeMs = reader.uint64();
+                                            break;
+                                        case 6:
+                                            message.finishedAtEpoch = reader.uint32();
                                             break;
                                         default:
                                             reader.skipType(tag & 7);
@@ -35917,134 +35750,223 @@ $root.org = (function() {
                                 };
 
                                 /**
-                                 * Decodes a ContestedResourceIdentityVotes message from the specified reader or buffer, length delimited.
+                                 * Decodes a FinishedVoteInfo message from the specified reader or buffer, length delimited.
                                  * @function decodeDelimited
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo
                                  * @static
                                  * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                                 * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes} ContestedResourceIdentityVotes
+                                 * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo} FinishedVoteInfo
                                  * @throws {Error} If the payload is not a reader or valid buffer
                                  * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                  */
-                                ContestedResourceIdentityVotes.decodeDelimited = function decodeDelimited(reader) {
+                                FinishedVoteInfo.decodeDelimited = function decodeDelimited(reader) {
                                     if (!(reader instanceof $Reader))
                                         reader = new $Reader(reader);
                                     return this.decode(reader, reader.uint32());
                                 };
 
                                 /**
-                                 * Verifies a ContestedResourceIdentityVotes message.
+                                 * Verifies a FinishedVoteInfo message.
                                  * @function verify
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo
                                  * @static
                                  * @param {Object.} message Plain object to verify
                                  * @returns {string|null} `null` if valid, otherwise the reason why it is not
                                  */
-                                ContestedResourceIdentityVotes.verify = function verify(message) {
+                                FinishedVoteInfo.verify = function verify(message) {
                                     if (typeof message !== "object" || message === null)
                                         return "object expected";
-                                    if (message.contestedResourceIdentityVotes != null && message.hasOwnProperty("contestedResourceIdentityVotes")) {
-                                        if (!Array.isArray(message.contestedResourceIdentityVotes))
-                                            return "contestedResourceIdentityVotes: array expected";
-                                        for (var i = 0; i < message.contestedResourceIdentityVotes.length; ++i) {
-                                            var error = $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.verify(message.contestedResourceIdentityVotes[i]);
-                                            if (error)
-                                                return "contestedResourceIdentityVotes." + error;
+                                    if (message.finishedVoteOutcome != null && message.hasOwnProperty("finishedVoteOutcome"))
+                                        switch (message.finishedVoteOutcome) {
+                                        default:
+                                            return "finishedVoteOutcome: enum value expected";
+                                        case 0:
+                                        case 1:
+                                        case 2:
+                                            break;
                                         }
-                                    }
-                                    if (message.finishedResults != null && message.hasOwnProperty("finishedResults"))
-                                        if (typeof message.finishedResults !== "boolean")
-                                            return "finishedResults: boolean expected";
+                                    if (message.wonByIdentityId != null && message.hasOwnProperty("wonByIdentityId"))
+                                        if (!(message.wonByIdentityId && typeof message.wonByIdentityId.length === "number" || $util.isString(message.wonByIdentityId)))
+                                            return "wonByIdentityId: buffer expected";
+                                    if (message.finishedAtBlockHeight != null && message.hasOwnProperty("finishedAtBlockHeight"))
+                                        if (!$util.isInteger(message.finishedAtBlockHeight) && !(message.finishedAtBlockHeight && $util.isInteger(message.finishedAtBlockHeight.low) && $util.isInteger(message.finishedAtBlockHeight.high)))
+                                            return "finishedAtBlockHeight: integer|Long expected";
+                                    if (message.finishedAtCoreBlockHeight != null && message.hasOwnProperty("finishedAtCoreBlockHeight"))
+                                        if (!$util.isInteger(message.finishedAtCoreBlockHeight))
+                                            return "finishedAtCoreBlockHeight: integer expected";
+                                    if (message.finishedAtBlockTimeMs != null && message.hasOwnProperty("finishedAtBlockTimeMs"))
+                                        if (!$util.isInteger(message.finishedAtBlockTimeMs) && !(message.finishedAtBlockTimeMs && $util.isInteger(message.finishedAtBlockTimeMs.low) && $util.isInteger(message.finishedAtBlockTimeMs.high)))
+                                            return "finishedAtBlockTimeMs: integer|Long expected";
+                                    if (message.finishedAtEpoch != null && message.hasOwnProperty("finishedAtEpoch"))
+                                        if (!$util.isInteger(message.finishedAtEpoch))
+                                            return "finishedAtEpoch: integer expected";
                                     return null;
                                 };
 
                                 /**
-                                 * Creates a ContestedResourceIdentityVotes message from a plain object. Also converts values to their respective internal types.
+                                 * Creates a FinishedVoteInfo message from a plain object. Also converts values to their respective internal types.
                                  * @function fromObject
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo
                                  * @static
                                  * @param {Object.} object Plain object
-                                 * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes} ContestedResourceIdentityVotes
+                                 * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo} FinishedVoteInfo
                                  */
-                                ContestedResourceIdentityVotes.fromObject = function fromObject(object) {
-                                    if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes)
+                                FinishedVoteInfo.fromObject = function fromObject(object) {
+                                    if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo)
                                         return object;
-                                    var message = new $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes();
-                                    if (object.contestedResourceIdentityVotes) {
-                                        if (!Array.isArray(object.contestedResourceIdentityVotes))
-                                            throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.contestedResourceIdentityVotes: array expected");
-                                        message.contestedResourceIdentityVotes = [];
-                                        for (var i = 0; i < object.contestedResourceIdentityVotes.length; ++i) {
-                                            if (typeof object.contestedResourceIdentityVotes[i] !== "object")
-                                                throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.contestedResourceIdentityVotes: object expected");
-                                            message.contestedResourceIdentityVotes[i] = $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.fromObject(object.contestedResourceIdentityVotes[i]);
-                                        }
+                                    var message = new $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo();
+                                    switch (object.finishedVoteOutcome) {
+                                    case "TOWARDS_IDENTITY":
+                                    case 0:
+                                        message.finishedVoteOutcome = 0;
+                                        break;
+                                    case "LOCKED":
+                                    case 1:
+                                        message.finishedVoteOutcome = 1;
+                                        break;
+                                    case "NO_PREVIOUS_WINNER":
+                                    case 2:
+                                        message.finishedVoteOutcome = 2;
+                                        break;
                                     }
-                                    if (object.finishedResults != null)
-                                        message.finishedResults = Boolean(object.finishedResults);
+                                    if (object.wonByIdentityId != null)
+                                        if (typeof object.wonByIdentityId === "string")
+                                            $util.base64.decode(object.wonByIdentityId, message.wonByIdentityId = $util.newBuffer($util.base64.length(object.wonByIdentityId)), 0);
+                                        else if (object.wonByIdentityId.length >= 0)
+                                            message.wonByIdentityId = object.wonByIdentityId;
+                                    if (object.finishedAtBlockHeight != null)
+                                        if ($util.Long)
+                                            (message.finishedAtBlockHeight = $util.Long.fromValue(object.finishedAtBlockHeight)).unsigned = true;
+                                        else if (typeof object.finishedAtBlockHeight === "string")
+                                            message.finishedAtBlockHeight = parseInt(object.finishedAtBlockHeight, 10);
+                                        else if (typeof object.finishedAtBlockHeight === "number")
+                                            message.finishedAtBlockHeight = object.finishedAtBlockHeight;
+                                        else if (typeof object.finishedAtBlockHeight === "object")
+                                            message.finishedAtBlockHeight = new $util.LongBits(object.finishedAtBlockHeight.low >>> 0, object.finishedAtBlockHeight.high >>> 0).toNumber(true);
+                                    if (object.finishedAtCoreBlockHeight != null)
+                                        message.finishedAtCoreBlockHeight = object.finishedAtCoreBlockHeight >>> 0;
+                                    if (object.finishedAtBlockTimeMs != null)
+                                        if ($util.Long)
+                                            (message.finishedAtBlockTimeMs = $util.Long.fromValue(object.finishedAtBlockTimeMs)).unsigned = true;
+                                        else if (typeof object.finishedAtBlockTimeMs === "string")
+                                            message.finishedAtBlockTimeMs = parseInt(object.finishedAtBlockTimeMs, 10);
+                                        else if (typeof object.finishedAtBlockTimeMs === "number")
+                                            message.finishedAtBlockTimeMs = object.finishedAtBlockTimeMs;
+                                        else if (typeof object.finishedAtBlockTimeMs === "object")
+                                            message.finishedAtBlockTimeMs = new $util.LongBits(object.finishedAtBlockTimeMs.low >>> 0, object.finishedAtBlockTimeMs.high >>> 0).toNumber(true);
+                                    if (object.finishedAtEpoch != null)
+                                        message.finishedAtEpoch = object.finishedAtEpoch >>> 0;
                                     return message;
                                 };
 
                                 /**
-                                 * Creates a plain object from a ContestedResourceIdentityVotes message. Also converts values to other types if specified.
+                                 * Creates a plain object from a FinishedVoteInfo message. Also converts values to other types if specified.
                                  * @function toObject
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo
                                  * @static
-                                 * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes} message ContestedResourceIdentityVotes
+                                 * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo} message FinishedVoteInfo
                                  * @param {$protobuf.IConversionOptions} [options] Conversion options
                                  * @returns {Object.} Plain object
                                  */
-                                ContestedResourceIdentityVotes.toObject = function toObject(message, options) {
+                                FinishedVoteInfo.toObject = function toObject(message, options) {
                                     if (!options)
                                         options = {};
                                     var object = {};
-                                    if (options.arrays || options.defaults)
-                                        object.contestedResourceIdentityVotes = [];
-                                    if (options.defaults)
-                                        object.finishedResults = false;
-                                    if (message.contestedResourceIdentityVotes && message.contestedResourceIdentityVotes.length) {
-                                        object.contestedResourceIdentityVotes = [];
-                                        for (var j = 0; j < message.contestedResourceIdentityVotes.length; ++j)
-                                            object.contestedResourceIdentityVotes[j] = $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.toObject(message.contestedResourceIdentityVotes[j], options);
+                                    if (options.defaults) {
+                                        object.finishedVoteOutcome = options.enums === String ? "TOWARDS_IDENTITY" : 0;
+                                        if (options.bytes === String)
+                                            object.wonByIdentityId = "";
+                                        else {
+                                            object.wonByIdentityId = [];
+                                            if (options.bytes !== Array)
+                                                object.wonByIdentityId = $util.newBuffer(object.wonByIdentityId);
+                                        }
+                                        if ($util.Long) {
+                                            var long = new $util.Long(0, 0, true);
+                                            object.finishedAtBlockHeight = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;
+                                        } else
+                                            object.finishedAtBlockHeight = options.longs === String ? "0" : 0;
+                                        object.finishedAtCoreBlockHeight = 0;
+                                        if ($util.Long) {
+                                            var long = new $util.Long(0, 0, true);
+                                            object.finishedAtBlockTimeMs = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;
+                                        } else
+                                            object.finishedAtBlockTimeMs = options.longs === String ? "0" : 0;
+                                        object.finishedAtEpoch = 0;
                                     }
-                                    if (message.finishedResults != null && message.hasOwnProperty("finishedResults"))
-                                        object.finishedResults = message.finishedResults;
+                                    if (message.finishedVoteOutcome != null && message.hasOwnProperty("finishedVoteOutcome"))
+                                        object.finishedVoteOutcome = options.enums === String ? $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.FinishedVoteOutcome[message.finishedVoteOutcome] : message.finishedVoteOutcome;
+                                    if (message.wonByIdentityId != null && message.hasOwnProperty("wonByIdentityId"))
+                                        object.wonByIdentityId = options.bytes === String ? $util.base64.encode(message.wonByIdentityId, 0, message.wonByIdentityId.length) : options.bytes === Array ? Array.prototype.slice.call(message.wonByIdentityId) : message.wonByIdentityId;
+                                    if (message.finishedAtBlockHeight != null && message.hasOwnProperty("finishedAtBlockHeight"))
+                                        if (typeof message.finishedAtBlockHeight === "number")
+                                            object.finishedAtBlockHeight = options.longs === String ? String(message.finishedAtBlockHeight) : message.finishedAtBlockHeight;
+                                        else
+                                            object.finishedAtBlockHeight = options.longs === String ? $util.Long.prototype.toString.call(message.finishedAtBlockHeight) : options.longs === Number ? new $util.LongBits(message.finishedAtBlockHeight.low >>> 0, message.finishedAtBlockHeight.high >>> 0).toNumber(true) : message.finishedAtBlockHeight;
+                                    if (message.finishedAtCoreBlockHeight != null && message.hasOwnProperty("finishedAtCoreBlockHeight"))
+                                        object.finishedAtCoreBlockHeight = message.finishedAtCoreBlockHeight;
+                                    if (message.finishedAtBlockTimeMs != null && message.hasOwnProperty("finishedAtBlockTimeMs"))
+                                        if (typeof message.finishedAtBlockTimeMs === "number")
+                                            object.finishedAtBlockTimeMs = options.longs === String ? String(message.finishedAtBlockTimeMs) : message.finishedAtBlockTimeMs;
+                                        else
+                                            object.finishedAtBlockTimeMs = options.longs === String ? $util.Long.prototype.toString.call(message.finishedAtBlockTimeMs) : options.longs === Number ? new $util.LongBits(message.finishedAtBlockTimeMs.low >>> 0, message.finishedAtBlockTimeMs.high >>> 0).toNumber(true) : message.finishedAtBlockTimeMs;
+                                    if (message.finishedAtEpoch != null && message.hasOwnProperty("finishedAtEpoch"))
+                                        object.finishedAtEpoch = message.finishedAtEpoch;
                                     return object;
                                 };
 
                                 /**
-                                 * Converts this ContestedResourceIdentityVotes to JSON.
+                                 * Converts this FinishedVoteInfo to JSON.
                                  * @function toJSON
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo
                                  * @instance
                                  * @returns {Object.} JSON object
                                  */
-                                ContestedResourceIdentityVotes.prototype.toJSON = function toJSON() {
+                                FinishedVoteInfo.prototype.toJSON = function toJSON() {
                                     return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
                                 };
 
-                                return ContestedResourceIdentityVotes;
+                                /**
+                                 * FinishedVoteOutcome enum.
+                                 * @name org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.FinishedVoteOutcome
+                                 * @enum {number}
+                                 * @property {number} TOWARDS_IDENTITY=0 TOWARDS_IDENTITY value
+                                 * @property {number} LOCKED=1 LOCKED value
+                                 * @property {number} NO_PREVIOUS_WINNER=2 NO_PREVIOUS_WINNER value
+                                 */
+                                FinishedVoteInfo.FinishedVoteOutcome = (function() {
+                                    var valuesById = {}, values = Object.create(valuesById);
+                                    values[valuesById[0] = "TOWARDS_IDENTITY"] = 0;
+                                    values[valuesById[1] = "LOCKED"] = 1;
+                                    values[valuesById[2] = "NO_PREVIOUS_WINNER"] = 2;
+                                    return values;
+                                })();
+
+                                return FinishedVoteInfo;
                             })();
 
-                            GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice = (function() {
+                            GetContestedResourceVoteStateResponseV0.ContestedResourceContenders = (function() {
 
                                 /**
-                                 * Properties of a ResourceVoteChoice.
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0
-                                 * @interface IResourceVoteChoice
-                                 * @property {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.VoteChoiceType|null} [voteChoiceType] ResourceVoteChoice voteChoiceType
-                                 * @property {Uint8Array|null} [identityId] ResourceVoteChoice identityId
+                                 * Properties of a ContestedResourceContenders.
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0
+                                 * @interface IContestedResourceContenders
+                                 * @property {Array.|null} [contenders] ContestedResourceContenders contenders
+                                 * @property {number|null} [abstainVoteTally] ContestedResourceContenders abstainVoteTally
+                                 * @property {number|null} [lockVoteTally] ContestedResourceContenders lockVoteTally
+                                 * @property {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.IFinishedVoteInfo|null} [finishedVoteInfo] ContestedResourceContenders finishedVoteInfo
                                  */
 
                                 /**
-                                 * Constructs a new ResourceVoteChoice.
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0
-                                 * @classdesc Represents a ResourceVoteChoice.
-                                 * @implements IResourceVoteChoice
+                                 * Constructs a new ContestedResourceContenders.
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0
+                                 * @classdesc Represents a ContestedResourceContenders.
+                                 * @implements IContestedResourceContenders
                                  * @constructor
-                                 * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.IResourceVoteChoice=} [properties] Properties to set
+                                 * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.IContestedResourceContenders=} [properties] Properties to set
                                  */
-                                function ResourceVoteChoice(properties) {
+                                function ContestedResourceContenders(properties) {
+                                    this.contenders = [];
                                     if (properties)
                                         for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
                                             if (properties[keys[i]] != null)
@@ -36052,88 +35974,117 @@ $root.org = (function() {
                                 }
 
                                 /**
-                                 * ResourceVoteChoice voteChoiceType.
-                                 * @member {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.VoteChoiceType} voteChoiceType
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice
+                                 * ContestedResourceContenders contenders.
+                                 * @member {Array.} contenders
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders
                                  * @instance
                                  */
-                                ResourceVoteChoice.prototype.voteChoiceType = 0;
+                                ContestedResourceContenders.prototype.contenders = $util.emptyArray;
 
                                 /**
-                                 * ResourceVoteChoice identityId.
-                                 * @member {Uint8Array} identityId
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice
+                                 * ContestedResourceContenders abstainVoteTally.
+                                 * @member {number} abstainVoteTally
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders
                                  * @instance
                                  */
-                                ResourceVoteChoice.prototype.identityId = $util.newBuffer([]);
+                                ContestedResourceContenders.prototype.abstainVoteTally = 0;
 
                                 /**
-                                 * Creates a new ResourceVoteChoice instance using the specified properties.
-                                 * @function create
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice
-                                 * @static
-                                 * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.IResourceVoteChoice=} [properties] Properties to set
-                                 * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice} ResourceVoteChoice instance
+                                 * ContestedResourceContenders lockVoteTally.
+                                 * @member {number} lockVoteTally
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders
+                                 * @instance
                                  */
-                                ResourceVoteChoice.create = function create(properties) {
-                                    return new ResourceVoteChoice(properties);
-                                };
+                                ContestedResourceContenders.prototype.lockVoteTally = 0;
 
                                 /**
-                                 * Encodes the specified ResourceVoteChoice message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.verify|verify} messages.
-                                 * @function encode
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice
-                                 * @static
-                                 * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.IResourceVoteChoice} message ResourceVoteChoice message or plain object to encode
-                                 * @param {$protobuf.Writer} [writer] Writer to encode to
-                                 * @returns {$protobuf.Writer} Writer
-                                 */
-                                ResourceVoteChoice.encode = function encode(message, writer) {
+                                 * ContestedResourceContenders finishedVoteInfo.
+                                 * @member {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.IFinishedVoteInfo|null|undefined} finishedVoteInfo
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders
+                                 * @instance
+                                 */
+                                ContestedResourceContenders.prototype.finishedVoteInfo = null;
+
+                                /**
+                                 * Creates a new ContestedResourceContenders instance using the specified properties.
+                                 * @function create
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders
+                                 * @static
+                                 * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.IContestedResourceContenders=} [properties] Properties to set
+                                 * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders} ContestedResourceContenders instance
+                                 */
+                                ContestedResourceContenders.create = function create(properties) {
+                                    return new ContestedResourceContenders(properties);
+                                };
+
+                                /**
+                                 * Encodes the specified ContestedResourceContenders message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.verify|verify} messages.
+                                 * @function encode
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders
+                                 * @static
+                                 * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.IContestedResourceContenders} message ContestedResourceContenders message or plain object to encode
+                                 * @param {$protobuf.Writer} [writer] Writer to encode to
+                                 * @returns {$protobuf.Writer} Writer
+                                 */
+                                ContestedResourceContenders.encode = function encode(message, writer) {
                                     if (!writer)
                                         writer = $Writer.create();
-                                    if (message.voteChoiceType != null && Object.hasOwnProperty.call(message, "voteChoiceType"))
-                                        writer.uint32(/* id 1, wireType 0 =*/8).int32(message.voteChoiceType);
-                                    if (message.identityId != null && Object.hasOwnProperty.call(message, "identityId"))
-                                        writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.identityId);
+                                    if (message.contenders != null && message.contenders.length)
+                                        for (var i = 0; i < message.contenders.length; ++i)
+                                            $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.encode(message.contenders[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+                                    if (message.abstainVoteTally != null && Object.hasOwnProperty.call(message, "abstainVoteTally"))
+                                        writer.uint32(/* id 2, wireType 0 =*/16).uint32(message.abstainVoteTally);
+                                    if (message.lockVoteTally != null && Object.hasOwnProperty.call(message, "lockVoteTally"))
+                                        writer.uint32(/* id 3, wireType 0 =*/24).uint32(message.lockVoteTally);
+                                    if (message.finishedVoteInfo != null && Object.hasOwnProperty.call(message, "finishedVoteInfo"))
+                                        $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.encode(message.finishedVoteInfo, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim();
                                     return writer;
                                 };
 
                                 /**
-                                 * Encodes the specified ResourceVoteChoice message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.verify|verify} messages.
+                                 * Encodes the specified ContestedResourceContenders message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.verify|verify} messages.
                                  * @function encodeDelimited
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders
                                  * @static
-                                 * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.IResourceVoteChoice} message ResourceVoteChoice message or plain object to encode
+                                 * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.IContestedResourceContenders} message ContestedResourceContenders message or plain object to encode
                                  * @param {$protobuf.Writer} [writer] Writer to encode to
                                  * @returns {$protobuf.Writer} Writer
                                  */
-                                ResourceVoteChoice.encodeDelimited = function encodeDelimited(message, writer) {
+                                ContestedResourceContenders.encodeDelimited = function encodeDelimited(message, writer) {
                                     return this.encode(message, writer).ldelim();
                                 };
 
                                 /**
-                                 * Decodes a ResourceVoteChoice message from the specified reader or buffer.
+                                 * Decodes a ContestedResourceContenders message from the specified reader or buffer.
                                  * @function decode
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders
                                  * @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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice} ResourceVoteChoice
+                                 * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders} ContestedResourceContenders
                                  * @throws {Error} If the payload is not a reader or valid buffer
                                  * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                  */
-                                ResourceVoteChoice.decode = function decode(reader, length) {
+                                ContestedResourceContenders.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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice();
+                                    var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders();
                                     while (reader.pos < end) {
                                         var tag = reader.uint32();
                                         switch (tag >>> 3) {
                                         case 1:
-                                            message.voteChoiceType = reader.int32();
+                                            if (!(message.contenders && message.contenders.length))
+                                                message.contenders = [];
+                                            message.contenders.push($root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.decode(reader, reader.uint32()));
                                             break;
                                         case 2:
-                                            message.identityId = reader.bytes();
+                                            message.abstainVoteTally = reader.uint32();
+                                            break;
+                                        case 3:
+                                            message.lockVoteTally = reader.uint32();
+                                            break;
+                                        case 4:
+                                            message.finishedVoteInfo = $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.decode(reader, reader.uint32());
                                             break;
                                         default:
                                             reader.skipType(tag & 7);
@@ -36144,163 +36095,157 @@ $root.org = (function() {
                                 };
 
                                 /**
-                                 * Decodes a ResourceVoteChoice message from the specified reader or buffer, length delimited.
+                                 * Decodes a ContestedResourceContenders message from the specified reader or buffer, length delimited.
                                  * @function decodeDelimited
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders
                                  * @static
                                  * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                                 * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice} ResourceVoteChoice
+                                 * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders} ContestedResourceContenders
                                  * @throws {Error} If the payload is not a reader or valid buffer
                                  * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                  */
-                                ResourceVoteChoice.decodeDelimited = function decodeDelimited(reader) {
+                                ContestedResourceContenders.decodeDelimited = function decodeDelimited(reader) {
                                     if (!(reader instanceof $Reader))
                                         reader = new $Reader(reader);
                                     return this.decode(reader, reader.uint32());
                                 };
 
                                 /**
-                                 * Verifies a ResourceVoteChoice message.
+                                 * Verifies a ContestedResourceContenders message.
                                  * @function verify
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders
                                  * @static
                                  * @param {Object.} message Plain object to verify
                                  * @returns {string|null} `null` if valid, otherwise the reason why it is not
                                  */
-                                ResourceVoteChoice.verify = function verify(message) {
+                                ContestedResourceContenders.verify = function verify(message) {
                                     if (typeof message !== "object" || message === null)
                                         return "object expected";
-                                    if (message.voteChoiceType != null && message.hasOwnProperty("voteChoiceType"))
-                                        switch (message.voteChoiceType) {
-                                        default:
-                                            return "voteChoiceType: enum value expected";
-                                        case 0:
-                                        case 1:
-                                        case 2:
-                                            break;
+                                    if (message.contenders != null && message.hasOwnProperty("contenders")) {
+                                        if (!Array.isArray(message.contenders))
+                                            return "contenders: array expected";
+                                        for (var i = 0; i < message.contenders.length; ++i) {
+                                            var error = $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.verify(message.contenders[i]);
+                                            if (error)
+                                                return "contenders." + error;
                                         }
-                                    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.abstainVoteTally != null && message.hasOwnProperty("abstainVoteTally"))
+                                        if (!$util.isInteger(message.abstainVoteTally))
+                                            return "abstainVoteTally: integer expected";
+                                    if (message.lockVoteTally != null && message.hasOwnProperty("lockVoteTally"))
+                                        if (!$util.isInteger(message.lockVoteTally))
+                                            return "lockVoteTally: integer expected";
+                                    if (message.finishedVoteInfo != null && message.hasOwnProperty("finishedVoteInfo")) {
+                                        var error = $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.verify(message.finishedVoteInfo);
+                                        if (error)
+                                            return "finishedVoteInfo." + error;
+                                    }
                                     return null;
                                 };
 
                                 /**
-                                 * Creates a ResourceVoteChoice message from a plain object. Also converts values to their respective internal types.
+                                 * Creates a ContestedResourceContenders message from a plain object. Also converts values to their respective internal types.
                                  * @function fromObject
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders
                                  * @static
                                  * @param {Object.} object Plain object
-                                 * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice} ResourceVoteChoice
+                                 * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders} ContestedResourceContenders
                                  */
-                                ResourceVoteChoice.fromObject = function fromObject(object) {
-                                    if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice)
+                                ContestedResourceContenders.fromObject = function fromObject(object) {
+                                    if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders)
                                         return object;
-                                    var message = new $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice();
-                                    switch (object.voteChoiceType) {
-                                    case "TOWARDS_IDENTITY":
-                                    case 0:
-                                        message.voteChoiceType = 0;
-                                        break;
-                                    case "ABSTAIN":
-                                    case 1:
-                                        message.voteChoiceType = 1;
-                                        break;
-                                    case "LOCK":
-                                    case 2:
-                                        message.voteChoiceType = 2;
-                                        break;
+                                    var message = new $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders();
+                                    if (object.contenders) {
+                                        if (!Array.isArray(object.contenders))
+                                            throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.contenders: array expected");
+                                        message.contenders = [];
+                                        for (var i = 0; i < object.contenders.length; ++i) {
+                                            if (typeof object.contenders[i] !== "object")
+                                                throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.contenders: object expected");
+                                            message.contenders[i] = $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.fromObject(object.contenders[i]);
+                                        }
+                                    }
+                                    if (object.abstainVoteTally != null)
+                                        message.abstainVoteTally = object.abstainVoteTally >>> 0;
+                                    if (object.lockVoteTally != null)
+                                        message.lockVoteTally = object.lockVoteTally >>> 0;
+                                    if (object.finishedVoteInfo != null) {
+                                        if (typeof object.finishedVoteInfo !== "object")
+                                            throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.finishedVoteInfo: object expected");
+                                        message.finishedVoteInfo = $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.fromObject(object.finishedVoteInfo);
                                     }
-                                    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;
                                     return message;
                                 };
 
                                 /**
-                                 * Creates a plain object from a ResourceVoteChoice message. Also converts values to other types if specified.
+                                 * Creates a plain object from a ContestedResourceContenders message. Also converts values to other types if specified.
                                  * @function toObject
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders
                                  * @static
-                                 * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice} message ResourceVoteChoice
+                                 * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders} message ContestedResourceContenders
                                  * @param {$protobuf.IConversionOptions} [options] Conversion options
                                  * @returns {Object.} Plain object
                                  */
-                                ResourceVoteChoice.toObject = function toObject(message, options) {
+                                ContestedResourceContenders.toObject = function toObject(message, options) {
                                     if (!options)
                                         options = {};
                                     var object = {};
+                                    if (options.arrays || options.defaults)
+                                        object.contenders = [];
                                     if (options.defaults) {
-                                        object.voteChoiceType = options.enums === String ? "TOWARDS_IDENTITY" : 0;
-                                        if (options.bytes === String)
-                                            object.identityId = "";
-                                        else {
-                                            object.identityId = [];
-                                            if (options.bytes !== Array)
-                                                object.identityId = $util.newBuffer(object.identityId);
-                                        }
+                                        object.abstainVoteTally = 0;
+                                        object.lockVoteTally = 0;
+                                        object.finishedVoteInfo = null;
                                     }
-                                    if (message.voteChoiceType != null && message.hasOwnProperty("voteChoiceType"))
-                                        object.voteChoiceType = options.enums === String ? $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.VoteChoiceType[message.voteChoiceType] : message.voteChoiceType;
-                                    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.contenders && message.contenders.length) {
+                                        object.contenders = [];
+                                        for (var j = 0; j < message.contenders.length; ++j)
+                                            object.contenders[j] = $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.toObject(message.contenders[j], options);
+                                    }
+                                    if (message.abstainVoteTally != null && message.hasOwnProperty("abstainVoteTally"))
+                                        object.abstainVoteTally = message.abstainVoteTally;
+                                    if (message.lockVoteTally != null && message.hasOwnProperty("lockVoteTally"))
+                                        object.lockVoteTally = message.lockVoteTally;
+                                    if (message.finishedVoteInfo != null && message.hasOwnProperty("finishedVoteInfo"))
+                                        object.finishedVoteInfo = $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.toObject(message.finishedVoteInfo, options);
                                     return object;
                                 };
 
                                 /**
-                                 * Converts this ResourceVoteChoice to JSON.
+                                 * Converts this ContestedResourceContenders to JSON.
                                  * @function toJSON
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders
                                  * @instance
                                  * @returns {Object.} JSON object
                                  */
-                                ResourceVoteChoice.prototype.toJSON = function toJSON() {
+                                ContestedResourceContenders.prototype.toJSON = function toJSON() {
                                     return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
                                 };
 
-                                /**
-                                 * VoteChoiceType enum.
-                                 * @name org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.VoteChoiceType
-                                 * @enum {number}
-                                 * @property {number} TOWARDS_IDENTITY=0 TOWARDS_IDENTITY value
-                                 * @property {number} ABSTAIN=1 ABSTAIN value
-                                 * @property {number} LOCK=2 LOCK value
-                                 */
-                                ResourceVoteChoice.VoteChoiceType = (function() {
-                                    var valuesById = {}, values = Object.create(valuesById);
-                                    values[valuesById[0] = "TOWARDS_IDENTITY"] = 0;
-                                    values[valuesById[1] = "ABSTAIN"] = 1;
-                                    values[valuesById[2] = "LOCK"] = 2;
-                                    return values;
-                                })();
-
-                                return ResourceVoteChoice;
+                                return ContestedResourceContenders;
                             })();
 
-                            GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote = (function() {
+                            GetContestedResourceVoteStateResponseV0.Contender = (function() {
 
                                 /**
-                                 * Properties of a ContestedResourceIdentityVote.
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0
-                                 * @interface IContestedResourceIdentityVote
-                                 * @property {Uint8Array|null} [contractId] ContestedResourceIdentityVote contractId
-                                 * @property {string|null} [documentTypeName] ContestedResourceIdentityVote documentTypeName
-                                 * @property {Array.|null} [serializedIndexStorageValues] ContestedResourceIdentityVote serializedIndexStorageValues
-                                 * @property {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.IResourceVoteChoice|null} [voteChoice] ContestedResourceIdentityVote voteChoice
+                                 * Properties of a Contender.
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0
+                                 * @interface IContender
+                                 * @property {Uint8Array|null} [identifier] Contender identifier
+                                 * @property {number|null} [voteCount] Contender voteCount
+                                 * @property {Uint8Array|null} [document] Contender document
                                  */
 
                                 /**
-                                 * Constructs a new ContestedResourceIdentityVote.
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0
-                                 * @classdesc Represents a ContestedResourceIdentityVote.
-                                 * @implements IContestedResourceIdentityVote
+                                 * Constructs a new Contender.
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0
+                                 * @classdesc Represents a Contender.
+                                 * @implements IContender
                                  * @constructor
-                                 * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.IContestedResourceIdentityVote=} [properties] Properties to set
+                                 * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.IContender=} [properties] Properties to set
                                  */
-                                function ContestedResourceIdentityVote(properties) {
-                                    this.serializedIndexStorageValues = [];
+                                function Contender(properties) {
                                     if (properties)
                                         for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
                                             if (properties[keys[i]] != null)
@@ -36308,117 +36253,101 @@ $root.org = (function() {
                                 }
 
                                 /**
-                                 * ContestedResourceIdentityVote contractId.
-                                 * @member {Uint8Array} contractId
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote
-                                 * @instance
-                                 */
-                                ContestedResourceIdentityVote.prototype.contractId = $util.newBuffer([]);
-
-                                /**
-                                 * ContestedResourceIdentityVote documentTypeName.
-                                 * @member {string} documentTypeName
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote
+                                 * Contender identifier.
+                                 * @member {Uint8Array} identifier
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender
                                  * @instance
                                  */
-                                ContestedResourceIdentityVote.prototype.documentTypeName = "";
+                                Contender.prototype.identifier = $util.newBuffer([]);
 
                                 /**
-                                 * ContestedResourceIdentityVote serializedIndexStorageValues.
-                                 * @member {Array.} serializedIndexStorageValues
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote
+                                 * Contender voteCount.
+                                 * @member {number} voteCount
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender
                                  * @instance
                                  */
-                                ContestedResourceIdentityVote.prototype.serializedIndexStorageValues = $util.emptyArray;
+                                Contender.prototype.voteCount = 0;
 
                                 /**
-                                 * ContestedResourceIdentityVote voteChoice.
-                                 * @member {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.IResourceVoteChoice|null|undefined} voteChoice
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote
+                                 * Contender document.
+                                 * @member {Uint8Array} document
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender
                                  * @instance
                                  */
-                                ContestedResourceIdentityVote.prototype.voteChoice = null;
+                                Contender.prototype.document = $util.newBuffer([]);
 
                                 /**
-                                 * Creates a new ContestedResourceIdentityVote instance using the specified properties.
+                                 * Creates a new Contender instance using the specified properties.
                                  * @function create
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender
                                  * @static
-                                 * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.IContestedResourceIdentityVote=} [properties] Properties to set
-                                 * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote} ContestedResourceIdentityVote instance
+                                 * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.IContender=} [properties] Properties to set
+                                 * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender} Contender instance
                                  */
-                                ContestedResourceIdentityVote.create = function create(properties) {
-                                    return new ContestedResourceIdentityVote(properties);
+                                Contender.create = function create(properties) {
+                                    return new Contender(properties);
                                 };
 
                                 /**
-                                 * Encodes the specified ContestedResourceIdentityVote message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.verify|verify} messages.
+                                 * Encodes the specified Contender message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.verify|verify} messages.
                                  * @function encode
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender
                                  * @static
-                                 * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.IContestedResourceIdentityVote} message ContestedResourceIdentityVote message or plain object to encode
+                                 * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.IContender} message Contender message or plain object to encode
                                  * @param {$protobuf.Writer} [writer] Writer to encode to
                                  * @returns {$protobuf.Writer} Writer
                                  */
-                                ContestedResourceIdentityVote.encode = function encode(message, writer) {
+                                Contender.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.documentTypeName != null && Object.hasOwnProperty.call(message, "documentTypeName"))
-                                        writer.uint32(/* id 2, wireType 2 =*/18).string(message.documentTypeName);
-                                    if (message.serializedIndexStorageValues != null && message.serializedIndexStorageValues.length)
-                                        for (var i = 0; i < message.serializedIndexStorageValues.length; ++i)
-                                            writer.uint32(/* id 3, wireType 2 =*/26).bytes(message.serializedIndexStorageValues[i]);
-                                    if (message.voteChoice != null && Object.hasOwnProperty.call(message, "voteChoice"))
-                                        $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.encode(message.voteChoice, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim();
+                                    if (message.identifier != null && Object.hasOwnProperty.call(message, "identifier"))
+                                        writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.identifier);
+                                    if (message.voteCount != null && Object.hasOwnProperty.call(message, "voteCount"))
+                                        writer.uint32(/* id 2, wireType 0 =*/16).uint32(message.voteCount);
+                                    if (message.document != null && Object.hasOwnProperty.call(message, "document"))
+                                        writer.uint32(/* id 3, wireType 2 =*/26).bytes(message.document);
                                     return writer;
                                 };
 
                                 /**
-                                 * Encodes the specified ContestedResourceIdentityVote message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.verify|verify} messages.
+                                 * Encodes the specified Contender message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.verify|verify} messages.
                                  * @function encodeDelimited
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender
                                  * @static
-                                 * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.IContestedResourceIdentityVote} message ContestedResourceIdentityVote message or plain object to encode
+                                 * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.IContender} message Contender message or plain object to encode
                                  * @param {$protobuf.Writer} [writer] Writer to encode to
                                  * @returns {$protobuf.Writer} Writer
                                  */
-                                ContestedResourceIdentityVote.encodeDelimited = function encodeDelimited(message, writer) {
+                                Contender.encodeDelimited = function encodeDelimited(message, writer) {
                                     return this.encode(message, writer).ldelim();
                                 };
 
                                 /**
-                                 * Decodes a ContestedResourceIdentityVote message from the specified reader or buffer.
+                                 * Decodes a Contender message from the specified reader or buffer.
                                  * @function decode
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender
                                  * @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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote} ContestedResourceIdentityVote
+                                 * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender} Contender
                                  * @throws {Error} If the payload is not a reader or valid buffer
                                  * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                  */
-                                ContestedResourceIdentityVote.decode = function decode(reader, length) {
+                                Contender.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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote();
+                                    var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender();
                                     while (reader.pos < end) {
                                         var tag = reader.uint32();
                                         switch (tag >>> 3) {
                                         case 1:
-                                            message.contractId = reader.bytes();
+                                            message.identifier = reader.bytes();
                                             break;
                                         case 2:
-                                            message.documentTypeName = reader.string();
+                                            message.voteCount = reader.uint32();
                                             break;
                                         case 3:
-                                            if (!(message.serializedIndexStorageValues && message.serializedIndexStorageValues.length))
-                                                message.serializedIndexStorageValues = [];
-                                            message.serializedIndexStorageValues.push(reader.bytes());
-                                            break;
-                                        case 4:
-                                            message.voteChoice = $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.decode(reader, reader.uint32());
+                                            message.document = reader.bytes();
                                             break;
                                         default:
                                             reader.skipType(tag & 7);
@@ -36429,168 +36358,148 @@ $root.org = (function() {
                                 };
 
                                 /**
-                                 * Decodes a ContestedResourceIdentityVote message from the specified reader or buffer, length delimited.
+                                 * Decodes a Contender message from the specified reader or buffer, length delimited.
                                  * @function decodeDelimited
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender
                                  * @static
                                  * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                                 * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote} ContestedResourceIdentityVote
+                                 * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender} Contender
                                  * @throws {Error} If the payload is not a reader or valid buffer
                                  * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                  */
-                                ContestedResourceIdentityVote.decodeDelimited = function decodeDelimited(reader) {
+                                Contender.decodeDelimited = function decodeDelimited(reader) {
                                     if (!(reader instanceof $Reader))
                                         reader = new $Reader(reader);
                                     return this.decode(reader, reader.uint32());
                                 };
 
                                 /**
-                                 * Verifies a ContestedResourceIdentityVote message.
+                                 * Verifies a Contender message.
                                  * @function verify
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender
                                  * @static
                                  * @param {Object.} message Plain object to verify
                                  * @returns {string|null} `null` if valid, otherwise the reason why it is not
                                  */
-                                ContestedResourceIdentityVote.verify = function verify(message) {
+                                Contender.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.documentTypeName != null && message.hasOwnProperty("documentTypeName"))
-                                        if (!$util.isString(message.documentTypeName))
-                                            return "documentTypeName: string expected";
-                                    if (message.serializedIndexStorageValues != null && message.hasOwnProperty("serializedIndexStorageValues")) {
-                                        if (!Array.isArray(message.serializedIndexStorageValues))
-                                            return "serializedIndexStorageValues: array expected";
-                                        for (var i = 0; i < message.serializedIndexStorageValues.length; ++i)
-                                            if (!(message.serializedIndexStorageValues[i] && typeof message.serializedIndexStorageValues[i].length === "number" || $util.isString(message.serializedIndexStorageValues[i])))
-                                                return "serializedIndexStorageValues: buffer[] expected";
-                                    }
-                                    if (message.voteChoice != null && message.hasOwnProperty("voteChoice")) {
-                                        var error = $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.verify(message.voteChoice);
-                                        if (error)
-                                            return "voteChoice." + error;
-                                    }
+                                    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.voteCount != null && message.hasOwnProperty("voteCount"))
+                                        if (!$util.isInteger(message.voteCount))
+                                            return "voteCount: integer expected";
+                                    if (message.document != null && message.hasOwnProperty("document"))
+                                        if (!(message.document && typeof message.document.length === "number" || $util.isString(message.document)))
+                                            return "document: buffer expected";
                                     return null;
                                 };
 
                                 /**
-                                 * Creates a ContestedResourceIdentityVote message from a plain object. Also converts values to their respective internal types.
+                                 * Creates a Contender message from a plain object. Also converts values to their respective internal types.
                                  * @function fromObject
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender
                                  * @static
                                  * @param {Object.} object Plain object
-                                 * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote} ContestedResourceIdentityVote
+                                 * @returns {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender} Contender
                                  */
-                                ContestedResourceIdentityVote.fromObject = function fromObject(object) {
-                                    if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote)
+                                Contender.fromObject = function fromObject(object) {
+                                    if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender)
                                         return object;
-                                    var message = new $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote();
-                                    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.documentTypeName != null)
-                                        message.documentTypeName = String(object.documentTypeName);
-                                    if (object.serializedIndexStorageValues) {
-                                        if (!Array.isArray(object.serializedIndexStorageValues))
-                                            throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.serializedIndexStorageValues: array expected");
-                                        message.serializedIndexStorageValues = [];
-                                        for (var i = 0; i < object.serializedIndexStorageValues.length; ++i)
-                                            if (typeof object.serializedIndexStorageValues[i] === "string")
-                                                $util.base64.decode(object.serializedIndexStorageValues[i], message.serializedIndexStorageValues[i] = $util.newBuffer($util.base64.length(object.serializedIndexStorageValues[i])), 0);
-                                            else if (object.serializedIndexStorageValues[i].length >= 0)
-                                                message.serializedIndexStorageValues[i] = object.serializedIndexStorageValues[i];
-                                    }
-                                    if (object.voteChoice != null) {
-                                        if (typeof object.voteChoice !== "object")
-                                            throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.voteChoice: object expected");
-                                        message.voteChoice = $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.fromObject(object.voteChoice);
-                                    }
+                                    var message = new $root.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender();
+                                    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.voteCount != null)
+                                        message.voteCount = object.voteCount >>> 0;
+                                    if (object.document != null)
+                                        if (typeof object.document === "string")
+                                            $util.base64.decode(object.document, message.document = $util.newBuffer($util.base64.length(object.document)), 0);
+                                        else if (object.document.length >= 0)
+                                            message.document = object.document;
                                     return message;
                                 };
 
                                 /**
-                                 * Creates a plain object from a ContestedResourceIdentityVote message. Also converts values to other types if specified.
+                                 * Creates a plain object from a Contender message. Also converts values to other types if specified.
                                  * @function toObject
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender
                                  * @static
-                                 * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote} message ContestedResourceIdentityVote
+                                 * @param {org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender} message Contender
                                  * @param {$protobuf.IConversionOptions} [options] Conversion options
                                  * @returns {Object.} Plain object
                                  */
-                                ContestedResourceIdentityVote.toObject = function toObject(message, options) {
+                                Contender.toObject = function toObject(message, options) {
                                     if (!options)
                                         options = {};
                                     var object = {};
-                                    if (options.arrays || options.defaults)
-                                        object.serializedIndexStorageValues = [];
                                     if (options.defaults) {
                                         if (options.bytes === String)
-                                            object.contractId = "";
+                                            object.identifier = "";
                                         else {
-                                            object.contractId = [];
+                                            object.identifier = [];
                                             if (options.bytes !== Array)
-                                                object.contractId = $util.newBuffer(object.contractId);
+                                                object.identifier = $util.newBuffer(object.identifier);
+                                        }
+                                        object.voteCount = 0;
+                                        if (options.bytes === String)
+                                            object.document = "";
+                                        else {
+                                            object.document = [];
+                                            if (options.bytes !== Array)
+                                                object.document = $util.newBuffer(object.document);
                                         }
-                                        object.documentTypeName = "";
-                                        object.voteChoice = null;
-                                    }
-                                    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.documentTypeName != null && message.hasOwnProperty("documentTypeName"))
-                                        object.documentTypeName = message.documentTypeName;
-                                    if (message.serializedIndexStorageValues && message.serializedIndexStorageValues.length) {
-                                        object.serializedIndexStorageValues = [];
-                                        for (var j = 0; j < message.serializedIndexStorageValues.length; ++j)
-                                            object.serializedIndexStorageValues[j] = options.bytes === String ? $util.base64.encode(message.serializedIndexStorageValues[j], 0, message.serializedIndexStorageValues[j].length) : options.bytes === Array ? Array.prototype.slice.call(message.serializedIndexStorageValues[j]) : message.serializedIndexStorageValues[j];
                                     }
-                                    if (message.voteChoice != null && message.hasOwnProperty("voteChoice"))
-                                        object.voteChoice = $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.toObject(message.voteChoice, options);
+                                    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.voteCount != null && message.hasOwnProperty("voteCount"))
+                                        object.voteCount = message.voteCount;
+                                    if (message.document != null && message.hasOwnProperty("document"))
+                                        object.document = options.bytes === String ? $util.base64.encode(message.document, 0, message.document.length) : options.bytes === Array ? Array.prototype.slice.call(message.document) : message.document;
                                     return object;
                                 };
 
                                 /**
-                                 * Converts this ContestedResourceIdentityVote to JSON.
+                                 * Converts this Contender to JSON.
                                  * @function toJSON
-                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender
                                  * @instance
                                  * @returns {Object.} JSON object
                                  */
-                                ContestedResourceIdentityVote.prototype.toJSON = function toJSON() {
+                                Contender.prototype.toJSON = function toJSON() {
                                     return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
                                 };
 
-                                return ContestedResourceIdentityVote;
+                                return Contender;
                             })();
 
-                            return GetContestedResourceIdentityVotesResponseV0;
+                            return GetContestedResourceVoteStateResponseV0;
                         })();
 
-                        return GetContestedResourceIdentityVotesResponse;
+                        return GetContestedResourceVoteStateResponse;
                     })();
 
-                    v0.GetPrefundedSpecializedBalanceRequest = (function() {
+                    v0.GetContestedResourceVotersForIdentityRequest = (function() {
 
                         /**
-                         * Properties of a GetPrefundedSpecializedBalanceRequest.
+                         * Properties of a GetContestedResourceVotersForIdentityRequest.
                          * @memberof org.dash.platform.dapi.v0
-                         * @interface IGetPrefundedSpecializedBalanceRequest
-                         * @property {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.IGetPrefundedSpecializedBalanceRequestV0|null} [v0] GetPrefundedSpecializedBalanceRequest v0
+                         * @interface IGetContestedResourceVotersForIdentityRequest
+                         * @property {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.IGetContestedResourceVotersForIdentityRequestV0|null} [v0] GetContestedResourceVotersForIdentityRequest v0
                          */
 
                         /**
-                         * Constructs a new GetPrefundedSpecializedBalanceRequest.
+                         * Constructs a new GetContestedResourceVotersForIdentityRequest.
                          * @memberof org.dash.platform.dapi.v0
-                         * @classdesc Represents a GetPrefundedSpecializedBalanceRequest.
-                         * @implements IGetPrefundedSpecializedBalanceRequest
+                         * @classdesc Represents a GetContestedResourceVotersForIdentityRequest.
+                         * @implements IGetContestedResourceVotersForIdentityRequest
                          * @constructor
-                         * @param {org.dash.platform.dapi.v0.IGetPrefundedSpecializedBalanceRequest=} [properties] Properties to set
+                         * @param {org.dash.platform.dapi.v0.IGetContestedResourceVotersForIdentityRequest=} [properties] Properties to set
                          */
-                        function GetPrefundedSpecializedBalanceRequest(properties) {
+                        function GetContestedResourceVotersForIdentityRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
                                     if (properties[keys[i]] != null)
@@ -36598,89 +36507,89 @@ $root.org = (function() {
                         }
 
                         /**
-                         * GetPrefundedSpecializedBalanceRequest v0.
-                         * @member {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.IGetPrefundedSpecializedBalanceRequestV0|null|undefined} v0
-                         * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest
+                         * GetContestedResourceVotersForIdentityRequest v0.
+                         * @member {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.IGetContestedResourceVotersForIdentityRequestV0|null|undefined} v0
+                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest
                          * @instance
                          */
-                        GetPrefundedSpecializedBalanceRequest.prototype.v0 = null;
+                        GetContestedResourceVotersForIdentityRequest.prototype.v0 = null;
 
                         // OneOf field names bound to virtual getters and setters
                         var $oneOfFields;
 
                         /**
-                         * GetPrefundedSpecializedBalanceRequest version.
+                         * GetContestedResourceVotersForIdentityRequest version.
                          * @member {"v0"|undefined} version
-                         * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest
+                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest
                          * @instance
                          */
-                        Object.defineProperty(GetPrefundedSpecializedBalanceRequest.prototype, "version", {
+                        Object.defineProperty(GetContestedResourceVotersForIdentityRequest.prototype, "version", {
                             get: $util.oneOfGetter($oneOfFields = ["v0"]),
                             set: $util.oneOfSetter($oneOfFields)
                         });
 
                         /**
-                         * Creates a new GetPrefundedSpecializedBalanceRequest instance using the specified properties.
+                         * Creates a new GetContestedResourceVotersForIdentityRequest instance using the specified properties.
                          * @function create
-                         * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest
+                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest
                          * @static
-                         * @param {org.dash.platform.dapi.v0.IGetPrefundedSpecializedBalanceRequest=} [properties] Properties to set
-                         * @returns {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest} GetPrefundedSpecializedBalanceRequest instance
+                         * @param {org.dash.platform.dapi.v0.IGetContestedResourceVotersForIdentityRequest=} [properties] Properties to set
+                         * @returns {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest} GetContestedResourceVotersForIdentityRequest instance
                          */
-                        GetPrefundedSpecializedBalanceRequest.create = function create(properties) {
-                            return new GetPrefundedSpecializedBalanceRequest(properties);
+                        GetContestedResourceVotersForIdentityRequest.create = function create(properties) {
+                            return new GetContestedResourceVotersForIdentityRequest(properties);
                         };
 
                         /**
-                         * Encodes the specified GetPrefundedSpecializedBalanceRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.verify|verify} messages.
+                         * Encodes the specified GetContestedResourceVotersForIdentityRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.verify|verify} messages.
                          * @function encode
-                         * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest
+                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest
                          * @static
-                         * @param {org.dash.platform.dapi.v0.IGetPrefundedSpecializedBalanceRequest} message GetPrefundedSpecializedBalanceRequest message or plain object to encode
+                         * @param {org.dash.platform.dapi.v0.IGetContestedResourceVotersForIdentityRequest} message GetContestedResourceVotersForIdentityRequest message or plain object to encode
                          * @param {$protobuf.Writer} [writer] Writer to encode to
                          * @returns {$protobuf.Writer} Writer
                          */
-                        GetPrefundedSpecializedBalanceRequest.encode = function encode(message, writer) {
+                        GetContestedResourceVotersForIdentityRequest.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.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+                                $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
                             return writer;
                         };
 
                         /**
-                         * Encodes the specified GetPrefundedSpecializedBalanceRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.verify|verify} messages.
+                         * Encodes the specified GetContestedResourceVotersForIdentityRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.verify|verify} messages.
                          * @function encodeDelimited
-                         * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest
+                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest
                          * @static
-                         * @param {org.dash.platform.dapi.v0.IGetPrefundedSpecializedBalanceRequest} message GetPrefundedSpecializedBalanceRequest message or plain object to encode
+                         * @param {org.dash.platform.dapi.v0.IGetContestedResourceVotersForIdentityRequest} message GetContestedResourceVotersForIdentityRequest message or plain object to encode
                          * @param {$protobuf.Writer} [writer] Writer to encode to
                          * @returns {$protobuf.Writer} Writer
                          */
-                        GetPrefundedSpecializedBalanceRequest.encodeDelimited = function encodeDelimited(message, writer) {
+                        GetContestedResourceVotersForIdentityRequest.encodeDelimited = function encodeDelimited(message, writer) {
                             return this.encode(message, writer).ldelim();
                         };
 
                         /**
-                         * Decodes a GetPrefundedSpecializedBalanceRequest message from the specified reader or buffer.
+                         * Decodes a GetContestedResourceVotersForIdentityRequest message from the specified reader or buffer.
                          * @function decode
-                         * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest
+                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest
                          * @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.GetPrefundedSpecializedBalanceRequest} GetPrefundedSpecializedBalanceRequest
+                         * @returns {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest} GetContestedResourceVotersForIdentityRequest
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        GetPrefundedSpecializedBalanceRequest.decode = function decode(reader, length) {
+                        GetContestedResourceVotersForIdentityRequest.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.GetPrefundedSpecializedBalanceRequest();
+                            var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
                                 switch (tag >>> 3) {
                                 case 1:
-                                    message.v0 = $root.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.decode(reader, reader.uint32());
+                                    message.v0 = $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.decode(reader, reader.uint32());
                                     break;
                                 default:
                                     reader.skipType(tag & 7);
@@ -36691,37 +36600,37 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Decodes a GetPrefundedSpecializedBalanceRequest message from the specified reader or buffer, length delimited.
+                         * Decodes a GetContestedResourceVotersForIdentityRequest message from the specified reader or buffer, length delimited.
                          * @function decodeDelimited
-                         * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest
+                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest
                          * @static
                          * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                         * @returns {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest} GetPrefundedSpecializedBalanceRequest
+                         * @returns {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest} GetContestedResourceVotersForIdentityRequest
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        GetPrefundedSpecializedBalanceRequest.decodeDelimited = function decodeDelimited(reader) {
+                        GetContestedResourceVotersForIdentityRequest.decodeDelimited = function decodeDelimited(reader) {
                             if (!(reader instanceof $Reader))
                                 reader = new $Reader(reader);
                             return this.decode(reader, reader.uint32());
                         };
 
                         /**
-                         * Verifies a GetPrefundedSpecializedBalanceRequest message.
+                         * Verifies a GetContestedResourceVotersForIdentityRequest message.
                          * @function verify
-                         * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest
+                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest
                          * @static
                          * @param {Object.} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        GetPrefundedSpecializedBalanceRequest.verify = function verify(message) {
+                        GetContestedResourceVotersForIdentityRequest.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.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.verify(message.v0);
+                                    var error = $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.verify(message.v0);
                                     if (error)
                                         return "v0." + error;
                                 }
@@ -36730,40 +36639,40 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Creates a GetPrefundedSpecializedBalanceRequest message from a plain object. Also converts values to their respective internal types.
+                         * Creates a GetContestedResourceVotersForIdentityRequest message from a plain object. Also converts values to their respective internal types.
                          * @function fromObject
-                         * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest
+                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest
                          * @static
                          * @param {Object.} object Plain object
-                         * @returns {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest} GetPrefundedSpecializedBalanceRequest
+                         * @returns {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest} GetContestedResourceVotersForIdentityRequest
                          */
-                        GetPrefundedSpecializedBalanceRequest.fromObject = function fromObject(object) {
-                            if (object instanceof $root.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest)
+                        GetContestedResourceVotersForIdentityRequest.fromObject = function fromObject(object) {
+                            if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest)
                                 return object;
-                            var message = new $root.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest();
+                            var message = new $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest();
                             if (object.v0 != null) {
                                 if (typeof object.v0 !== "object")
-                                    throw TypeError(".org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.v0: object expected");
-                                message.v0 = $root.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.fromObject(object.v0);
+                                    throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.v0: object expected");
+                                message.v0 = $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.fromObject(object.v0);
                             }
                             return message;
                         };
 
                         /**
-                         * Creates a plain object from a GetPrefundedSpecializedBalanceRequest message. Also converts values to other types if specified.
+                         * Creates a plain object from a GetContestedResourceVotersForIdentityRequest message. Also converts values to other types if specified.
                          * @function toObject
-                         * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest
+                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest
                          * @static
-                         * @param {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest} message GetPrefundedSpecializedBalanceRequest
+                         * @param {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest} message GetContestedResourceVotersForIdentityRequest
                          * @param {$protobuf.IConversionOptions} [options] Conversion options
                          * @returns {Object.} Plain object
                          */
-                        GetPrefundedSpecializedBalanceRequest.toObject = function toObject(message, options) {
+                        GetContestedResourceVotersForIdentityRequest.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.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.toObject(message.v0, options);
+                                object.v0 = $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.toObject(message.v0, options);
                                 if (options.oneofs)
                                     object.version = "v0";
                             }
@@ -36771,35 +36680,43 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Converts this GetPrefundedSpecializedBalanceRequest to JSON.
+                         * Converts this GetContestedResourceVotersForIdentityRequest to JSON.
                          * @function toJSON
-                         * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest
+                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest
                          * @instance
                          * @returns {Object.} JSON object
                          */
-                        GetPrefundedSpecializedBalanceRequest.prototype.toJSON = function toJSON() {
+                        GetContestedResourceVotersForIdentityRequest.prototype.toJSON = function toJSON() {
                             return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
                         };
 
-                        GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0 = (function() {
+                        GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0 = (function() {
 
                             /**
-                             * Properties of a GetPrefundedSpecializedBalanceRequestV0.
-                             * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest
-                             * @interface IGetPrefundedSpecializedBalanceRequestV0
-                             * @property {Uint8Array|null} [id] GetPrefundedSpecializedBalanceRequestV0 id
-                             * @property {boolean|null} [prove] GetPrefundedSpecializedBalanceRequestV0 prove
+                             * Properties of a GetContestedResourceVotersForIdentityRequestV0.
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest
+                             * @interface IGetContestedResourceVotersForIdentityRequestV0
+                             * @property {Uint8Array|null} [contractId] GetContestedResourceVotersForIdentityRequestV0 contractId
+                             * @property {string|null} [documentTypeName] GetContestedResourceVotersForIdentityRequestV0 documentTypeName
+                             * @property {string|null} [indexName] GetContestedResourceVotersForIdentityRequestV0 indexName
+                             * @property {Array.|null} [indexValues] GetContestedResourceVotersForIdentityRequestV0 indexValues
+                             * @property {Uint8Array|null} [contestantId] GetContestedResourceVotersForIdentityRequestV0 contestantId
+                             * @property {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.IStartAtIdentifierInfo|null} [startAtIdentifierInfo] GetContestedResourceVotersForIdentityRequestV0 startAtIdentifierInfo
+                             * @property {number|null} [count] GetContestedResourceVotersForIdentityRequestV0 count
+                             * @property {boolean|null} [orderAscending] GetContestedResourceVotersForIdentityRequestV0 orderAscending
+                             * @property {boolean|null} [prove] GetContestedResourceVotersForIdentityRequestV0 prove
                              */
 
                             /**
-                             * Constructs a new GetPrefundedSpecializedBalanceRequestV0.
-                             * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest
-                             * @classdesc Represents a GetPrefundedSpecializedBalanceRequestV0.
-                             * @implements IGetPrefundedSpecializedBalanceRequestV0
+                             * Constructs a new GetContestedResourceVotersForIdentityRequestV0.
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest
+                             * @classdesc Represents a GetContestedResourceVotersForIdentityRequestV0.
+                             * @implements IGetContestedResourceVotersForIdentityRequestV0
                              * @constructor
-                             * @param {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.IGetPrefundedSpecializedBalanceRequestV0=} [properties] Properties to set
+                             * @param {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.IGetContestedResourceVotersForIdentityRequestV0=} [properties] Properties to set
                              */
-                            function GetPrefundedSpecializedBalanceRequestV0(properties) {
+                            function GetContestedResourceVotersForIdentityRequestV0(properties) {
+                                this.indexValues = [];
                                 if (properties)
                                     for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
                                         if (properties[keys[i]] != null)
@@ -36807,87 +36724,181 @@ $root.org = (function() {
                             }
 
                             /**
-                             * GetPrefundedSpecializedBalanceRequestV0 id.
-                             * @member {Uint8Array} id
-                             * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0
+                             * GetContestedResourceVotersForIdentityRequestV0 contractId.
+                             * @member {Uint8Array} contractId
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0
                              * @instance
                              */
-                            GetPrefundedSpecializedBalanceRequestV0.prototype.id = $util.newBuffer([]);
+                            GetContestedResourceVotersForIdentityRequestV0.prototype.contractId = $util.newBuffer([]);
 
                             /**
-                             * GetPrefundedSpecializedBalanceRequestV0 prove.
+                             * GetContestedResourceVotersForIdentityRequestV0 documentTypeName.
+                             * @member {string} documentTypeName
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0
+                             * @instance
+                             */
+                            GetContestedResourceVotersForIdentityRequestV0.prototype.documentTypeName = "";
+
+                            /**
+                             * GetContestedResourceVotersForIdentityRequestV0 indexName.
+                             * @member {string} indexName
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0
+                             * @instance
+                             */
+                            GetContestedResourceVotersForIdentityRequestV0.prototype.indexName = "";
+
+                            /**
+                             * GetContestedResourceVotersForIdentityRequestV0 indexValues.
+                             * @member {Array.} indexValues
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0
+                             * @instance
+                             */
+                            GetContestedResourceVotersForIdentityRequestV0.prototype.indexValues = $util.emptyArray;
+
+                            /**
+                             * GetContestedResourceVotersForIdentityRequestV0 contestantId.
+                             * @member {Uint8Array} contestantId
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0
+                             * @instance
+                             */
+                            GetContestedResourceVotersForIdentityRequestV0.prototype.contestantId = $util.newBuffer([]);
+
+                            /**
+                             * GetContestedResourceVotersForIdentityRequestV0 startAtIdentifierInfo.
+                             * @member {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.IStartAtIdentifierInfo|null|undefined} startAtIdentifierInfo
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0
+                             * @instance
+                             */
+                            GetContestedResourceVotersForIdentityRequestV0.prototype.startAtIdentifierInfo = null;
+
+                            /**
+                             * GetContestedResourceVotersForIdentityRequestV0 count.
+                             * @member {number} count
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0
+                             * @instance
+                             */
+                            GetContestedResourceVotersForIdentityRequestV0.prototype.count = 0;
+
+                            /**
+                             * GetContestedResourceVotersForIdentityRequestV0 orderAscending.
+                             * @member {boolean} orderAscending
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0
+                             * @instance
+                             */
+                            GetContestedResourceVotersForIdentityRequestV0.prototype.orderAscending = false;
+
+                            /**
+                             * GetContestedResourceVotersForIdentityRequestV0 prove.
                              * @member {boolean} prove
-                             * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0
                              * @instance
                              */
-                            GetPrefundedSpecializedBalanceRequestV0.prototype.prove = false;
+                            GetContestedResourceVotersForIdentityRequestV0.prototype.prove = false;
 
                             /**
-                             * Creates a new GetPrefundedSpecializedBalanceRequestV0 instance using the specified properties.
+                             * Creates a new GetContestedResourceVotersForIdentityRequestV0 instance using the specified properties.
                              * @function create
-                             * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.IGetPrefundedSpecializedBalanceRequestV0=} [properties] Properties to set
-                             * @returns {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0} GetPrefundedSpecializedBalanceRequestV0 instance
+                             * @param {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.IGetContestedResourceVotersForIdentityRequestV0=} [properties] Properties to set
+                             * @returns {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} GetContestedResourceVotersForIdentityRequestV0 instance
                              */
-                            GetPrefundedSpecializedBalanceRequestV0.create = function create(properties) {
-                                return new GetPrefundedSpecializedBalanceRequestV0(properties);
+                            GetContestedResourceVotersForIdentityRequestV0.create = function create(properties) {
+                                return new GetContestedResourceVotersForIdentityRequestV0(properties);
                             };
 
                             /**
-                             * Encodes the specified GetPrefundedSpecializedBalanceRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.verify|verify} messages.
+                             * Encodes the specified GetContestedResourceVotersForIdentityRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.verify|verify} messages.
                              * @function encode
-                             * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.IGetPrefundedSpecializedBalanceRequestV0} message GetPrefundedSpecializedBalanceRequestV0 message or plain object to encode
+                             * @param {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.IGetContestedResourceVotersForIdentityRequestV0} message GetContestedResourceVotersForIdentityRequestV0 message or plain object to encode
                              * @param {$protobuf.Writer} [writer] Writer to encode to
                              * @returns {$protobuf.Writer} Writer
                              */
-                            GetPrefundedSpecializedBalanceRequestV0.encode = function encode(message, writer) {
+                            GetContestedResourceVotersForIdentityRequestV0.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.contractId != null && Object.hasOwnProperty.call(message, "contractId"))
+                                    writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.contractId);
+                                if (message.documentTypeName != null && Object.hasOwnProperty.call(message, "documentTypeName"))
+                                    writer.uint32(/* id 2, wireType 2 =*/18).string(message.documentTypeName);
+                                if (message.indexName != null && Object.hasOwnProperty.call(message, "indexName"))
+                                    writer.uint32(/* id 3, wireType 2 =*/26).string(message.indexName);
+                                if (message.indexValues != null && message.indexValues.length)
+                                    for (var i = 0; i < message.indexValues.length; ++i)
+                                        writer.uint32(/* id 4, wireType 2 =*/34).bytes(message.indexValues[i]);
+                                if (message.contestantId != null && Object.hasOwnProperty.call(message, "contestantId"))
+                                    writer.uint32(/* id 5, wireType 2 =*/42).bytes(message.contestantId);
+                                if (message.startAtIdentifierInfo != null && Object.hasOwnProperty.call(message, "startAtIdentifierInfo"))
+                                    $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.encode(message.startAtIdentifierInfo, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim();
+                                if (message.count != null && Object.hasOwnProperty.call(message, "count"))
+                                    writer.uint32(/* id 7, wireType 0 =*/56).uint32(message.count);
+                                if (message.orderAscending != null && Object.hasOwnProperty.call(message, "orderAscending"))
+                                    writer.uint32(/* id 8, wireType 0 =*/64).bool(message.orderAscending);
                                 if (message.prove != null && Object.hasOwnProperty.call(message, "prove"))
-                                    writer.uint32(/* id 2, wireType 0 =*/16).bool(message.prove);
+                                    writer.uint32(/* id 9, wireType 0 =*/72).bool(message.prove);
                                 return writer;
                             };
 
                             /**
-                             * Encodes the specified GetPrefundedSpecializedBalanceRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.verify|verify} messages.
+                             * Encodes the specified GetContestedResourceVotersForIdentityRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.verify|verify} messages.
                              * @function encodeDelimited
-                             * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.IGetPrefundedSpecializedBalanceRequestV0} message GetPrefundedSpecializedBalanceRequestV0 message or plain object to encode
+                             * @param {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.IGetContestedResourceVotersForIdentityRequestV0} message GetContestedResourceVotersForIdentityRequestV0 message or plain object to encode
                              * @param {$protobuf.Writer} [writer] Writer to encode to
                              * @returns {$protobuf.Writer} Writer
                              */
-                            GetPrefundedSpecializedBalanceRequestV0.encodeDelimited = function encodeDelimited(message, writer) {
+                            GetContestedResourceVotersForIdentityRequestV0.encodeDelimited = function encodeDelimited(message, writer) {
                                 return this.encode(message, writer).ldelim();
                             };
 
                             /**
-                             * Decodes a GetPrefundedSpecializedBalanceRequestV0 message from the specified reader or buffer.
+                             * Decodes a GetContestedResourceVotersForIdentityRequestV0 message from the specified reader or buffer.
                              * @function decode
-                             * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0
                              * @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.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0} GetPrefundedSpecializedBalanceRequestV0
+                             * @returns {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} GetContestedResourceVotersForIdentityRequestV0
                              * @throws {Error} If the payload is not a reader or valid buffer
                              * @throws {$protobuf.util.ProtocolError} If required fields are missing
                              */
-                            GetPrefundedSpecializedBalanceRequestV0.decode = function decode(reader, length) {
+                            GetContestedResourceVotersForIdentityRequestV0.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.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0();
+                                var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0();
                                 while (reader.pos < end) {
                                     var tag = reader.uint32();
                                     switch (tag >>> 3) {
                                     case 1:
-                                        message.id = reader.bytes();
+                                        message.contractId = reader.bytes();
                                         break;
                                     case 2:
+                                        message.documentTypeName = reader.string();
+                                        break;
+                                    case 3:
+                                        message.indexName = reader.string();
+                                        break;
+                                    case 4:
+                                        if (!(message.indexValues && message.indexValues.length))
+                                            message.indexValues = [];
+                                        message.indexValues.push(reader.bytes());
+                                        break;
+                                    case 5:
+                                        message.contestantId = reader.bytes();
+                                        break;
+                                    case 6:
+                                        message.startAtIdentifierInfo = $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.decode(reader, reader.uint32());
+                                        break;
+                                    case 7:
+                                        message.count = reader.uint32();
+                                        break;
+                                    case 8:
+                                        message.orderAscending = reader.bool();
+                                        break;
+                                    case 9:
                                         message.prove = reader.bool();
                                         break;
                                     default:
@@ -36899,35 +36910,62 @@ $root.org = (function() {
                             };
 
                             /**
-                             * Decodes a GetPrefundedSpecializedBalanceRequestV0 message from the specified reader or buffer, length delimited.
+                             * Decodes a GetContestedResourceVotersForIdentityRequestV0 message from the specified reader or buffer, length delimited.
                              * @function decodeDelimited
-                             * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0
                              * @static
                              * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                             * @returns {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0} GetPrefundedSpecializedBalanceRequestV0
+                             * @returns {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} GetContestedResourceVotersForIdentityRequestV0
                              * @throws {Error} If the payload is not a reader or valid buffer
                              * @throws {$protobuf.util.ProtocolError} If required fields are missing
                              */
-                            GetPrefundedSpecializedBalanceRequestV0.decodeDelimited = function decodeDelimited(reader) {
+                            GetContestedResourceVotersForIdentityRequestV0.decodeDelimited = function decodeDelimited(reader) {
                                 if (!(reader instanceof $Reader))
                                     reader = new $Reader(reader);
                                 return this.decode(reader, reader.uint32());
                             };
 
                             /**
-                             * Verifies a GetPrefundedSpecializedBalanceRequestV0 message.
+                             * Verifies a GetContestedResourceVotersForIdentityRequestV0 message.
                              * @function verify
-                             * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0
                              * @static
                              * @param {Object.} message Plain object to verify
                              * @returns {string|null} `null` if valid, otherwise the reason why it is not
                              */
-                            GetPrefundedSpecializedBalanceRequestV0.verify = function verify(message) {
+                            GetContestedResourceVotersForIdentityRequestV0.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.contractId != null && message.hasOwnProperty("contractId"))
+                                    if (!(message.contractId && typeof message.contractId.length === "number" || $util.isString(message.contractId)))
+                                        return "contractId: buffer expected";
+                                if (message.documentTypeName != null && message.hasOwnProperty("documentTypeName"))
+                                    if (!$util.isString(message.documentTypeName))
+                                        return "documentTypeName: string expected";
+                                if (message.indexName != null && message.hasOwnProperty("indexName"))
+                                    if (!$util.isString(message.indexName))
+                                        return "indexName: string expected";
+                                if (message.indexValues != null && message.hasOwnProperty("indexValues")) {
+                                    if (!Array.isArray(message.indexValues))
+                                        return "indexValues: array expected";
+                                    for (var i = 0; i < message.indexValues.length; ++i)
+                                        if (!(message.indexValues[i] && typeof message.indexValues[i].length === "number" || $util.isString(message.indexValues[i])))
+                                            return "indexValues: buffer[] expected";
+                                }
+                                if (message.contestantId != null && message.hasOwnProperty("contestantId"))
+                                    if (!(message.contestantId && typeof message.contestantId.length === "number" || $util.isString(message.contestantId)))
+                                        return "contestantId: buffer expected";
+                                if (message.startAtIdentifierInfo != null && message.hasOwnProperty("startAtIdentifierInfo")) {
+                                    var error = $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.verify(message.startAtIdentifierInfo);
+                                    if (error)
+                                        return "startAtIdentifierInfo." + error;
+                                }
+                                if (message.count != null && message.hasOwnProperty("count"))
+                                    if (!$util.isInteger(message.count))
+                                        return "count: integer expected";
+                                if (message.orderAscending != null && message.hasOwnProperty("orderAscending"))
+                                    if (typeof message.orderAscending !== "boolean")
+                                        return "orderAscending: boolean expected";
                                 if (message.prove != null && message.hasOwnProperty("prove"))
                                     if (typeof message.prove !== "boolean")
                                         return "prove: boolean expected";
@@ -36935,182 +36973,460 @@ $root.org = (function() {
                             };
 
                             /**
-                             * Creates a GetPrefundedSpecializedBalanceRequestV0 message from a plain object. Also converts values to their respective internal types.
+                             * Creates a GetContestedResourceVotersForIdentityRequestV0 message from a plain object. Also converts values to their respective internal types.
                              * @function fromObject
-                             * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0
                              * @static
                              * @param {Object.} object Plain object
-                             * @returns {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0} GetPrefundedSpecializedBalanceRequestV0
+                             * @returns {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} GetContestedResourceVotersForIdentityRequestV0
                              */
-                            GetPrefundedSpecializedBalanceRequestV0.fromObject = function fromObject(object) {
-                                if (object instanceof $root.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0)
+                            GetContestedResourceVotersForIdentityRequestV0.fromObject = function fromObject(object) {
+                                if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0)
                                     return object;
-                                var message = new $root.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0();
-                                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;
+                                var message = new $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0();
+                                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.documentTypeName != null)
+                                    message.documentTypeName = String(object.documentTypeName);
+                                if (object.indexName != null)
+                                    message.indexName = String(object.indexName);
+                                if (object.indexValues) {
+                                    if (!Array.isArray(object.indexValues))
+                                        throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.indexValues: array expected");
+                                    message.indexValues = [];
+                                    for (var i = 0; i < object.indexValues.length; ++i)
+                                        if (typeof object.indexValues[i] === "string")
+                                            $util.base64.decode(object.indexValues[i], message.indexValues[i] = $util.newBuffer($util.base64.length(object.indexValues[i])), 0);
+                                        else if (object.indexValues[i].length >= 0)
+                                            message.indexValues[i] = object.indexValues[i];
+                                }
+                                if (object.contestantId != null)
+                                    if (typeof object.contestantId === "string")
+                                        $util.base64.decode(object.contestantId, message.contestantId = $util.newBuffer($util.base64.length(object.contestantId)), 0);
+                                    else if (object.contestantId.length >= 0)
+                                        message.contestantId = object.contestantId;
+                                if (object.startAtIdentifierInfo != null) {
+                                    if (typeof object.startAtIdentifierInfo !== "object")
+                                        throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.startAtIdentifierInfo: object expected");
+                                    message.startAtIdentifierInfo = $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.fromObject(object.startAtIdentifierInfo);
+                                }
+                                if (object.count != null)
+                                    message.count = object.count >>> 0;
+                                if (object.orderAscending != null)
+                                    message.orderAscending = Boolean(object.orderAscending);
                                 if (object.prove != null)
                                     message.prove = Boolean(object.prove);
                                 return message;
                             };
 
                             /**
-                             * Creates a plain object from a GetPrefundedSpecializedBalanceRequestV0 message. Also converts values to other types if specified.
+                             * Creates a plain object from a GetContestedResourceVotersForIdentityRequestV0 message. Also converts values to other types if specified.
                              * @function toObject
-                             * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0} message GetPrefundedSpecializedBalanceRequestV0
+                             * @param {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} message GetContestedResourceVotersForIdentityRequestV0
                              * @param {$protobuf.IConversionOptions} [options] Conversion options
                              * @returns {Object.} Plain object
                              */
-                            GetPrefundedSpecializedBalanceRequestV0.toObject = function toObject(message, options) {
+                            GetContestedResourceVotersForIdentityRequestV0.toObject = function toObject(message, options) {
                                 if (!options)
                                     options = {};
                                 var object = {};
+                                if (options.arrays || options.defaults)
+                                    object.indexValues = [];
                                 if (options.defaults) {
                                     if (options.bytes === String)
-                                        object.id = "";
+                                        object.contractId = "";
                                     else {
-                                        object.id = [];
+                                        object.contractId = [];
                                         if (options.bytes !== Array)
-                                            object.id = $util.newBuffer(object.id);
+                                            object.contractId = $util.newBuffer(object.contractId);
                                     }
+                                    object.documentTypeName = "";
+                                    object.indexName = "";
+                                    if (options.bytes === String)
+                                        object.contestantId = "";
+                                    else {
+                                        object.contestantId = [];
+                                        if (options.bytes !== Array)
+                                            object.contestantId = $util.newBuffer(object.contestantId);
+                                    }
+                                    object.startAtIdentifierInfo = null;
+                                    object.count = 0;
+                                    object.orderAscending = false;
                                     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.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.documentTypeName != null && message.hasOwnProperty("documentTypeName"))
+                                    object.documentTypeName = message.documentTypeName;
+                                if (message.indexName != null && message.hasOwnProperty("indexName"))
+                                    object.indexName = message.indexName;
+                                if (message.indexValues && message.indexValues.length) {
+                                    object.indexValues = [];
+                                    for (var j = 0; j < message.indexValues.length; ++j)
+                                        object.indexValues[j] = options.bytes === String ? $util.base64.encode(message.indexValues[j], 0, message.indexValues[j].length) : options.bytes === Array ? Array.prototype.slice.call(message.indexValues[j]) : message.indexValues[j];
+                                }
+                                if (message.contestantId != null && message.hasOwnProperty("contestantId"))
+                                    object.contestantId = options.bytes === String ? $util.base64.encode(message.contestantId, 0, message.contestantId.length) : options.bytes === Array ? Array.prototype.slice.call(message.contestantId) : message.contestantId;
+                                if (message.startAtIdentifierInfo != null && message.hasOwnProperty("startAtIdentifierInfo"))
+                                    object.startAtIdentifierInfo = $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.toObject(message.startAtIdentifierInfo, options);
+                                if (message.count != null && message.hasOwnProperty("count"))
+                                    object.count = message.count;
+                                if (message.orderAscending != null && message.hasOwnProperty("orderAscending"))
+                                    object.orderAscending = message.orderAscending;
                                 if (message.prove != null && message.hasOwnProperty("prove"))
                                     object.prove = message.prove;
                                 return object;
                             };
 
                             /**
-                             * Converts this GetPrefundedSpecializedBalanceRequestV0 to JSON.
+                             * Converts this GetContestedResourceVotersForIdentityRequestV0 to JSON.
                              * @function toJSON
-                             * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0
                              * @instance
                              * @returns {Object.} JSON object
                              */
-                            GetPrefundedSpecializedBalanceRequestV0.prototype.toJSON = function toJSON() {
+                            GetContestedResourceVotersForIdentityRequestV0.prototype.toJSON = function toJSON() {
                                 return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
                             };
 
-                            return GetPrefundedSpecializedBalanceRequestV0;
-                        })();
-
-                        return GetPrefundedSpecializedBalanceRequest;
-                    })();
-
-                    v0.GetPrefundedSpecializedBalanceResponse = (function() {
+                            GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo = (function() {
 
-                        /**
-                         * Properties of a GetPrefundedSpecializedBalanceResponse.
-                         * @memberof org.dash.platform.dapi.v0
-                         * @interface IGetPrefundedSpecializedBalanceResponse
-                         * @property {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.IGetPrefundedSpecializedBalanceResponseV0|null} [v0] GetPrefundedSpecializedBalanceResponse v0
-                         */
+                                /**
+                                 * Properties of a StartAtIdentifierInfo.
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0
+                                 * @interface IStartAtIdentifierInfo
+                                 * @property {Uint8Array|null} [startIdentifier] StartAtIdentifierInfo startIdentifier
+                                 * @property {boolean|null} [startIdentifierIncluded] StartAtIdentifierInfo startIdentifierIncluded
+                                 */
 
-                        /**
-                         * Constructs a new GetPrefundedSpecializedBalanceResponse.
-                         * @memberof org.dash.platform.dapi.v0
-                         * @classdesc Represents a GetPrefundedSpecializedBalanceResponse.
-                         * @implements IGetPrefundedSpecializedBalanceResponse
-                         * @constructor
-                         * @param {org.dash.platform.dapi.v0.IGetPrefundedSpecializedBalanceResponse=} [properties] Properties to set
-                         */
-                        function GetPrefundedSpecializedBalanceResponse(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 StartAtIdentifierInfo.
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0
+                                 * @classdesc Represents a StartAtIdentifierInfo.
+                                 * @implements IStartAtIdentifierInfo
+                                 * @constructor
+                                 * @param {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.IStartAtIdentifierInfo=} [properties] Properties to set
+                                 */
+                                function StartAtIdentifierInfo(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]];
+                                }
 
-                        /**
-                         * GetPrefundedSpecializedBalanceResponse v0.
-                         * @member {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.IGetPrefundedSpecializedBalanceResponseV0|null|undefined} v0
-                         * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse
-                         * @instance
-                         */
-                        GetPrefundedSpecializedBalanceResponse.prototype.v0 = null;
+                                /**
+                                 * StartAtIdentifierInfo startIdentifier.
+                                 * @member {Uint8Array} startIdentifier
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo
+                                 * @instance
+                                 */
+                                StartAtIdentifierInfo.prototype.startIdentifier = $util.newBuffer([]);
 
-                        // OneOf field names bound to virtual getters and setters
-                        var $oneOfFields;
+                                /**
+                                 * StartAtIdentifierInfo startIdentifierIncluded.
+                                 * @member {boolean} startIdentifierIncluded
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo
+                                 * @instance
+                                 */
+                                StartAtIdentifierInfo.prototype.startIdentifierIncluded = false;
 
-                        /**
-                         * GetPrefundedSpecializedBalanceResponse version.
+                                /**
+                                 * Creates a new StartAtIdentifierInfo instance using the specified properties.
+                                 * @function create
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo
+                                 * @static
+                                 * @param {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.IStartAtIdentifierInfo=} [properties] Properties to set
+                                 * @returns {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo} StartAtIdentifierInfo instance
+                                 */
+                                StartAtIdentifierInfo.create = function create(properties) {
+                                    return new StartAtIdentifierInfo(properties);
+                                };
+
+                                /**
+                                 * Encodes the specified StartAtIdentifierInfo message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.verify|verify} messages.
+                                 * @function encode
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo
+                                 * @static
+                                 * @param {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.IStartAtIdentifierInfo} message StartAtIdentifierInfo message or plain object to encode
+                                 * @param {$protobuf.Writer} [writer] Writer to encode to
+                                 * @returns {$protobuf.Writer} Writer
+                                 */
+                                StartAtIdentifierInfo.encode = function encode(message, writer) {
+                                    if (!writer)
+                                        writer = $Writer.create();
+                                    if (message.startIdentifier != null && Object.hasOwnProperty.call(message, "startIdentifier"))
+                                        writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.startIdentifier);
+                                    if (message.startIdentifierIncluded != null && Object.hasOwnProperty.call(message, "startIdentifierIncluded"))
+                                        writer.uint32(/* id 2, wireType 0 =*/16).bool(message.startIdentifierIncluded);
+                                    return writer;
+                                };
+
+                                /**
+                                 * Encodes the specified StartAtIdentifierInfo message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.verify|verify} messages.
+                                 * @function encodeDelimited
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo
+                                 * @static
+                                 * @param {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.IStartAtIdentifierInfo} message StartAtIdentifierInfo message or plain object to encode
+                                 * @param {$protobuf.Writer} [writer] Writer to encode to
+                                 * @returns {$protobuf.Writer} Writer
+                                 */
+                                StartAtIdentifierInfo.encodeDelimited = function encodeDelimited(message, writer) {
+                                    return this.encode(message, writer).ldelim();
+                                };
+
+                                /**
+                                 * Decodes a StartAtIdentifierInfo message from the specified reader or buffer.
+                                 * @function decode
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo
+                                 * @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.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo} StartAtIdentifierInfo
+                                 * @throws {Error} If the payload is not a reader or valid buffer
+                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
+                                 */
+                                StartAtIdentifierInfo.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.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo();
+                                    while (reader.pos < end) {
+                                        var tag = reader.uint32();
+                                        switch (tag >>> 3) {
+                                        case 1:
+                                            message.startIdentifier = reader.bytes();
+                                            break;
+                                        case 2:
+                                            message.startIdentifierIncluded = reader.bool();
+                                            break;
+                                        default:
+                                            reader.skipType(tag & 7);
+                                            break;
+                                        }
+                                    }
+                                    return message;
+                                };
+
+                                /**
+                                 * Decodes a StartAtIdentifierInfo message from the specified reader or buffer, length delimited.
+                                 * @function decodeDelimited
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo
+                                 * @static
+                                 * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+                                 * @returns {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo} StartAtIdentifierInfo
+                                 * @throws {Error} If the payload is not a reader or valid buffer
+                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
+                                 */
+                                StartAtIdentifierInfo.decodeDelimited = function decodeDelimited(reader) {
+                                    if (!(reader instanceof $Reader))
+                                        reader = new $Reader(reader);
+                                    return this.decode(reader, reader.uint32());
+                                };
+
+                                /**
+                                 * Verifies a StartAtIdentifierInfo message.
+                                 * @function verify
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo
+                                 * @static
+                                 * @param {Object.} message Plain object to verify
+                                 * @returns {string|null} `null` if valid, otherwise the reason why it is not
+                                 */
+                                StartAtIdentifierInfo.verify = function verify(message) {
+                                    if (typeof message !== "object" || message === null)
+                                        return "object expected";
+                                    if (message.startIdentifier != null && message.hasOwnProperty("startIdentifier"))
+                                        if (!(message.startIdentifier && typeof message.startIdentifier.length === "number" || $util.isString(message.startIdentifier)))
+                                            return "startIdentifier: buffer expected";
+                                    if (message.startIdentifierIncluded != null && message.hasOwnProperty("startIdentifierIncluded"))
+                                        if (typeof message.startIdentifierIncluded !== "boolean")
+                                            return "startIdentifierIncluded: boolean expected";
+                                    return null;
+                                };
+
+                                /**
+                                 * Creates a StartAtIdentifierInfo message from a plain object. Also converts values to their respective internal types.
+                                 * @function fromObject
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo
+                                 * @static
+                                 * @param {Object.} object Plain object
+                                 * @returns {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo} StartAtIdentifierInfo
+                                 */
+                                StartAtIdentifierInfo.fromObject = function fromObject(object) {
+                                    if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo)
+                                        return object;
+                                    var message = new $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo();
+                                    if (object.startIdentifier != null)
+                                        if (typeof object.startIdentifier === "string")
+                                            $util.base64.decode(object.startIdentifier, message.startIdentifier = $util.newBuffer($util.base64.length(object.startIdentifier)), 0);
+                                        else if (object.startIdentifier.length >= 0)
+                                            message.startIdentifier = object.startIdentifier;
+                                    if (object.startIdentifierIncluded != null)
+                                        message.startIdentifierIncluded = Boolean(object.startIdentifierIncluded);
+                                    return message;
+                                };
+
+                                /**
+                                 * Creates a plain object from a StartAtIdentifierInfo message. Also converts values to other types if specified.
+                                 * @function toObject
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo
+                                 * @static
+                                 * @param {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo} message StartAtIdentifierInfo
+                                 * @param {$protobuf.IConversionOptions} [options] Conversion options
+                                 * @returns {Object.} Plain object
+                                 */
+                                StartAtIdentifierInfo.toObject = function toObject(message, options) {
+                                    if (!options)
+                                        options = {};
+                                    var object = {};
+                                    if (options.defaults) {
+                                        if (options.bytes === String)
+                                            object.startIdentifier = "";
+                                        else {
+                                            object.startIdentifier = [];
+                                            if (options.bytes !== Array)
+                                                object.startIdentifier = $util.newBuffer(object.startIdentifier);
+                                        }
+                                        object.startIdentifierIncluded = false;
+                                    }
+                                    if (message.startIdentifier != null && message.hasOwnProperty("startIdentifier"))
+                                        object.startIdentifier = options.bytes === String ? $util.base64.encode(message.startIdentifier, 0, message.startIdentifier.length) : options.bytes === Array ? Array.prototype.slice.call(message.startIdentifier) : message.startIdentifier;
+                                    if (message.startIdentifierIncluded != null && message.hasOwnProperty("startIdentifierIncluded"))
+                                        object.startIdentifierIncluded = message.startIdentifierIncluded;
+                                    return object;
+                                };
+
+                                /**
+                                 * Converts this StartAtIdentifierInfo to JSON.
+                                 * @function toJSON
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo
+                                 * @instance
+                                 * @returns {Object.} JSON object
+                                 */
+                                StartAtIdentifierInfo.prototype.toJSON = function toJSON() {
+                                    return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+                                };
+
+                                return StartAtIdentifierInfo;
+                            })();
+
+                            return GetContestedResourceVotersForIdentityRequestV0;
+                        })();
+
+                        return GetContestedResourceVotersForIdentityRequest;
+                    })();
+
+                    v0.GetContestedResourceVotersForIdentityResponse = (function() {
+
+                        /**
+                         * Properties of a GetContestedResourceVotersForIdentityResponse.
+                         * @memberof org.dash.platform.dapi.v0
+                         * @interface IGetContestedResourceVotersForIdentityResponse
+                         * @property {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.IGetContestedResourceVotersForIdentityResponseV0|null} [v0] GetContestedResourceVotersForIdentityResponse v0
+                         */
+
+                        /**
+                         * Constructs a new GetContestedResourceVotersForIdentityResponse.
+                         * @memberof org.dash.platform.dapi.v0
+                         * @classdesc Represents a GetContestedResourceVotersForIdentityResponse.
+                         * @implements IGetContestedResourceVotersForIdentityResponse
+                         * @constructor
+                         * @param {org.dash.platform.dapi.v0.IGetContestedResourceVotersForIdentityResponse=} [properties] Properties to set
+                         */
+                        function GetContestedResourceVotersForIdentityResponse(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]];
+                        }
+
+                        /**
+                         * GetContestedResourceVotersForIdentityResponse v0.
+                         * @member {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.IGetContestedResourceVotersForIdentityResponseV0|null|undefined} v0
+                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse
+                         * @instance
+                         */
+                        GetContestedResourceVotersForIdentityResponse.prototype.v0 = null;
+
+                        // OneOf field names bound to virtual getters and setters
+                        var $oneOfFields;
+
+                        /**
+                         * GetContestedResourceVotersForIdentityResponse version.
                          * @member {"v0"|undefined} version
-                         * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse
+                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse
                          * @instance
                          */
-                        Object.defineProperty(GetPrefundedSpecializedBalanceResponse.prototype, "version", {
+                        Object.defineProperty(GetContestedResourceVotersForIdentityResponse.prototype, "version", {
                             get: $util.oneOfGetter($oneOfFields = ["v0"]),
                             set: $util.oneOfSetter($oneOfFields)
                         });
 
                         /**
-                         * Creates a new GetPrefundedSpecializedBalanceResponse instance using the specified properties.
+                         * Creates a new GetContestedResourceVotersForIdentityResponse instance using the specified properties.
                          * @function create
-                         * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse
+                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse
                          * @static
-                         * @param {org.dash.platform.dapi.v0.IGetPrefundedSpecializedBalanceResponse=} [properties] Properties to set
-                         * @returns {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse} GetPrefundedSpecializedBalanceResponse instance
+                         * @param {org.dash.platform.dapi.v0.IGetContestedResourceVotersForIdentityResponse=} [properties] Properties to set
+                         * @returns {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse} GetContestedResourceVotersForIdentityResponse instance
                          */
-                        GetPrefundedSpecializedBalanceResponse.create = function create(properties) {
-                            return new GetPrefundedSpecializedBalanceResponse(properties);
+                        GetContestedResourceVotersForIdentityResponse.create = function create(properties) {
+                            return new GetContestedResourceVotersForIdentityResponse(properties);
                         };
 
                         /**
-                         * Encodes the specified GetPrefundedSpecializedBalanceResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.verify|verify} messages.
+                         * Encodes the specified GetContestedResourceVotersForIdentityResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.verify|verify} messages.
                          * @function encode
-                         * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse
+                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse
                          * @static
-                         * @param {org.dash.platform.dapi.v0.IGetPrefundedSpecializedBalanceResponse} message GetPrefundedSpecializedBalanceResponse message or plain object to encode
+                         * @param {org.dash.platform.dapi.v0.IGetContestedResourceVotersForIdentityResponse} message GetContestedResourceVotersForIdentityResponse message or plain object to encode
                          * @param {$protobuf.Writer} [writer] Writer to encode to
                          * @returns {$protobuf.Writer} Writer
                          */
-                        GetPrefundedSpecializedBalanceResponse.encode = function encode(message, writer) {
+                        GetContestedResourceVotersForIdentityResponse.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.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+                                $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
                             return writer;
                         };
 
                         /**
-                         * Encodes the specified GetPrefundedSpecializedBalanceResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.verify|verify} messages.
+                         * Encodes the specified GetContestedResourceVotersForIdentityResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.verify|verify} messages.
                          * @function encodeDelimited
-                         * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse
+                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse
                          * @static
-                         * @param {org.dash.platform.dapi.v0.IGetPrefundedSpecializedBalanceResponse} message GetPrefundedSpecializedBalanceResponse message or plain object to encode
+                         * @param {org.dash.platform.dapi.v0.IGetContestedResourceVotersForIdentityResponse} message GetContestedResourceVotersForIdentityResponse message or plain object to encode
                          * @param {$protobuf.Writer} [writer] Writer to encode to
                          * @returns {$protobuf.Writer} Writer
                          */
-                        GetPrefundedSpecializedBalanceResponse.encodeDelimited = function encodeDelimited(message, writer) {
+                        GetContestedResourceVotersForIdentityResponse.encodeDelimited = function encodeDelimited(message, writer) {
                             return this.encode(message, writer).ldelim();
                         };
 
                         /**
-                         * Decodes a GetPrefundedSpecializedBalanceResponse message from the specified reader or buffer.
+                         * Decodes a GetContestedResourceVotersForIdentityResponse message from the specified reader or buffer.
                          * @function decode
-                         * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse
+                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse
                          * @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.GetPrefundedSpecializedBalanceResponse} GetPrefundedSpecializedBalanceResponse
+                         * @returns {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse} GetContestedResourceVotersForIdentityResponse
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        GetPrefundedSpecializedBalanceResponse.decode = function decode(reader, length) {
+                        GetContestedResourceVotersForIdentityResponse.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.GetPrefundedSpecializedBalanceResponse();
+                            var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
                                 switch (tag >>> 3) {
                                 case 1:
-                                    message.v0 = $root.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.decode(reader, reader.uint32());
+                                    message.v0 = $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.decode(reader, reader.uint32());
                                     break;
                                 default:
                                     reader.skipType(tag & 7);
@@ -37121,37 +37437,37 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Decodes a GetPrefundedSpecializedBalanceResponse message from the specified reader or buffer, length delimited.
+                         * Decodes a GetContestedResourceVotersForIdentityResponse message from the specified reader or buffer, length delimited.
                          * @function decodeDelimited
-                         * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse
+                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse
                          * @static
                          * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                         * @returns {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse} GetPrefundedSpecializedBalanceResponse
+                         * @returns {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse} GetContestedResourceVotersForIdentityResponse
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        GetPrefundedSpecializedBalanceResponse.decodeDelimited = function decodeDelimited(reader) {
+                        GetContestedResourceVotersForIdentityResponse.decodeDelimited = function decodeDelimited(reader) {
                             if (!(reader instanceof $Reader))
                                 reader = new $Reader(reader);
                             return this.decode(reader, reader.uint32());
                         };
 
                         /**
-                         * Verifies a GetPrefundedSpecializedBalanceResponse message.
+                         * Verifies a GetContestedResourceVotersForIdentityResponse message.
                          * @function verify
-                         * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse
+                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse
                          * @static
                          * @param {Object.} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        GetPrefundedSpecializedBalanceResponse.verify = function verify(message) {
+                        GetContestedResourceVotersForIdentityResponse.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.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.verify(message.v0);
+                                    var error = $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.verify(message.v0);
                                     if (error)
                                         return "v0." + error;
                                 }
@@ -37160,40 +37476,40 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Creates a GetPrefundedSpecializedBalanceResponse message from a plain object. Also converts values to their respective internal types.
+                         * Creates a GetContestedResourceVotersForIdentityResponse message from a plain object. Also converts values to their respective internal types.
                          * @function fromObject
-                         * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse
+                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse
                          * @static
                          * @param {Object.} object Plain object
-                         * @returns {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse} GetPrefundedSpecializedBalanceResponse
+                         * @returns {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse} GetContestedResourceVotersForIdentityResponse
                          */
-                        GetPrefundedSpecializedBalanceResponse.fromObject = function fromObject(object) {
-                            if (object instanceof $root.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse)
+                        GetContestedResourceVotersForIdentityResponse.fromObject = function fromObject(object) {
+                            if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse)
                                 return object;
-                            var message = new $root.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse();
+                            var message = new $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse();
                             if (object.v0 != null) {
                                 if (typeof object.v0 !== "object")
-                                    throw TypeError(".org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.v0: object expected");
-                                message.v0 = $root.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.fromObject(object.v0);
+                                    throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.v0: object expected");
+                                message.v0 = $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.fromObject(object.v0);
                             }
                             return message;
                         };
 
                         /**
-                         * Creates a plain object from a GetPrefundedSpecializedBalanceResponse message. Also converts values to other types if specified.
+                         * Creates a plain object from a GetContestedResourceVotersForIdentityResponse message. Also converts values to other types if specified.
                          * @function toObject
-                         * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse
+                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse
                          * @static
-                         * @param {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse} message GetPrefundedSpecializedBalanceResponse
+                         * @param {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse} message GetContestedResourceVotersForIdentityResponse
                          * @param {$protobuf.IConversionOptions} [options] Conversion options
                          * @returns {Object.} Plain object
                          */
-                        GetPrefundedSpecializedBalanceResponse.toObject = function toObject(message, options) {
+                        GetContestedResourceVotersForIdentityResponse.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.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.toObject(message.v0, options);
+                                object.v0 = $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.toObject(message.v0, options);
                                 if (options.oneofs)
                                     object.version = "v0";
                             }
@@ -37201,36 +37517,36 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Converts this GetPrefundedSpecializedBalanceResponse to JSON.
+                         * Converts this GetContestedResourceVotersForIdentityResponse to JSON.
                          * @function toJSON
-                         * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse
+                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse
                          * @instance
                          * @returns {Object.} JSON object
                          */
-                        GetPrefundedSpecializedBalanceResponse.prototype.toJSON = function toJSON() {
+                        GetContestedResourceVotersForIdentityResponse.prototype.toJSON = function toJSON() {
                             return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
                         };
 
-                        GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0 = (function() {
+                        GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0 = (function() {
 
                             /**
-                             * Properties of a GetPrefundedSpecializedBalanceResponseV0.
-                             * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse
-                             * @interface IGetPrefundedSpecializedBalanceResponseV0
-                             * @property {number|Long|null} [balance] GetPrefundedSpecializedBalanceResponseV0 balance
-                             * @property {org.dash.platform.dapi.v0.IProof|null} [proof] GetPrefundedSpecializedBalanceResponseV0 proof
-                             * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetPrefundedSpecializedBalanceResponseV0 metadata
+                             * Properties of a GetContestedResourceVotersForIdentityResponseV0.
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse
+                             * @interface IGetContestedResourceVotersForIdentityResponseV0
+                             * @property {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.IContestedResourceVoters|null} [contestedResourceVoters] GetContestedResourceVotersForIdentityResponseV0 contestedResourceVoters
+                             * @property {org.dash.platform.dapi.v0.IProof|null} [proof] GetContestedResourceVotersForIdentityResponseV0 proof
+                             * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetContestedResourceVotersForIdentityResponseV0 metadata
                              */
 
                             /**
-                             * Constructs a new GetPrefundedSpecializedBalanceResponseV0.
-                             * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse
-                             * @classdesc Represents a GetPrefundedSpecializedBalanceResponseV0.
-                             * @implements IGetPrefundedSpecializedBalanceResponseV0
+                             * Constructs a new GetContestedResourceVotersForIdentityResponseV0.
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse
+                             * @classdesc Represents a GetContestedResourceVotersForIdentityResponseV0.
+                             * @implements IGetContestedResourceVotersForIdentityResponseV0
                              * @constructor
-                             * @param {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.IGetPrefundedSpecializedBalanceResponseV0=} [properties] Properties to set
+                             * @param {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.IGetContestedResourceVotersForIdentityResponseV0=} [properties] Properties to set
                              */
-                            function GetPrefundedSpecializedBalanceResponseV0(properties) {
+                            function GetContestedResourceVotersForIdentityResponseV0(properties) {
                                 if (properties)
                                     for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
                                         if (properties[keys[i]] != null)
@@ -37238,69 +37554,69 @@ $root.org = (function() {
                             }
 
                             /**
-                             * GetPrefundedSpecializedBalanceResponseV0 balance.
-                             * @member {number|Long} balance
-                             * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0
+                             * GetContestedResourceVotersForIdentityResponseV0 contestedResourceVoters.
+                             * @member {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.IContestedResourceVoters|null|undefined} contestedResourceVoters
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0
                              * @instance
                              */
-                            GetPrefundedSpecializedBalanceResponseV0.prototype.balance = $util.Long ? $util.Long.fromBits(0,0,true) : 0;
+                            GetContestedResourceVotersForIdentityResponseV0.prototype.contestedResourceVoters = null;
 
                             /**
-                             * GetPrefundedSpecializedBalanceResponseV0 proof.
+                             * GetContestedResourceVotersForIdentityResponseV0 proof.
                              * @member {org.dash.platform.dapi.v0.IProof|null|undefined} proof
-                             * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0
                              * @instance
                              */
-                            GetPrefundedSpecializedBalanceResponseV0.prototype.proof = null;
+                            GetContestedResourceVotersForIdentityResponseV0.prototype.proof = null;
 
                             /**
-                             * GetPrefundedSpecializedBalanceResponseV0 metadata.
+                             * GetContestedResourceVotersForIdentityResponseV0 metadata.
                              * @member {org.dash.platform.dapi.v0.IResponseMetadata|null|undefined} metadata
-                             * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0
                              * @instance
                              */
-                            GetPrefundedSpecializedBalanceResponseV0.prototype.metadata = null;
+                            GetContestedResourceVotersForIdentityResponseV0.prototype.metadata = null;
 
                             // OneOf field names bound to virtual getters and setters
                             var $oneOfFields;
 
                             /**
-                             * GetPrefundedSpecializedBalanceResponseV0 result.
-                             * @member {"balance"|"proof"|undefined} result
-                             * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0
+                             * GetContestedResourceVotersForIdentityResponseV0 result.
+                             * @member {"contestedResourceVoters"|"proof"|undefined} result
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0
                              * @instance
                              */
-                            Object.defineProperty(GetPrefundedSpecializedBalanceResponseV0.prototype, "result", {
-                                get: $util.oneOfGetter($oneOfFields = ["balance", "proof"]),
+                            Object.defineProperty(GetContestedResourceVotersForIdentityResponseV0.prototype, "result", {
+                                get: $util.oneOfGetter($oneOfFields = ["contestedResourceVoters", "proof"]),
                                 set: $util.oneOfSetter($oneOfFields)
                             });
 
                             /**
-                             * Creates a new GetPrefundedSpecializedBalanceResponseV0 instance using the specified properties.
+                             * Creates a new GetContestedResourceVotersForIdentityResponseV0 instance using the specified properties.
                              * @function create
-                             * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.IGetPrefundedSpecializedBalanceResponseV0=} [properties] Properties to set
-                             * @returns {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0} GetPrefundedSpecializedBalanceResponseV0 instance
+                             * @param {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.IGetContestedResourceVotersForIdentityResponseV0=} [properties] Properties to set
+                             * @returns {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0} GetContestedResourceVotersForIdentityResponseV0 instance
                              */
-                            GetPrefundedSpecializedBalanceResponseV0.create = function create(properties) {
-                                return new GetPrefundedSpecializedBalanceResponseV0(properties);
+                            GetContestedResourceVotersForIdentityResponseV0.create = function create(properties) {
+                                return new GetContestedResourceVotersForIdentityResponseV0(properties);
                             };
 
                             /**
-                             * Encodes the specified GetPrefundedSpecializedBalanceResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.verify|verify} messages.
+                             * Encodes the specified GetContestedResourceVotersForIdentityResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.verify|verify} messages.
                              * @function encode
-                             * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.IGetPrefundedSpecializedBalanceResponseV0} message GetPrefundedSpecializedBalanceResponseV0 message or plain object to encode
+                             * @param {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.IGetContestedResourceVotersForIdentityResponseV0} message GetContestedResourceVotersForIdentityResponseV0 message or plain object to encode
                              * @param {$protobuf.Writer} [writer] Writer to encode to
                              * @returns {$protobuf.Writer} Writer
                              */
-                            GetPrefundedSpecializedBalanceResponseV0.encode = function encode(message, writer) {
+                            GetContestedResourceVotersForIdentityResponseV0.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.contestedResourceVoters != null && Object.hasOwnProperty.call(message, "contestedResourceVoters"))
+                                    $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.encode(message.contestedResourceVoters, 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"))
@@ -37309,38 +37625,38 @@ $root.org = (function() {
                             };
 
                             /**
-                             * Encodes the specified GetPrefundedSpecializedBalanceResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.verify|verify} messages.
+                             * Encodes the specified GetContestedResourceVotersForIdentityResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.verify|verify} messages.
                              * @function encodeDelimited
-                             * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.IGetPrefundedSpecializedBalanceResponseV0} message GetPrefundedSpecializedBalanceResponseV0 message or plain object to encode
+                             * @param {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.IGetContestedResourceVotersForIdentityResponseV0} message GetContestedResourceVotersForIdentityResponseV0 message or plain object to encode
                              * @param {$protobuf.Writer} [writer] Writer to encode to
                              * @returns {$protobuf.Writer} Writer
                              */
-                            GetPrefundedSpecializedBalanceResponseV0.encodeDelimited = function encodeDelimited(message, writer) {
+                            GetContestedResourceVotersForIdentityResponseV0.encodeDelimited = function encodeDelimited(message, writer) {
                                 return this.encode(message, writer).ldelim();
                             };
 
                             /**
-                             * Decodes a GetPrefundedSpecializedBalanceResponseV0 message from the specified reader or buffer.
+                             * Decodes a GetContestedResourceVotersForIdentityResponseV0 message from the specified reader or buffer.
                              * @function decode
-                             * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0
                              * @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.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0} GetPrefundedSpecializedBalanceResponseV0
+                             * @returns {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0} GetContestedResourceVotersForIdentityResponseV0
                              * @throws {Error} If the payload is not a reader or valid buffer
                              * @throws {$protobuf.util.ProtocolError} If required fields are missing
                              */
-                            GetPrefundedSpecializedBalanceResponseV0.decode = function decode(reader, length) {
+                            GetContestedResourceVotersForIdentityResponseV0.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.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0();
+                                var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0();
                                 while (reader.pos < end) {
                                     var tag = reader.uint32();
                                     switch (tag >>> 3) {
                                     case 1:
-                                        message.balance = reader.uint64();
+                                        message.contestedResourceVoters = $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.decode(reader, reader.uint32());
                                         break;
                                     case 2:
                                         message.proof = $root.org.dash.platform.dapi.v0.Proof.decode(reader, reader.uint32());
@@ -37357,37 +37673,40 @@ $root.org = (function() {
                             };
 
                             /**
-                             * Decodes a GetPrefundedSpecializedBalanceResponseV0 message from the specified reader or buffer, length delimited.
+                             * Decodes a GetContestedResourceVotersForIdentityResponseV0 message from the specified reader or buffer, length delimited.
                              * @function decodeDelimited
-                             * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0
                              * @static
                              * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                             * @returns {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0} GetPrefundedSpecializedBalanceResponseV0
+                             * @returns {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0} GetContestedResourceVotersForIdentityResponseV0
                              * @throws {Error} If the payload is not a reader or valid buffer
                              * @throws {$protobuf.util.ProtocolError} If required fields are missing
                              */
-                            GetPrefundedSpecializedBalanceResponseV0.decodeDelimited = function decodeDelimited(reader) {
+                            GetContestedResourceVotersForIdentityResponseV0.decodeDelimited = function decodeDelimited(reader) {
                                 if (!(reader instanceof $Reader))
                                     reader = new $Reader(reader);
                                 return this.decode(reader, reader.uint32());
                             };
 
                             /**
-                             * Verifies a GetPrefundedSpecializedBalanceResponseV0 message.
+                             * Verifies a GetContestedResourceVotersForIdentityResponseV0 message.
                              * @function verify
-                             * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0
                              * @static
                              * @param {Object.} message Plain object to verify
                              * @returns {string|null} `null` if valid, otherwise the reason why it is not
                              */
-                            GetPrefundedSpecializedBalanceResponseV0.verify = function verify(message) {
+                            GetContestedResourceVotersForIdentityResponseV0.verify = function verify(message) {
                                 if (typeof message !== "object" || message === null)
                                     return "object expected";
                                 var properties = {};
-                                if (message.balance != null && message.hasOwnProperty("balance")) {
+                                if (message.contestedResourceVoters != null && message.hasOwnProperty("contestedResourceVoters")) {
                                     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";
+                                    {
+                                        var error = $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.verify(message.contestedResourceVoters);
+                                        if (error)
+                                            return "contestedResourceVoters." + error;
+                                    }
                                 }
                                 if (message.proof != null && message.hasOwnProperty("proof")) {
                                     if (properties.result === 1)
@@ -37408,61 +37727,54 @@ $root.org = (function() {
                             };
 
                             /**
-                             * Creates a GetPrefundedSpecializedBalanceResponseV0 message from a plain object. Also converts values to their respective internal types.
+                             * Creates a GetContestedResourceVotersForIdentityResponseV0 message from a plain object. Also converts values to their respective internal types.
                              * @function fromObject
-                             * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0
                              * @static
                              * @param {Object.} object Plain object
-                             * @returns {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0} GetPrefundedSpecializedBalanceResponseV0
+                             * @returns {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0} GetContestedResourceVotersForIdentityResponseV0
                              */
-                            GetPrefundedSpecializedBalanceResponseV0.fromObject = function fromObject(object) {
-                                if (object instanceof $root.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0)
+                            GetContestedResourceVotersForIdentityResponseV0.fromObject = function fromObject(object) {
+                                if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0)
                                     return object;
-                                var message = new $root.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0();
-                                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);
+                                var message = new $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0();
+                                if (object.contestedResourceVoters != null) {
+                                    if (typeof object.contestedResourceVoters !== "object")
+                                        throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.contestedResourceVoters: object expected");
+                                    message.contestedResourceVoters = $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.fromObject(object.contestedResourceVoters);
+                                }
                                 if (object.proof != null) {
                                     if (typeof object.proof !== "object")
-                                        throw TypeError(".org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.proof: object expected");
+                                        throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.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.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.metadata: object expected");
+                                        throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.metadata: object expected");
                                     message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.fromObject(object.metadata);
                                 }
                                 return message;
                             };
 
                             /**
-                             * Creates a plain object from a GetPrefundedSpecializedBalanceResponseV0 message. Also converts values to other types if specified.
+                             * Creates a plain object from a GetContestedResourceVotersForIdentityResponseV0 message. Also converts values to other types if specified.
                              * @function toObject
-                             * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0} message GetPrefundedSpecializedBalanceResponseV0
+                             * @param {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0} message GetContestedResourceVotersForIdentityResponseV0
                              * @param {$protobuf.IConversionOptions} [options] Conversion options
                              * @returns {Object.} Plain object
                              */
-                            GetPrefundedSpecializedBalanceResponseV0.toObject = function toObject(message, options) {
+                            GetContestedResourceVotersForIdentityResponseV0.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 (message.contestedResourceVoters != null && message.hasOwnProperty("contestedResourceVoters")) {
+                                    object.contestedResourceVoters = $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.toObject(message.contestedResourceVoters, options);
                                     if (options.oneofs)
-                                        object.result = "balance";
+                                        object.result = "contestedResourceVoters";
                                 }
                                 if (message.proof != null && message.hasOwnProperty("proof")) {
                                     object.proof = $root.org.dash.platform.dapi.v0.Proof.toObject(message.proof, options);
@@ -37475,40 +37787,269 @@ $root.org = (function() {
                             };
 
                             /**
-                             * Converts this GetPrefundedSpecializedBalanceResponseV0 to JSON.
+                             * Converts this GetContestedResourceVotersForIdentityResponseV0 to JSON.
                              * @function toJSON
-                             * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0
                              * @instance
                              * @returns {Object.} JSON object
                              */
-                            GetPrefundedSpecializedBalanceResponseV0.prototype.toJSON = function toJSON() {
+                            GetContestedResourceVotersForIdentityResponseV0.prototype.toJSON = function toJSON() {
                                 return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
                             };
 
-                            return GetPrefundedSpecializedBalanceResponseV0;
-                        })();
-
-                        return GetPrefundedSpecializedBalanceResponse;
-                    })();
+                            GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters = (function() {
 
-                    v0.GetTotalCreditsInPlatformRequest = (function() {
+                                /**
+                                 * Properties of a ContestedResourceVoters.
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0
+                                 * @interface IContestedResourceVoters
+                                 * @property {Array.|null} [voters] ContestedResourceVoters voters
+                                 * @property {boolean|null} [finishedResults] ContestedResourceVoters finishedResults
+                                 */
 
-                        /**
-                         * Properties of a GetTotalCreditsInPlatformRequest.
-                         * @memberof org.dash.platform.dapi.v0
-                         * @interface IGetTotalCreditsInPlatformRequest
-                         * @property {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.IGetTotalCreditsInPlatformRequestV0|null} [v0] GetTotalCreditsInPlatformRequest v0
-                         */
+                                /**
+                                 * Constructs a new ContestedResourceVoters.
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0
+                                 * @classdesc Represents a ContestedResourceVoters.
+                                 * @implements IContestedResourceVoters
+                                 * @constructor
+                                 * @param {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.IContestedResourceVoters=} [properties] Properties to set
+                                 */
+                                function ContestedResourceVoters(properties) {
+                                    this.voters = [];
+                                    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]];
+                                }
+
+                                /**
+                                 * ContestedResourceVoters voters.
+                                 * @member {Array.} voters
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters
+                                 * @instance
+                                 */
+                                ContestedResourceVoters.prototype.voters = $util.emptyArray;
+
+                                /**
+                                 * ContestedResourceVoters finishedResults.
+                                 * @member {boolean} finishedResults
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters
+                                 * @instance
+                                 */
+                                ContestedResourceVoters.prototype.finishedResults = false;
+
+                                /**
+                                 * Creates a new ContestedResourceVoters instance using the specified properties.
+                                 * @function create
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters
+                                 * @static
+                                 * @param {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.IContestedResourceVoters=} [properties] Properties to set
+                                 * @returns {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters} ContestedResourceVoters instance
+                                 */
+                                ContestedResourceVoters.create = function create(properties) {
+                                    return new ContestedResourceVoters(properties);
+                                };
+
+                                /**
+                                 * Encodes the specified ContestedResourceVoters message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.verify|verify} messages.
+                                 * @function encode
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters
+                                 * @static
+                                 * @param {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.IContestedResourceVoters} message ContestedResourceVoters message or plain object to encode
+                                 * @param {$protobuf.Writer} [writer] Writer to encode to
+                                 * @returns {$protobuf.Writer} Writer
+                                 */
+                                ContestedResourceVoters.encode = function encode(message, writer) {
+                                    if (!writer)
+                                        writer = $Writer.create();
+                                    if (message.voters != null && message.voters.length)
+                                        for (var i = 0; i < message.voters.length; ++i)
+                                            writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.voters[i]);
+                                    if (message.finishedResults != null && Object.hasOwnProperty.call(message, "finishedResults"))
+                                        writer.uint32(/* id 2, wireType 0 =*/16).bool(message.finishedResults);
+                                    return writer;
+                                };
+
+                                /**
+                                 * Encodes the specified ContestedResourceVoters message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.verify|verify} messages.
+                                 * @function encodeDelimited
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters
+                                 * @static
+                                 * @param {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.IContestedResourceVoters} message ContestedResourceVoters message or plain object to encode
+                                 * @param {$protobuf.Writer} [writer] Writer to encode to
+                                 * @returns {$protobuf.Writer} Writer
+                                 */
+                                ContestedResourceVoters.encodeDelimited = function encodeDelimited(message, writer) {
+                                    return this.encode(message, writer).ldelim();
+                                };
+
+                                /**
+                                 * Decodes a ContestedResourceVoters message from the specified reader or buffer.
+                                 * @function decode
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters
+                                 * @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.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters} ContestedResourceVoters
+                                 * @throws {Error} If the payload is not a reader or valid buffer
+                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
+                                 */
+                                ContestedResourceVoters.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.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters();
+                                    while (reader.pos < end) {
+                                        var tag = reader.uint32();
+                                        switch (tag >>> 3) {
+                                        case 1:
+                                            if (!(message.voters && message.voters.length))
+                                                message.voters = [];
+                                            message.voters.push(reader.bytes());
+                                            break;
+                                        case 2:
+                                            message.finishedResults = reader.bool();
+                                            break;
+                                        default:
+                                            reader.skipType(tag & 7);
+                                            break;
+                                        }
+                                    }
+                                    return message;
+                                };
+
+                                /**
+                                 * Decodes a ContestedResourceVoters message from the specified reader or buffer, length delimited.
+                                 * @function decodeDelimited
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters
+                                 * @static
+                                 * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+                                 * @returns {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters} ContestedResourceVoters
+                                 * @throws {Error} If the payload is not a reader or valid buffer
+                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
+                                 */
+                                ContestedResourceVoters.decodeDelimited = function decodeDelimited(reader) {
+                                    if (!(reader instanceof $Reader))
+                                        reader = new $Reader(reader);
+                                    return this.decode(reader, reader.uint32());
+                                };
+
+                                /**
+                                 * Verifies a ContestedResourceVoters message.
+                                 * @function verify
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters
+                                 * @static
+                                 * @param {Object.} message Plain object to verify
+                                 * @returns {string|null} `null` if valid, otherwise the reason why it is not
+                                 */
+                                ContestedResourceVoters.verify = function verify(message) {
+                                    if (typeof message !== "object" || message === null)
+                                        return "object expected";
+                                    if (message.voters != null && message.hasOwnProperty("voters")) {
+                                        if (!Array.isArray(message.voters))
+                                            return "voters: array expected";
+                                        for (var i = 0; i < message.voters.length; ++i)
+                                            if (!(message.voters[i] && typeof message.voters[i].length === "number" || $util.isString(message.voters[i])))
+                                                return "voters: buffer[] expected";
+                                    }
+                                    if (message.finishedResults != null && message.hasOwnProperty("finishedResults"))
+                                        if (typeof message.finishedResults !== "boolean")
+                                            return "finishedResults: boolean expected";
+                                    return null;
+                                };
+
+                                /**
+                                 * Creates a ContestedResourceVoters message from a plain object. Also converts values to their respective internal types.
+                                 * @function fromObject
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters
+                                 * @static
+                                 * @param {Object.} object Plain object
+                                 * @returns {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters} ContestedResourceVoters
+                                 */
+                                ContestedResourceVoters.fromObject = function fromObject(object) {
+                                    if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters)
+                                        return object;
+                                    var message = new $root.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters();
+                                    if (object.voters) {
+                                        if (!Array.isArray(object.voters))
+                                            throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.voters: array expected");
+                                        message.voters = [];
+                                        for (var i = 0; i < object.voters.length; ++i)
+                                            if (typeof object.voters[i] === "string")
+                                                $util.base64.decode(object.voters[i], message.voters[i] = $util.newBuffer($util.base64.length(object.voters[i])), 0);
+                                            else if (object.voters[i].length >= 0)
+                                                message.voters[i] = object.voters[i];
+                                    }
+                                    if (object.finishedResults != null)
+                                        message.finishedResults = Boolean(object.finishedResults);
+                                    return message;
+                                };
+
+                                /**
+                                 * Creates a plain object from a ContestedResourceVoters message. Also converts values to other types if specified.
+                                 * @function toObject
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters
+                                 * @static
+                                 * @param {org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters} message ContestedResourceVoters
+                                 * @param {$protobuf.IConversionOptions} [options] Conversion options
+                                 * @returns {Object.} Plain object
+                                 */
+                                ContestedResourceVoters.toObject = function toObject(message, options) {
+                                    if (!options)
+                                        options = {};
+                                    var object = {};
+                                    if (options.arrays || options.defaults)
+                                        object.voters = [];
+                                    if (options.defaults)
+                                        object.finishedResults = false;
+                                    if (message.voters && message.voters.length) {
+                                        object.voters = [];
+                                        for (var j = 0; j < message.voters.length; ++j)
+                                            object.voters[j] = options.bytes === String ? $util.base64.encode(message.voters[j], 0, message.voters[j].length) : options.bytes === Array ? Array.prototype.slice.call(message.voters[j]) : message.voters[j];
+                                    }
+                                    if (message.finishedResults != null && message.hasOwnProperty("finishedResults"))
+                                        object.finishedResults = message.finishedResults;
+                                    return object;
+                                };
+
+                                /**
+                                 * Converts this ContestedResourceVoters to JSON.
+                                 * @function toJSON
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters
+                                 * @instance
+                                 * @returns {Object.} JSON object
+                                 */
+                                ContestedResourceVoters.prototype.toJSON = function toJSON() {
+                                    return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+                                };
+
+                                return ContestedResourceVoters;
+                            })();
+
+                            return GetContestedResourceVotersForIdentityResponseV0;
+                        })();
+
+                        return GetContestedResourceVotersForIdentityResponse;
+                    })();
+
+                    v0.GetContestedResourceIdentityVotesRequest = (function() {
 
                         /**
-                         * Constructs a new GetTotalCreditsInPlatformRequest.
+                         * Properties of a GetContestedResourceIdentityVotesRequest.
                          * @memberof org.dash.platform.dapi.v0
-                         * @classdesc Represents a GetTotalCreditsInPlatformRequest.
-                         * @implements IGetTotalCreditsInPlatformRequest
+                         * @interface IGetContestedResourceIdentityVotesRequest
+                         * @property {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.IGetContestedResourceIdentityVotesRequestV0|null} [v0] GetContestedResourceIdentityVotesRequest v0
+                         */
+
+                        /**
+                         * Constructs a new GetContestedResourceIdentityVotesRequest.
+                         * @memberof org.dash.platform.dapi.v0
+                         * @classdesc Represents a GetContestedResourceIdentityVotesRequest.
+                         * @implements IGetContestedResourceIdentityVotesRequest
                          * @constructor
-                         * @param {org.dash.platform.dapi.v0.IGetTotalCreditsInPlatformRequest=} [properties] Properties to set
+                         * @param {org.dash.platform.dapi.v0.IGetContestedResourceIdentityVotesRequest=} [properties] Properties to set
                          */
-                        function GetTotalCreditsInPlatformRequest(properties) {
+                        function GetContestedResourceIdentityVotesRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
                                     if (properties[keys[i]] != null)
@@ -37516,89 +38057,89 @@ $root.org = (function() {
                         }
 
                         /**
-                         * GetTotalCreditsInPlatformRequest v0.
-                         * @member {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.IGetTotalCreditsInPlatformRequestV0|null|undefined} v0
-                         * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest
+                         * GetContestedResourceIdentityVotesRequest v0.
+                         * @member {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.IGetContestedResourceIdentityVotesRequestV0|null|undefined} v0
+                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest
                          * @instance
                          */
-                        GetTotalCreditsInPlatformRequest.prototype.v0 = null;
+                        GetContestedResourceIdentityVotesRequest.prototype.v0 = null;
 
                         // OneOf field names bound to virtual getters and setters
                         var $oneOfFields;
 
                         /**
-                         * GetTotalCreditsInPlatformRequest version.
+                         * GetContestedResourceIdentityVotesRequest version.
                          * @member {"v0"|undefined} version
-                         * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest
+                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest
                          * @instance
                          */
-                        Object.defineProperty(GetTotalCreditsInPlatformRequest.prototype, "version", {
+                        Object.defineProperty(GetContestedResourceIdentityVotesRequest.prototype, "version", {
                             get: $util.oneOfGetter($oneOfFields = ["v0"]),
                             set: $util.oneOfSetter($oneOfFields)
                         });
 
                         /**
-                         * Creates a new GetTotalCreditsInPlatformRequest instance using the specified properties.
+                         * Creates a new GetContestedResourceIdentityVotesRequest instance using the specified properties.
                          * @function create
-                         * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest
+                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest
                          * @static
-                         * @param {org.dash.platform.dapi.v0.IGetTotalCreditsInPlatformRequest=} [properties] Properties to set
-                         * @returns {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest} GetTotalCreditsInPlatformRequest instance
+                         * @param {org.dash.platform.dapi.v0.IGetContestedResourceIdentityVotesRequest=} [properties] Properties to set
+                         * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest} GetContestedResourceIdentityVotesRequest instance
                          */
-                        GetTotalCreditsInPlatformRequest.create = function create(properties) {
-                            return new GetTotalCreditsInPlatformRequest(properties);
+                        GetContestedResourceIdentityVotesRequest.create = function create(properties) {
+                            return new GetContestedResourceIdentityVotesRequest(properties);
                         };
 
                         /**
-                         * Encodes the specified GetTotalCreditsInPlatformRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.verify|verify} messages.
+                         * Encodes the specified GetContestedResourceIdentityVotesRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.verify|verify} messages.
                          * @function encode
-                         * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest
+                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest
                          * @static
-                         * @param {org.dash.platform.dapi.v0.IGetTotalCreditsInPlatformRequest} message GetTotalCreditsInPlatformRequest message or plain object to encode
+                         * @param {org.dash.platform.dapi.v0.IGetContestedResourceIdentityVotesRequest} message GetContestedResourceIdentityVotesRequest message or plain object to encode
                          * @param {$protobuf.Writer} [writer] Writer to encode to
                          * @returns {$protobuf.Writer} Writer
                          */
-                        GetTotalCreditsInPlatformRequest.encode = function encode(message, writer) {
+                        GetContestedResourceIdentityVotesRequest.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.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+                                $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
                             return writer;
                         };
 
                         /**
-                         * Encodes the specified GetTotalCreditsInPlatformRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.verify|verify} messages.
+                         * Encodes the specified GetContestedResourceIdentityVotesRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.verify|verify} messages.
                          * @function encodeDelimited
-                         * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest
+                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest
                          * @static
-                         * @param {org.dash.platform.dapi.v0.IGetTotalCreditsInPlatformRequest} message GetTotalCreditsInPlatformRequest message or plain object to encode
+                         * @param {org.dash.platform.dapi.v0.IGetContestedResourceIdentityVotesRequest} message GetContestedResourceIdentityVotesRequest message or plain object to encode
                          * @param {$protobuf.Writer} [writer] Writer to encode to
                          * @returns {$protobuf.Writer} Writer
                          */
-                        GetTotalCreditsInPlatformRequest.encodeDelimited = function encodeDelimited(message, writer) {
+                        GetContestedResourceIdentityVotesRequest.encodeDelimited = function encodeDelimited(message, writer) {
                             return this.encode(message, writer).ldelim();
                         };
 
                         /**
-                         * Decodes a GetTotalCreditsInPlatformRequest message from the specified reader or buffer.
+                         * Decodes a GetContestedResourceIdentityVotesRequest message from the specified reader or buffer.
                          * @function decode
-                         * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest
+                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest
                          * @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.GetTotalCreditsInPlatformRequest} GetTotalCreditsInPlatformRequest
+                         * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest} GetContestedResourceIdentityVotesRequest
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        GetTotalCreditsInPlatformRequest.decode = function decode(reader, length) {
+                        GetContestedResourceIdentityVotesRequest.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.GetTotalCreditsInPlatformRequest();
+                            var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
                                 switch (tag >>> 3) {
                                 case 1:
-                                    message.v0 = $root.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0.decode(reader, reader.uint32());
+                                    message.v0 = $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.decode(reader, reader.uint32());
                                     break;
                                 default:
                                     reader.skipType(tag & 7);
@@ -37609,37 +38150,37 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Decodes a GetTotalCreditsInPlatformRequest message from the specified reader or buffer, length delimited.
+                         * Decodes a GetContestedResourceIdentityVotesRequest message from the specified reader or buffer, length delimited.
                          * @function decodeDelimited
-                         * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest
+                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest
                          * @static
                          * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                         * @returns {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest} GetTotalCreditsInPlatformRequest
+                         * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest} GetContestedResourceIdentityVotesRequest
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        GetTotalCreditsInPlatformRequest.decodeDelimited = function decodeDelimited(reader) {
+                        GetContestedResourceIdentityVotesRequest.decodeDelimited = function decodeDelimited(reader) {
                             if (!(reader instanceof $Reader))
                                 reader = new $Reader(reader);
                             return this.decode(reader, reader.uint32());
                         };
 
                         /**
-                         * Verifies a GetTotalCreditsInPlatformRequest message.
+                         * Verifies a GetContestedResourceIdentityVotesRequest message.
                          * @function verify
-                         * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest
+                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest
                          * @static
                          * @param {Object.} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        GetTotalCreditsInPlatformRequest.verify = function verify(message) {
+                        GetContestedResourceIdentityVotesRequest.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.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0.verify(message.v0);
+                                    var error = $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.verify(message.v0);
                                     if (error)
                                         return "v0." + error;
                                 }
@@ -37648,40 +38189,40 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Creates a GetTotalCreditsInPlatformRequest message from a plain object. Also converts values to their respective internal types.
+                         * Creates a GetContestedResourceIdentityVotesRequest message from a plain object. Also converts values to their respective internal types.
                          * @function fromObject
-                         * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest
+                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest
                          * @static
                          * @param {Object.} object Plain object
-                         * @returns {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest} GetTotalCreditsInPlatformRequest
+                         * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest} GetContestedResourceIdentityVotesRequest
                          */
-                        GetTotalCreditsInPlatformRequest.fromObject = function fromObject(object) {
-                            if (object instanceof $root.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest)
+                        GetContestedResourceIdentityVotesRequest.fromObject = function fromObject(object) {
+                            if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest)
                                 return object;
-                            var message = new $root.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest();
+                            var message = new $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest();
                             if (object.v0 != null) {
                                 if (typeof object.v0 !== "object")
-                                    throw TypeError(".org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.v0: object expected");
-                                message.v0 = $root.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0.fromObject(object.v0);
+                                    throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.v0: object expected");
+                                message.v0 = $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.fromObject(object.v0);
                             }
                             return message;
                         };
 
                         /**
-                         * Creates a plain object from a GetTotalCreditsInPlatformRequest message. Also converts values to other types if specified.
+                         * Creates a plain object from a GetContestedResourceIdentityVotesRequest message. Also converts values to other types if specified.
                          * @function toObject
-                         * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest
+                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest
                          * @static
-                         * @param {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest} message GetTotalCreditsInPlatformRequest
+                         * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest} message GetContestedResourceIdentityVotesRequest
                          * @param {$protobuf.IConversionOptions} [options] Conversion options
                          * @returns {Object.} Plain object
                          */
-                        GetTotalCreditsInPlatformRequest.toObject = function toObject(message, options) {
+                        GetContestedResourceIdentityVotesRequest.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.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0.toObject(message.v0, options);
+                                object.v0 = $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.toObject(message.v0, options);
                                 if (options.oneofs)
                                     object.version = "v0";
                             }
@@ -37689,34 +38230,39 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Converts this GetTotalCreditsInPlatformRequest to JSON.
+                         * Converts this GetContestedResourceIdentityVotesRequest to JSON.
                          * @function toJSON
-                         * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest
+                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest
                          * @instance
                          * @returns {Object.} JSON object
                          */
-                        GetTotalCreditsInPlatformRequest.prototype.toJSON = function toJSON() {
+                        GetContestedResourceIdentityVotesRequest.prototype.toJSON = function toJSON() {
                             return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
                         };
 
-                        GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0 = (function() {
+                        GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0 = (function() {
 
                             /**
-                             * Properties of a GetTotalCreditsInPlatformRequestV0.
-                             * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest
-                             * @interface IGetTotalCreditsInPlatformRequestV0
-                             * @property {boolean|null} [prove] GetTotalCreditsInPlatformRequestV0 prove
+                             * Properties of a GetContestedResourceIdentityVotesRequestV0.
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest
+                             * @interface IGetContestedResourceIdentityVotesRequestV0
+                             * @property {Uint8Array|null} [identityId] GetContestedResourceIdentityVotesRequestV0 identityId
+                             * @property {google.protobuf.IUInt32Value|null} [limit] GetContestedResourceIdentityVotesRequestV0 limit
+                             * @property {google.protobuf.IUInt32Value|null} [offset] GetContestedResourceIdentityVotesRequestV0 offset
+                             * @property {boolean|null} [orderAscending] GetContestedResourceIdentityVotesRequestV0 orderAscending
+                             * @property {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.IStartAtVotePollIdInfo|null} [startAtVotePollIdInfo] GetContestedResourceIdentityVotesRequestV0 startAtVotePollIdInfo
+                             * @property {boolean|null} [prove] GetContestedResourceIdentityVotesRequestV0 prove
                              */
 
                             /**
-                             * Constructs a new GetTotalCreditsInPlatformRequestV0.
-                             * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest
-                             * @classdesc Represents a GetTotalCreditsInPlatformRequestV0.
-                             * @implements IGetTotalCreditsInPlatformRequestV0
+                             * Constructs a new GetContestedResourceIdentityVotesRequestV0.
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest
+                             * @classdesc Represents a GetContestedResourceIdentityVotesRequestV0.
+                             * @implements IGetContestedResourceIdentityVotesRequestV0
                              * @constructor
-                             * @param {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.IGetTotalCreditsInPlatformRequestV0=} [properties] Properties to set
+                             * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.IGetContestedResourceIdentityVotesRequestV0=} [properties] Properties to set
                              */
-                            function GetTotalCreditsInPlatformRequestV0(properties) {
+                            function GetContestedResourceIdentityVotesRequestV0(properties) {
                                 if (properties)
                                     for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
                                         if (properties[keys[i]] != null)
@@ -37724,74 +38270,139 @@ $root.org = (function() {
                             }
 
                             /**
-                             * GetTotalCreditsInPlatformRequestV0 prove.
+                             * GetContestedResourceIdentityVotesRequestV0 identityId.
+                             * @member {Uint8Array} identityId
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0
+                             * @instance
+                             */
+                            GetContestedResourceIdentityVotesRequestV0.prototype.identityId = $util.newBuffer([]);
+
+                            /**
+                             * GetContestedResourceIdentityVotesRequestV0 limit.
+                             * @member {google.protobuf.IUInt32Value|null|undefined} limit
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0
+                             * @instance
+                             */
+                            GetContestedResourceIdentityVotesRequestV0.prototype.limit = null;
+
+                            /**
+                             * GetContestedResourceIdentityVotesRequestV0 offset.
+                             * @member {google.protobuf.IUInt32Value|null|undefined} offset
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0
+                             * @instance
+                             */
+                            GetContestedResourceIdentityVotesRequestV0.prototype.offset = null;
+
+                            /**
+                             * GetContestedResourceIdentityVotesRequestV0 orderAscending.
+                             * @member {boolean} orderAscending
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0
+                             * @instance
+                             */
+                            GetContestedResourceIdentityVotesRequestV0.prototype.orderAscending = false;
+
+                            /**
+                             * GetContestedResourceIdentityVotesRequestV0 startAtVotePollIdInfo.
+                             * @member {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.IStartAtVotePollIdInfo|null|undefined} startAtVotePollIdInfo
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0
+                             * @instance
+                             */
+                            GetContestedResourceIdentityVotesRequestV0.prototype.startAtVotePollIdInfo = null;
+
+                            /**
+                             * GetContestedResourceIdentityVotesRequestV0 prove.
                              * @member {boolean} prove
-                             * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0
                              * @instance
                              */
-                            GetTotalCreditsInPlatformRequestV0.prototype.prove = false;
+                            GetContestedResourceIdentityVotesRequestV0.prototype.prove = false;
 
                             /**
-                             * Creates a new GetTotalCreditsInPlatformRequestV0 instance using the specified properties.
+                             * Creates a new GetContestedResourceIdentityVotesRequestV0 instance using the specified properties.
                              * @function create
-                             * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.IGetTotalCreditsInPlatformRequestV0=} [properties] Properties to set
-                             * @returns {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0} GetTotalCreditsInPlatformRequestV0 instance
+                             * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.IGetContestedResourceIdentityVotesRequestV0=} [properties] Properties to set
+                             * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0} GetContestedResourceIdentityVotesRequestV0 instance
                              */
-                            GetTotalCreditsInPlatformRequestV0.create = function create(properties) {
-                                return new GetTotalCreditsInPlatformRequestV0(properties);
+                            GetContestedResourceIdentityVotesRequestV0.create = function create(properties) {
+                                return new GetContestedResourceIdentityVotesRequestV0(properties);
                             };
 
                             /**
-                             * Encodes the specified GetTotalCreditsInPlatformRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0.verify|verify} messages.
+                             * Encodes the specified GetContestedResourceIdentityVotesRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.verify|verify} messages.
                              * @function encode
-                             * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.IGetTotalCreditsInPlatformRequestV0} message GetTotalCreditsInPlatformRequestV0 message or plain object to encode
+                             * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.IGetContestedResourceIdentityVotesRequestV0} message GetContestedResourceIdentityVotesRequestV0 message or plain object to encode
                              * @param {$protobuf.Writer} [writer] Writer to encode to
                              * @returns {$protobuf.Writer} Writer
                              */
-                            GetTotalCreditsInPlatformRequestV0.encode = function encode(message, writer) {
+                            GetContestedResourceIdentityVotesRequestV0.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.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.orderAscending != null && Object.hasOwnProperty.call(message, "orderAscending"))
+                                    writer.uint32(/* id 4, wireType 0 =*/32).bool(message.orderAscending);
+                                if (message.startAtVotePollIdInfo != null && Object.hasOwnProperty.call(message, "startAtVotePollIdInfo"))
+                                    $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.encode(message.startAtVotePollIdInfo, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim();
                                 if (message.prove != null && Object.hasOwnProperty.call(message, "prove"))
-                                    writer.uint32(/* id 1, wireType 0 =*/8).bool(message.prove);
+                                    writer.uint32(/* id 6, wireType 0 =*/48).bool(message.prove);
                                 return writer;
                             };
 
                             /**
-                             * Encodes the specified GetTotalCreditsInPlatformRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0.verify|verify} messages.
+                             * Encodes the specified GetContestedResourceIdentityVotesRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.verify|verify} messages.
                              * @function encodeDelimited
-                             * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.IGetTotalCreditsInPlatformRequestV0} message GetTotalCreditsInPlatformRequestV0 message or plain object to encode
+                             * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.IGetContestedResourceIdentityVotesRequestV0} message GetContestedResourceIdentityVotesRequestV0 message or plain object to encode
                              * @param {$protobuf.Writer} [writer] Writer to encode to
                              * @returns {$protobuf.Writer} Writer
                              */
-                            GetTotalCreditsInPlatformRequestV0.encodeDelimited = function encodeDelimited(message, writer) {
+                            GetContestedResourceIdentityVotesRequestV0.encodeDelimited = function encodeDelimited(message, writer) {
                                 return this.encode(message, writer).ldelim();
                             };
 
                             /**
-                             * Decodes a GetTotalCreditsInPlatformRequestV0 message from the specified reader or buffer.
+                             * Decodes a GetContestedResourceIdentityVotesRequestV0 message from the specified reader or buffer.
                              * @function decode
-                             * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0
                              * @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.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0} GetTotalCreditsInPlatformRequestV0
+                             * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0} GetContestedResourceIdentityVotesRequestV0
                              * @throws {Error} If the payload is not a reader or valid buffer
                              * @throws {$protobuf.util.ProtocolError} If required fields are missing
                              */
-                            GetTotalCreditsInPlatformRequestV0.decode = function decode(reader, length) {
+                            GetContestedResourceIdentityVotesRequestV0.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.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0();
+                                var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0();
                                 while (reader.pos < end) {
                                     var tag = reader.uint32();
                                     switch (tag >>> 3) {
                                     case 1:
+                                        message.identityId = 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.orderAscending = reader.bool();
+                                        break;
+                                    case 5:
+                                        message.startAtVotePollIdInfo = $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.decode(reader, reader.uint32());
+                                        break;
+                                    case 6:
                                         message.prove = reader.bool();
                                         break;
                                     default:
@@ -37803,110 +38414,394 @@ $root.org = (function() {
                             };
 
                             /**
-                             * Decodes a GetTotalCreditsInPlatformRequestV0 message from the specified reader or buffer, length delimited.
+                             * Decodes a GetContestedResourceIdentityVotesRequestV0 message from the specified reader or buffer, length delimited.
                              * @function decodeDelimited
-                             * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0
                              * @static
                              * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                             * @returns {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0} GetTotalCreditsInPlatformRequestV0
+                             * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0} GetContestedResourceIdentityVotesRequestV0
                              * @throws {Error} If the payload is not a reader or valid buffer
                              * @throws {$protobuf.util.ProtocolError} If required fields are missing
                              */
-                            GetTotalCreditsInPlatformRequestV0.decodeDelimited = function decodeDelimited(reader) {
+                            GetContestedResourceIdentityVotesRequestV0.decodeDelimited = function decodeDelimited(reader) {
                                 if (!(reader instanceof $Reader))
                                     reader = new $Reader(reader);
                                 return this.decode(reader, reader.uint32());
                             };
 
                             /**
-                             * Verifies a GetTotalCreditsInPlatformRequestV0 message.
+                             * Verifies a GetContestedResourceIdentityVotesRequestV0 message.
                              * @function verify
-                             * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0
                              * @static
                              * @param {Object.} message Plain object to verify
                              * @returns {string|null} `null` if valid, otherwise the reason why it is not
                              */
-                            GetTotalCreditsInPlatformRequestV0.verify = function verify(message) {
+                            GetContestedResourceIdentityVotesRequestV0.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 GetTotalCreditsInPlatformRequestV0 message from a plain object. Also converts values to their respective internal types.
-                             * @function fromObject
-                             * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0
-                             * @static
-                             * @param {Object.} object Plain object
-                             * @returns {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0} GetTotalCreditsInPlatformRequestV0
+                                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.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.orderAscending != null && message.hasOwnProperty("orderAscending"))
+                                    if (typeof message.orderAscending !== "boolean")
+                                        return "orderAscending: boolean expected";
+                                if (message.startAtVotePollIdInfo != null && message.hasOwnProperty("startAtVotePollIdInfo")) {
+                                    var error = $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.verify(message.startAtVotePollIdInfo);
+                                    if (error)
+                                        return "startAtVotePollIdInfo." + error;
+                                }
+                                if (message.prove != null && message.hasOwnProperty("prove"))
+                                    if (typeof message.prove !== "boolean")
+                                        return "prove: boolean expected";
+                                return null;
+                            };
+
+                            /**
+                             * Creates a GetContestedResourceIdentityVotesRequestV0 message from a plain object. Also converts values to their respective internal types.
+                             * @function fromObject
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0
+                             * @static
+                             * @param {Object.} object Plain object
+                             * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0} GetContestedResourceIdentityVotesRequestV0
                              */
-                            GetTotalCreditsInPlatformRequestV0.fromObject = function fromObject(object) {
-                                if (object instanceof $root.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0)
+                            GetContestedResourceIdentityVotesRequestV0.fromObject = function fromObject(object) {
+                                if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0)
                                     return object;
-                                var message = new $root.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0();
+                                var message = new $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0();
+                                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.limit != null) {
+                                    if (typeof object.limit !== "object")
+                                        throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.offset: object expected");
+                                    message.offset = $root.google.protobuf.UInt32Value.fromObject(object.offset);
+                                }
+                                if (object.orderAscending != null)
+                                    message.orderAscending = Boolean(object.orderAscending);
+                                if (object.startAtVotePollIdInfo != null) {
+                                    if (typeof object.startAtVotePollIdInfo !== "object")
+                                        throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.startAtVotePollIdInfo: object expected");
+                                    message.startAtVotePollIdInfo = $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.fromObject(object.startAtVotePollIdInfo);
+                                }
                                 if (object.prove != null)
                                     message.prove = Boolean(object.prove);
                                 return message;
                             };
 
                             /**
-                             * Creates a plain object from a GetTotalCreditsInPlatformRequestV0 message. Also converts values to other types if specified.
+                             * Creates a plain object from a GetContestedResourceIdentityVotesRequestV0 message. Also converts values to other types if specified.
                              * @function toObject
-                             * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0} message GetTotalCreditsInPlatformRequestV0
+                             * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0} message GetContestedResourceIdentityVotesRequestV0
                              * @param {$protobuf.IConversionOptions} [options] Conversion options
                              * @returns {Object.} Plain object
                              */
-                            GetTotalCreditsInPlatformRequestV0.toObject = function toObject(message, options) {
+                            GetContestedResourceIdentityVotesRequestV0.toObject = function toObject(message, options) {
                                 if (!options)
                                     options = {};
                                 var object = {};
-                                if (options.defaults)
+                                if (options.defaults) {
+                                    if (options.bytes === String)
+                                        object.identityId = "";
+                                    else {
+                                        object.identityId = [];
+                                        if (options.bytes !== Array)
+                                            object.identityId = $util.newBuffer(object.identityId);
+                                    }
+                                    object.limit = null;
+                                    object.offset = null;
+                                    object.orderAscending = false;
+                                    object.startAtVotePollIdInfo = null;
                                     object.prove = false;
+                                }
+                                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.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.orderAscending != null && message.hasOwnProperty("orderAscending"))
+                                    object.orderAscending = message.orderAscending;
+                                if (message.startAtVotePollIdInfo != null && message.hasOwnProperty("startAtVotePollIdInfo"))
+                                    object.startAtVotePollIdInfo = $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.toObject(message.startAtVotePollIdInfo, options);
                                 if (message.prove != null && message.hasOwnProperty("prove"))
                                     object.prove = message.prove;
                                 return object;
                             };
 
                             /**
-                             * Converts this GetTotalCreditsInPlatformRequestV0 to JSON.
+                             * Converts this GetContestedResourceIdentityVotesRequestV0 to JSON.
                              * @function toJSON
-                             * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0
                              * @instance
                              * @returns {Object.} JSON object
                              */
-                            GetTotalCreditsInPlatformRequestV0.prototype.toJSON = function toJSON() {
+                            GetContestedResourceIdentityVotesRequestV0.prototype.toJSON = function toJSON() {
                                 return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
                             };
 
-                            return GetTotalCreditsInPlatformRequestV0;
+                            GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo = (function() {
+
+                                /**
+                                 * Properties of a StartAtVotePollIdInfo.
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0
+                                 * @interface IStartAtVotePollIdInfo
+                                 * @property {Uint8Array|null} [startAtPollIdentifier] StartAtVotePollIdInfo startAtPollIdentifier
+                                 * @property {boolean|null} [startPollIdentifierIncluded] StartAtVotePollIdInfo startPollIdentifierIncluded
+                                 */
+
+                                /**
+                                 * Constructs a new StartAtVotePollIdInfo.
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0
+                                 * @classdesc Represents a StartAtVotePollIdInfo.
+                                 * @implements IStartAtVotePollIdInfo
+                                 * @constructor
+                                 * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.IStartAtVotePollIdInfo=} [properties] Properties to set
+                                 */
+                                function StartAtVotePollIdInfo(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]];
+                                }
+
+                                /**
+                                 * StartAtVotePollIdInfo startAtPollIdentifier.
+                                 * @member {Uint8Array} startAtPollIdentifier
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo
+                                 * @instance
+                                 */
+                                StartAtVotePollIdInfo.prototype.startAtPollIdentifier = $util.newBuffer([]);
+
+                                /**
+                                 * StartAtVotePollIdInfo startPollIdentifierIncluded.
+                                 * @member {boolean} startPollIdentifierIncluded
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo
+                                 * @instance
+                                 */
+                                StartAtVotePollIdInfo.prototype.startPollIdentifierIncluded = false;
+
+                                /**
+                                 * Creates a new StartAtVotePollIdInfo instance using the specified properties.
+                                 * @function create
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo
+                                 * @static
+                                 * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.IStartAtVotePollIdInfo=} [properties] Properties to set
+                                 * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo} StartAtVotePollIdInfo instance
+                                 */
+                                StartAtVotePollIdInfo.create = function create(properties) {
+                                    return new StartAtVotePollIdInfo(properties);
+                                };
+
+                                /**
+                                 * Encodes the specified StartAtVotePollIdInfo message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.verify|verify} messages.
+                                 * @function encode
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo
+                                 * @static
+                                 * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.IStartAtVotePollIdInfo} message StartAtVotePollIdInfo message or plain object to encode
+                                 * @param {$protobuf.Writer} [writer] Writer to encode to
+                                 * @returns {$protobuf.Writer} Writer
+                                 */
+                                StartAtVotePollIdInfo.encode = function encode(message, writer) {
+                                    if (!writer)
+                                        writer = $Writer.create();
+                                    if (message.startAtPollIdentifier != null && Object.hasOwnProperty.call(message, "startAtPollIdentifier"))
+                                        writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.startAtPollIdentifier);
+                                    if (message.startPollIdentifierIncluded != null && Object.hasOwnProperty.call(message, "startPollIdentifierIncluded"))
+                                        writer.uint32(/* id 2, wireType 0 =*/16).bool(message.startPollIdentifierIncluded);
+                                    return writer;
+                                };
+
+                                /**
+                                 * Encodes the specified StartAtVotePollIdInfo message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.verify|verify} messages.
+                                 * @function encodeDelimited
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo
+                                 * @static
+                                 * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.IStartAtVotePollIdInfo} message StartAtVotePollIdInfo message or plain object to encode
+                                 * @param {$protobuf.Writer} [writer] Writer to encode to
+                                 * @returns {$protobuf.Writer} Writer
+                                 */
+                                StartAtVotePollIdInfo.encodeDelimited = function encodeDelimited(message, writer) {
+                                    return this.encode(message, writer).ldelim();
+                                };
+
+                                /**
+                                 * Decodes a StartAtVotePollIdInfo message from the specified reader or buffer.
+                                 * @function decode
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo
+                                 * @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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo} StartAtVotePollIdInfo
+                                 * @throws {Error} If the payload is not a reader or valid buffer
+                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
+                                 */
+                                StartAtVotePollIdInfo.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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo();
+                                    while (reader.pos < end) {
+                                        var tag = reader.uint32();
+                                        switch (tag >>> 3) {
+                                        case 1:
+                                            message.startAtPollIdentifier = reader.bytes();
+                                            break;
+                                        case 2:
+                                            message.startPollIdentifierIncluded = reader.bool();
+                                            break;
+                                        default:
+                                            reader.skipType(tag & 7);
+                                            break;
+                                        }
+                                    }
+                                    return message;
+                                };
+
+                                /**
+                                 * Decodes a StartAtVotePollIdInfo message from the specified reader or buffer, length delimited.
+                                 * @function decodeDelimited
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo
+                                 * @static
+                                 * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+                                 * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo} StartAtVotePollIdInfo
+                                 * @throws {Error} If the payload is not a reader or valid buffer
+                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
+                                 */
+                                StartAtVotePollIdInfo.decodeDelimited = function decodeDelimited(reader) {
+                                    if (!(reader instanceof $Reader))
+                                        reader = new $Reader(reader);
+                                    return this.decode(reader, reader.uint32());
+                                };
+
+                                /**
+                                 * Verifies a StartAtVotePollIdInfo message.
+                                 * @function verify
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo
+                                 * @static
+                                 * @param {Object.} message Plain object to verify
+                                 * @returns {string|null} `null` if valid, otherwise the reason why it is not
+                                 */
+                                StartAtVotePollIdInfo.verify = function verify(message) {
+                                    if (typeof message !== "object" || message === null)
+                                        return "object expected";
+                                    if (message.startAtPollIdentifier != null && message.hasOwnProperty("startAtPollIdentifier"))
+                                        if (!(message.startAtPollIdentifier && typeof message.startAtPollIdentifier.length === "number" || $util.isString(message.startAtPollIdentifier)))
+                                            return "startAtPollIdentifier: buffer expected";
+                                    if (message.startPollIdentifierIncluded != null && message.hasOwnProperty("startPollIdentifierIncluded"))
+                                        if (typeof message.startPollIdentifierIncluded !== "boolean")
+                                            return "startPollIdentifierIncluded: boolean expected";
+                                    return null;
+                                };
+
+                                /**
+                                 * Creates a StartAtVotePollIdInfo message from a plain object. Also converts values to their respective internal types.
+                                 * @function fromObject
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo
+                                 * @static
+                                 * @param {Object.} object Plain object
+                                 * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo} StartAtVotePollIdInfo
+                                 */
+                                StartAtVotePollIdInfo.fromObject = function fromObject(object) {
+                                    if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo)
+                                        return object;
+                                    var message = new $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo();
+                                    if (object.startAtPollIdentifier != null)
+                                        if (typeof object.startAtPollIdentifier === "string")
+                                            $util.base64.decode(object.startAtPollIdentifier, message.startAtPollIdentifier = $util.newBuffer($util.base64.length(object.startAtPollIdentifier)), 0);
+                                        else if (object.startAtPollIdentifier.length >= 0)
+                                            message.startAtPollIdentifier = object.startAtPollIdentifier;
+                                    if (object.startPollIdentifierIncluded != null)
+                                        message.startPollIdentifierIncluded = Boolean(object.startPollIdentifierIncluded);
+                                    return message;
+                                };
+
+                                /**
+                                 * Creates a plain object from a StartAtVotePollIdInfo message. Also converts values to other types if specified.
+                                 * @function toObject
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo
+                                 * @static
+                                 * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo} message StartAtVotePollIdInfo
+                                 * @param {$protobuf.IConversionOptions} [options] Conversion options
+                                 * @returns {Object.} Plain object
+                                 */
+                                StartAtVotePollIdInfo.toObject = function toObject(message, options) {
+                                    if (!options)
+                                        options = {};
+                                    var object = {};
+                                    if (options.defaults) {
+                                        if (options.bytes === String)
+                                            object.startAtPollIdentifier = "";
+                                        else {
+                                            object.startAtPollIdentifier = [];
+                                            if (options.bytes !== Array)
+                                                object.startAtPollIdentifier = $util.newBuffer(object.startAtPollIdentifier);
+                                        }
+                                        object.startPollIdentifierIncluded = false;
+                                    }
+                                    if (message.startAtPollIdentifier != null && message.hasOwnProperty("startAtPollIdentifier"))
+                                        object.startAtPollIdentifier = options.bytes === String ? $util.base64.encode(message.startAtPollIdentifier, 0, message.startAtPollIdentifier.length) : options.bytes === Array ? Array.prototype.slice.call(message.startAtPollIdentifier) : message.startAtPollIdentifier;
+                                    if (message.startPollIdentifierIncluded != null && message.hasOwnProperty("startPollIdentifierIncluded"))
+                                        object.startPollIdentifierIncluded = message.startPollIdentifierIncluded;
+                                    return object;
+                                };
+
+                                /**
+                                 * Converts this StartAtVotePollIdInfo to JSON.
+                                 * @function toJSON
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo
+                                 * @instance
+                                 * @returns {Object.} JSON object
+                                 */
+                                StartAtVotePollIdInfo.prototype.toJSON = function toJSON() {
+                                    return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+                                };
+
+                                return StartAtVotePollIdInfo;
+                            })();
+
+                            return GetContestedResourceIdentityVotesRequestV0;
                         })();
 
-                        return GetTotalCreditsInPlatformRequest;
+                        return GetContestedResourceIdentityVotesRequest;
                     })();
 
-                    v0.GetTotalCreditsInPlatformResponse = (function() {
+                    v0.GetContestedResourceIdentityVotesResponse = (function() {
 
                         /**
-                         * Properties of a GetTotalCreditsInPlatformResponse.
+                         * Properties of a GetContestedResourceIdentityVotesResponse.
                          * @memberof org.dash.platform.dapi.v0
-                         * @interface IGetTotalCreditsInPlatformResponse
-                         * @property {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.IGetTotalCreditsInPlatformResponseV0|null} [v0] GetTotalCreditsInPlatformResponse v0
+                         * @interface IGetContestedResourceIdentityVotesResponse
+                         * @property {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.IGetContestedResourceIdentityVotesResponseV0|null} [v0] GetContestedResourceIdentityVotesResponse v0
                          */
 
                         /**
-                         * Constructs a new GetTotalCreditsInPlatformResponse.
+                         * Constructs a new GetContestedResourceIdentityVotesResponse.
                          * @memberof org.dash.platform.dapi.v0
-                         * @classdesc Represents a GetTotalCreditsInPlatformResponse.
-                         * @implements IGetTotalCreditsInPlatformResponse
+                         * @classdesc Represents a GetContestedResourceIdentityVotesResponse.
+                         * @implements IGetContestedResourceIdentityVotesResponse
                          * @constructor
-                         * @param {org.dash.platform.dapi.v0.IGetTotalCreditsInPlatformResponse=} [properties] Properties to set
+                         * @param {org.dash.platform.dapi.v0.IGetContestedResourceIdentityVotesResponse=} [properties] Properties to set
                          */
-                        function GetTotalCreditsInPlatformResponse(properties) {
+                        function GetContestedResourceIdentityVotesResponse(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
                                     if (properties[keys[i]] != null)
@@ -37914,89 +38809,89 @@ $root.org = (function() {
                         }
 
                         /**
-                         * GetTotalCreditsInPlatformResponse v0.
-                         * @member {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.IGetTotalCreditsInPlatformResponseV0|null|undefined} v0
-                         * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse
+                         * GetContestedResourceIdentityVotesResponse v0.
+                         * @member {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.IGetContestedResourceIdentityVotesResponseV0|null|undefined} v0
+                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse
                          * @instance
                          */
-                        GetTotalCreditsInPlatformResponse.prototype.v0 = null;
+                        GetContestedResourceIdentityVotesResponse.prototype.v0 = null;
 
                         // OneOf field names bound to virtual getters and setters
                         var $oneOfFields;
 
                         /**
-                         * GetTotalCreditsInPlatformResponse version.
+                         * GetContestedResourceIdentityVotesResponse version.
                          * @member {"v0"|undefined} version
-                         * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse
+                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse
                          * @instance
                          */
-                        Object.defineProperty(GetTotalCreditsInPlatformResponse.prototype, "version", {
+                        Object.defineProperty(GetContestedResourceIdentityVotesResponse.prototype, "version", {
                             get: $util.oneOfGetter($oneOfFields = ["v0"]),
                             set: $util.oneOfSetter($oneOfFields)
                         });
 
                         /**
-                         * Creates a new GetTotalCreditsInPlatformResponse instance using the specified properties.
+                         * Creates a new GetContestedResourceIdentityVotesResponse instance using the specified properties.
                          * @function create
-                         * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse
+                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse
                          * @static
-                         * @param {org.dash.platform.dapi.v0.IGetTotalCreditsInPlatformResponse=} [properties] Properties to set
-                         * @returns {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse} GetTotalCreditsInPlatformResponse instance
+                         * @param {org.dash.platform.dapi.v0.IGetContestedResourceIdentityVotesResponse=} [properties] Properties to set
+                         * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse} GetContestedResourceIdentityVotesResponse instance
                          */
-                        GetTotalCreditsInPlatformResponse.create = function create(properties) {
-                            return new GetTotalCreditsInPlatformResponse(properties);
+                        GetContestedResourceIdentityVotesResponse.create = function create(properties) {
+                            return new GetContestedResourceIdentityVotesResponse(properties);
                         };
 
                         /**
-                         * Encodes the specified GetTotalCreditsInPlatformResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.verify|verify} messages.
+                         * Encodes the specified GetContestedResourceIdentityVotesResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.verify|verify} messages.
                          * @function encode
-                         * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse
+                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse
                          * @static
-                         * @param {org.dash.platform.dapi.v0.IGetTotalCreditsInPlatformResponse} message GetTotalCreditsInPlatformResponse message or plain object to encode
+                         * @param {org.dash.platform.dapi.v0.IGetContestedResourceIdentityVotesResponse} message GetContestedResourceIdentityVotesResponse message or plain object to encode
                          * @param {$protobuf.Writer} [writer] Writer to encode to
                          * @returns {$protobuf.Writer} Writer
                          */
-                        GetTotalCreditsInPlatformResponse.encode = function encode(message, writer) {
+                        GetContestedResourceIdentityVotesResponse.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.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+                                $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
                             return writer;
                         };
 
                         /**
-                         * Encodes the specified GetTotalCreditsInPlatformResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.verify|verify} messages.
+                         * Encodes the specified GetContestedResourceIdentityVotesResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.verify|verify} messages.
                          * @function encodeDelimited
-                         * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse
+                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse
                          * @static
-                         * @param {org.dash.platform.dapi.v0.IGetTotalCreditsInPlatformResponse} message GetTotalCreditsInPlatformResponse message or plain object to encode
+                         * @param {org.dash.platform.dapi.v0.IGetContestedResourceIdentityVotesResponse} message GetContestedResourceIdentityVotesResponse message or plain object to encode
                          * @param {$protobuf.Writer} [writer] Writer to encode to
                          * @returns {$protobuf.Writer} Writer
                          */
-                        GetTotalCreditsInPlatformResponse.encodeDelimited = function encodeDelimited(message, writer) {
+                        GetContestedResourceIdentityVotesResponse.encodeDelimited = function encodeDelimited(message, writer) {
                             return this.encode(message, writer).ldelim();
                         };
 
                         /**
-                         * Decodes a GetTotalCreditsInPlatformResponse message from the specified reader or buffer.
+                         * Decodes a GetContestedResourceIdentityVotesResponse message from the specified reader or buffer.
                          * @function decode
-                         * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse
+                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse
                          * @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.GetTotalCreditsInPlatformResponse} GetTotalCreditsInPlatformResponse
+                         * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse} GetContestedResourceIdentityVotesResponse
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        GetTotalCreditsInPlatformResponse.decode = function decode(reader, length) {
+                        GetContestedResourceIdentityVotesResponse.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.GetTotalCreditsInPlatformResponse();
+                            var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
                                 switch (tag >>> 3) {
                                 case 1:
-                                    message.v0 = $root.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.decode(reader, reader.uint32());
+                                    message.v0 = $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.decode(reader, reader.uint32());
                                     break;
                                 default:
                                     reader.skipType(tag & 7);
@@ -38007,37 +38902,37 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Decodes a GetTotalCreditsInPlatformResponse message from the specified reader or buffer, length delimited.
+                         * Decodes a GetContestedResourceIdentityVotesResponse message from the specified reader or buffer, length delimited.
                          * @function decodeDelimited
-                         * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse
+                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse
                          * @static
                          * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                         * @returns {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse} GetTotalCreditsInPlatformResponse
+                         * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse} GetContestedResourceIdentityVotesResponse
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        GetTotalCreditsInPlatformResponse.decodeDelimited = function decodeDelimited(reader) {
+                        GetContestedResourceIdentityVotesResponse.decodeDelimited = function decodeDelimited(reader) {
                             if (!(reader instanceof $Reader))
                                 reader = new $Reader(reader);
                             return this.decode(reader, reader.uint32());
                         };
 
                         /**
-                         * Verifies a GetTotalCreditsInPlatformResponse message.
+                         * Verifies a GetContestedResourceIdentityVotesResponse message.
                          * @function verify
-                         * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse
+                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse
                          * @static
                          * @param {Object.} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        GetTotalCreditsInPlatformResponse.verify = function verify(message) {
+                        GetContestedResourceIdentityVotesResponse.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.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.verify(message.v0);
+                                    var error = $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.verify(message.v0);
                                     if (error)
                                         return "v0." + error;
                                 }
@@ -38046,40 +38941,40 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Creates a GetTotalCreditsInPlatformResponse message from a plain object. Also converts values to their respective internal types.
+                         * Creates a GetContestedResourceIdentityVotesResponse message from a plain object. Also converts values to their respective internal types.
                          * @function fromObject
-                         * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse
+                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse
                          * @static
                          * @param {Object.} object Plain object
-                         * @returns {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse} GetTotalCreditsInPlatformResponse
+                         * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse} GetContestedResourceIdentityVotesResponse
                          */
-                        GetTotalCreditsInPlatformResponse.fromObject = function fromObject(object) {
-                            if (object instanceof $root.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse)
+                        GetContestedResourceIdentityVotesResponse.fromObject = function fromObject(object) {
+                            if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse)
                                 return object;
-                            var message = new $root.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse();
+                            var message = new $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse();
                             if (object.v0 != null) {
                                 if (typeof object.v0 !== "object")
-                                    throw TypeError(".org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.v0: object expected");
-                                message.v0 = $root.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.fromObject(object.v0);
+                                    throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.v0: object expected");
+                                message.v0 = $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.fromObject(object.v0);
                             }
                             return message;
                         };
 
                         /**
-                         * Creates a plain object from a GetTotalCreditsInPlatformResponse message. Also converts values to other types if specified.
+                         * Creates a plain object from a GetContestedResourceIdentityVotesResponse message. Also converts values to other types if specified.
                          * @function toObject
-                         * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse
+                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse
                          * @static
-                         * @param {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse} message GetTotalCreditsInPlatformResponse
+                         * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse} message GetContestedResourceIdentityVotesResponse
                          * @param {$protobuf.IConversionOptions} [options] Conversion options
                          * @returns {Object.} Plain object
                          */
-                        GetTotalCreditsInPlatformResponse.toObject = function toObject(message, options) {
+                        GetContestedResourceIdentityVotesResponse.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.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.toObject(message.v0, options);
+                                object.v0 = $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.toObject(message.v0, options);
                                 if (options.oneofs)
                                     object.version = "v0";
                             }
@@ -38087,36 +38982,36 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Converts this GetTotalCreditsInPlatformResponse to JSON.
+                         * Converts this GetContestedResourceIdentityVotesResponse to JSON.
                          * @function toJSON
-                         * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse
+                         * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse
                          * @instance
                          * @returns {Object.} JSON object
                          */
-                        GetTotalCreditsInPlatformResponse.prototype.toJSON = function toJSON() {
+                        GetContestedResourceIdentityVotesResponse.prototype.toJSON = function toJSON() {
                             return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
                         };
 
-                        GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0 = (function() {
+                        GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0 = (function() {
 
                             /**
-                             * Properties of a GetTotalCreditsInPlatformResponseV0.
-                             * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse
-                             * @interface IGetTotalCreditsInPlatformResponseV0
-                             * @property {number|Long|null} [credits] GetTotalCreditsInPlatformResponseV0 credits
-                             * @property {org.dash.platform.dapi.v0.IProof|null} [proof] GetTotalCreditsInPlatformResponseV0 proof
-                             * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetTotalCreditsInPlatformResponseV0 metadata
+                             * Properties of a GetContestedResourceIdentityVotesResponseV0.
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse
+                             * @interface IGetContestedResourceIdentityVotesResponseV0
+                             * @property {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.IContestedResourceIdentityVotes|null} [votes] GetContestedResourceIdentityVotesResponseV0 votes
+                             * @property {org.dash.platform.dapi.v0.IProof|null} [proof] GetContestedResourceIdentityVotesResponseV0 proof
+                             * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetContestedResourceIdentityVotesResponseV0 metadata
                              */
 
                             /**
-                             * Constructs a new GetTotalCreditsInPlatformResponseV0.
-                             * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse
-                             * @classdesc Represents a GetTotalCreditsInPlatformResponseV0.
-                             * @implements IGetTotalCreditsInPlatformResponseV0
+                             * Constructs a new GetContestedResourceIdentityVotesResponseV0.
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse
+                             * @classdesc Represents a GetContestedResourceIdentityVotesResponseV0.
+                             * @implements IGetContestedResourceIdentityVotesResponseV0
                              * @constructor
-                             * @param {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.IGetTotalCreditsInPlatformResponseV0=} [properties] Properties to set
+                             * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.IGetContestedResourceIdentityVotesResponseV0=} [properties] Properties to set
                              */
-                            function GetTotalCreditsInPlatformResponseV0(properties) {
+                            function GetContestedResourceIdentityVotesResponseV0(properties) {
                                 if (properties)
                                     for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
                                         if (properties[keys[i]] != null)
@@ -38124,69 +39019,69 @@ $root.org = (function() {
                             }
 
                             /**
-                             * GetTotalCreditsInPlatformResponseV0 credits.
-                             * @member {number|Long} credits
-                             * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0
+                             * GetContestedResourceIdentityVotesResponseV0 votes.
+                             * @member {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.IContestedResourceIdentityVotes|null|undefined} votes
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0
                              * @instance
                              */
-                            GetTotalCreditsInPlatformResponseV0.prototype.credits = $util.Long ? $util.Long.fromBits(0,0,true) : 0;
+                            GetContestedResourceIdentityVotesResponseV0.prototype.votes = null;
 
                             /**
-                             * GetTotalCreditsInPlatformResponseV0 proof.
+                             * GetContestedResourceIdentityVotesResponseV0 proof.
                              * @member {org.dash.platform.dapi.v0.IProof|null|undefined} proof
-                             * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0
                              * @instance
                              */
-                            GetTotalCreditsInPlatformResponseV0.prototype.proof = null;
+                            GetContestedResourceIdentityVotesResponseV0.prototype.proof = null;
 
                             /**
-                             * GetTotalCreditsInPlatformResponseV0 metadata.
+                             * GetContestedResourceIdentityVotesResponseV0 metadata.
                              * @member {org.dash.platform.dapi.v0.IResponseMetadata|null|undefined} metadata
-                             * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0
                              * @instance
                              */
-                            GetTotalCreditsInPlatformResponseV0.prototype.metadata = null;
+                            GetContestedResourceIdentityVotesResponseV0.prototype.metadata = null;
 
                             // OneOf field names bound to virtual getters and setters
                             var $oneOfFields;
 
                             /**
-                             * GetTotalCreditsInPlatformResponseV0 result.
-                             * @member {"credits"|"proof"|undefined} result
-                             * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0
+                             * GetContestedResourceIdentityVotesResponseV0 result.
+                             * @member {"votes"|"proof"|undefined} result
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0
                              * @instance
                              */
-                            Object.defineProperty(GetTotalCreditsInPlatformResponseV0.prototype, "result", {
-                                get: $util.oneOfGetter($oneOfFields = ["credits", "proof"]),
+                            Object.defineProperty(GetContestedResourceIdentityVotesResponseV0.prototype, "result", {
+                                get: $util.oneOfGetter($oneOfFields = ["votes", "proof"]),
                                 set: $util.oneOfSetter($oneOfFields)
                             });
 
                             /**
-                             * Creates a new GetTotalCreditsInPlatformResponseV0 instance using the specified properties.
+                             * Creates a new GetContestedResourceIdentityVotesResponseV0 instance using the specified properties.
                              * @function create
-                             * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.IGetTotalCreditsInPlatformResponseV0=} [properties] Properties to set
-                             * @returns {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0} GetTotalCreditsInPlatformResponseV0 instance
+                             * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.IGetContestedResourceIdentityVotesResponseV0=} [properties] Properties to set
+                             * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0} GetContestedResourceIdentityVotesResponseV0 instance
                              */
-                            GetTotalCreditsInPlatformResponseV0.create = function create(properties) {
-                                return new GetTotalCreditsInPlatformResponseV0(properties);
-                            };
+                            GetContestedResourceIdentityVotesResponseV0.create = function create(properties) {
+                                return new GetContestedResourceIdentityVotesResponseV0(properties);
+                            };
 
                             /**
-                             * Encodes the specified GetTotalCreditsInPlatformResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.verify|verify} messages.
+                             * Encodes the specified GetContestedResourceIdentityVotesResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.verify|verify} messages.
                              * @function encode
-                             * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.IGetTotalCreditsInPlatformResponseV0} message GetTotalCreditsInPlatformResponseV0 message or plain object to encode
+                             * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.IGetContestedResourceIdentityVotesResponseV0} message GetContestedResourceIdentityVotesResponseV0 message or plain object to encode
                              * @param {$protobuf.Writer} [writer] Writer to encode to
                              * @returns {$protobuf.Writer} Writer
                              */
-                            GetTotalCreditsInPlatformResponseV0.encode = function encode(message, writer) {
+                            GetContestedResourceIdentityVotesResponseV0.encode = function encode(message, writer) {
                                 if (!writer)
                                     writer = $Writer.create();
-                                if (message.credits != null && Object.hasOwnProperty.call(message, "credits"))
-                                    writer.uint32(/* id 1, wireType 0 =*/8).uint64(message.credits);
+                                if (message.votes != null && Object.hasOwnProperty.call(message, "votes"))
+                                    $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.encode(message.votes, 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"))
@@ -38195,38 +39090,38 @@ $root.org = (function() {
                             };
 
                             /**
-                             * Encodes the specified GetTotalCreditsInPlatformResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.verify|verify} messages.
+                             * Encodes the specified GetContestedResourceIdentityVotesResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.verify|verify} messages.
                              * @function encodeDelimited
-                             * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.IGetTotalCreditsInPlatformResponseV0} message GetTotalCreditsInPlatformResponseV0 message or plain object to encode
+                             * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.IGetContestedResourceIdentityVotesResponseV0} message GetContestedResourceIdentityVotesResponseV0 message or plain object to encode
                              * @param {$protobuf.Writer} [writer] Writer to encode to
                              * @returns {$protobuf.Writer} Writer
                              */
-                            GetTotalCreditsInPlatformResponseV0.encodeDelimited = function encodeDelimited(message, writer) {
+                            GetContestedResourceIdentityVotesResponseV0.encodeDelimited = function encodeDelimited(message, writer) {
                                 return this.encode(message, writer).ldelim();
                             };
 
                             /**
-                             * Decodes a GetTotalCreditsInPlatformResponseV0 message from the specified reader or buffer.
+                             * Decodes a GetContestedResourceIdentityVotesResponseV0 message from the specified reader or buffer.
                              * @function decode
-                             * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0
                              * @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.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0} GetTotalCreditsInPlatformResponseV0
+                             * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0} GetContestedResourceIdentityVotesResponseV0
                              * @throws {Error} If the payload is not a reader or valid buffer
                              * @throws {$protobuf.util.ProtocolError} If required fields are missing
                              */
-                            GetTotalCreditsInPlatformResponseV0.decode = function decode(reader, length) {
+                            GetContestedResourceIdentityVotesResponseV0.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.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0();
+                                var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0();
                                 while (reader.pos < end) {
                                     var tag = reader.uint32();
                                     switch (tag >>> 3) {
                                     case 1:
-                                        message.credits = reader.uint64();
+                                        message.votes = $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.decode(reader, reader.uint32());
                                         break;
                                     case 2:
                                         message.proof = $root.org.dash.platform.dapi.v0.Proof.decode(reader, reader.uint32());
@@ -38243,37 +39138,40 @@ $root.org = (function() {
                             };
 
                             /**
-                             * Decodes a GetTotalCreditsInPlatformResponseV0 message from the specified reader or buffer, length delimited.
+                             * Decodes a GetContestedResourceIdentityVotesResponseV0 message from the specified reader or buffer, length delimited.
                              * @function decodeDelimited
-                             * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0
                              * @static
                              * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                             * @returns {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0} GetTotalCreditsInPlatformResponseV0
+                             * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0} GetContestedResourceIdentityVotesResponseV0
                              * @throws {Error} If the payload is not a reader or valid buffer
                              * @throws {$protobuf.util.ProtocolError} If required fields are missing
                              */
-                            GetTotalCreditsInPlatformResponseV0.decodeDelimited = function decodeDelimited(reader) {
+                            GetContestedResourceIdentityVotesResponseV0.decodeDelimited = function decodeDelimited(reader) {
                                 if (!(reader instanceof $Reader))
                                     reader = new $Reader(reader);
                                 return this.decode(reader, reader.uint32());
                             };
 
                             /**
-                             * Verifies a GetTotalCreditsInPlatformResponseV0 message.
+                             * Verifies a GetContestedResourceIdentityVotesResponseV0 message.
                              * @function verify
-                             * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0
                              * @static
                              * @param {Object.} message Plain object to verify
                              * @returns {string|null} `null` if valid, otherwise the reason why it is not
                              */
-                            GetTotalCreditsInPlatformResponseV0.verify = function verify(message) {
+                            GetContestedResourceIdentityVotesResponseV0.verify = function verify(message) {
                                 if (typeof message !== "object" || message === null)
                                     return "object expected";
                                 var properties = {};
-                                if (message.credits != null && message.hasOwnProperty("credits")) {
+                                if (message.votes != null && message.hasOwnProperty("votes")) {
                                     properties.result = 1;
-                                    if (!$util.isInteger(message.credits) && !(message.credits && $util.isInteger(message.credits.low) && $util.isInteger(message.credits.high)))
-                                        return "credits: integer|Long expected";
+                                    {
+                                        var error = $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.verify(message.votes);
+                                        if (error)
+                                            return "votes." + error;
+                                    }
                                 }
                                 if (message.proof != null && message.hasOwnProperty("proof")) {
                                     if (properties.result === 1)
@@ -38294,61 +39192,54 @@ $root.org = (function() {
                             };
 
                             /**
-                             * Creates a GetTotalCreditsInPlatformResponseV0 message from a plain object. Also converts values to their respective internal types.
+                             * Creates a GetContestedResourceIdentityVotesResponseV0 message from a plain object. Also converts values to their respective internal types.
                              * @function fromObject
-                             * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0
                              * @static
                              * @param {Object.} object Plain object
-                             * @returns {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0} GetTotalCreditsInPlatformResponseV0
+                             * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0} GetContestedResourceIdentityVotesResponseV0
                              */
-                            GetTotalCreditsInPlatformResponseV0.fromObject = function fromObject(object) {
-                                if (object instanceof $root.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0)
+                            GetContestedResourceIdentityVotesResponseV0.fromObject = function fromObject(object) {
+                                if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0)
                                     return object;
-                                var message = new $root.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0();
-                                if (object.credits != null)
-                                    if ($util.Long)
-                                        (message.credits = $util.Long.fromValue(object.credits)).unsigned = true;
-                                    else if (typeof object.credits === "string")
-                                        message.credits = parseInt(object.credits, 10);
-                                    else if (typeof object.credits === "number")
-                                        message.credits = object.credits;
-                                    else if (typeof object.credits === "object")
-                                        message.credits = new $util.LongBits(object.credits.low >>> 0, object.credits.high >>> 0).toNumber(true);
+                                var message = new $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0();
+                                if (object.votes != null) {
+                                    if (typeof object.votes !== "object")
+                                        throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.votes: object expected");
+                                    message.votes = $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.fromObject(object.votes);
+                                }
                                 if (object.proof != null) {
                                     if (typeof object.proof !== "object")
-                                        throw TypeError(".org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.proof: object expected");
+                                        throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.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.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.metadata: object expected");
+                                        throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.metadata: object expected");
                                     message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.fromObject(object.metadata);
                                 }
                                 return message;
                             };
 
                             /**
-                             * Creates a plain object from a GetTotalCreditsInPlatformResponseV0 message. Also converts values to other types if specified.
+                             * Creates a plain object from a GetContestedResourceIdentityVotesResponseV0 message. Also converts values to other types if specified.
                              * @function toObject
-                             * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0} message GetTotalCreditsInPlatformResponseV0
+                             * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0} message GetContestedResourceIdentityVotesResponseV0
                              * @param {$protobuf.IConversionOptions} [options] Conversion options
                              * @returns {Object.} Plain object
                              */
-                            GetTotalCreditsInPlatformResponseV0.toObject = function toObject(message, options) {
+                            GetContestedResourceIdentityVotesResponseV0.toObject = function toObject(message, options) {
                                 if (!options)
                                     options = {};
                                 var object = {};
                                 if (options.defaults)
                                     object.metadata = null;
-                                if (message.credits != null && message.hasOwnProperty("credits")) {
-                                    if (typeof message.credits === "number")
-                                        object.credits = options.longs === String ? String(message.credits) : message.credits;
-                                    else
-                                        object.credits = options.longs === String ? $util.Long.prototype.toString.call(message.credits) : options.longs === Number ? new $util.LongBits(message.credits.low >>> 0, message.credits.high >>> 0).toNumber(true) : message.credits;
+                                if (message.votes != null && message.hasOwnProperty("votes")) {
+                                    object.votes = $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.toObject(message.votes, options);
                                     if (options.oneofs)
-                                        object.result = "credits";
+                                        object.result = "votes";
                                 }
                                 if (message.proof != null && message.hasOwnProperty("proof")) {
                                     object.proof = $root.org.dash.platform.dapi.v0.Proof.toObject(message.proof, options);
@@ -38361,522 +39252,812 @@ $root.org = (function() {
                             };
 
                             /**
-                             * Converts this GetTotalCreditsInPlatformResponseV0 to JSON.
+                             * Converts this GetContestedResourceIdentityVotesResponseV0 to JSON.
                              * @function toJSON
-                             * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0
                              * @instance
                              * @returns {Object.} JSON object
                              */
-                            GetTotalCreditsInPlatformResponseV0.prototype.toJSON = function toJSON() {
+                            GetContestedResourceIdentityVotesResponseV0.prototype.toJSON = function toJSON() {
                                 return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
                             };
 
-                            return GetTotalCreditsInPlatformResponseV0;
-                        })();
+                            GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes = (function() {
 
-                        return GetTotalCreditsInPlatformResponse;
-                    })();
+                                /**
+                                 * Properties of a ContestedResourceIdentityVotes.
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0
+                                 * @interface IContestedResourceIdentityVotes
+                                 * @property {Array.|null} [contestedResourceIdentityVotes] ContestedResourceIdentityVotes contestedResourceIdentityVotes
+                                 * @property {boolean|null} [finishedResults] ContestedResourceIdentityVotes finishedResults
+                                 */
 
-                    v0.GetPathElementsRequest = (function() {
+                                /**
+                                 * Constructs a new ContestedResourceIdentityVotes.
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0
+                                 * @classdesc Represents a ContestedResourceIdentityVotes.
+                                 * @implements IContestedResourceIdentityVotes
+                                 * @constructor
+                                 * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.IContestedResourceIdentityVotes=} [properties] Properties to set
+                                 */
+                                function ContestedResourceIdentityVotes(properties) {
+                                    this.contestedResourceIdentityVotes = [];
+                                    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]];
+                                }
 
-                        /**
-                         * Properties of a GetPathElementsRequest.
-                         * @memberof org.dash.platform.dapi.v0
-                         * @interface IGetPathElementsRequest
-                         * @property {org.dash.platform.dapi.v0.GetPathElementsRequest.IGetPathElementsRequestV0|null} [v0] GetPathElementsRequest v0
-                         */
+                                /**
+                                 * ContestedResourceIdentityVotes contestedResourceIdentityVotes.
+                                 * @member {Array.} contestedResourceIdentityVotes
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes
+                                 * @instance
+                                 */
+                                ContestedResourceIdentityVotes.prototype.contestedResourceIdentityVotes = $util.emptyArray;
 
-                        /**
-                         * Constructs a new GetPathElementsRequest.
-                         * @memberof org.dash.platform.dapi.v0
-                         * @classdesc Represents a GetPathElementsRequest.
-                         * @implements IGetPathElementsRequest
-                         * @constructor
-                         * @param {org.dash.platform.dapi.v0.IGetPathElementsRequest=} [properties] Properties to set
-                         */
-                        function GetPathElementsRequest(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]];
-                        }
+                                /**
+                                 * ContestedResourceIdentityVotes finishedResults.
+                                 * @member {boolean} finishedResults
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes
+                                 * @instance
+                                 */
+                                ContestedResourceIdentityVotes.prototype.finishedResults = false;
 
-                        /**
-                         * GetPathElementsRequest v0.
-                         * @member {org.dash.platform.dapi.v0.GetPathElementsRequest.IGetPathElementsRequestV0|null|undefined} v0
-                         * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest
-                         * @instance
-                         */
-                        GetPathElementsRequest.prototype.v0 = null;
+                                /**
+                                 * Creates a new ContestedResourceIdentityVotes instance using the specified properties.
+                                 * @function create
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes
+                                 * @static
+                                 * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.IContestedResourceIdentityVotes=} [properties] Properties to set
+                                 * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes} ContestedResourceIdentityVotes instance
+                                 */
+                                ContestedResourceIdentityVotes.create = function create(properties) {
+                                    return new ContestedResourceIdentityVotes(properties);
+                                };
 
-                        // OneOf field names bound to virtual getters and setters
-                        var $oneOfFields;
+                                /**
+                                 * Encodes the specified ContestedResourceIdentityVotes message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.verify|verify} messages.
+                                 * @function encode
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes
+                                 * @static
+                                 * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.IContestedResourceIdentityVotes} message ContestedResourceIdentityVotes message or plain object to encode
+                                 * @param {$protobuf.Writer} [writer] Writer to encode to
+                                 * @returns {$protobuf.Writer} Writer
+                                 */
+                                ContestedResourceIdentityVotes.encode = function encode(message, writer) {
+                                    if (!writer)
+                                        writer = $Writer.create();
+                                    if (message.contestedResourceIdentityVotes != null && message.contestedResourceIdentityVotes.length)
+                                        for (var i = 0; i < message.contestedResourceIdentityVotes.length; ++i)
+                                            $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.encode(message.contestedResourceIdentityVotes[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+                                    if (message.finishedResults != null && Object.hasOwnProperty.call(message, "finishedResults"))
+                                        writer.uint32(/* id 2, wireType 0 =*/16).bool(message.finishedResults);
+                                    return writer;
+                                };
 
-                        /**
-                         * GetPathElementsRequest version.
-                         * @member {"v0"|undefined} version
-                         * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest
-                         * @instance
-                         */
-                        Object.defineProperty(GetPathElementsRequest.prototype, "version", {
-                            get: $util.oneOfGetter($oneOfFields = ["v0"]),
-                            set: $util.oneOfSetter($oneOfFields)
-                        });
+                                /**
+                                 * Encodes the specified ContestedResourceIdentityVotes message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.verify|verify} messages.
+                                 * @function encodeDelimited
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes
+                                 * @static
+                                 * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.IContestedResourceIdentityVotes} message ContestedResourceIdentityVotes message or plain object to encode
+                                 * @param {$protobuf.Writer} [writer] Writer to encode to
+                                 * @returns {$protobuf.Writer} Writer
+                                 */
+                                ContestedResourceIdentityVotes.encodeDelimited = function encodeDelimited(message, writer) {
+                                    return this.encode(message, writer).ldelim();
+                                };
 
-                        /**
-                         * Creates a new GetPathElementsRequest instance using the specified properties.
-                         * @function create
-                         * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest
-                         * @static
-                         * @param {org.dash.platform.dapi.v0.IGetPathElementsRequest=} [properties] Properties to set
-                         * @returns {org.dash.platform.dapi.v0.GetPathElementsRequest} GetPathElementsRequest instance
-                         */
-                        GetPathElementsRequest.create = function create(properties) {
-                            return new GetPathElementsRequest(properties);
-                        };
+                                /**
+                                 * Decodes a ContestedResourceIdentityVotes message from the specified reader or buffer.
+                                 * @function decode
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes
+                                 * @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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes} ContestedResourceIdentityVotes
+                                 * @throws {Error} If the payload is not a reader or valid buffer
+                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
+                                 */
+                                ContestedResourceIdentityVotes.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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes();
+                                    while (reader.pos < end) {
+                                        var tag = reader.uint32();
+                                        switch (tag >>> 3) {
+                                        case 1:
+                                            if (!(message.contestedResourceIdentityVotes && message.contestedResourceIdentityVotes.length))
+                                                message.contestedResourceIdentityVotes = [];
+                                            message.contestedResourceIdentityVotes.push($root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.decode(reader, reader.uint32()));
+                                            break;
+                                        case 2:
+                                            message.finishedResults = reader.bool();
+                                            break;
+                                        default:
+                                            reader.skipType(tag & 7);
+                                            break;
+                                        }
+                                    }
+                                    return message;
+                                };
 
-                        /**
-                         * Encodes the specified GetPathElementsRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetPathElementsRequest.verify|verify} messages.
-                         * @function encode
-                         * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest
-                         * @static
-                         * @param {org.dash.platform.dapi.v0.IGetPathElementsRequest} message GetPathElementsRequest message or plain object to encode
-                         * @param {$protobuf.Writer} [writer] Writer to encode to
-                         * @returns {$protobuf.Writer} Writer
-                         */
-                        GetPathElementsRequest.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.GetPathElementsRequest.GetPathElementsRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
-                            return writer;
-                        };
+                                /**
+                                 * Decodes a ContestedResourceIdentityVotes message from the specified reader or buffer, length delimited.
+                                 * @function decodeDelimited
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes
+                                 * @static
+                                 * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+                                 * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes} ContestedResourceIdentityVotes
+                                 * @throws {Error} If the payload is not a reader or valid buffer
+                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
+                                 */
+                                ContestedResourceIdentityVotes.decodeDelimited = function decodeDelimited(reader) {
+                                    if (!(reader instanceof $Reader))
+                                        reader = new $Reader(reader);
+                                    return this.decode(reader, reader.uint32());
+                                };
 
-                        /**
-                         * Encodes the specified GetPathElementsRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetPathElementsRequest.verify|verify} messages.
-                         * @function encodeDelimited
-                         * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest
-                         * @static
-                         * @param {org.dash.platform.dapi.v0.IGetPathElementsRequest} message GetPathElementsRequest message or plain object to encode
-                         * @param {$protobuf.Writer} [writer] Writer to encode to
-                         * @returns {$protobuf.Writer} Writer
-                         */
-                        GetPathElementsRequest.encodeDelimited = function encodeDelimited(message, writer) {
-                            return this.encode(message, writer).ldelim();
-                        };
+                                /**
+                                 * Verifies a ContestedResourceIdentityVotes message.
+                                 * @function verify
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes
+                                 * @static
+                                 * @param {Object.} message Plain object to verify
+                                 * @returns {string|null} `null` if valid, otherwise the reason why it is not
+                                 */
+                                ContestedResourceIdentityVotes.verify = function verify(message) {
+                                    if (typeof message !== "object" || message === null)
+                                        return "object expected";
+                                    if (message.contestedResourceIdentityVotes != null && message.hasOwnProperty("contestedResourceIdentityVotes")) {
+                                        if (!Array.isArray(message.contestedResourceIdentityVotes))
+                                            return "contestedResourceIdentityVotes: array expected";
+                                        for (var i = 0; i < message.contestedResourceIdentityVotes.length; ++i) {
+                                            var error = $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.verify(message.contestedResourceIdentityVotes[i]);
+                                            if (error)
+                                                return "contestedResourceIdentityVotes." + error;
+                                        }
+                                    }
+                                    if (message.finishedResults != null && message.hasOwnProperty("finishedResults"))
+                                        if (typeof message.finishedResults !== "boolean")
+                                            return "finishedResults: boolean expected";
+                                    return null;
+                                };
 
-                        /**
-                         * Decodes a GetPathElementsRequest message from the specified reader or buffer.
-                         * @function decode
-                         * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest
-                         * @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.GetPathElementsRequest} GetPathElementsRequest
-                         * @throws {Error} If the payload is not a reader or valid buffer
-                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
-                         */
-                        GetPathElementsRequest.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.GetPathElementsRequest();
-                            while (reader.pos < end) {
-                                var tag = reader.uint32();
-                                switch (tag >>> 3) {
-                                case 1:
-                                    message.v0 = $root.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.decode(reader, reader.uint32());
-                                    break;
-                                default:
-                                    reader.skipType(tag & 7);
-                                    break;
-                                }
-                            }
-                            return message;
-                        };
+                                /**
+                                 * Creates a ContestedResourceIdentityVotes message from a plain object. Also converts values to their respective internal types.
+                                 * @function fromObject
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes
+                                 * @static
+                                 * @param {Object.} object Plain object
+                                 * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes} ContestedResourceIdentityVotes
+                                 */
+                                ContestedResourceIdentityVotes.fromObject = function fromObject(object) {
+                                    if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes)
+                                        return object;
+                                    var message = new $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes();
+                                    if (object.contestedResourceIdentityVotes) {
+                                        if (!Array.isArray(object.contestedResourceIdentityVotes))
+                                            throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.contestedResourceIdentityVotes: array expected");
+                                        message.contestedResourceIdentityVotes = [];
+                                        for (var i = 0; i < object.contestedResourceIdentityVotes.length; ++i) {
+                                            if (typeof object.contestedResourceIdentityVotes[i] !== "object")
+                                                throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.contestedResourceIdentityVotes: object expected");
+                                            message.contestedResourceIdentityVotes[i] = $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.fromObject(object.contestedResourceIdentityVotes[i]);
+                                        }
+                                    }
+                                    if (object.finishedResults != null)
+                                        message.finishedResults = Boolean(object.finishedResults);
+                                    return message;
+                                };
 
-                        /**
-                         * Decodes a GetPathElementsRequest message from the specified reader or buffer, length delimited.
-                         * @function decodeDelimited
-                         * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest
-                         * @static
-                         * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                         * @returns {org.dash.platform.dapi.v0.GetPathElementsRequest} GetPathElementsRequest
-                         * @throws {Error} If the payload is not a reader or valid buffer
-                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
-                         */
-                        GetPathElementsRequest.decodeDelimited = function decodeDelimited(reader) {
-                            if (!(reader instanceof $Reader))
-                                reader = new $Reader(reader);
-                            return this.decode(reader, reader.uint32());
-                        };
+                                /**
+                                 * Creates a plain object from a ContestedResourceIdentityVotes message. Also converts values to other types if specified.
+                                 * @function toObject
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes
+                                 * @static
+                                 * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes} message ContestedResourceIdentityVotes
+                                 * @param {$protobuf.IConversionOptions} [options] Conversion options
+                                 * @returns {Object.} Plain object
+                                 */
+                                ContestedResourceIdentityVotes.toObject = function toObject(message, options) {
+                                    if (!options)
+                                        options = {};
+                                    var object = {};
+                                    if (options.arrays || options.defaults)
+                                        object.contestedResourceIdentityVotes = [];
+                                    if (options.defaults)
+                                        object.finishedResults = false;
+                                    if (message.contestedResourceIdentityVotes && message.contestedResourceIdentityVotes.length) {
+                                        object.contestedResourceIdentityVotes = [];
+                                        for (var j = 0; j < message.contestedResourceIdentityVotes.length; ++j)
+                                            object.contestedResourceIdentityVotes[j] = $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.toObject(message.contestedResourceIdentityVotes[j], options);
+                                    }
+                                    if (message.finishedResults != null && message.hasOwnProperty("finishedResults"))
+                                        object.finishedResults = message.finishedResults;
+                                    return object;
+                                };
 
-                        /**
-                         * Verifies a GetPathElementsRequest message.
-                         * @function verify
-                         * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest
-                         * @static
-                         * @param {Object.} message Plain object to verify
-                         * @returns {string|null} `null` if valid, otherwise the reason why it is not
-                         */
-                        GetPathElementsRequest.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.GetPathElementsRequest.GetPathElementsRequestV0.verify(message.v0);
-                                    if (error)
-                                        return "v0." + error;
-                                }
-                            }
-                            return null;
-                        };
+                                /**
+                                 * Converts this ContestedResourceIdentityVotes to JSON.
+                                 * @function toJSON
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes
+                                 * @instance
+                                 * @returns {Object.} JSON object
+                                 */
+                                ContestedResourceIdentityVotes.prototype.toJSON = function toJSON() {
+                                    return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+                                };
 
-                        /**
-                         * Creates a GetPathElementsRequest message from a plain object. Also converts values to their respective internal types.
-                         * @function fromObject
-                         * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest
-                         * @static
-                         * @param {Object.} object Plain object
-                         * @returns {org.dash.platform.dapi.v0.GetPathElementsRequest} GetPathElementsRequest
-                         */
-                        GetPathElementsRequest.fromObject = function fromObject(object) {
-                            if (object instanceof $root.org.dash.platform.dapi.v0.GetPathElementsRequest)
-                                return object;
-                            var message = new $root.org.dash.platform.dapi.v0.GetPathElementsRequest();
-                            if (object.v0 != null) {
-                                if (typeof object.v0 !== "object")
-                                    throw TypeError(".org.dash.platform.dapi.v0.GetPathElementsRequest.v0: object expected");
-                                message.v0 = $root.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.fromObject(object.v0);
-                            }
-                            return message;
-                        };
+                                return ContestedResourceIdentityVotes;
+                            })();
 
-                        /**
-                         * Creates a plain object from a GetPathElementsRequest message. Also converts values to other types if specified.
-                         * @function toObject
-                         * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest
-                         * @static
-                         * @param {org.dash.platform.dapi.v0.GetPathElementsRequest} message GetPathElementsRequest
-                         * @param {$protobuf.IConversionOptions} [options] Conversion options
-                         * @returns {Object.} Plain object
-                         */
-                        GetPathElementsRequest.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.GetPathElementsRequest.GetPathElementsRequestV0.toObject(message.v0, options);
-                                if (options.oneofs)
-                                    object.version = "v0";
-                            }
-                            return object;
-                        };
+                            GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice = (function() {
 
-                        /**
-                         * Converts this GetPathElementsRequest to JSON.
-                         * @function toJSON
-                         * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest
-                         * @instance
-                         * @returns {Object.} JSON object
-                         */
-                        GetPathElementsRequest.prototype.toJSON = function toJSON() {
-                            return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
-                        };
+                                /**
+                                 * Properties of a ResourceVoteChoice.
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0
+                                 * @interface IResourceVoteChoice
+                                 * @property {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.VoteChoiceType|null} [voteChoiceType] ResourceVoteChoice voteChoiceType
+                                 * @property {Uint8Array|null} [identityId] ResourceVoteChoice identityId
+                                 */
 
-                        GetPathElementsRequest.GetPathElementsRequestV0 = (function() {
+                                /**
+                                 * Constructs a new ResourceVoteChoice.
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0
+                                 * @classdesc Represents a ResourceVoteChoice.
+                                 * @implements IResourceVoteChoice
+                                 * @constructor
+                                 * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.IResourceVoteChoice=} [properties] Properties to set
+                                 */
+                                function ResourceVoteChoice(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]];
+                                }
 
-                            /**
-                             * Properties of a GetPathElementsRequestV0.
-                             * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest
-                             * @interface IGetPathElementsRequestV0
-                             * @property {Array.|null} [path] GetPathElementsRequestV0 path
-                             * @property {Array.|null} [keys] GetPathElementsRequestV0 keys
-                             * @property {boolean|null} [prove] GetPathElementsRequestV0 prove
-                             */
+                                /**
+                                 * ResourceVoteChoice voteChoiceType.
+                                 * @member {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.VoteChoiceType} voteChoiceType
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice
+                                 * @instance
+                                 */
+                                ResourceVoteChoice.prototype.voteChoiceType = 0;
 
-                            /**
-                             * Constructs a new GetPathElementsRequestV0.
-                             * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest
-                             * @classdesc Represents a GetPathElementsRequestV0.
-                             * @implements IGetPathElementsRequestV0
-                             * @constructor
-                             * @param {org.dash.platform.dapi.v0.GetPathElementsRequest.IGetPathElementsRequestV0=} [properties] Properties to set
-                             */
-                            function GetPathElementsRequestV0(properties) {
-                                this.path = [];
-                                this.keys = [];
-                                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]];
-                            }
+                                /**
+                                 * ResourceVoteChoice identityId.
+                                 * @member {Uint8Array} identityId
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice
+                                 * @instance
+                                 */
+                                ResourceVoteChoice.prototype.identityId = $util.newBuffer([]);
 
-                            /**
-                             * GetPathElementsRequestV0 path.
-                             * @member {Array.} path
-                             * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0
-                             * @instance
-                             */
-                            GetPathElementsRequestV0.prototype.path = $util.emptyArray;
+                                /**
+                                 * Creates a new ResourceVoteChoice instance using the specified properties.
+                                 * @function create
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice
+                                 * @static
+                                 * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.IResourceVoteChoice=} [properties] Properties to set
+                                 * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice} ResourceVoteChoice instance
+                                 */
+                                ResourceVoteChoice.create = function create(properties) {
+                                    return new ResourceVoteChoice(properties);
+                                };
 
-                            /**
-                             * GetPathElementsRequestV0 keys.
-                             * @member {Array.} keys
-                             * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0
-                             * @instance
-                             */
-                            GetPathElementsRequestV0.prototype.keys = $util.emptyArray;
+                                /**
+                                 * Encodes the specified ResourceVoteChoice message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.verify|verify} messages.
+                                 * @function encode
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice
+                                 * @static
+                                 * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.IResourceVoteChoice} message ResourceVoteChoice message or plain object to encode
+                                 * @param {$protobuf.Writer} [writer] Writer to encode to
+                                 * @returns {$protobuf.Writer} Writer
+                                 */
+                                ResourceVoteChoice.encode = function encode(message, writer) {
+                                    if (!writer)
+                                        writer = $Writer.create();
+                                    if (message.voteChoiceType != null && Object.hasOwnProperty.call(message, "voteChoiceType"))
+                                        writer.uint32(/* id 1, wireType 0 =*/8).int32(message.voteChoiceType);
+                                    if (message.identityId != null && Object.hasOwnProperty.call(message, "identityId"))
+                                        writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.identityId);
+                                    return writer;
+                                };
 
-                            /**
-                             * GetPathElementsRequestV0 prove.
-                             * @member {boolean} prove
-                             * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0
-                             * @instance
-                             */
-                            GetPathElementsRequestV0.prototype.prove = false;
+                                /**
+                                 * Encodes the specified ResourceVoteChoice message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.verify|verify} messages.
+                                 * @function encodeDelimited
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice
+                                 * @static
+                                 * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.IResourceVoteChoice} message ResourceVoteChoice message or plain object to encode
+                                 * @param {$protobuf.Writer} [writer] Writer to encode to
+                                 * @returns {$protobuf.Writer} Writer
+                                 */
+                                ResourceVoteChoice.encodeDelimited = function encodeDelimited(message, writer) {
+                                    return this.encode(message, writer).ldelim();
+                                };
 
-                            /**
-                             * Creates a new GetPathElementsRequestV0 instance using the specified properties.
-                             * @function create
-                             * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0
-                             * @static
-                             * @param {org.dash.platform.dapi.v0.GetPathElementsRequest.IGetPathElementsRequestV0=} [properties] Properties to set
-                             * @returns {org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0} GetPathElementsRequestV0 instance
-                             */
-                            GetPathElementsRequestV0.create = function create(properties) {
-                                return new GetPathElementsRequestV0(properties);
-                            };
+                                /**
+                                 * Decodes a ResourceVoteChoice message from the specified reader or buffer.
+                                 * @function decode
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice
+                                 * @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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice} ResourceVoteChoice
+                                 * @throws {Error} If the payload is not a reader or valid buffer
+                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
+                                 */
+                                ResourceVoteChoice.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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice();
+                                    while (reader.pos < end) {
+                                        var tag = reader.uint32();
+                                        switch (tag >>> 3) {
+                                        case 1:
+                                            message.voteChoiceType = reader.int32();
+                                            break;
+                                        case 2:
+                                            message.identityId = reader.bytes();
+                                            break;
+                                        default:
+                                            reader.skipType(tag & 7);
+                                            break;
+                                        }
+                                    }
+                                    return message;
+                                };
 
-                            /**
-                             * Encodes the specified GetPathElementsRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.verify|verify} messages.
-                             * @function encode
-                             * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0
-                             * @static
-                             * @param {org.dash.platform.dapi.v0.GetPathElementsRequest.IGetPathElementsRequestV0} message GetPathElementsRequestV0 message or plain object to encode
-                             * @param {$protobuf.Writer} [writer] Writer to encode to
-                             * @returns {$protobuf.Writer} Writer
-                             */
-                            GetPathElementsRequestV0.encode = function encode(message, writer) {
-                                if (!writer)
-                                    writer = $Writer.create();
-                                if (message.path != null && message.path.length)
-                                    for (var i = 0; i < message.path.length; ++i)
-                                        writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.path[i]);
-                                if (message.keys != null && message.keys.length)
-                                    for (var i = 0; i < message.keys.length; ++i)
-                                        writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.keys[i]);
-                                if (message.prove != null && Object.hasOwnProperty.call(message, "prove"))
-                                    writer.uint32(/* id 3, wireType 0 =*/24).bool(message.prove);
-                                return writer;
-                            };
+                                /**
+                                 * Decodes a ResourceVoteChoice message from the specified reader or buffer, length delimited.
+                                 * @function decodeDelimited
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice
+                                 * @static
+                                 * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+                                 * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice} ResourceVoteChoice
+                                 * @throws {Error} If the payload is not a reader or valid buffer
+                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
+                                 */
+                                ResourceVoteChoice.decodeDelimited = function decodeDelimited(reader) {
+                                    if (!(reader instanceof $Reader))
+                                        reader = new $Reader(reader);
+                                    return this.decode(reader, reader.uint32());
+                                };
 
-                            /**
-                             * Encodes the specified GetPathElementsRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.verify|verify} messages.
-                             * @function encodeDelimited
-                             * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0
-                             * @static
-                             * @param {org.dash.platform.dapi.v0.GetPathElementsRequest.IGetPathElementsRequestV0} message GetPathElementsRequestV0 message or plain object to encode
-                             * @param {$protobuf.Writer} [writer] Writer to encode to
-                             * @returns {$protobuf.Writer} Writer
-                             */
-                            GetPathElementsRequestV0.encodeDelimited = function encodeDelimited(message, writer) {
-                                return this.encode(message, writer).ldelim();
-                            };
+                                /**
+                                 * Verifies a ResourceVoteChoice message.
+                                 * @function verify
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice
+                                 * @static
+                                 * @param {Object.} message Plain object to verify
+                                 * @returns {string|null} `null` if valid, otherwise the reason why it is not
+                                 */
+                                ResourceVoteChoice.verify = function verify(message) {
+                                    if (typeof message !== "object" || message === null)
+                                        return "object expected";
+                                    if (message.voteChoiceType != null && message.hasOwnProperty("voteChoiceType"))
+                                        switch (message.voteChoiceType) {
+                                        default:
+                                            return "voteChoiceType: enum value expected";
+                                        case 0:
+                                        case 1:
+                                        case 2:
+                                            break;
+                                        }
+                                    if (message.identityId != null && message.hasOwnProperty("identityId"))
+                                        if (!(message.identityId && typeof message.identityId.length === "number" || $util.isString(message.identityId)))
+                                            return "identityId: buffer expected";
+                                    return null;
+                                };
 
-                            /**
-                             * Decodes a GetPathElementsRequestV0 message from the specified reader or buffer.
-                             * @function decode
-                             * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0
-                             * @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.GetPathElementsRequest.GetPathElementsRequestV0} GetPathElementsRequestV0
-                             * @throws {Error} If the payload is not a reader or valid buffer
-                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
-                             */
-                            GetPathElementsRequestV0.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.GetPathElementsRequest.GetPathElementsRequestV0();
-                                while (reader.pos < end) {
-                                    var tag = reader.uint32();
-                                    switch (tag >>> 3) {
+                                /**
+                                 * Creates a ResourceVoteChoice message from a plain object. Also converts values to their respective internal types.
+                                 * @function fromObject
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice
+                                 * @static
+                                 * @param {Object.} object Plain object
+                                 * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice} ResourceVoteChoice
+                                 */
+                                ResourceVoteChoice.fromObject = function fromObject(object) {
+                                    if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice)
+                                        return object;
+                                    var message = new $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice();
+                                    switch (object.voteChoiceType) {
+                                    case "TOWARDS_IDENTITY":
+                                    case 0:
+                                        message.voteChoiceType = 0;
+                                        break;
+                                    case "ABSTAIN":
                                     case 1:
-                                        if (!(message.path && message.path.length))
-                                            message.path = [];
-                                        message.path.push(reader.bytes());
+                                        message.voteChoiceType = 1;
                                         break;
+                                    case "LOCK":
                                     case 2:
-                                        if (!(message.keys && message.keys.length))
-                                            message.keys = [];
-                                        message.keys.push(reader.bytes());
-                                        break;
-                                    case 3:
-                                        message.prove = reader.bool();
-                                        break;
-                                    default:
-                                        reader.skipType(tag & 7);
+                                        message.voteChoiceType = 2;
                                         break;
                                     }
-                                }
-                                return message;
-                            };
-
-                            /**
-                             * Decodes a GetPathElementsRequestV0 message from the specified reader or buffer, length delimited.
-                             * @function decodeDelimited
-                             * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0
-                             * @static
-                             * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                             * @returns {org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0} GetPathElementsRequestV0
-                             * @throws {Error} If the payload is not a reader or valid buffer
-                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
-                             */
-                            GetPathElementsRequestV0.decodeDelimited = function decodeDelimited(reader) {
-                                if (!(reader instanceof $Reader))
-                                    reader = new $Reader(reader);
-                                return this.decode(reader, reader.uint32());
-                            };
-
-                            /**
-                             * Verifies a GetPathElementsRequestV0 message.
-                             * @function verify
-                             * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0
-                             * @static
-                             * @param {Object.} message Plain object to verify
-                             * @returns {string|null} `null` if valid, otherwise the reason why it is not
-                             */
-                            GetPathElementsRequestV0.verify = function verify(message) {
-                                if (typeof message !== "object" || message === null)
-                                    return "object expected";
-                                if (message.path != null && message.hasOwnProperty("path")) {
-                                    if (!Array.isArray(message.path))
-                                        return "path: array expected";
-                                    for (var i = 0; i < message.path.length; ++i)
-                                        if (!(message.path[i] && typeof message.path[i].length === "number" || $util.isString(message.path[i])))
-                                            return "path: buffer[] expected";
-                                }
-                                if (message.keys != null && message.hasOwnProperty("keys")) {
-                                    if (!Array.isArray(message.keys))
-                                        return "keys: array expected";
-                                    for (var i = 0; i < message.keys.length; ++i)
-                                        if (!(message.keys[i] && typeof message.keys[i].length === "number" || $util.isString(message.keys[i])))
-                                            return "keys: buffer[] expected";
-                                }
-                                if (message.prove != null && message.hasOwnProperty("prove"))
-                                    if (typeof message.prove !== "boolean")
-                                        return "prove: boolean expected";
-                                return null;
-                            };
+                                    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;
+                                    return message;
+                                };
 
-                            /**
-                             * Creates a GetPathElementsRequestV0 message from a plain object. Also converts values to their respective internal types.
-                             * @function fromObject
-                             * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0
-                             * @static
-                             * @param {Object.} object Plain object
-                             * @returns {org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0} GetPathElementsRequestV0
-                             */
-                            GetPathElementsRequestV0.fromObject = function fromObject(object) {
-                                if (object instanceof $root.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0)
+                                /**
+                                 * Creates a plain object from a ResourceVoteChoice message. Also converts values to other types if specified.
+                                 * @function toObject
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice
+                                 * @static
+                                 * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice} message ResourceVoteChoice
+                                 * @param {$protobuf.IConversionOptions} [options] Conversion options
+                                 * @returns {Object.} Plain object
+                                 */
+                                ResourceVoteChoice.toObject = function toObject(message, options) {
+                                    if (!options)
+                                        options = {};
+                                    var object = {};
+                                    if (options.defaults) {
+                                        object.voteChoiceType = options.enums === String ? "TOWARDS_IDENTITY" : 0;
+                                        if (options.bytes === String)
+                                            object.identityId = "";
+                                        else {
+                                            object.identityId = [];
+                                            if (options.bytes !== Array)
+                                                object.identityId = $util.newBuffer(object.identityId);
+                                        }
+                                    }
+                                    if (message.voteChoiceType != null && message.hasOwnProperty("voteChoiceType"))
+                                        object.voteChoiceType = options.enums === String ? $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.VoteChoiceType[message.voteChoiceType] : message.voteChoiceType;
+                                    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;
                                     return object;
-                                var message = new $root.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0();
-                                if (object.path) {
-                                    if (!Array.isArray(object.path))
-                                        throw TypeError(".org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.path: array expected");
-                                    message.path = [];
-                                    for (var i = 0; i < object.path.length; ++i)
-                                        if (typeof object.path[i] === "string")
-                                            $util.base64.decode(object.path[i], message.path[i] = $util.newBuffer($util.base64.length(object.path[i])), 0);
-                                        else if (object.path[i].length >= 0)
-                                            message.path[i] = object.path[i];
-                                }
-                                if (object.keys) {
-                                    if (!Array.isArray(object.keys))
-                                        throw TypeError(".org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.keys: array expected");
-                                    message.keys = [];
-                                    for (var i = 0; i < object.keys.length; ++i)
-                                        if (typeof object.keys[i] === "string")
-                                            $util.base64.decode(object.keys[i], message.keys[i] = $util.newBuffer($util.base64.length(object.keys[i])), 0);
-                                        else if (object.keys[i].length >= 0)
-                                            message.keys[i] = object.keys[i];
-                                }
-                                if (object.prove != null)
-                                    message.prove = Boolean(object.prove);
-                                return message;
-                            };
+                                };
 
-                            /**
-                             * Creates a plain object from a GetPathElementsRequestV0 message. Also converts values to other types if specified.
-                             * @function toObject
-                             * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0
-                             * @static
-                             * @param {org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0} message GetPathElementsRequestV0
-                             * @param {$protobuf.IConversionOptions} [options] Conversion options
-                             * @returns {Object.} Plain object
-                             */
-                            GetPathElementsRequestV0.toObject = function toObject(message, options) {
-                                if (!options)
-                                    options = {};
-                                var object = {};
-                                if (options.arrays || options.defaults) {
-                                    object.path = [];
-                                    object.keys = [];
-                                }
-                                if (options.defaults)
-                                    object.prove = false;
-                                if (message.path && message.path.length) {
-                                    object.path = [];
-                                    for (var j = 0; j < message.path.length; ++j)
-                                        object.path[j] = options.bytes === String ? $util.base64.encode(message.path[j], 0, message.path[j].length) : options.bytes === Array ? Array.prototype.slice.call(message.path[j]) : message.path[j];
-                                }
-                                if (message.keys && message.keys.length) {
-                                    object.keys = [];
-                                    for (var j = 0; j < message.keys.length; ++j)
-                                        object.keys[j] = options.bytes === String ? $util.base64.encode(message.keys[j], 0, message.keys[j].length) : options.bytes === Array ? Array.prototype.slice.call(message.keys[j]) : message.keys[j];
-                                }
-                                if (message.prove != null && message.hasOwnProperty("prove"))
-                                    object.prove = message.prove;
-                                return object;
-                            };
+                                /**
+                                 * Converts this ResourceVoteChoice to JSON.
+                                 * @function toJSON
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice
+                                 * @instance
+                                 * @returns {Object.} JSON object
+                                 */
+                                ResourceVoteChoice.prototype.toJSON = function toJSON() {
+                                    return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+                                };
 
-                            /**
-                             * Converts this GetPathElementsRequestV0 to JSON.
-                             * @function toJSON
-                             * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0
-                             * @instance
-                             * @returns {Object.} JSON object
-                             */
-                            GetPathElementsRequestV0.prototype.toJSON = function toJSON() {
-                                return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
-                            };
+                                /**
+                                 * VoteChoiceType enum.
+                                 * @name org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.VoteChoiceType
+                                 * @enum {number}
+                                 * @property {number} TOWARDS_IDENTITY=0 TOWARDS_IDENTITY value
+                                 * @property {number} ABSTAIN=1 ABSTAIN value
+                                 * @property {number} LOCK=2 LOCK value
+                                 */
+                                ResourceVoteChoice.VoteChoiceType = (function() {
+                                    var valuesById = {}, values = Object.create(valuesById);
+                                    values[valuesById[0] = "TOWARDS_IDENTITY"] = 0;
+                                    values[valuesById[1] = "ABSTAIN"] = 1;
+                                    values[valuesById[2] = "LOCK"] = 2;
+                                    return values;
+                                })();
 
-                            return GetPathElementsRequestV0;
-                        })();
+                                return ResourceVoteChoice;
+                            })();
 
-                        return GetPathElementsRequest;
-                    })();
+                            GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote = (function() {
 
-                    v0.GetPathElementsResponse = (function() {
+                                /**
+                                 * Properties of a ContestedResourceIdentityVote.
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0
+                                 * @interface IContestedResourceIdentityVote
+                                 * @property {Uint8Array|null} [contractId] ContestedResourceIdentityVote contractId
+                                 * @property {string|null} [documentTypeName] ContestedResourceIdentityVote documentTypeName
+                                 * @property {Array.|null} [serializedIndexStorageValues] ContestedResourceIdentityVote serializedIndexStorageValues
+                                 * @property {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.IResourceVoteChoice|null} [voteChoice] ContestedResourceIdentityVote voteChoice
+                                 */
 
-                        /**
-                         * Properties of a GetPathElementsResponse.
-                         * @memberof org.dash.platform.dapi.v0
-                         * @interface IGetPathElementsResponse
-                         * @property {org.dash.platform.dapi.v0.GetPathElementsResponse.IGetPathElementsResponseV0|null} [v0] GetPathElementsResponse v0
+                                /**
+                                 * Constructs a new ContestedResourceIdentityVote.
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0
+                                 * @classdesc Represents a ContestedResourceIdentityVote.
+                                 * @implements IContestedResourceIdentityVote
+                                 * @constructor
+                                 * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.IContestedResourceIdentityVote=} [properties] Properties to set
+                                 */
+                                function ContestedResourceIdentityVote(properties) {
+                                    this.serializedIndexStorageValues = [];
+                                    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]];
+                                }
+
+                                /**
+                                 * ContestedResourceIdentityVote contractId.
+                                 * @member {Uint8Array} contractId
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote
+                                 * @instance
+                                 */
+                                ContestedResourceIdentityVote.prototype.contractId = $util.newBuffer([]);
+
+                                /**
+                                 * ContestedResourceIdentityVote documentTypeName.
+                                 * @member {string} documentTypeName
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote
+                                 * @instance
+                                 */
+                                ContestedResourceIdentityVote.prototype.documentTypeName = "";
+
+                                /**
+                                 * ContestedResourceIdentityVote serializedIndexStorageValues.
+                                 * @member {Array.} serializedIndexStorageValues
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote
+                                 * @instance
+                                 */
+                                ContestedResourceIdentityVote.prototype.serializedIndexStorageValues = $util.emptyArray;
+
+                                /**
+                                 * ContestedResourceIdentityVote voteChoice.
+                                 * @member {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.IResourceVoteChoice|null|undefined} voteChoice
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote
+                                 * @instance
+                                 */
+                                ContestedResourceIdentityVote.prototype.voteChoice = null;
+
+                                /**
+                                 * Creates a new ContestedResourceIdentityVote instance using the specified properties.
+                                 * @function create
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote
+                                 * @static
+                                 * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.IContestedResourceIdentityVote=} [properties] Properties to set
+                                 * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote} ContestedResourceIdentityVote instance
+                                 */
+                                ContestedResourceIdentityVote.create = function create(properties) {
+                                    return new ContestedResourceIdentityVote(properties);
+                                };
+
+                                /**
+                                 * Encodes the specified ContestedResourceIdentityVote message. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.verify|verify} messages.
+                                 * @function encode
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote
+                                 * @static
+                                 * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.IContestedResourceIdentityVote} message ContestedResourceIdentityVote message or plain object to encode
+                                 * @param {$protobuf.Writer} [writer] Writer to encode to
+                                 * @returns {$protobuf.Writer} Writer
+                                 */
+                                ContestedResourceIdentityVote.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.documentTypeName != null && Object.hasOwnProperty.call(message, "documentTypeName"))
+                                        writer.uint32(/* id 2, wireType 2 =*/18).string(message.documentTypeName);
+                                    if (message.serializedIndexStorageValues != null && message.serializedIndexStorageValues.length)
+                                        for (var i = 0; i < message.serializedIndexStorageValues.length; ++i)
+                                            writer.uint32(/* id 3, wireType 2 =*/26).bytes(message.serializedIndexStorageValues[i]);
+                                    if (message.voteChoice != null && Object.hasOwnProperty.call(message, "voteChoice"))
+                                        $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.encode(message.voteChoice, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim();
+                                    return writer;
+                                };
+
+                                /**
+                                 * Encodes the specified ContestedResourceIdentityVote message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.verify|verify} messages.
+                                 * @function encodeDelimited
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote
+                                 * @static
+                                 * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.IContestedResourceIdentityVote} message ContestedResourceIdentityVote message or plain object to encode
+                                 * @param {$protobuf.Writer} [writer] Writer to encode to
+                                 * @returns {$protobuf.Writer} Writer
+                                 */
+                                ContestedResourceIdentityVote.encodeDelimited = function encodeDelimited(message, writer) {
+                                    return this.encode(message, writer).ldelim();
+                                };
+
+                                /**
+                                 * Decodes a ContestedResourceIdentityVote message from the specified reader or buffer.
+                                 * @function decode
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote
+                                 * @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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote} ContestedResourceIdentityVote
+                                 * @throws {Error} If the payload is not a reader or valid buffer
+                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
+                                 */
+                                ContestedResourceIdentityVote.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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote();
+                                    while (reader.pos < end) {
+                                        var tag = reader.uint32();
+                                        switch (tag >>> 3) {
+                                        case 1:
+                                            message.contractId = reader.bytes();
+                                            break;
+                                        case 2:
+                                            message.documentTypeName = reader.string();
+                                            break;
+                                        case 3:
+                                            if (!(message.serializedIndexStorageValues && message.serializedIndexStorageValues.length))
+                                                message.serializedIndexStorageValues = [];
+                                            message.serializedIndexStorageValues.push(reader.bytes());
+                                            break;
+                                        case 4:
+                                            message.voteChoice = $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.decode(reader, reader.uint32());
+                                            break;
+                                        default:
+                                            reader.skipType(tag & 7);
+                                            break;
+                                        }
+                                    }
+                                    return message;
+                                };
+
+                                /**
+                                 * Decodes a ContestedResourceIdentityVote message from the specified reader or buffer, length delimited.
+                                 * @function decodeDelimited
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote
+                                 * @static
+                                 * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+                                 * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote} ContestedResourceIdentityVote
+                                 * @throws {Error} If the payload is not a reader or valid buffer
+                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
+                                 */
+                                ContestedResourceIdentityVote.decodeDelimited = function decodeDelimited(reader) {
+                                    if (!(reader instanceof $Reader))
+                                        reader = new $Reader(reader);
+                                    return this.decode(reader, reader.uint32());
+                                };
+
+                                /**
+                                 * Verifies a ContestedResourceIdentityVote message.
+                                 * @function verify
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote
+                                 * @static
+                                 * @param {Object.} message Plain object to verify
+                                 * @returns {string|null} `null` if valid, otherwise the reason why it is not
+                                 */
+                                ContestedResourceIdentityVote.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.documentTypeName != null && message.hasOwnProperty("documentTypeName"))
+                                        if (!$util.isString(message.documentTypeName))
+                                            return "documentTypeName: string expected";
+                                    if (message.serializedIndexStorageValues != null && message.hasOwnProperty("serializedIndexStorageValues")) {
+                                        if (!Array.isArray(message.serializedIndexStorageValues))
+                                            return "serializedIndexStorageValues: array expected";
+                                        for (var i = 0; i < message.serializedIndexStorageValues.length; ++i)
+                                            if (!(message.serializedIndexStorageValues[i] && typeof message.serializedIndexStorageValues[i].length === "number" || $util.isString(message.serializedIndexStorageValues[i])))
+                                                return "serializedIndexStorageValues: buffer[] expected";
+                                    }
+                                    if (message.voteChoice != null && message.hasOwnProperty("voteChoice")) {
+                                        var error = $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.verify(message.voteChoice);
+                                        if (error)
+                                            return "voteChoice." + error;
+                                    }
+                                    return null;
+                                };
+
+                                /**
+                                 * Creates a ContestedResourceIdentityVote message from a plain object. Also converts values to their respective internal types.
+                                 * @function fromObject
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote
+                                 * @static
+                                 * @param {Object.} object Plain object
+                                 * @returns {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote} ContestedResourceIdentityVote
+                                 */
+                                ContestedResourceIdentityVote.fromObject = function fromObject(object) {
+                                    if (object instanceof $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote)
+                                        return object;
+                                    var message = new $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote();
+                                    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.documentTypeName != null)
+                                        message.documentTypeName = String(object.documentTypeName);
+                                    if (object.serializedIndexStorageValues) {
+                                        if (!Array.isArray(object.serializedIndexStorageValues))
+                                            throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.serializedIndexStorageValues: array expected");
+                                        message.serializedIndexStorageValues = [];
+                                        for (var i = 0; i < object.serializedIndexStorageValues.length; ++i)
+                                            if (typeof object.serializedIndexStorageValues[i] === "string")
+                                                $util.base64.decode(object.serializedIndexStorageValues[i], message.serializedIndexStorageValues[i] = $util.newBuffer($util.base64.length(object.serializedIndexStorageValues[i])), 0);
+                                            else if (object.serializedIndexStorageValues[i].length >= 0)
+                                                message.serializedIndexStorageValues[i] = object.serializedIndexStorageValues[i];
+                                    }
+                                    if (object.voteChoice != null) {
+                                        if (typeof object.voteChoice !== "object")
+                                            throw TypeError(".org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.voteChoice: object expected");
+                                        message.voteChoice = $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.fromObject(object.voteChoice);
+                                    }
+                                    return message;
+                                };
+
+                                /**
+                                 * Creates a plain object from a ContestedResourceIdentityVote message. Also converts values to other types if specified.
+                                 * @function toObject
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote
+                                 * @static
+                                 * @param {org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote} message ContestedResourceIdentityVote
+                                 * @param {$protobuf.IConversionOptions} [options] Conversion options
+                                 * @returns {Object.} Plain object
+                                 */
+                                ContestedResourceIdentityVote.toObject = function toObject(message, options) {
+                                    if (!options)
+                                        options = {};
+                                    var object = {};
+                                    if (options.arrays || options.defaults)
+                                        object.serializedIndexStorageValues = [];
+                                    if (options.defaults) {
+                                        if (options.bytes === String)
+                                            object.contractId = "";
+                                        else {
+                                            object.contractId = [];
+                                            if (options.bytes !== Array)
+                                                object.contractId = $util.newBuffer(object.contractId);
+                                        }
+                                        object.documentTypeName = "";
+                                        object.voteChoice = null;
+                                    }
+                                    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.documentTypeName != null && message.hasOwnProperty("documentTypeName"))
+                                        object.documentTypeName = message.documentTypeName;
+                                    if (message.serializedIndexStorageValues && message.serializedIndexStorageValues.length) {
+                                        object.serializedIndexStorageValues = [];
+                                        for (var j = 0; j < message.serializedIndexStorageValues.length; ++j)
+                                            object.serializedIndexStorageValues[j] = options.bytes === String ? $util.base64.encode(message.serializedIndexStorageValues[j], 0, message.serializedIndexStorageValues[j].length) : options.bytes === Array ? Array.prototype.slice.call(message.serializedIndexStorageValues[j]) : message.serializedIndexStorageValues[j];
+                                    }
+                                    if (message.voteChoice != null && message.hasOwnProperty("voteChoice"))
+                                        object.voteChoice = $root.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.toObject(message.voteChoice, options);
+                                    return object;
+                                };
+
+                                /**
+                                 * Converts this ContestedResourceIdentityVote to JSON.
+                                 * @function toJSON
+                                 * @memberof org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote
+                                 * @instance
+                                 * @returns {Object.} JSON object
+                                 */
+                                ContestedResourceIdentityVote.prototype.toJSON = function toJSON() {
+                                    return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+                                };
+
+                                return ContestedResourceIdentityVote;
+                            })();
+
+                            return GetContestedResourceIdentityVotesResponseV0;
+                        })();
+
+                        return GetContestedResourceIdentityVotesResponse;
+                    })();
+
+                    v0.GetPrefundedSpecializedBalanceRequest = (function() {
+
+                        /**
+                         * Properties of a GetPrefundedSpecializedBalanceRequest.
+                         * @memberof org.dash.platform.dapi.v0
+                         * @interface IGetPrefundedSpecializedBalanceRequest
+                         * @property {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.IGetPrefundedSpecializedBalanceRequestV0|null} [v0] GetPrefundedSpecializedBalanceRequest v0
                          */
 
                         /**
-                         * Constructs a new GetPathElementsResponse.
+                         * Constructs a new GetPrefundedSpecializedBalanceRequest.
                          * @memberof org.dash.platform.dapi.v0
-                         * @classdesc Represents a GetPathElementsResponse.
-                         * @implements IGetPathElementsResponse
+                         * @classdesc Represents a GetPrefundedSpecializedBalanceRequest.
+                         * @implements IGetPrefundedSpecializedBalanceRequest
                          * @constructor
-                         * @param {org.dash.platform.dapi.v0.IGetPathElementsResponse=} [properties] Properties to set
+                         * @param {org.dash.platform.dapi.v0.IGetPrefundedSpecializedBalanceRequest=} [properties] Properties to set
                          */
-                        function GetPathElementsResponse(properties) {
+                        function GetPrefundedSpecializedBalanceRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
                                     if (properties[keys[i]] != null)
@@ -38884,89 +40065,89 @@ $root.org = (function() {
                         }
 
                         /**
-                         * GetPathElementsResponse v0.
-                         * @member {org.dash.platform.dapi.v0.GetPathElementsResponse.IGetPathElementsResponseV0|null|undefined} v0
-                         * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse
+                         * GetPrefundedSpecializedBalanceRequest v0.
+                         * @member {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.IGetPrefundedSpecializedBalanceRequestV0|null|undefined} v0
+                         * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest
                          * @instance
                          */
-                        GetPathElementsResponse.prototype.v0 = null;
+                        GetPrefundedSpecializedBalanceRequest.prototype.v0 = null;
 
                         // OneOf field names bound to virtual getters and setters
                         var $oneOfFields;
 
                         /**
-                         * GetPathElementsResponse version.
+                         * GetPrefundedSpecializedBalanceRequest version.
                          * @member {"v0"|undefined} version
-                         * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse
+                         * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest
                          * @instance
                          */
-                        Object.defineProperty(GetPathElementsResponse.prototype, "version", {
+                        Object.defineProperty(GetPrefundedSpecializedBalanceRequest.prototype, "version", {
                             get: $util.oneOfGetter($oneOfFields = ["v0"]),
                             set: $util.oneOfSetter($oneOfFields)
                         });
 
                         /**
-                         * Creates a new GetPathElementsResponse instance using the specified properties.
+                         * Creates a new GetPrefundedSpecializedBalanceRequest instance using the specified properties.
                          * @function create
-                         * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse
+                         * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest
                          * @static
-                         * @param {org.dash.platform.dapi.v0.IGetPathElementsResponse=} [properties] Properties to set
-                         * @returns {org.dash.platform.dapi.v0.GetPathElementsResponse} GetPathElementsResponse instance
+                         * @param {org.dash.platform.dapi.v0.IGetPrefundedSpecializedBalanceRequest=} [properties] Properties to set
+                         * @returns {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest} GetPrefundedSpecializedBalanceRequest instance
                          */
-                        GetPathElementsResponse.create = function create(properties) {
-                            return new GetPathElementsResponse(properties);
+                        GetPrefundedSpecializedBalanceRequest.create = function create(properties) {
+                            return new GetPrefundedSpecializedBalanceRequest(properties);
                         };
 
                         /**
-                         * Encodes the specified GetPathElementsResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetPathElementsResponse.verify|verify} messages.
+                         * Encodes the specified GetPrefundedSpecializedBalanceRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.verify|verify} messages.
                          * @function encode
-                         * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse
+                         * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest
                          * @static
-                         * @param {org.dash.platform.dapi.v0.IGetPathElementsResponse} message GetPathElementsResponse message or plain object to encode
+                         * @param {org.dash.platform.dapi.v0.IGetPrefundedSpecializedBalanceRequest} message GetPrefundedSpecializedBalanceRequest message or plain object to encode
                          * @param {$protobuf.Writer} [writer] Writer to encode to
                          * @returns {$protobuf.Writer} Writer
                          */
-                        GetPathElementsResponse.encode = function encode(message, writer) {
+                        GetPrefundedSpecializedBalanceRequest.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.GetPathElementsResponse.GetPathElementsResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+                                $root.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
                             return writer;
                         };
 
                         /**
-                         * Encodes the specified GetPathElementsResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetPathElementsResponse.verify|verify} messages.
+                         * Encodes the specified GetPrefundedSpecializedBalanceRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.verify|verify} messages.
                          * @function encodeDelimited
-                         * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse
+                         * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest
                          * @static
-                         * @param {org.dash.platform.dapi.v0.IGetPathElementsResponse} message GetPathElementsResponse message or plain object to encode
+                         * @param {org.dash.platform.dapi.v0.IGetPrefundedSpecializedBalanceRequest} message GetPrefundedSpecializedBalanceRequest message or plain object to encode
                          * @param {$protobuf.Writer} [writer] Writer to encode to
                          * @returns {$protobuf.Writer} Writer
                          */
-                        GetPathElementsResponse.encodeDelimited = function encodeDelimited(message, writer) {
+                        GetPrefundedSpecializedBalanceRequest.encodeDelimited = function encodeDelimited(message, writer) {
                             return this.encode(message, writer).ldelim();
                         };
 
                         /**
-                         * Decodes a GetPathElementsResponse message from the specified reader or buffer.
+                         * Decodes a GetPrefundedSpecializedBalanceRequest message from the specified reader or buffer.
                          * @function decode
-                         * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse
+                         * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest
                          * @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.GetPathElementsResponse} GetPathElementsResponse
+                         * @returns {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest} GetPrefundedSpecializedBalanceRequest
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        GetPathElementsResponse.decode = function decode(reader, length) {
+                        GetPrefundedSpecializedBalanceRequest.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.GetPathElementsResponse();
+                            var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
                                 switch (tag >>> 3) {
                                 case 1:
-                                    message.v0 = $root.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.decode(reader, reader.uint32());
+                                    message.v0 = $root.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.decode(reader, reader.uint32());
                                     break;
                                 default:
                                     reader.skipType(tag & 7);
@@ -38977,37 +40158,37 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Decodes a GetPathElementsResponse message from the specified reader or buffer, length delimited.
+                         * Decodes a GetPrefundedSpecializedBalanceRequest message from the specified reader or buffer, length delimited.
                          * @function decodeDelimited
-                         * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse
+                         * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest
                          * @static
                          * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                         * @returns {org.dash.platform.dapi.v0.GetPathElementsResponse} GetPathElementsResponse
+                         * @returns {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest} GetPrefundedSpecializedBalanceRequest
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        GetPathElementsResponse.decodeDelimited = function decodeDelimited(reader) {
+                        GetPrefundedSpecializedBalanceRequest.decodeDelimited = function decodeDelimited(reader) {
                             if (!(reader instanceof $Reader))
                                 reader = new $Reader(reader);
                             return this.decode(reader, reader.uint32());
                         };
 
                         /**
-                         * Verifies a GetPathElementsResponse message.
+                         * Verifies a GetPrefundedSpecializedBalanceRequest message.
                          * @function verify
-                         * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse
+                         * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest
                          * @static
                          * @param {Object.} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        GetPathElementsResponse.verify = function verify(message) {
+                        GetPrefundedSpecializedBalanceRequest.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.GetPathElementsResponse.GetPathElementsResponseV0.verify(message.v0);
+                                    var error = $root.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.verify(message.v0);
                                     if (error)
                                         return "v0." + error;
                                 }
@@ -39016,40 +40197,40 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Creates a GetPathElementsResponse message from a plain object. Also converts values to their respective internal types.
+                         * Creates a GetPrefundedSpecializedBalanceRequest message from a plain object. Also converts values to their respective internal types.
                          * @function fromObject
-                         * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse
+                         * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest
                          * @static
                          * @param {Object.} object Plain object
-                         * @returns {org.dash.platform.dapi.v0.GetPathElementsResponse} GetPathElementsResponse
+                         * @returns {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest} GetPrefundedSpecializedBalanceRequest
                          */
-                        GetPathElementsResponse.fromObject = function fromObject(object) {
-                            if (object instanceof $root.org.dash.platform.dapi.v0.GetPathElementsResponse)
+                        GetPrefundedSpecializedBalanceRequest.fromObject = function fromObject(object) {
+                            if (object instanceof $root.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest)
                                 return object;
-                            var message = new $root.org.dash.platform.dapi.v0.GetPathElementsResponse();
+                            var message = new $root.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest();
                             if (object.v0 != null) {
                                 if (typeof object.v0 !== "object")
-                                    throw TypeError(".org.dash.platform.dapi.v0.GetPathElementsResponse.v0: object expected");
-                                message.v0 = $root.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.fromObject(object.v0);
+                                    throw TypeError(".org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.v0: object expected");
+                                message.v0 = $root.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.fromObject(object.v0);
                             }
                             return message;
                         };
 
                         /**
-                         * Creates a plain object from a GetPathElementsResponse message. Also converts values to other types if specified.
+                         * Creates a plain object from a GetPrefundedSpecializedBalanceRequest message. Also converts values to other types if specified.
                          * @function toObject
-                         * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse
+                         * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest
                          * @static
-                         * @param {org.dash.platform.dapi.v0.GetPathElementsResponse} message GetPathElementsResponse
+                         * @param {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest} message GetPrefundedSpecializedBalanceRequest
                          * @param {$protobuf.IConversionOptions} [options] Conversion options
                          * @returns {Object.} Plain object
                          */
-                        GetPathElementsResponse.toObject = function toObject(message, options) {
+                        GetPrefundedSpecializedBalanceRequest.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.GetPathElementsResponse.GetPathElementsResponseV0.toObject(message.v0, options);
+                                object.v0 = $root.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.toObject(message.v0, options);
                                 if (options.oneofs)
                                     object.version = "v0";
                             }
@@ -39057,36 +40238,35 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Converts this GetPathElementsResponse to JSON.
+                         * Converts this GetPrefundedSpecializedBalanceRequest to JSON.
                          * @function toJSON
-                         * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse
+                         * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest
                          * @instance
                          * @returns {Object.} JSON object
                          */
-                        GetPathElementsResponse.prototype.toJSON = function toJSON() {
+                        GetPrefundedSpecializedBalanceRequest.prototype.toJSON = function toJSON() {
                             return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
                         };
 
-                        GetPathElementsResponse.GetPathElementsResponseV0 = (function() {
+                        GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0 = (function() {
 
                             /**
-                             * Properties of a GetPathElementsResponseV0.
-                             * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse
-                             * @interface IGetPathElementsResponseV0
-                             * @property {org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.IElements|null} [elements] GetPathElementsResponseV0 elements
-                             * @property {org.dash.platform.dapi.v0.IProof|null} [proof] GetPathElementsResponseV0 proof
-                             * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetPathElementsResponseV0 metadata
+                             * Properties of a GetPrefundedSpecializedBalanceRequestV0.
+                             * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest
+                             * @interface IGetPrefundedSpecializedBalanceRequestV0
+                             * @property {Uint8Array|null} [id] GetPrefundedSpecializedBalanceRequestV0 id
+                             * @property {boolean|null} [prove] GetPrefundedSpecializedBalanceRequestV0 prove
                              */
 
                             /**
-                             * Constructs a new GetPathElementsResponseV0.
-                             * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse
-                             * @classdesc Represents a GetPathElementsResponseV0.
-                             * @implements IGetPathElementsResponseV0
+                             * Constructs a new GetPrefundedSpecializedBalanceRequestV0.
+                             * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest
+                             * @classdesc Represents a GetPrefundedSpecializedBalanceRequestV0.
+                             * @implements IGetPrefundedSpecializedBalanceRequestV0
                              * @constructor
-                             * @param {org.dash.platform.dapi.v0.GetPathElementsResponse.IGetPathElementsResponseV0=} [properties] Properties to set
+                             * @param {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.IGetPrefundedSpecializedBalanceRequestV0=} [properties] Properties to set
                              */
-                            function GetPathElementsResponseV0(properties) {
+                            function GetPrefundedSpecializedBalanceRequestV0(properties) {
                                 if (properties)
                                     for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
                                         if (properties[keys[i]] != null)
@@ -39094,115 +40274,88 @@ $root.org = (function() {
                             }
 
                             /**
-                             * GetPathElementsResponseV0 elements.
-                             * @member {org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.IElements|null|undefined} elements
-                             * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0
-                             * @instance
-                             */
-                            GetPathElementsResponseV0.prototype.elements = null;
-
-                            /**
-                             * GetPathElementsResponseV0 proof.
-                             * @member {org.dash.platform.dapi.v0.IProof|null|undefined} proof
-                             * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0
-                             * @instance
-                             */
-                            GetPathElementsResponseV0.prototype.proof = null;
-
-                            /**
-                             * GetPathElementsResponseV0 metadata.
-                             * @member {org.dash.platform.dapi.v0.IResponseMetadata|null|undefined} metadata
-                             * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0
+                             * GetPrefundedSpecializedBalanceRequestV0 id.
+                             * @member {Uint8Array} id
+                             * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0
                              * @instance
                              */
-                            GetPathElementsResponseV0.prototype.metadata = null;
-
-                            // OneOf field names bound to virtual getters and setters
-                            var $oneOfFields;
+                            GetPrefundedSpecializedBalanceRequestV0.prototype.id = $util.newBuffer([]);
 
                             /**
-                             * GetPathElementsResponseV0 result.
-                             * @member {"elements"|"proof"|undefined} result
-                             * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0
+                             * GetPrefundedSpecializedBalanceRequestV0 prove.
+                             * @member {boolean} prove
+                             * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0
                              * @instance
                              */
-                            Object.defineProperty(GetPathElementsResponseV0.prototype, "result", {
-                                get: $util.oneOfGetter($oneOfFields = ["elements", "proof"]),
-                                set: $util.oneOfSetter($oneOfFields)
-                            });
+                            GetPrefundedSpecializedBalanceRequestV0.prototype.prove = false;
 
                             /**
-                             * Creates a new GetPathElementsResponseV0 instance using the specified properties.
+                             * Creates a new GetPrefundedSpecializedBalanceRequestV0 instance using the specified properties.
                              * @function create
-                             * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetPathElementsResponse.IGetPathElementsResponseV0=} [properties] Properties to set
-                             * @returns {org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0} GetPathElementsResponseV0 instance
+                             * @param {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.IGetPrefundedSpecializedBalanceRequestV0=} [properties] Properties to set
+                             * @returns {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0} GetPrefundedSpecializedBalanceRequestV0 instance
                              */
-                            GetPathElementsResponseV0.create = function create(properties) {
-                                return new GetPathElementsResponseV0(properties);
+                            GetPrefundedSpecializedBalanceRequestV0.create = function create(properties) {
+                                return new GetPrefundedSpecializedBalanceRequestV0(properties);
                             };
 
                             /**
-                             * Encodes the specified GetPathElementsResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.verify|verify} messages.
+                             * Encodes the specified GetPrefundedSpecializedBalanceRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.verify|verify} messages.
                              * @function encode
-                             * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetPathElementsResponse.IGetPathElementsResponseV0} message GetPathElementsResponseV0 message or plain object to encode
+                             * @param {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.IGetPrefundedSpecializedBalanceRequestV0} message GetPrefundedSpecializedBalanceRequestV0 message or plain object to encode
                              * @param {$protobuf.Writer} [writer] Writer to encode to
                              * @returns {$protobuf.Writer} Writer
                              */
-                            GetPathElementsResponseV0.encode = function encode(message, writer) {
+                            GetPrefundedSpecializedBalanceRequestV0.encode = function encode(message, writer) {
                                 if (!writer)
                                     writer = $Writer.create();
-                                if (message.elements != null && Object.hasOwnProperty.call(message, "elements"))
-                                    $root.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.encode(message.elements, 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.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 GetPathElementsResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.verify|verify} messages.
+                             * Encodes the specified GetPrefundedSpecializedBalanceRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.verify|verify} messages.
                              * @function encodeDelimited
-                             * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetPathElementsResponse.IGetPathElementsResponseV0} message GetPathElementsResponseV0 message or plain object to encode
+                             * @param {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.IGetPrefundedSpecializedBalanceRequestV0} message GetPrefundedSpecializedBalanceRequestV0 message or plain object to encode
                              * @param {$protobuf.Writer} [writer] Writer to encode to
                              * @returns {$protobuf.Writer} Writer
                              */
-                            GetPathElementsResponseV0.encodeDelimited = function encodeDelimited(message, writer) {
+                            GetPrefundedSpecializedBalanceRequestV0.encodeDelimited = function encodeDelimited(message, writer) {
                                 return this.encode(message, writer).ldelim();
                             };
 
                             /**
-                             * Decodes a GetPathElementsResponseV0 message from the specified reader or buffer.
+                             * Decodes a GetPrefundedSpecializedBalanceRequestV0 message from the specified reader or buffer.
                              * @function decode
-                             * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0
                              * @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.GetPathElementsResponse.GetPathElementsResponseV0} GetPathElementsResponseV0
+                             * @returns {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0} GetPrefundedSpecializedBalanceRequestV0
                              * @throws {Error} If the payload is not a reader or valid buffer
                              * @throws {$protobuf.util.ProtocolError} If required fields are missing
                              */
-                            GetPathElementsResponseV0.decode = function decode(reader, length) {
+                            GetPrefundedSpecializedBalanceRequestV0.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.GetPathElementsResponse.GetPathElementsResponseV0();
+                                var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0();
                                 while (reader.pos < end) {
                                     var tag = reader.uint32();
                                     switch (tag >>> 3) {
                                     case 1:
-                                        message.elements = $root.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.decode(reader, reader.uint32());
+                                        message.id = 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.prove = reader.bool();
                                         break;
                                     default:
                                         reader.skipType(tag & 7);
@@ -39213,360 +40366,128 @@ $root.org = (function() {
                             };
 
                             /**
-                             * Decodes a GetPathElementsResponseV0 message from the specified reader or buffer, length delimited.
+                             * Decodes a GetPrefundedSpecializedBalanceRequestV0 message from the specified reader or buffer, length delimited.
                              * @function decodeDelimited
-                             * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0
                              * @static
                              * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                             * @returns {org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0} GetPathElementsResponseV0
+                             * @returns {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0} GetPrefundedSpecializedBalanceRequestV0
                              * @throws {Error} If the payload is not a reader or valid buffer
                              * @throws {$protobuf.util.ProtocolError} If required fields are missing
                              */
-                            GetPathElementsResponseV0.decodeDelimited = function decodeDelimited(reader) {
+                            GetPrefundedSpecializedBalanceRequestV0.decodeDelimited = function decodeDelimited(reader) {
                                 if (!(reader instanceof $Reader))
                                     reader = new $Reader(reader);
                                 return this.decode(reader, reader.uint32());
                             };
 
                             /**
-                             * Verifies a GetPathElementsResponseV0 message.
+                             * Verifies a GetPrefundedSpecializedBalanceRequestV0 message.
                              * @function verify
-                             * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0
                              * @static
                              * @param {Object.} message Plain object to verify
                              * @returns {string|null} `null` if valid, otherwise the reason why it is not
                              */
-                            GetPathElementsResponseV0.verify = function verify(message) {
+                            GetPrefundedSpecializedBalanceRequestV0.verify = function verify(message) {
                                 if (typeof message !== "object" || message === null)
                                     return "object expected";
-                                var properties = {};
-                                if (message.elements != null && message.hasOwnProperty("elements")) {
-                                    properties.result = 1;
-                                    {
-                                        var error = $root.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.verify(message.elements);
-                                        if (error)
-                                            return "elements." + 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;
-                                }
+                                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 GetPathElementsResponseV0 message from a plain object. Also converts values to their respective internal types.
+                             * Creates a GetPrefundedSpecializedBalanceRequestV0 message from a plain object. Also converts values to their respective internal types.
                              * @function fromObject
-                             * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0
                              * @static
                              * @param {Object.} object Plain object
-                             * @returns {org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0} GetPathElementsResponseV0
+                             * @returns {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0} GetPrefundedSpecializedBalanceRequestV0
                              */
-                            GetPathElementsResponseV0.fromObject = function fromObject(object) {
-                                if (object instanceof $root.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0)
+                            GetPrefundedSpecializedBalanceRequestV0.fromObject = function fromObject(object) {
+                                if (object instanceof $root.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0)
                                     return object;
-                                var message = new $root.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0();
-                                if (object.elements != null) {
-                                    if (typeof object.elements !== "object")
-                                        throw TypeError(".org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.elements: object expected");
-                                    message.elements = $root.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.fromObject(object.elements);
-                                }
-                                if (object.proof != null) {
-                                    if (typeof object.proof !== "object")
-                                        throw TypeError(".org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.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.GetPathElementsResponse.GetPathElementsResponseV0.metadata: object expected");
-                                    message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.fromObject(object.metadata);
-                                }
+                                var message = new $root.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0();
+                                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 GetPathElementsResponseV0 message. Also converts values to other types if specified.
+                             * Creates a plain object from a GetPrefundedSpecializedBalanceRequestV0 message. Also converts values to other types if specified.
                              * @function toObject
-                             * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0} message GetPathElementsResponseV0
+                             * @param {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0} message GetPrefundedSpecializedBalanceRequestV0
                              * @param {$protobuf.IConversionOptions} [options] Conversion options
                              * @returns {Object.} Plain object
                              */
-                            GetPathElementsResponseV0.toObject = function toObject(message, options) {
+                            GetPrefundedSpecializedBalanceRequestV0.toObject = function toObject(message, options) {
                                 if (!options)
                                     options = {};
                                 var object = {};
-                                if (options.defaults)
-                                    object.metadata = null;
-                                if (message.elements != null && message.hasOwnProperty("elements")) {
-                                    object.elements = $root.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.toObject(message.elements, options);
-                                    if (options.oneofs)
-                                        object.result = "elements";
-                                }
-                                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.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.metadata != null && message.hasOwnProperty("metadata"))
-                                    object.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.toObject(message.metadata, options);
+                                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 GetPathElementsResponseV0 to JSON.
+                             * Converts this GetPrefundedSpecializedBalanceRequestV0 to JSON.
                              * @function toJSON
-                             * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0
                              * @instance
                              * @returns {Object.} JSON object
                              */
-                            GetPathElementsResponseV0.prototype.toJSON = function toJSON() {
+                            GetPrefundedSpecializedBalanceRequestV0.prototype.toJSON = function toJSON() {
                                 return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
                             };
 
-                            GetPathElementsResponseV0.Elements = (function() {
-
-                                /**
-                                 * Properties of an Elements.
-                                 * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0
-                                 * @interface IElements
-                                 * @property {Array.|null} [elements] Elements elements
-                                 */
-
-                                /**
-                                 * Constructs a new Elements.
-                                 * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0
-                                 * @classdesc Represents an Elements.
-                                 * @implements IElements
-                                 * @constructor
-                                 * @param {org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.IElements=} [properties] Properties to set
-                                 */
-                                function Elements(properties) {
-                                    this.elements = [];
-                                    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]];
-                                }
-
-                                /**
-                                 * Elements elements.
-                                 * @member {Array.} elements
-                                 * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements
-                                 * @instance
-                                 */
-                                Elements.prototype.elements = $util.emptyArray;
-
-                                /**
-                                 * Creates a new Elements instance using the specified properties.
-                                 * @function create
-                                 * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements
-                                 * @static
-                                 * @param {org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.IElements=} [properties] Properties to set
-                                 * @returns {org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements} Elements instance
-                                 */
-                                Elements.create = function create(properties) {
-                                    return new Elements(properties);
-                                };
-
-                                /**
-                                 * Encodes the specified Elements message. Does not implicitly {@link org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.verify|verify} messages.
-                                 * @function encode
-                                 * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements
-                                 * @static
-                                 * @param {org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.IElements} message Elements message or plain object to encode
-                                 * @param {$protobuf.Writer} [writer] Writer to encode to
-                                 * @returns {$protobuf.Writer} Writer
-                                 */
-                                Elements.encode = function encode(message, writer) {
-                                    if (!writer)
-                                        writer = $Writer.create();
-                                    if (message.elements != null && message.elements.length)
-                                        for (var i = 0; i < message.elements.length; ++i)
-                                            writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.elements[i]);
-                                    return writer;
-                                };
-
-                                /**
-                                 * Encodes the specified Elements message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.verify|verify} messages.
-                                 * @function encodeDelimited
-                                 * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements
-                                 * @static
-                                 * @param {org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.IElements} message Elements message or plain object to encode
-                                 * @param {$protobuf.Writer} [writer] Writer to encode to
-                                 * @returns {$protobuf.Writer} Writer
-                                 */
-                                Elements.encodeDelimited = function encodeDelimited(message, writer) {
-                                    return this.encode(message, writer).ldelim();
-                                };
-
-                                /**
-                                 * Decodes an Elements message from the specified reader or buffer.
-                                 * @function decode
-                                 * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements
-                                 * @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.GetPathElementsResponse.GetPathElementsResponseV0.Elements} Elements
-                                 * @throws {Error} If the payload is not a reader or valid buffer
-                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
-                                 */
-                                Elements.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.GetPathElementsResponse.GetPathElementsResponseV0.Elements();
-                                    while (reader.pos < end) {
-                                        var tag = reader.uint32();
-                                        switch (tag >>> 3) {
-                                        case 1:
-                                            if (!(message.elements && message.elements.length))
-                                                message.elements = [];
-                                            message.elements.push(reader.bytes());
-                                            break;
-                                        default:
-                                            reader.skipType(tag & 7);
-                                            break;
-                                        }
-                                    }
-                                    return message;
-                                };
-
-                                /**
-                                 * Decodes an Elements message from the specified reader or buffer, length delimited.
-                                 * @function decodeDelimited
-                                 * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements
-                                 * @static
-                                 * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                                 * @returns {org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements} Elements
-                                 * @throws {Error} If the payload is not a reader or valid buffer
-                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
-                                 */
-                                Elements.decodeDelimited = function decodeDelimited(reader) {
-                                    if (!(reader instanceof $Reader))
-                                        reader = new $Reader(reader);
-                                    return this.decode(reader, reader.uint32());
-                                };
-
-                                /**
-                                 * Verifies an Elements message.
-                                 * @function verify
-                                 * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements
-                                 * @static
-                                 * @param {Object.} message Plain object to verify
-                                 * @returns {string|null} `null` if valid, otherwise the reason why it is not
-                                 */
-                                Elements.verify = function verify(message) {
-                                    if (typeof message !== "object" || message === null)
-                                        return "object expected";
-                                    if (message.elements != null && message.hasOwnProperty("elements")) {
-                                        if (!Array.isArray(message.elements))
-                                            return "elements: array expected";
-                                        for (var i = 0; i < message.elements.length; ++i)
-                                            if (!(message.elements[i] && typeof message.elements[i].length === "number" || $util.isString(message.elements[i])))
-                                                return "elements: buffer[] expected";
-                                    }
-                                    return null;
-                                };
-
-                                /**
-                                 * Creates an Elements message from a plain object. Also converts values to their respective internal types.
-                                 * @function fromObject
-                                 * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements
-                                 * @static
-                                 * @param {Object.} object Plain object
-                                 * @returns {org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements} Elements
-                                 */
-                                Elements.fromObject = function fromObject(object) {
-                                    if (object instanceof $root.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements)
-                                        return object;
-                                    var message = new $root.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements();
-                                    if (object.elements) {
-                                        if (!Array.isArray(object.elements))
-                                            throw TypeError(".org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.elements: array expected");
-                                        message.elements = [];
-                                        for (var i = 0; i < object.elements.length; ++i)
-                                            if (typeof object.elements[i] === "string")
-                                                $util.base64.decode(object.elements[i], message.elements[i] = $util.newBuffer($util.base64.length(object.elements[i])), 0);
-                                            else if (object.elements[i].length >= 0)
-                                                message.elements[i] = object.elements[i];
-                                    }
-                                    return message;
-                                };
-
-                                /**
-                                 * Creates a plain object from an Elements message. Also converts values to other types if specified.
-                                 * @function toObject
-                                 * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements
-                                 * @static
-                                 * @param {org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements} message Elements
-                                 * @param {$protobuf.IConversionOptions} [options] Conversion options
-                                 * @returns {Object.} Plain object
-                                 */
-                                Elements.toObject = function toObject(message, options) {
-                                    if (!options)
-                                        options = {};
-                                    var object = {};
-                                    if (options.arrays || options.defaults)
-                                        object.elements = [];
-                                    if (message.elements && message.elements.length) {
-                                        object.elements = [];
-                                        for (var j = 0; j < message.elements.length; ++j)
-                                            object.elements[j] = options.bytes === String ? $util.base64.encode(message.elements[j], 0, message.elements[j].length) : options.bytes === Array ? Array.prototype.slice.call(message.elements[j]) : message.elements[j];
-                                    }
-                                    return object;
-                                };
-
-                                /**
-                                 * Converts this Elements to JSON.
-                                 * @function toJSON
-                                 * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements
-                                 * @instance
-                                 * @returns {Object.} JSON object
-                                 */
-                                Elements.prototype.toJSON = function toJSON() {
-                                    return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
-                                };
-
-                                return Elements;
-                            })();
-
-                            return GetPathElementsResponseV0;
+                            return GetPrefundedSpecializedBalanceRequestV0;
                         })();
 
-                        return GetPathElementsResponse;
+                        return GetPrefundedSpecializedBalanceRequest;
                     })();
 
-                    v0.GetStatusRequest = (function() {
+                    v0.GetPrefundedSpecializedBalanceResponse = (function() {
 
                         /**
-                         * Properties of a GetStatusRequest.
+                         * Properties of a GetPrefundedSpecializedBalanceResponse.
                          * @memberof org.dash.platform.dapi.v0
-                         * @interface IGetStatusRequest
-                         * @property {org.dash.platform.dapi.v0.GetStatusRequest.IGetStatusRequestV0|null} [v0] GetStatusRequest v0
+                         * @interface IGetPrefundedSpecializedBalanceResponse
+                         * @property {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.IGetPrefundedSpecializedBalanceResponseV0|null} [v0] GetPrefundedSpecializedBalanceResponse v0
                          */
 
                         /**
-                         * Constructs a new GetStatusRequest.
+                         * Constructs a new GetPrefundedSpecializedBalanceResponse.
                          * @memberof org.dash.platform.dapi.v0
-                         * @classdesc Represents a GetStatusRequest.
-                         * @implements IGetStatusRequest
+                         * @classdesc Represents a GetPrefundedSpecializedBalanceResponse.
+                         * @implements IGetPrefundedSpecializedBalanceResponse
                          * @constructor
-                         * @param {org.dash.platform.dapi.v0.IGetStatusRequest=} [properties] Properties to set
+                         * @param {org.dash.platform.dapi.v0.IGetPrefundedSpecializedBalanceResponse=} [properties] Properties to set
                          */
-                        function GetStatusRequest(properties) {
+                        function GetPrefundedSpecializedBalanceResponse(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
                                     if (properties[keys[i]] != null)
@@ -39574,89 +40495,89 @@ $root.org = (function() {
                         }
 
                         /**
-                         * GetStatusRequest v0.
-                         * @member {org.dash.platform.dapi.v0.GetStatusRequest.IGetStatusRequestV0|null|undefined} v0
-                         * @memberof org.dash.platform.dapi.v0.GetStatusRequest
+                         * GetPrefundedSpecializedBalanceResponse v0.
+                         * @member {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.IGetPrefundedSpecializedBalanceResponseV0|null|undefined} v0
+                         * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse
                          * @instance
                          */
-                        GetStatusRequest.prototype.v0 = null;
+                        GetPrefundedSpecializedBalanceResponse.prototype.v0 = null;
 
                         // OneOf field names bound to virtual getters and setters
                         var $oneOfFields;
 
                         /**
-                         * GetStatusRequest version.
+                         * GetPrefundedSpecializedBalanceResponse version.
                          * @member {"v0"|undefined} version
-                         * @memberof org.dash.platform.dapi.v0.GetStatusRequest
+                         * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse
                          * @instance
                          */
-                        Object.defineProperty(GetStatusRequest.prototype, "version", {
+                        Object.defineProperty(GetPrefundedSpecializedBalanceResponse.prototype, "version", {
                             get: $util.oneOfGetter($oneOfFields = ["v0"]),
                             set: $util.oneOfSetter($oneOfFields)
                         });
 
                         /**
-                         * Creates a new GetStatusRequest instance using the specified properties.
+                         * Creates a new GetPrefundedSpecializedBalanceResponse instance using the specified properties.
                          * @function create
-                         * @memberof org.dash.platform.dapi.v0.GetStatusRequest
+                         * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse
                          * @static
-                         * @param {org.dash.platform.dapi.v0.IGetStatusRequest=} [properties] Properties to set
-                         * @returns {org.dash.platform.dapi.v0.GetStatusRequest} GetStatusRequest instance
+                         * @param {org.dash.platform.dapi.v0.IGetPrefundedSpecializedBalanceResponse=} [properties] Properties to set
+                         * @returns {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse} GetPrefundedSpecializedBalanceResponse instance
                          */
-                        GetStatusRequest.create = function create(properties) {
-                            return new GetStatusRequest(properties);
+                        GetPrefundedSpecializedBalanceResponse.create = function create(properties) {
+                            return new GetPrefundedSpecializedBalanceResponse(properties);
                         };
 
                         /**
-                         * Encodes the specified GetStatusRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetStatusRequest.verify|verify} messages.
+                         * Encodes the specified GetPrefundedSpecializedBalanceResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.verify|verify} messages.
                          * @function encode
-                         * @memberof org.dash.platform.dapi.v0.GetStatusRequest
+                         * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse
                          * @static
-                         * @param {org.dash.platform.dapi.v0.IGetStatusRequest} message GetStatusRequest message or plain object to encode
+                         * @param {org.dash.platform.dapi.v0.IGetPrefundedSpecializedBalanceResponse} message GetPrefundedSpecializedBalanceResponse message or plain object to encode
                          * @param {$protobuf.Writer} [writer] Writer to encode to
                          * @returns {$protobuf.Writer} Writer
                          */
-                        GetStatusRequest.encode = function encode(message, writer) {
+                        GetPrefundedSpecializedBalanceResponse.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.GetStatusRequest.GetStatusRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+                                $root.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
                             return writer;
                         };
 
                         /**
-                         * Encodes the specified GetStatusRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetStatusRequest.verify|verify} messages.
+                         * Encodes the specified GetPrefundedSpecializedBalanceResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.verify|verify} messages.
                          * @function encodeDelimited
-                         * @memberof org.dash.platform.dapi.v0.GetStatusRequest
+                         * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse
                          * @static
-                         * @param {org.dash.platform.dapi.v0.IGetStatusRequest} message GetStatusRequest message or plain object to encode
+                         * @param {org.dash.platform.dapi.v0.IGetPrefundedSpecializedBalanceResponse} message GetPrefundedSpecializedBalanceResponse message or plain object to encode
                          * @param {$protobuf.Writer} [writer] Writer to encode to
                          * @returns {$protobuf.Writer} Writer
                          */
-                        GetStatusRequest.encodeDelimited = function encodeDelimited(message, writer) {
+                        GetPrefundedSpecializedBalanceResponse.encodeDelimited = function encodeDelimited(message, writer) {
                             return this.encode(message, writer).ldelim();
                         };
 
                         /**
-                         * Decodes a GetStatusRequest message from the specified reader or buffer.
+                         * Decodes a GetPrefundedSpecializedBalanceResponse message from the specified reader or buffer.
                          * @function decode
-                         * @memberof org.dash.platform.dapi.v0.GetStatusRequest
+                         * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse
                          * @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.GetStatusRequest} GetStatusRequest
+                         * @returns {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse} GetPrefundedSpecializedBalanceResponse
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        GetStatusRequest.decode = function decode(reader, length) {
+                        GetPrefundedSpecializedBalanceResponse.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.GetStatusRequest();
+                            var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
                                 switch (tag >>> 3) {
                                 case 1:
-                                    message.v0 = $root.org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0.decode(reader, reader.uint32());
+                                    message.v0 = $root.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.decode(reader, reader.uint32());
                                     break;
                                 default:
                                     reader.skipType(tag & 7);
@@ -39667,37 +40588,37 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Decodes a GetStatusRequest message from the specified reader or buffer, length delimited.
+                         * Decodes a GetPrefundedSpecializedBalanceResponse message from the specified reader or buffer, length delimited.
                          * @function decodeDelimited
-                         * @memberof org.dash.platform.dapi.v0.GetStatusRequest
+                         * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse
                          * @static
                          * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                         * @returns {org.dash.platform.dapi.v0.GetStatusRequest} GetStatusRequest
+                         * @returns {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse} GetPrefundedSpecializedBalanceResponse
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        GetStatusRequest.decodeDelimited = function decodeDelimited(reader) {
+                        GetPrefundedSpecializedBalanceResponse.decodeDelimited = function decodeDelimited(reader) {
                             if (!(reader instanceof $Reader))
                                 reader = new $Reader(reader);
                             return this.decode(reader, reader.uint32());
                         };
 
                         /**
-                         * Verifies a GetStatusRequest message.
+                         * Verifies a GetPrefundedSpecializedBalanceResponse message.
                          * @function verify
-                         * @memberof org.dash.platform.dapi.v0.GetStatusRequest
+                         * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse
                          * @static
                          * @param {Object.} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        GetStatusRequest.verify = function verify(message) {
+                        GetPrefundedSpecializedBalanceResponse.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.GetStatusRequest.GetStatusRequestV0.verify(message.v0);
+                                    var error = $root.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.verify(message.v0);
                                     if (error)
                                         return "v0." + error;
                                 }
@@ -39706,40 +40627,40 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Creates a GetStatusRequest message from a plain object. Also converts values to their respective internal types.
+                         * Creates a GetPrefundedSpecializedBalanceResponse message from a plain object. Also converts values to their respective internal types.
                          * @function fromObject
-                         * @memberof org.dash.platform.dapi.v0.GetStatusRequest
+                         * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse
                          * @static
                          * @param {Object.} object Plain object
-                         * @returns {org.dash.platform.dapi.v0.GetStatusRequest} GetStatusRequest
+                         * @returns {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse} GetPrefundedSpecializedBalanceResponse
                          */
-                        GetStatusRequest.fromObject = function fromObject(object) {
-                            if (object instanceof $root.org.dash.platform.dapi.v0.GetStatusRequest)
+                        GetPrefundedSpecializedBalanceResponse.fromObject = function fromObject(object) {
+                            if (object instanceof $root.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse)
                                 return object;
-                            var message = new $root.org.dash.platform.dapi.v0.GetStatusRequest();
+                            var message = new $root.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse();
                             if (object.v0 != null) {
                                 if (typeof object.v0 !== "object")
-                                    throw TypeError(".org.dash.platform.dapi.v0.GetStatusRequest.v0: object expected");
-                                message.v0 = $root.org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0.fromObject(object.v0);
+                                    throw TypeError(".org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.v0: object expected");
+                                message.v0 = $root.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.fromObject(object.v0);
                             }
                             return message;
                         };
 
                         /**
-                         * Creates a plain object from a GetStatusRequest message. Also converts values to other types if specified.
+                         * Creates a plain object from a GetPrefundedSpecializedBalanceResponse message. Also converts values to other types if specified.
                          * @function toObject
-                         * @memberof org.dash.platform.dapi.v0.GetStatusRequest
+                         * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse
                          * @static
-                         * @param {org.dash.platform.dapi.v0.GetStatusRequest} message GetStatusRequest
+                         * @param {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse} message GetPrefundedSpecializedBalanceResponse
                          * @param {$protobuf.IConversionOptions} [options] Conversion options
                          * @returns {Object.} Plain object
                          */
-                        GetStatusRequest.toObject = function toObject(message, options) {
+                        GetPrefundedSpecializedBalanceResponse.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.GetStatusRequest.GetStatusRequestV0.toObject(message.v0, options);
+                                object.v0 = $root.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.toObject(message.v0, options);
                                 if (options.oneofs)
                                     object.version = "v0";
                             }
@@ -39747,33 +40668,36 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Converts this GetStatusRequest to JSON.
+                         * Converts this GetPrefundedSpecializedBalanceResponse to JSON.
                          * @function toJSON
-                         * @memberof org.dash.platform.dapi.v0.GetStatusRequest
+                         * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse
                          * @instance
                          * @returns {Object.} JSON object
                          */
-                        GetStatusRequest.prototype.toJSON = function toJSON() {
+                        GetPrefundedSpecializedBalanceResponse.prototype.toJSON = function toJSON() {
                             return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
                         };
 
-                        GetStatusRequest.GetStatusRequestV0 = (function() {
+                        GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0 = (function() {
 
                             /**
-                             * Properties of a GetStatusRequestV0.
-                             * @memberof org.dash.platform.dapi.v0.GetStatusRequest
-                             * @interface IGetStatusRequestV0
+                             * Properties of a GetPrefundedSpecializedBalanceResponseV0.
+                             * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse
+                             * @interface IGetPrefundedSpecializedBalanceResponseV0
+                             * @property {number|Long|null} [balance] GetPrefundedSpecializedBalanceResponseV0 balance
+                             * @property {org.dash.platform.dapi.v0.IProof|null} [proof] GetPrefundedSpecializedBalanceResponseV0 proof
+                             * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetPrefundedSpecializedBalanceResponseV0 metadata
                              */
 
                             /**
-                             * Constructs a new GetStatusRequestV0.
-                             * @memberof org.dash.platform.dapi.v0.GetStatusRequest
-                             * @classdesc Represents a GetStatusRequestV0.
-                             * @implements IGetStatusRequestV0
+                             * Constructs a new GetPrefundedSpecializedBalanceResponseV0.
+                             * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse
+                             * @classdesc Represents a GetPrefundedSpecializedBalanceResponseV0.
+                             * @implements IGetPrefundedSpecializedBalanceResponseV0
                              * @constructor
-                             * @param {org.dash.platform.dapi.v0.GetStatusRequest.IGetStatusRequestV0=} [properties] Properties to set
+                             * @param {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.IGetPrefundedSpecializedBalanceResponseV0=} [properties] Properties to set
                              */
-                            function GetStatusRequestV0(properties) {
+                            function GetPrefundedSpecializedBalanceResponseV0(properties) {
                                 if (properties)
                                     for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
                                         if (properties[keys[i]] != null)
@@ -39781,63 +40705,116 @@ $root.org = (function() {
                             }
 
                             /**
-                             * Creates a new GetStatusRequestV0 instance using the specified properties.
-                             * @function create
-                             * @memberof org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0
-                             * @static
-                             * @param {org.dash.platform.dapi.v0.GetStatusRequest.IGetStatusRequestV0=} [properties] Properties to set
-                             * @returns {org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0} GetStatusRequestV0 instance
+                             * GetPrefundedSpecializedBalanceResponseV0 balance.
+                             * @member {number|Long} balance
+                             * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0
+                             * @instance
                              */
-                            GetStatusRequestV0.create = function create(properties) {
-                                return new GetStatusRequestV0(properties);
-                            };
+                            GetPrefundedSpecializedBalanceResponseV0.prototype.balance = $util.Long ? $util.Long.fromBits(0,0,true) : 0;
 
                             /**
-                             * Encodes the specified GetStatusRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0.verify|verify} messages.
-                             * @function encode
-                             * @memberof org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0
-                             * @static
-                             * @param {org.dash.platform.dapi.v0.GetStatusRequest.IGetStatusRequestV0} message GetStatusRequestV0 message or plain object to encode
-                             * @param {$protobuf.Writer} [writer] Writer to encode to
-                             * @returns {$protobuf.Writer} Writer
+                             * GetPrefundedSpecializedBalanceResponseV0 proof.
+                             * @member {org.dash.platform.dapi.v0.IProof|null|undefined} proof
+                             * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0
+                             * @instance
                              */
-                            GetStatusRequestV0.encode = function encode(message, writer) {
-                                if (!writer)
-                                    writer = $Writer.create();
-                                return writer;
-                            };
+                            GetPrefundedSpecializedBalanceResponseV0.prototype.proof = null;
 
                             /**
-                             * Encodes the specified GetStatusRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0.verify|verify} messages.
+                             * GetPrefundedSpecializedBalanceResponseV0 metadata.
+                             * @member {org.dash.platform.dapi.v0.IResponseMetadata|null|undefined} metadata
+                             * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0
+                             * @instance
+                             */
+                            GetPrefundedSpecializedBalanceResponseV0.prototype.metadata = null;
+
+                            // OneOf field names bound to virtual getters and setters
+                            var $oneOfFields;
+
+                            /**
+                             * GetPrefundedSpecializedBalanceResponseV0 result.
+                             * @member {"balance"|"proof"|undefined} result
+                             * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0
+                             * @instance
+                             */
+                            Object.defineProperty(GetPrefundedSpecializedBalanceResponseV0.prototype, "result", {
+                                get: $util.oneOfGetter($oneOfFields = ["balance", "proof"]),
+                                set: $util.oneOfSetter($oneOfFields)
+                            });
+
+                            /**
+                             * Creates a new GetPrefundedSpecializedBalanceResponseV0 instance using the specified properties.
+                             * @function create
+                             * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0
+                             * @static
+                             * @param {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.IGetPrefundedSpecializedBalanceResponseV0=} [properties] Properties to set
+                             * @returns {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0} GetPrefundedSpecializedBalanceResponseV0 instance
+                             */
+                            GetPrefundedSpecializedBalanceResponseV0.create = function create(properties) {
+                                return new GetPrefundedSpecializedBalanceResponseV0(properties);
+                            };
+
+                            /**
+                             * Encodes the specified GetPrefundedSpecializedBalanceResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.verify|verify} messages.
+                             * @function encode
+                             * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0
+                             * @static
+                             * @param {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.IGetPrefundedSpecializedBalanceResponseV0} message GetPrefundedSpecializedBalanceResponseV0 message or plain object to encode
+                             * @param {$protobuf.Writer} [writer] Writer to encode to
+                             * @returns {$protobuf.Writer} Writer
+                             */
+                            GetPrefundedSpecializedBalanceResponseV0.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 GetPrefundedSpecializedBalanceResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.verify|verify} messages.
                              * @function encodeDelimited
-                             * @memberof org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetStatusRequest.IGetStatusRequestV0} message GetStatusRequestV0 message or plain object to encode
+                             * @param {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.IGetPrefundedSpecializedBalanceResponseV0} message GetPrefundedSpecializedBalanceResponseV0 message or plain object to encode
                              * @param {$protobuf.Writer} [writer] Writer to encode to
                              * @returns {$protobuf.Writer} Writer
                              */
-                            GetStatusRequestV0.encodeDelimited = function encodeDelimited(message, writer) {
+                            GetPrefundedSpecializedBalanceResponseV0.encodeDelimited = function encodeDelimited(message, writer) {
                                 return this.encode(message, writer).ldelim();
                             };
 
                             /**
-                             * Decodes a GetStatusRequestV0 message from the specified reader or buffer.
+                             * Decodes a GetPrefundedSpecializedBalanceResponseV0 message from the specified reader or buffer.
                              * @function decode
-                             * @memberof org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0
                              * @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.GetStatusRequest.GetStatusRequestV0} GetStatusRequestV0
+                             * @returns {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0} GetPrefundedSpecializedBalanceResponseV0
                              * @throws {Error} If the payload is not a reader or valid buffer
                              * @throws {$protobuf.util.ProtocolError} If required fields are missing
                              */
-                            GetStatusRequestV0.decode = function decode(reader, length) {
+                            GetPrefundedSpecializedBalanceResponseV0.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.GetStatusRequest.GetStatusRequestV0();
+                                var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0();
                                 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;
@@ -39847,97 +40824,158 @@ $root.org = (function() {
                             };
 
                             /**
-                             * Decodes a GetStatusRequestV0 message from the specified reader or buffer, length delimited.
+                             * Decodes a GetPrefundedSpecializedBalanceResponseV0 message from the specified reader or buffer, length delimited.
                              * @function decodeDelimited
-                             * @memberof org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0
                              * @static
                              * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                             * @returns {org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0} GetStatusRequestV0
+                             * @returns {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0} GetPrefundedSpecializedBalanceResponseV0
                              * @throws {Error} If the payload is not a reader or valid buffer
                              * @throws {$protobuf.util.ProtocolError} If required fields are missing
                              */
-                            GetStatusRequestV0.decodeDelimited = function decodeDelimited(reader) {
+                            GetPrefundedSpecializedBalanceResponseV0.decodeDelimited = function decodeDelimited(reader) {
                                 if (!(reader instanceof $Reader))
                                     reader = new $Reader(reader);
                                 return this.decode(reader, reader.uint32());
                             };
 
                             /**
-                             * Verifies a GetStatusRequestV0 message.
+                             * Verifies a GetPrefundedSpecializedBalanceResponseV0 message.
                              * @function verify
-                             * @memberof org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0
                              * @static
                              * @param {Object.} message Plain object to verify
                              * @returns {string|null} `null` if valid, otherwise the reason why it is not
                              */
-                            GetStatusRequestV0.verify = function verify(message) {
+                            GetPrefundedSpecializedBalanceResponseV0.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 GetStatusRequestV0 message from a plain object. Also converts values to their respective internal types.
+                             * Creates a GetPrefundedSpecializedBalanceResponseV0 message from a plain object. Also converts values to their respective internal types.
                              * @function fromObject
-                             * @memberof org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0
                              * @static
                              * @param {Object.} object Plain object
-                             * @returns {org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0} GetStatusRequestV0
+                             * @returns {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0} GetPrefundedSpecializedBalanceResponseV0
                              */
-                            GetStatusRequestV0.fromObject = function fromObject(object) {
-                                if (object instanceof $root.org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0)
+                            GetPrefundedSpecializedBalanceResponseV0.fromObject = function fromObject(object) {
+                                if (object instanceof $root.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0)
                                     return object;
-                                return new $root.org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0();
+                                var message = new $root.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0();
+                                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.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.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.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.metadata: object expected");
+                                    message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.fromObject(object.metadata);
+                                }
+                                return message;
                             };
 
                             /**
-                             * Creates a plain object from a GetStatusRequestV0 message. Also converts values to other types if specified.
+                             * Creates a plain object from a GetPrefundedSpecializedBalanceResponseV0 message. Also converts values to other types if specified.
                              * @function toObject
-                             * @memberof org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0} message GetStatusRequestV0
+                             * @param {org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0} message GetPrefundedSpecializedBalanceResponseV0
                              * @param {$protobuf.IConversionOptions} [options] Conversion options
                              * @returns {Object.} Plain object
                              */
-                            GetStatusRequestV0.toObject = function toObject() {
-                                return {};
+                            GetPrefundedSpecializedBalanceResponseV0.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 GetStatusRequestV0 to JSON.
+                             * Converts this GetPrefundedSpecializedBalanceResponseV0 to JSON.
                              * @function toJSON
-                             * @memberof org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0
                              * @instance
                              * @returns {Object.} JSON object
                              */
-                            GetStatusRequestV0.prototype.toJSON = function toJSON() {
+                            GetPrefundedSpecializedBalanceResponseV0.prototype.toJSON = function toJSON() {
                                 return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
                             };
 
-                            return GetStatusRequestV0;
+                            return GetPrefundedSpecializedBalanceResponseV0;
                         })();
 
-                        return GetStatusRequest;
+                        return GetPrefundedSpecializedBalanceResponse;
                     })();
 
-                    v0.GetStatusResponse = (function() {
+                    v0.GetTotalCreditsInPlatformRequest = (function() {
 
                         /**
-                         * Properties of a GetStatusResponse.
+                         * Properties of a GetTotalCreditsInPlatformRequest.
                          * @memberof org.dash.platform.dapi.v0
-                         * @interface IGetStatusResponse
-                         * @property {org.dash.platform.dapi.v0.GetStatusResponse.IGetStatusResponseV0|null} [v0] GetStatusResponse v0
+                         * @interface IGetTotalCreditsInPlatformRequest
+                         * @property {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.IGetTotalCreditsInPlatformRequestV0|null} [v0] GetTotalCreditsInPlatformRequest v0
                          */
 
                         /**
-                         * Constructs a new GetStatusResponse.
+                         * Constructs a new GetTotalCreditsInPlatformRequest.
                          * @memberof org.dash.platform.dapi.v0
-                         * @classdesc Represents a GetStatusResponse.
-                         * @implements IGetStatusResponse
+                         * @classdesc Represents a GetTotalCreditsInPlatformRequest.
+                         * @implements IGetTotalCreditsInPlatformRequest
                          * @constructor
-                         * @param {org.dash.platform.dapi.v0.IGetStatusResponse=} [properties] Properties to set
+                         * @param {org.dash.platform.dapi.v0.IGetTotalCreditsInPlatformRequest=} [properties] Properties to set
                          */
-                        function GetStatusResponse(properties) {
+                        function GetTotalCreditsInPlatformRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
                                     if (properties[keys[i]] != null)
@@ -39945,89 +40983,89 @@ $root.org = (function() {
                         }
 
                         /**
-                         * GetStatusResponse v0.
-                         * @member {org.dash.platform.dapi.v0.GetStatusResponse.IGetStatusResponseV0|null|undefined} v0
-                         * @memberof org.dash.platform.dapi.v0.GetStatusResponse
+                         * GetTotalCreditsInPlatformRequest v0.
+                         * @member {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.IGetTotalCreditsInPlatformRequestV0|null|undefined} v0
+                         * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest
                          * @instance
                          */
-                        GetStatusResponse.prototype.v0 = null;
+                        GetTotalCreditsInPlatformRequest.prototype.v0 = null;
 
                         // OneOf field names bound to virtual getters and setters
                         var $oneOfFields;
 
                         /**
-                         * GetStatusResponse version.
+                         * GetTotalCreditsInPlatformRequest version.
                          * @member {"v0"|undefined} version
-                         * @memberof org.dash.platform.dapi.v0.GetStatusResponse
+                         * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest
                          * @instance
                          */
-                        Object.defineProperty(GetStatusResponse.prototype, "version", {
+                        Object.defineProperty(GetTotalCreditsInPlatformRequest.prototype, "version", {
                             get: $util.oneOfGetter($oneOfFields = ["v0"]),
                             set: $util.oneOfSetter($oneOfFields)
                         });
 
                         /**
-                         * Creates a new GetStatusResponse instance using the specified properties.
+                         * Creates a new GetTotalCreditsInPlatformRequest instance using the specified properties.
                          * @function create
-                         * @memberof org.dash.platform.dapi.v0.GetStatusResponse
+                         * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest
                          * @static
-                         * @param {org.dash.platform.dapi.v0.IGetStatusResponse=} [properties] Properties to set
-                         * @returns {org.dash.platform.dapi.v0.GetStatusResponse} GetStatusResponse instance
+                         * @param {org.dash.platform.dapi.v0.IGetTotalCreditsInPlatformRequest=} [properties] Properties to set
+                         * @returns {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest} GetTotalCreditsInPlatformRequest instance
                          */
-                        GetStatusResponse.create = function create(properties) {
-                            return new GetStatusResponse(properties);
+                        GetTotalCreditsInPlatformRequest.create = function create(properties) {
+                            return new GetTotalCreditsInPlatformRequest(properties);
                         };
 
                         /**
-                         * Encodes the specified GetStatusResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetStatusResponse.verify|verify} messages.
+                         * Encodes the specified GetTotalCreditsInPlatformRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.verify|verify} messages.
                          * @function encode
-                         * @memberof org.dash.platform.dapi.v0.GetStatusResponse
+                         * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest
                          * @static
-                         * @param {org.dash.platform.dapi.v0.IGetStatusResponse} message GetStatusResponse message or plain object to encode
+                         * @param {org.dash.platform.dapi.v0.IGetTotalCreditsInPlatformRequest} message GetTotalCreditsInPlatformRequest message or plain object to encode
                          * @param {$protobuf.Writer} [writer] Writer to encode to
                          * @returns {$protobuf.Writer} Writer
                          */
-                        GetStatusResponse.encode = function encode(message, writer) {
+                        GetTotalCreditsInPlatformRequest.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.GetStatusResponse.GetStatusResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+                                $root.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
                             return writer;
                         };
 
                         /**
-                         * Encodes the specified GetStatusResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetStatusResponse.verify|verify} messages.
+                         * Encodes the specified GetTotalCreditsInPlatformRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.verify|verify} messages.
                          * @function encodeDelimited
-                         * @memberof org.dash.platform.dapi.v0.GetStatusResponse
+                         * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest
                          * @static
-                         * @param {org.dash.platform.dapi.v0.IGetStatusResponse} message GetStatusResponse message or plain object to encode
+                         * @param {org.dash.platform.dapi.v0.IGetTotalCreditsInPlatformRequest} message GetTotalCreditsInPlatformRequest message or plain object to encode
                          * @param {$protobuf.Writer} [writer] Writer to encode to
                          * @returns {$protobuf.Writer} Writer
                          */
-                        GetStatusResponse.encodeDelimited = function encodeDelimited(message, writer) {
+                        GetTotalCreditsInPlatformRequest.encodeDelimited = function encodeDelimited(message, writer) {
                             return this.encode(message, writer).ldelim();
                         };
 
                         /**
-                         * Decodes a GetStatusResponse message from the specified reader or buffer.
+                         * Decodes a GetTotalCreditsInPlatformRequest message from the specified reader or buffer.
                          * @function decode
-                         * @memberof org.dash.platform.dapi.v0.GetStatusResponse
+                         * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest
                          * @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.GetStatusResponse} GetStatusResponse
+                         * @returns {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest} GetTotalCreditsInPlatformRequest
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        GetStatusResponse.decode = function decode(reader, length) {
+                        GetTotalCreditsInPlatformRequest.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.GetStatusResponse();
+                            var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
                                 switch (tag >>> 3) {
                                 case 1:
-                                    message.v0 = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.decode(reader, reader.uint32());
+                                    message.v0 = $root.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0.decode(reader, reader.uint32());
                                     break;
                                 default:
                                     reader.skipType(tag & 7);
@@ -40038,37 +41076,37 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Decodes a GetStatusResponse message from the specified reader or buffer, length delimited.
+                         * Decodes a GetTotalCreditsInPlatformRequest message from the specified reader or buffer, length delimited.
                          * @function decodeDelimited
-                         * @memberof org.dash.platform.dapi.v0.GetStatusResponse
+                         * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest
                          * @static
                          * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                         * @returns {org.dash.platform.dapi.v0.GetStatusResponse} GetStatusResponse
+                         * @returns {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest} GetTotalCreditsInPlatformRequest
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        GetStatusResponse.decodeDelimited = function decodeDelimited(reader) {
+                        GetTotalCreditsInPlatformRequest.decodeDelimited = function decodeDelimited(reader) {
                             if (!(reader instanceof $Reader))
                                 reader = new $Reader(reader);
                             return this.decode(reader, reader.uint32());
                         };
 
                         /**
-                         * Verifies a GetStatusResponse message.
+                         * Verifies a GetTotalCreditsInPlatformRequest message.
                          * @function verify
-                         * @memberof org.dash.platform.dapi.v0.GetStatusResponse
+                         * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest
                          * @static
                          * @param {Object.} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        GetStatusResponse.verify = function verify(message) {
+                        GetTotalCreditsInPlatformRequest.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.GetStatusResponse.GetStatusResponseV0.verify(message.v0);
+                                    var error = $root.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0.verify(message.v0);
                                     if (error)
                                         return "v0." + error;
                                 }
@@ -40077,40 +41115,40 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Creates a GetStatusResponse message from a plain object. Also converts values to their respective internal types.
+                         * Creates a GetTotalCreditsInPlatformRequest message from a plain object. Also converts values to their respective internal types.
                          * @function fromObject
-                         * @memberof org.dash.platform.dapi.v0.GetStatusResponse
+                         * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest
                          * @static
                          * @param {Object.} object Plain object
-                         * @returns {org.dash.platform.dapi.v0.GetStatusResponse} GetStatusResponse
+                         * @returns {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest} GetTotalCreditsInPlatformRequest
                          */
-                        GetStatusResponse.fromObject = function fromObject(object) {
-                            if (object instanceof $root.org.dash.platform.dapi.v0.GetStatusResponse)
+                        GetTotalCreditsInPlatformRequest.fromObject = function fromObject(object) {
+                            if (object instanceof $root.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest)
                                 return object;
-                            var message = new $root.org.dash.platform.dapi.v0.GetStatusResponse();
+                            var message = new $root.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest();
                             if (object.v0 != null) {
                                 if (typeof object.v0 !== "object")
-                                    throw TypeError(".org.dash.platform.dapi.v0.GetStatusResponse.v0: object expected");
-                                message.v0 = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.fromObject(object.v0);
+                                    throw TypeError(".org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.v0: object expected");
+                                message.v0 = $root.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0.fromObject(object.v0);
                             }
                             return message;
                         };
 
                         /**
-                         * Creates a plain object from a GetStatusResponse message. Also converts values to other types if specified.
+                         * Creates a plain object from a GetTotalCreditsInPlatformRequest message. Also converts values to other types if specified.
                          * @function toObject
-                         * @memberof org.dash.platform.dapi.v0.GetStatusResponse
+                         * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest
                          * @static
-                         * @param {org.dash.platform.dapi.v0.GetStatusResponse} message GetStatusResponse
+                         * @param {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest} message GetTotalCreditsInPlatformRequest
                          * @param {$protobuf.IConversionOptions} [options] Conversion options
                          * @returns {Object.} Plain object
                          */
-                        GetStatusResponse.toObject = function toObject(message, options) {
+                        GetTotalCreditsInPlatformRequest.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.GetStatusResponse.GetStatusResponseV0.toObject(message.v0, options);
+                                object.v0 = $root.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0.toObject(message.v0, options);
                                 if (options.oneofs)
                                     object.version = "v0";
                             }
@@ -40118,39 +41156,34 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Converts this GetStatusResponse to JSON.
+                         * Converts this GetTotalCreditsInPlatformRequest to JSON.
                          * @function toJSON
-                         * @memberof org.dash.platform.dapi.v0.GetStatusResponse
+                         * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest
                          * @instance
                          * @returns {Object.} JSON object
                          */
-                        GetStatusResponse.prototype.toJSON = function toJSON() {
+                        GetTotalCreditsInPlatformRequest.prototype.toJSON = function toJSON() {
                             return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
                         };
 
-                        GetStatusResponse.GetStatusResponseV0 = (function() {
+                        GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0 = (function() {
 
                             /**
-                             * Properties of a GetStatusResponseV0.
-                             * @memberof org.dash.platform.dapi.v0.GetStatusResponse
-                             * @interface IGetStatusResponseV0
-                             * @property {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.IVersion|null} [version] GetStatusResponseV0 version
-                             * @property {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.INode|null} [node] GetStatusResponseV0 node
-                             * @property {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.IChain|null} [chain] GetStatusResponseV0 chain
-                             * @property {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.INetwork|null} [network] GetStatusResponseV0 network
-                             * @property {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.IStateSync|null} [stateSync] GetStatusResponseV0 stateSync
-                             * @property {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.ITime|null} [time] GetStatusResponseV0 time
+                             * Properties of a GetTotalCreditsInPlatformRequestV0.
+                             * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest
+                             * @interface IGetTotalCreditsInPlatformRequestV0
+                             * @property {boolean|null} [prove] GetTotalCreditsInPlatformRequestV0 prove
                              */
 
                             /**
-                             * Constructs a new GetStatusResponseV0.
-                             * @memberof org.dash.platform.dapi.v0.GetStatusResponse
-                             * @classdesc Represents a GetStatusResponseV0.
-                             * @implements IGetStatusResponseV0
+                             * Constructs a new GetTotalCreditsInPlatformRequestV0.
+                             * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest
+                             * @classdesc Represents a GetTotalCreditsInPlatformRequestV0.
+                             * @implements IGetTotalCreditsInPlatformRequestV0
                              * @constructor
-                             * @param {org.dash.platform.dapi.v0.GetStatusResponse.IGetStatusResponseV0=} [properties] Properties to set
+                             * @param {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.IGetTotalCreditsInPlatformRequestV0=} [properties] Properties to set
                              */
-                            function GetStatusResponseV0(properties) {
+                            function GetTotalCreditsInPlatformRequestV0(properties) {
                                 if (properties)
                                     for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
                                         if (properties[keys[i]] != null)
@@ -40158,140 +41191,75 @@ $root.org = (function() {
                             }
 
                             /**
-                             * GetStatusResponseV0 version.
-                             * @member {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.IVersion|null|undefined} version
-                             * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0
-                             * @instance
-                             */
-                            GetStatusResponseV0.prototype.version = null;
-
-                            /**
-                             * GetStatusResponseV0 node.
-                             * @member {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.INode|null|undefined} node
-                             * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0
-                             * @instance
-                             */
-                            GetStatusResponseV0.prototype.node = null;
-
-                            /**
-                             * GetStatusResponseV0 chain.
-                             * @member {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.IChain|null|undefined} chain
-                             * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0
-                             * @instance
-                             */
-                            GetStatusResponseV0.prototype.chain = null;
-
-                            /**
-                             * GetStatusResponseV0 network.
-                             * @member {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.INetwork|null|undefined} network
-                             * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0
-                             * @instance
-                             */
-                            GetStatusResponseV0.prototype.network = null;
-
-                            /**
-                             * GetStatusResponseV0 stateSync.
-                             * @member {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.IStateSync|null|undefined} stateSync
-                             * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0
-                             * @instance
-                             */
-                            GetStatusResponseV0.prototype.stateSync = null;
-
-                            /**
-                             * GetStatusResponseV0 time.
-                             * @member {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.ITime|null|undefined} time
-                             * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0
+                             * GetTotalCreditsInPlatformRequestV0 prove.
+                             * @member {boolean} prove
+                             * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0
                              * @instance
                              */
-                            GetStatusResponseV0.prototype.time = null;
+                            GetTotalCreditsInPlatformRequestV0.prototype.prove = false;
 
                             /**
-                             * Creates a new GetStatusResponseV0 instance using the specified properties.
+                             * Creates a new GetTotalCreditsInPlatformRequestV0 instance using the specified properties.
                              * @function create
-                             * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetStatusResponse.IGetStatusResponseV0=} [properties] Properties to set
-                             * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0} GetStatusResponseV0 instance
+                             * @param {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.IGetTotalCreditsInPlatformRequestV0=} [properties] Properties to set
+                             * @returns {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0} GetTotalCreditsInPlatformRequestV0 instance
                              */
-                            GetStatusResponseV0.create = function create(properties) {
-                                return new GetStatusResponseV0(properties);
+                            GetTotalCreditsInPlatformRequestV0.create = function create(properties) {
+                                return new GetTotalCreditsInPlatformRequestV0(properties);
                             };
 
                             /**
-                             * Encodes the specified GetStatusResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.verify|verify} messages.
+                             * Encodes the specified GetTotalCreditsInPlatformRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0.verify|verify} messages.
                              * @function encode
-                             * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetStatusResponse.IGetStatusResponseV0} message GetStatusResponseV0 message or plain object to encode
+                             * @param {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.IGetTotalCreditsInPlatformRequestV0} message GetTotalCreditsInPlatformRequestV0 message or plain object to encode
                              * @param {$protobuf.Writer} [writer] Writer to encode to
                              * @returns {$protobuf.Writer} Writer
                              */
-                            GetStatusResponseV0.encode = function encode(message, writer) {
+                            GetTotalCreditsInPlatformRequestV0.encode = function encode(message, writer) {
                                 if (!writer)
                                     writer = $Writer.create();
-                                if (message.version != null && Object.hasOwnProperty.call(message, "version"))
-                                    $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.encode(message.version, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
-                                if (message.node != null && Object.hasOwnProperty.call(message, "node"))
-                                    $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.encode(message.node, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
-                                if (message.chain != null && Object.hasOwnProperty.call(message, "chain"))
-                                    $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.encode(message.chain, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
-                                if (message.network != null && Object.hasOwnProperty.call(message, "network"))
-                                    $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network.encode(message.network, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim();
-                                if (message.stateSync != null && Object.hasOwnProperty.call(message, "stateSync"))
-                                    $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.encode(message.stateSync, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim();
-                                if (message.time != null && Object.hasOwnProperty.call(message, "time"))
-                                    $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.encode(message.time, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim();
+                                if (message.prove != null && Object.hasOwnProperty.call(message, "prove"))
+                                    writer.uint32(/* id 1, wireType 0 =*/8).bool(message.prove);
                                 return writer;
                             };
 
                             /**
-                             * Encodes the specified GetStatusResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.verify|verify} messages.
+                             * Encodes the specified GetTotalCreditsInPlatformRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0.verify|verify} messages.
                              * @function encodeDelimited
-                             * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetStatusResponse.IGetStatusResponseV0} message GetStatusResponseV0 message or plain object to encode
+                             * @param {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.IGetTotalCreditsInPlatformRequestV0} message GetTotalCreditsInPlatformRequestV0 message or plain object to encode
                              * @param {$protobuf.Writer} [writer] Writer to encode to
                              * @returns {$protobuf.Writer} Writer
                              */
-                            GetStatusResponseV0.encodeDelimited = function encodeDelimited(message, writer) {
+                            GetTotalCreditsInPlatformRequestV0.encodeDelimited = function encodeDelimited(message, writer) {
                                 return this.encode(message, writer).ldelim();
                             };
 
                             /**
-                             * Decodes a GetStatusResponseV0 message from the specified reader or buffer.
+                             * Decodes a GetTotalCreditsInPlatformRequestV0 message from the specified reader or buffer.
                              * @function decode
-                             * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0
                              * @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.GetStatusResponse.GetStatusResponseV0} GetStatusResponseV0
+                             * @returns {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0} GetTotalCreditsInPlatformRequestV0
                              * @throws {Error} If the payload is not a reader or valid buffer
                              * @throws {$protobuf.util.ProtocolError} If required fields are missing
                              */
-                            GetStatusResponseV0.decode = function decode(reader, length) {
+                            GetTotalCreditsInPlatformRequestV0.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.GetStatusResponse.GetStatusResponseV0();
+                                var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0();
                                 while (reader.pos < end) {
                                     var tag = reader.uint32();
                                     switch (tag >>> 3) {
                                     case 1:
-                                        message.version = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.decode(reader, reader.uint32());
-                                        break;
-                                    case 2:
-                                        message.node = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.decode(reader, reader.uint32());
-                                        break;
-                                    case 3:
-                                        message.chain = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.decode(reader, reader.uint32());
-                                        break;
-                                    case 4:
-                                        message.network = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network.decode(reader, reader.uint32());
-                                        break;
-                                    case 5:
-                                        message.stateSync = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.decode(reader, reader.uint32());
-                                        break;
-                                    case 6:
-                                        message.time = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.decode(reader, reader.uint32());
+                                        message.prove = reader.bool();
                                         break;
                                     default:
                                         reader.skipType(tag & 7);
@@ -40302,1270 +41270,1559 @@ $root.org = (function() {
                             };
 
                             /**
-                             * Decodes a GetStatusResponseV0 message from the specified reader or buffer, length delimited.
+                             * Decodes a GetTotalCreditsInPlatformRequestV0 message from the specified reader or buffer, length delimited.
                              * @function decodeDelimited
-                             * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0
                              * @static
                              * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                             * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0} GetStatusResponseV0
+                             * @returns {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0} GetTotalCreditsInPlatformRequestV0
                              * @throws {Error} If the payload is not a reader or valid buffer
                              * @throws {$protobuf.util.ProtocolError} If required fields are missing
                              */
-                            GetStatusResponseV0.decodeDelimited = function decodeDelimited(reader) {
+                            GetTotalCreditsInPlatformRequestV0.decodeDelimited = function decodeDelimited(reader) {
                                 if (!(reader instanceof $Reader))
                                     reader = new $Reader(reader);
                                 return this.decode(reader, reader.uint32());
                             };
 
                             /**
-                             * Verifies a GetStatusResponseV0 message.
+                             * Verifies a GetTotalCreditsInPlatformRequestV0 message.
                              * @function verify
-                             * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0
                              * @static
                              * @param {Object.} message Plain object to verify
                              * @returns {string|null} `null` if valid, otherwise the reason why it is not
                              */
-                            GetStatusResponseV0.verify = function verify(message) {
+                            GetTotalCreditsInPlatformRequestV0.verify = function verify(message) {
                                 if (typeof message !== "object" || message === null)
                                     return "object expected";
-                                if (message.version != null && message.hasOwnProperty("version")) {
-                                    var error = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.verify(message.version);
-                                    if (error)
-                                        return "version." + error;
-                                }
-                                if (message.node != null && message.hasOwnProperty("node")) {
-                                    var error = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.verify(message.node);
-                                    if (error)
-                                        return "node." + error;
-                                }
-                                if (message.chain != null && message.hasOwnProperty("chain")) {
-                                    var error = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.verify(message.chain);
-                                    if (error)
-                                        return "chain." + error;
-                                }
-                                if (message.network != null && message.hasOwnProperty("network")) {
-                                    var error = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network.verify(message.network);
-                                    if (error)
-                                        return "network." + error;
-                                }
-                                if (message.stateSync != null && message.hasOwnProperty("stateSync")) {
-                                    var error = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.verify(message.stateSync);
-                                    if (error)
-                                        return "stateSync." + error;
-                                }
-                                if (message.time != null && message.hasOwnProperty("time")) {
-                                    var error = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.verify(message.time);
-                                    if (error)
-                                        return "time." + error;
-                                }
+                                if (message.prove != null && message.hasOwnProperty("prove"))
+                                    if (typeof message.prove !== "boolean")
+                                        return "prove: boolean expected";
                                 return null;
                             };
 
                             /**
-                             * Creates a GetStatusResponseV0 message from a plain object. Also converts values to their respective internal types.
+                             * Creates a GetTotalCreditsInPlatformRequestV0 message from a plain object. Also converts values to their respective internal types.
                              * @function fromObject
-                             * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0
                              * @static
                              * @param {Object.} object Plain object
-                             * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0} GetStatusResponseV0
+                             * @returns {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0} GetTotalCreditsInPlatformRequestV0
                              */
-                            GetStatusResponseV0.fromObject = function fromObject(object) {
-                                if (object instanceof $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0)
-                                    return object;
-                                var message = new $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0();
-                                if (object.version != null) {
-                                    if (typeof object.version !== "object")
-                                        throw TypeError(".org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.version: object expected");
-                                    message.version = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.fromObject(object.version);
-                                }
-                                if (object.node != null) {
-                                    if (typeof object.node !== "object")
-                                        throw TypeError(".org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.node: object expected");
-                                    message.node = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.fromObject(object.node);
-                                }
-                                if (object.chain != null) {
-                                    if (typeof object.chain !== "object")
-                                        throw TypeError(".org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.chain: object expected");
-                                    message.chain = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.fromObject(object.chain);
-                                }
-                                if (object.network != null) {
-                                    if (typeof object.network !== "object")
-                                        throw TypeError(".org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.network: object expected");
-                                    message.network = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network.fromObject(object.network);
-                                }
-                                if (object.stateSync != null) {
-                                    if (typeof object.stateSync !== "object")
-                                        throw TypeError(".org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.stateSync: object expected");
-                                    message.stateSync = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.fromObject(object.stateSync);
-                                }
-                                if (object.time != null) {
-                                    if (typeof object.time !== "object")
-                                        throw TypeError(".org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.time: object expected");
-                                    message.time = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.fromObject(object.time);
-                                }
+                            GetTotalCreditsInPlatformRequestV0.fromObject = function fromObject(object) {
+                                if (object instanceof $root.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0)
+                                    return object;
+                                var message = new $root.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0();
+                                if (object.prove != null)
+                                    message.prove = Boolean(object.prove);
                                 return message;
                             };
 
                             /**
-                             * Creates a plain object from a GetStatusResponseV0 message. Also converts values to other types if specified.
+                             * Creates a plain object from a GetTotalCreditsInPlatformRequestV0 message. Also converts values to other types if specified.
                              * @function toObject
-                             * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0} message GetStatusResponseV0
+                             * @param {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0} message GetTotalCreditsInPlatformRequestV0
                              * @param {$protobuf.IConversionOptions} [options] Conversion options
                              * @returns {Object.} Plain object
                              */
-                            GetStatusResponseV0.toObject = function toObject(message, options) {
+                            GetTotalCreditsInPlatformRequestV0.toObject = function toObject(message, options) {
                                 if (!options)
                                     options = {};
                                 var object = {};
-                                if (options.defaults) {
-                                    object.version = null;
-                                    object.node = null;
-                                    object.chain = null;
-                                    object.network = null;
-                                    object.stateSync = null;
-                                    object.time = null;
-                                }
-                                if (message.version != null && message.hasOwnProperty("version"))
-                                    object.version = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.toObject(message.version, options);
-                                if (message.node != null && message.hasOwnProperty("node"))
-                                    object.node = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.toObject(message.node, options);
-                                if (message.chain != null && message.hasOwnProperty("chain"))
-                                    object.chain = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.toObject(message.chain, options);
-                                if (message.network != null && message.hasOwnProperty("network"))
-                                    object.network = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network.toObject(message.network, options);
-                                if (message.stateSync != null && message.hasOwnProperty("stateSync"))
-                                    object.stateSync = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.toObject(message.stateSync, options);
-                                if (message.time != null && message.hasOwnProperty("time"))
-                                    object.time = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.toObject(message.time, options);
+                                if (options.defaults)
+                                    object.prove = false;
+                                if (message.prove != null && message.hasOwnProperty("prove"))
+                                    object.prove = message.prove;
                                 return object;
                             };
 
                             /**
-                             * Converts this GetStatusResponseV0 to JSON.
+                             * Converts this GetTotalCreditsInPlatformRequestV0 to JSON.
                              * @function toJSON
-                             * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0
                              * @instance
                              * @returns {Object.} JSON object
                              */
-                            GetStatusResponseV0.prototype.toJSON = function toJSON() {
+                            GetTotalCreditsInPlatformRequestV0.prototype.toJSON = function toJSON() {
                                 return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
                             };
 
-                            GetStatusResponseV0.Version = (function() {
+                            return GetTotalCreditsInPlatformRequestV0;
+                        })();
 
-                                /**
-                                 * Properties of a Version.
-                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0
-                                 * @interface IVersion
-                                 * @property {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.ISoftware|null} [software] Version software
-                                 * @property {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.IProtocol|null} [protocol] Version protocol
-                                 */
+                        return GetTotalCreditsInPlatformRequest;
+                    })();
 
-                                /**
-                                 * Constructs a new Version.
-                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0
-                                 * @classdesc Represents a Version.
-                                 * @implements IVersion
-                                 * @constructor
-                                 * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.IVersion=} [properties] Properties to set
-                                 */
-                                function Version(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]];
-                                }
+                    v0.GetTotalCreditsInPlatformResponse = (function() {
 
-                                /**
-                                 * Version software.
-                                 * @member {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.ISoftware|null|undefined} software
-                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version
-                                 * @instance
-                                 */
-                                Version.prototype.software = null;
+                        /**
+                         * Properties of a GetTotalCreditsInPlatformResponse.
+                         * @memberof org.dash.platform.dapi.v0
+                         * @interface IGetTotalCreditsInPlatformResponse
+                         * @property {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.IGetTotalCreditsInPlatformResponseV0|null} [v0] GetTotalCreditsInPlatformResponse v0
+                         */
 
-                                /**
-                                 * Version protocol.
-                                 * @member {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.IProtocol|null|undefined} protocol
-                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version
-                                 * @instance
-                                 */
-                                Version.prototype.protocol = null;
+                        /**
+                         * Constructs a new GetTotalCreditsInPlatformResponse.
+                         * @memberof org.dash.platform.dapi.v0
+                         * @classdesc Represents a GetTotalCreditsInPlatformResponse.
+                         * @implements IGetTotalCreditsInPlatformResponse
+                         * @constructor
+                         * @param {org.dash.platform.dapi.v0.IGetTotalCreditsInPlatformResponse=} [properties] Properties to set
+                         */
+                        function GetTotalCreditsInPlatformResponse(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 new Version instance using the specified properties.
-                                 * @function create
-                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version
-                                 * @static
-                                 * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.IVersion=} [properties] Properties to set
-                                 * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version} Version instance
-                                 */
-                                Version.create = function create(properties) {
-                                    return new Version(properties);
-                                };
+                        /**
+                         * GetTotalCreditsInPlatformResponse v0.
+                         * @member {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.IGetTotalCreditsInPlatformResponseV0|null|undefined} v0
+                         * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse
+                         * @instance
+                         */
+                        GetTotalCreditsInPlatformResponse.prototype.v0 = null;
 
-                                /**
-                                 * Encodes the specified Version message. Does not implicitly {@link org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.verify|verify} messages.
-                                 * @function encode
-                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version
-                                 * @static
-                                 * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.IVersion} message Version message or plain object to encode
-                                 * @param {$protobuf.Writer} [writer] Writer to encode to
-                                 * @returns {$protobuf.Writer} Writer
-                                 */
-                                Version.encode = function encode(message, writer) {
-                                    if (!writer)
-                                        writer = $Writer.create();
-                                    if (message.software != null && Object.hasOwnProperty.call(message, "software"))
-                                        $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.encode(message.software, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
-                                    if (message.protocol != null && Object.hasOwnProperty.call(message, "protocol"))
-                                        $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.encode(message.protocol, 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 Version message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.verify|verify} messages.
-                                 * @function encodeDelimited
-                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version
-                                 * @static
-                                 * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.IVersion} message Version message or plain object to encode
-                                 * @param {$protobuf.Writer} [writer] Writer to encode to
-                                 * @returns {$protobuf.Writer} Writer
-                                 */
-                                Version.encodeDelimited = function encodeDelimited(message, writer) {
-                                    return this.encode(message, writer).ldelim();
-                                };
+                        /**
+                         * GetTotalCreditsInPlatformResponse version.
+                         * @member {"v0"|undefined} version
+                         * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse
+                         * @instance
+                         */
+                        Object.defineProperty(GetTotalCreditsInPlatformResponse.prototype, "version", {
+                            get: $util.oneOfGetter($oneOfFields = ["v0"]),
+                            set: $util.oneOfSetter($oneOfFields)
+                        });
 
-                                /**
-                                 * Decodes a Version message from the specified reader or buffer.
-                                 * @function decode
-                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version
-                                 * @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.GetStatusResponse.GetStatusResponseV0.Version} Version
-                                 * @throws {Error} If the payload is not a reader or valid buffer
-                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
-                                 */
-                                Version.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.GetStatusResponse.GetStatusResponseV0.Version();
-                                    while (reader.pos < end) {
-                                        var tag = reader.uint32();
-                                        switch (tag >>> 3) {
-                                        case 1:
-                                            message.software = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.decode(reader, reader.uint32());
-                                            break;
-                                        case 2:
-                                            message.protocol = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.decode(reader, reader.uint32());
-                                            break;
-                                        default:
-                                            reader.skipType(tag & 7);
-                                            break;
-                                        }
-                                    }
-                                    return message;
-                                };
+                        /**
+                         * Creates a new GetTotalCreditsInPlatformResponse instance using the specified properties.
+                         * @function create
+                         * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse
+                         * @static
+                         * @param {org.dash.platform.dapi.v0.IGetTotalCreditsInPlatformResponse=} [properties] Properties to set
+                         * @returns {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse} GetTotalCreditsInPlatformResponse instance
+                         */
+                        GetTotalCreditsInPlatformResponse.create = function create(properties) {
+                            return new GetTotalCreditsInPlatformResponse(properties);
+                        };
 
-                                /**
-                                 * Decodes a Version message from the specified reader or buffer, length delimited.
-                                 * @function decodeDelimited
-                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version
-                                 * @static
-                                 * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                                 * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version} Version
-                                 * @throws {Error} If the payload is not a reader or valid buffer
-                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
-                                 */
-                                Version.decodeDelimited = function decodeDelimited(reader) {
-                                    if (!(reader instanceof $Reader))
-                                        reader = new $Reader(reader);
-                                    return this.decode(reader, reader.uint32());
-                                };
+                        /**
+                         * Encodes the specified GetTotalCreditsInPlatformResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.verify|verify} messages.
+                         * @function encode
+                         * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse
+                         * @static
+                         * @param {org.dash.platform.dapi.v0.IGetTotalCreditsInPlatformResponse} message GetTotalCreditsInPlatformResponse message or plain object to encode
+                         * @param {$protobuf.Writer} [writer] Writer to encode to
+                         * @returns {$protobuf.Writer} Writer
+                         */
+                        GetTotalCreditsInPlatformResponse.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.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+                            return writer;
+                        };
 
-                                /**
-                                 * Verifies a Version message.
-                                 * @function verify
-                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version
-                                 * @static
-                                 * @param {Object.} message Plain object to verify
-                                 * @returns {string|null} `null` if valid, otherwise the reason why it is not
-                                 */
-                                Version.verify = function verify(message) {
-                                    if (typeof message !== "object" || message === null)
-                                        return "object expected";
-                                    if (message.software != null && message.hasOwnProperty("software")) {
-                                        var error = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.verify(message.software);
-                                        if (error)
-                                            return "software." + error;
-                                    }
-                                    if (message.protocol != null && message.hasOwnProperty("protocol")) {
-                                        var error = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.verify(message.protocol);
-                                        if (error)
-                                            return "protocol." + error;
-                                    }
-                                    return null;
-                                };
+                        /**
+                         * Encodes the specified GetTotalCreditsInPlatformResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.verify|verify} messages.
+                         * @function encodeDelimited
+                         * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse
+                         * @static
+                         * @param {org.dash.platform.dapi.v0.IGetTotalCreditsInPlatformResponse} message GetTotalCreditsInPlatformResponse message or plain object to encode
+                         * @param {$protobuf.Writer} [writer] Writer to encode to
+                         * @returns {$protobuf.Writer} Writer
+                         */
+                        GetTotalCreditsInPlatformResponse.encodeDelimited = function encodeDelimited(message, writer) {
+                            return this.encode(message, writer).ldelim();
+                        };
 
-                                /**
-                                 * Creates a Version message from a plain object. Also converts values to their respective internal types.
-                                 * @function fromObject
-                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version
-                                 * @static
-                                 * @param {Object.} object Plain object
-                                 * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version} Version
-                                 */
-                                Version.fromObject = function fromObject(object) {
-                                    if (object instanceof $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version)
-                                        return object;
-                                    var message = new $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version();
-                                    if (object.software != null) {
-                                        if (typeof object.software !== "object")
-                                            throw TypeError(".org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.software: object expected");
-                                        message.software = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.fromObject(object.software);
-                                    }
-                                    if (object.protocol != null) {
-                                        if (typeof object.protocol !== "object")
-                                            throw TypeError(".org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.protocol: object expected");
-                                        message.protocol = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.fromObject(object.protocol);
-                                    }
-                                    return message;
-                                };
+                        /**
+                         * Decodes a GetTotalCreditsInPlatformResponse message from the specified reader or buffer.
+                         * @function decode
+                         * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse
+                         * @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.GetTotalCreditsInPlatformResponse} GetTotalCreditsInPlatformResponse
+                         * @throws {Error} If the payload is not a reader or valid buffer
+                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
+                         */
+                        GetTotalCreditsInPlatformResponse.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.GetTotalCreditsInPlatformResponse();
+                            while (reader.pos < end) {
+                                var tag = reader.uint32();
+                                switch (tag >>> 3) {
+                                case 1:
+                                    message.v0 = $root.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.decode(reader, reader.uint32());
+                                    break;
+                                default:
+                                    reader.skipType(tag & 7);
+                                    break;
+                                }
+                            }
+                            return message;
+                        };
 
-                                /**
-                                 * Creates a plain object from a Version message. Also converts values to other types if specified.
-                                 * @function toObject
-                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version
-                                 * @static
-                                 * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version} message Version
-                                 * @param {$protobuf.IConversionOptions} [options] Conversion options
-                                 * @returns {Object.} Plain object
-                                 */
-                                Version.toObject = function toObject(message, options) {
-                                    if (!options)
-                                        options = {};
-                                    var object = {};
-                                    if (options.defaults) {
-                                        object.software = null;
-                                        object.protocol = null;
-                                    }
-                                    if (message.software != null && message.hasOwnProperty("software"))
-                                        object.software = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.toObject(message.software, options);
-                                    if (message.protocol != null && message.hasOwnProperty("protocol"))
-                                        object.protocol = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.toObject(message.protocol, options);
-                                    return object;
-                                };
+                        /**
+                         * Decodes a GetTotalCreditsInPlatformResponse message from the specified reader or buffer, length delimited.
+                         * @function decodeDelimited
+                         * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse
+                         * @static
+                         * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+                         * @returns {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse} GetTotalCreditsInPlatformResponse
+                         * @throws {Error} If the payload is not a reader or valid buffer
+                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
+                         */
+                        GetTotalCreditsInPlatformResponse.decodeDelimited = function decodeDelimited(reader) {
+                            if (!(reader instanceof $Reader))
+                                reader = new $Reader(reader);
+                            return this.decode(reader, reader.uint32());
+                        };
 
-                                /**
-                                 * Converts this Version to JSON.
-                                 * @function toJSON
-                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version
-                                 * @instance
-                                 * @returns {Object.} JSON object
-                                 */
-                                Version.prototype.toJSON = function toJSON() {
-                                    return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
-                                };
+                        /**
+                         * Verifies a GetTotalCreditsInPlatformResponse message.
+                         * @function verify
+                         * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse
+                         * @static
+                         * @param {Object.} message Plain object to verify
+                         * @returns {string|null} `null` if valid, otherwise the reason why it is not
+                         */
+                        GetTotalCreditsInPlatformResponse.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.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.verify(message.v0);
+                                    if (error)
+                                        return "v0." + error;
+                                }
+                            }
+                            return null;
+                        };
 
-                                Version.Software = (function() {
+                        /**
+                         * Creates a GetTotalCreditsInPlatformResponse message from a plain object. Also converts values to their respective internal types.
+                         * @function fromObject
+                         * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse
+                         * @static
+                         * @param {Object.} object Plain object
+                         * @returns {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse} GetTotalCreditsInPlatformResponse
+                         */
+                        GetTotalCreditsInPlatformResponse.fromObject = function fromObject(object) {
+                            if (object instanceof $root.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse)
+                                return object;
+                            var message = new $root.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse();
+                            if (object.v0 != null) {
+                                if (typeof object.v0 !== "object")
+                                    throw TypeError(".org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.v0: object expected");
+                                message.v0 = $root.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.fromObject(object.v0);
+                            }
+                            return message;
+                        };
 
-                                    /**
-                                     * Properties of a Software.
-                                     * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version
-                                     * @interface ISoftware
-                                     * @property {string|null} [dapi] Software dapi
-                                     * @property {string|null} [drive] Software drive
-                                     * @property {string|null} [tenderdash] Software tenderdash
-                                     */
+                        /**
+                         * Creates a plain object from a GetTotalCreditsInPlatformResponse message. Also converts values to other types if specified.
+                         * @function toObject
+                         * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse
+                         * @static
+                         * @param {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse} message GetTotalCreditsInPlatformResponse
+                         * @param {$protobuf.IConversionOptions} [options] Conversion options
+                         * @returns {Object.} Plain object
+                         */
+                        GetTotalCreditsInPlatformResponse.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.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.toObject(message.v0, options);
+                                if (options.oneofs)
+                                    object.version = "v0";
+                            }
+                            return object;
+                        };
 
-                                    /**
-                                     * Constructs a new Software.
-                                     * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version
-                                     * @classdesc Represents a Software.
-                                     * @implements ISoftware
-                                     * @constructor
-                                     * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.ISoftware=} [properties] Properties to set
-                                     */
-                                    function Software(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 GetTotalCreditsInPlatformResponse to JSON.
+                         * @function toJSON
+                         * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse
+                         * @instance
+                         * @returns {Object.} JSON object
+                         */
+                        GetTotalCreditsInPlatformResponse.prototype.toJSON = function toJSON() {
+                            return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+                        };
 
-                                    /**
-                                     * Software dapi.
-                                     * @member {string} dapi
-                                     * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software
-                                     * @instance
-                                     */
-                                    Software.prototype.dapi = "";
+                        GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0 = (function() {
 
-                                    /**
-                                     * Software drive.
-                                     * @member {string} drive
-                                     * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software
-                                     * @instance
-                                     */
-                                    Software.prototype.drive = "";
+                            /**
+                             * Properties of a GetTotalCreditsInPlatformResponseV0.
+                             * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse
+                             * @interface IGetTotalCreditsInPlatformResponseV0
+                             * @property {number|Long|null} [credits] GetTotalCreditsInPlatformResponseV0 credits
+                             * @property {org.dash.platform.dapi.v0.IProof|null} [proof] GetTotalCreditsInPlatformResponseV0 proof
+                             * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetTotalCreditsInPlatformResponseV0 metadata
+                             */
 
-                                    /**
-                                     * Software tenderdash.
-                                     * @member {string} tenderdash
-                                     * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software
-                                     * @instance
-                                     */
-                                    Software.prototype.tenderdash = "";
+                            /**
+                             * Constructs a new GetTotalCreditsInPlatformResponseV0.
+                             * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse
+                             * @classdesc Represents a GetTotalCreditsInPlatformResponseV0.
+                             * @implements IGetTotalCreditsInPlatformResponseV0
+                             * @constructor
+                             * @param {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.IGetTotalCreditsInPlatformResponseV0=} [properties] Properties to set
+                             */
+                            function GetTotalCreditsInPlatformResponseV0(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 new Software instance using the specified properties.
-                                     * @function create
-                                     * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software
-                                     * @static
-                                     * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.ISoftware=} [properties] Properties to set
-                                     * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software} Software instance
-                                     */
-                                    Software.create = function create(properties) {
-                                        return new Software(properties);
-                                    };
+                            /**
+                             * GetTotalCreditsInPlatformResponseV0 credits.
+                             * @member {number|Long} credits
+                             * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0
+                             * @instance
+                             */
+                            GetTotalCreditsInPlatformResponseV0.prototype.credits = $util.Long ? $util.Long.fromBits(0,0,true) : 0;
 
-                                    /**
-                                     * Encodes the specified Software message. Does not implicitly {@link org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.verify|verify} messages.
-                                     * @function encode
-                                     * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software
-                                     * @static
-                                     * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.ISoftware} message Software message or plain object to encode
-                                     * @param {$protobuf.Writer} [writer] Writer to encode to
-                                     * @returns {$protobuf.Writer} Writer
-                                     */
-                                    Software.encode = function encode(message, writer) {
-                                        if (!writer)
-                                            writer = $Writer.create();
-                                        if (message.dapi != null && Object.hasOwnProperty.call(message, "dapi"))
-                                            writer.uint32(/* id 1, wireType 2 =*/10).string(message.dapi);
-                                        if (message.drive != null && Object.hasOwnProperty.call(message, "drive"))
-                                            writer.uint32(/* id 2, wireType 2 =*/18).string(message.drive);
-                                        if (message.tenderdash != null && Object.hasOwnProperty.call(message, "tenderdash"))
-                                            writer.uint32(/* id 3, wireType 2 =*/26).string(message.tenderdash);
-                                        return writer;
-                                    };
+                            /**
+                             * GetTotalCreditsInPlatformResponseV0 proof.
+                             * @member {org.dash.platform.dapi.v0.IProof|null|undefined} proof
+                             * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0
+                             * @instance
+                             */
+                            GetTotalCreditsInPlatformResponseV0.prototype.proof = null;
 
-                                    /**
-                                     * Encodes the specified Software message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.verify|verify} messages.
-                                     * @function encodeDelimited
-                                     * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software
-                                     * @static
-                                     * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.ISoftware} message Software message or plain object to encode
-                                     * @param {$protobuf.Writer} [writer] Writer to encode to
-                                     * @returns {$protobuf.Writer} Writer
-                                     */
-                                    Software.encodeDelimited = function encodeDelimited(message, writer) {
-                                        return this.encode(message, writer).ldelim();
-                                    };
+                            /**
+                             * GetTotalCreditsInPlatformResponseV0 metadata.
+                             * @member {org.dash.platform.dapi.v0.IResponseMetadata|null|undefined} metadata
+                             * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0
+                             * @instance
+                             */
+                            GetTotalCreditsInPlatformResponseV0.prototype.metadata = null;
 
-                                    /**
-                                     * Decodes a Software message from the specified reader or buffer.
-                                     * @function decode
-                                     * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software
-                                     * @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.GetStatusResponse.GetStatusResponseV0.Version.Software} Software
-                                     * @throws {Error} If the payload is not a reader or valid buffer
-                                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
-                                     */
-                                    Software.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.GetStatusResponse.GetStatusResponseV0.Version.Software();
-                                        while (reader.pos < end) {
-                                            var tag = reader.uint32();
-                                            switch (tag >>> 3) {
-                                            case 1:
-                                                message.dapi = reader.string();
-                                                break;
-                                            case 2:
-                                                message.drive = reader.string();
-                                                break;
-                                            case 3:
-                                                message.tenderdash = reader.string();
-                                                break;
-                                            default:
-                                                reader.skipType(tag & 7);
-                                                break;
-                                            }
-                                        }
-                                        return message;
-                                    };
+                            // OneOf field names bound to virtual getters and setters
+                            var $oneOfFields;
 
-                                    /**
-                                     * Decodes a Software message from the specified reader or buffer, length delimited.
-                                     * @function decodeDelimited
-                                     * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software
-                                     * @static
-                                     * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                                     * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software} Software
-                                     * @throws {Error} If the payload is not a reader or valid buffer
-                                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
-                                     */
-                                    Software.decodeDelimited = function decodeDelimited(reader) {
-                                        if (!(reader instanceof $Reader))
-                                            reader = new $Reader(reader);
-                                        return this.decode(reader, reader.uint32());
-                                    };
+                            /**
+                             * GetTotalCreditsInPlatformResponseV0 result.
+                             * @member {"credits"|"proof"|undefined} result
+                             * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0
+                             * @instance
+                             */
+                            Object.defineProperty(GetTotalCreditsInPlatformResponseV0.prototype, "result", {
+                                get: $util.oneOfGetter($oneOfFields = ["credits", "proof"]),
+                                set: $util.oneOfSetter($oneOfFields)
+                            });
 
-                                    /**
-                                     * Verifies a Software message.
-                                     * @function verify
-                                     * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software
-                                     * @static
-                                     * @param {Object.} message Plain object to verify
-                                     * @returns {string|null} `null` if valid, otherwise the reason why it is not
-                                     */
-                                    Software.verify = function verify(message) {
-                                        if (typeof message !== "object" || message === null)
-                                            return "object expected";
-                                        if (message.dapi != null && message.hasOwnProperty("dapi"))
-                                            if (!$util.isString(message.dapi))
-                                                return "dapi: string expected";
-                                        if (message.drive != null && message.hasOwnProperty("drive"))
-                                            if (!$util.isString(message.drive))
-                                                return "drive: string expected";
-                                        if (message.tenderdash != null && message.hasOwnProperty("tenderdash"))
-                                            if (!$util.isString(message.tenderdash))
-                                                return "tenderdash: string expected";
-                                        return null;
-                                    };
+                            /**
+                             * Creates a new GetTotalCreditsInPlatformResponseV0 instance using the specified properties.
+                             * @function create
+                             * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0
+                             * @static
+                             * @param {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.IGetTotalCreditsInPlatformResponseV0=} [properties] Properties to set
+                             * @returns {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0} GetTotalCreditsInPlatformResponseV0 instance
+                             */
+                            GetTotalCreditsInPlatformResponseV0.create = function create(properties) {
+                                return new GetTotalCreditsInPlatformResponseV0(properties);
+                            };
 
-                                    /**
-                                     * Creates a Software message from a plain object. Also converts values to their respective internal types.
-                                     * @function fromObject
-                                     * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software
-                                     * @static
-                                     * @param {Object.} object Plain object
-                                     * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software} Software
-                                     */
-                                    Software.fromObject = function fromObject(object) {
-                                        if (object instanceof $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software)
-                                            return object;
-                                        var message = new $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software();
-                                        if (object.dapi != null)
-                                            message.dapi = String(object.dapi);
-                                        if (object.drive != null)
-                                            message.drive = String(object.drive);
-                                        if (object.tenderdash != null)
-                                            message.tenderdash = String(object.tenderdash);
-                                        return message;
-                                    };
+                            /**
+                             * Encodes the specified GetTotalCreditsInPlatformResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.verify|verify} messages.
+                             * @function encode
+                             * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0
+                             * @static
+                             * @param {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.IGetTotalCreditsInPlatformResponseV0} message GetTotalCreditsInPlatformResponseV0 message or plain object to encode
+                             * @param {$protobuf.Writer} [writer] Writer to encode to
+                             * @returns {$protobuf.Writer} Writer
+                             */
+                            GetTotalCreditsInPlatformResponseV0.encode = function encode(message, writer) {
+                                if (!writer)
+                                    writer = $Writer.create();
+                                if (message.credits != null && Object.hasOwnProperty.call(message, "credits"))
+                                    writer.uint32(/* id 1, wireType 0 =*/8).uint64(message.credits);
+                                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 plain object from a Software message. Also converts values to other types if specified.
-                                     * @function toObject
-                                     * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software
-                                     * @static
-                                     * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software} message Software
-                                     * @param {$protobuf.IConversionOptions} [options] Conversion options
-                                     * @returns {Object.} Plain object
-                                     */
-                                    Software.toObject = function toObject(message, options) {
-                                        if (!options)
-                                            options = {};
-                                        var object = {};
-                                        if (options.defaults) {
-                                            object.dapi = "";
-                                            object.drive = "";
-                                            object.tenderdash = "";
-                                        }
-                                        if (message.dapi != null && message.hasOwnProperty("dapi"))
-                                            object.dapi = message.dapi;
-                                        if (message.drive != null && message.hasOwnProperty("drive"))
-                                            object.drive = message.drive;
-                                        if (message.tenderdash != null && message.hasOwnProperty("tenderdash"))
-                                            object.tenderdash = message.tenderdash;
-                                        return object;
-                                    };
+                            /**
+                             * Encodes the specified GetTotalCreditsInPlatformResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.verify|verify} messages.
+                             * @function encodeDelimited
+                             * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0
+                             * @static
+                             * @param {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.IGetTotalCreditsInPlatformResponseV0} message GetTotalCreditsInPlatformResponseV0 message or plain object to encode
+                             * @param {$protobuf.Writer} [writer] Writer to encode to
+                             * @returns {$protobuf.Writer} Writer
+                             */
+                            GetTotalCreditsInPlatformResponseV0.encodeDelimited = function encodeDelimited(message, writer) {
+                                return this.encode(message, writer).ldelim();
+                            };
 
-                                    /**
-                                     * Converts this Software to JSON.
-                                     * @function toJSON
-                                     * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software
-                                     * @instance
-                                     * @returns {Object.} JSON object
-                                     */
-                                    Software.prototype.toJSON = function toJSON() {
-                                        return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
-                                    };
+                            /**
+                             * Decodes a GetTotalCreditsInPlatformResponseV0 message from the specified reader or buffer.
+                             * @function decode
+                             * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0
+                             * @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.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0} GetTotalCreditsInPlatformResponseV0
+                             * @throws {Error} If the payload is not a reader or valid buffer
+                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
+                             */
+                            GetTotalCreditsInPlatformResponseV0.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.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0();
+                                while (reader.pos < end) {
+                                    var tag = reader.uint32();
+                                    switch (tag >>> 3) {
+                                    case 1:
+                                        message.credits = 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;
+                            };
 
-                                    return Software;
-                                })();
+                            /**
+                             * Decodes a GetTotalCreditsInPlatformResponseV0 message from the specified reader or buffer, length delimited.
+                             * @function decodeDelimited
+                             * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0
+                             * @static
+                             * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+                             * @returns {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0} GetTotalCreditsInPlatformResponseV0
+                             * @throws {Error} If the payload is not a reader or valid buffer
+                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
+                             */
+                            GetTotalCreditsInPlatformResponseV0.decodeDelimited = function decodeDelimited(reader) {
+                                if (!(reader instanceof $Reader))
+                                    reader = new $Reader(reader);
+                                return this.decode(reader, reader.uint32());
+                            };
 
-                                Version.Protocol = (function() {
+                            /**
+                             * Verifies a GetTotalCreditsInPlatformResponseV0 message.
+                             * @function verify
+                             * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0
+                             * @static
+                             * @param {Object.} message Plain object to verify
+                             * @returns {string|null} `null` if valid, otherwise the reason why it is not
+                             */
+                            GetTotalCreditsInPlatformResponseV0.verify = function verify(message) {
+                                if (typeof message !== "object" || message === null)
+                                    return "object expected";
+                                var properties = {};
+                                if (message.credits != null && message.hasOwnProperty("credits")) {
+                                    properties.result = 1;
+                                    if (!$util.isInteger(message.credits) && !(message.credits && $util.isInteger(message.credits.low) && $util.isInteger(message.credits.high)))
+                                        return "credits: 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;
+                            };
 
-                                    /**
-                                     * Properties of a Protocol.
-                                     * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version
-                                     * @interface IProtocol
-                                     * @property {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.ITenderdash|null} [tenderdash] Protocol tenderdash
-                                     * @property {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.IDrive|null} [drive] Protocol drive
-                                     */
+                            /**
+                             * Creates a GetTotalCreditsInPlatformResponseV0 message from a plain object. Also converts values to their respective internal types.
+                             * @function fromObject
+                             * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0
+                             * @static
+                             * @param {Object.} object Plain object
+                             * @returns {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0} GetTotalCreditsInPlatformResponseV0
+                             */
+                            GetTotalCreditsInPlatformResponseV0.fromObject = function fromObject(object) {
+                                if (object instanceof $root.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0)
+                                    return object;
+                                var message = new $root.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0();
+                                if (object.credits != null)
+                                    if ($util.Long)
+                                        (message.credits = $util.Long.fromValue(object.credits)).unsigned = true;
+                                    else if (typeof object.credits === "string")
+                                        message.credits = parseInt(object.credits, 10);
+                                    else if (typeof object.credits === "number")
+                                        message.credits = object.credits;
+                                    else if (typeof object.credits === "object")
+                                        message.credits = new $util.LongBits(object.credits.low >>> 0, object.credits.high >>> 0).toNumber(true);
+                                if (object.proof != null) {
+                                    if (typeof object.proof !== "object")
+                                        throw TypeError(".org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.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.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.metadata: object expected");
+                                    message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.fromObject(object.metadata);
+                                }
+                                return message;
+                            };
 
-                                    /**
-                                     * Constructs a new Protocol.
-                                     * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version
-                                     * @classdesc Represents a Protocol.
-                                     * @implements IProtocol
-                                     * @constructor
-                                     * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.IProtocol=} [properties] Properties to set
-                                     */
-                                    function Protocol(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 GetTotalCreditsInPlatformResponseV0 message. Also converts values to other types if specified.
+                             * @function toObject
+                             * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0
+                             * @static
+                             * @param {org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0} message GetTotalCreditsInPlatformResponseV0
+                             * @param {$protobuf.IConversionOptions} [options] Conversion options
+                             * @returns {Object.} Plain object
+                             */
+                            GetTotalCreditsInPlatformResponseV0.toObject = function toObject(message, options) {
+                                if (!options)
+                                    options = {};
+                                var object = {};
+                                if (options.defaults)
+                                    object.metadata = null;
+                                if (message.credits != null && message.hasOwnProperty("credits")) {
+                                    if (typeof message.credits === "number")
+                                        object.credits = options.longs === String ? String(message.credits) : message.credits;
+                                    else
+                                        object.credits = options.longs === String ? $util.Long.prototype.toString.call(message.credits) : options.longs === Number ? new $util.LongBits(message.credits.low >>> 0, message.credits.high >>> 0).toNumber(true) : message.credits;
+                                    if (options.oneofs)
+                                        object.result = "credits";
+                                }
+                                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;
+                            };
 
-                                    /**
-                                     * Protocol tenderdash.
-                                     * @member {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.ITenderdash|null|undefined} tenderdash
-                                     * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol
-                                     * @instance
-                                     */
-                                    Protocol.prototype.tenderdash = null;
+                            /**
+                             * Converts this GetTotalCreditsInPlatformResponseV0 to JSON.
+                             * @function toJSON
+                             * @memberof org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0
+                             * @instance
+                             * @returns {Object.} JSON object
+                             */
+                            GetTotalCreditsInPlatformResponseV0.prototype.toJSON = function toJSON() {
+                                return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+                            };
 
-                                    /**
-                                     * Protocol drive.
-                                     * @member {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.IDrive|null|undefined} drive
-                                     * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol
-                                     * @instance
-                                     */
-                                    Protocol.prototype.drive = null;
+                            return GetTotalCreditsInPlatformResponseV0;
+                        })();
 
-                                    /**
-                                     * Creates a new Protocol instance using the specified properties.
-                                     * @function create
-                                     * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol
-                                     * @static
-                                     * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.IProtocol=} [properties] Properties to set
-                                     * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol} Protocol instance
-                                     */
-                                    Protocol.create = function create(properties) {
-                                        return new Protocol(properties);
-                                    };
+                        return GetTotalCreditsInPlatformResponse;
+                    })();
 
-                                    /**
-                                     * Encodes the specified Protocol message. Does not implicitly {@link org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.verify|verify} messages.
-                                     * @function encode
-                                     * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol
-                                     * @static
-                                     * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.IProtocol} message Protocol message or plain object to encode
-                                     * @param {$protobuf.Writer} [writer] Writer to encode to
-                                     * @returns {$protobuf.Writer} Writer
-                                     */
-                                    Protocol.encode = function encode(message, writer) {
-                                        if (!writer)
-                                            writer = $Writer.create();
-                                        if (message.tenderdash != null && Object.hasOwnProperty.call(message, "tenderdash"))
-                                            $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash.encode(message.tenderdash, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
-                                        if (message.drive != null && Object.hasOwnProperty.call(message, "drive"))
-                                            $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive.encode(message.drive, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
-                                        return writer;
-                                    };
+                    v0.GetPathElementsRequest = (function() {
 
-                                    /**
-                                     * Encodes the specified Protocol message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.verify|verify} messages.
-                                     * @function encodeDelimited
-                                     * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol
-                                     * @static
-                                     * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.IProtocol} message Protocol message or plain object to encode
-                                     * @param {$protobuf.Writer} [writer] Writer to encode to
-                                     * @returns {$protobuf.Writer} Writer
-                                     */
-                                    Protocol.encodeDelimited = function encodeDelimited(message, writer) {
-                                        return this.encode(message, writer).ldelim();
-                                    };
+                        /**
+                         * Properties of a GetPathElementsRequest.
+                         * @memberof org.dash.platform.dapi.v0
+                         * @interface IGetPathElementsRequest
+                         * @property {org.dash.platform.dapi.v0.GetPathElementsRequest.IGetPathElementsRequestV0|null} [v0] GetPathElementsRequest v0
+                         */
 
-                                    /**
-                                     * Decodes a Protocol message from the specified reader or buffer.
-                                     * @function decode
-                                     * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol
-                                     * @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.GetStatusResponse.GetStatusResponseV0.Version.Protocol} Protocol
-                                     * @throws {Error} If the payload is not a reader or valid buffer
-                                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
-                                     */
-                                    Protocol.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.GetStatusResponse.GetStatusResponseV0.Version.Protocol();
-                                        while (reader.pos < end) {
-                                            var tag = reader.uint32();
-                                            switch (tag >>> 3) {
-                                            case 1:
-                                                message.tenderdash = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash.decode(reader, reader.uint32());
-                                                break;
-                                            case 2:
-                                                message.drive = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive.decode(reader, reader.uint32());
-                                                break;
-                                            default:
-                                                reader.skipType(tag & 7);
-                                                break;
-                                            }
-                                        }
-                                        return message;
-                                    };
+                        /**
+                         * Constructs a new GetPathElementsRequest.
+                         * @memberof org.dash.platform.dapi.v0
+                         * @classdesc Represents a GetPathElementsRequest.
+                         * @implements IGetPathElementsRequest
+                         * @constructor
+                         * @param {org.dash.platform.dapi.v0.IGetPathElementsRequest=} [properties] Properties to set
+                         */
+                        function GetPathElementsRequest(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 a Protocol message from the specified reader or buffer, length delimited.
-                                     * @function decodeDelimited
-                                     * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol
-                                     * @static
-                                     * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                                     * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol} Protocol
-                                     * @throws {Error} If the payload is not a reader or valid buffer
-                                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
-                                     */
-                                    Protocol.decodeDelimited = function decodeDelimited(reader) {
-                                        if (!(reader instanceof $Reader))
-                                            reader = new $Reader(reader);
-                                        return this.decode(reader, reader.uint32());
-                                    };
+                        /**
+                         * GetPathElementsRequest v0.
+                         * @member {org.dash.platform.dapi.v0.GetPathElementsRequest.IGetPathElementsRequestV0|null|undefined} v0
+                         * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest
+                         * @instance
+                         */
+                        GetPathElementsRequest.prototype.v0 = null;
 
-                                    /**
-                                     * Verifies a Protocol message.
-                                     * @function verify
-                                     * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol
-                                     * @static
-                                     * @param {Object.} message Plain object to verify
-                                     * @returns {string|null} `null` if valid, otherwise the reason why it is not
-                                     */
-                                    Protocol.verify = function verify(message) {
-                                        if (typeof message !== "object" || message === null)
-                                            return "object expected";
-                                        if (message.tenderdash != null && message.hasOwnProperty("tenderdash")) {
-                                            var error = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash.verify(message.tenderdash);
-                                            if (error)
-                                                return "tenderdash." + error;
-                                        }
-                                        if (message.drive != null && message.hasOwnProperty("drive")) {
-                                            var error = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive.verify(message.drive);
-                                            if (error)
-                                                return "drive." + error;
-                                        }
-                                        return null;
-                                    };
+                        // OneOf field names bound to virtual getters and setters
+                        var $oneOfFields;
 
-                                    /**
-                                     * Creates a Protocol message from a plain object. Also converts values to their respective internal types.
-                                     * @function fromObject
-                                     * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol
-                                     * @static
-                                     * @param {Object.} object Plain object
-                                     * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol} Protocol
-                                     */
-                                    Protocol.fromObject = function fromObject(object) {
-                                        if (object instanceof $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol)
-                                            return object;
-                                        var message = new $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol();
-                                        if (object.tenderdash != null) {
-                                            if (typeof object.tenderdash !== "object")
-                                                throw TypeError(".org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.tenderdash: object expected");
-                                            message.tenderdash = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash.fromObject(object.tenderdash);
-                                        }
-                                        if (object.drive != null) {
-                                            if (typeof object.drive !== "object")
-                                                throw TypeError(".org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.drive: object expected");
-                                            message.drive = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive.fromObject(object.drive);
-                                        }
-                                        return message;
-                                    };
+                        /**
+                         * GetPathElementsRequest version.
+                         * @member {"v0"|undefined} version
+                         * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest
+                         * @instance
+                         */
+                        Object.defineProperty(GetPathElementsRequest.prototype, "version", {
+                            get: $util.oneOfGetter($oneOfFields = ["v0"]),
+                            set: $util.oneOfSetter($oneOfFields)
+                        });
 
-                                    /**
-                                     * Creates a plain object from a Protocol message. Also converts values to other types if specified.
-                                     * @function toObject
-                                     * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol
-                                     * @static
-                                     * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol} message Protocol
-                                     * @param {$protobuf.IConversionOptions} [options] Conversion options
-                                     * @returns {Object.} Plain object
-                                     */
-                                    Protocol.toObject = function toObject(message, options) {
-                                        if (!options)
-                                            options = {};
-                                        var object = {};
-                                        if (options.defaults) {
-                                            object.tenderdash = null;
-                                            object.drive = null;
-                                        }
-                                        if (message.tenderdash != null && message.hasOwnProperty("tenderdash"))
-                                            object.tenderdash = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash.toObject(message.tenderdash, options);
-                                        if (message.drive != null && message.hasOwnProperty("drive"))
-                                            object.drive = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive.toObject(message.drive, options);
-                                        return object;
-                                    };
+                        /**
+                         * Creates a new GetPathElementsRequest instance using the specified properties.
+                         * @function create
+                         * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest
+                         * @static
+                         * @param {org.dash.platform.dapi.v0.IGetPathElementsRequest=} [properties] Properties to set
+                         * @returns {org.dash.platform.dapi.v0.GetPathElementsRequest} GetPathElementsRequest instance
+                         */
+                        GetPathElementsRequest.create = function create(properties) {
+                            return new GetPathElementsRequest(properties);
+                        };
 
-                                    /**
-                                     * Converts this Protocol to JSON.
-                                     * @function toJSON
-                                     * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol
-                                     * @instance
-                                     * @returns {Object.} JSON object
-                                     */
-                                    Protocol.prototype.toJSON = function toJSON() {
-                                        return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
-                                    };
+                        /**
+                         * Encodes the specified GetPathElementsRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetPathElementsRequest.verify|verify} messages.
+                         * @function encode
+                         * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest
+                         * @static
+                         * @param {org.dash.platform.dapi.v0.IGetPathElementsRequest} message GetPathElementsRequest message or plain object to encode
+                         * @param {$protobuf.Writer} [writer] Writer to encode to
+                         * @returns {$protobuf.Writer} Writer
+                         */
+                        GetPathElementsRequest.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.GetPathElementsRequest.GetPathElementsRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+                            return writer;
+                        };
 
-                                    Protocol.Tenderdash = (function() {
+                        /**
+                         * Encodes the specified GetPathElementsRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetPathElementsRequest.verify|verify} messages.
+                         * @function encodeDelimited
+                         * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest
+                         * @static
+                         * @param {org.dash.platform.dapi.v0.IGetPathElementsRequest} message GetPathElementsRequest message or plain object to encode
+                         * @param {$protobuf.Writer} [writer] Writer to encode to
+                         * @returns {$protobuf.Writer} Writer
+                         */
+                        GetPathElementsRequest.encodeDelimited = function encodeDelimited(message, writer) {
+                            return this.encode(message, writer).ldelim();
+                        };
 
-                                        /**
-                                         * Properties of a Tenderdash.
-                                         * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol
-                                         * @interface ITenderdash
-                                         * @property {number|null} [p2p] Tenderdash p2p
-                                         * @property {number|null} [block] Tenderdash block
-                                         */
+                        /**
+                         * Decodes a GetPathElementsRequest message from the specified reader or buffer.
+                         * @function decode
+                         * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest
+                         * @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.GetPathElementsRequest} GetPathElementsRequest
+                         * @throws {Error} If the payload is not a reader or valid buffer
+                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
+                         */
+                        GetPathElementsRequest.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.GetPathElementsRequest();
+                            while (reader.pos < end) {
+                                var tag = reader.uint32();
+                                switch (tag >>> 3) {
+                                case 1:
+                                    message.v0 = $root.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.decode(reader, reader.uint32());
+                                    break;
+                                default:
+                                    reader.skipType(tag & 7);
+                                    break;
+                                }
+                            }
+                            return message;
+                        };
 
-                                        /**
-                                         * Constructs a new Tenderdash.
-                                         * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol
-                                         * @classdesc Represents a Tenderdash.
-                                         * @implements ITenderdash
-                                         * @constructor
-                                         * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.ITenderdash=} [properties] Properties to set
-                                         */
-                                        function Tenderdash(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 a GetPathElementsRequest message from the specified reader or buffer, length delimited.
+                         * @function decodeDelimited
+                         * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest
+                         * @static
+                         * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+                         * @returns {org.dash.platform.dapi.v0.GetPathElementsRequest} GetPathElementsRequest
+                         * @throws {Error} If the payload is not a reader or valid buffer
+                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
+                         */
+                        GetPathElementsRequest.decodeDelimited = function decodeDelimited(reader) {
+                            if (!(reader instanceof $Reader))
+                                reader = new $Reader(reader);
+                            return this.decode(reader, reader.uint32());
+                        };
 
-                                        /**
-                                         * Tenderdash p2p.
-                                         * @member {number} p2p
-                                         * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash
-                                         * @instance
-                                         */
-                                        Tenderdash.prototype.p2p = 0;
+                        /**
+                         * Verifies a GetPathElementsRequest message.
+                         * @function verify
+                         * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest
+                         * @static
+                         * @param {Object.} message Plain object to verify
+                         * @returns {string|null} `null` if valid, otherwise the reason why it is not
+                         */
+                        GetPathElementsRequest.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.GetPathElementsRequest.GetPathElementsRequestV0.verify(message.v0);
+                                    if (error)
+                                        return "v0." + error;
+                                }
+                            }
+                            return null;
+                        };
 
-                                        /**
-                                         * Tenderdash block.
-                                         * @member {number} block
-                                         * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash
-                                         * @instance
-                                         */
-                                        Tenderdash.prototype.block = 0;
+                        /**
+                         * Creates a GetPathElementsRequest message from a plain object. Also converts values to their respective internal types.
+                         * @function fromObject
+                         * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest
+                         * @static
+                         * @param {Object.} object Plain object
+                         * @returns {org.dash.platform.dapi.v0.GetPathElementsRequest} GetPathElementsRequest
+                         */
+                        GetPathElementsRequest.fromObject = function fromObject(object) {
+                            if (object instanceof $root.org.dash.platform.dapi.v0.GetPathElementsRequest)
+                                return object;
+                            var message = new $root.org.dash.platform.dapi.v0.GetPathElementsRequest();
+                            if (object.v0 != null) {
+                                if (typeof object.v0 !== "object")
+                                    throw TypeError(".org.dash.platform.dapi.v0.GetPathElementsRequest.v0: object expected");
+                                message.v0 = $root.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.fromObject(object.v0);
+                            }
+                            return message;
+                        };
 
-                                        /**
-                                         * Creates a new Tenderdash instance using the specified properties.
-                                         * @function create
-                                         * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash
-                                         * @static
-                                         * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.ITenderdash=} [properties] Properties to set
-                                         * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash} Tenderdash instance
-                                         */
-                                        Tenderdash.create = function create(properties) {
-                                            return new Tenderdash(properties);
-                                        };
+                        /**
+                         * Creates a plain object from a GetPathElementsRequest message. Also converts values to other types if specified.
+                         * @function toObject
+                         * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest
+                         * @static
+                         * @param {org.dash.platform.dapi.v0.GetPathElementsRequest} message GetPathElementsRequest
+                         * @param {$protobuf.IConversionOptions} [options] Conversion options
+                         * @returns {Object.} Plain object
+                         */
+                        GetPathElementsRequest.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.GetPathElementsRequest.GetPathElementsRequestV0.toObject(message.v0, options);
+                                if (options.oneofs)
+                                    object.version = "v0";
+                            }
+                            return object;
+                        };
 
-                                        /**
-                                         * Encodes the specified Tenderdash message. Does not implicitly {@link org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash.verify|verify} messages.
-                                         * @function encode
-                                         * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash
-                                         * @static
-                                         * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.ITenderdash} message Tenderdash message or plain object to encode
-                                         * @param {$protobuf.Writer} [writer] Writer to encode to
-                                         * @returns {$protobuf.Writer} Writer
-                                         */
-                                        Tenderdash.encode = function encode(message, writer) {
-                                            if (!writer)
-                                                writer = $Writer.create();
-                                            if (message.p2p != null && Object.hasOwnProperty.call(message, "p2p"))
-                                                writer.uint32(/* id 1, wireType 0 =*/8).uint32(message.p2p);
-                                            if (message.block != null && Object.hasOwnProperty.call(message, "block"))
-                                                writer.uint32(/* id 2, wireType 0 =*/16).uint32(message.block);
-                                            return writer;
-                                        };
+                        /**
+                         * Converts this GetPathElementsRequest to JSON.
+                         * @function toJSON
+                         * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest
+                         * @instance
+                         * @returns {Object.} JSON object
+                         */
+                        GetPathElementsRequest.prototype.toJSON = function toJSON() {
+                            return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+                        };
 
-                                        /**
-                                         * Encodes the specified Tenderdash message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash.verify|verify} messages.
-                                         * @function encodeDelimited
-                                         * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash
-                                         * @static
-                                         * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.ITenderdash} message Tenderdash message or plain object to encode
-                                         * @param {$protobuf.Writer} [writer] Writer to encode to
-                                         * @returns {$protobuf.Writer} Writer
-                                         */
-                                        Tenderdash.encodeDelimited = function encodeDelimited(message, writer) {
-                                            return this.encode(message, writer).ldelim();
-                                        };
+                        GetPathElementsRequest.GetPathElementsRequestV0 = (function() {
 
-                                        /**
-                                         * Decodes a Tenderdash message from the specified reader or buffer.
-                                         * @function decode
-                                         * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash
-                                         * @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.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash} Tenderdash
-                                         * @throws {Error} If the payload is not a reader or valid buffer
-                                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
-                                         */
-                                        Tenderdash.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.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash();
-                                            while (reader.pos < end) {
-                                                var tag = reader.uint32();
-                                                switch (tag >>> 3) {
-                                                case 1:
-                                                    message.p2p = reader.uint32();
-                                                    break;
-                                                case 2:
-                                                    message.block = reader.uint32();
-                                                    break;
-                                                default:
-                                                    reader.skipType(tag & 7);
-                                                    break;
-                                                }
-                                            }
-                                            return message;
-                                        };
+                            /**
+                             * Properties of a GetPathElementsRequestV0.
+                             * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest
+                             * @interface IGetPathElementsRequestV0
+                             * @property {Array.|null} [path] GetPathElementsRequestV0 path
+                             * @property {Array.|null} [keys] GetPathElementsRequestV0 keys
+                             * @property {boolean|null} [prove] GetPathElementsRequestV0 prove
+                             */
 
-                                        /**
-                                         * Decodes a Tenderdash message from the specified reader or buffer, length delimited.
-                                         * @function decodeDelimited
-                                         * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash
-                                         * @static
-                                         * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                                         * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash} Tenderdash
-                                         * @throws {Error} If the payload is not a reader or valid buffer
-                                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
-                                         */
-                                        Tenderdash.decodeDelimited = function decodeDelimited(reader) {
-                                            if (!(reader instanceof $Reader))
-                                                reader = new $Reader(reader);
-                                            return this.decode(reader, reader.uint32());
-                                        };
+                            /**
+                             * Constructs a new GetPathElementsRequestV0.
+                             * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest
+                             * @classdesc Represents a GetPathElementsRequestV0.
+                             * @implements IGetPathElementsRequestV0
+                             * @constructor
+                             * @param {org.dash.platform.dapi.v0.GetPathElementsRequest.IGetPathElementsRequestV0=} [properties] Properties to set
+                             */
+                            function GetPathElementsRequestV0(properties) {
+                                this.path = [];
+                                this.keys = [];
+                                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]];
+                            }
 
-                                        /**
-                                         * Verifies a Tenderdash message.
-                                         * @function verify
-                                         * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash
-                                         * @static
-                                         * @param {Object.} message Plain object to verify
-                                         * @returns {string|null} `null` if valid, otherwise the reason why it is not
-                                         */
-                                        Tenderdash.verify = function verify(message) {
-                                            if (typeof message !== "object" || message === null)
-                                                return "object expected";
-                                            if (message.p2p != null && message.hasOwnProperty("p2p"))
-                                                if (!$util.isInteger(message.p2p))
-                                                    return "p2p: integer expected";
-                                            if (message.block != null && message.hasOwnProperty("block"))
-                                                if (!$util.isInteger(message.block))
-                                                    return "block: integer expected";
-                                            return null;
-                                        };
+                            /**
+                             * GetPathElementsRequestV0 path.
+                             * @member {Array.} path
+                             * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0
+                             * @instance
+                             */
+                            GetPathElementsRequestV0.prototype.path = $util.emptyArray;
 
-                                        /**
-                                         * Creates a Tenderdash message from a plain object. Also converts values to their respective internal types.
-                                         * @function fromObject
-                                         * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash
-                                         * @static
-                                         * @param {Object.} object Plain object
-                                         * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash} Tenderdash
-                                         */
-                                        Tenderdash.fromObject = function fromObject(object) {
-                                            if (object instanceof $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash)
-                                                return object;
-                                            var message = new $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash();
-                                            if (object.p2p != null)
-                                                message.p2p = object.p2p >>> 0;
-                                            if (object.block != null)
-                                                message.block = object.block >>> 0;
-                                            return message;
-                                        };
+                            /**
+                             * GetPathElementsRequestV0 keys.
+                             * @member {Array.} keys
+                             * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0
+                             * @instance
+                             */
+                            GetPathElementsRequestV0.prototype.keys = $util.emptyArray;
 
-                                        /**
-                                         * Creates a plain object from a Tenderdash message. Also converts values to other types if specified.
-                                         * @function toObject
-                                         * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash
-                                         * @static
-                                         * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash} message Tenderdash
-                                         * @param {$protobuf.IConversionOptions} [options] Conversion options
-                                         * @returns {Object.} Plain object
-                                         */
-                                        Tenderdash.toObject = function toObject(message, options) {
-                                            if (!options)
-                                                options = {};
-                                            var object = {};
-                                            if (options.defaults) {
-                                                object.p2p = 0;
-                                                object.block = 0;
-                                            }
-                                            if (message.p2p != null && message.hasOwnProperty("p2p"))
-                                                object.p2p = message.p2p;
-                                            if (message.block != null && message.hasOwnProperty("block"))
-                                                object.block = message.block;
-                                            return object;
-                                        };
+                            /**
+                             * GetPathElementsRequestV0 prove.
+                             * @member {boolean} prove
+                             * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0
+                             * @instance
+                             */
+                            GetPathElementsRequestV0.prototype.prove = false;
 
-                                        /**
-                                         * Converts this Tenderdash to JSON.
-                                         * @function toJSON
-                                         * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash
-                                         * @instance
-                                         * @returns {Object.} JSON object
-                                         */
-                                        Tenderdash.prototype.toJSON = function toJSON() {
-                                            return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
-                                        };
+                            /**
+                             * Creates a new GetPathElementsRequestV0 instance using the specified properties.
+                             * @function create
+                             * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0
+                             * @static
+                             * @param {org.dash.platform.dapi.v0.GetPathElementsRequest.IGetPathElementsRequestV0=} [properties] Properties to set
+                             * @returns {org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0} GetPathElementsRequestV0 instance
+                             */
+                            GetPathElementsRequestV0.create = function create(properties) {
+                                return new GetPathElementsRequestV0(properties);
+                            };
 
-                                        return Tenderdash;
-                                    })();
+                            /**
+                             * Encodes the specified GetPathElementsRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.verify|verify} messages.
+                             * @function encode
+                             * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0
+                             * @static
+                             * @param {org.dash.platform.dapi.v0.GetPathElementsRequest.IGetPathElementsRequestV0} message GetPathElementsRequestV0 message or plain object to encode
+                             * @param {$protobuf.Writer} [writer] Writer to encode to
+                             * @returns {$protobuf.Writer} Writer
+                             */
+                            GetPathElementsRequestV0.encode = function encode(message, writer) {
+                                if (!writer)
+                                    writer = $Writer.create();
+                                if (message.path != null && message.path.length)
+                                    for (var i = 0; i < message.path.length; ++i)
+                                        writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.path[i]);
+                                if (message.keys != null && message.keys.length)
+                                    for (var i = 0; i < message.keys.length; ++i)
+                                        writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.keys[i]);
+                                if (message.prove != null && Object.hasOwnProperty.call(message, "prove"))
+                                    writer.uint32(/* id 3, wireType 0 =*/24).bool(message.prove);
+                                return writer;
+                            };
 
-                                    Protocol.Drive = (function() {
+                            /**
+                             * Encodes the specified GetPathElementsRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.verify|verify} messages.
+                             * @function encodeDelimited
+                             * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0
+                             * @static
+                             * @param {org.dash.platform.dapi.v0.GetPathElementsRequest.IGetPathElementsRequestV0} message GetPathElementsRequestV0 message or plain object to encode
+                             * @param {$protobuf.Writer} [writer] Writer to encode to
+                             * @returns {$protobuf.Writer} Writer
+                             */
+                            GetPathElementsRequestV0.encodeDelimited = function encodeDelimited(message, writer) {
+                                return this.encode(message, writer).ldelim();
+                            };
 
-                                        /**
-                                         * Properties of a Drive.
-                                         * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol
-                                         * @interface IDrive
-                                         * @property {number|null} [latest] Drive latest
-                                         * @property {number|null} [current] Drive current
-                                         */
+                            /**
+                             * Decodes a GetPathElementsRequestV0 message from the specified reader or buffer.
+                             * @function decode
+                             * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0
+                             * @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.GetPathElementsRequest.GetPathElementsRequestV0} GetPathElementsRequestV0
+                             * @throws {Error} If the payload is not a reader or valid buffer
+                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
+                             */
+                            GetPathElementsRequestV0.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.GetPathElementsRequest.GetPathElementsRequestV0();
+                                while (reader.pos < end) {
+                                    var tag = reader.uint32();
+                                    switch (tag >>> 3) {
+                                    case 1:
+                                        if (!(message.path && message.path.length))
+                                            message.path = [];
+                                        message.path.push(reader.bytes());
+                                        break;
+                                    case 2:
+                                        if (!(message.keys && message.keys.length))
+                                            message.keys = [];
+                                        message.keys.push(reader.bytes());
+                                        break;
+                                    case 3:
+                                        message.prove = reader.bool();
+                                        break;
+                                    default:
+                                        reader.skipType(tag & 7);
+                                        break;
+                                    }
+                                }
+                                return message;
+                            };
 
-                                        /**
-                                         * Constructs a new Drive.
-                                         * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol
-                                         * @classdesc Represents a Drive.
-                                         * @implements IDrive
-                                         * @constructor
-                                         * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.IDrive=} [properties] Properties to set
-                                         */
-                                        function Drive(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 a GetPathElementsRequestV0 message from the specified reader or buffer, length delimited.
+                             * @function decodeDelimited
+                             * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0
+                             * @static
+                             * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+                             * @returns {org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0} GetPathElementsRequestV0
+                             * @throws {Error} If the payload is not a reader or valid buffer
+                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
+                             */
+                            GetPathElementsRequestV0.decodeDelimited = function decodeDelimited(reader) {
+                                if (!(reader instanceof $Reader))
+                                    reader = new $Reader(reader);
+                                return this.decode(reader, reader.uint32());
+                            };
 
-                                        /**
-                                         * Drive latest.
-                                         * @member {number} latest
-                                         * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive
-                                         * @instance
-                                         */
-                                        Drive.prototype.latest = 0;
+                            /**
+                             * Verifies a GetPathElementsRequestV0 message.
+                             * @function verify
+                             * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0
+                             * @static
+                             * @param {Object.} message Plain object to verify
+                             * @returns {string|null} `null` if valid, otherwise the reason why it is not
+                             */
+                            GetPathElementsRequestV0.verify = function verify(message) {
+                                if (typeof message !== "object" || message === null)
+                                    return "object expected";
+                                if (message.path != null && message.hasOwnProperty("path")) {
+                                    if (!Array.isArray(message.path))
+                                        return "path: array expected";
+                                    for (var i = 0; i < message.path.length; ++i)
+                                        if (!(message.path[i] && typeof message.path[i].length === "number" || $util.isString(message.path[i])))
+                                            return "path: buffer[] expected";
+                                }
+                                if (message.keys != null && message.hasOwnProperty("keys")) {
+                                    if (!Array.isArray(message.keys))
+                                        return "keys: array expected";
+                                    for (var i = 0; i < message.keys.length; ++i)
+                                        if (!(message.keys[i] && typeof message.keys[i].length === "number" || $util.isString(message.keys[i])))
+                                            return "keys: buffer[] expected";
+                                }
+                                if (message.prove != null && message.hasOwnProperty("prove"))
+                                    if (typeof message.prove !== "boolean")
+                                        return "prove: boolean expected";
+                                return null;
+                            };
 
-                                        /**
-                                         * Drive current.
-                                         * @member {number} current
-                                         * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive
-                                         * @instance
-                                         */
-                                        Drive.prototype.current = 0;
+                            /**
+                             * Creates a GetPathElementsRequestV0 message from a plain object. Also converts values to their respective internal types.
+                             * @function fromObject
+                             * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0
+                             * @static
+                             * @param {Object.} object Plain object
+                             * @returns {org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0} GetPathElementsRequestV0
+                             */
+                            GetPathElementsRequestV0.fromObject = function fromObject(object) {
+                                if (object instanceof $root.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0)
+                                    return object;
+                                var message = new $root.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0();
+                                if (object.path) {
+                                    if (!Array.isArray(object.path))
+                                        throw TypeError(".org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.path: array expected");
+                                    message.path = [];
+                                    for (var i = 0; i < object.path.length; ++i)
+                                        if (typeof object.path[i] === "string")
+                                            $util.base64.decode(object.path[i], message.path[i] = $util.newBuffer($util.base64.length(object.path[i])), 0);
+                                        else if (object.path[i].length >= 0)
+                                            message.path[i] = object.path[i];
+                                }
+                                if (object.keys) {
+                                    if (!Array.isArray(object.keys))
+                                        throw TypeError(".org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.keys: array expected");
+                                    message.keys = [];
+                                    for (var i = 0; i < object.keys.length; ++i)
+                                        if (typeof object.keys[i] === "string")
+                                            $util.base64.decode(object.keys[i], message.keys[i] = $util.newBuffer($util.base64.length(object.keys[i])), 0);
+                                        else if (object.keys[i].length >= 0)
+                                            message.keys[i] = object.keys[i];
+                                }
+                                if (object.prove != null)
+                                    message.prove = Boolean(object.prove);
+                                return message;
+                            };
 
-                                        /**
-                                         * Creates a new Drive instance using the specified properties.
-                                         * @function create
-                                         * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive
-                                         * @static
-                                         * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.IDrive=} [properties] Properties to set
-                                         * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive} Drive instance
-                                         */
-                                        Drive.create = function create(properties) {
-                                            return new Drive(properties);
-                                        };
+                            /**
+                             * Creates a plain object from a GetPathElementsRequestV0 message. Also converts values to other types if specified.
+                             * @function toObject
+                             * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0
+                             * @static
+                             * @param {org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0} message GetPathElementsRequestV0
+                             * @param {$protobuf.IConversionOptions} [options] Conversion options
+                             * @returns {Object.} Plain object
+                             */
+                            GetPathElementsRequestV0.toObject = function toObject(message, options) {
+                                if (!options)
+                                    options = {};
+                                var object = {};
+                                if (options.arrays || options.defaults) {
+                                    object.path = [];
+                                    object.keys = [];
+                                }
+                                if (options.defaults)
+                                    object.prove = false;
+                                if (message.path && message.path.length) {
+                                    object.path = [];
+                                    for (var j = 0; j < message.path.length; ++j)
+                                        object.path[j] = options.bytes === String ? $util.base64.encode(message.path[j], 0, message.path[j].length) : options.bytes === Array ? Array.prototype.slice.call(message.path[j]) : message.path[j];
+                                }
+                                if (message.keys && message.keys.length) {
+                                    object.keys = [];
+                                    for (var j = 0; j < message.keys.length; ++j)
+                                        object.keys[j] = options.bytes === String ? $util.base64.encode(message.keys[j], 0, message.keys[j].length) : options.bytes === Array ? Array.prototype.slice.call(message.keys[j]) : message.keys[j];
+                                }
+                                if (message.prove != null && message.hasOwnProperty("prove"))
+                                    object.prove = message.prove;
+                                return object;
+                            };
 
-                                        /**
-                                         * Encodes the specified Drive message. Does not implicitly {@link org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive.verify|verify} messages.
-                                         * @function encode
-                                         * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive
-                                         * @static
-                                         * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.IDrive} message Drive message or plain object to encode
-                                         * @param {$protobuf.Writer} [writer] Writer to encode to
-                                         * @returns {$protobuf.Writer} Writer
-                                         */
-                                        Drive.encode = function encode(message, writer) {
-                                            if (!writer)
-                                                writer = $Writer.create();
-                                            if (message.latest != null && Object.hasOwnProperty.call(message, "latest"))
-                                                writer.uint32(/* id 3, wireType 0 =*/24).uint32(message.latest);
-                                            if (message.current != null && Object.hasOwnProperty.call(message, "current"))
-                                                writer.uint32(/* id 4, wireType 0 =*/32).uint32(message.current);
-                                            return writer;
-                                        };
+                            /**
+                             * Converts this GetPathElementsRequestV0 to JSON.
+                             * @function toJSON
+                             * @memberof org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0
+                             * @instance
+                             * @returns {Object.} JSON object
+                             */
+                            GetPathElementsRequestV0.prototype.toJSON = function toJSON() {
+                                return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+                            };
 
-                                        /**
-                                         * Encodes the specified Drive message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive.verify|verify} messages.
-                                         * @function encodeDelimited
-                                         * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive
-                                         * @static
-                                         * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.IDrive} message Drive message or plain object to encode
-                                         * @param {$protobuf.Writer} [writer] Writer to encode to
-                                         * @returns {$protobuf.Writer} Writer
-                                         */
-                                        Drive.encodeDelimited = function encodeDelimited(message, writer) {
-                                            return this.encode(message, writer).ldelim();
-                                        };
+                            return GetPathElementsRequestV0;
+                        })();
 
-                                        /**
-                                         * Decodes a Drive message from the specified reader or buffer.
-                                         * @function decode
-                                         * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive
-                                         * @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.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive} Drive
-                                         * @throws {Error} If the payload is not a reader or valid buffer
-                                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
-                                         */
-                                        Drive.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.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive();
-                                            while (reader.pos < end) {
-                                                var tag = reader.uint32();
-                                                switch (tag >>> 3) {
-                                                case 3:
-                                                    message.latest = reader.uint32();
-                                                    break;
-                                                case 4:
-                                                    message.current = reader.uint32();
-                                                    break;
-                                                default:
-                                                    reader.skipType(tag & 7);
-                                                    break;
-                                                }
-                                            }
-                                            return message;
-                                        };
+                        return GetPathElementsRequest;
+                    })();
 
-                                        /**
-                                         * Decodes a Drive message from the specified reader or buffer, length delimited.
-                                         * @function decodeDelimited
-                                         * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive
-                                         * @static
-                                         * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                                         * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive} Drive
-                                         * @throws {Error} If the payload is not a reader or valid buffer
-                                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
-                                         */
-                                        Drive.decodeDelimited = function decodeDelimited(reader) {
-                                            if (!(reader instanceof $Reader))
-                                                reader = new $Reader(reader);
-                                            return this.decode(reader, reader.uint32());
-                                        };
+                    v0.GetPathElementsResponse = (function() {
 
-                                        /**
-                                         * Verifies a Drive message.
-                                         * @function verify
-                                         * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive
-                                         * @static
-                                         * @param {Object.} message Plain object to verify
-                                         * @returns {string|null} `null` if valid, otherwise the reason why it is not
-                                         */
-                                        Drive.verify = function verify(message) {
-                                            if (typeof message !== "object" || message === null)
-                                                return "object expected";
-                                            if (message.latest != null && message.hasOwnProperty("latest"))
-                                                if (!$util.isInteger(message.latest))
-                                                    return "latest: integer expected";
-                                            if (message.current != null && message.hasOwnProperty("current"))
-                                                if (!$util.isInteger(message.current))
-                                                    return "current: integer expected";
-                                            return null;
-                                        };
+                        /**
+                         * Properties of a GetPathElementsResponse.
+                         * @memberof org.dash.platform.dapi.v0
+                         * @interface IGetPathElementsResponse
+                         * @property {org.dash.platform.dapi.v0.GetPathElementsResponse.IGetPathElementsResponseV0|null} [v0] GetPathElementsResponse v0
+                         */
 
-                                        /**
-                                         * Creates a Drive message from a plain object. Also converts values to their respective internal types.
-                                         * @function fromObject
-                                         * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive
-                                         * @static
-                                         * @param {Object.} object Plain object
-                                         * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive} Drive
-                                         */
-                                        Drive.fromObject = function fromObject(object) {
-                                            if (object instanceof $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive)
-                                                return object;
-                                            var message = new $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive();
-                                            if (object.latest != null)
-                                                message.latest = object.latest >>> 0;
-                                            if (object.current != null)
-                                                message.current = object.current >>> 0;
-                                            return message;
-                                        };
+                        /**
+                         * Constructs a new GetPathElementsResponse.
+                         * @memberof org.dash.platform.dapi.v0
+                         * @classdesc Represents a GetPathElementsResponse.
+                         * @implements IGetPathElementsResponse
+                         * @constructor
+                         * @param {org.dash.platform.dapi.v0.IGetPathElementsResponse=} [properties] Properties to set
+                         */
+                        function GetPathElementsResponse(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 Drive message. Also converts values to other types if specified.
-                                         * @function toObject
-                                         * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive
-                                         * @static
-                                         * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive} message Drive
-                                         * @param {$protobuf.IConversionOptions} [options] Conversion options
-                                         * @returns {Object.} Plain object
-                                         */
-                                        Drive.toObject = function toObject(message, options) {
-                                            if (!options)
-                                                options = {};
-                                            var object = {};
-                                            if (options.defaults) {
-                                                object.latest = 0;
-                                                object.current = 0;
-                                            }
-                                            if (message.latest != null && message.hasOwnProperty("latest"))
-                                                object.latest = message.latest;
-                                            if (message.current != null && message.hasOwnProperty("current"))
-                                                object.current = message.current;
-                                            return object;
-                                        };
+                        /**
+                         * GetPathElementsResponse v0.
+                         * @member {org.dash.platform.dapi.v0.GetPathElementsResponse.IGetPathElementsResponseV0|null|undefined} v0
+                         * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse
+                         * @instance
+                         */
+                        GetPathElementsResponse.prototype.v0 = null;
 
-                                        /**
-                                         * Converts this Drive to JSON.
-                                         * @function toJSON
-                                         * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive
-                                         * @instance
-                                         * @returns {Object.} JSON object
-                                         */
-                                        Drive.prototype.toJSON = function toJSON() {
-                                            return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
-                                        };
+                        // OneOf field names bound to virtual getters and setters
+                        var $oneOfFields;
 
-                                        return Drive;
-                                    })();
+                        /**
+                         * GetPathElementsResponse version.
+                         * @member {"v0"|undefined} version
+                         * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse
+                         * @instance
+                         */
+                        Object.defineProperty(GetPathElementsResponse.prototype, "version", {
+                            get: $util.oneOfGetter($oneOfFields = ["v0"]),
+                            set: $util.oneOfSetter($oneOfFields)
+                        });
 
-                                    return Protocol;
-                                })();
+                        /**
+                         * Creates a new GetPathElementsResponse instance using the specified properties.
+                         * @function create
+                         * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse
+                         * @static
+                         * @param {org.dash.platform.dapi.v0.IGetPathElementsResponse=} [properties] Properties to set
+                         * @returns {org.dash.platform.dapi.v0.GetPathElementsResponse} GetPathElementsResponse instance
+                         */
+                        GetPathElementsResponse.create = function create(properties) {
+                            return new GetPathElementsResponse(properties);
+                        };
 
-                                return Version;
-                            })();
+                        /**
+                         * Encodes the specified GetPathElementsResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetPathElementsResponse.verify|verify} messages.
+                         * @function encode
+                         * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse
+                         * @static
+                         * @param {org.dash.platform.dapi.v0.IGetPathElementsResponse} message GetPathElementsResponse message or plain object to encode
+                         * @param {$protobuf.Writer} [writer] Writer to encode to
+                         * @returns {$protobuf.Writer} Writer
+                         */
+                        GetPathElementsResponse.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.GetPathElementsResponse.GetPathElementsResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+                            return writer;
+                        };
 
-                            GetStatusResponseV0.Time = (function() {
+                        /**
+                         * Encodes the specified GetPathElementsResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetPathElementsResponse.verify|verify} messages.
+                         * @function encodeDelimited
+                         * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse
+                         * @static
+                         * @param {org.dash.platform.dapi.v0.IGetPathElementsResponse} message GetPathElementsResponse message or plain object to encode
+                         * @param {$protobuf.Writer} [writer] Writer to encode to
+                         * @returns {$protobuf.Writer} Writer
+                         */
+                        GetPathElementsResponse.encodeDelimited = function encodeDelimited(message, writer) {
+                            return this.encode(message, writer).ldelim();
+                        };
+
+                        /**
+                         * Decodes a GetPathElementsResponse message from the specified reader or buffer.
+                         * @function decode
+                         * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse
+                         * @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.GetPathElementsResponse} GetPathElementsResponse
+                         * @throws {Error} If the payload is not a reader or valid buffer
+                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
+                         */
+                        GetPathElementsResponse.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.GetPathElementsResponse();
+                            while (reader.pos < end) {
+                                var tag = reader.uint32();
+                                switch (tag >>> 3) {
+                                case 1:
+                                    message.v0 = $root.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.decode(reader, reader.uint32());
+                                    break;
+                                default:
+                                    reader.skipType(tag & 7);
+                                    break;
+                                }
+                            }
+                            return message;
+                        };
+
+                        /**
+                         * Decodes a GetPathElementsResponse message from the specified reader or buffer, length delimited.
+                         * @function decodeDelimited
+                         * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse
+                         * @static
+                         * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+                         * @returns {org.dash.platform.dapi.v0.GetPathElementsResponse} GetPathElementsResponse
+                         * @throws {Error} If the payload is not a reader or valid buffer
+                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
+                         */
+                        GetPathElementsResponse.decodeDelimited = function decodeDelimited(reader) {
+                            if (!(reader instanceof $Reader))
+                                reader = new $Reader(reader);
+                            return this.decode(reader, reader.uint32());
+                        };
+
+                        /**
+                         * Verifies a GetPathElementsResponse message.
+                         * @function verify
+                         * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse
+                         * @static
+                         * @param {Object.} message Plain object to verify
+                         * @returns {string|null} `null` if valid, otherwise the reason why it is not
+                         */
+                        GetPathElementsResponse.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.GetPathElementsResponse.GetPathElementsResponseV0.verify(message.v0);
+                                    if (error)
+                                        return "v0." + error;
+                                }
+                            }
+                            return null;
+                        };
+
+                        /**
+                         * Creates a GetPathElementsResponse message from a plain object. Also converts values to their respective internal types.
+                         * @function fromObject
+                         * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse
+                         * @static
+                         * @param {Object.} object Plain object
+                         * @returns {org.dash.platform.dapi.v0.GetPathElementsResponse} GetPathElementsResponse
+                         */
+                        GetPathElementsResponse.fromObject = function fromObject(object) {
+                            if (object instanceof $root.org.dash.platform.dapi.v0.GetPathElementsResponse)
+                                return object;
+                            var message = new $root.org.dash.platform.dapi.v0.GetPathElementsResponse();
+                            if (object.v0 != null) {
+                                if (typeof object.v0 !== "object")
+                                    throw TypeError(".org.dash.platform.dapi.v0.GetPathElementsResponse.v0: object expected");
+                                message.v0 = $root.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.fromObject(object.v0);
+                            }
+                            return message;
+                        };
+
+                        /**
+                         * Creates a plain object from a GetPathElementsResponse message. Also converts values to other types if specified.
+                         * @function toObject
+                         * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse
+                         * @static
+                         * @param {org.dash.platform.dapi.v0.GetPathElementsResponse} message GetPathElementsResponse
+                         * @param {$protobuf.IConversionOptions} [options] Conversion options
+                         * @returns {Object.} Plain object
+                         */
+                        GetPathElementsResponse.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.GetPathElementsResponse.GetPathElementsResponseV0.toObject(message.v0, options);
+                                if (options.oneofs)
+                                    object.version = "v0";
+                            }
+                            return object;
+                        };
+
+                        /**
+                         * Converts this GetPathElementsResponse to JSON.
+                         * @function toJSON
+                         * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse
+                         * @instance
+                         * @returns {Object.} JSON object
+                         */
+                        GetPathElementsResponse.prototype.toJSON = function toJSON() {
+                            return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+                        };
+
+                        GetPathElementsResponse.GetPathElementsResponseV0 = (function() {
+
+                            /**
+                             * Properties of a GetPathElementsResponseV0.
+                             * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse
+                             * @interface IGetPathElementsResponseV0
+                             * @property {org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.IElements|null} [elements] GetPathElementsResponseV0 elements
+                             * @property {org.dash.platform.dapi.v0.IProof|null} [proof] GetPathElementsResponseV0 proof
+                             * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetPathElementsResponseV0 metadata
+                             */
+
+                            /**
+                             * Constructs a new GetPathElementsResponseV0.
+                             * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse
+                             * @classdesc Represents a GetPathElementsResponseV0.
+                             * @implements IGetPathElementsResponseV0
+                             * @constructor
+                             * @param {org.dash.platform.dapi.v0.GetPathElementsResponse.IGetPathElementsResponseV0=} [properties] Properties to set
+                             */
+                            function GetPathElementsResponseV0(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]];
+                            }
+
+                            /**
+                             * GetPathElementsResponseV0 elements.
+                             * @member {org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.IElements|null|undefined} elements
+                             * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0
+                             * @instance
+                             */
+                            GetPathElementsResponseV0.prototype.elements = null;
+
+                            /**
+                             * GetPathElementsResponseV0 proof.
+                             * @member {org.dash.platform.dapi.v0.IProof|null|undefined} proof
+                             * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0
+                             * @instance
+                             */
+                            GetPathElementsResponseV0.prototype.proof = null;
+
+                            /**
+                             * GetPathElementsResponseV0 metadata.
+                             * @member {org.dash.platform.dapi.v0.IResponseMetadata|null|undefined} metadata
+                             * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0
+                             * @instance
+                             */
+                            GetPathElementsResponseV0.prototype.metadata = null;
+
+                            // OneOf field names bound to virtual getters and setters
+                            var $oneOfFields;
+
+                            /**
+                             * GetPathElementsResponseV0 result.
+                             * @member {"elements"|"proof"|undefined} result
+                             * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0
+                             * @instance
+                             */
+                            Object.defineProperty(GetPathElementsResponseV0.prototype, "result", {
+                                get: $util.oneOfGetter($oneOfFields = ["elements", "proof"]),
+                                set: $util.oneOfSetter($oneOfFields)
+                            });
+
+                            /**
+                             * Creates a new GetPathElementsResponseV0 instance using the specified properties.
+                             * @function create
+                             * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0
+                             * @static
+                             * @param {org.dash.platform.dapi.v0.GetPathElementsResponse.IGetPathElementsResponseV0=} [properties] Properties to set
+                             * @returns {org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0} GetPathElementsResponseV0 instance
+                             */
+                            GetPathElementsResponseV0.create = function create(properties) {
+                                return new GetPathElementsResponseV0(properties);
+                            };
+
+                            /**
+                             * Encodes the specified GetPathElementsResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.verify|verify} messages.
+                             * @function encode
+                             * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0
+                             * @static
+                             * @param {org.dash.platform.dapi.v0.GetPathElementsResponse.IGetPathElementsResponseV0} message GetPathElementsResponseV0 message or plain object to encode
+                             * @param {$protobuf.Writer} [writer] Writer to encode to
+                             * @returns {$protobuf.Writer} Writer
+                             */
+                            GetPathElementsResponseV0.encode = function encode(message, writer) {
+                                if (!writer)
+                                    writer = $Writer.create();
+                                if (message.elements != null && Object.hasOwnProperty.call(message, "elements"))
+                                    $root.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.encode(message.elements, 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 GetPathElementsResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.verify|verify} messages.
+                             * @function encodeDelimited
+                             * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0
+                             * @static
+                             * @param {org.dash.platform.dapi.v0.GetPathElementsResponse.IGetPathElementsResponseV0} message GetPathElementsResponseV0 message or plain object to encode
+                             * @param {$protobuf.Writer} [writer] Writer to encode to
+                             * @returns {$protobuf.Writer} Writer
+                             */
+                            GetPathElementsResponseV0.encodeDelimited = function encodeDelimited(message, writer) {
+                                return this.encode(message, writer).ldelim();
+                            };
+
+                            /**
+                             * Decodes a GetPathElementsResponseV0 message from the specified reader or buffer.
+                             * @function decode
+                             * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0
+                             * @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.GetPathElementsResponse.GetPathElementsResponseV0} GetPathElementsResponseV0
+                             * @throws {Error} If the payload is not a reader or valid buffer
+                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
+                             */
+                            GetPathElementsResponseV0.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.GetPathElementsResponse.GetPathElementsResponseV0();
+                                while (reader.pos < end) {
+                                    var tag = reader.uint32();
+                                    switch (tag >>> 3) {
+                                    case 1:
+                                        message.elements = $root.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.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 GetPathElementsResponseV0 message from the specified reader or buffer, length delimited.
+                             * @function decodeDelimited
+                             * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0
+                             * @static
+                             * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+                             * @returns {org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0} GetPathElementsResponseV0
+                             * @throws {Error} If the payload is not a reader or valid buffer
+                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
+                             */
+                            GetPathElementsResponseV0.decodeDelimited = function decodeDelimited(reader) {
+                                if (!(reader instanceof $Reader))
+                                    reader = new $Reader(reader);
+                                return this.decode(reader, reader.uint32());
+                            };
+
+                            /**
+                             * Verifies a GetPathElementsResponseV0 message.
+                             * @function verify
+                             * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0
+                             * @static
+                             * @param {Object.} message Plain object to verify
+                             * @returns {string|null} `null` if valid, otherwise the reason why it is not
+                             */
+                            GetPathElementsResponseV0.verify = function verify(message) {
+                                if (typeof message !== "object" || message === null)
+                                    return "object expected";
+                                var properties = {};
+                                if (message.elements != null && message.hasOwnProperty("elements")) {
+                                    properties.result = 1;
+                                    {
+                                        var error = $root.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.verify(message.elements);
+                                        if (error)
+                                            return "elements." + 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 GetPathElementsResponseV0 message from a plain object. Also converts values to their respective internal types.
+                             * @function fromObject
+                             * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0
+                             * @static
+                             * @param {Object.} object Plain object
+                             * @returns {org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0} GetPathElementsResponseV0
+                             */
+                            GetPathElementsResponseV0.fromObject = function fromObject(object) {
+                                if (object instanceof $root.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0)
+                                    return object;
+                                var message = new $root.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0();
+                                if (object.elements != null) {
+                                    if (typeof object.elements !== "object")
+                                        throw TypeError(".org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.elements: object expected");
+                                    message.elements = $root.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.fromObject(object.elements);
+                                }
+                                if (object.proof != null) {
+                                    if (typeof object.proof !== "object")
+                                        throw TypeError(".org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.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.GetPathElementsResponse.GetPathElementsResponseV0.metadata: object expected");
+                                    message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.fromObject(object.metadata);
+                                }
+                                return message;
+                            };
+
+                            /**
+                             * Creates a plain object from a GetPathElementsResponseV0 message. Also converts values to other types if specified.
+                             * @function toObject
+                             * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0
+                             * @static
+                             * @param {org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0} message GetPathElementsResponseV0
+                             * @param {$protobuf.IConversionOptions} [options] Conversion options
+                             * @returns {Object.} Plain object
+                             */
+                            GetPathElementsResponseV0.toObject = function toObject(message, options) {
+                                if (!options)
+                                    options = {};
+                                var object = {};
+                                if (options.defaults)
+                                    object.metadata = null;
+                                if (message.elements != null && message.hasOwnProperty("elements")) {
+                                    object.elements = $root.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.toObject(message.elements, options);
+                                    if (options.oneofs)
+                                        object.result = "elements";
+                                }
+                                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 GetPathElementsResponseV0 to JSON.
+                             * @function toJSON
+                             * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0
+                             * @instance
+                             * @returns {Object.} JSON object
+                             */
+                            GetPathElementsResponseV0.prototype.toJSON = function toJSON() {
+                                return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+                            };
+
+                            GetPathElementsResponseV0.Elements = (function() {
 
                                 /**
-                                 * Properties of a Time.
-                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0
-                                 * @interface ITime
-                                 * @property {number|Long|null} [local] Time local
-                                 * @property {number|Long|null} [block] Time block
-                                 * @property {number|Long|null} [genesis] Time genesis
-                                 * @property {number|null} [epoch] Time epoch
+                                 * Properties of an Elements.
+                                 * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0
+                                 * @interface IElements
+                                 * @property {Array.|null} [elements] Elements elements
                                  */
 
                                 /**
-                                 * Constructs a new Time.
-                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0
-                                 * @classdesc Represents a Time.
-                                 * @implements ITime
+                                 * Constructs a new Elements.
+                                 * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0
+                                 * @classdesc Represents an Elements.
+                                 * @implements IElements
                                  * @constructor
-                                 * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.ITime=} [properties] Properties to set
+                                 * @param {org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.IElements=} [properties] Properties to set
                                  */
-                                function Time(properties) {
+                                function Elements(properties) {
+                                    this.elements = [];
                                     if (properties)
                                         for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
                                             if (properties[keys[i]] != null)
@@ -41573,114 +42830,78 @@ $root.org = (function() {
                                 }
 
                                 /**
-                                 * Time local.
-                                 * @member {number|Long} local
-                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time
-                                 * @instance
-                                 */
-                                Time.prototype.local = $util.Long ? $util.Long.fromBits(0,0,true) : 0;
-
-                                /**
-                                 * Time block.
-                                 * @member {number|Long} block
-                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time
-                                 * @instance
-                                 */
-                                Time.prototype.block = $util.Long ? $util.Long.fromBits(0,0,true) : 0;
-
-                                /**
-                                 * Time genesis.
-                                 * @member {number|Long} genesis
-                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time
-                                 * @instance
-                                 */
-                                Time.prototype.genesis = $util.Long ? $util.Long.fromBits(0,0,true) : 0;
-
-                                /**
-                                 * Time epoch.
-                                 * @member {number} epoch
-                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time
+                                 * Elements elements.
+                                 * @member {Array.} elements
+                                 * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements
                                  * @instance
                                  */
-                                Time.prototype.epoch = 0;
+                                Elements.prototype.elements = $util.emptyArray;
 
                                 /**
-                                 * Creates a new Time instance using the specified properties.
+                                 * Creates a new Elements instance using the specified properties.
                                  * @function create
-                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time
+                                 * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements
                                  * @static
-                                 * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.ITime=} [properties] Properties to set
-                                 * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time} Time instance
+                                 * @param {org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.IElements=} [properties] Properties to set
+                                 * @returns {org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements} Elements instance
                                  */
-                                Time.create = function create(properties) {
-                                    return new Time(properties);
+                                Elements.create = function create(properties) {
+                                    return new Elements(properties);
                                 };
 
                                 /**
-                                 * Encodes the specified Time message. Does not implicitly {@link org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.verify|verify} messages.
+                                 * Encodes the specified Elements message. Does not implicitly {@link org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.verify|verify} messages.
                                  * @function encode
-                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time
+                                 * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements
                                  * @static
-                                 * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.ITime} message Time message or plain object to encode
+                                 * @param {org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.IElements} message Elements message or plain object to encode
                                  * @param {$protobuf.Writer} [writer] Writer to encode to
                                  * @returns {$protobuf.Writer} Writer
                                  */
-                                Time.encode = function encode(message, writer) {
+                                Elements.encode = function encode(message, writer) {
                                     if (!writer)
                                         writer = $Writer.create();
-                                    if (message.local != null && Object.hasOwnProperty.call(message, "local"))
-                                        writer.uint32(/* id 1, wireType 0 =*/8).uint64(message.local);
-                                    if (message.block != null && Object.hasOwnProperty.call(message, "block"))
-                                        writer.uint32(/* id 2, wireType 0 =*/16).uint64(message.block);
-                                    if (message.genesis != null && Object.hasOwnProperty.call(message, "genesis"))
-                                        writer.uint32(/* id 3, wireType 0 =*/24).uint64(message.genesis);
-                                    if (message.epoch != null && Object.hasOwnProperty.call(message, "epoch"))
-                                        writer.uint32(/* id 4, wireType 0 =*/32).uint32(message.epoch);
+                                    if (message.elements != null && message.elements.length)
+                                        for (var i = 0; i < message.elements.length; ++i)
+                                            writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.elements[i]);
                                     return writer;
                                 };
 
                                 /**
-                                 * Encodes the specified Time message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.verify|verify} messages.
+                                 * Encodes the specified Elements message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.verify|verify} messages.
                                  * @function encodeDelimited
-                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time
+                                 * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements
                                  * @static
-                                 * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.ITime} message Time message or plain object to encode
+                                 * @param {org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.IElements} message Elements message or plain object to encode
                                  * @param {$protobuf.Writer} [writer] Writer to encode to
                                  * @returns {$protobuf.Writer} Writer
                                  */
-                                Time.encodeDelimited = function encodeDelimited(message, writer) {
+                                Elements.encodeDelimited = function encodeDelimited(message, writer) {
                                     return this.encode(message, writer).ldelim();
                                 };
 
                                 /**
-                                 * Decodes a Time message from the specified reader or buffer.
+                                 * Decodes an Elements message from the specified reader or buffer.
                                  * @function decode
-                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time
+                                 * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements
                                  * @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.GetStatusResponse.GetStatusResponseV0.Time} Time
+                                 * @returns {org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements} Elements
                                  * @throws {Error} If the payload is not a reader or valid buffer
                                  * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                  */
-                                Time.decode = function decode(reader, length) {
+                                Elements.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.GetStatusResponse.GetStatusResponseV0.Time();
+                                    var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements();
                                     while (reader.pos < end) {
                                         var tag = reader.uint32();
                                         switch (tag >>> 3) {
                                         case 1:
-                                            message.local = reader.uint64();
-                                            break;
-                                        case 2:
-                                            message.block = reader.uint64();
-                                            break;
-                                        case 3:
-                                            message.genesis = reader.uint64();
-                                            break;
-                                        case 4:
-                                            message.epoch = reader.uint32();
+                                            if (!(message.elements && message.elements.length))
+                                                message.elements = [];
+                                            message.elements.push(reader.bytes());
                                             break;
                                         default:
                                             reader.skipType(tag & 7);
@@ -41691,1083 +42912,1033 @@ $root.org = (function() {
                                 };
 
                                 /**
-                                 * Decodes a Time message from the specified reader or buffer, length delimited.
+                                 * Decodes an Elements message from the specified reader or buffer, length delimited.
                                  * @function decodeDelimited
-                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time
+                                 * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements
                                  * @static
                                  * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                                 * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time} Time
+                                 * @returns {org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements} Elements
                                  * @throws {Error} If the payload is not a reader or valid buffer
                                  * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                  */
-                                Time.decodeDelimited = function decodeDelimited(reader) {
+                                Elements.decodeDelimited = function decodeDelimited(reader) {
                                     if (!(reader instanceof $Reader))
                                         reader = new $Reader(reader);
                                     return this.decode(reader, reader.uint32());
                                 };
 
                                 /**
-                                 * Verifies a Time message.
+                                 * Verifies an Elements message.
                                  * @function verify
-                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time
+                                 * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements
                                  * @static
                                  * @param {Object.} message Plain object to verify
                                  * @returns {string|null} `null` if valid, otherwise the reason why it is not
                                  */
-                                Time.verify = function verify(message) {
+                                Elements.verify = function verify(message) {
                                     if (typeof message !== "object" || message === null)
                                         return "object expected";
-                                    if (message.local != null && message.hasOwnProperty("local"))
-                                        if (!$util.isInteger(message.local) && !(message.local && $util.isInteger(message.local.low) && $util.isInteger(message.local.high)))
-                                            return "local: integer|Long expected";
-                                    if (message.block != null && message.hasOwnProperty("block"))
-                                        if (!$util.isInteger(message.block) && !(message.block && $util.isInteger(message.block.low) && $util.isInteger(message.block.high)))
-                                            return "block: integer|Long expected";
-                                    if (message.genesis != null && message.hasOwnProperty("genesis"))
-                                        if (!$util.isInteger(message.genesis) && !(message.genesis && $util.isInteger(message.genesis.low) && $util.isInteger(message.genesis.high)))
-                                            return "genesis: integer|Long expected";
-                                    if (message.epoch != null && message.hasOwnProperty("epoch"))
-                                        if (!$util.isInteger(message.epoch))
-                                            return "epoch: integer expected";
+                                    if (message.elements != null && message.hasOwnProperty("elements")) {
+                                        if (!Array.isArray(message.elements))
+                                            return "elements: array expected";
+                                        for (var i = 0; i < message.elements.length; ++i)
+                                            if (!(message.elements[i] && typeof message.elements[i].length === "number" || $util.isString(message.elements[i])))
+                                                return "elements: buffer[] expected";
+                                    }
                                     return null;
                                 };
 
                                 /**
-                                 * Creates a Time message from a plain object. Also converts values to their respective internal types.
+                                 * Creates an Elements message from a plain object. Also converts values to their respective internal types.
                                  * @function fromObject
-                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time
+                                 * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements
                                  * @static
                                  * @param {Object.} object Plain object
-                                 * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time} Time
+                                 * @returns {org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements} Elements
                                  */
-                                Time.fromObject = function fromObject(object) {
-                                    if (object instanceof $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time)
+                                Elements.fromObject = function fromObject(object) {
+                                    if (object instanceof $root.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements)
                                         return object;
-                                    var message = new $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time();
-                                    if (object.local != null)
-                                        if ($util.Long)
-                                            (message.local = $util.Long.fromValue(object.local)).unsigned = true;
-                                        else if (typeof object.local === "string")
-                                            message.local = parseInt(object.local, 10);
-                                        else if (typeof object.local === "number")
-                                            message.local = object.local;
-                                        else if (typeof object.local === "object")
-                                            message.local = new $util.LongBits(object.local.low >>> 0, object.local.high >>> 0).toNumber(true);
-                                    if (object.block != null)
-                                        if ($util.Long)
-                                            (message.block = $util.Long.fromValue(object.block)).unsigned = true;
-                                        else if (typeof object.block === "string")
-                                            message.block = parseInt(object.block, 10);
-                                        else if (typeof object.block === "number")
-                                            message.block = object.block;
-                                        else if (typeof object.block === "object")
-                                            message.block = new $util.LongBits(object.block.low >>> 0, object.block.high >>> 0).toNumber(true);
-                                    if (object.genesis != null)
-                                        if ($util.Long)
-                                            (message.genesis = $util.Long.fromValue(object.genesis)).unsigned = true;
-                                        else if (typeof object.genesis === "string")
-                                            message.genesis = parseInt(object.genesis, 10);
-                                        else if (typeof object.genesis === "number")
-                                            message.genesis = object.genesis;
-                                        else if (typeof object.genesis === "object")
-                                            message.genesis = new $util.LongBits(object.genesis.low >>> 0, object.genesis.high >>> 0).toNumber(true);
-                                    if (object.epoch != null)
-                                        message.epoch = object.epoch >>> 0;
+                                    var message = new $root.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements();
+                                    if (object.elements) {
+                                        if (!Array.isArray(object.elements))
+                                            throw TypeError(".org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.elements: array expected");
+                                        message.elements = [];
+                                        for (var i = 0; i < object.elements.length; ++i)
+                                            if (typeof object.elements[i] === "string")
+                                                $util.base64.decode(object.elements[i], message.elements[i] = $util.newBuffer($util.base64.length(object.elements[i])), 0);
+                                            else if (object.elements[i].length >= 0)
+                                                message.elements[i] = object.elements[i];
+                                    }
                                     return message;
                                 };
 
                                 /**
-                                 * Creates a plain object from a Time message. Also converts values to other types if specified.
+                                 * Creates a plain object from an Elements message. Also converts values to other types if specified.
                                  * @function toObject
-                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time
+                                 * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements
                                  * @static
-                                 * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time} message Time
+                                 * @param {org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements} message Elements
                                  * @param {$protobuf.IConversionOptions} [options] Conversion options
                                  * @returns {Object.} Plain object
                                  */
-                                Time.toObject = function toObject(message, options) {
+                                Elements.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.local = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;
-                                        } else
-                                            object.local = options.longs === String ? "0" : 0;
-                                        if ($util.Long) {
-                                            var long = new $util.Long(0, 0, true);
-                                            object.block = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;
-                                        } else
-                                            object.block = options.longs === String ? "0" : 0;
-                                        if ($util.Long) {
-                                            var long = new $util.Long(0, 0, true);
-                                            object.genesis = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;
-                                        } else
-                                            object.genesis = options.longs === String ? "0" : 0;
-                                        object.epoch = 0;
+                                    if (options.arrays || options.defaults)
+                                        object.elements = [];
+                                    if (message.elements && message.elements.length) {
+                                        object.elements = [];
+                                        for (var j = 0; j < message.elements.length; ++j)
+                                            object.elements[j] = options.bytes === String ? $util.base64.encode(message.elements[j], 0, message.elements[j].length) : options.bytes === Array ? Array.prototype.slice.call(message.elements[j]) : message.elements[j];
                                     }
-                                    if (message.local != null && message.hasOwnProperty("local"))
-                                        if (typeof message.local === "number")
-                                            object.local = options.longs === String ? String(message.local) : message.local;
-                                        else
-                                            object.local = options.longs === String ? $util.Long.prototype.toString.call(message.local) : options.longs === Number ? new $util.LongBits(message.local.low >>> 0, message.local.high >>> 0).toNumber(true) : message.local;
-                                    if (message.block != null && message.hasOwnProperty("block"))
-                                        if (typeof message.block === "number")
-                                            object.block = options.longs === String ? String(message.block) : message.block;
-                                        else
-                                            object.block = options.longs === String ? $util.Long.prototype.toString.call(message.block) : options.longs === Number ? new $util.LongBits(message.block.low >>> 0, message.block.high >>> 0).toNumber(true) : message.block;
-                                    if (message.genesis != null && message.hasOwnProperty("genesis"))
-                                        if (typeof message.genesis === "number")
-                                            object.genesis = options.longs === String ? String(message.genesis) : message.genesis;
-                                        else
-                                            object.genesis = options.longs === String ? $util.Long.prototype.toString.call(message.genesis) : options.longs === Number ? new $util.LongBits(message.genesis.low >>> 0, message.genesis.high >>> 0).toNumber(true) : message.genesis;
-                                    if (message.epoch != null && message.hasOwnProperty("epoch"))
-                                        object.epoch = message.epoch;
                                     return object;
                                 };
 
                                 /**
-                                 * Converts this Time to JSON.
+                                 * Converts this Elements to JSON.
                                  * @function toJSON
-                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time
+                                 * @memberof org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements
                                  * @instance
                                  * @returns {Object.} JSON object
                                  */
-                                Time.prototype.toJSON = function toJSON() {
+                                Elements.prototype.toJSON = function toJSON() {
                                     return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
                                 };
 
-                                return Time;
+                                return Elements;
                             })();
 
-                            GetStatusResponseV0.Node = (function() {
-
-                                /**
-                                 * Properties of a Node.
-                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0
-                                 * @interface INode
-                                 * @property {Uint8Array|null} [id] Node id
-                                 * @property {Uint8Array|null} [proTxHash] Node proTxHash
-                                 */
-
-                                /**
-                                 * Constructs a new Node.
-                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0
-                                 * @classdesc Represents a Node.
-                                 * @implements INode
-                                 * @constructor
-                                 * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.INode=} [properties] Properties to set
-                                 */
-                                function Node(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]];
-                                }
-
-                                /**
-                                 * Node id.
-                                 * @member {Uint8Array} id
-                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node
-                                 * @instance
-                                 */
-                                Node.prototype.id = $util.newBuffer([]);
+                            return GetPathElementsResponseV0;
+                        })();
 
-                                /**
-                                 * Node proTxHash.
-                                 * @member {Uint8Array} proTxHash
-                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node
-                                 * @instance
-                                 */
-                                Node.prototype.proTxHash = $util.newBuffer([]);
+                        return GetPathElementsResponse;
+                    })();
 
-                                /**
-                                 * Creates a new Node instance using the specified properties.
-                                 * @function create
-                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node
-                                 * @static
-                                 * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.INode=} [properties] Properties to set
-                                 * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node} Node instance
-                                 */
-                                Node.create = function create(properties) {
-                                    return new Node(properties);
-                                };
+                    v0.GetStatusRequest = (function() {
 
-                                /**
-                                 * Encodes the specified Node message. Does not implicitly {@link org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.verify|verify} messages.
-                                 * @function encode
-                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node
-                                 * @static
-                                 * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.INode} message Node message or plain object to encode
-                                 * @param {$protobuf.Writer} [writer] Writer to encode to
-                                 * @returns {$protobuf.Writer} Writer
-                                 */
-                                Node.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.proTxHash != null && Object.hasOwnProperty.call(message, "proTxHash"))
-                                        writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.proTxHash);
-                                    return writer;
-                                };
+                        /**
+                         * Properties of a GetStatusRequest.
+                         * @memberof org.dash.platform.dapi.v0
+                         * @interface IGetStatusRequest
+                         * @property {org.dash.platform.dapi.v0.GetStatusRequest.IGetStatusRequestV0|null} [v0] GetStatusRequest v0
+                         */
 
-                                /**
-                                 * Encodes the specified Node message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.verify|verify} messages.
-                                 * @function encodeDelimited
-                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node
-                                 * @static
-                                 * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.INode} message Node message or plain object to encode
-                                 * @param {$protobuf.Writer} [writer] Writer to encode to
-                                 * @returns {$protobuf.Writer} Writer
-                                 */
-                                Node.encodeDelimited = function encodeDelimited(message, writer) {
-                                    return this.encode(message, writer).ldelim();
-                                };
+                        /**
+                         * Constructs a new GetStatusRequest.
+                         * @memberof org.dash.platform.dapi.v0
+                         * @classdesc Represents a GetStatusRequest.
+                         * @implements IGetStatusRequest
+                         * @constructor
+                         * @param {org.dash.platform.dapi.v0.IGetStatusRequest=} [properties] Properties to set
+                         */
+                        function GetStatusRequest(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 a Node message from the specified reader or buffer.
-                                 * @function decode
-                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node
-                                 * @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.GetStatusResponse.GetStatusResponseV0.Node} Node
-                                 * @throws {Error} If the payload is not a reader or valid buffer
-                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
-                                 */
-                                Node.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.GetStatusResponse.GetStatusResponseV0.Node();
-                                    while (reader.pos < end) {
-                                        var tag = reader.uint32();
-                                        switch (tag >>> 3) {
-                                        case 1:
-                                            message.id = reader.bytes();
-                                            break;
-                                        case 2:
-                                            message.proTxHash = reader.bytes();
-                                            break;
-                                        default:
-                                            reader.skipType(tag & 7);
-                                            break;
-                                        }
-                                    }
-                                    return message;
-                                };
+                        /**
+                         * GetStatusRequest v0.
+                         * @member {org.dash.platform.dapi.v0.GetStatusRequest.IGetStatusRequestV0|null|undefined} v0
+                         * @memberof org.dash.platform.dapi.v0.GetStatusRequest
+                         * @instance
+                         */
+                        GetStatusRequest.prototype.v0 = null;
 
-                                /**
-                                 * Decodes a Node message from the specified reader or buffer, length delimited.
-                                 * @function decodeDelimited
-                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node
-                                 * @static
-                                 * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                                 * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node} Node
-                                 * @throws {Error} If the payload is not a reader or valid buffer
-                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
-                                 */
-                                Node.decodeDelimited = function decodeDelimited(reader) {
-                                    if (!(reader instanceof $Reader))
-                                        reader = new $Reader(reader);
-                                    return this.decode(reader, reader.uint32());
-                                };
+                        // OneOf field names bound to virtual getters and setters
+                        var $oneOfFields;
 
-                                /**
-                                 * Verifies a Node message.
-                                 * @function verify
-                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node
-                                 * @static
-                                 * @param {Object.} message Plain object to verify
-                                 * @returns {string|null} `null` if valid, otherwise the reason why it is not
-                                 */
-                                Node.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.proTxHash != null && message.hasOwnProperty("proTxHash"))
-                                        if (!(message.proTxHash && typeof message.proTxHash.length === "number" || $util.isString(message.proTxHash)))
-                                            return "proTxHash: buffer expected";
-                                    return null;
-                                };
+                        /**
+                         * GetStatusRequest version.
+                         * @member {"v0"|undefined} version
+                         * @memberof org.dash.platform.dapi.v0.GetStatusRequest
+                         * @instance
+                         */
+                        Object.defineProperty(GetStatusRequest.prototype, "version", {
+                            get: $util.oneOfGetter($oneOfFields = ["v0"]),
+                            set: $util.oneOfSetter($oneOfFields)
+                        });
 
-                                /**
-                                 * Creates a Node message from a plain object. Also converts values to their respective internal types.
-                                 * @function fromObject
-                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node
-                                 * @static
-                                 * @param {Object.} object Plain object
-                                 * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node} Node
-                                 */
-                                Node.fromObject = function fromObject(object) {
-                                    if (object instanceof $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node)
-                                        return object;
-                                    var message = new $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node();
-                                    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.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;
-                                    return message;
-                                };
+                        /**
+                         * Creates a new GetStatusRequest instance using the specified properties.
+                         * @function create
+                         * @memberof org.dash.platform.dapi.v0.GetStatusRequest
+                         * @static
+                         * @param {org.dash.platform.dapi.v0.IGetStatusRequest=} [properties] Properties to set
+                         * @returns {org.dash.platform.dapi.v0.GetStatusRequest} GetStatusRequest instance
+                         */
+                        GetStatusRequest.create = function create(properties) {
+                            return new GetStatusRequest(properties);
+                        };
 
-                                /**
-                                 * Creates a plain object from a Node message. Also converts values to other types if specified.
-                                 * @function toObject
-                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node
-                                 * @static
-                                 * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node} message Node
-                                 * @param {$protobuf.IConversionOptions} [options] Conversion options
-                                 * @returns {Object.} Plain object
-                                 */
-                                Node.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);
-                                        }
-                                        if (options.bytes === String)
-                                            object.proTxHash = "";
-                                        else {
-                                            object.proTxHash = [];
-                                            if (options.bytes !== Array)
-                                                object.proTxHash = $util.newBuffer(object.proTxHash);
-                                        }
-                                    }
-                                    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.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;
-                                    return object;
-                                };
+                        /**
+                         * Encodes the specified GetStatusRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetStatusRequest.verify|verify} messages.
+                         * @function encode
+                         * @memberof org.dash.platform.dapi.v0.GetStatusRequest
+                         * @static
+                         * @param {org.dash.platform.dapi.v0.IGetStatusRequest} message GetStatusRequest message or plain object to encode
+                         * @param {$protobuf.Writer} [writer] Writer to encode to
+                         * @returns {$protobuf.Writer} Writer
+                         */
+                        GetStatusRequest.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.GetStatusRequest.GetStatusRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+                            return writer;
+                        };
 
-                                /**
-                                 * Converts this Node to JSON.
-                                 * @function toJSON
-                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node
-                                 * @instance
-                                 * @returns {Object.} JSON object
-                                 */
-                                Node.prototype.toJSON = function toJSON() {
-                                    return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
-                                };
+                        /**
+                         * Encodes the specified GetStatusRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetStatusRequest.verify|verify} messages.
+                         * @function encodeDelimited
+                         * @memberof org.dash.platform.dapi.v0.GetStatusRequest
+                         * @static
+                         * @param {org.dash.platform.dapi.v0.IGetStatusRequest} message GetStatusRequest message or plain object to encode
+                         * @param {$protobuf.Writer} [writer] Writer to encode to
+                         * @returns {$protobuf.Writer} Writer
+                         */
+                        GetStatusRequest.encodeDelimited = function encodeDelimited(message, writer) {
+                            return this.encode(message, writer).ldelim();
+                        };
 
-                                return Node;
-                            })();
+                        /**
+                         * Decodes a GetStatusRequest message from the specified reader or buffer.
+                         * @function decode
+                         * @memberof org.dash.platform.dapi.v0.GetStatusRequest
+                         * @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.GetStatusRequest} GetStatusRequest
+                         * @throws {Error} If the payload is not a reader or valid buffer
+                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
+                         */
+                        GetStatusRequest.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.GetStatusRequest();
+                            while (reader.pos < end) {
+                                var tag = reader.uint32();
+                                switch (tag >>> 3) {
+                                case 1:
+                                    message.v0 = $root.org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0.decode(reader, reader.uint32());
+                                    break;
+                                default:
+                                    reader.skipType(tag & 7);
+                                    break;
+                                }
+                            }
+                            return message;
+                        };
 
-                            GetStatusResponseV0.Chain = (function() {
+                        /**
+                         * Decodes a GetStatusRequest message from the specified reader or buffer, length delimited.
+                         * @function decodeDelimited
+                         * @memberof org.dash.platform.dapi.v0.GetStatusRequest
+                         * @static
+                         * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+                         * @returns {org.dash.platform.dapi.v0.GetStatusRequest} GetStatusRequest
+                         * @throws {Error} If the payload is not a reader or valid buffer
+                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
+                         */
+                        GetStatusRequest.decodeDelimited = function decodeDelimited(reader) {
+                            if (!(reader instanceof $Reader))
+                                reader = new $Reader(reader);
+                            return this.decode(reader, reader.uint32());
+                        };
 
-                                /**
-                                 * Properties of a Chain.
-                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0
-                                 * @interface IChain
-                                 * @property {boolean|null} [catchingUp] Chain catchingUp
-                                 * @property {Uint8Array|null} [latestBlockHash] Chain latestBlockHash
-                                 * @property {Uint8Array|null} [latestAppHash] Chain latestAppHash
-                                 * @property {number|Long|null} [latestBlockHeight] Chain latestBlockHeight
-                                 * @property {Uint8Array|null} [earliestBlockHash] Chain earliestBlockHash
-                                 * @property {Uint8Array|null} [earliestAppHash] Chain earliestAppHash
-                                 * @property {number|Long|null} [earliestBlockHeight] Chain earliestBlockHeight
-                                 * @property {number|Long|null} [maxPeerBlockHeight] Chain maxPeerBlockHeight
-                                 * @property {number|null} [coreChainLockedHeight] Chain coreChainLockedHeight
-                                 */
-
-                                /**
-                                 * Constructs a new Chain.
-                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0
-                                 * @classdesc Represents a Chain.
-                                 * @implements IChain
-                                 * @constructor
-                                 * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.IChain=} [properties] Properties to set
-                                 */
-                                function Chain(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]];
+                        /**
+                         * Verifies a GetStatusRequest message.
+                         * @function verify
+                         * @memberof org.dash.platform.dapi.v0.GetStatusRequest
+                         * @static
+                         * @param {Object.} message Plain object to verify
+                         * @returns {string|null} `null` if valid, otherwise the reason why it is not
+                         */
+                        GetStatusRequest.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.GetStatusRequest.GetStatusRequestV0.verify(message.v0);
+                                    if (error)
+                                        return "v0." + error;
                                 }
+                            }
+                            return null;
+                        };
 
-                                /**
-                                 * Chain catchingUp.
-                                 * @member {boolean} catchingUp
-                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain
-                                 * @instance
-                                 */
-                                Chain.prototype.catchingUp = false;
+                        /**
+                         * Creates a GetStatusRequest message from a plain object. Also converts values to their respective internal types.
+                         * @function fromObject
+                         * @memberof org.dash.platform.dapi.v0.GetStatusRequest
+                         * @static
+                         * @param {Object.} object Plain object
+                         * @returns {org.dash.platform.dapi.v0.GetStatusRequest} GetStatusRequest
+                         */
+                        GetStatusRequest.fromObject = function fromObject(object) {
+                            if (object instanceof $root.org.dash.platform.dapi.v0.GetStatusRequest)
+                                return object;
+                            var message = new $root.org.dash.platform.dapi.v0.GetStatusRequest();
+                            if (object.v0 != null) {
+                                if (typeof object.v0 !== "object")
+                                    throw TypeError(".org.dash.platform.dapi.v0.GetStatusRequest.v0: object expected");
+                                message.v0 = $root.org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0.fromObject(object.v0);
+                            }
+                            return message;
+                        };
 
-                                /**
-                                 * Chain latestBlockHash.
-                                 * @member {Uint8Array} latestBlockHash
-                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain
-                                 * @instance
-                                 */
-                                Chain.prototype.latestBlockHash = $util.newBuffer([]);
+                        /**
+                         * Creates a plain object from a GetStatusRequest message. Also converts values to other types if specified.
+                         * @function toObject
+                         * @memberof org.dash.platform.dapi.v0.GetStatusRequest
+                         * @static
+                         * @param {org.dash.platform.dapi.v0.GetStatusRequest} message GetStatusRequest
+                         * @param {$protobuf.IConversionOptions} [options] Conversion options
+                         * @returns {Object.} Plain object
+                         */
+                        GetStatusRequest.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.GetStatusRequest.GetStatusRequestV0.toObject(message.v0, options);
+                                if (options.oneofs)
+                                    object.version = "v0";
+                            }
+                            return object;
+                        };
 
-                                /**
-                                 * Chain latestAppHash.
-                                 * @member {Uint8Array} latestAppHash
-                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain
-                                 * @instance
-                                 */
-                                Chain.prototype.latestAppHash = $util.newBuffer([]);
+                        /**
+                         * Converts this GetStatusRequest to JSON.
+                         * @function toJSON
+                         * @memberof org.dash.platform.dapi.v0.GetStatusRequest
+                         * @instance
+                         * @returns {Object.} JSON object
+                         */
+                        GetStatusRequest.prototype.toJSON = function toJSON() {
+                            return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+                        };
 
-                                /**
-                                 * Chain latestBlockHeight.
-                                 * @member {number|Long} latestBlockHeight
-                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain
-                                 * @instance
-                                 */
-                                Chain.prototype.latestBlockHeight = $util.Long ? $util.Long.fromBits(0,0,true) : 0;
+                        GetStatusRequest.GetStatusRequestV0 = (function() {
 
-                                /**
-                                 * Chain earliestBlockHash.
-                                 * @member {Uint8Array} earliestBlockHash
-                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain
-                                 * @instance
-                                 */
-                                Chain.prototype.earliestBlockHash = $util.newBuffer([]);
+                            /**
+                             * Properties of a GetStatusRequestV0.
+                             * @memberof org.dash.platform.dapi.v0.GetStatusRequest
+                             * @interface IGetStatusRequestV0
+                             */
 
-                                /**
-                                 * Chain earliestAppHash.
-                                 * @member {Uint8Array} earliestAppHash
-                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain
-                                 * @instance
-                                 */
-                                Chain.prototype.earliestAppHash = $util.newBuffer([]);
+                            /**
+                             * Constructs a new GetStatusRequestV0.
+                             * @memberof org.dash.platform.dapi.v0.GetStatusRequest
+                             * @classdesc Represents a GetStatusRequestV0.
+                             * @implements IGetStatusRequestV0
+                             * @constructor
+                             * @param {org.dash.platform.dapi.v0.GetStatusRequest.IGetStatusRequestV0=} [properties] Properties to set
+                             */
+                            function GetStatusRequestV0(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]];
+                            }
 
-                                /**
-                                 * Chain earliestBlockHeight.
-                                 * @member {number|Long} earliestBlockHeight
-                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain
-                                 * @instance
-                                 */
-                                Chain.prototype.earliestBlockHeight = $util.Long ? $util.Long.fromBits(0,0,true) : 0;
+                            /**
+                             * Creates a new GetStatusRequestV0 instance using the specified properties.
+                             * @function create
+                             * @memberof org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0
+                             * @static
+                             * @param {org.dash.platform.dapi.v0.GetStatusRequest.IGetStatusRequestV0=} [properties] Properties to set
+                             * @returns {org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0} GetStatusRequestV0 instance
+                             */
+                            GetStatusRequestV0.create = function create(properties) {
+                                return new GetStatusRequestV0(properties);
+                            };
 
-                                /**
-                                 * Chain maxPeerBlockHeight.
-                                 * @member {number|Long} maxPeerBlockHeight
-                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain
-                                 * @instance
-                                 */
-                                Chain.prototype.maxPeerBlockHeight = $util.Long ? $util.Long.fromBits(0,0,true) : 0;
+                            /**
+                             * Encodes the specified GetStatusRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0.verify|verify} messages.
+                             * @function encode
+                             * @memberof org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0
+                             * @static
+                             * @param {org.dash.platform.dapi.v0.GetStatusRequest.IGetStatusRequestV0} message GetStatusRequestV0 message or plain object to encode
+                             * @param {$protobuf.Writer} [writer] Writer to encode to
+                             * @returns {$protobuf.Writer} Writer
+                             */
+                            GetStatusRequestV0.encode = function encode(message, writer) {
+                                if (!writer)
+                                    writer = $Writer.create();
+                                return writer;
+                            };
 
-                                /**
-                                 * Chain coreChainLockedHeight.
-                                 * @member {number} coreChainLockedHeight
-                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain
-                                 * @instance
-                                 */
-                                Chain.prototype.coreChainLockedHeight = 0;
+                            /**
+                             * Encodes the specified GetStatusRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0.verify|verify} messages.
+                             * @function encodeDelimited
+                             * @memberof org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0
+                             * @static
+                             * @param {org.dash.platform.dapi.v0.GetStatusRequest.IGetStatusRequestV0} message GetStatusRequestV0 message or plain object to encode
+                             * @param {$protobuf.Writer} [writer] Writer to encode to
+                             * @returns {$protobuf.Writer} Writer
+                             */
+                            GetStatusRequestV0.encodeDelimited = function encodeDelimited(message, writer) {
+                                return this.encode(message, writer).ldelim();
+                            };
 
-                                /**
-                                 * Creates a new Chain instance using the specified properties.
-                                 * @function create
-                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain
-                                 * @static
-                                 * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.IChain=} [properties] Properties to set
-                                 * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain} Chain instance
-                                 */
-                                Chain.create = function create(properties) {
-                                    return new Chain(properties);
-                                };
+                            /**
+                             * Decodes a GetStatusRequestV0 message from the specified reader or buffer.
+                             * @function decode
+                             * @memberof org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0
+                             * @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.GetStatusRequest.GetStatusRequestV0} GetStatusRequestV0
+                             * @throws {Error} If the payload is not a reader or valid buffer
+                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
+                             */
+                            GetStatusRequestV0.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.GetStatusRequest.GetStatusRequestV0();
+                                while (reader.pos < end) {
+                                    var tag = reader.uint32();
+                                    switch (tag >>> 3) {
+                                    default:
+                                        reader.skipType(tag & 7);
+                                        break;
+                                    }
+                                }
+                                return message;
+                            };
 
-                                /**
-                                 * Encodes the specified Chain message. Does not implicitly {@link org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.verify|verify} messages.
-                                 * @function encode
-                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain
-                                 * @static
-                                 * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.IChain} message Chain message or plain object to encode
-                                 * @param {$protobuf.Writer} [writer] Writer to encode to
-                                 * @returns {$protobuf.Writer} Writer
-                                 */
-                                Chain.encode = function encode(message, writer) {
-                                    if (!writer)
-                                        writer = $Writer.create();
-                                    if (message.catchingUp != null && Object.hasOwnProperty.call(message, "catchingUp"))
-                                        writer.uint32(/* id 1, wireType 0 =*/8).bool(message.catchingUp);
-                                    if (message.latestBlockHash != null && Object.hasOwnProperty.call(message, "latestBlockHash"))
-                                        writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.latestBlockHash);
-                                    if (message.latestAppHash != null && Object.hasOwnProperty.call(message, "latestAppHash"))
-                                        writer.uint32(/* id 3, wireType 2 =*/26).bytes(message.latestAppHash);
-                                    if (message.latestBlockHeight != null && Object.hasOwnProperty.call(message, "latestBlockHeight"))
-                                        writer.uint32(/* id 4, wireType 0 =*/32).uint64(message.latestBlockHeight);
-                                    if (message.earliestBlockHash != null && Object.hasOwnProperty.call(message, "earliestBlockHash"))
-                                        writer.uint32(/* id 5, wireType 2 =*/42).bytes(message.earliestBlockHash);
-                                    if (message.earliestAppHash != null && Object.hasOwnProperty.call(message, "earliestAppHash"))
-                                        writer.uint32(/* id 6, wireType 2 =*/50).bytes(message.earliestAppHash);
-                                    if (message.earliestBlockHeight != null && Object.hasOwnProperty.call(message, "earliestBlockHeight"))
-                                        writer.uint32(/* id 7, wireType 0 =*/56).uint64(message.earliestBlockHeight);
-                                    if (message.maxPeerBlockHeight != null && Object.hasOwnProperty.call(message, "maxPeerBlockHeight"))
-                                        writer.uint32(/* id 9, wireType 0 =*/72).uint64(message.maxPeerBlockHeight);
-                                    if (message.coreChainLockedHeight != null && Object.hasOwnProperty.call(message, "coreChainLockedHeight"))
-                                        writer.uint32(/* id 10, wireType 0 =*/80).uint32(message.coreChainLockedHeight);
-                                    return writer;
-                                };
+                            /**
+                             * Decodes a GetStatusRequestV0 message from the specified reader or buffer, length delimited.
+                             * @function decodeDelimited
+                             * @memberof org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0
+                             * @static
+                             * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+                             * @returns {org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0} GetStatusRequestV0
+                             * @throws {Error} If the payload is not a reader or valid buffer
+                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
+                             */
+                            GetStatusRequestV0.decodeDelimited = function decodeDelimited(reader) {
+                                if (!(reader instanceof $Reader))
+                                    reader = new $Reader(reader);
+                                return this.decode(reader, reader.uint32());
+                            };
 
-                                /**
-                                 * Encodes the specified Chain message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.verify|verify} messages.
-                                 * @function encodeDelimited
-                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain
-                                 * @static
-                                 * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.IChain} message Chain message or plain object to encode
-                                 * @param {$protobuf.Writer} [writer] Writer to encode to
-                                 * @returns {$protobuf.Writer} Writer
-                                 */
-                                Chain.encodeDelimited = function encodeDelimited(message, writer) {
-                                    return this.encode(message, writer).ldelim();
-                                };
+                            /**
+                             * Verifies a GetStatusRequestV0 message.
+                             * @function verify
+                             * @memberof org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0
+                             * @static
+                             * @param {Object.} message Plain object to verify
+                             * @returns {string|null} `null` if valid, otherwise the reason why it is not
+                             */
+                            GetStatusRequestV0.verify = function verify(message) {
+                                if (typeof message !== "object" || message === null)
+                                    return "object expected";
+                                return null;
+                            };
 
-                                /**
-                                 * Decodes a Chain message from the specified reader or buffer.
-                                 * @function decode
-                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain
-                                 * @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.GetStatusResponse.GetStatusResponseV0.Chain} Chain
-                                 * @throws {Error} If the payload is not a reader or valid buffer
-                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
-                                 */
-                                Chain.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.GetStatusResponse.GetStatusResponseV0.Chain();
-                                    while (reader.pos < end) {
-                                        var tag = reader.uint32();
-                                        switch (tag >>> 3) {
-                                        case 1:
-                                            message.catchingUp = reader.bool();
-                                            break;
-                                        case 2:
-                                            message.latestBlockHash = reader.bytes();
-                                            break;
-                                        case 3:
-                                            message.latestAppHash = reader.bytes();
-                                            break;
-                                        case 4:
-                                            message.latestBlockHeight = reader.uint64();
-                                            break;
-                                        case 5:
-                                            message.earliestBlockHash = reader.bytes();
-                                            break;
-                                        case 6:
-                                            message.earliestAppHash = reader.bytes();
-                                            break;
-                                        case 7:
-                                            message.earliestBlockHeight = reader.uint64();
-                                            break;
-                                        case 9:
-                                            message.maxPeerBlockHeight = reader.uint64();
-                                            break;
-                                        case 10:
-                                            message.coreChainLockedHeight = reader.uint32();
-                                            break;
-                                        default:
-                                            reader.skipType(tag & 7);
-                                            break;
-                                        }
-                                    }
-                                    return message;
-                                };
+                            /**
+                             * Creates a GetStatusRequestV0 message from a plain object. Also converts values to their respective internal types.
+                             * @function fromObject
+                             * @memberof org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0
+                             * @static
+                             * @param {Object.} object Plain object
+                             * @returns {org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0} GetStatusRequestV0
+                             */
+                            GetStatusRequestV0.fromObject = function fromObject(object) {
+                                if (object instanceof $root.org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0)
+                                    return object;
+                                return new $root.org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0();
+                            };
 
-                                /**
-                                 * Decodes a Chain message from the specified reader or buffer, length delimited.
-                                 * @function decodeDelimited
-                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain
-                                 * @static
-                                 * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                                 * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain} Chain
-                                 * @throws {Error} If the payload is not a reader or valid buffer
-                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
-                                 */
-                                Chain.decodeDelimited = function decodeDelimited(reader) {
-                                    if (!(reader instanceof $Reader))
-                                        reader = new $Reader(reader);
-                                    return this.decode(reader, reader.uint32());
-                                };
+                            /**
+                             * Creates a plain object from a GetStatusRequestV0 message. Also converts values to other types if specified.
+                             * @function toObject
+                             * @memberof org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0
+                             * @static
+                             * @param {org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0} message GetStatusRequestV0
+                             * @param {$protobuf.IConversionOptions} [options] Conversion options
+                             * @returns {Object.} Plain object
+                             */
+                            GetStatusRequestV0.toObject = function toObject() {
+                                return {};
+                            };
 
-                                /**
-                                 * Verifies a Chain message.
-                                 * @function verify
-                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain
-                                 * @static
-                                 * @param {Object.} message Plain object to verify
-                                 * @returns {string|null} `null` if valid, otherwise the reason why it is not
-                                 */
-                                Chain.verify = function verify(message) {
-                                    if (typeof message !== "object" || message === null)
-                                        return "object expected";
-                                    if (message.catchingUp != null && message.hasOwnProperty("catchingUp"))
-                                        if (typeof message.catchingUp !== "boolean")
-                                            return "catchingUp: boolean expected";
-                                    if (message.latestBlockHash != null && message.hasOwnProperty("latestBlockHash"))
-                                        if (!(message.latestBlockHash && typeof message.latestBlockHash.length === "number" || $util.isString(message.latestBlockHash)))
-                                            return "latestBlockHash: buffer expected";
-                                    if (message.latestAppHash != null && message.hasOwnProperty("latestAppHash"))
-                                        if (!(message.latestAppHash && typeof message.latestAppHash.length === "number" || $util.isString(message.latestAppHash)))
-                                            return "latestAppHash: buffer expected";
-                                    if (message.latestBlockHeight != null && message.hasOwnProperty("latestBlockHeight"))
-                                        if (!$util.isInteger(message.latestBlockHeight) && !(message.latestBlockHeight && $util.isInteger(message.latestBlockHeight.low) && $util.isInteger(message.latestBlockHeight.high)))
-                                            return "latestBlockHeight: integer|Long expected";
-                                    if (message.earliestBlockHash != null && message.hasOwnProperty("earliestBlockHash"))
-                                        if (!(message.earliestBlockHash && typeof message.earliestBlockHash.length === "number" || $util.isString(message.earliestBlockHash)))
-                                            return "earliestBlockHash: buffer expected";
-                                    if (message.earliestAppHash != null && message.hasOwnProperty("earliestAppHash"))
-                                        if (!(message.earliestAppHash && typeof message.earliestAppHash.length === "number" || $util.isString(message.earliestAppHash)))
-                                            return "earliestAppHash: buffer expected";
-                                    if (message.earliestBlockHeight != null && message.hasOwnProperty("earliestBlockHeight"))
-                                        if (!$util.isInteger(message.earliestBlockHeight) && !(message.earliestBlockHeight && $util.isInteger(message.earliestBlockHeight.low) && $util.isInteger(message.earliestBlockHeight.high)))
-                                            return "earliestBlockHeight: integer|Long expected";
-                                    if (message.maxPeerBlockHeight != null && message.hasOwnProperty("maxPeerBlockHeight"))
-                                        if (!$util.isInteger(message.maxPeerBlockHeight) && !(message.maxPeerBlockHeight && $util.isInteger(message.maxPeerBlockHeight.low) && $util.isInteger(message.maxPeerBlockHeight.high)))
-                                            return "maxPeerBlockHeight: integer|Long expected";
-                                    if (message.coreChainLockedHeight != null && message.hasOwnProperty("coreChainLockedHeight"))
-                                        if (!$util.isInteger(message.coreChainLockedHeight))
-                                            return "coreChainLockedHeight: integer expected";
-                                    return null;
-                                };
+                            /**
+                             * Converts this GetStatusRequestV0 to JSON.
+                             * @function toJSON
+                             * @memberof org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0
+                             * @instance
+                             * @returns {Object.} JSON object
+                             */
+                            GetStatusRequestV0.prototype.toJSON = function toJSON() {
+                                return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+                            };
 
-                                /**
-                                 * Creates a Chain message from a plain object. Also converts values to their respective internal types.
-                                 * @function fromObject
-                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain
-                                 * @static
-                                 * @param {Object.} object Plain object
-                                 * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain} Chain
-                                 */
-                                Chain.fromObject = function fromObject(object) {
-                                    if (object instanceof $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain)
-                                        return object;
-                                    var message = new $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain();
-                                    if (object.catchingUp != null)
-                                        message.catchingUp = Boolean(object.catchingUp);
-                                    if (object.latestBlockHash != null)
-                                        if (typeof object.latestBlockHash === "string")
-                                            $util.base64.decode(object.latestBlockHash, message.latestBlockHash = $util.newBuffer($util.base64.length(object.latestBlockHash)), 0);
-                                        else if (object.latestBlockHash.length >= 0)
-                                            message.latestBlockHash = object.latestBlockHash;
-                                    if (object.latestAppHash != null)
-                                        if (typeof object.latestAppHash === "string")
-                                            $util.base64.decode(object.latestAppHash, message.latestAppHash = $util.newBuffer($util.base64.length(object.latestAppHash)), 0);
-                                        else if (object.latestAppHash.length >= 0)
-                                            message.latestAppHash = object.latestAppHash;
-                                    if (object.latestBlockHeight != null)
-                                        if ($util.Long)
-                                            (message.latestBlockHeight = $util.Long.fromValue(object.latestBlockHeight)).unsigned = true;
-                                        else if (typeof object.latestBlockHeight === "string")
-                                            message.latestBlockHeight = parseInt(object.latestBlockHeight, 10);
-                                        else if (typeof object.latestBlockHeight === "number")
-                                            message.latestBlockHeight = object.latestBlockHeight;
-                                        else if (typeof object.latestBlockHeight === "object")
-                                            message.latestBlockHeight = new $util.LongBits(object.latestBlockHeight.low >>> 0, object.latestBlockHeight.high >>> 0).toNumber(true);
-                                    if (object.earliestBlockHash != null)
-                                        if (typeof object.earliestBlockHash === "string")
-                                            $util.base64.decode(object.earliestBlockHash, message.earliestBlockHash = $util.newBuffer($util.base64.length(object.earliestBlockHash)), 0);
-                                        else if (object.earliestBlockHash.length >= 0)
-                                            message.earliestBlockHash = object.earliestBlockHash;
-                                    if (object.earliestAppHash != null)
-                                        if (typeof object.earliestAppHash === "string")
-                                            $util.base64.decode(object.earliestAppHash, message.earliestAppHash = $util.newBuffer($util.base64.length(object.earliestAppHash)), 0);
-                                        else if (object.earliestAppHash.length >= 0)
-                                            message.earliestAppHash = object.earliestAppHash;
-                                    if (object.earliestBlockHeight != null)
-                                        if ($util.Long)
-                                            (message.earliestBlockHeight = $util.Long.fromValue(object.earliestBlockHeight)).unsigned = true;
-                                        else if (typeof object.earliestBlockHeight === "string")
-                                            message.earliestBlockHeight = parseInt(object.earliestBlockHeight, 10);
-                                        else if (typeof object.earliestBlockHeight === "number")
-                                            message.earliestBlockHeight = object.earliestBlockHeight;
-                                        else if (typeof object.earliestBlockHeight === "object")
-                                            message.earliestBlockHeight = new $util.LongBits(object.earliestBlockHeight.low >>> 0, object.earliestBlockHeight.high >>> 0).toNumber(true);
-                                    if (object.maxPeerBlockHeight != null)
-                                        if ($util.Long)
-                                            (message.maxPeerBlockHeight = $util.Long.fromValue(object.maxPeerBlockHeight)).unsigned = true;
-                                        else if (typeof object.maxPeerBlockHeight === "string")
-                                            message.maxPeerBlockHeight = parseInt(object.maxPeerBlockHeight, 10);
-                                        else if (typeof object.maxPeerBlockHeight === "number")
-                                            message.maxPeerBlockHeight = object.maxPeerBlockHeight;
-                                        else if (typeof object.maxPeerBlockHeight === "object")
-                                            message.maxPeerBlockHeight = new $util.LongBits(object.maxPeerBlockHeight.low >>> 0, object.maxPeerBlockHeight.high >>> 0).toNumber(true);
-                                    if (object.coreChainLockedHeight != null)
-                                        message.coreChainLockedHeight = object.coreChainLockedHeight >>> 0;
-                                    return message;
-                                };
+                            return GetStatusRequestV0;
+                        })();
 
-                                /**
-                                 * Creates a plain object from a Chain message. Also converts values to other types if specified.
-                                 * @function toObject
-                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain
-                                 * @static
-                                 * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain} message Chain
-                                 * @param {$protobuf.IConversionOptions} [options] Conversion options
-                                 * @returns {Object.} Plain object
-                                 */
-                                Chain.toObject = function toObject(message, options) {
-                                    if (!options)
-                                        options = {};
-                                    var object = {};
-                                    if (options.defaults) {
-                                        object.catchingUp = false;
-                                        if (options.bytes === String)
-                                            object.latestBlockHash = "";
-                                        else {
-                                            object.latestBlockHash = [];
-                                            if (options.bytes !== Array)
-                                                object.latestBlockHash = $util.newBuffer(object.latestBlockHash);
-                                        }
-                                        if (options.bytes === String)
-                                            object.latestAppHash = "";
-                                        else {
-                                            object.latestAppHash = [];
-                                            if (options.bytes !== Array)
-                                                object.latestAppHash = $util.newBuffer(object.latestAppHash);
-                                        }
-                                        if ($util.Long) {
-                                            var long = new $util.Long(0, 0, true);
-                                            object.latestBlockHeight = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;
-                                        } else
-                                            object.latestBlockHeight = options.longs === String ? "0" : 0;
-                                        if (options.bytes === String)
-                                            object.earliestBlockHash = "";
-                                        else {
-                                            object.earliestBlockHash = [];
-                                            if (options.bytes !== Array)
-                                                object.earliestBlockHash = $util.newBuffer(object.earliestBlockHash);
-                                        }
-                                        if (options.bytes === String)
-                                            object.earliestAppHash = "";
-                                        else {
-                                            object.earliestAppHash = [];
-                                            if (options.bytes !== Array)
-                                                object.earliestAppHash = $util.newBuffer(object.earliestAppHash);
-                                        }
-                                        if ($util.Long) {
-                                            var long = new $util.Long(0, 0, true);
-                                            object.earliestBlockHeight = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;
-                                        } else
-                                            object.earliestBlockHeight = options.longs === String ? "0" : 0;
-                                        if ($util.Long) {
-                                            var long = new $util.Long(0, 0, true);
-                                            object.maxPeerBlockHeight = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;
-                                        } else
-                                            object.maxPeerBlockHeight = options.longs === String ? "0" : 0;
-                                        object.coreChainLockedHeight = 0;
-                                    }
-                                    if (message.catchingUp != null && message.hasOwnProperty("catchingUp"))
-                                        object.catchingUp = message.catchingUp;
-                                    if (message.latestBlockHash != null && message.hasOwnProperty("latestBlockHash"))
-                                        object.latestBlockHash = options.bytes === String ? $util.base64.encode(message.latestBlockHash, 0, message.latestBlockHash.length) : options.bytes === Array ? Array.prototype.slice.call(message.latestBlockHash) : message.latestBlockHash;
-                                    if (message.latestAppHash != null && message.hasOwnProperty("latestAppHash"))
-                                        object.latestAppHash = options.bytes === String ? $util.base64.encode(message.latestAppHash, 0, message.latestAppHash.length) : options.bytes === Array ? Array.prototype.slice.call(message.latestAppHash) : message.latestAppHash;
-                                    if (message.latestBlockHeight != null && message.hasOwnProperty("latestBlockHeight"))
-                                        if (typeof message.latestBlockHeight === "number")
-                                            object.latestBlockHeight = options.longs === String ? String(message.latestBlockHeight) : message.latestBlockHeight;
-                                        else
-                                            object.latestBlockHeight = options.longs === String ? $util.Long.prototype.toString.call(message.latestBlockHeight) : options.longs === Number ? new $util.LongBits(message.latestBlockHeight.low >>> 0, message.latestBlockHeight.high >>> 0).toNumber(true) : message.latestBlockHeight;
-                                    if (message.earliestBlockHash != null && message.hasOwnProperty("earliestBlockHash"))
-                                        object.earliestBlockHash = options.bytes === String ? $util.base64.encode(message.earliestBlockHash, 0, message.earliestBlockHash.length) : options.bytes === Array ? Array.prototype.slice.call(message.earliestBlockHash) : message.earliestBlockHash;
-                                    if (message.earliestAppHash != null && message.hasOwnProperty("earliestAppHash"))
-                                        object.earliestAppHash = options.bytes === String ? $util.base64.encode(message.earliestAppHash, 0, message.earliestAppHash.length) : options.bytes === Array ? Array.prototype.slice.call(message.earliestAppHash) : message.earliestAppHash;
-                                    if (message.earliestBlockHeight != null && message.hasOwnProperty("earliestBlockHeight"))
-                                        if (typeof message.earliestBlockHeight === "number")
-                                            object.earliestBlockHeight = options.longs === String ? String(message.earliestBlockHeight) : message.earliestBlockHeight;
-                                        else
-                                            object.earliestBlockHeight = options.longs === String ? $util.Long.prototype.toString.call(message.earliestBlockHeight) : options.longs === Number ? new $util.LongBits(message.earliestBlockHeight.low >>> 0, message.earliestBlockHeight.high >>> 0).toNumber(true) : message.earliestBlockHeight;
-                                    if (message.maxPeerBlockHeight != null && message.hasOwnProperty("maxPeerBlockHeight"))
-                                        if (typeof message.maxPeerBlockHeight === "number")
-                                            object.maxPeerBlockHeight = options.longs === String ? String(message.maxPeerBlockHeight) : message.maxPeerBlockHeight;
-                                        else
-                                            object.maxPeerBlockHeight = options.longs === String ? $util.Long.prototype.toString.call(message.maxPeerBlockHeight) : options.longs === Number ? new $util.LongBits(message.maxPeerBlockHeight.low >>> 0, message.maxPeerBlockHeight.high >>> 0).toNumber(true) : message.maxPeerBlockHeight;
-                                    if (message.coreChainLockedHeight != null && message.hasOwnProperty("coreChainLockedHeight"))
-                                        object.coreChainLockedHeight = message.coreChainLockedHeight;
-                                    return object;
-                                };
+                        return GetStatusRequest;
+                    })();
 
-                                /**
-                                 * Converts this Chain to JSON.
-                                 * @function toJSON
-                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain
-                                 * @instance
-                                 * @returns {Object.} JSON object
-                                 */
-                                Chain.prototype.toJSON = function toJSON() {
-                                    return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
-                                };
+                    v0.GetStatusResponse = (function() {
 
-                                return Chain;
-                            })();
+                        /**
+                         * Properties of a GetStatusResponse.
+                         * @memberof org.dash.platform.dapi.v0
+                         * @interface IGetStatusResponse
+                         * @property {org.dash.platform.dapi.v0.GetStatusResponse.IGetStatusResponseV0|null} [v0] GetStatusResponse v0
+                         */
 
-                            GetStatusResponseV0.Network = (function() {
+                        /**
+                         * Constructs a new GetStatusResponse.
+                         * @memberof org.dash.platform.dapi.v0
+                         * @classdesc Represents a GetStatusResponse.
+                         * @implements IGetStatusResponse
+                         * @constructor
+                         * @param {org.dash.platform.dapi.v0.IGetStatusResponse=} [properties] Properties to set
+                         */
+                        function GetStatusResponse(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]];
+                        }
 
-                                /**
-                                 * Properties of a Network.
-                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0
-                                 * @interface INetwork
-                                 * @property {string|null} [chainId] Network chainId
-                                 * @property {number|null} [peersCount] Network peersCount
-                                 * @property {boolean|null} [listening] Network listening
-                                 */
+                        /**
+                         * GetStatusResponse v0.
+                         * @member {org.dash.platform.dapi.v0.GetStatusResponse.IGetStatusResponseV0|null|undefined} v0
+                         * @memberof org.dash.platform.dapi.v0.GetStatusResponse
+                         * @instance
+                         */
+                        GetStatusResponse.prototype.v0 = null;
 
-                                /**
-                                 * Constructs a new Network.
-                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0
-                                 * @classdesc Represents a Network.
-                                 * @implements INetwork
-                                 * @constructor
-                                 * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.INetwork=} [properties] Properties to set
-                                 */
-                                function Network(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]];
-                                }
+                        // OneOf field names bound to virtual getters and setters
+                        var $oneOfFields;
 
-                                /**
-                                 * Network chainId.
-                                 * @member {string} chainId
-                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network
-                                 * @instance
-                                 */
-                                Network.prototype.chainId = "";
+                        /**
+                         * GetStatusResponse version.
+                         * @member {"v0"|undefined} version
+                         * @memberof org.dash.platform.dapi.v0.GetStatusResponse
+                         * @instance
+                         */
+                        Object.defineProperty(GetStatusResponse.prototype, "version", {
+                            get: $util.oneOfGetter($oneOfFields = ["v0"]),
+                            set: $util.oneOfSetter($oneOfFields)
+                        });
 
-                                /**
-                                 * Network peersCount.
-                                 * @member {number} peersCount
-                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network
-                                 * @instance
-                                 */
-                                Network.prototype.peersCount = 0;
+                        /**
+                         * Creates a new GetStatusResponse instance using the specified properties.
+                         * @function create
+                         * @memberof org.dash.platform.dapi.v0.GetStatusResponse
+                         * @static
+                         * @param {org.dash.platform.dapi.v0.IGetStatusResponse=} [properties] Properties to set
+                         * @returns {org.dash.platform.dapi.v0.GetStatusResponse} GetStatusResponse instance
+                         */
+                        GetStatusResponse.create = function create(properties) {
+                            return new GetStatusResponse(properties);
+                        };
 
-                                /**
-                                 * Network listening.
-                                 * @member {boolean} listening
-                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network
-                                 * @instance
-                                 */
-                                Network.prototype.listening = false;
+                        /**
+                         * Encodes the specified GetStatusResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetStatusResponse.verify|verify} messages.
+                         * @function encode
+                         * @memberof org.dash.platform.dapi.v0.GetStatusResponse
+                         * @static
+                         * @param {org.dash.platform.dapi.v0.IGetStatusResponse} message GetStatusResponse message or plain object to encode
+                         * @param {$protobuf.Writer} [writer] Writer to encode to
+                         * @returns {$protobuf.Writer} Writer
+                         */
+                        GetStatusResponse.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.GetStatusResponse.GetStatusResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+                            return writer;
+                        };
 
-                                /**
-                                 * Creates a new Network instance using the specified properties.
-                                 * @function create
-                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network
-                                 * @static
-                                 * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.INetwork=} [properties] Properties to set
-                                 * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network} Network instance
-                                 */
-                                Network.create = function create(properties) {
-                                    return new Network(properties);
-                                };
+                        /**
+                         * Encodes the specified GetStatusResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetStatusResponse.verify|verify} messages.
+                         * @function encodeDelimited
+                         * @memberof org.dash.platform.dapi.v0.GetStatusResponse
+                         * @static
+                         * @param {org.dash.platform.dapi.v0.IGetStatusResponse} message GetStatusResponse message or plain object to encode
+                         * @param {$protobuf.Writer} [writer] Writer to encode to
+                         * @returns {$protobuf.Writer} Writer
+                         */
+                        GetStatusResponse.encodeDelimited = function encodeDelimited(message, writer) {
+                            return this.encode(message, writer).ldelim();
+                        };
 
-                                /**
-                                 * Encodes the specified Network message. Does not implicitly {@link org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network.verify|verify} messages.
-                                 * @function encode
-                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network
-                                 * @static
-                                 * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.INetwork} message Network message or plain object to encode
-                                 * @param {$protobuf.Writer} [writer] Writer to encode to
-                                 * @returns {$protobuf.Writer} Writer
-                                 */
-                                Network.encode = function encode(message, writer) {
-                                    if (!writer)
-                                        writer = $Writer.create();
-                                    if (message.chainId != null && Object.hasOwnProperty.call(message, "chainId"))
-                                        writer.uint32(/* id 1, wireType 2 =*/10).string(message.chainId);
-                                    if (message.peersCount != null && Object.hasOwnProperty.call(message, "peersCount"))
-                                        writer.uint32(/* id 2, wireType 0 =*/16).uint32(message.peersCount);
-                                    if (message.listening != null && Object.hasOwnProperty.call(message, "listening"))
-                                        writer.uint32(/* id 3, wireType 0 =*/24).bool(message.listening);
-                                    return writer;
-                                };
+                        /**
+                         * Decodes a GetStatusResponse message from the specified reader or buffer.
+                         * @function decode
+                         * @memberof org.dash.platform.dapi.v0.GetStatusResponse
+                         * @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.GetStatusResponse} GetStatusResponse
+                         * @throws {Error} If the payload is not a reader or valid buffer
+                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
+                         */
+                        GetStatusResponse.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.GetStatusResponse();
+                            while (reader.pos < end) {
+                                var tag = reader.uint32();
+                                switch (tag >>> 3) {
+                                case 1:
+                                    message.v0 = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.decode(reader, reader.uint32());
+                                    break;
+                                default:
+                                    reader.skipType(tag & 7);
+                                    break;
+                                }
+                            }
+                            return message;
+                        };
 
-                                /**
-                                 * Encodes the specified Network message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network.verify|verify} messages.
-                                 * @function encodeDelimited
-                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network
-                                 * @static
-                                 * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.INetwork} message Network message or plain object to encode
-                                 * @param {$protobuf.Writer} [writer] Writer to encode to
-                                 * @returns {$protobuf.Writer} Writer
-                                 */
-                                Network.encodeDelimited = function encodeDelimited(message, writer) {
-                                    return this.encode(message, writer).ldelim();
-                                };
+                        /**
+                         * Decodes a GetStatusResponse message from the specified reader or buffer, length delimited.
+                         * @function decodeDelimited
+                         * @memberof org.dash.platform.dapi.v0.GetStatusResponse
+                         * @static
+                         * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+                         * @returns {org.dash.platform.dapi.v0.GetStatusResponse} GetStatusResponse
+                         * @throws {Error} If the payload is not a reader or valid buffer
+                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
+                         */
+                        GetStatusResponse.decodeDelimited = function decodeDelimited(reader) {
+                            if (!(reader instanceof $Reader))
+                                reader = new $Reader(reader);
+                            return this.decode(reader, reader.uint32());
+                        };
 
-                                /**
-                                 * Decodes a Network message from the specified reader or buffer.
-                                 * @function decode
-                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network
-                                 * @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.GetStatusResponse.GetStatusResponseV0.Network} Network
-                                 * @throws {Error} If the payload is not a reader or valid buffer
-                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
-                                 */
-                                Network.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.GetStatusResponse.GetStatusResponseV0.Network();
-                                    while (reader.pos < end) {
-                                        var tag = reader.uint32();
-                                        switch (tag >>> 3) {
-                                        case 1:
-                                            message.chainId = reader.string();
-                                            break;
-                                        case 2:
-                                            message.peersCount = reader.uint32();
-                                            break;
-                                        case 3:
-                                            message.listening = reader.bool();
-                                            break;
-                                        default:
-                                            reader.skipType(tag & 7);
-                                            break;
-                                        }
-                                    }
-                                    return message;
-                                };
+                        /**
+                         * Verifies a GetStatusResponse message.
+                         * @function verify
+                         * @memberof org.dash.platform.dapi.v0.GetStatusResponse
+                         * @static
+                         * @param {Object.} message Plain object to verify
+                         * @returns {string|null} `null` if valid, otherwise the reason why it is not
+                         */
+                        GetStatusResponse.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.GetStatusResponse.GetStatusResponseV0.verify(message.v0);
+                                    if (error)
+                                        return "v0." + error;
+                                }
+                            }
+                            return null;
+                        };
 
-                                /**
-                                 * Decodes a Network message from the specified reader or buffer, length delimited.
-                                 * @function decodeDelimited
-                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network
-                                 * @static
-                                 * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                                 * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network} Network
-                                 * @throws {Error} If the payload is not a reader or valid buffer
-                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
-                                 */
-                                Network.decodeDelimited = function decodeDelimited(reader) {
-                                    if (!(reader instanceof $Reader))
-                                        reader = new $Reader(reader);
-                                    return this.decode(reader, reader.uint32());
-                                };
+                        /**
+                         * Creates a GetStatusResponse message from a plain object. Also converts values to their respective internal types.
+                         * @function fromObject
+                         * @memberof org.dash.platform.dapi.v0.GetStatusResponse
+                         * @static
+                         * @param {Object.} object Plain object
+                         * @returns {org.dash.platform.dapi.v0.GetStatusResponse} GetStatusResponse
+                         */
+                        GetStatusResponse.fromObject = function fromObject(object) {
+                            if (object instanceof $root.org.dash.platform.dapi.v0.GetStatusResponse)
+                                return object;
+                            var message = new $root.org.dash.platform.dapi.v0.GetStatusResponse();
+                            if (object.v0 != null) {
+                                if (typeof object.v0 !== "object")
+                                    throw TypeError(".org.dash.platform.dapi.v0.GetStatusResponse.v0: object expected");
+                                message.v0 = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.fromObject(object.v0);
+                            }
+                            return message;
+                        };
 
-                                /**
-                                 * Verifies a Network message.
-                                 * @function verify
-                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network
-                                 * @static
-                                 * @param {Object.} message Plain object to verify
-                                 * @returns {string|null} `null` if valid, otherwise the reason why it is not
-                                 */
-                                Network.verify = function verify(message) {
-                                    if (typeof message !== "object" || message === null)
-                                        return "object expected";
-                                    if (message.chainId != null && message.hasOwnProperty("chainId"))
-                                        if (!$util.isString(message.chainId))
-                                            return "chainId: string expected";
-                                    if (message.peersCount != null && message.hasOwnProperty("peersCount"))
-                                        if (!$util.isInteger(message.peersCount))
-                                            return "peersCount: integer expected";
-                                    if (message.listening != null && message.hasOwnProperty("listening"))
-                                        if (typeof message.listening !== "boolean")
-                                            return "listening: boolean expected";
-                                    return null;
-                                };
+                        /**
+                         * Creates a plain object from a GetStatusResponse message. Also converts values to other types if specified.
+                         * @function toObject
+                         * @memberof org.dash.platform.dapi.v0.GetStatusResponse
+                         * @static
+                         * @param {org.dash.platform.dapi.v0.GetStatusResponse} message GetStatusResponse
+                         * @param {$protobuf.IConversionOptions} [options] Conversion options
+                         * @returns {Object.} Plain object
+                         */
+                        GetStatusResponse.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.GetStatusResponse.GetStatusResponseV0.toObject(message.v0, options);
+                                if (options.oneofs)
+                                    object.version = "v0";
+                            }
+                            return object;
+                        };
 
-                                /**
-                                 * Creates a Network message from a plain object. Also converts values to their respective internal types.
-                                 * @function fromObject
-                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network
-                                 * @static
-                                 * @param {Object.} object Plain object
-                                 * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network} Network
-                                 */
-                                Network.fromObject = function fromObject(object) {
-                                    if (object instanceof $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network)
-                                        return object;
-                                    var message = new $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network();
-                                    if (object.chainId != null)
-                                        message.chainId = String(object.chainId);
-                                    if (object.peersCount != null)
-                                        message.peersCount = object.peersCount >>> 0;
-                                    if (object.listening != null)
-                                        message.listening = Boolean(object.listening);
-                                    return message;
-                                };
+                        /**
+                         * Converts this GetStatusResponse to JSON.
+                         * @function toJSON
+                         * @memberof org.dash.platform.dapi.v0.GetStatusResponse
+                         * @instance
+                         * @returns {Object.} JSON object
+                         */
+                        GetStatusResponse.prototype.toJSON = function toJSON() {
+                            return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+                        };
 
-                                /**
-                                 * Creates a plain object from a Network message. Also converts values to other types if specified.
-                                 * @function toObject
-                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network
-                                 * @static
-                                 * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network} message Network
-                                 * @param {$protobuf.IConversionOptions} [options] Conversion options
-                                 * @returns {Object.} Plain object
-                                 */
-                                Network.toObject = function toObject(message, options) {
-                                    if (!options)
-                                        options = {};
-                                    var object = {};
-                                    if (options.defaults) {
-                                        object.chainId = "";
-                                        object.peersCount = 0;
-                                        object.listening = false;
+                        GetStatusResponse.GetStatusResponseV0 = (function() {
+
+                            /**
+                             * Properties of a GetStatusResponseV0.
+                             * @memberof org.dash.platform.dapi.v0.GetStatusResponse
+                             * @interface IGetStatusResponseV0
+                             * @property {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.IVersion|null} [version] GetStatusResponseV0 version
+                             * @property {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.INode|null} [node] GetStatusResponseV0 node
+                             * @property {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.IChain|null} [chain] GetStatusResponseV0 chain
+                             * @property {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.INetwork|null} [network] GetStatusResponseV0 network
+                             * @property {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.IStateSync|null} [stateSync] GetStatusResponseV0 stateSync
+                             * @property {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.ITime|null} [time] GetStatusResponseV0 time
+                             */
+
+                            /**
+                             * Constructs a new GetStatusResponseV0.
+                             * @memberof org.dash.platform.dapi.v0.GetStatusResponse
+                             * @classdesc Represents a GetStatusResponseV0.
+                             * @implements IGetStatusResponseV0
+                             * @constructor
+                             * @param {org.dash.platform.dapi.v0.GetStatusResponse.IGetStatusResponseV0=} [properties] Properties to set
+                             */
+                            function GetStatusResponseV0(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]];
+                            }
+
+                            /**
+                             * GetStatusResponseV0 version.
+                             * @member {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.IVersion|null|undefined} version
+                             * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0
+                             * @instance
+                             */
+                            GetStatusResponseV0.prototype.version = null;
+
+                            /**
+                             * GetStatusResponseV0 node.
+                             * @member {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.INode|null|undefined} node
+                             * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0
+                             * @instance
+                             */
+                            GetStatusResponseV0.prototype.node = null;
+
+                            /**
+                             * GetStatusResponseV0 chain.
+                             * @member {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.IChain|null|undefined} chain
+                             * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0
+                             * @instance
+                             */
+                            GetStatusResponseV0.prototype.chain = null;
+
+                            /**
+                             * GetStatusResponseV0 network.
+                             * @member {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.INetwork|null|undefined} network
+                             * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0
+                             * @instance
+                             */
+                            GetStatusResponseV0.prototype.network = null;
+
+                            /**
+                             * GetStatusResponseV0 stateSync.
+                             * @member {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.IStateSync|null|undefined} stateSync
+                             * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0
+                             * @instance
+                             */
+                            GetStatusResponseV0.prototype.stateSync = null;
+
+                            /**
+                             * GetStatusResponseV0 time.
+                             * @member {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.ITime|null|undefined} time
+                             * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0
+                             * @instance
+                             */
+                            GetStatusResponseV0.prototype.time = null;
+
+                            /**
+                             * Creates a new GetStatusResponseV0 instance using the specified properties.
+                             * @function create
+                             * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0
+                             * @static
+                             * @param {org.dash.platform.dapi.v0.GetStatusResponse.IGetStatusResponseV0=} [properties] Properties to set
+                             * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0} GetStatusResponseV0 instance
+                             */
+                            GetStatusResponseV0.create = function create(properties) {
+                                return new GetStatusResponseV0(properties);
+                            };
+
+                            /**
+                             * Encodes the specified GetStatusResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.verify|verify} messages.
+                             * @function encode
+                             * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0
+                             * @static
+                             * @param {org.dash.platform.dapi.v0.GetStatusResponse.IGetStatusResponseV0} message GetStatusResponseV0 message or plain object to encode
+                             * @param {$protobuf.Writer} [writer] Writer to encode to
+                             * @returns {$protobuf.Writer} Writer
+                             */
+                            GetStatusResponseV0.encode = function encode(message, writer) {
+                                if (!writer)
+                                    writer = $Writer.create();
+                                if (message.version != null && Object.hasOwnProperty.call(message, "version"))
+                                    $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.encode(message.version, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+                                if (message.node != null && Object.hasOwnProperty.call(message, "node"))
+                                    $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.encode(message.node, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+                                if (message.chain != null && Object.hasOwnProperty.call(message, "chain"))
+                                    $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.encode(message.chain, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+                                if (message.network != null && Object.hasOwnProperty.call(message, "network"))
+                                    $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network.encode(message.network, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim();
+                                if (message.stateSync != null && Object.hasOwnProperty.call(message, "stateSync"))
+                                    $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.encode(message.stateSync, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim();
+                                if (message.time != null && Object.hasOwnProperty.call(message, "time"))
+                                    $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.encode(message.time, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim();
+                                return writer;
+                            };
+
+                            /**
+                             * Encodes the specified GetStatusResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.verify|verify} messages.
+                             * @function encodeDelimited
+                             * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0
+                             * @static
+                             * @param {org.dash.platform.dapi.v0.GetStatusResponse.IGetStatusResponseV0} message GetStatusResponseV0 message or plain object to encode
+                             * @param {$protobuf.Writer} [writer] Writer to encode to
+                             * @returns {$protobuf.Writer} Writer
+                             */
+                            GetStatusResponseV0.encodeDelimited = function encodeDelimited(message, writer) {
+                                return this.encode(message, writer).ldelim();
+                            };
+
+                            /**
+                             * Decodes a GetStatusResponseV0 message from the specified reader or buffer.
+                             * @function decode
+                             * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0
+                             * @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.GetStatusResponse.GetStatusResponseV0} GetStatusResponseV0
+                             * @throws {Error} If the payload is not a reader or valid buffer
+                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
+                             */
+                            GetStatusResponseV0.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.GetStatusResponse.GetStatusResponseV0();
+                                while (reader.pos < end) {
+                                    var tag = reader.uint32();
+                                    switch (tag >>> 3) {
+                                    case 1:
+                                        message.version = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.decode(reader, reader.uint32());
+                                        break;
+                                    case 2:
+                                        message.node = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.decode(reader, reader.uint32());
+                                        break;
+                                    case 3:
+                                        message.chain = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.decode(reader, reader.uint32());
+                                        break;
+                                    case 4:
+                                        message.network = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network.decode(reader, reader.uint32());
+                                        break;
+                                    case 5:
+                                        message.stateSync = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.decode(reader, reader.uint32());
+                                        break;
+                                    case 6:
+                                        message.time = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.decode(reader, reader.uint32());
+                                        break;
+                                    default:
+                                        reader.skipType(tag & 7);
+                                        break;
                                     }
-                                    if (message.chainId != null && message.hasOwnProperty("chainId"))
-                                        object.chainId = message.chainId;
-                                    if (message.peersCount != null && message.hasOwnProperty("peersCount"))
-                                        object.peersCount = message.peersCount;
-                                    if (message.listening != null && message.hasOwnProperty("listening"))
-                                        object.listening = message.listening;
+                                }
+                                return message;
+                            };
+
+                            /**
+                             * Decodes a GetStatusResponseV0 message from the specified reader or buffer, length delimited.
+                             * @function decodeDelimited
+                             * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0
+                             * @static
+                             * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+                             * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0} GetStatusResponseV0
+                             * @throws {Error} If the payload is not a reader or valid buffer
+                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
+                             */
+                            GetStatusResponseV0.decodeDelimited = function decodeDelimited(reader) {
+                                if (!(reader instanceof $Reader))
+                                    reader = new $Reader(reader);
+                                return this.decode(reader, reader.uint32());
+                            };
+
+                            /**
+                             * Verifies a GetStatusResponseV0 message.
+                             * @function verify
+                             * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0
+                             * @static
+                             * @param {Object.} message Plain object to verify
+                             * @returns {string|null} `null` if valid, otherwise the reason why it is not
+                             */
+                            GetStatusResponseV0.verify = function verify(message) {
+                                if (typeof message !== "object" || message === null)
+                                    return "object expected";
+                                if (message.version != null && message.hasOwnProperty("version")) {
+                                    var error = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.verify(message.version);
+                                    if (error)
+                                        return "version." + error;
+                                }
+                                if (message.node != null && message.hasOwnProperty("node")) {
+                                    var error = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.verify(message.node);
+                                    if (error)
+                                        return "node." + error;
+                                }
+                                if (message.chain != null && message.hasOwnProperty("chain")) {
+                                    var error = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.verify(message.chain);
+                                    if (error)
+                                        return "chain." + error;
+                                }
+                                if (message.network != null && message.hasOwnProperty("network")) {
+                                    var error = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network.verify(message.network);
+                                    if (error)
+                                        return "network." + error;
+                                }
+                                if (message.stateSync != null && message.hasOwnProperty("stateSync")) {
+                                    var error = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.verify(message.stateSync);
+                                    if (error)
+                                        return "stateSync." + error;
+                                }
+                                if (message.time != null && message.hasOwnProperty("time")) {
+                                    var error = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.verify(message.time);
+                                    if (error)
+                                        return "time." + error;
+                                }
+                                return null;
+                            };
+
+                            /**
+                             * Creates a GetStatusResponseV0 message from a plain object. Also converts values to their respective internal types.
+                             * @function fromObject
+                             * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0
+                             * @static
+                             * @param {Object.} object Plain object
+                             * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0} GetStatusResponseV0
+                             */
+                            GetStatusResponseV0.fromObject = function fromObject(object) {
+                                if (object instanceof $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0)
                                     return object;
-                                };
+                                var message = new $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0();
+                                if (object.version != null) {
+                                    if (typeof object.version !== "object")
+                                        throw TypeError(".org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.version: object expected");
+                                    message.version = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.fromObject(object.version);
+                                }
+                                if (object.node != null) {
+                                    if (typeof object.node !== "object")
+                                        throw TypeError(".org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.node: object expected");
+                                    message.node = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.fromObject(object.node);
+                                }
+                                if (object.chain != null) {
+                                    if (typeof object.chain !== "object")
+                                        throw TypeError(".org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.chain: object expected");
+                                    message.chain = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.fromObject(object.chain);
+                                }
+                                if (object.network != null) {
+                                    if (typeof object.network !== "object")
+                                        throw TypeError(".org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.network: object expected");
+                                    message.network = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network.fromObject(object.network);
+                                }
+                                if (object.stateSync != null) {
+                                    if (typeof object.stateSync !== "object")
+                                        throw TypeError(".org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.stateSync: object expected");
+                                    message.stateSync = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.fromObject(object.stateSync);
+                                }
+                                if (object.time != null) {
+                                    if (typeof object.time !== "object")
+                                        throw TypeError(".org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.time: object expected");
+                                    message.time = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.fromObject(object.time);
+                                }
+                                return message;
+                            };
 
-                                /**
-                                 * Converts this Network to JSON.
-                                 * @function toJSON
-                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network
-                                 * @instance
-                                 * @returns {Object.} JSON object
-                                 */
-                                Network.prototype.toJSON = function toJSON() {
-                                    return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
-                                };
+                            /**
+                             * Creates a plain object from a GetStatusResponseV0 message. Also converts values to other types if specified.
+                             * @function toObject
+                             * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0
+                             * @static
+                             * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0} message GetStatusResponseV0
+                             * @param {$protobuf.IConversionOptions} [options] Conversion options
+                             * @returns {Object.} Plain object
+                             */
+                            GetStatusResponseV0.toObject = function toObject(message, options) {
+                                if (!options)
+                                    options = {};
+                                var object = {};
+                                if (options.defaults) {
+                                    object.version = null;
+                                    object.node = null;
+                                    object.chain = null;
+                                    object.network = null;
+                                    object.stateSync = null;
+                                    object.time = null;
+                                }
+                                if (message.version != null && message.hasOwnProperty("version"))
+                                    object.version = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.toObject(message.version, options);
+                                if (message.node != null && message.hasOwnProperty("node"))
+                                    object.node = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.toObject(message.node, options);
+                                if (message.chain != null && message.hasOwnProperty("chain"))
+                                    object.chain = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.toObject(message.chain, options);
+                                if (message.network != null && message.hasOwnProperty("network"))
+                                    object.network = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network.toObject(message.network, options);
+                                if (message.stateSync != null && message.hasOwnProperty("stateSync"))
+                                    object.stateSync = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.toObject(message.stateSync, options);
+                                if (message.time != null && message.hasOwnProperty("time"))
+                                    object.time = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.toObject(message.time, options);
+                                return object;
+                            };
 
-                                return Network;
-                            })();
+                            /**
+                             * Converts this GetStatusResponseV0 to JSON.
+                             * @function toJSON
+                             * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0
+                             * @instance
+                             * @returns {Object.} JSON object
+                             */
+                            GetStatusResponseV0.prototype.toJSON = function toJSON() {
+                                return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+                            };
 
-                            GetStatusResponseV0.StateSync = (function() {
+                            GetStatusResponseV0.Version = (function() {
 
                                 /**
-                                 * Properties of a StateSync.
+                                 * Properties of a Version.
                                  * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0
-                                 * @interface IStateSync
-                                 * @property {number|Long|null} [totalSyncedTime] StateSync totalSyncedTime
-                                 * @property {number|Long|null} [remainingTime] StateSync remainingTime
-                                 * @property {number|null} [totalSnapshots] StateSync totalSnapshots
-                                 * @property {number|Long|null} [chunkProcessAvgTime] StateSync chunkProcessAvgTime
-                                 * @property {number|Long|null} [snapshotHeight] StateSync snapshotHeight
-                                 * @property {number|Long|null} [snapshotChunksCount] StateSync snapshotChunksCount
-                                 * @property {number|Long|null} [backfilledBlocks] StateSync backfilledBlocks
-                                 * @property {number|Long|null} [backfillBlocksTotal] StateSync backfillBlocksTotal
+                                 * @interface IVersion
+                                 * @property {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.ISoftware|null} [software] Version software
+                                 * @property {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.IProtocol|null} [protocol] Version protocol
                                  */
 
                                 /**
-                                 * Constructs a new StateSync.
+                                 * Constructs a new Version.
                                  * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0
-                                 * @classdesc Represents a StateSync.
-                                 * @implements IStateSync
+                                 * @classdesc Represents a Version.
+                                 * @implements IVersion
                                  * @constructor
-                                 * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.IStateSync=} [properties] Properties to set
+                                 * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.IVersion=} [properties] Properties to set
                                  */
-                                function StateSync(properties) {
+                                function Version(properties) {
                                     if (properties)
                                         for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
                                             if (properties[keys[i]] != null)
@@ -42775,166 +43946,88 @@ $root.org = (function() {
                                 }
 
                                 /**
-                                 * StateSync totalSyncedTime.
-                                 * @member {number|Long} totalSyncedTime
-                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync
-                                 * @instance
-                                 */
-                                StateSync.prototype.totalSyncedTime = $util.Long ? $util.Long.fromBits(0,0,true) : 0;
-
-                                /**
-                                 * StateSync remainingTime.
-                                 * @member {number|Long} remainingTime
-                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync
-                                 * @instance
-                                 */
-                                StateSync.prototype.remainingTime = $util.Long ? $util.Long.fromBits(0,0,true) : 0;
-
-                                /**
-                                 * StateSync totalSnapshots.
-                                 * @member {number} totalSnapshots
-                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync
-                                 * @instance
-                                 */
-                                StateSync.prototype.totalSnapshots = 0;
-
-                                /**
-                                 * StateSync chunkProcessAvgTime.
-                                 * @member {number|Long} chunkProcessAvgTime
-                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync
-                                 * @instance
-                                 */
-                                StateSync.prototype.chunkProcessAvgTime = $util.Long ? $util.Long.fromBits(0,0,true) : 0;
-
-                                /**
-                                 * StateSync snapshotHeight.
-                                 * @member {number|Long} snapshotHeight
-                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync
-                                 * @instance
-                                 */
-                                StateSync.prototype.snapshotHeight = $util.Long ? $util.Long.fromBits(0,0,true) : 0;
-
-                                /**
-                                 * StateSync snapshotChunksCount.
-                                 * @member {number|Long} snapshotChunksCount
-                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync
-                                 * @instance
-                                 */
-                                StateSync.prototype.snapshotChunksCount = $util.Long ? $util.Long.fromBits(0,0,true) : 0;
-
-                                /**
-                                 * StateSync backfilledBlocks.
-                                 * @member {number|Long} backfilledBlocks
-                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync
+                                 * Version software.
+                                 * @member {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.ISoftware|null|undefined} software
+                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version
                                  * @instance
                                  */
-                                StateSync.prototype.backfilledBlocks = $util.Long ? $util.Long.fromBits(0,0,true) : 0;
+                                Version.prototype.software = null;
 
                                 /**
-                                 * StateSync backfillBlocksTotal.
-                                 * @member {number|Long} backfillBlocksTotal
-                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync
+                                 * Version protocol.
+                                 * @member {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.IProtocol|null|undefined} protocol
+                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version
                                  * @instance
                                  */
-                                StateSync.prototype.backfillBlocksTotal = $util.Long ? $util.Long.fromBits(0,0,true) : 0;
+                                Version.prototype.protocol = null;
 
                                 /**
-                                 * Creates a new StateSync instance using the specified properties.
+                                 * Creates a new Version instance using the specified properties.
                                  * @function create
-                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync
+                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version
                                  * @static
-                                 * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.IStateSync=} [properties] Properties to set
-                                 * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync} StateSync instance
+                                 * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.IVersion=} [properties] Properties to set
+                                 * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version} Version instance
                                  */
-                                StateSync.create = function create(properties) {
-                                    return new StateSync(properties);
+                                Version.create = function create(properties) {
+                                    return new Version(properties);
                                 };
 
                                 /**
-                                 * Encodes the specified StateSync message. Does not implicitly {@link org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.verify|verify} messages.
+                                 * Encodes the specified Version message. Does not implicitly {@link org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.verify|verify} messages.
                                  * @function encode
-                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync
+                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version
                                  * @static
-                                 * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.IStateSync} message StateSync message or plain object to encode
+                                 * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.IVersion} message Version message or plain object to encode
                                  * @param {$protobuf.Writer} [writer] Writer to encode to
                                  * @returns {$protobuf.Writer} Writer
                                  */
-                                StateSync.encode = function encode(message, writer) {
+                                Version.encode = function encode(message, writer) {
                                     if (!writer)
                                         writer = $Writer.create();
-                                    if (message.totalSyncedTime != null && Object.hasOwnProperty.call(message, "totalSyncedTime"))
-                                        writer.uint32(/* id 1, wireType 0 =*/8).uint64(message.totalSyncedTime);
-                                    if (message.remainingTime != null && Object.hasOwnProperty.call(message, "remainingTime"))
-                                        writer.uint32(/* id 2, wireType 0 =*/16).uint64(message.remainingTime);
-                                    if (message.totalSnapshots != null && Object.hasOwnProperty.call(message, "totalSnapshots"))
-                                        writer.uint32(/* id 3, wireType 0 =*/24).uint32(message.totalSnapshots);
-                                    if (message.chunkProcessAvgTime != null && Object.hasOwnProperty.call(message, "chunkProcessAvgTime"))
-                                        writer.uint32(/* id 4, wireType 0 =*/32).uint64(message.chunkProcessAvgTime);
-                                    if (message.snapshotHeight != null && Object.hasOwnProperty.call(message, "snapshotHeight"))
-                                        writer.uint32(/* id 5, wireType 0 =*/40).uint64(message.snapshotHeight);
-                                    if (message.snapshotChunksCount != null && Object.hasOwnProperty.call(message, "snapshotChunksCount"))
-                                        writer.uint32(/* id 6, wireType 0 =*/48).uint64(message.snapshotChunksCount);
-                                    if (message.backfilledBlocks != null && Object.hasOwnProperty.call(message, "backfilledBlocks"))
-                                        writer.uint32(/* id 7, wireType 0 =*/56).uint64(message.backfilledBlocks);
-                                    if (message.backfillBlocksTotal != null && Object.hasOwnProperty.call(message, "backfillBlocksTotal"))
-                                        writer.uint32(/* id 8, wireType 0 =*/64).uint64(message.backfillBlocksTotal);
+                                    if (message.software != null && Object.hasOwnProperty.call(message, "software"))
+                                        $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.encode(message.software, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+                                    if (message.protocol != null && Object.hasOwnProperty.call(message, "protocol"))
+                                        $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.encode(message.protocol, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
                                     return writer;
                                 };
 
                                 /**
-                                 * Encodes the specified StateSync message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.verify|verify} messages.
+                                 * Encodes the specified Version message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.verify|verify} messages.
                                  * @function encodeDelimited
-                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync
+                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version
                                  * @static
-                                 * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.IStateSync} message StateSync message or plain object to encode
+                                 * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.IVersion} message Version message or plain object to encode
                                  * @param {$protobuf.Writer} [writer] Writer to encode to
                                  * @returns {$protobuf.Writer} Writer
                                  */
-                                StateSync.encodeDelimited = function encodeDelimited(message, writer) {
+                                Version.encodeDelimited = function encodeDelimited(message, writer) {
                                     return this.encode(message, writer).ldelim();
                                 };
 
                                 /**
-                                 * Decodes a StateSync message from the specified reader or buffer.
+                                 * Decodes a Version message from the specified reader or buffer.
                                  * @function decode
-                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync
+                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version
                                  * @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.GetStatusResponse.GetStatusResponseV0.StateSync} StateSync
+                                 * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version} Version
                                  * @throws {Error} If the payload is not a reader or valid buffer
                                  * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                  */
-                                StateSync.decode = function decode(reader, length) {
+                                Version.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.GetStatusResponse.GetStatusResponseV0.StateSync();
+                                    var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version();
                                     while (reader.pos < end) {
                                         var tag = reader.uint32();
                                         switch (tag >>> 3) {
                                         case 1:
-                                            message.totalSyncedTime = reader.uint64();
+                                            message.software = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.decode(reader, reader.uint32());
                                             break;
                                         case 2:
-                                            message.remainingTime = reader.uint64();
-                                            break;
-                                        case 3:
-                                            message.totalSnapshots = reader.uint32();
-                                            break;
-                                        case 4:
-                                            message.chunkProcessAvgTime = reader.uint64();
-                                            break;
-                                        case 5:
-                                            message.snapshotHeight = reader.uint64();
-                                            break;
-                                        case 6:
-                                            message.snapshotChunksCount = reader.uint64();
-                                            break;
-                                        case 7:
-                                            message.backfilledBlocks = reader.uint64();
-                                            break;
-                                        case 8:
-                                            message.backfillBlocksTotal = reader.uint64();
+                                            message.protocol = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.decode(reader, reader.uint32());
                                             break;
                                         default:
                                             reader.skipType(tag & 7);
@@ -42945,268 +44038,4572 @@ $root.org = (function() {
                                 };
 
                                 /**
-                                 * Decodes a StateSync message from the specified reader or buffer, length delimited.
+                                 * Decodes a Version message from the specified reader or buffer, length delimited.
                                  * @function decodeDelimited
-                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync
+                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version
                                  * @static
                                  * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                                 * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync} StateSync
+                                 * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version} Version
                                  * @throws {Error} If the payload is not a reader or valid buffer
                                  * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                  */
-                                StateSync.decodeDelimited = function decodeDelimited(reader) {
+                                Version.decodeDelimited = function decodeDelimited(reader) {
                                     if (!(reader instanceof $Reader))
                                         reader = new $Reader(reader);
                                     return this.decode(reader, reader.uint32());
                                 };
 
                                 /**
-                                 * Verifies a StateSync message.
+                                 * Verifies a Version message.
                                  * @function verify
-                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync
+                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version
                                  * @static
                                  * @param {Object.} message Plain object to verify
                                  * @returns {string|null} `null` if valid, otherwise the reason why it is not
                                  */
-                                StateSync.verify = function verify(message) {
+                                Version.verify = function verify(message) {
                                     if (typeof message !== "object" || message === null)
                                         return "object expected";
-                                    if (message.totalSyncedTime != null && message.hasOwnProperty("totalSyncedTime"))
-                                        if (!$util.isInteger(message.totalSyncedTime) && !(message.totalSyncedTime && $util.isInteger(message.totalSyncedTime.low) && $util.isInteger(message.totalSyncedTime.high)))
-                                            return "totalSyncedTime: integer|Long expected";
-                                    if (message.remainingTime != null && message.hasOwnProperty("remainingTime"))
-                                        if (!$util.isInteger(message.remainingTime) && !(message.remainingTime && $util.isInteger(message.remainingTime.low) && $util.isInteger(message.remainingTime.high)))
-                                            return "remainingTime: integer|Long expected";
-                                    if (message.totalSnapshots != null && message.hasOwnProperty("totalSnapshots"))
-                                        if (!$util.isInteger(message.totalSnapshots))
-                                            return "totalSnapshots: integer expected";
-                                    if (message.chunkProcessAvgTime != null && message.hasOwnProperty("chunkProcessAvgTime"))
-                                        if (!$util.isInteger(message.chunkProcessAvgTime) && !(message.chunkProcessAvgTime && $util.isInteger(message.chunkProcessAvgTime.low) && $util.isInteger(message.chunkProcessAvgTime.high)))
-                                            return "chunkProcessAvgTime: integer|Long expected";
-                                    if (message.snapshotHeight != null && message.hasOwnProperty("snapshotHeight"))
-                                        if (!$util.isInteger(message.snapshotHeight) && !(message.snapshotHeight && $util.isInteger(message.snapshotHeight.low) && $util.isInteger(message.snapshotHeight.high)))
-                                            return "snapshotHeight: integer|Long expected";
-                                    if (message.snapshotChunksCount != null && message.hasOwnProperty("snapshotChunksCount"))
-                                        if (!$util.isInteger(message.snapshotChunksCount) && !(message.snapshotChunksCount && $util.isInteger(message.snapshotChunksCount.low) && $util.isInteger(message.snapshotChunksCount.high)))
-                                            return "snapshotChunksCount: integer|Long expected";
-                                    if (message.backfilledBlocks != null && message.hasOwnProperty("backfilledBlocks"))
-                                        if (!$util.isInteger(message.backfilledBlocks) && !(message.backfilledBlocks && $util.isInteger(message.backfilledBlocks.low) && $util.isInteger(message.backfilledBlocks.high)))
-                                            return "backfilledBlocks: integer|Long expected";
-                                    if (message.backfillBlocksTotal != null && message.hasOwnProperty("backfillBlocksTotal"))
-                                        if (!$util.isInteger(message.backfillBlocksTotal) && !(message.backfillBlocksTotal && $util.isInteger(message.backfillBlocksTotal.low) && $util.isInteger(message.backfillBlocksTotal.high)))
-                                            return "backfillBlocksTotal: integer|Long expected";
+                                    if (message.software != null && message.hasOwnProperty("software")) {
+                                        var error = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.verify(message.software);
+                                        if (error)
+                                            return "software." + error;
+                                    }
+                                    if (message.protocol != null && message.hasOwnProperty("protocol")) {
+                                        var error = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.verify(message.protocol);
+                                        if (error)
+                                            return "protocol." + error;
+                                    }
                                     return null;
                                 };
 
                                 /**
-                                 * Creates a StateSync message from a plain object. Also converts values to their respective internal types.
+                                 * Creates a Version message from a plain object. Also converts values to their respective internal types.
                                  * @function fromObject
-                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync
+                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version
                                  * @static
                                  * @param {Object.} object Plain object
-                                 * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync} StateSync
+                                 * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version} Version
                                  */
-                                StateSync.fromObject = function fromObject(object) {
-                                    if (object instanceof $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync)
+                                Version.fromObject = function fromObject(object) {
+                                    if (object instanceof $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version)
                                         return object;
-                                    var message = new $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync();
-                                    if (object.totalSyncedTime != null)
-                                        if ($util.Long)
-                                            (message.totalSyncedTime = $util.Long.fromValue(object.totalSyncedTime)).unsigned = true;
-                                        else if (typeof object.totalSyncedTime === "string")
-                                            message.totalSyncedTime = parseInt(object.totalSyncedTime, 10);
-                                        else if (typeof object.totalSyncedTime === "number")
-                                            message.totalSyncedTime = object.totalSyncedTime;
-                                        else if (typeof object.totalSyncedTime === "object")
-                                            message.totalSyncedTime = new $util.LongBits(object.totalSyncedTime.low >>> 0, object.totalSyncedTime.high >>> 0).toNumber(true);
-                                    if (object.remainingTime != null)
-                                        if ($util.Long)
-                                            (message.remainingTime = $util.Long.fromValue(object.remainingTime)).unsigned = true;
-                                        else if (typeof object.remainingTime === "string")
-                                            message.remainingTime = parseInt(object.remainingTime, 10);
-                                        else if (typeof object.remainingTime === "number")
-                                            message.remainingTime = object.remainingTime;
-                                        else if (typeof object.remainingTime === "object")
-                                            message.remainingTime = new $util.LongBits(object.remainingTime.low >>> 0, object.remainingTime.high >>> 0).toNumber(true);
-                                    if (object.totalSnapshots != null)
-                                        message.totalSnapshots = object.totalSnapshots >>> 0;
-                                    if (object.chunkProcessAvgTime != null)
-                                        if ($util.Long)
-                                            (message.chunkProcessAvgTime = $util.Long.fromValue(object.chunkProcessAvgTime)).unsigned = true;
-                                        else if (typeof object.chunkProcessAvgTime === "string")
-                                            message.chunkProcessAvgTime = parseInt(object.chunkProcessAvgTime, 10);
-                                        else if (typeof object.chunkProcessAvgTime === "number")
-                                            message.chunkProcessAvgTime = object.chunkProcessAvgTime;
-                                        else if (typeof object.chunkProcessAvgTime === "object")
-                                            message.chunkProcessAvgTime = new $util.LongBits(object.chunkProcessAvgTime.low >>> 0, object.chunkProcessAvgTime.high >>> 0).toNumber(true);
-                                    if (object.snapshotHeight != null)
-                                        if ($util.Long)
-                                            (message.snapshotHeight = $util.Long.fromValue(object.snapshotHeight)).unsigned = true;
-                                        else if (typeof object.snapshotHeight === "string")
-                                            message.snapshotHeight = parseInt(object.snapshotHeight, 10);
-                                        else if (typeof object.snapshotHeight === "number")
-                                            message.snapshotHeight = object.snapshotHeight;
-                                        else if (typeof object.snapshotHeight === "object")
-                                            message.snapshotHeight = new $util.LongBits(object.snapshotHeight.low >>> 0, object.snapshotHeight.high >>> 0).toNumber(true);
-                                    if (object.snapshotChunksCount != null)
-                                        if ($util.Long)
-                                            (message.snapshotChunksCount = $util.Long.fromValue(object.snapshotChunksCount)).unsigned = true;
-                                        else if (typeof object.snapshotChunksCount === "string")
-                                            message.snapshotChunksCount = parseInt(object.snapshotChunksCount, 10);
-                                        else if (typeof object.snapshotChunksCount === "number")
-                                            message.snapshotChunksCount = object.snapshotChunksCount;
-                                        else if (typeof object.snapshotChunksCount === "object")
-                                            message.snapshotChunksCount = new $util.LongBits(object.snapshotChunksCount.low >>> 0, object.snapshotChunksCount.high >>> 0).toNumber(true);
-                                    if (object.backfilledBlocks != null)
-                                        if ($util.Long)
-                                            (message.backfilledBlocks = $util.Long.fromValue(object.backfilledBlocks)).unsigned = true;
-                                        else if (typeof object.backfilledBlocks === "string")
-                                            message.backfilledBlocks = parseInt(object.backfilledBlocks, 10);
-                                        else if (typeof object.backfilledBlocks === "number")
-                                            message.backfilledBlocks = object.backfilledBlocks;
-                                        else if (typeof object.backfilledBlocks === "object")
-                                            message.backfilledBlocks = new $util.LongBits(object.backfilledBlocks.low >>> 0, object.backfilledBlocks.high >>> 0).toNumber(true);
-                                    if (object.backfillBlocksTotal != null)
-                                        if ($util.Long)
-                                            (message.backfillBlocksTotal = $util.Long.fromValue(object.backfillBlocksTotal)).unsigned = true;
-                                        else if (typeof object.backfillBlocksTotal === "string")
-                                            message.backfillBlocksTotal = parseInt(object.backfillBlocksTotal, 10);
-                                        else if (typeof object.backfillBlocksTotal === "number")
-                                            message.backfillBlocksTotal = object.backfillBlocksTotal;
-                                        else if (typeof object.backfillBlocksTotal === "object")
-                                            message.backfillBlocksTotal = new $util.LongBits(object.backfillBlocksTotal.low >>> 0, object.backfillBlocksTotal.high >>> 0).toNumber(true);
+                                    var message = new $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version();
+                                    if (object.software != null) {
+                                        if (typeof object.software !== "object")
+                                            throw TypeError(".org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.software: object expected");
+                                        message.software = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.fromObject(object.software);
+                                    }
+                                    if (object.protocol != null) {
+                                        if (typeof object.protocol !== "object")
+                                            throw TypeError(".org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.protocol: object expected");
+                                        message.protocol = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.fromObject(object.protocol);
+                                    }
                                     return message;
                                 };
 
-                                /**
-                                 * Creates a plain object from a StateSync message. Also converts values to other types if specified.
-                                 * @function toObject
-                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync
-                                 * @static
-                                 * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync} message StateSync
-                                 * @param {$protobuf.IConversionOptions} [options] Conversion options
-                                 * @returns {Object.} Plain object
-                                 */
-                                StateSync.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.totalSyncedTime = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;
-                                        } else
-                                            object.totalSyncedTime = options.longs === String ? "0" : 0;
-                                        if ($util.Long) {
-                                            var long = new $util.Long(0, 0, true);
-                                            object.remainingTime = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;
-                                        } else
-                                            object.remainingTime = options.longs === String ? "0" : 0;
-                                        object.totalSnapshots = 0;
-                                        if ($util.Long) {
-                                            var long = new $util.Long(0, 0, true);
-                                            object.chunkProcessAvgTime = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;
-                                        } else
-                                            object.chunkProcessAvgTime = options.longs === String ? "0" : 0;
-                                        if ($util.Long) {
-                                            var long = new $util.Long(0, 0, true);
-                                            object.snapshotHeight = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;
-                                        } else
-                                            object.snapshotHeight = options.longs === String ? "0" : 0;
-                                        if ($util.Long) {
-                                            var long = new $util.Long(0, 0, true);
-                                            object.snapshotChunksCount = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;
-                                        } else
-                                            object.snapshotChunksCount = options.longs === String ? "0" : 0;
-                                        if ($util.Long) {
-                                            var long = new $util.Long(0, 0, true);
-                                            object.backfilledBlocks = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;
-                                        } else
-                                            object.backfilledBlocks = options.longs === String ? "0" : 0;
-                                        if ($util.Long) {
-                                            var long = new $util.Long(0, 0, true);
-                                            object.backfillBlocksTotal = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;
-                                        } else
-                                            object.backfillBlocksTotal = options.longs === String ? "0" : 0;
+                                /**
+                                 * Creates a plain object from a Version message. Also converts values to other types if specified.
+                                 * @function toObject
+                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version
+                                 * @static
+                                 * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version} message Version
+                                 * @param {$protobuf.IConversionOptions} [options] Conversion options
+                                 * @returns {Object.} Plain object
+                                 */
+                                Version.toObject = function toObject(message, options) {
+                                    if (!options)
+                                        options = {};
+                                    var object = {};
+                                    if (options.defaults) {
+                                        object.software = null;
+                                        object.protocol = null;
+                                    }
+                                    if (message.software != null && message.hasOwnProperty("software"))
+                                        object.software = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.toObject(message.software, options);
+                                    if (message.protocol != null && message.hasOwnProperty("protocol"))
+                                        object.protocol = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.toObject(message.protocol, options);
+                                    return object;
+                                };
+
+                                /**
+                                 * Converts this Version to JSON.
+                                 * @function toJSON
+                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version
+                                 * @instance
+                                 * @returns {Object.} JSON object
+                                 */
+                                Version.prototype.toJSON = function toJSON() {
+                                    return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+                                };
+
+                                Version.Software = (function() {
+
+                                    /**
+                                     * Properties of a Software.
+                                     * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version
+                                     * @interface ISoftware
+                                     * @property {string|null} [dapi] Software dapi
+                                     * @property {string|null} [drive] Software drive
+                                     * @property {string|null} [tenderdash] Software tenderdash
+                                     */
+
+                                    /**
+                                     * Constructs a new Software.
+                                     * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version
+                                     * @classdesc Represents a Software.
+                                     * @implements ISoftware
+                                     * @constructor
+                                     * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.ISoftware=} [properties] Properties to set
+                                     */
+                                    function Software(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]];
+                                    }
+
+                                    /**
+                                     * Software dapi.
+                                     * @member {string} dapi
+                                     * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software
+                                     * @instance
+                                     */
+                                    Software.prototype.dapi = "";
+
+                                    /**
+                                     * Software drive.
+                                     * @member {string} drive
+                                     * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software
+                                     * @instance
+                                     */
+                                    Software.prototype.drive = "";
+
+                                    /**
+                                     * Software tenderdash.
+                                     * @member {string} tenderdash
+                                     * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software
+                                     * @instance
+                                     */
+                                    Software.prototype.tenderdash = "";
+
+                                    /**
+                                     * Creates a new Software instance using the specified properties.
+                                     * @function create
+                                     * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software
+                                     * @static
+                                     * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.ISoftware=} [properties] Properties to set
+                                     * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software} Software instance
+                                     */
+                                    Software.create = function create(properties) {
+                                        return new Software(properties);
+                                    };
+
+                                    /**
+                                     * Encodes the specified Software message. Does not implicitly {@link org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.verify|verify} messages.
+                                     * @function encode
+                                     * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software
+                                     * @static
+                                     * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.ISoftware} message Software message or plain object to encode
+                                     * @param {$protobuf.Writer} [writer] Writer to encode to
+                                     * @returns {$protobuf.Writer} Writer
+                                     */
+                                    Software.encode = function encode(message, writer) {
+                                        if (!writer)
+                                            writer = $Writer.create();
+                                        if (message.dapi != null && Object.hasOwnProperty.call(message, "dapi"))
+                                            writer.uint32(/* id 1, wireType 2 =*/10).string(message.dapi);
+                                        if (message.drive != null && Object.hasOwnProperty.call(message, "drive"))
+                                            writer.uint32(/* id 2, wireType 2 =*/18).string(message.drive);
+                                        if (message.tenderdash != null && Object.hasOwnProperty.call(message, "tenderdash"))
+                                            writer.uint32(/* id 3, wireType 2 =*/26).string(message.tenderdash);
+                                        return writer;
+                                    };
+
+                                    /**
+                                     * Encodes the specified Software message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.verify|verify} messages.
+                                     * @function encodeDelimited
+                                     * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software
+                                     * @static
+                                     * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.ISoftware} message Software message or plain object to encode
+                                     * @param {$protobuf.Writer} [writer] Writer to encode to
+                                     * @returns {$protobuf.Writer} Writer
+                                     */
+                                    Software.encodeDelimited = function encodeDelimited(message, writer) {
+                                        return this.encode(message, writer).ldelim();
+                                    };
+
+                                    /**
+                                     * Decodes a Software message from the specified reader or buffer.
+                                     * @function decode
+                                     * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software
+                                     * @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.GetStatusResponse.GetStatusResponseV0.Version.Software} Software
+                                     * @throws {Error} If the payload is not a reader or valid buffer
+                                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
+                                     */
+                                    Software.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.GetStatusResponse.GetStatusResponseV0.Version.Software();
+                                        while (reader.pos < end) {
+                                            var tag = reader.uint32();
+                                            switch (tag >>> 3) {
+                                            case 1:
+                                                message.dapi = reader.string();
+                                                break;
+                                            case 2:
+                                                message.drive = reader.string();
+                                                break;
+                                            case 3:
+                                                message.tenderdash = reader.string();
+                                                break;
+                                            default:
+                                                reader.skipType(tag & 7);
+                                                break;
+                                            }
+                                        }
+                                        return message;
+                                    };
+
+                                    /**
+                                     * Decodes a Software message from the specified reader or buffer, length delimited.
+                                     * @function decodeDelimited
+                                     * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software
+                                     * @static
+                                     * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+                                     * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software} Software
+                                     * @throws {Error} If the payload is not a reader or valid buffer
+                                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
+                                     */
+                                    Software.decodeDelimited = function decodeDelimited(reader) {
+                                        if (!(reader instanceof $Reader))
+                                            reader = new $Reader(reader);
+                                        return this.decode(reader, reader.uint32());
+                                    };
+
+                                    /**
+                                     * Verifies a Software message.
+                                     * @function verify
+                                     * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software
+                                     * @static
+                                     * @param {Object.} message Plain object to verify
+                                     * @returns {string|null} `null` if valid, otherwise the reason why it is not
+                                     */
+                                    Software.verify = function verify(message) {
+                                        if (typeof message !== "object" || message === null)
+                                            return "object expected";
+                                        if (message.dapi != null && message.hasOwnProperty("dapi"))
+                                            if (!$util.isString(message.dapi))
+                                                return "dapi: string expected";
+                                        if (message.drive != null && message.hasOwnProperty("drive"))
+                                            if (!$util.isString(message.drive))
+                                                return "drive: string expected";
+                                        if (message.tenderdash != null && message.hasOwnProperty("tenderdash"))
+                                            if (!$util.isString(message.tenderdash))
+                                                return "tenderdash: string expected";
+                                        return null;
+                                    };
+
+                                    /**
+                                     * Creates a Software message from a plain object. Also converts values to their respective internal types.
+                                     * @function fromObject
+                                     * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software
+                                     * @static
+                                     * @param {Object.} object Plain object
+                                     * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software} Software
+                                     */
+                                    Software.fromObject = function fromObject(object) {
+                                        if (object instanceof $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software)
+                                            return object;
+                                        var message = new $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software();
+                                        if (object.dapi != null)
+                                            message.dapi = String(object.dapi);
+                                        if (object.drive != null)
+                                            message.drive = String(object.drive);
+                                        if (object.tenderdash != null)
+                                            message.tenderdash = String(object.tenderdash);
+                                        return message;
+                                    };
+
+                                    /**
+                                     * Creates a plain object from a Software message. Also converts values to other types if specified.
+                                     * @function toObject
+                                     * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software
+                                     * @static
+                                     * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software} message Software
+                                     * @param {$protobuf.IConversionOptions} [options] Conversion options
+                                     * @returns {Object.} Plain object
+                                     */
+                                    Software.toObject = function toObject(message, options) {
+                                        if (!options)
+                                            options = {};
+                                        var object = {};
+                                        if (options.defaults) {
+                                            object.dapi = "";
+                                            object.drive = "";
+                                            object.tenderdash = "";
+                                        }
+                                        if (message.dapi != null && message.hasOwnProperty("dapi"))
+                                            object.dapi = message.dapi;
+                                        if (message.drive != null && message.hasOwnProperty("drive"))
+                                            object.drive = message.drive;
+                                        if (message.tenderdash != null && message.hasOwnProperty("tenderdash"))
+                                            object.tenderdash = message.tenderdash;
+                                        return object;
+                                    };
+
+                                    /**
+                                     * Converts this Software to JSON.
+                                     * @function toJSON
+                                     * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software
+                                     * @instance
+                                     * @returns {Object.} JSON object
+                                     */
+                                    Software.prototype.toJSON = function toJSON() {
+                                        return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+                                    };
+
+                                    return Software;
+                                })();
+
+                                Version.Protocol = (function() {
+
+                                    /**
+                                     * Properties of a Protocol.
+                                     * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version
+                                     * @interface IProtocol
+                                     * @property {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.ITenderdash|null} [tenderdash] Protocol tenderdash
+                                     * @property {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.IDrive|null} [drive] Protocol drive
+                                     */
+
+                                    /**
+                                     * Constructs a new Protocol.
+                                     * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version
+                                     * @classdesc Represents a Protocol.
+                                     * @implements IProtocol
+                                     * @constructor
+                                     * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.IProtocol=} [properties] Properties to set
+                                     */
+                                    function Protocol(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]];
+                                    }
+
+                                    /**
+                                     * Protocol tenderdash.
+                                     * @member {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.ITenderdash|null|undefined} tenderdash
+                                     * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol
+                                     * @instance
+                                     */
+                                    Protocol.prototype.tenderdash = null;
+
+                                    /**
+                                     * Protocol drive.
+                                     * @member {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.IDrive|null|undefined} drive
+                                     * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol
+                                     * @instance
+                                     */
+                                    Protocol.prototype.drive = null;
+
+                                    /**
+                                     * Creates a new Protocol instance using the specified properties.
+                                     * @function create
+                                     * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol
+                                     * @static
+                                     * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.IProtocol=} [properties] Properties to set
+                                     * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol} Protocol instance
+                                     */
+                                    Protocol.create = function create(properties) {
+                                        return new Protocol(properties);
+                                    };
+
+                                    /**
+                                     * Encodes the specified Protocol message. Does not implicitly {@link org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.verify|verify} messages.
+                                     * @function encode
+                                     * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol
+                                     * @static
+                                     * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.IProtocol} message Protocol message or plain object to encode
+                                     * @param {$protobuf.Writer} [writer] Writer to encode to
+                                     * @returns {$protobuf.Writer} Writer
+                                     */
+                                    Protocol.encode = function encode(message, writer) {
+                                        if (!writer)
+                                            writer = $Writer.create();
+                                        if (message.tenderdash != null && Object.hasOwnProperty.call(message, "tenderdash"))
+                                            $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash.encode(message.tenderdash, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+                                        if (message.drive != null && Object.hasOwnProperty.call(message, "drive"))
+                                            $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive.encode(message.drive, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+                                        return writer;
+                                    };
+
+                                    /**
+                                     * Encodes the specified Protocol message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.verify|verify} messages.
+                                     * @function encodeDelimited
+                                     * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol
+                                     * @static
+                                     * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.IProtocol} message Protocol message or plain object to encode
+                                     * @param {$protobuf.Writer} [writer] Writer to encode to
+                                     * @returns {$protobuf.Writer} Writer
+                                     */
+                                    Protocol.encodeDelimited = function encodeDelimited(message, writer) {
+                                        return this.encode(message, writer).ldelim();
+                                    };
+
+                                    /**
+                                     * Decodes a Protocol message from the specified reader or buffer.
+                                     * @function decode
+                                     * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol
+                                     * @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.GetStatusResponse.GetStatusResponseV0.Version.Protocol} Protocol
+                                     * @throws {Error} If the payload is not a reader or valid buffer
+                                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
+                                     */
+                                    Protocol.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.GetStatusResponse.GetStatusResponseV0.Version.Protocol();
+                                        while (reader.pos < end) {
+                                            var tag = reader.uint32();
+                                            switch (tag >>> 3) {
+                                            case 1:
+                                                message.tenderdash = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash.decode(reader, reader.uint32());
+                                                break;
+                                            case 2:
+                                                message.drive = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive.decode(reader, reader.uint32());
+                                                break;
+                                            default:
+                                                reader.skipType(tag & 7);
+                                                break;
+                                            }
+                                        }
+                                        return message;
+                                    };
+
+                                    /**
+                                     * Decodes a Protocol message from the specified reader or buffer, length delimited.
+                                     * @function decodeDelimited
+                                     * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol
+                                     * @static
+                                     * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+                                     * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol} Protocol
+                                     * @throws {Error} If the payload is not a reader or valid buffer
+                                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
+                                     */
+                                    Protocol.decodeDelimited = function decodeDelimited(reader) {
+                                        if (!(reader instanceof $Reader))
+                                            reader = new $Reader(reader);
+                                        return this.decode(reader, reader.uint32());
+                                    };
+
+                                    /**
+                                     * Verifies a Protocol message.
+                                     * @function verify
+                                     * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol
+                                     * @static
+                                     * @param {Object.} message Plain object to verify
+                                     * @returns {string|null} `null` if valid, otherwise the reason why it is not
+                                     */
+                                    Protocol.verify = function verify(message) {
+                                        if (typeof message !== "object" || message === null)
+                                            return "object expected";
+                                        if (message.tenderdash != null && message.hasOwnProperty("tenderdash")) {
+                                            var error = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash.verify(message.tenderdash);
+                                            if (error)
+                                                return "tenderdash." + error;
+                                        }
+                                        if (message.drive != null && message.hasOwnProperty("drive")) {
+                                            var error = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive.verify(message.drive);
+                                            if (error)
+                                                return "drive." + error;
+                                        }
+                                        return null;
+                                    };
+
+                                    /**
+                                     * Creates a Protocol message from a plain object. Also converts values to their respective internal types.
+                                     * @function fromObject
+                                     * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol
+                                     * @static
+                                     * @param {Object.} object Plain object
+                                     * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol} Protocol
+                                     */
+                                    Protocol.fromObject = function fromObject(object) {
+                                        if (object instanceof $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol)
+                                            return object;
+                                        var message = new $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol();
+                                        if (object.tenderdash != null) {
+                                            if (typeof object.tenderdash !== "object")
+                                                throw TypeError(".org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.tenderdash: object expected");
+                                            message.tenderdash = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash.fromObject(object.tenderdash);
+                                        }
+                                        if (object.drive != null) {
+                                            if (typeof object.drive !== "object")
+                                                throw TypeError(".org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.drive: object expected");
+                                            message.drive = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive.fromObject(object.drive);
+                                        }
+                                        return message;
+                                    };
+
+                                    /**
+                                     * Creates a plain object from a Protocol message. Also converts values to other types if specified.
+                                     * @function toObject
+                                     * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol
+                                     * @static
+                                     * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol} message Protocol
+                                     * @param {$protobuf.IConversionOptions} [options] Conversion options
+                                     * @returns {Object.} Plain object
+                                     */
+                                    Protocol.toObject = function toObject(message, options) {
+                                        if (!options)
+                                            options = {};
+                                        var object = {};
+                                        if (options.defaults) {
+                                            object.tenderdash = null;
+                                            object.drive = null;
+                                        }
+                                        if (message.tenderdash != null && message.hasOwnProperty("tenderdash"))
+                                            object.tenderdash = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash.toObject(message.tenderdash, options);
+                                        if (message.drive != null && message.hasOwnProperty("drive"))
+                                            object.drive = $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive.toObject(message.drive, options);
+                                        return object;
+                                    };
+
+                                    /**
+                                     * Converts this Protocol to JSON.
+                                     * @function toJSON
+                                     * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol
+                                     * @instance
+                                     * @returns {Object.} JSON object
+                                     */
+                                    Protocol.prototype.toJSON = function toJSON() {
+                                        return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+                                    };
+
+                                    Protocol.Tenderdash = (function() {
+
+                                        /**
+                                         * Properties of a Tenderdash.
+                                         * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol
+                                         * @interface ITenderdash
+                                         * @property {number|null} [p2p] Tenderdash p2p
+                                         * @property {number|null} [block] Tenderdash block
+                                         */
+
+                                        /**
+                                         * Constructs a new Tenderdash.
+                                         * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol
+                                         * @classdesc Represents a Tenderdash.
+                                         * @implements ITenderdash
+                                         * @constructor
+                                         * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.ITenderdash=} [properties] Properties to set
+                                         */
+                                        function Tenderdash(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]];
+                                        }
+
+                                        /**
+                                         * Tenderdash p2p.
+                                         * @member {number} p2p
+                                         * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash
+                                         * @instance
+                                         */
+                                        Tenderdash.prototype.p2p = 0;
+
+                                        /**
+                                         * Tenderdash block.
+                                         * @member {number} block
+                                         * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash
+                                         * @instance
+                                         */
+                                        Tenderdash.prototype.block = 0;
+
+                                        /**
+                                         * Creates a new Tenderdash instance using the specified properties.
+                                         * @function create
+                                         * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash
+                                         * @static
+                                         * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.ITenderdash=} [properties] Properties to set
+                                         * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash} Tenderdash instance
+                                         */
+                                        Tenderdash.create = function create(properties) {
+                                            return new Tenderdash(properties);
+                                        };
+
+                                        /**
+                                         * Encodes the specified Tenderdash message. Does not implicitly {@link org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash.verify|verify} messages.
+                                         * @function encode
+                                         * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash
+                                         * @static
+                                         * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.ITenderdash} message Tenderdash message or plain object to encode
+                                         * @param {$protobuf.Writer} [writer] Writer to encode to
+                                         * @returns {$protobuf.Writer} Writer
+                                         */
+                                        Tenderdash.encode = function encode(message, writer) {
+                                            if (!writer)
+                                                writer = $Writer.create();
+                                            if (message.p2p != null && Object.hasOwnProperty.call(message, "p2p"))
+                                                writer.uint32(/* id 1, wireType 0 =*/8).uint32(message.p2p);
+                                            if (message.block != null && Object.hasOwnProperty.call(message, "block"))
+                                                writer.uint32(/* id 2, wireType 0 =*/16).uint32(message.block);
+                                            return writer;
+                                        };
+
+                                        /**
+                                         * Encodes the specified Tenderdash message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash.verify|verify} messages.
+                                         * @function encodeDelimited
+                                         * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash
+                                         * @static
+                                         * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.ITenderdash} message Tenderdash message or plain object to encode
+                                         * @param {$protobuf.Writer} [writer] Writer to encode to
+                                         * @returns {$protobuf.Writer} Writer
+                                         */
+                                        Tenderdash.encodeDelimited = function encodeDelimited(message, writer) {
+                                            return this.encode(message, writer).ldelim();
+                                        };
+
+                                        /**
+                                         * Decodes a Tenderdash message from the specified reader or buffer.
+                                         * @function decode
+                                         * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash
+                                         * @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.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash} Tenderdash
+                                         * @throws {Error} If the payload is not a reader or valid buffer
+                                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
+                                         */
+                                        Tenderdash.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.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash();
+                                            while (reader.pos < end) {
+                                                var tag = reader.uint32();
+                                                switch (tag >>> 3) {
+                                                case 1:
+                                                    message.p2p = reader.uint32();
+                                                    break;
+                                                case 2:
+                                                    message.block = reader.uint32();
+                                                    break;
+                                                default:
+                                                    reader.skipType(tag & 7);
+                                                    break;
+                                                }
+                                            }
+                                            return message;
+                                        };
+
+                                        /**
+                                         * Decodes a Tenderdash message from the specified reader or buffer, length delimited.
+                                         * @function decodeDelimited
+                                         * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash
+                                         * @static
+                                         * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+                                         * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash} Tenderdash
+                                         * @throws {Error} If the payload is not a reader or valid buffer
+                                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
+                                         */
+                                        Tenderdash.decodeDelimited = function decodeDelimited(reader) {
+                                            if (!(reader instanceof $Reader))
+                                                reader = new $Reader(reader);
+                                            return this.decode(reader, reader.uint32());
+                                        };
+
+                                        /**
+                                         * Verifies a Tenderdash message.
+                                         * @function verify
+                                         * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash
+                                         * @static
+                                         * @param {Object.} message Plain object to verify
+                                         * @returns {string|null} `null` if valid, otherwise the reason why it is not
+                                         */
+                                        Tenderdash.verify = function verify(message) {
+                                            if (typeof message !== "object" || message === null)
+                                                return "object expected";
+                                            if (message.p2p != null && message.hasOwnProperty("p2p"))
+                                                if (!$util.isInteger(message.p2p))
+                                                    return "p2p: integer expected";
+                                            if (message.block != null && message.hasOwnProperty("block"))
+                                                if (!$util.isInteger(message.block))
+                                                    return "block: integer expected";
+                                            return null;
+                                        };
+
+                                        /**
+                                         * Creates a Tenderdash message from a plain object. Also converts values to their respective internal types.
+                                         * @function fromObject
+                                         * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash
+                                         * @static
+                                         * @param {Object.} object Plain object
+                                         * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash} Tenderdash
+                                         */
+                                        Tenderdash.fromObject = function fromObject(object) {
+                                            if (object instanceof $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash)
+                                                return object;
+                                            var message = new $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash();
+                                            if (object.p2p != null)
+                                                message.p2p = object.p2p >>> 0;
+                                            if (object.block != null)
+                                                message.block = object.block >>> 0;
+                                            return message;
+                                        };
+
+                                        /**
+                                         * Creates a plain object from a Tenderdash message. Also converts values to other types if specified.
+                                         * @function toObject
+                                         * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash
+                                         * @static
+                                         * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash} message Tenderdash
+                                         * @param {$protobuf.IConversionOptions} [options] Conversion options
+                                         * @returns {Object.} Plain object
+                                         */
+                                        Tenderdash.toObject = function toObject(message, options) {
+                                            if (!options)
+                                                options = {};
+                                            var object = {};
+                                            if (options.defaults) {
+                                                object.p2p = 0;
+                                                object.block = 0;
+                                            }
+                                            if (message.p2p != null && message.hasOwnProperty("p2p"))
+                                                object.p2p = message.p2p;
+                                            if (message.block != null && message.hasOwnProperty("block"))
+                                                object.block = message.block;
+                                            return object;
+                                        };
+
+                                        /**
+                                         * Converts this Tenderdash to JSON.
+                                         * @function toJSON
+                                         * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash
+                                         * @instance
+                                         * @returns {Object.} JSON object
+                                         */
+                                        Tenderdash.prototype.toJSON = function toJSON() {
+                                            return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+                                        };
+
+                                        return Tenderdash;
+                                    })();
+
+                                    Protocol.Drive = (function() {
+
+                                        /**
+                                         * Properties of a Drive.
+                                         * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol
+                                         * @interface IDrive
+                                         * @property {number|null} [latest] Drive latest
+                                         * @property {number|null} [current] Drive current
+                                         */
+
+                                        /**
+                                         * Constructs a new Drive.
+                                         * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol
+                                         * @classdesc Represents a Drive.
+                                         * @implements IDrive
+                                         * @constructor
+                                         * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.IDrive=} [properties] Properties to set
+                                         */
+                                        function Drive(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]];
+                                        }
+
+                                        /**
+                                         * Drive latest.
+                                         * @member {number} latest
+                                         * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive
+                                         * @instance
+                                         */
+                                        Drive.prototype.latest = 0;
+
+                                        /**
+                                         * Drive current.
+                                         * @member {number} current
+                                         * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive
+                                         * @instance
+                                         */
+                                        Drive.prototype.current = 0;
+
+                                        /**
+                                         * Creates a new Drive instance using the specified properties.
+                                         * @function create
+                                         * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive
+                                         * @static
+                                         * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.IDrive=} [properties] Properties to set
+                                         * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive} Drive instance
+                                         */
+                                        Drive.create = function create(properties) {
+                                            return new Drive(properties);
+                                        };
+
+                                        /**
+                                         * Encodes the specified Drive message. Does not implicitly {@link org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive.verify|verify} messages.
+                                         * @function encode
+                                         * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive
+                                         * @static
+                                         * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.IDrive} message Drive message or plain object to encode
+                                         * @param {$protobuf.Writer} [writer] Writer to encode to
+                                         * @returns {$protobuf.Writer} Writer
+                                         */
+                                        Drive.encode = function encode(message, writer) {
+                                            if (!writer)
+                                                writer = $Writer.create();
+                                            if (message.latest != null && Object.hasOwnProperty.call(message, "latest"))
+                                                writer.uint32(/* id 3, wireType 0 =*/24).uint32(message.latest);
+                                            if (message.current != null && Object.hasOwnProperty.call(message, "current"))
+                                                writer.uint32(/* id 4, wireType 0 =*/32).uint32(message.current);
+                                            return writer;
+                                        };
+
+                                        /**
+                                         * Encodes the specified Drive message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive.verify|verify} messages.
+                                         * @function encodeDelimited
+                                         * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive
+                                         * @static
+                                         * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.IDrive} message Drive message or plain object to encode
+                                         * @param {$protobuf.Writer} [writer] Writer to encode to
+                                         * @returns {$protobuf.Writer} Writer
+                                         */
+                                        Drive.encodeDelimited = function encodeDelimited(message, writer) {
+                                            return this.encode(message, writer).ldelim();
+                                        };
+
+                                        /**
+                                         * Decodes a Drive message from the specified reader or buffer.
+                                         * @function decode
+                                         * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive
+                                         * @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.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive} Drive
+                                         * @throws {Error} If the payload is not a reader or valid buffer
+                                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
+                                         */
+                                        Drive.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.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive();
+                                            while (reader.pos < end) {
+                                                var tag = reader.uint32();
+                                                switch (tag >>> 3) {
+                                                case 3:
+                                                    message.latest = reader.uint32();
+                                                    break;
+                                                case 4:
+                                                    message.current = reader.uint32();
+                                                    break;
+                                                default:
+                                                    reader.skipType(tag & 7);
+                                                    break;
+                                                }
+                                            }
+                                            return message;
+                                        };
+
+                                        /**
+                                         * Decodes a Drive message from the specified reader or buffer, length delimited.
+                                         * @function decodeDelimited
+                                         * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive
+                                         * @static
+                                         * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+                                         * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive} Drive
+                                         * @throws {Error} If the payload is not a reader or valid buffer
+                                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
+                                         */
+                                        Drive.decodeDelimited = function decodeDelimited(reader) {
+                                            if (!(reader instanceof $Reader))
+                                                reader = new $Reader(reader);
+                                            return this.decode(reader, reader.uint32());
+                                        };
+
+                                        /**
+                                         * Verifies a Drive message.
+                                         * @function verify
+                                         * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive
+                                         * @static
+                                         * @param {Object.} message Plain object to verify
+                                         * @returns {string|null} `null` if valid, otherwise the reason why it is not
+                                         */
+                                        Drive.verify = function verify(message) {
+                                            if (typeof message !== "object" || message === null)
+                                                return "object expected";
+                                            if (message.latest != null && message.hasOwnProperty("latest"))
+                                                if (!$util.isInteger(message.latest))
+                                                    return "latest: integer expected";
+                                            if (message.current != null && message.hasOwnProperty("current"))
+                                                if (!$util.isInteger(message.current))
+                                                    return "current: integer expected";
+                                            return null;
+                                        };
+
+                                        /**
+                                         * Creates a Drive message from a plain object. Also converts values to their respective internal types.
+                                         * @function fromObject
+                                         * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive
+                                         * @static
+                                         * @param {Object.} object Plain object
+                                         * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive} Drive
+                                         */
+                                        Drive.fromObject = function fromObject(object) {
+                                            if (object instanceof $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive)
+                                                return object;
+                                            var message = new $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive();
+                                            if (object.latest != null)
+                                                message.latest = object.latest >>> 0;
+                                            if (object.current != null)
+                                                message.current = object.current >>> 0;
+                                            return message;
+                                        };
+
+                                        /**
+                                         * Creates a plain object from a Drive message. Also converts values to other types if specified.
+                                         * @function toObject
+                                         * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive
+                                         * @static
+                                         * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive} message Drive
+                                         * @param {$protobuf.IConversionOptions} [options] Conversion options
+                                         * @returns {Object.} Plain object
+                                         */
+                                        Drive.toObject = function toObject(message, options) {
+                                            if (!options)
+                                                options = {};
+                                            var object = {};
+                                            if (options.defaults) {
+                                                object.latest = 0;
+                                                object.current = 0;
+                                            }
+                                            if (message.latest != null && message.hasOwnProperty("latest"))
+                                                object.latest = message.latest;
+                                            if (message.current != null && message.hasOwnProperty("current"))
+                                                object.current = message.current;
+                                            return object;
+                                        };
+
+                                        /**
+                                         * Converts this Drive to JSON.
+                                         * @function toJSON
+                                         * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive
+                                         * @instance
+                                         * @returns {Object.} JSON object
+                                         */
+                                        Drive.prototype.toJSON = function toJSON() {
+                                            return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+                                        };
+
+                                        return Drive;
+                                    })();
+
+                                    return Protocol;
+                                })();
+
+                                return Version;
+                            })();
+
+                            GetStatusResponseV0.Time = (function() {
+
+                                /**
+                                 * Properties of a Time.
+                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0
+                                 * @interface ITime
+                                 * @property {number|Long|null} [local] Time local
+                                 * @property {number|Long|null} [block] Time block
+                                 * @property {number|Long|null} [genesis] Time genesis
+                                 * @property {number|null} [epoch] Time epoch
+                                 */
+
+                                /**
+                                 * Constructs a new Time.
+                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0
+                                 * @classdesc Represents a Time.
+                                 * @implements ITime
+                                 * @constructor
+                                 * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.ITime=} [properties] Properties to set
+                                 */
+                                function Time(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]];
+                                }
+
+                                /**
+                                 * Time local.
+                                 * @member {number|Long} local
+                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time
+                                 * @instance
+                                 */
+                                Time.prototype.local = $util.Long ? $util.Long.fromBits(0,0,true) : 0;
+
+                                /**
+                                 * Time block.
+                                 * @member {number|Long} block
+                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time
+                                 * @instance
+                                 */
+                                Time.prototype.block = $util.Long ? $util.Long.fromBits(0,0,true) : 0;
+
+                                /**
+                                 * Time genesis.
+                                 * @member {number|Long} genesis
+                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time
+                                 * @instance
+                                 */
+                                Time.prototype.genesis = $util.Long ? $util.Long.fromBits(0,0,true) : 0;
+
+                                /**
+                                 * Time epoch.
+                                 * @member {number} epoch
+                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time
+                                 * @instance
+                                 */
+                                Time.prototype.epoch = 0;
+
+                                /**
+                                 * Creates a new Time instance using the specified properties.
+                                 * @function create
+                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time
+                                 * @static
+                                 * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.ITime=} [properties] Properties to set
+                                 * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time} Time instance
+                                 */
+                                Time.create = function create(properties) {
+                                    return new Time(properties);
+                                };
+
+                                /**
+                                 * Encodes the specified Time message. Does not implicitly {@link org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.verify|verify} messages.
+                                 * @function encode
+                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time
+                                 * @static
+                                 * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.ITime} message Time message or plain object to encode
+                                 * @param {$protobuf.Writer} [writer] Writer to encode to
+                                 * @returns {$protobuf.Writer} Writer
+                                 */
+                                Time.encode = function encode(message, writer) {
+                                    if (!writer)
+                                        writer = $Writer.create();
+                                    if (message.local != null && Object.hasOwnProperty.call(message, "local"))
+                                        writer.uint32(/* id 1, wireType 0 =*/8).uint64(message.local);
+                                    if (message.block != null && Object.hasOwnProperty.call(message, "block"))
+                                        writer.uint32(/* id 2, wireType 0 =*/16).uint64(message.block);
+                                    if (message.genesis != null && Object.hasOwnProperty.call(message, "genesis"))
+                                        writer.uint32(/* id 3, wireType 0 =*/24).uint64(message.genesis);
+                                    if (message.epoch != null && Object.hasOwnProperty.call(message, "epoch"))
+                                        writer.uint32(/* id 4, wireType 0 =*/32).uint32(message.epoch);
+                                    return writer;
+                                };
+
+                                /**
+                                 * Encodes the specified Time message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.verify|verify} messages.
+                                 * @function encodeDelimited
+                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time
+                                 * @static
+                                 * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.ITime} message Time message or plain object to encode
+                                 * @param {$protobuf.Writer} [writer] Writer to encode to
+                                 * @returns {$protobuf.Writer} Writer
+                                 */
+                                Time.encodeDelimited = function encodeDelimited(message, writer) {
+                                    return this.encode(message, writer).ldelim();
+                                };
+
+                                /**
+                                 * Decodes a Time message from the specified reader or buffer.
+                                 * @function decode
+                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time
+                                 * @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.GetStatusResponse.GetStatusResponseV0.Time} Time
+                                 * @throws {Error} If the payload is not a reader or valid buffer
+                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
+                                 */
+                                Time.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.GetStatusResponse.GetStatusResponseV0.Time();
+                                    while (reader.pos < end) {
+                                        var tag = reader.uint32();
+                                        switch (tag >>> 3) {
+                                        case 1:
+                                            message.local = reader.uint64();
+                                            break;
+                                        case 2:
+                                            message.block = reader.uint64();
+                                            break;
+                                        case 3:
+                                            message.genesis = reader.uint64();
+                                            break;
+                                        case 4:
+                                            message.epoch = reader.uint32();
+                                            break;
+                                        default:
+                                            reader.skipType(tag & 7);
+                                            break;
+                                        }
+                                    }
+                                    return message;
+                                };
+
+                                /**
+                                 * Decodes a Time message from the specified reader or buffer, length delimited.
+                                 * @function decodeDelimited
+                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time
+                                 * @static
+                                 * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+                                 * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time} Time
+                                 * @throws {Error} If the payload is not a reader or valid buffer
+                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
+                                 */
+                                Time.decodeDelimited = function decodeDelimited(reader) {
+                                    if (!(reader instanceof $Reader))
+                                        reader = new $Reader(reader);
+                                    return this.decode(reader, reader.uint32());
+                                };
+
+                                /**
+                                 * Verifies a Time message.
+                                 * @function verify
+                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time
+                                 * @static
+                                 * @param {Object.} message Plain object to verify
+                                 * @returns {string|null} `null` if valid, otherwise the reason why it is not
+                                 */
+                                Time.verify = function verify(message) {
+                                    if (typeof message !== "object" || message === null)
+                                        return "object expected";
+                                    if (message.local != null && message.hasOwnProperty("local"))
+                                        if (!$util.isInteger(message.local) && !(message.local && $util.isInteger(message.local.low) && $util.isInteger(message.local.high)))
+                                            return "local: integer|Long expected";
+                                    if (message.block != null && message.hasOwnProperty("block"))
+                                        if (!$util.isInteger(message.block) && !(message.block && $util.isInteger(message.block.low) && $util.isInteger(message.block.high)))
+                                            return "block: integer|Long expected";
+                                    if (message.genesis != null && message.hasOwnProperty("genesis"))
+                                        if (!$util.isInteger(message.genesis) && !(message.genesis && $util.isInteger(message.genesis.low) && $util.isInteger(message.genesis.high)))
+                                            return "genesis: integer|Long expected";
+                                    if (message.epoch != null && message.hasOwnProperty("epoch"))
+                                        if (!$util.isInteger(message.epoch))
+                                            return "epoch: integer expected";
+                                    return null;
+                                };
+
+                                /**
+                                 * Creates a Time message from a plain object. Also converts values to their respective internal types.
+                                 * @function fromObject
+                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time
+                                 * @static
+                                 * @param {Object.} object Plain object
+                                 * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time} Time
+                                 */
+                                Time.fromObject = function fromObject(object) {
+                                    if (object instanceof $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time)
+                                        return object;
+                                    var message = new $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time();
+                                    if (object.local != null)
+                                        if ($util.Long)
+                                            (message.local = $util.Long.fromValue(object.local)).unsigned = true;
+                                        else if (typeof object.local === "string")
+                                            message.local = parseInt(object.local, 10);
+                                        else if (typeof object.local === "number")
+                                            message.local = object.local;
+                                        else if (typeof object.local === "object")
+                                            message.local = new $util.LongBits(object.local.low >>> 0, object.local.high >>> 0).toNumber(true);
+                                    if (object.block != null)
+                                        if ($util.Long)
+                                            (message.block = $util.Long.fromValue(object.block)).unsigned = true;
+                                        else if (typeof object.block === "string")
+                                            message.block = parseInt(object.block, 10);
+                                        else if (typeof object.block === "number")
+                                            message.block = object.block;
+                                        else if (typeof object.block === "object")
+                                            message.block = new $util.LongBits(object.block.low >>> 0, object.block.high >>> 0).toNumber(true);
+                                    if (object.genesis != null)
+                                        if ($util.Long)
+                                            (message.genesis = $util.Long.fromValue(object.genesis)).unsigned = true;
+                                        else if (typeof object.genesis === "string")
+                                            message.genesis = parseInt(object.genesis, 10);
+                                        else if (typeof object.genesis === "number")
+                                            message.genesis = object.genesis;
+                                        else if (typeof object.genesis === "object")
+                                            message.genesis = new $util.LongBits(object.genesis.low >>> 0, object.genesis.high >>> 0).toNumber(true);
+                                    if (object.epoch != null)
+                                        message.epoch = object.epoch >>> 0;
+                                    return message;
+                                };
+
+                                /**
+                                 * Creates a plain object from a Time message. Also converts values to other types if specified.
+                                 * @function toObject
+                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time
+                                 * @static
+                                 * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time} message Time
+                                 * @param {$protobuf.IConversionOptions} [options] Conversion options
+                                 * @returns {Object.} Plain object
+                                 */
+                                Time.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.local = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;
+                                        } else
+                                            object.local = options.longs === String ? "0" : 0;
+                                        if ($util.Long) {
+                                            var long = new $util.Long(0, 0, true);
+                                            object.block = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;
+                                        } else
+                                            object.block = options.longs === String ? "0" : 0;
+                                        if ($util.Long) {
+                                            var long = new $util.Long(0, 0, true);
+                                            object.genesis = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;
+                                        } else
+                                            object.genesis = options.longs === String ? "0" : 0;
+                                        object.epoch = 0;
+                                    }
+                                    if (message.local != null && message.hasOwnProperty("local"))
+                                        if (typeof message.local === "number")
+                                            object.local = options.longs === String ? String(message.local) : message.local;
+                                        else
+                                            object.local = options.longs === String ? $util.Long.prototype.toString.call(message.local) : options.longs === Number ? new $util.LongBits(message.local.low >>> 0, message.local.high >>> 0).toNumber(true) : message.local;
+                                    if (message.block != null && message.hasOwnProperty("block"))
+                                        if (typeof message.block === "number")
+                                            object.block = options.longs === String ? String(message.block) : message.block;
+                                        else
+                                            object.block = options.longs === String ? $util.Long.prototype.toString.call(message.block) : options.longs === Number ? new $util.LongBits(message.block.low >>> 0, message.block.high >>> 0).toNumber(true) : message.block;
+                                    if (message.genesis != null && message.hasOwnProperty("genesis"))
+                                        if (typeof message.genesis === "number")
+                                            object.genesis = options.longs === String ? String(message.genesis) : message.genesis;
+                                        else
+                                            object.genesis = options.longs === String ? $util.Long.prototype.toString.call(message.genesis) : options.longs === Number ? new $util.LongBits(message.genesis.low >>> 0, message.genesis.high >>> 0).toNumber(true) : message.genesis;
+                                    if (message.epoch != null && message.hasOwnProperty("epoch"))
+                                        object.epoch = message.epoch;
+                                    return object;
+                                };
+
+                                /**
+                                 * Converts this Time to JSON.
+                                 * @function toJSON
+                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time
+                                 * @instance
+                                 * @returns {Object.} JSON object
+                                 */
+                                Time.prototype.toJSON = function toJSON() {
+                                    return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+                                };
+
+                                return Time;
+                            })();
+
+                            GetStatusResponseV0.Node = (function() {
+
+                                /**
+                                 * Properties of a Node.
+                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0
+                                 * @interface INode
+                                 * @property {Uint8Array|null} [id] Node id
+                                 * @property {Uint8Array|null} [proTxHash] Node proTxHash
+                                 */
+
+                                /**
+                                 * Constructs a new Node.
+                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0
+                                 * @classdesc Represents a Node.
+                                 * @implements INode
+                                 * @constructor
+                                 * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.INode=} [properties] Properties to set
+                                 */
+                                function Node(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]];
+                                }
+
+                                /**
+                                 * Node id.
+                                 * @member {Uint8Array} id
+                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node
+                                 * @instance
+                                 */
+                                Node.prototype.id = $util.newBuffer([]);
+
+                                /**
+                                 * Node proTxHash.
+                                 * @member {Uint8Array} proTxHash
+                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node
+                                 * @instance
+                                 */
+                                Node.prototype.proTxHash = $util.newBuffer([]);
+
+                                /**
+                                 * Creates a new Node instance using the specified properties.
+                                 * @function create
+                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node
+                                 * @static
+                                 * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.INode=} [properties] Properties to set
+                                 * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node} Node instance
+                                 */
+                                Node.create = function create(properties) {
+                                    return new Node(properties);
+                                };
+
+                                /**
+                                 * Encodes the specified Node message. Does not implicitly {@link org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.verify|verify} messages.
+                                 * @function encode
+                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node
+                                 * @static
+                                 * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.INode} message Node message or plain object to encode
+                                 * @param {$protobuf.Writer} [writer] Writer to encode to
+                                 * @returns {$protobuf.Writer} Writer
+                                 */
+                                Node.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.proTxHash != null && Object.hasOwnProperty.call(message, "proTxHash"))
+                                        writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.proTxHash);
+                                    return writer;
+                                };
+
+                                /**
+                                 * Encodes the specified Node message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.verify|verify} messages.
+                                 * @function encodeDelimited
+                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node
+                                 * @static
+                                 * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.INode} message Node message or plain object to encode
+                                 * @param {$protobuf.Writer} [writer] Writer to encode to
+                                 * @returns {$protobuf.Writer} Writer
+                                 */
+                                Node.encodeDelimited = function encodeDelimited(message, writer) {
+                                    return this.encode(message, writer).ldelim();
+                                };
+
+                                /**
+                                 * Decodes a Node message from the specified reader or buffer.
+                                 * @function decode
+                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node
+                                 * @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.GetStatusResponse.GetStatusResponseV0.Node} Node
+                                 * @throws {Error} If the payload is not a reader or valid buffer
+                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
+                                 */
+                                Node.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.GetStatusResponse.GetStatusResponseV0.Node();
+                                    while (reader.pos < end) {
+                                        var tag = reader.uint32();
+                                        switch (tag >>> 3) {
+                                        case 1:
+                                            message.id = reader.bytes();
+                                            break;
+                                        case 2:
+                                            message.proTxHash = reader.bytes();
+                                            break;
+                                        default:
+                                            reader.skipType(tag & 7);
+                                            break;
+                                        }
+                                    }
+                                    return message;
+                                };
+
+                                /**
+                                 * Decodes a Node message from the specified reader or buffer, length delimited.
+                                 * @function decodeDelimited
+                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node
+                                 * @static
+                                 * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+                                 * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node} Node
+                                 * @throws {Error} If the payload is not a reader or valid buffer
+                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
+                                 */
+                                Node.decodeDelimited = function decodeDelimited(reader) {
+                                    if (!(reader instanceof $Reader))
+                                        reader = new $Reader(reader);
+                                    return this.decode(reader, reader.uint32());
+                                };
+
+                                /**
+                                 * Verifies a Node message.
+                                 * @function verify
+                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node
+                                 * @static
+                                 * @param {Object.} message Plain object to verify
+                                 * @returns {string|null} `null` if valid, otherwise the reason why it is not
+                                 */
+                                Node.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.proTxHash != null && message.hasOwnProperty("proTxHash"))
+                                        if (!(message.proTxHash && typeof message.proTxHash.length === "number" || $util.isString(message.proTxHash)))
+                                            return "proTxHash: buffer expected";
+                                    return null;
+                                };
+
+                                /**
+                                 * Creates a Node message from a plain object. Also converts values to their respective internal types.
+                                 * @function fromObject
+                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node
+                                 * @static
+                                 * @param {Object.} object Plain object
+                                 * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node} Node
+                                 */
+                                Node.fromObject = function fromObject(object) {
+                                    if (object instanceof $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node)
+                                        return object;
+                                    var message = new $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node();
+                                    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.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;
+                                    return message;
+                                };
+
+                                /**
+                                 * Creates a plain object from a Node message. Also converts values to other types if specified.
+                                 * @function toObject
+                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node
+                                 * @static
+                                 * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node} message Node
+                                 * @param {$protobuf.IConversionOptions} [options] Conversion options
+                                 * @returns {Object.} Plain object
+                                 */
+                                Node.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);
+                                        }
+                                        if (options.bytes === String)
+                                            object.proTxHash = "";
+                                        else {
+                                            object.proTxHash = [];
+                                            if (options.bytes !== Array)
+                                                object.proTxHash = $util.newBuffer(object.proTxHash);
+                                        }
+                                    }
+                                    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.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;
+                                    return object;
+                                };
+
+                                /**
+                                 * Converts this Node to JSON.
+                                 * @function toJSON
+                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node
+                                 * @instance
+                                 * @returns {Object.} JSON object
+                                 */
+                                Node.prototype.toJSON = function toJSON() {
+                                    return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+                                };
+
+                                return Node;
+                            })();
+
+                            GetStatusResponseV0.Chain = (function() {
+
+                                /**
+                                 * Properties of a Chain.
+                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0
+                                 * @interface IChain
+                                 * @property {boolean|null} [catchingUp] Chain catchingUp
+                                 * @property {Uint8Array|null} [latestBlockHash] Chain latestBlockHash
+                                 * @property {Uint8Array|null} [latestAppHash] Chain latestAppHash
+                                 * @property {number|Long|null} [latestBlockHeight] Chain latestBlockHeight
+                                 * @property {Uint8Array|null} [earliestBlockHash] Chain earliestBlockHash
+                                 * @property {Uint8Array|null} [earliestAppHash] Chain earliestAppHash
+                                 * @property {number|Long|null} [earliestBlockHeight] Chain earliestBlockHeight
+                                 * @property {number|Long|null} [maxPeerBlockHeight] Chain maxPeerBlockHeight
+                                 * @property {number|null} [coreChainLockedHeight] Chain coreChainLockedHeight
+                                 */
+
+                                /**
+                                 * Constructs a new Chain.
+                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0
+                                 * @classdesc Represents a Chain.
+                                 * @implements IChain
+                                 * @constructor
+                                 * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.IChain=} [properties] Properties to set
+                                 */
+                                function Chain(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]];
+                                }
+
+                                /**
+                                 * Chain catchingUp.
+                                 * @member {boolean} catchingUp
+                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain
+                                 * @instance
+                                 */
+                                Chain.prototype.catchingUp = false;
+
+                                /**
+                                 * Chain latestBlockHash.
+                                 * @member {Uint8Array} latestBlockHash
+                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain
+                                 * @instance
+                                 */
+                                Chain.prototype.latestBlockHash = $util.newBuffer([]);
+
+                                /**
+                                 * Chain latestAppHash.
+                                 * @member {Uint8Array} latestAppHash
+                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain
+                                 * @instance
+                                 */
+                                Chain.prototype.latestAppHash = $util.newBuffer([]);
+
+                                /**
+                                 * Chain latestBlockHeight.
+                                 * @member {number|Long} latestBlockHeight
+                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain
+                                 * @instance
+                                 */
+                                Chain.prototype.latestBlockHeight = $util.Long ? $util.Long.fromBits(0,0,true) : 0;
+
+                                /**
+                                 * Chain earliestBlockHash.
+                                 * @member {Uint8Array} earliestBlockHash
+                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain
+                                 * @instance
+                                 */
+                                Chain.prototype.earliestBlockHash = $util.newBuffer([]);
+
+                                /**
+                                 * Chain earliestAppHash.
+                                 * @member {Uint8Array} earliestAppHash
+                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain
+                                 * @instance
+                                 */
+                                Chain.prototype.earliestAppHash = $util.newBuffer([]);
+
+                                /**
+                                 * Chain earliestBlockHeight.
+                                 * @member {number|Long} earliestBlockHeight
+                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain
+                                 * @instance
+                                 */
+                                Chain.prototype.earliestBlockHeight = $util.Long ? $util.Long.fromBits(0,0,true) : 0;
+
+                                /**
+                                 * Chain maxPeerBlockHeight.
+                                 * @member {number|Long} maxPeerBlockHeight
+                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain
+                                 * @instance
+                                 */
+                                Chain.prototype.maxPeerBlockHeight = $util.Long ? $util.Long.fromBits(0,0,true) : 0;
+
+                                /**
+                                 * Chain coreChainLockedHeight.
+                                 * @member {number} coreChainLockedHeight
+                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain
+                                 * @instance
+                                 */
+                                Chain.prototype.coreChainLockedHeight = 0;
+
+                                /**
+                                 * Creates a new Chain instance using the specified properties.
+                                 * @function create
+                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain
+                                 * @static
+                                 * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.IChain=} [properties] Properties to set
+                                 * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain} Chain instance
+                                 */
+                                Chain.create = function create(properties) {
+                                    return new Chain(properties);
+                                };
+
+                                /**
+                                 * Encodes the specified Chain message. Does not implicitly {@link org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.verify|verify} messages.
+                                 * @function encode
+                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain
+                                 * @static
+                                 * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.IChain} message Chain message or plain object to encode
+                                 * @param {$protobuf.Writer} [writer] Writer to encode to
+                                 * @returns {$protobuf.Writer} Writer
+                                 */
+                                Chain.encode = function encode(message, writer) {
+                                    if (!writer)
+                                        writer = $Writer.create();
+                                    if (message.catchingUp != null && Object.hasOwnProperty.call(message, "catchingUp"))
+                                        writer.uint32(/* id 1, wireType 0 =*/8).bool(message.catchingUp);
+                                    if (message.latestBlockHash != null && Object.hasOwnProperty.call(message, "latestBlockHash"))
+                                        writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.latestBlockHash);
+                                    if (message.latestAppHash != null && Object.hasOwnProperty.call(message, "latestAppHash"))
+                                        writer.uint32(/* id 3, wireType 2 =*/26).bytes(message.latestAppHash);
+                                    if (message.latestBlockHeight != null && Object.hasOwnProperty.call(message, "latestBlockHeight"))
+                                        writer.uint32(/* id 4, wireType 0 =*/32).uint64(message.latestBlockHeight);
+                                    if (message.earliestBlockHash != null && Object.hasOwnProperty.call(message, "earliestBlockHash"))
+                                        writer.uint32(/* id 5, wireType 2 =*/42).bytes(message.earliestBlockHash);
+                                    if (message.earliestAppHash != null && Object.hasOwnProperty.call(message, "earliestAppHash"))
+                                        writer.uint32(/* id 6, wireType 2 =*/50).bytes(message.earliestAppHash);
+                                    if (message.earliestBlockHeight != null && Object.hasOwnProperty.call(message, "earliestBlockHeight"))
+                                        writer.uint32(/* id 7, wireType 0 =*/56).uint64(message.earliestBlockHeight);
+                                    if (message.maxPeerBlockHeight != null && Object.hasOwnProperty.call(message, "maxPeerBlockHeight"))
+                                        writer.uint32(/* id 9, wireType 0 =*/72).uint64(message.maxPeerBlockHeight);
+                                    if (message.coreChainLockedHeight != null && Object.hasOwnProperty.call(message, "coreChainLockedHeight"))
+                                        writer.uint32(/* id 10, wireType 0 =*/80).uint32(message.coreChainLockedHeight);
+                                    return writer;
+                                };
+
+                                /**
+                                 * Encodes the specified Chain message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.verify|verify} messages.
+                                 * @function encodeDelimited
+                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain
+                                 * @static
+                                 * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.IChain} message Chain message or plain object to encode
+                                 * @param {$protobuf.Writer} [writer] Writer to encode to
+                                 * @returns {$protobuf.Writer} Writer
+                                 */
+                                Chain.encodeDelimited = function encodeDelimited(message, writer) {
+                                    return this.encode(message, writer).ldelim();
+                                };
+
+                                /**
+                                 * Decodes a Chain message from the specified reader or buffer.
+                                 * @function decode
+                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain
+                                 * @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.GetStatusResponse.GetStatusResponseV0.Chain} Chain
+                                 * @throws {Error} If the payload is not a reader or valid buffer
+                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
+                                 */
+                                Chain.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.GetStatusResponse.GetStatusResponseV0.Chain();
+                                    while (reader.pos < end) {
+                                        var tag = reader.uint32();
+                                        switch (tag >>> 3) {
+                                        case 1:
+                                            message.catchingUp = reader.bool();
+                                            break;
+                                        case 2:
+                                            message.latestBlockHash = reader.bytes();
+                                            break;
+                                        case 3:
+                                            message.latestAppHash = reader.bytes();
+                                            break;
+                                        case 4:
+                                            message.latestBlockHeight = reader.uint64();
+                                            break;
+                                        case 5:
+                                            message.earliestBlockHash = reader.bytes();
+                                            break;
+                                        case 6:
+                                            message.earliestAppHash = reader.bytes();
+                                            break;
+                                        case 7:
+                                            message.earliestBlockHeight = reader.uint64();
+                                            break;
+                                        case 9:
+                                            message.maxPeerBlockHeight = reader.uint64();
+                                            break;
+                                        case 10:
+                                            message.coreChainLockedHeight = reader.uint32();
+                                            break;
+                                        default:
+                                            reader.skipType(tag & 7);
+                                            break;
+                                        }
+                                    }
+                                    return message;
+                                };
+
+                                /**
+                                 * Decodes a Chain message from the specified reader or buffer, length delimited.
+                                 * @function decodeDelimited
+                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain
+                                 * @static
+                                 * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+                                 * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain} Chain
+                                 * @throws {Error} If the payload is not a reader or valid buffer
+                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
+                                 */
+                                Chain.decodeDelimited = function decodeDelimited(reader) {
+                                    if (!(reader instanceof $Reader))
+                                        reader = new $Reader(reader);
+                                    return this.decode(reader, reader.uint32());
+                                };
+
+                                /**
+                                 * Verifies a Chain message.
+                                 * @function verify
+                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain
+                                 * @static
+                                 * @param {Object.} message Plain object to verify
+                                 * @returns {string|null} `null` if valid, otherwise the reason why it is not
+                                 */
+                                Chain.verify = function verify(message) {
+                                    if (typeof message !== "object" || message === null)
+                                        return "object expected";
+                                    if (message.catchingUp != null && message.hasOwnProperty("catchingUp"))
+                                        if (typeof message.catchingUp !== "boolean")
+                                            return "catchingUp: boolean expected";
+                                    if (message.latestBlockHash != null && message.hasOwnProperty("latestBlockHash"))
+                                        if (!(message.latestBlockHash && typeof message.latestBlockHash.length === "number" || $util.isString(message.latestBlockHash)))
+                                            return "latestBlockHash: buffer expected";
+                                    if (message.latestAppHash != null && message.hasOwnProperty("latestAppHash"))
+                                        if (!(message.latestAppHash && typeof message.latestAppHash.length === "number" || $util.isString(message.latestAppHash)))
+                                            return "latestAppHash: buffer expected";
+                                    if (message.latestBlockHeight != null && message.hasOwnProperty("latestBlockHeight"))
+                                        if (!$util.isInteger(message.latestBlockHeight) && !(message.latestBlockHeight && $util.isInteger(message.latestBlockHeight.low) && $util.isInteger(message.latestBlockHeight.high)))
+                                            return "latestBlockHeight: integer|Long expected";
+                                    if (message.earliestBlockHash != null && message.hasOwnProperty("earliestBlockHash"))
+                                        if (!(message.earliestBlockHash && typeof message.earliestBlockHash.length === "number" || $util.isString(message.earliestBlockHash)))
+                                            return "earliestBlockHash: buffer expected";
+                                    if (message.earliestAppHash != null && message.hasOwnProperty("earliestAppHash"))
+                                        if (!(message.earliestAppHash && typeof message.earliestAppHash.length === "number" || $util.isString(message.earliestAppHash)))
+                                            return "earliestAppHash: buffer expected";
+                                    if (message.earliestBlockHeight != null && message.hasOwnProperty("earliestBlockHeight"))
+                                        if (!$util.isInteger(message.earliestBlockHeight) && !(message.earliestBlockHeight && $util.isInteger(message.earliestBlockHeight.low) && $util.isInteger(message.earliestBlockHeight.high)))
+                                            return "earliestBlockHeight: integer|Long expected";
+                                    if (message.maxPeerBlockHeight != null && message.hasOwnProperty("maxPeerBlockHeight"))
+                                        if (!$util.isInteger(message.maxPeerBlockHeight) && !(message.maxPeerBlockHeight && $util.isInteger(message.maxPeerBlockHeight.low) && $util.isInteger(message.maxPeerBlockHeight.high)))
+                                            return "maxPeerBlockHeight: integer|Long expected";
+                                    if (message.coreChainLockedHeight != null && message.hasOwnProperty("coreChainLockedHeight"))
+                                        if (!$util.isInteger(message.coreChainLockedHeight))
+                                            return "coreChainLockedHeight: integer expected";
+                                    return null;
+                                };
+
+                                /**
+                                 * Creates a Chain message from a plain object. Also converts values to their respective internal types.
+                                 * @function fromObject
+                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain
+                                 * @static
+                                 * @param {Object.} object Plain object
+                                 * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain} Chain
+                                 */
+                                Chain.fromObject = function fromObject(object) {
+                                    if (object instanceof $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain)
+                                        return object;
+                                    var message = new $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain();
+                                    if (object.catchingUp != null)
+                                        message.catchingUp = Boolean(object.catchingUp);
+                                    if (object.latestBlockHash != null)
+                                        if (typeof object.latestBlockHash === "string")
+                                            $util.base64.decode(object.latestBlockHash, message.latestBlockHash = $util.newBuffer($util.base64.length(object.latestBlockHash)), 0);
+                                        else if (object.latestBlockHash.length >= 0)
+                                            message.latestBlockHash = object.latestBlockHash;
+                                    if (object.latestAppHash != null)
+                                        if (typeof object.latestAppHash === "string")
+                                            $util.base64.decode(object.latestAppHash, message.latestAppHash = $util.newBuffer($util.base64.length(object.latestAppHash)), 0);
+                                        else if (object.latestAppHash.length >= 0)
+                                            message.latestAppHash = object.latestAppHash;
+                                    if (object.latestBlockHeight != null)
+                                        if ($util.Long)
+                                            (message.latestBlockHeight = $util.Long.fromValue(object.latestBlockHeight)).unsigned = true;
+                                        else if (typeof object.latestBlockHeight === "string")
+                                            message.latestBlockHeight = parseInt(object.latestBlockHeight, 10);
+                                        else if (typeof object.latestBlockHeight === "number")
+                                            message.latestBlockHeight = object.latestBlockHeight;
+                                        else if (typeof object.latestBlockHeight === "object")
+                                            message.latestBlockHeight = new $util.LongBits(object.latestBlockHeight.low >>> 0, object.latestBlockHeight.high >>> 0).toNumber(true);
+                                    if (object.earliestBlockHash != null)
+                                        if (typeof object.earliestBlockHash === "string")
+                                            $util.base64.decode(object.earliestBlockHash, message.earliestBlockHash = $util.newBuffer($util.base64.length(object.earliestBlockHash)), 0);
+                                        else if (object.earliestBlockHash.length >= 0)
+                                            message.earliestBlockHash = object.earliestBlockHash;
+                                    if (object.earliestAppHash != null)
+                                        if (typeof object.earliestAppHash === "string")
+                                            $util.base64.decode(object.earliestAppHash, message.earliestAppHash = $util.newBuffer($util.base64.length(object.earliestAppHash)), 0);
+                                        else if (object.earliestAppHash.length >= 0)
+                                            message.earliestAppHash = object.earliestAppHash;
+                                    if (object.earliestBlockHeight != null)
+                                        if ($util.Long)
+                                            (message.earliestBlockHeight = $util.Long.fromValue(object.earliestBlockHeight)).unsigned = true;
+                                        else if (typeof object.earliestBlockHeight === "string")
+                                            message.earliestBlockHeight = parseInt(object.earliestBlockHeight, 10);
+                                        else if (typeof object.earliestBlockHeight === "number")
+                                            message.earliestBlockHeight = object.earliestBlockHeight;
+                                        else if (typeof object.earliestBlockHeight === "object")
+                                            message.earliestBlockHeight = new $util.LongBits(object.earliestBlockHeight.low >>> 0, object.earliestBlockHeight.high >>> 0).toNumber(true);
+                                    if (object.maxPeerBlockHeight != null)
+                                        if ($util.Long)
+                                            (message.maxPeerBlockHeight = $util.Long.fromValue(object.maxPeerBlockHeight)).unsigned = true;
+                                        else if (typeof object.maxPeerBlockHeight === "string")
+                                            message.maxPeerBlockHeight = parseInt(object.maxPeerBlockHeight, 10);
+                                        else if (typeof object.maxPeerBlockHeight === "number")
+                                            message.maxPeerBlockHeight = object.maxPeerBlockHeight;
+                                        else if (typeof object.maxPeerBlockHeight === "object")
+                                            message.maxPeerBlockHeight = new $util.LongBits(object.maxPeerBlockHeight.low >>> 0, object.maxPeerBlockHeight.high >>> 0).toNumber(true);
+                                    if (object.coreChainLockedHeight != null)
+                                        message.coreChainLockedHeight = object.coreChainLockedHeight >>> 0;
+                                    return message;
+                                };
+
+                                /**
+                                 * Creates a plain object from a Chain message. Also converts values to other types if specified.
+                                 * @function toObject
+                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain
+                                 * @static
+                                 * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain} message Chain
+                                 * @param {$protobuf.IConversionOptions} [options] Conversion options
+                                 * @returns {Object.} Plain object
+                                 */
+                                Chain.toObject = function toObject(message, options) {
+                                    if (!options)
+                                        options = {};
+                                    var object = {};
+                                    if (options.defaults) {
+                                        object.catchingUp = false;
+                                        if (options.bytes === String)
+                                            object.latestBlockHash = "";
+                                        else {
+                                            object.latestBlockHash = [];
+                                            if (options.bytes !== Array)
+                                                object.latestBlockHash = $util.newBuffer(object.latestBlockHash);
+                                        }
+                                        if (options.bytes === String)
+                                            object.latestAppHash = "";
+                                        else {
+                                            object.latestAppHash = [];
+                                            if (options.bytes !== Array)
+                                                object.latestAppHash = $util.newBuffer(object.latestAppHash);
+                                        }
+                                        if ($util.Long) {
+                                            var long = new $util.Long(0, 0, true);
+                                            object.latestBlockHeight = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;
+                                        } else
+                                            object.latestBlockHeight = options.longs === String ? "0" : 0;
+                                        if (options.bytes === String)
+                                            object.earliestBlockHash = "";
+                                        else {
+                                            object.earliestBlockHash = [];
+                                            if (options.bytes !== Array)
+                                                object.earliestBlockHash = $util.newBuffer(object.earliestBlockHash);
+                                        }
+                                        if (options.bytes === String)
+                                            object.earliestAppHash = "";
+                                        else {
+                                            object.earliestAppHash = [];
+                                            if (options.bytes !== Array)
+                                                object.earliestAppHash = $util.newBuffer(object.earliestAppHash);
+                                        }
+                                        if ($util.Long) {
+                                            var long = new $util.Long(0, 0, true);
+                                            object.earliestBlockHeight = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;
+                                        } else
+                                            object.earliestBlockHeight = options.longs === String ? "0" : 0;
+                                        if ($util.Long) {
+                                            var long = new $util.Long(0, 0, true);
+                                            object.maxPeerBlockHeight = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;
+                                        } else
+                                            object.maxPeerBlockHeight = options.longs === String ? "0" : 0;
+                                        object.coreChainLockedHeight = 0;
+                                    }
+                                    if (message.catchingUp != null && message.hasOwnProperty("catchingUp"))
+                                        object.catchingUp = message.catchingUp;
+                                    if (message.latestBlockHash != null && message.hasOwnProperty("latestBlockHash"))
+                                        object.latestBlockHash = options.bytes === String ? $util.base64.encode(message.latestBlockHash, 0, message.latestBlockHash.length) : options.bytes === Array ? Array.prototype.slice.call(message.latestBlockHash) : message.latestBlockHash;
+                                    if (message.latestAppHash != null && message.hasOwnProperty("latestAppHash"))
+                                        object.latestAppHash = options.bytes === String ? $util.base64.encode(message.latestAppHash, 0, message.latestAppHash.length) : options.bytes === Array ? Array.prototype.slice.call(message.latestAppHash) : message.latestAppHash;
+                                    if (message.latestBlockHeight != null && message.hasOwnProperty("latestBlockHeight"))
+                                        if (typeof message.latestBlockHeight === "number")
+                                            object.latestBlockHeight = options.longs === String ? String(message.latestBlockHeight) : message.latestBlockHeight;
+                                        else
+                                            object.latestBlockHeight = options.longs === String ? $util.Long.prototype.toString.call(message.latestBlockHeight) : options.longs === Number ? new $util.LongBits(message.latestBlockHeight.low >>> 0, message.latestBlockHeight.high >>> 0).toNumber(true) : message.latestBlockHeight;
+                                    if (message.earliestBlockHash != null && message.hasOwnProperty("earliestBlockHash"))
+                                        object.earliestBlockHash = options.bytes === String ? $util.base64.encode(message.earliestBlockHash, 0, message.earliestBlockHash.length) : options.bytes === Array ? Array.prototype.slice.call(message.earliestBlockHash) : message.earliestBlockHash;
+                                    if (message.earliestAppHash != null && message.hasOwnProperty("earliestAppHash"))
+                                        object.earliestAppHash = options.bytes === String ? $util.base64.encode(message.earliestAppHash, 0, message.earliestAppHash.length) : options.bytes === Array ? Array.prototype.slice.call(message.earliestAppHash) : message.earliestAppHash;
+                                    if (message.earliestBlockHeight != null && message.hasOwnProperty("earliestBlockHeight"))
+                                        if (typeof message.earliestBlockHeight === "number")
+                                            object.earliestBlockHeight = options.longs === String ? String(message.earliestBlockHeight) : message.earliestBlockHeight;
+                                        else
+                                            object.earliestBlockHeight = options.longs === String ? $util.Long.prototype.toString.call(message.earliestBlockHeight) : options.longs === Number ? new $util.LongBits(message.earliestBlockHeight.low >>> 0, message.earliestBlockHeight.high >>> 0).toNumber(true) : message.earliestBlockHeight;
+                                    if (message.maxPeerBlockHeight != null && message.hasOwnProperty("maxPeerBlockHeight"))
+                                        if (typeof message.maxPeerBlockHeight === "number")
+                                            object.maxPeerBlockHeight = options.longs === String ? String(message.maxPeerBlockHeight) : message.maxPeerBlockHeight;
+                                        else
+                                            object.maxPeerBlockHeight = options.longs === String ? $util.Long.prototype.toString.call(message.maxPeerBlockHeight) : options.longs === Number ? new $util.LongBits(message.maxPeerBlockHeight.low >>> 0, message.maxPeerBlockHeight.high >>> 0).toNumber(true) : message.maxPeerBlockHeight;
+                                    if (message.coreChainLockedHeight != null && message.hasOwnProperty("coreChainLockedHeight"))
+                                        object.coreChainLockedHeight = message.coreChainLockedHeight;
+                                    return object;
+                                };
+
+                                /**
+                                 * Converts this Chain to JSON.
+                                 * @function toJSON
+                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain
+                                 * @instance
+                                 * @returns {Object.} JSON object
+                                 */
+                                Chain.prototype.toJSON = function toJSON() {
+                                    return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+                                };
+
+                                return Chain;
+                            })();
+
+                            GetStatusResponseV0.Network = (function() {
+
+                                /**
+                                 * Properties of a Network.
+                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0
+                                 * @interface INetwork
+                                 * @property {string|null} [chainId] Network chainId
+                                 * @property {number|null} [peersCount] Network peersCount
+                                 * @property {boolean|null} [listening] Network listening
+                                 */
+
+                                /**
+                                 * Constructs a new Network.
+                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0
+                                 * @classdesc Represents a Network.
+                                 * @implements INetwork
+                                 * @constructor
+                                 * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.INetwork=} [properties] Properties to set
+                                 */
+                                function Network(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]];
+                                }
+
+                                /**
+                                 * Network chainId.
+                                 * @member {string} chainId
+                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network
+                                 * @instance
+                                 */
+                                Network.prototype.chainId = "";
+
+                                /**
+                                 * Network peersCount.
+                                 * @member {number} peersCount
+                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network
+                                 * @instance
+                                 */
+                                Network.prototype.peersCount = 0;
+
+                                /**
+                                 * Network listening.
+                                 * @member {boolean} listening
+                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network
+                                 * @instance
+                                 */
+                                Network.prototype.listening = false;
+
+                                /**
+                                 * Creates a new Network instance using the specified properties.
+                                 * @function create
+                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network
+                                 * @static
+                                 * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.INetwork=} [properties] Properties to set
+                                 * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network} Network instance
+                                 */
+                                Network.create = function create(properties) {
+                                    return new Network(properties);
+                                };
+
+                                /**
+                                 * Encodes the specified Network message. Does not implicitly {@link org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network.verify|verify} messages.
+                                 * @function encode
+                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network
+                                 * @static
+                                 * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.INetwork} message Network message or plain object to encode
+                                 * @param {$protobuf.Writer} [writer] Writer to encode to
+                                 * @returns {$protobuf.Writer} Writer
+                                 */
+                                Network.encode = function encode(message, writer) {
+                                    if (!writer)
+                                        writer = $Writer.create();
+                                    if (message.chainId != null && Object.hasOwnProperty.call(message, "chainId"))
+                                        writer.uint32(/* id 1, wireType 2 =*/10).string(message.chainId);
+                                    if (message.peersCount != null && Object.hasOwnProperty.call(message, "peersCount"))
+                                        writer.uint32(/* id 2, wireType 0 =*/16).uint32(message.peersCount);
+                                    if (message.listening != null && Object.hasOwnProperty.call(message, "listening"))
+                                        writer.uint32(/* id 3, wireType 0 =*/24).bool(message.listening);
+                                    return writer;
+                                };
+
+                                /**
+                                 * Encodes the specified Network message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network.verify|verify} messages.
+                                 * @function encodeDelimited
+                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network
+                                 * @static
+                                 * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.INetwork} message Network message or plain object to encode
+                                 * @param {$protobuf.Writer} [writer] Writer to encode to
+                                 * @returns {$protobuf.Writer} Writer
+                                 */
+                                Network.encodeDelimited = function encodeDelimited(message, writer) {
+                                    return this.encode(message, writer).ldelim();
+                                };
+
+                                /**
+                                 * Decodes a Network message from the specified reader or buffer.
+                                 * @function decode
+                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network
+                                 * @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.GetStatusResponse.GetStatusResponseV0.Network} Network
+                                 * @throws {Error} If the payload is not a reader or valid buffer
+                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
+                                 */
+                                Network.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.GetStatusResponse.GetStatusResponseV0.Network();
+                                    while (reader.pos < end) {
+                                        var tag = reader.uint32();
+                                        switch (tag >>> 3) {
+                                        case 1:
+                                            message.chainId = reader.string();
+                                            break;
+                                        case 2:
+                                            message.peersCount = reader.uint32();
+                                            break;
+                                        case 3:
+                                            message.listening = reader.bool();
+                                            break;
+                                        default:
+                                            reader.skipType(tag & 7);
+                                            break;
+                                        }
+                                    }
+                                    return message;
+                                };
+
+                                /**
+                                 * Decodes a Network message from the specified reader or buffer, length delimited.
+                                 * @function decodeDelimited
+                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network
+                                 * @static
+                                 * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+                                 * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network} Network
+                                 * @throws {Error} If the payload is not a reader or valid buffer
+                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
+                                 */
+                                Network.decodeDelimited = function decodeDelimited(reader) {
+                                    if (!(reader instanceof $Reader))
+                                        reader = new $Reader(reader);
+                                    return this.decode(reader, reader.uint32());
+                                };
+
+                                /**
+                                 * Verifies a Network message.
+                                 * @function verify
+                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network
+                                 * @static
+                                 * @param {Object.} message Plain object to verify
+                                 * @returns {string|null} `null` if valid, otherwise the reason why it is not
+                                 */
+                                Network.verify = function verify(message) {
+                                    if (typeof message !== "object" || message === null)
+                                        return "object expected";
+                                    if (message.chainId != null && message.hasOwnProperty("chainId"))
+                                        if (!$util.isString(message.chainId))
+                                            return "chainId: string expected";
+                                    if (message.peersCount != null && message.hasOwnProperty("peersCount"))
+                                        if (!$util.isInteger(message.peersCount))
+                                            return "peersCount: integer expected";
+                                    if (message.listening != null && message.hasOwnProperty("listening"))
+                                        if (typeof message.listening !== "boolean")
+                                            return "listening: boolean expected";
+                                    return null;
+                                };
+
+                                /**
+                                 * Creates a Network message from a plain object. Also converts values to their respective internal types.
+                                 * @function fromObject
+                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network
+                                 * @static
+                                 * @param {Object.} object Plain object
+                                 * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network} Network
+                                 */
+                                Network.fromObject = function fromObject(object) {
+                                    if (object instanceof $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network)
+                                        return object;
+                                    var message = new $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network();
+                                    if (object.chainId != null)
+                                        message.chainId = String(object.chainId);
+                                    if (object.peersCount != null)
+                                        message.peersCount = object.peersCount >>> 0;
+                                    if (object.listening != null)
+                                        message.listening = Boolean(object.listening);
+                                    return message;
+                                };
+
+                                /**
+                                 * Creates a plain object from a Network message. Also converts values to other types if specified.
+                                 * @function toObject
+                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network
+                                 * @static
+                                 * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network} message Network
+                                 * @param {$protobuf.IConversionOptions} [options] Conversion options
+                                 * @returns {Object.} Plain object
+                                 */
+                                Network.toObject = function toObject(message, options) {
+                                    if (!options)
+                                        options = {};
+                                    var object = {};
+                                    if (options.defaults) {
+                                        object.chainId = "";
+                                        object.peersCount = 0;
+                                        object.listening = false;
+                                    }
+                                    if (message.chainId != null && message.hasOwnProperty("chainId"))
+                                        object.chainId = message.chainId;
+                                    if (message.peersCount != null && message.hasOwnProperty("peersCount"))
+                                        object.peersCount = message.peersCount;
+                                    if (message.listening != null && message.hasOwnProperty("listening"))
+                                        object.listening = message.listening;
+                                    return object;
+                                };
+
+                                /**
+                                 * Converts this Network to JSON.
+                                 * @function toJSON
+                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network
+                                 * @instance
+                                 * @returns {Object.} JSON object
+                                 */
+                                Network.prototype.toJSON = function toJSON() {
+                                    return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+                                };
+
+                                return Network;
+                            })();
+
+                            GetStatusResponseV0.StateSync = (function() {
+
+                                /**
+                                 * Properties of a StateSync.
+                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0
+                                 * @interface IStateSync
+                                 * @property {number|Long|null} [totalSyncedTime] StateSync totalSyncedTime
+                                 * @property {number|Long|null} [remainingTime] StateSync remainingTime
+                                 * @property {number|null} [totalSnapshots] StateSync totalSnapshots
+                                 * @property {number|Long|null} [chunkProcessAvgTime] StateSync chunkProcessAvgTime
+                                 * @property {number|Long|null} [snapshotHeight] StateSync snapshotHeight
+                                 * @property {number|Long|null} [snapshotChunksCount] StateSync snapshotChunksCount
+                                 * @property {number|Long|null} [backfilledBlocks] StateSync backfilledBlocks
+                                 * @property {number|Long|null} [backfillBlocksTotal] StateSync backfillBlocksTotal
+                                 */
+
+                                /**
+                                 * Constructs a new StateSync.
+                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0
+                                 * @classdesc Represents a StateSync.
+                                 * @implements IStateSync
+                                 * @constructor
+                                 * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.IStateSync=} [properties] Properties to set
+                                 */
+                                function StateSync(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]];
+                                }
+
+                                /**
+                                 * StateSync totalSyncedTime.
+                                 * @member {number|Long} totalSyncedTime
+                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync
+                                 * @instance
+                                 */
+                                StateSync.prototype.totalSyncedTime = $util.Long ? $util.Long.fromBits(0,0,true) : 0;
+
+                                /**
+                                 * StateSync remainingTime.
+                                 * @member {number|Long} remainingTime
+                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync
+                                 * @instance
+                                 */
+                                StateSync.prototype.remainingTime = $util.Long ? $util.Long.fromBits(0,0,true) : 0;
+
+                                /**
+                                 * StateSync totalSnapshots.
+                                 * @member {number} totalSnapshots
+                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync
+                                 * @instance
+                                 */
+                                StateSync.prototype.totalSnapshots = 0;
+
+                                /**
+                                 * StateSync chunkProcessAvgTime.
+                                 * @member {number|Long} chunkProcessAvgTime
+                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync
+                                 * @instance
+                                 */
+                                StateSync.prototype.chunkProcessAvgTime = $util.Long ? $util.Long.fromBits(0,0,true) : 0;
+
+                                /**
+                                 * StateSync snapshotHeight.
+                                 * @member {number|Long} snapshotHeight
+                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync
+                                 * @instance
+                                 */
+                                StateSync.prototype.snapshotHeight = $util.Long ? $util.Long.fromBits(0,0,true) : 0;
+
+                                /**
+                                 * StateSync snapshotChunksCount.
+                                 * @member {number|Long} snapshotChunksCount
+                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync
+                                 * @instance
+                                 */
+                                StateSync.prototype.snapshotChunksCount = $util.Long ? $util.Long.fromBits(0,0,true) : 0;
+
+                                /**
+                                 * StateSync backfilledBlocks.
+                                 * @member {number|Long} backfilledBlocks
+                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync
+                                 * @instance
+                                 */
+                                StateSync.prototype.backfilledBlocks = $util.Long ? $util.Long.fromBits(0,0,true) : 0;
+
+                                /**
+                                 * StateSync backfillBlocksTotal.
+                                 * @member {number|Long} backfillBlocksTotal
+                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync
+                                 * @instance
+                                 */
+                                StateSync.prototype.backfillBlocksTotal = $util.Long ? $util.Long.fromBits(0,0,true) : 0;
+
+                                /**
+                                 * Creates a new StateSync instance using the specified properties.
+                                 * @function create
+                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync
+                                 * @static
+                                 * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.IStateSync=} [properties] Properties to set
+                                 * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync} StateSync instance
+                                 */
+                                StateSync.create = function create(properties) {
+                                    return new StateSync(properties);
+                                };
+
+                                /**
+                                 * Encodes the specified StateSync message. Does not implicitly {@link org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.verify|verify} messages.
+                                 * @function encode
+                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync
+                                 * @static
+                                 * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.IStateSync} message StateSync message or plain object to encode
+                                 * @param {$protobuf.Writer} [writer] Writer to encode to
+                                 * @returns {$protobuf.Writer} Writer
+                                 */
+                                StateSync.encode = function encode(message, writer) {
+                                    if (!writer)
+                                        writer = $Writer.create();
+                                    if (message.totalSyncedTime != null && Object.hasOwnProperty.call(message, "totalSyncedTime"))
+                                        writer.uint32(/* id 1, wireType 0 =*/8).uint64(message.totalSyncedTime);
+                                    if (message.remainingTime != null && Object.hasOwnProperty.call(message, "remainingTime"))
+                                        writer.uint32(/* id 2, wireType 0 =*/16).uint64(message.remainingTime);
+                                    if (message.totalSnapshots != null && Object.hasOwnProperty.call(message, "totalSnapshots"))
+                                        writer.uint32(/* id 3, wireType 0 =*/24).uint32(message.totalSnapshots);
+                                    if (message.chunkProcessAvgTime != null && Object.hasOwnProperty.call(message, "chunkProcessAvgTime"))
+                                        writer.uint32(/* id 4, wireType 0 =*/32).uint64(message.chunkProcessAvgTime);
+                                    if (message.snapshotHeight != null && Object.hasOwnProperty.call(message, "snapshotHeight"))
+                                        writer.uint32(/* id 5, wireType 0 =*/40).uint64(message.snapshotHeight);
+                                    if (message.snapshotChunksCount != null && Object.hasOwnProperty.call(message, "snapshotChunksCount"))
+                                        writer.uint32(/* id 6, wireType 0 =*/48).uint64(message.snapshotChunksCount);
+                                    if (message.backfilledBlocks != null && Object.hasOwnProperty.call(message, "backfilledBlocks"))
+                                        writer.uint32(/* id 7, wireType 0 =*/56).uint64(message.backfilledBlocks);
+                                    if (message.backfillBlocksTotal != null && Object.hasOwnProperty.call(message, "backfillBlocksTotal"))
+                                        writer.uint32(/* id 8, wireType 0 =*/64).uint64(message.backfillBlocksTotal);
+                                    return writer;
+                                };
+
+                                /**
+                                 * Encodes the specified StateSync message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.verify|verify} messages.
+                                 * @function encodeDelimited
+                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync
+                                 * @static
+                                 * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.IStateSync} message StateSync message or plain object to encode
+                                 * @param {$protobuf.Writer} [writer] Writer to encode to
+                                 * @returns {$protobuf.Writer} Writer
+                                 */
+                                StateSync.encodeDelimited = function encodeDelimited(message, writer) {
+                                    return this.encode(message, writer).ldelim();
+                                };
+
+                                /**
+                                 * Decodes a StateSync message from the specified reader or buffer.
+                                 * @function decode
+                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync
+                                 * @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.GetStatusResponse.GetStatusResponseV0.StateSync} StateSync
+                                 * @throws {Error} If the payload is not a reader or valid buffer
+                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
+                                 */
+                                StateSync.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.GetStatusResponse.GetStatusResponseV0.StateSync();
+                                    while (reader.pos < end) {
+                                        var tag = reader.uint32();
+                                        switch (tag >>> 3) {
+                                        case 1:
+                                            message.totalSyncedTime = reader.uint64();
+                                            break;
+                                        case 2:
+                                            message.remainingTime = reader.uint64();
+                                            break;
+                                        case 3:
+                                            message.totalSnapshots = reader.uint32();
+                                            break;
+                                        case 4:
+                                            message.chunkProcessAvgTime = reader.uint64();
+                                            break;
+                                        case 5:
+                                            message.snapshotHeight = reader.uint64();
+                                            break;
+                                        case 6:
+                                            message.snapshotChunksCount = reader.uint64();
+                                            break;
+                                        case 7:
+                                            message.backfilledBlocks = reader.uint64();
+                                            break;
+                                        case 8:
+                                            message.backfillBlocksTotal = reader.uint64();
+                                            break;
+                                        default:
+                                            reader.skipType(tag & 7);
+                                            break;
+                                        }
+                                    }
+                                    return message;
+                                };
+
+                                /**
+                                 * Decodes a StateSync message from the specified reader or buffer, length delimited.
+                                 * @function decodeDelimited
+                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync
+                                 * @static
+                                 * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+                                 * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync} StateSync
+                                 * @throws {Error} If the payload is not a reader or valid buffer
+                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
+                                 */
+                                StateSync.decodeDelimited = function decodeDelimited(reader) {
+                                    if (!(reader instanceof $Reader))
+                                        reader = new $Reader(reader);
+                                    return this.decode(reader, reader.uint32());
+                                };
+
+                                /**
+                                 * Verifies a StateSync message.
+                                 * @function verify
+                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync
+                                 * @static
+                                 * @param {Object.} message Plain object to verify
+                                 * @returns {string|null} `null` if valid, otherwise the reason why it is not
+                                 */
+                                StateSync.verify = function verify(message) {
+                                    if (typeof message !== "object" || message === null)
+                                        return "object expected";
+                                    if (message.totalSyncedTime != null && message.hasOwnProperty("totalSyncedTime"))
+                                        if (!$util.isInteger(message.totalSyncedTime) && !(message.totalSyncedTime && $util.isInteger(message.totalSyncedTime.low) && $util.isInteger(message.totalSyncedTime.high)))
+                                            return "totalSyncedTime: integer|Long expected";
+                                    if (message.remainingTime != null && message.hasOwnProperty("remainingTime"))
+                                        if (!$util.isInteger(message.remainingTime) && !(message.remainingTime && $util.isInteger(message.remainingTime.low) && $util.isInteger(message.remainingTime.high)))
+                                            return "remainingTime: integer|Long expected";
+                                    if (message.totalSnapshots != null && message.hasOwnProperty("totalSnapshots"))
+                                        if (!$util.isInteger(message.totalSnapshots))
+                                            return "totalSnapshots: integer expected";
+                                    if (message.chunkProcessAvgTime != null && message.hasOwnProperty("chunkProcessAvgTime"))
+                                        if (!$util.isInteger(message.chunkProcessAvgTime) && !(message.chunkProcessAvgTime && $util.isInteger(message.chunkProcessAvgTime.low) && $util.isInteger(message.chunkProcessAvgTime.high)))
+                                            return "chunkProcessAvgTime: integer|Long expected";
+                                    if (message.snapshotHeight != null && message.hasOwnProperty("snapshotHeight"))
+                                        if (!$util.isInteger(message.snapshotHeight) && !(message.snapshotHeight && $util.isInteger(message.snapshotHeight.low) && $util.isInteger(message.snapshotHeight.high)))
+                                            return "snapshotHeight: integer|Long expected";
+                                    if (message.snapshotChunksCount != null && message.hasOwnProperty("snapshotChunksCount"))
+                                        if (!$util.isInteger(message.snapshotChunksCount) && !(message.snapshotChunksCount && $util.isInteger(message.snapshotChunksCount.low) && $util.isInteger(message.snapshotChunksCount.high)))
+                                            return "snapshotChunksCount: integer|Long expected";
+                                    if (message.backfilledBlocks != null && message.hasOwnProperty("backfilledBlocks"))
+                                        if (!$util.isInteger(message.backfilledBlocks) && !(message.backfilledBlocks && $util.isInteger(message.backfilledBlocks.low) && $util.isInteger(message.backfilledBlocks.high)))
+                                            return "backfilledBlocks: integer|Long expected";
+                                    if (message.backfillBlocksTotal != null && message.hasOwnProperty("backfillBlocksTotal"))
+                                        if (!$util.isInteger(message.backfillBlocksTotal) && !(message.backfillBlocksTotal && $util.isInteger(message.backfillBlocksTotal.low) && $util.isInteger(message.backfillBlocksTotal.high)))
+                                            return "backfillBlocksTotal: integer|Long expected";
+                                    return null;
+                                };
+
+                                /**
+                                 * Creates a StateSync message from a plain object. Also converts values to their respective internal types.
+                                 * @function fromObject
+                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync
+                                 * @static
+                                 * @param {Object.} object Plain object
+                                 * @returns {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync} StateSync
+                                 */
+                                StateSync.fromObject = function fromObject(object) {
+                                    if (object instanceof $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync)
+                                        return object;
+                                    var message = new $root.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync();
+                                    if (object.totalSyncedTime != null)
+                                        if ($util.Long)
+                                            (message.totalSyncedTime = $util.Long.fromValue(object.totalSyncedTime)).unsigned = true;
+                                        else if (typeof object.totalSyncedTime === "string")
+                                            message.totalSyncedTime = parseInt(object.totalSyncedTime, 10);
+                                        else if (typeof object.totalSyncedTime === "number")
+                                            message.totalSyncedTime = object.totalSyncedTime;
+                                        else if (typeof object.totalSyncedTime === "object")
+                                            message.totalSyncedTime = new $util.LongBits(object.totalSyncedTime.low >>> 0, object.totalSyncedTime.high >>> 0).toNumber(true);
+                                    if (object.remainingTime != null)
+                                        if ($util.Long)
+                                            (message.remainingTime = $util.Long.fromValue(object.remainingTime)).unsigned = true;
+                                        else if (typeof object.remainingTime === "string")
+                                            message.remainingTime = parseInt(object.remainingTime, 10);
+                                        else if (typeof object.remainingTime === "number")
+                                            message.remainingTime = object.remainingTime;
+                                        else if (typeof object.remainingTime === "object")
+                                            message.remainingTime = new $util.LongBits(object.remainingTime.low >>> 0, object.remainingTime.high >>> 0).toNumber(true);
+                                    if (object.totalSnapshots != null)
+                                        message.totalSnapshots = object.totalSnapshots >>> 0;
+                                    if (object.chunkProcessAvgTime != null)
+                                        if ($util.Long)
+                                            (message.chunkProcessAvgTime = $util.Long.fromValue(object.chunkProcessAvgTime)).unsigned = true;
+                                        else if (typeof object.chunkProcessAvgTime === "string")
+                                            message.chunkProcessAvgTime = parseInt(object.chunkProcessAvgTime, 10);
+                                        else if (typeof object.chunkProcessAvgTime === "number")
+                                            message.chunkProcessAvgTime = object.chunkProcessAvgTime;
+                                        else if (typeof object.chunkProcessAvgTime === "object")
+                                            message.chunkProcessAvgTime = new $util.LongBits(object.chunkProcessAvgTime.low >>> 0, object.chunkProcessAvgTime.high >>> 0).toNumber(true);
+                                    if (object.snapshotHeight != null)
+                                        if ($util.Long)
+                                            (message.snapshotHeight = $util.Long.fromValue(object.snapshotHeight)).unsigned = true;
+                                        else if (typeof object.snapshotHeight === "string")
+                                            message.snapshotHeight = parseInt(object.snapshotHeight, 10);
+                                        else if (typeof object.snapshotHeight === "number")
+                                            message.snapshotHeight = object.snapshotHeight;
+                                        else if (typeof object.snapshotHeight === "object")
+                                            message.snapshotHeight = new $util.LongBits(object.snapshotHeight.low >>> 0, object.snapshotHeight.high >>> 0).toNumber(true);
+                                    if (object.snapshotChunksCount != null)
+                                        if ($util.Long)
+                                            (message.snapshotChunksCount = $util.Long.fromValue(object.snapshotChunksCount)).unsigned = true;
+                                        else if (typeof object.snapshotChunksCount === "string")
+                                            message.snapshotChunksCount = parseInt(object.snapshotChunksCount, 10);
+                                        else if (typeof object.snapshotChunksCount === "number")
+                                            message.snapshotChunksCount = object.snapshotChunksCount;
+                                        else if (typeof object.snapshotChunksCount === "object")
+                                            message.snapshotChunksCount = new $util.LongBits(object.snapshotChunksCount.low >>> 0, object.snapshotChunksCount.high >>> 0).toNumber(true);
+                                    if (object.backfilledBlocks != null)
+                                        if ($util.Long)
+                                            (message.backfilledBlocks = $util.Long.fromValue(object.backfilledBlocks)).unsigned = true;
+                                        else if (typeof object.backfilledBlocks === "string")
+                                            message.backfilledBlocks = parseInt(object.backfilledBlocks, 10);
+                                        else if (typeof object.backfilledBlocks === "number")
+                                            message.backfilledBlocks = object.backfilledBlocks;
+                                        else if (typeof object.backfilledBlocks === "object")
+                                            message.backfilledBlocks = new $util.LongBits(object.backfilledBlocks.low >>> 0, object.backfilledBlocks.high >>> 0).toNumber(true);
+                                    if (object.backfillBlocksTotal != null)
+                                        if ($util.Long)
+                                            (message.backfillBlocksTotal = $util.Long.fromValue(object.backfillBlocksTotal)).unsigned = true;
+                                        else if (typeof object.backfillBlocksTotal === "string")
+                                            message.backfillBlocksTotal = parseInt(object.backfillBlocksTotal, 10);
+                                        else if (typeof object.backfillBlocksTotal === "number")
+                                            message.backfillBlocksTotal = object.backfillBlocksTotal;
+                                        else if (typeof object.backfillBlocksTotal === "object")
+                                            message.backfillBlocksTotal = new $util.LongBits(object.backfillBlocksTotal.low >>> 0, object.backfillBlocksTotal.high >>> 0).toNumber(true);
+                                    return message;
+                                };
+
+                                /**
+                                 * Creates a plain object from a StateSync message. Also converts values to other types if specified.
+                                 * @function toObject
+                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync
+                                 * @static
+                                 * @param {org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync} message StateSync
+                                 * @param {$protobuf.IConversionOptions} [options] Conversion options
+                                 * @returns {Object.} Plain object
+                                 */
+                                StateSync.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.totalSyncedTime = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;
+                                        } else
+                                            object.totalSyncedTime = options.longs === String ? "0" : 0;
+                                        if ($util.Long) {
+                                            var long = new $util.Long(0, 0, true);
+                                            object.remainingTime = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;
+                                        } else
+                                            object.remainingTime = options.longs === String ? "0" : 0;
+                                        object.totalSnapshots = 0;
+                                        if ($util.Long) {
+                                            var long = new $util.Long(0, 0, true);
+                                            object.chunkProcessAvgTime = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;
+                                        } else
+                                            object.chunkProcessAvgTime = options.longs === String ? "0" : 0;
+                                        if ($util.Long) {
+                                            var long = new $util.Long(0, 0, true);
+                                            object.snapshotHeight = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;
+                                        } else
+                                            object.snapshotHeight = options.longs === String ? "0" : 0;
+                                        if ($util.Long) {
+                                            var long = new $util.Long(0, 0, true);
+                                            object.snapshotChunksCount = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;
+                                        } else
+                                            object.snapshotChunksCount = options.longs === String ? "0" : 0;
+                                        if ($util.Long) {
+                                            var long = new $util.Long(0, 0, true);
+                                            object.backfilledBlocks = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;
+                                        } else
+                                            object.backfilledBlocks = options.longs === String ? "0" : 0;
+                                        if ($util.Long) {
+                                            var long = new $util.Long(0, 0, true);
+                                            object.backfillBlocksTotal = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;
+                                        } else
+                                            object.backfillBlocksTotal = options.longs === String ? "0" : 0;
+                                    }
+                                    if (message.totalSyncedTime != null && message.hasOwnProperty("totalSyncedTime"))
+                                        if (typeof message.totalSyncedTime === "number")
+                                            object.totalSyncedTime = options.longs === String ? String(message.totalSyncedTime) : message.totalSyncedTime;
+                                        else
+                                            object.totalSyncedTime = options.longs === String ? $util.Long.prototype.toString.call(message.totalSyncedTime) : options.longs === Number ? new $util.LongBits(message.totalSyncedTime.low >>> 0, message.totalSyncedTime.high >>> 0).toNumber(true) : message.totalSyncedTime;
+                                    if (message.remainingTime != null && message.hasOwnProperty("remainingTime"))
+                                        if (typeof message.remainingTime === "number")
+                                            object.remainingTime = options.longs === String ? String(message.remainingTime) : message.remainingTime;
+                                        else
+                                            object.remainingTime = options.longs === String ? $util.Long.prototype.toString.call(message.remainingTime) : options.longs === Number ? new $util.LongBits(message.remainingTime.low >>> 0, message.remainingTime.high >>> 0).toNumber(true) : message.remainingTime;
+                                    if (message.totalSnapshots != null && message.hasOwnProperty("totalSnapshots"))
+                                        object.totalSnapshots = message.totalSnapshots;
+                                    if (message.chunkProcessAvgTime != null && message.hasOwnProperty("chunkProcessAvgTime"))
+                                        if (typeof message.chunkProcessAvgTime === "number")
+                                            object.chunkProcessAvgTime = options.longs === String ? String(message.chunkProcessAvgTime) : message.chunkProcessAvgTime;
+                                        else
+                                            object.chunkProcessAvgTime = options.longs === String ? $util.Long.prototype.toString.call(message.chunkProcessAvgTime) : options.longs === Number ? new $util.LongBits(message.chunkProcessAvgTime.low >>> 0, message.chunkProcessAvgTime.high >>> 0).toNumber(true) : message.chunkProcessAvgTime;
+                                    if (message.snapshotHeight != null && message.hasOwnProperty("snapshotHeight"))
+                                        if (typeof message.snapshotHeight === "number")
+                                            object.snapshotHeight = options.longs === String ? String(message.snapshotHeight) : message.snapshotHeight;
+                                        else
+                                            object.snapshotHeight = options.longs === String ? $util.Long.prototype.toString.call(message.snapshotHeight) : options.longs === Number ? new $util.LongBits(message.snapshotHeight.low >>> 0, message.snapshotHeight.high >>> 0).toNumber(true) : message.snapshotHeight;
+                                    if (message.snapshotChunksCount != null && message.hasOwnProperty("snapshotChunksCount"))
+                                        if (typeof message.snapshotChunksCount === "number")
+                                            object.snapshotChunksCount = options.longs === String ? String(message.snapshotChunksCount) : message.snapshotChunksCount;
+                                        else
+                                            object.snapshotChunksCount = options.longs === String ? $util.Long.prototype.toString.call(message.snapshotChunksCount) : options.longs === Number ? new $util.LongBits(message.snapshotChunksCount.low >>> 0, message.snapshotChunksCount.high >>> 0).toNumber(true) : message.snapshotChunksCount;
+                                    if (message.backfilledBlocks != null && message.hasOwnProperty("backfilledBlocks"))
+                                        if (typeof message.backfilledBlocks === "number")
+                                            object.backfilledBlocks = options.longs === String ? String(message.backfilledBlocks) : message.backfilledBlocks;
+                                        else
+                                            object.backfilledBlocks = options.longs === String ? $util.Long.prototype.toString.call(message.backfilledBlocks) : options.longs === Number ? new $util.LongBits(message.backfilledBlocks.low >>> 0, message.backfilledBlocks.high >>> 0).toNumber(true) : message.backfilledBlocks;
+                                    if (message.backfillBlocksTotal != null && message.hasOwnProperty("backfillBlocksTotal"))
+                                        if (typeof message.backfillBlocksTotal === "number")
+                                            object.backfillBlocksTotal = options.longs === String ? String(message.backfillBlocksTotal) : message.backfillBlocksTotal;
+                                        else
+                                            object.backfillBlocksTotal = options.longs === String ? $util.Long.prototype.toString.call(message.backfillBlocksTotal) : options.longs === Number ? new $util.LongBits(message.backfillBlocksTotal.low >>> 0, message.backfillBlocksTotal.high >>> 0).toNumber(true) : message.backfillBlocksTotal;
+                                    return object;
+                                };
+
+                                /**
+                                 * Converts this StateSync to JSON.
+                                 * @function toJSON
+                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync
+                                 * @instance
+                                 * @returns {Object.} JSON object
+                                 */
+                                StateSync.prototype.toJSON = function toJSON() {
+                                    return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+                                };
+
+                                return StateSync;
+                            })();
+
+                            return GetStatusResponseV0;
+                        })();
+
+                        return GetStatusResponse;
+                    })();
+
+                    v0.GetCurrentQuorumsInfoRequest = (function() {
+
+                        /**
+                         * Properties of a GetCurrentQuorumsInfoRequest.
+                         * @memberof org.dash.platform.dapi.v0
+                         * @interface IGetCurrentQuorumsInfoRequest
+                         * @property {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.IGetCurrentQuorumsInfoRequestV0|null} [v0] GetCurrentQuorumsInfoRequest v0
+                         */
+
+                        /**
+                         * Constructs a new GetCurrentQuorumsInfoRequest.
+                         * @memberof org.dash.platform.dapi.v0
+                         * @classdesc Represents a GetCurrentQuorumsInfoRequest.
+                         * @implements IGetCurrentQuorumsInfoRequest
+                         * @constructor
+                         * @param {org.dash.platform.dapi.v0.IGetCurrentQuorumsInfoRequest=} [properties] Properties to set
+                         */
+                        function GetCurrentQuorumsInfoRequest(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]];
+                        }
+
+                        /**
+                         * GetCurrentQuorumsInfoRequest v0.
+                         * @member {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.IGetCurrentQuorumsInfoRequestV0|null|undefined} v0
+                         * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest
+                         * @instance
+                         */
+                        GetCurrentQuorumsInfoRequest.prototype.v0 = null;
+
+                        // OneOf field names bound to virtual getters and setters
+                        var $oneOfFields;
+
+                        /**
+                         * GetCurrentQuorumsInfoRequest version.
+                         * @member {"v0"|undefined} version
+                         * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest
+                         * @instance
+                         */
+                        Object.defineProperty(GetCurrentQuorumsInfoRequest.prototype, "version", {
+                            get: $util.oneOfGetter($oneOfFields = ["v0"]),
+                            set: $util.oneOfSetter($oneOfFields)
+                        });
+
+                        /**
+                         * Creates a new GetCurrentQuorumsInfoRequest instance using the specified properties.
+                         * @function create
+                         * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest
+                         * @static
+                         * @param {org.dash.platform.dapi.v0.IGetCurrentQuorumsInfoRequest=} [properties] Properties to set
+                         * @returns {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest} GetCurrentQuorumsInfoRequest instance
+                         */
+                        GetCurrentQuorumsInfoRequest.create = function create(properties) {
+                            return new GetCurrentQuorumsInfoRequest(properties);
+                        };
+
+                        /**
+                         * Encodes the specified GetCurrentQuorumsInfoRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.verify|verify} messages.
+                         * @function encode
+                         * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest
+                         * @static
+                         * @param {org.dash.platform.dapi.v0.IGetCurrentQuorumsInfoRequest} message GetCurrentQuorumsInfoRequest message or plain object to encode
+                         * @param {$protobuf.Writer} [writer] Writer to encode to
+                         * @returns {$protobuf.Writer} Writer
+                         */
+                        GetCurrentQuorumsInfoRequest.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.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+                            return writer;
+                        };
+
+                        /**
+                         * Encodes the specified GetCurrentQuorumsInfoRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.verify|verify} messages.
+                         * @function encodeDelimited
+                         * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest
+                         * @static
+                         * @param {org.dash.platform.dapi.v0.IGetCurrentQuorumsInfoRequest} message GetCurrentQuorumsInfoRequest message or plain object to encode
+                         * @param {$protobuf.Writer} [writer] Writer to encode to
+                         * @returns {$protobuf.Writer} Writer
+                         */
+                        GetCurrentQuorumsInfoRequest.encodeDelimited = function encodeDelimited(message, writer) {
+                            return this.encode(message, writer).ldelim();
+                        };
+
+                        /**
+                         * Decodes a GetCurrentQuorumsInfoRequest message from the specified reader or buffer.
+                         * @function decode
+                         * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest
+                         * @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.GetCurrentQuorumsInfoRequest} GetCurrentQuorumsInfoRequest
+                         * @throws {Error} If the payload is not a reader or valid buffer
+                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
+                         */
+                        GetCurrentQuorumsInfoRequest.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.GetCurrentQuorumsInfoRequest();
+                            while (reader.pos < end) {
+                                var tag = reader.uint32();
+                                switch (tag >>> 3) {
+                                case 1:
+                                    message.v0 = $root.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0.decode(reader, reader.uint32());
+                                    break;
+                                default:
+                                    reader.skipType(tag & 7);
+                                    break;
+                                }
+                            }
+                            return message;
+                        };
+
+                        /**
+                         * Decodes a GetCurrentQuorumsInfoRequest message from the specified reader or buffer, length delimited.
+                         * @function decodeDelimited
+                         * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest
+                         * @static
+                         * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+                         * @returns {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest} GetCurrentQuorumsInfoRequest
+                         * @throws {Error} If the payload is not a reader or valid buffer
+                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
+                         */
+                        GetCurrentQuorumsInfoRequest.decodeDelimited = function decodeDelimited(reader) {
+                            if (!(reader instanceof $Reader))
+                                reader = new $Reader(reader);
+                            return this.decode(reader, reader.uint32());
+                        };
+
+                        /**
+                         * Verifies a GetCurrentQuorumsInfoRequest message.
+                         * @function verify
+                         * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest
+                         * @static
+                         * @param {Object.} message Plain object to verify
+                         * @returns {string|null} `null` if valid, otherwise the reason why it is not
+                         */
+                        GetCurrentQuorumsInfoRequest.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.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0.verify(message.v0);
+                                    if (error)
+                                        return "v0." + error;
+                                }
+                            }
+                            return null;
+                        };
+
+                        /**
+                         * Creates a GetCurrentQuorumsInfoRequest message from a plain object. Also converts values to their respective internal types.
+                         * @function fromObject
+                         * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest
+                         * @static
+                         * @param {Object.} object Plain object
+                         * @returns {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest} GetCurrentQuorumsInfoRequest
+                         */
+                        GetCurrentQuorumsInfoRequest.fromObject = function fromObject(object) {
+                            if (object instanceof $root.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest)
+                                return object;
+                            var message = new $root.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest();
+                            if (object.v0 != null) {
+                                if (typeof object.v0 !== "object")
+                                    throw TypeError(".org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.v0: object expected");
+                                message.v0 = $root.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0.fromObject(object.v0);
+                            }
+                            return message;
+                        };
+
+                        /**
+                         * Creates a plain object from a GetCurrentQuorumsInfoRequest message. Also converts values to other types if specified.
+                         * @function toObject
+                         * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest
+                         * @static
+                         * @param {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest} message GetCurrentQuorumsInfoRequest
+                         * @param {$protobuf.IConversionOptions} [options] Conversion options
+                         * @returns {Object.} Plain object
+                         */
+                        GetCurrentQuorumsInfoRequest.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.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0.toObject(message.v0, options);
+                                if (options.oneofs)
+                                    object.version = "v0";
+                            }
+                            return object;
+                        };
+
+                        /**
+                         * Converts this GetCurrentQuorumsInfoRequest to JSON.
+                         * @function toJSON
+                         * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest
+                         * @instance
+                         * @returns {Object.} JSON object
+                         */
+                        GetCurrentQuorumsInfoRequest.prototype.toJSON = function toJSON() {
+                            return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+                        };
+
+                        GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0 = (function() {
+
+                            /**
+                             * Properties of a GetCurrentQuorumsInfoRequestV0.
+                             * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest
+                             * @interface IGetCurrentQuorumsInfoRequestV0
+                             */
+
+                            /**
+                             * Constructs a new GetCurrentQuorumsInfoRequestV0.
+                             * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest
+                             * @classdesc Represents a GetCurrentQuorumsInfoRequestV0.
+                             * @implements IGetCurrentQuorumsInfoRequestV0
+                             * @constructor
+                             * @param {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.IGetCurrentQuorumsInfoRequestV0=} [properties] Properties to set
+                             */
+                            function GetCurrentQuorumsInfoRequestV0(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 new GetCurrentQuorumsInfoRequestV0 instance using the specified properties.
+                             * @function create
+                             * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0
+                             * @static
+                             * @param {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.IGetCurrentQuorumsInfoRequestV0=} [properties] Properties to set
+                             * @returns {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0} GetCurrentQuorumsInfoRequestV0 instance
+                             */
+                            GetCurrentQuorumsInfoRequestV0.create = function create(properties) {
+                                return new GetCurrentQuorumsInfoRequestV0(properties);
+                            };
+
+                            /**
+                             * Encodes the specified GetCurrentQuorumsInfoRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0.verify|verify} messages.
+                             * @function encode
+                             * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0
+                             * @static
+                             * @param {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.IGetCurrentQuorumsInfoRequestV0} message GetCurrentQuorumsInfoRequestV0 message or plain object to encode
+                             * @param {$protobuf.Writer} [writer] Writer to encode to
+                             * @returns {$protobuf.Writer} Writer
+                             */
+                            GetCurrentQuorumsInfoRequestV0.encode = function encode(message, writer) {
+                                if (!writer)
+                                    writer = $Writer.create();
+                                return writer;
+                            };
+
+                            /**
+                             * Encodes the specified GetCurrentQuorumsInfoRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0.verify|verify} messages.
+                             * @function encodeDelimited
+                             * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0
+                             * @static
+                             * @param {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.IGetCurrentQuorumsInfoRequestV0} message GetCurrentQuorumsInfoRequestV0 message or plain object to encode
+                             * @param {$protobuf.Writer} [writer] Writer to encode to
+                             * @returns {$protobuf.Writer} Writer
+                             */
+                            GetCurrentQuorumsInfoRequestV0.encodeDelimited = function encodeDelimited(message, writer) {
+                                return this.encode(message, writer).ldelim();
+                            };
+
+                            /**
+                             * Decodes a GetCurrentQuorumsInfoRequestV0 message from the specified reader or buffer.
+                             * @function decode
+                             * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0
+                             * @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.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0} GetCurrentQuorumsInfoRequestV0
+                             * @throws {Error} If the payload is not a reader or valid buffer
+                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
+                             */
+                            GetCurrentQuorumsInfoRequestV0.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.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0();
+                                while (reader.pos < end) {
+                                    var tag = reader.uint32();
+                                    switch (tag >>> 3) {
+                                    default:
+                                        reader.skipType(tag & 7);
+                                        break;
+                                    }
+                                }
+                                return message;
+                            };
+
+                            /**
+                             * Decodes a GetCurrentQuorumsInfoRequestV0 message from the specified reader or buffer, length delimited.
+                             * @function decodeDelimited
+                             * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0
+                             * @static
+                             * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+                             * @returns {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0} GetCurrentQuorumsInfoRequestV0
+                             * @throws {Error} If the payload is not a reader or valid buffer
+                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
+                             */
+                            GetCurrentQuorumsInfoRequestV0.decodeDelimited = function decodeDelimited(reader) {
+                                if (!(reader instanceof $Reader))
+                                    reader = new $Reader(reader);
+                                return this.decode(reader, reader.uint32());
+                            };
+
+                            /**
+                             * Verifies a GetCurrentQuorumsInfoRequestV0 message.
+                             * @function verify
+                             * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0
+                             * @static
+                             * @param {Object.} message Plain object to verify
+                             * @returns {string|null} `null` if valid, otherwise the reason why it is not
+                             */
+                            GetCurrentQuorumsInfoRequestV0.verify = function verify(message) {
+                                if (typeof message !== "object" || message === null)
+                                    return "object expected";
+                                return null;
+                            };
+
+                            /**
+                             * Creates a GetCurrentQuorumsInfoRequestV0 message from a plain object. Also converts values to their respective internal types.
+                             * @function fromObject
+                             * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0
+                             * @static
+                             * @param {Object.} object Plain object
+                             * @returns {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0} GetCurrentQuorumsInfoRequestV0
+                             */
+                            GetCurrentQuorumsInfoRequestV0.fromObject = function fromObject(object) {
+                                if (object instanceof $root.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0)
+                                    return object;
+                                return new $root.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0();
+                            };
+
+                            /**
+                             * Creates a plain object from a GetCurrentQuorumsInfoRequestV0 message. Also converts values to other types if specified.
+                             * @function toObject
+                             * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0
+                             * @static
+                             * @param {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0} message GetCurrentQuorumsInfoRequestV0
+                             * @param {$protobuf.IConversionOptions} [options] Conversion options
+                             * @returns {Object.} Plain object
+                             */
+                            GetCurrentQuorumsInfoRequestV0.toObject = function toObject() {
+                                return {};
+                            };
+
+                            /**
+                             * Converts this GetCurrentQuorumsInfoRequestV0 to JSON.
+                             * @function toJSON
+                             * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0
+                             * @instance
+                             * @returns {Object.} JSON object
+                             */
+                            GetCurrentQuorumsInfoRequestV0.prototype.toJSON = function toJSON() {
+                                return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+                            };
+
+                            return GetCurrentQuorumsInfoRequestV0;
+                        })();
+
+                        return GetCurrentQuorumsInfoRequest;
+                    })();
+
+                    v0.GetCurrentQuorumsInfoResponse = (function() {
+
+                        /**
+                         * Properties of a GetCurrentQuorumsInfoResponse.
+                         * @memberof org.dash.platform.dapi.v0
+                         * @interface IGetCurrentQuorumsInfoResponse
+                         * @property {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.IGetCurrentQuorumsInfoResponseV0|null} [v0] GetCurrentQuorumsInfoResponse v0
+                         */
+
+                        /**
+                         * Constructs a new GetCurrentQuorumsInfoResponse.
+                         * @memberof org.dash.platform.dapi.v0
+                         * @classdesc Represents a GetCurrentQuorumsInfoResponse.
+                         * @implements IGetCurrentQuorumsInfoResponse
+                         * @constructor
+                         * @param {org.dash.platform.dapi.v0.IGetCurrentQuorumsInfoResponse=} [properties] Properties to set
+                         */
+                        function GetCurrentQuorumsInfoResponse(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]];
+                        }
+
+                        /**
+                         * GetCurrentQuorumsInfoResponse v0.
+                         * @member {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.IGetCurrentQuorumsInfoResponseV0|null|undefined} v0
+                         * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse
+                         * @instance
+                         */
+                        GetCurrentQuorumsInfoResponse.prototype.v0 = null;
+
+                        // OneOf field names bound to virtual getters and setters
+                        var $oneOfFields;
+
+                        /**
+                         * GetCurrentQuorumsInfoResponse version.
+                         * @member {"v0"|undefined} version
+                         * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse
+                         * @instance
+                         */
+                        Object.defineProperty(GetCurrentQuorumsInfoResponse.prototype, "version", {
+                            get: $util.oneOfGetter($oneOfFields = ["v0"]),
+                            set: $util.oneOfSetter($oneOfFields)
+                        });
+
+                        /**
+                         * Creates a new GetCurrentQuorumsInfoResponse instance using the specified properties.
+                         * @function create
+                         * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse
+                         * @static
+                         * @param {org.dash.platform.dapi.v0.IGetCurrentQuorumsInfoResponse=} [properties] Properties to set
+                         * @returns {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse} GetCurrentQuorumsInfoResponse instance
+                         */
+                        GetCurrentQuorumsInfoResponse.create = function create(properties) {
+                            return new GetCurrentQuorumsInfoResponse(properties);
+                        };
+
+                        /**
+                         * Encodes the specified GetCurrentQuorumsInfoResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.verify|verify} messages.
+                         * @function encode
+                         * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse
+                         * @static
+                         * @param {org.dash.platform.dapi.v0.IGetCurrentQuorumsInfoResponse} message GetCurrentQuorumsInfoResponse message or plain object to encode
+                         * @param {$protobuf.Writer} [writer] Writer to encode to
+                         * @returns {$protobuf.Writer} Writer
+                         */
+                        GetCurrentQuorumsInfoResponse.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.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+                            return writer;
+                        };
+
+                        /**
+                         * Encodes the specified GetCurrentQuorumsInfoResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.verify|verify} messages.
+                         * @function encodeDelimited
+                         * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse
+                         * @static
+                         * @param {org.dash.platform.dapi.v0.IGetCurrentQuorumsInfoResponse} message GetCurrentQuorumsInfoResponse message or plain object to encode
+                         * @param {$protobuf.Writer} [writer] Writer to encode to
+                         * @returns {$protobuf.Writer} Writer
+                         */
+                        GetCurrentQuorumsInfoResponse.encodeDelimited = function encodeDelimited(message, writer) {
+                            return this.encode(message, writer).ldelim();
+                        };
+
+                        /**
+                         * Decodes a GetCurrentQuorumsInfoResponse message from the specified reader or buffer.
+                         * @function decode
+                         * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse
+                         * @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.GetCurrentQuorumsInfoResponse} GetCurrentQuorumsInfoResponse
+                         * @throws {Error} If the payload is not a reader or valid buffer
+                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
+                         */
+                        GetCurrentQuorumsInfoResponse.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.GetCurrentQuorumsInfoResponse();
+                            while (reader.pos < end) {
+                                var tag = reader.uint32();
+                                switch (tag >>> 3) {
+                                case 1:
+                                    message.v0 = $root.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.decode(reader, reader.uint32());
+                                    break;
+                                default:
+                                    reader.skipType(tag & 7);
+                                    break;
+                                }
+                            }
+                            return message;
+                        };
+
+                        /**
+                         * Decodes a GetCurrentQuorumsInfoResponse message from the specified reader or buffer, length delimited.
+                         * @function decodeDelimited
+                         * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse
+                         * @static
+                         * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+                         * @returns {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse} GetCurrentQuorumsInfoResponse
+                         * @throws {Error} If the payload is not a reader or valid buffer
+                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
+                         */
+                        GetCurrentQuorumsInfoResponse.decodeDelimited = function decodeDelimited(reader) {
+                            if (!(reader instanceof $Reader))
+                                reader = new $Reader(reader);
+                            return this.decode(reader, reader.uint32());
+                        };
+
+                        /**
+                         * Verifies a GetCurrentQuorumsInfoResponse message.
+                         * @function verify
+                         * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse
+                         * @static
+                         * @param {Object.} message Plain object to verify
+                         * @returns {string|null} `null` if valid, otherwise the reason why it is not
+                         */
+                        GetCurrentQuorumsInfoResponse.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.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.verify(message.v0);
+                                    if (error)
+                                        return "v0." + error;
+                                }
+                            }
+                            return null;
+                        };
+
+                        /**
+                         * Creates a GetCurrentQuorumsInfoResponse message from a plain object. Also converts values to their respective internal types.
+                         * @function fromObject
+                         * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse
+                         * @static
+                         * @param {Object.} object Plain object
+                         * @returns {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse} GetCurrentQuorumsInfoResponse
+                         */
+                        GetCurrentQuorumsInfoResponse.fromObject = function fromObject(object) {
+                            if (object instanceof $root.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse)
+                                return object;
+                            var message = new $root.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse();
+                            if (object.v0 != null) {
+                                if (typeof object.v0 !== "object")
+                                    throw TypeError(".org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.v0: object expected");
+                                message.v0 = $root.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.fromObject(object.v0);
+                            }
+                            return message;
+                        };
+
+                        /**
+                         * Creates a plain object from a GetCurrentQuorumsInfoResponse message. Also converts values to other types if specified.
+                         * @function toObject
+                         * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse
+                         * @static
+                         * @param {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse} message GetCurrentQuorumsInfoResponse
+                         * @param {$protobuf.IConversionOptions} [options] Conversion options
+                         * @returns {Object.} Plain object
+                         */
+                        GetCurrentQuorumsInfoResponse.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.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.toObject(message.v0, options);
+                                if (options.oneofs)
+                                    object.version = "v0";
+                            }
+                            return object;
+                        };
+
+                        /**
+                         * Converts this GetCurrentQuorumsInfoResponse to JSON.
+                         * @function toJSON
+                         * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse
+                         * @instance
+                         * @returns {Object.} JSON object
+                         */
+                        GetCurrentQuorumsInfoResponse.prototype.toJSON = function toJSON() {
+                            return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+                        };
+
+                        GetCurrentQuorumsInfoResponse.ValidatorV0 = (function() {
+
+                            /**
+                             * Properties of a ValidatorV0.
+                             * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse
+                             * @interface IValidatorV0
+                             * @property {Uint8Array|null} [proTxHash] ValidatorV0 proTxHash
+                             * @property {string|null} [nodeIp] ValidatorV0 nodeIp
+                             * @property {boolean|null} [isBanned] ValidatorV0 isBanned
+                             */
+
+                            /**
+                             * Constructs a new ValidatorV0.
+                             * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse
+                             * @classdesc Represents a ValidatorV0.
+                             * @implements IValidatorV0
+                             * @constructor
+                             * @param {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.IValidatorV0=} [properties] Properties to set
+                             */
+                            function ValidatorV0(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]];
+                            }
+
+                            /**
+                             * ValidatorV0 proTxHash.
+                             * @member {Uint8Array} proTxHash
+                             * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0
+                             * @instance
+                             */
+                            ValidatorV0.prototype.proTxHash = $util.newBuffer([]);
+
+                            /**
+                             * ValidatorV0 nodeIp.
+                             * @member {string} nodeIp
+                             * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0
+                             * @instance
+                             */
+                            ValidatorV0.prototype.nodeIp = "";
+
+                            /**
+                             * ValidatorV0 isBanned.
+                             * @member {boolean} isBanned
+                             * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0
+                             * @instance
+                             */
+                            ValidatorV0.prototype.isBanned = false;
+
+                            /**
+                             * Creates a new ValidatorV0 instance using the specified properties.
+                             * @function create
+                             * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0
+                             * @static
+                             * @param {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.IValidatorV0=} [properties] Properties to set
+                             * @returns {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0} ValidatorV0 instance
+                             */
+                            ValidatorV0.create = function create(properties) {
+                                return new ValidatorV0(properties);
+                            };
+
+                            /**
+                             * Encodes the specified ValidatorV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.verify|verify} messages.
+                             * @function encode
+                             * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0
+                             * @static
+                             * @param {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.IValidatorV0} message ValidatorV0 message or plain object to encode
+                             * @param {$protobuf.Writer} [writer] Writer to encode to
+                             * @returns {$protobuf.Writer} Writer
+                             */
+                            ValidatorV0.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.nodeIp != null && Object.hasOwnProperty.call(message, "nodeIp"))
+                                    writer.uint32(/* id 2, wireType 2 =*/18).string(message.nodeIp);
+                                if (message.isBanned != null && Object.hasOwnProperty.call(message, "isBanned"))
+                                    writer.uint32(/* id 3, wireType 0 =*/24).bool(message.isBanned);
+                                return writer;
+                            };
+
+                            /**
+                             * Encodes the specified ValidatorV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.verify|verify} messages.
+                             * @function encodeDelimited
+                             * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0
+                             * @static
+                             * @param {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.IValidatorV0} message ValidatorV0 message or plain object to encode
+                             * @param {$protobuf.Writer} [writer] Writer to encode to
+                             * @returns {$protobuf.Writer} Writer
+                             */
+                            ValidatorV0.encodeDelimited = function encodeDelimited(message, writer) {
+                                return this.encode(message, writer).ldelim();
+                            };
+
+                            /**
+                             * Decodes a ValidatorV0 message from the specified reader or buffer.
+                             * @function decode
+                             * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0
+                             * @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.GetCurrentQuorumsInfoResponse.ValidatorV0} ValidatorV0
+                             * @throws {Error} If the payload is not a reader or valid buffer
+                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
+                             */
+                            ValidatorV0.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.GetCurrentQuorumsInfoResponse.ValidatorV0();
+                                while (reader.pos < end) {
+                                    var tag = reader.uint32();
+                                    switch (tag >>> 3) {
+                                    case 1:
+                                        message.proTxHash = reader.bytes();
+                                        break;
+                                    case 2:
+                                        message.nodeIp = reader.string();
+                                        break;
+                                    case 3:
+                                        message.isBanned = reader.bool();
+                                        break;
+                                    default:
+                                        reader.skipType(tag & 7);
+                                        break;
+                                    }
+                                }
+                                return message;
+                            };
+
+                            /**
+                             * Decodes a ValidatorV0 message from the specified reader or buffer, length delimited.
+                             * @function decodeDelimited
+                             * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0
+                             * @static
+                             * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+                             * @returns {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0} ValidatorV0
+                             * @throws {Error} If the payload is not a reader or valid buffer
+                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
+                             */
+                            ValidatorV0.decodeDelimited = function decodeDelimited(reader) {
+                                if (!(reader instanceof $Reader))
+                                    reader = new $Reader(reader);
+                                return this.decode(reader, reader.uint32());
+                            };
+
+                            /**
+                             * Verifies a ValidatorV0 message.
+                             * @function verify
+                             * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0
+                             * @static
+                             * @param {Object.} message Plain object to verify
+                             * @returns {string|null} `null` if valid, otherwise the reason why it is not
+                             */
+                            ValidatorV0.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.nodeIp != null && message.hasOwnProperty("nodeIp"))
+                                    if (!$util.isString(message.nodeIp))
+                                        return "nodeIp: string expected";
+                                if (message.isBanned != null && message.hasOwnProperty("isBanned"))
+                                    if (typeof message.isBanned !== "boolean")
+                                        return "isBanned: boolean expected";
+                                return null;
+                            };
+
+                            /**
+                             * Creates a ValidatorV0 message from a plain object. Also converts values to their respective internal types.
+                             * @function fromObject
+                             * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0
+                             * @static
+                             * @param {Object.} object Plain object
+                             * @returns {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0} ValidatorV0
+                             */
+                            ValidatorV0.fromObject = function fromObject(object) {
+                                if (object instanceof $root.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0)
+                                    return object;
+                                var message = new $root.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0();
+                                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.nodeIp != null)
+                                    message.nodeIp = String(object.nodeIp);
+                                if (object.isBanned != null)
+                                    message.isBanned = Boolean(object.isBanned);
+                                return message;
+                            };
+
+                            /**
+                             * Creates a plain object from a ValidatorV0 message. Also converts values to other types if specified.
+                             * @function toObject
+                             * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0
+                             * @static
+                             * @param {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0} message ValidatorV0
+                             * @param {$protobuf.IConversionOptions} [options] Conversion options
+                             * @returns {Object.} Plain object
+                             */
+                            ValidatorV0.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.nodeIp = "";
+                                    object.isBanned = false;
+                                }
+                                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.nodeIp != null && message.hasOwnProperty("nodeIp"))
+                                    object.nodeIp = message.nodeIp;
+                                if (message.isBanned != null && message.hasOwnProperty("isBanned"))
+                                    object.isBanned = message.isBanned;
+                                return object;
+                            };
+
+                            /**
+                             * Converts this ValidatorV0 to JSON.
+                             * @function toJSON
+                             * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0
+                             * @instance
+                             * @returns {Object.} JSON object
+                             */
+                            ValidatorV0.prototype.toJSON = function toJSON() {
+                                return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+                            };
+
+                            return ValidatorV0;
+                        })();
+
+                        GetCurrentQuorumsInfoResponse.ValidatorSetV0 = (function() {
+
+                            /**
+                             * Properties of a ValidatorSetV0.
+                             * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse
+                             * @interface IValidatorSetV0
+                             * @property {Uint8Array|null} [quorumHash] ValidatorSetV0 quorumHash
+                             * @property {number|null} [coreHeight] ValidatorSetV0 coreHeight
+                             * @property {Array.|null} [members] ValidatorSetV0 members
+                             * @property {Uint8Array|null} [thresholdPublicKey] ValidatorSetV0 thresholdPublicKey
+                             */
+
+                            /**
+                             * Constructs a new ValidatorSetV0.
+                             * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse
+                             * @classdesc Represents a ValidatorSetV0.
+                             * @implements IValidatorSetV0
+                             * @constructor
+                             * @param {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.IValidatorSetV0=} [properties] Properties to set
+                             */
+                            function ValidatorSetV0(properties) {
+                                this.members = [];
+                                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]];
+                            }
+
+                            /**
+                             * ValidatorSetV0 quorumHash.
+                             * @member {Uint8Array} quorumHash
+                             * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0
+                             * @instance
+                             */
+                            ValidatorSetV0.prototype.quorumHash = $util.newBuffer([]);
+
+                            /**
+                             * ValidatorSetV0 coreHeight.
+                             * @member {number} coreHeight
+                             * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0
+                             * @instance
+                             */
+                            ValidatorSetV0.prototype.coreHeight = 0;
+
+                            /**
+                             * ValidatorSetV0 members.
+                             * @member {Array.} members
+                             * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0
+                             * @instance
+                             */
+                            ValidatorSetV0.prototype.members = $util.emptyArray;
+
+                            /**
+                             * ValidatorSetV0 thresholdPublicKey.
+                             * @member {Uint8Array} thresholdPublicKey
+                             * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0
+                             * @instance
+                             */
+                            ValidatorSetV0.prototype.thresholdPublicKey = $util.newBuffer([]);
+
+                            /**
+                             * Creates a new ValidatorSetV0 instance using the specified properties.
+                             * @function create
+                             * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0
+                             * @static
+                             * @param {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.IValidatorSetV0=} [properties] Properties to set
+                             * @returns {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0} ValidatorSetV0 instance
+                             */
+                            ValidatorSetV0.create = function create(properties) {
+                                return new ValidatorSetV0(properties);
+                            };
+
+                            /**
+                             * Encodes the specified ValidatorSetV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.verify|verify} messages.
+                             * @function encode
+                             * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0
+                             * @static
+                             * @param {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.IValidatorSetV0} message ValidatorSetV0 message or plain object to encode
+                             * @param {$protobuf.Writer} [writer] Writer to encode to
+                             * @returns {$protobuf.Writer} Writer
+                             */
+                            ValidatorSetV0.encode = function encode(message, writer) {
+                                if (!writer)
+                                    writer = $Writer.create();
+                                if (message.quorumHash != null && Object.hasOwnProperty.call(message, "quorumHash"))
+                                    writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.quorumHash);
+                                if (message.coreHeight != null && Object.hasOwnProperty.call(message, "coreHeight"))
+                                    writer.uint32(/* id 2, wireType 0 =*/16).uint32(message.coreHeight);
+                                if (message.members != null && message.members.length)
+                                    for (var i = 0; i < message.members.length; ++i)
+                                        $root.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.encode(message.members[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+                                if (message.thresholdPublicKey != null && Object.hasOwnProperty.call(message, "thresholdPublicKey"))
+                                    writer.uint32(/* id 4, wireType 2 =*/34).bytes(message.thresholdPublicKey);
+                                return writer;
+                            };
+
+                            /**
+                             * Encodes the specified ValidatorSetV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.verify|verify} messages.
+                             * @function encodeDelimited
+                             * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0
+                             * @static
+                             * @param {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.IValidatorSetV0} message ValidatorSetV0 message or plain object to encode
+                             * @param {$protobuf.Writer} [writer] Writer to encode to
+                             * @returns {$protobuf.Writer} Writer
+                             */
+                            ValidatorSetV0.encodeDelimited = function encodeDelimited(message, writer) {
+                                return this.encode(message, writer).ldelim();
+                            };
+
+                            /**
+                             * Decodes a ValidatorSetV0 message from the specified reader or buffer.
+                             * @function decode
+                             * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0
+                             * @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.GetCurrentQuorumsInfoResponse.ValidatorSetV0} ValidatorSetV0
+                             * @throws {Error} If the payload is not a reader or valid buffer
+                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
+                             */
+                            ValidatorSetV0.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.GetCurrentQuorumsInfoResponse.ValidatorSetV0();
+                                while (reader.pos < end) {
+                                    var tag = reader.uint32();
+                                    switch (tag >>> 3) {
+                                    case 1:
+                                        message.quorumHash = reader.bytes();
+                                        break;
+                                    case 2:
+                                        message.coreHeight = reader.uint32();
+                                        break;
+                                    case 3:
+                                        if (!(message.members && message.members.length))
+                                            message.members = [];
+                                        message.members.push($root.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.decode(reader, reader.uint32()));
+                                        break;
+                                    case 4:
+                                        message.thresholdPublicKey = reader.bytes();
+                                        break;
+                                    default:
+                                        reader.skipType(tag & 7);
+                                        break;
+                                    }
+                                }
+                                return message;
+                            };
+
+                            /**
+                             * Decodes a ValidatorSetV0 message from the specified reader or buffer, length delimited.
+                             * @function decodeDelimited
+                             * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0
+                             * @static
+                             * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+                             * @returns {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0} ValidatorSetV0
+                             * @throws {Error} If the payload is not a reader or valid buffer
+                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
+                             */
+                            ValidatorSetV0.decodeDelimited = function decodeDelimited(reader) {
+                                if (!(reader instanceof $Reader))
+                                    reader = new $Reader(reader);
+                                return this.decode(reader, reader.uint32());
+                            };
+
+                            /**
+                             * Verifies a ValidatorSetV0 message.
+                             * @function verify
+                             * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0
+                             * @static
+                             * @param {Object.} message Plain object to verify
+                             * @returns {string|null} `null` if valid, otherwise the reason why it is not
+                             */
+                            ValidatorSetV0.verify = function verify(message) {
+                                if (typeof message !== "object" || message === null)
+                                    return "object expected";
+                                if (message.quorumHash != null && message.hasOwnProperty("quorumHash"))
+                                    if (!(message.quorumHash && typeof message.quorumHash.length === "number" || $util.isString(message.quorumHash)))
+                                        return "quorumHash: buffer expected";
+                                if (message.coreHeight != null && message.hasOwnProperty("coreHeight"))
+                                    if (!$util.isInteger(message.coreHeight))
+                                        return "coreHeight: integer expected";
+                                if (message.members != null && message.hasOwnProperty("members")) {
+                                    if (!Array.isArray(message.members))
+                                        return "members: array expected";
+                                    for (var i = 0; i < message.members.length; ++i) {
+                                        var error = $root.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.verify(message.members[i]);
+                                        if (error)
+                                            return "members." + error;
+                                    }
+                                }
+                                if (message.thresholdPublicKey != null && message.hasOwnProperty("thresholdPublicKey"))
+                                    if (!(message.thresholdPublicKey && typeof message.thresholdPublicKey.length === "number" || $util.isString(message.thresholdPublicKey)))
+                                        return "thresholdPublicKey: buffer expected";
+                                return null;
+                            };
+
+                            /**
+                             * Creates a ValidatorSetV0 message from a plain object. Also converts values to their respective internal types.
+                             * @function fromObject
+                             * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0
+                             * @static
+                             * @param {Object.} object Plain object
+                             * @returns {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0} ValidatorSetV0
+                             */
+                            ValidatorSetV0.fromObject = function fromObject(object) {
+                                if (object instanceof $root.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0)
+                                    return object;
+                                var message = new $root.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0();
+                                if (object.quorumHash != null)
+                                    if (typeof object.quorumHash === "string")
+                                        $util.base64.decode(object.quorumHash, message.quorumHash = $util.newBuffer($util.base64.length(object.quorumHash)), 0);
+                                    else if (object.quorumHash.length >= 0)
+                                        message.quorumHash = object.quorumHash;
+                                if (object.coreHeight != null)
+                                    message.coreHeight = object.coreHeight >>> 0;
+                                if (object.members) {
+                                    if (!Array.isArray(object.members))
+                                        throw TypeError(".org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.members: array expected");
+                                    message.members = [];
+                                    for (var i = 0; i < object.members.length; ++i) {
+                                        if (typeof object.members[i] !== "object")
+                                            throw TypeError(".org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.members: object expected");
+                                        message.members[i] = $root.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.fromObject(object.members[i]);
+                                    }
+                                }
+                                if (object.thresholdPublicKey != null)
+                                    if (typeof object.thresholdPublicKey === "string")
+                                        $util.base64.decode(object.thresholdPublicKey, message.thresholdPublicKey = $util.newBuffer($util.base64.length(object.thresholdPublicKey)), 0);
+                                    else if (object.thresholdPublicKey.length >= 0)
+                                        message.thresholdPublicKey = object.thresholdPublicKey;
+                                return message;
+                            };
+
+                            /**
+                             * Creates a plain object from a ValidatorSetV0 message. Also converts values to other types if specified.
+                             * @function toObject
+                             * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0
+                             * @static
+                             * @param {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0} message ValidatorSetV0
+                             * @param {$protobuf.IConversionOptions} [options] Conversion options
+                             * @returns {Object.} Plain object
+                             */
+                            ValidatorSetV0.toObject = function toObject(message, options) {
+                                if (!options)
+                                    options = {};
+                                var object = {};
+                                if (options.arrays || options.defaults)
+                                    object.members = [];
+                                if (options.defaults) {
+                                    if (options.bytes === String)
+                                        object.quorumHash = "";
+                                    else {
+                                        object.quorumHash = [];
+                                        if (options.bytes !== Array)
+                                            object.quorumHash = $util.newBuffer(object.quorumHash);
+                                    }
+                                    object.coreHeight = 0;
+                                    if (options.bytes === String)
+                                        object.thresholdPublicKey = "";
+                                    else {
+                                        object.thresholdPublicKey = [];
+                                        if (options.bytes !== Array)
+                                            object.thresholdPublicKey = $util.newBuffer(object.thresholdPublicKey);
+                                    }
+                                }
+                                if (message.quorumHash != null && message.hasOwnProperty("quorumHash"))
+                                    object.quorumHash = options.bytes === String ? $util.base64.encode(message.quorumHash, 0, message.quorumHash.length) : options.bytes === Array ? Array.prototype.slice.call(message.quorumHash) : message.quorumHash;
+                                if (message.coreHeight != null && message.hasOwnProperty("coreHeight"))
+                                    object.coreHeight = message.coreHeight;
+                                if (message.members && message.members.length) {
+                                    object.members = [];
+                                    for (var j = 0; j < message.members.length; ++j)
+                                        object.members[j] = $root.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.toObject(message.members[j], options);
+                                }
+                                if (message.thresholdPublicKey != null && message.hasOwnProperty("thresholdPublicKey"))
+                                    object.thresholdPublicKey = options.bytes === String ? $util.base64.encode(message.thresholdPublicKey, 0, message.thresholdPublicKey.length) : options.bytes === Array ? Array.prototype.slice.call(message.thresholdPublicKey) : message.thresholdPublicKey;
+                                return object;
+                            };
+
+                            /**
+                             * Converts this ValidatorSetV0 to JSON.
+                             * @function toJSON
+                             * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0
+                             * @instance
+                             * @returns {Object.} JSON object
+                             */
+                            ValidatorSetV0.prototype.toJSON = function toJSON() {
+                                return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+                            };
+
+                            return ValidatorSetV0;
+                        })();
+
+                        GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0 = (function() {
+
+                            /**
+                             * Properties of a GetCurrentQuorumsInfoResponseV0.
+                             * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse
+                             * @interface IGetCurrentQuorumsInfoResponseV0
+                             * @property {Array.|null} [quorumHashes] GetCurrentQuorumsInfoResponseV0 quorumHashes
+                             * @property {Uint8Array|null} [currentQuorumHash] GetCurrentQuorumsInfoResponseV0 currentQuorumHash
+                             * @property {Array.|null} [validatorSets] GetCurrentQuorumsInfoResponseV0 validatorSets
+                             * @property {Uint8Array|null} [lastBlockProposer] GetCurrentQuorumsInfoResponseV0 lastBlockProposer
+                             * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetCurrentQuorumsInfoResponseV0 metadata
+                             */
+
+                            /**
+                             * Constructs a new GetCurrentQuorumsInfoResponseV0.
+                             * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse
+                             * @classdesc Represents a GetCurrentQuorumsInfoResponseV0.
+                             * @implements IGetCurrentQuorumsInfoResponseV0
+                             * @constructor
+                             * @param {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.IGetCurrentQuorumsInfoResponseV0=} [properties] Properties to set
+                             */
+                            function GetCurrentQuorumsInfoResponseV0(properties) {
+                                this.quorumHashes = [];
+                                this.validatorSets = [];
+                                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]];
+                            }
+
+                            /**
+                             * GetCurrentQuorumsInfoResponseV0 quorumHashes.
+                             * @member {Array.} quorumHashes
+                             * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0
+                             * @instance
+                             */
+                            GetCurrentQuorumsInfoResponseV0.prototype.quorumHashes = $util.emptyArray;
+
+                            /**
+                             * GetCurrentQuorumsInfoResponseV0 currentQuorumHash.
+                             * @member {Uint8Array} currentQuorumHash
+                             * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0
+                             * @instance
+                             */
+                            GetCurrentQuorumsInfoResponseV0.prototype.currentQuorumHash = $util.newBuffer([]);
+
+                            /**
+                             * GetCurrentQuorumsInfoResponseV0 validatorSets.
+                             * @member {Array.} validatorSets
+                             * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0
+                             * @instance
+                             */
+                            GetCurrentQuorumsInfoResponseV0.prototype.validatorSets = $util.emptyArray;
+
+                            /**
+                             * GetCurrentQuorumsInfoResponseV0 lastBlockProposer.
+                             * @member {Uint8Array} lastBlockProposer
+                             * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0
+                             * @instance
+                             */
+                            GetCurrentQuorumsInfoResponseV0.prototype.lastBlockProposer = $util.newBuffer([]);
+
+                            /**
+                             * GetCurrentQuorumsInfoResponseV0 metadata.
+                             * @member {org.dash.platform.dapi.v0.IResponseMetadata|null|undefined} metadata
+                             * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0
+                             * @instance
+                             */
+                            GetCurrentQuorumsInfoResponseV0.prototype.metadata = null;
+
+                            /**
+                             * Creates a new GetCurrentQuorumsInfoResponseV0 instance using the specified properties.
+                             * @function create
+                             * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0
+                             * @static
+                             * @param {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.IGetCurrentQuorumsInfoResponseV0=} [properties] Properties to set
+                             * @returns {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0} GetCurrentQuorumsInfoResponseV0 instance
+                             */
+                            GetCurrentQuorumsInfoResponseV0.create = function create(properties) {
+                                return new GetCurrentQuorumsInfoResponseV0(properties);
+                            };
+
+                            /**
+                             * Encodes the specified GetCurrentQuorumsInfoResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.verify|verify} messages.
+                             * @function encode
+                             * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0
+                             * @static
+                             * @param {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.IGetCurrentQuorumsInfoResponseV0} message GetCurrentQuorumsInfoResponseV0 message or plain object to encode
+                             * @param {$protobuf.Writer} [writer] Writer to encode to
+                             * @returns {$protobuf.Writer} Writer
+                             */
+                            GetCurrentQuorumsInfoResponseV0.encode = function encode(message, writer) {
+                                if (!writer)
+                                    writer = $Writer.create();
+                                if (message.quorumHashes != null && message.quorumHashes.length)
+                                    for (var i = 0; i < message.quorumHashes.length; ++i)
+                                        writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.quorumHashes[i]);
+                                if (message.currentQuorumHash != null && Object.hasOwnProperty.call(message, "currentQuorumHash"))
+                                    writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.currentQuorumHash);
+                                if (message.validatorSets != null && message.validatorSets.length)
+                                    for (var i = 0; i < message.validatorSets.length; ++i)
+                                        $root.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.encode(message.validatorSets[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+                                if (message.lastBlockProposer != null && Object.hasOwnProperty.call(message, "lastBlockProposer"))
+                                    writer.uint32(/* id 4, wireType 2 =*/34).bytes(message.lastBlockProposer);
+                                if (message.metadata != null && Object.hasOwnProperty.call(message, "metadata"))
+                                    $root.org.dash.platform.dapi.v0.ResponseMetadata.encode(message.metadata, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim();
+                                return writer;
+                            };
+
+                            /**
+                             * Encodes the specified GetCurrentQuorumsInfoResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.verify|verify} messages.
+                             * @function encodeDelimited
+                             * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0
+                             * @static
+                             * @param {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.IGetCurrentQuorumsInfoResponseV0} message GetCurrentQuorumsInfoResponseV0 message or plain object to encode
+                             * @param {$protobuf.Writer} [writer] Writer to encode to
+                             * @returns {$protobuf.Writer} Writer
+                             */
+                            GetCurrentQuorumsInfoResponseV0.encodeDelimited = function encodeDelimited(message, writer) {
+                                return this.encode(message, writer).ldelim();
+                            };
+
+                            /**
+                             * Decodes a GetCurrentQuorumsInfoResponseV0 message from the specified reader or buffer.
+                             * @function decode
+                             * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0
+                             * @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.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0} GetCurrentQuorumsInfoResponseV0
+                             * @throws {Error} If the payload is not a reader or valid buffer
+                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
+                             */
+                            GetCurrentQuorumsInfoResponseV0.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.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0();
+                                while (reader.pos < end) {
+                                    var tag = reader.uint32();
+                                    switch (tag >>> 3) {
+                                    case 1:
+                                        if (!(message.quorumHashes && message.quorumHashes.length))
+                                            message.quorumHashes = [];
+                                        message.quorumHashes.push(reader.bytes());
+                                        break;
+                                    case 2:
+                                        message.currentQuorumHash = reader.bytes();
+                                        break;
+                                    case 3:
+                                        if (!(message.validatorSets && message.validatorSets.length))
+                                            message.validatorSets = [];
+                                        message.validatorSets.push($root.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.decode(reader, reader.uint32()));
+                                        break;
+                                    case 4:
+                                        message.lastBlockProposer = reader.bytes();
+                                        break;
+                                    case 5:
+                                        message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.decode(reader, reader.uint32());
+                                        break;
+                                    default:
+                                        reader.skipType(tag & 7);
+                                        break;
+                                    }
+                                }
+                                return message;
+                            };
+
+                            /**
+                             * Decodes a GetCurrentQuorumsInfoResponseV0 message from the specified reader or buffer, length delimited.
+                             * @function decodeDelimited
+                             * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0
+                             * @static
+                             * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+                             * @returns {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0} GetCurrentQuorumsInfoResponseV0
+                             * @throws {Error} If the payload is not a reader or valid buffer
+                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
+                             */
+                            GetCurrentQuorumsInfoResponseV0.decodeDelimited = function decodeDelimited(reader) {
+                                if (!(reader instanceof $Reader))
+                                    reader = new $Reader(reader);
+                                return this.decode(reader, reader.uint32());
+                            };
+
+                            /**
+                             * Verifies a GetCurrentQuorumsInfoResponseV0 message.
+                             * @function verify
+                             * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0
+                             * @static
+                             * @param {Object.} message Plain object to verify
+                             * @returns {string|null} `null` if valid, otherwise the reason why it is not
+                             */
+                            GetCurrentQuorumsInfoResponseV0.verify = function verify(message) {
+                                if (typeof message !== "object" || message === null)
+                                    return "object expected";
+                                if (message.quorumHashes != null && message.hasOwnProperty("quorumHashes")) {
+                                    if (!Array.isArray(message.quorumHashes))
+                                        return "quorumHashes: array expected";
+                                    for (var i = 0; i < message.quorumHashes.length; ++i)
+                                        if (!(message.quorumHashes[i] && typeof message.quorumHashes[i].length === "number" || $util.isString(message.quorumHashes[i])))
+                                            return "quorumHashes: buffer[] expected";
+                                }
+                                if (message.currentQuorumHash != null && message.hasOwnProperty("currentQuorumHash"))
+                                    if (!(message.currentQuorumHash && typeof message.currentQuorumHash.length === "number" || $util.isString(message.currentQuorumHash)))
+                                        return "currentQuorumHash: buffer expected";
+                                if (message.validatorSets != null && message.hasOwnProperty("validatorSets")) {
+                                    if (!Array.isArray(message.validatorSets))
+                                        return "validatorSets: array expected";
+                                    for (var i = 0; i < message.validatorSets.length; ++i) {
+                                        var error = $root.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.verify(message.validatorSets[i]);
+                                        if (error)
+                                            return "validatorSets." + error;
+                                    }
+                                }
+                                if (message.lastBlockProposer != null && message.hasOwnProperty("lastBlockProposer"))
+                                    if (!(message.lastBlockProposer && typeof message.lastBlockProposer.length === "number" || $util.isString(message.lastBlockProposer)))
+                                        return "lastBlockProposer: buffer expected";
+                                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 GetCurrentQuorumsInfoResponseV0 message from a plain object. Also converts values to their respective internal types.
+                             * @function fromObject
+                             * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0
+                             * @static
+                             * @param {Object.} object Plain object
+                             * @returns {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0} GetCurrentQuorumsInfoResponseV0
+                             */
+                            GetCurrentQuorumsInfoResponseV0.fromObject = function fromObject(object) {
+                                if (object instanceof $root.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0)
+                                    return object;
+                                var message = new $root.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0();
+                                if (object.quorumHashes) {
+                                    if (!Array.isArray(object.quorumHashes))
+                                        throw TypeError(".org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.quorumHashes: array expected");
+                                    message.quorumHashes = [];
+                                    for (var i = 0; i < object.quorumHashes.length; ++i)
+                                        if (typeof object.quorumHashes[i] === "string")
+                                            $util.base64.decode(object.quorumHashes[i], message.quorumHashes[i] = $util.newBuffer($util.base64.length(object.quorumHashes[i])), 0);
+                                        else if (object.quorumHashes[i].length >= 0)
+                                            message.quorumHashes[i] = object.quorumHashes[i];
+                                }
+                                if (object.currentQuorumHash != null)
+                                    if (typeof object.currentQuorumHash === "string")
+                                        $util.base64.decode(object.currentQuorumHash, message.currentQuorumHash = $util.newBuffer($util.base64.length(object.currentQuorumHash)), 0);
+                                    else if (object.currentQuorumHash.length >= 0)
+                                        message.currentQuorumHash = object.currentQuorumHash;
+                                if (object.validatorSets) {
+                                    if (!Array.isArray(object.validatorSets))
+                                        throw TypeError(".org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.validatorSets: array expected");
+                                    message.validatorSets = [];
+                                    for (var i = 0; i < object.validatorSets.length; ++i) {
+                                        if (typeof object.validatorSets[i] !== "object")
+                                            throw TypeError(".org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.validatorSets: object expected");
+                                        message.validatorSets[i] = $root.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.fromObject(object.validatorSets[i]);
+                                    }
+                                }
+                                if (object.lastBlockProposer != null)
+                                    if (typeof object.lastBlockProposer === "string")
+                                        $util.base64.decode(object.lastBlockProposer, message.lastBlockProposer = $util.newBuffer($util.base64.length(object.lastBlockProposer)), 0);
+                                    else if (object.lastBlockProposer.length >= 0)
+                                        message.lastBlockProposer = object.lastBlockProposer;
+                                if (object.metadata != null) {
+                                    if (typeof object.metadata !== "object")
+                                        throw TypeError(".org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.metadata: object expected");
+                                    message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.fromObject(object.metadata);
+                                }
+                                return message;
+                            };
+
+                            /**
+                             * Creates a plain object from a GetCurrentQuorumsInfoResponseV0 message. Also converts values to other types if specified.
+                             * @function toObject
+                             * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0
+                             * @static
+                             * @param {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0} message GetCurrentQuorumsInfoResponseV0
+                             * @param {$protobuf.IConversionOptions} [options] Conversion options
+                             * @returns {Object.} Plain object
+                             */
+                            GetCurrentQuorumsInfoResponseV0.toObject = function toObject(message, options) {
+                                if (!options)
+                                    options = {};
+                                var object = {};
+                                if (options.arrays || options.defaults) {
+                                    object.quorumHashes = [];
+                                    object.validatorSets = [];
+                                }
+                                if (options.defaults) {
+                                    if (options.bytes === String)
+                                        object.currentQuorumHash = "";
+                                    else {
+                                        object.currentQuorumHash = [];
+                                        if (options.bytes !== Array)
+                                            object.currentQuorumHash = $util.newBuffer(object.currentQuorumHash);
+                                    }
+                                    if (options.bytes === String)
+                                        object.lastBlockProposer = "";
+                                    else {
+                                        object.lastBlockProposer = [];
+                                        if (options.bytes !== Array)
+                                            object.lastBlockProposer = $util.newBuffer(object.lastBlockProposer);
+                                    }
+                                    object.metadata = null;
+                                }
+                                if (message.quorumHashes && message.quorumHashes.length) {
+                                    object.quorumHashes = [];
+                                    for (var j = 0; j < message.quorumHashes.length; ++j)
+                                        object.quorumHashes[j] = options.bytes === String ? $util.base64.encode(message.quorumHashes[j], 0, message.quorumHashes[j].length) : options.bytes === Array ? Array.prototype.slice.call(message.quorumHashes[j]) : message.quorumHashes[j];
+                                }
+                                if (message.currentQuorumHash != null && message.hasOwnProperty("currentQuorumHash"))
+                                    object.currentQuorumHash = options.bytes === String ? $util.base64.encode(message.currentQuorumHash, 0, message.currentQuorumHash.length) : options.bytes === Array ? Array.prototype.slice.call(message.currentQuorumHash) : message.currentQuorumHash;
+                                if (message.validatorSets && message.validatorSets.length) {
+                                    object.validatorSets = [];
+                                    for (var j = 0; j < message.validatorSets.length; ++j)
+                                        object.validatorSets[j] = $root.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.toObject(message.validatorSets[j], options);
+                                }
+                                if (message.lastBlockProposer != null && message.hasOwnProperty("lastBlockProposer"))
+                                    object.lastBlockProposer = options.bytes === String ? $util.base64.encode(message.lastBlockProposer, 0, message.lastBlockProposer.length) : options.bytes === Array ? Array.prototype.slice.call(message.lastBlockProposer) : message.lastBlockProposer;
+                                if (message.metadata != null && message.hasOwnProperty("metadata"))
+                                    object.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.toObject(message.metadata, options);
+                                return object;
+                            };
+
+                            /**
+                             * Converts this GetCurrentQuorumsInfoResponseV0 to JSON.
+                             * @function toJSON
+                             * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0
+                             * @instance
+                             * @returns {Object.} JSON object
+                             */
+                            GetCurrentQuorumsInfoResponseV0.prototype.toJSON = function toJSON() {
+                                return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+                            };
+
+                            return GetCurrentQuorumsInfoResponseV0;
+                        })();
+
+                        return GetCurrentQuorumsInfoResponse;
+                    })();
+
+                    v0.GetIdentityTokenBalancesRequest = (function() {
+
+                        /**
+                         * Properties of a GetIdentityTokenBalancesRequest.
+                         * @memberof org.dash.platform.dapi.v0
+                         * @interface IGetIdentityTokenBalancesRequest
+                         * @property {org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.IGetIdentityTokenBalancesRequestV0|null} [v0] GetIdentityTokenBalancesRequest v0
+                         */
+
+                        /**
+                         * Constructs a new GetIdentityTokenBalancesRequest.
+                         * @memberof org.dash.platform.dapi.v0
+                         * @classdesc Represents a GetIdentityTokenBalancesRequest.
+                         * @implements IGetIdentityTokenBalancesRequest
+                         * @constructor
+                         * @param {org.dash.platform.dapi.v0.IGetIdentityTokenBalancesRequest=} [properties] Properties to set
+                         */
+                        function GetIdentityTokenBalancesRequest(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]];
+                        }
+
+                        /**
+                         * GetIdentityTokenBalancesRequest v0.
+                         * @member {org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.IGetIdentityTokenBalancesRequestV0|null|undefined} v0
+                         * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest
+                         * @instance
+                         */
+                        GetIdentityTokenBalancesRequest.prototype.v0 = null;
+
+                        // OneOf field names bound to virtual getters and setters
+                        var $oneOfFields;
+
+                        /**
+                         * GetIdentityTokenBalancesRequest version.
+                         * @member {"v0"|undefined} version
+                         * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest
+                         * @instance
+                         */
+                        Object.defineProperty(GetIdentityTokenBalancesRequest.prototype, "version", {
+                            get: $util.oneOfGetter($oneOfFields = ["v0"]),
+                            set: $util.oneOfSetter($oneOfFields)
+                        });
+
+                        /**
+                         * Creates a new GetIdentityTokenBalancesRequest instance using the specified properties.
+                         * @function create
+                         * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest
+                         * @static
+                         * @param {org.dash.platform.dapi.v0.IGetIdentityTokenBalancesRequest=} [properties] Properties to set
+                         * @returns {org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest} GetIdentityTokenBalancesRequest instance
+                         */
+                        GetIdentityTokenBalancesRequest.create = function create(properties) {
+                            return new GetIdentityTokenBalancesRequest(properties);
+                        };
+
+                        /**
+                         * Encodes the specified GetIdentityTokenBalancesRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.verify|verify} messages.
+                         * @function encode
+                         * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest
+                         * @static
+                         * @param {org.dash.platform.dapi.v0.IGetIdentityTokenBalancesRequest} message GetIdentityTokenBalancesRequest message or plain object to encode
+                         * @param {$protobuf.Writer} [writer] Writer to encode to
+                         * @returns {$protobuf.Writer} Writer
+                         */
+                        GetIdentityTokenBalancesRequest.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.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+                            return writer;
+                        };
+
+                        /**
+                         * Encodes the specified GetIdentityTokenBalancesRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.verify|verify} messages.
+                         * @function encodeDelimited
+                         * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest
+                         * @static
+                         * @param {org.dash.platform.dapi.v0.IGetIdentityTokenBalancesRequest} message GetIdentityTokenBalancesRequest message or plain object to encode
+                         * @param {$protobuf.Writer} [writer] Writer to encode to
+                         * @returns {$protobuf.Writer} Writer
+                         */
+                        GetIdentityTokenBalancesRequest.encodeDelimited = function encodeDelimited(message, writer) {
+                            return this.encode(message, writer).ldelim();
+                        };
+
+                        /**
+                         * Decodes a GetIdentityTokenBalancesRequest message from the specified reader or buffer.
+                         * @function decode
+                         * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest
+                         * @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.GetIdentityTokenBalancesRequest} GetIdentityTokenBalancesRequest
+                         * @throws {Error} If the payload is not a reader or valid buffer
+                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
+                         */
+                        GetIdentityTokenBalancesRequest.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.GetIdentityTokenBalancesRequest();
+                            while (reader.pos < end) {
+                                var tag = reader.uint32();
+                                switch (tag >>> 3) {
+                                case 1:
+                                    message.v0 = $root.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.decode(reader, reader.uint32());
+                                    break;
+                                default:
+                                    reader.skipType(tag & 7);
+                                    break;
+                                }
+                            }
+                            return message;
+                        };
+
+                        /**
+                         * Decodes a GetIdentityTokenBalancesRequest message from the specified reader or buffer, length delimited.
+                         * @function decodeDelimited
+                         * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest
+                         * @static
+                         * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+                         * @returns {org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest} GetIdentityTokenBalancesRequest
+                         * @throws {Error} If the payload is not a reader or valid buffer
+                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
+                         */
+                        GetIdentityTokenBalancesRequest.decodeDelimited = function decodeDelimited(reader) {
+                            if (!(reader instanceof $Reader))
+                                reader = new $Reader(reader);
+                            return this.decode(reader, reader.uint32());
+                        };
+
+                        /**
+                         * Verifies a GetIdentityTokenBalancesRequest message.
+                         * @function verify
+                         * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest
+                         * @static
+                         * @param {Object.} message Plain object to verify
+                         * @returns {string|null} `null` if valid, otherwise the reason why it is not
+                         */
+                        GetIdentityTokenBalancesRequest.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.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.verify(message.v0);
+                                    if (error)
+                                        return "v0." + error;
+                                }
+                            }
+                            return null;
+                        };
+
+                        /**
+                         * Creates a GetIdentityTokenBalancesRequest message from a plain object. Also converts values to their respective internal types.
+                         * @function fromObject
+                         * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest
+                         * @static
+                         * @param {Object.} object Plain object
+                         * @returns {org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest} GetIdentityTokenBalancesRequest
+                         */
+                        GetIdentityTokenBalancesRequest.fromObject = function fromObject(object) {
+                            if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest)
+                                return object;
+                            var message = new $root.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest();
+                            if (object.v0 != null) {
+                                if (typeof object.v0 !== "object")
+                                    throw TypeError(".org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.v0: object expected");
+                                message.v0 = $root.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.fromObject(object.v0);
+                            }
+                            return message;
+                        };
+
+                        /**
+                         * Creates a plain object from a GetIdentityTokenBalancesRequest message. Also converts values to other types if specified.
+                         * @function toObject
+                         * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest
+                         * @static
+                         * @param {org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest} message GetIdentityTokenBalancesRequest
+                         * @param {$protobuf.IConversionOptions} [options] Conversion options
+                         * @returns {Object.} Plain object
+                         */
+                        GetIdentityTokenBalancesRequest.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.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.toObject(message.v0, options);
+                                if (options.oneofs)
+                                    object.version = "v0";
+                            }
+                            return object;
+                        };
+
+                        /**
+                         * Converts this GetIdentityTokenBalancesRequest to JSON.
+                         * @function toJSON
+                         * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest
+                         * @instance
+                         * @returns {Object.} JSON object
+                         */
+                        GetIdentityTokenBalancesRequest.prototype.toJSON = function toJSON() {
+                            return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+                        };
+
+                        GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0 = (function() {
+
+                            /**
+                             * Properties of a GetIdentityTokenBalancesRequestV0.
+                             * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest
+                             * @interface IGetIdentityTokenBalancesRequestV0
+                             * @property {Uint8Array|null} [identityId] GetIdentityTokenBalancesRequestV0 identityId
+                             * @property {Array.|null} [tokenIds] GetIdentityTokenBalancesRequestV0 tokenIds
+                             * @property {boolean|null} [prove] GetIdentityTokenBalancesRequestV0 prove
+                             */
+
+                            /**
+                             * Constructs a new GetIdentityTokenBalancesRequestV0.
+                             * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest
+                             * @classdesc Represents a GetIdentityTokenBalancesRequestV0.
+                             * @implements IGetIdentityTokenBalancesRequestV0
+                             * @constructor
+                             * @param {org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.IGetIdentityTokenBalancesRequestV0=} [properties] Properties to set
+                             */
+                            function GetIdentityTokenBalancesRequestV0(properties) {
+                                this.tokenIds = [];
+                                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]];
+                            }
+
+                            /**
+                             * GetIdentityTokenBalancesRequestV0 identityId.
+                             * @member {Uint8Array} identityId
+                             * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0
+                             * @instance
+                             */
+                            GetIdentityTokenBalancesRequestV0.prototype.identityId = $util.newBuffer([]);
+
+                            /**
+                             * GetIdentityTokenBalancesRequestV0 tokenIds.
+                             * @member {Array.} tokenIds
+                             * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0
+                             * @instance
+                             */
+                            GetIdentityTokenBalancesRequestV0.prototype.tokenIds = $util.emptyArray;
+
+                            /**
+                             * GetIdentityTokenBalancesRequestV0 prove.
+                             * @member {boolean} prove
+                             * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0
+                             * @instance
+                             */
+                            GetIdentityTokenBalancesRequestV0.prototype.prove = false;
+
+                            /**
+                             * Creates a new GetIdentityTokenBalancesRequestV0 instance using the specified properties.
+                             * @function create
+                             * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0
+                             * @static
+                             * @param {org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.IGetIdentityTokenBalancesRequestV0=} [properties] Properties to set
+                             * @returns {org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0} GetIdentityTokenBalancesRequestV0 instance
+                             */
+                            GetIdentityTokenBalancesRequestV0.create = function create(properties) {
+                                return new GetIdentityTokenBalancesRequestV0(properties);
+                            };
+
+                            /**
+                             * Encodes the specified GetIdentityTokenBalancesRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.verify|verify} messages.
+                             * @function encode
+                             * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0
+                             * @static
+                             * @param {org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.IGetIdentityTokenBalancesRequestV0} message GetIdentityTokenBalancesRequestV0 message or plain object to encode
+                             * @param {$protobuf.Writer} [writer] Writer to encode to
+                             * @returns {$protobuf.Writer} Writer
+                             */
+                            GetIdentityTokenBalancesRequestV0.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.tokenIds != null && message.tokenIds.length)
+                                    for (var i = 0; i < message.tokenIds.length; ++i)
+                                        writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.tokenIds[i]);
+                                if (message.prove != null && Object.hasOwnProperty.call(message, "prove"))
+                                    writer.uint32(/* id 3, wireType 0 =*/24).bool(message.prove);
+                                return writer;
+                            };
+
+                            /**
+                             * Encodes the specified GetIdentityTokenBalancesRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.verify|verify} messages.
+                             * @function encodeDelimited
+                             * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0
+                             * @static
+                             * @param {org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.IGetIdentityTokenBalancesRequestV0} message GetIdentityTokenBalancesRequestV0 message or plain object to encode
+                             * @param {$protobuf.Writer} [writer] Writer to encode to
+                             * @returns {$protobuf.Writer} Writer
+                             */
+                            GetIdentityTokenBalancesRequestV0.encodeDelimited = function encodeDelimited(message, writer) {
+                                return this.encode(message, writer).ldelim();
+                            };
+
+                            /**
+                             * Decodes a GetIdentityTokenBalancesRequestV0 message from the specified reader or buffer.
+                             * @function decode
+                             * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0
+                             * @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.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0} GetIdentityTokenBalancesRequestV0
+                             * @throws {Error} If the payload is not a reader or valid buffer
+                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
+                             */
+                            GetIdentityTokenBalancesRequestV0.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.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0();
+                                while (reader.pos < end) {
+                                    var tag = reader.uint32();
+                                    switch (tag >>> 3) {
+                                    case 1:
+                                        message.identityId = reader.bytes();
+                                        break;
+                                    case 2:
+                                        if (!(message.tokenIds && message.tokenIds.length))
+                                            message.tokenIds = [];
+                                        message.tokenIds.push(reader.bytes());
+                                        break;
+                                    case 3:
+                                        message.prove = reader.bool();
+                                        break;
+                                    default:
+                                        reader.skipType(tag & 7);
+                                        break;
                                     }
-                                    if (message.totalSyncedTime != null && message.hasOwnProperty("totalSyncedTime"))
-                                        if (typeof message.totalSyncedTime === "number")
-                                            object.totalSyncedTime = options.longs === String ? String(message.totalSyncedTime) : message.totalSyncedTime;
-                                        else
-                                            object.totalSyncedTime = options.longs === String ? $util.Long.prototype.toString.call(message.totalSyncedTime) : options.longs === Number ? new $util.LongBits(message.totalSyncedTime.low >>> 0, message.totalSyncedTime.high >>> 0).toNumber(true) : message.totalSyncedTime;
-                                    if (message.remainingTime != null && message.hasOwnProperty("remainingTime"))
-                                        if (typeof message.remainingTime === "number")
-                                            object.remainingTime = options.longs === String ? String(message.remainingTime) : message.remainingTime;
-                                        else
-                                            object.remainingTime = options.longs === String ? $util.Long.prototype.toString.call(message.remainingTime) : options.longs === Number ? new $util.LongBits(message.remainingTime.low >>> 0, message.remainingTime.high >>> 0).toNumber(true) : message.remainingTime;
-                                    if (message.totalSnapshots != null && message.hasOwnProperty("totalSnapshots"))
-                                        object.totalSnapshots = message.totalSnapshots;
-                                    if (message.chunkProcessAvgTime != null && message.hasOwnProperty("chunkProcessAvgTime"))
-                                        if (typeof message.chunkProcessAvgTime === "number")
-                                            object.chunkProcessAvgTime = options.longs === String ? String(message.chunkProcessAvgTime) : message.chunkProcessAvgTime;
-                                        else
-                                            object.chunkProcessAvgTime = options.longs === String ? $util.Long.prototype.toString.call(message.chunkProcessAvgTime) : options.longs === Number ? new $util.LongBits(message.chunkProcessAvgTime.low >>> 0, message.chunkProcessAvgTime.high >>> 0).toNumber(true) : message.chunkProcessAvgTime;
-                                    if (message.snapshotHeight != null && message.hasOwnProperty("snapshotHeight"))
-                                        if (typeof message.snapshotHeight === "number")
-                                            object.snapshotHeight = options.longs === String ? String(message.snapshotHeight) : message.snapshotHeight;
-                                        else
-                                            object.snapshotHeight = options.longs === String ? $util.Long.prototype.toString.call(message.snapshotHeight) : options.longs === Number ? new $util.LongBits(message.snapshotHeight.low >>> 0, message.snapshotHeight.high >>> 0).toNumber(true) : message.snapshotHeight;
-                                    if (message.snapshotChunksCount != null && message.hasOwnProperty("snapshotChunksCount"))
-                                        if (typeof message.snapshotChunksCount === "number")
-                                            object.snapshotChunksCount = options.longs === String ? String(message.snapshotChunksCount) : message.snapshotChunksCount;
-                                        else
-                                            object.snapshotChunksCount = options.longs === String ? $util.Long.prototype.toString.call(message.snapshotChunksCount) : options.longs === Number ? new $util.LongBits(message.snapshotChunksCount.low >>> 0, message.snapshotChunksCount.high >>> 0).toNumber(true) : message.snapshotChunksCount;
-                                    if (message.backfilledBlocks != null && message.hasOwnProperty("backfilledBlocks"))
-                                        if (typeof message.backfilledBlocks === "number")
-                                            object.backfilledBlocks = options.longs === String ? String(message.backfilledBlocks) : message.backfilledBlocks;
-                                        else
-                                            object.backfilledBlocks = options.longs === String ? $util.Long.prototype.toString.call(message.backfilledBlocks) : options.longs === Number ? new $util.LongBits(message.backfilledBlocks.low >>> 0, message.backfilledBlocks.high >>> 0).toNumber(true) : message.backfilledBlocks;
-                                    if (message.backfillBlocksTotal != null && message.hasOwnProperty("backfillBlocksTotal"))
-                                        if (typeof message.backfillBlocksTotal === "number")
-                                            object.backfillBlocksTotal = options.longs === String ? String(message.backfillBlocksTotal) : message.backfillBlocksTotal;
-                                        else
-                                            object.backfillBlocksTotal = options.longs === String ? $util.Long.prototype.toString.call(message.backfillBlocksTotal) : options.longs === Number ? new $util.LongBits(message.backfillBlocksTotal.low >>> 0, message.backfillBlocksTotal.high >>> 0).toNumber(true) : message.backfillBlocksTotal;
+                                }
+                                return message;
+                            };
+
+                            /**
+                             * Decodes a GetIdentityTokenBalancesRequestV0 message from the specified reader or buffer, length delimited.
+                             * @function decodeDelimited
+                             * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0
+                             * @static
+                             * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+                             * @returns {org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0} GetIdentityTokenBalancesRequestV0
+                             * @throws {Error} If the payload is not a reader or valid buffer
+                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
+                             */
+                            GetIdentityTokenBalancesRequestV0.decodeDelimited = function decodeDelimited(reader) {
+                                if (!(reader instanceof $Reader))
+                                    reader = new $Reader(reader);
+                                return this.decode(reader, reader.uint32());
+                            };
+
+                            /**
+                             * Verifies a GetIdentityTokenBalancesRequestV0 message.
+                             * @function verify
+                             * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0
+                             * @static
+                             * @param {Object.} message Plain object to verify
+                             * @returns {string|null} `null` if valid, otherwise the reason why it is not
+                             */
+                            GetIdentityTokenBalancesRequestV0.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.tokenIds != null && message.hasOwnProperty("tokenIds")) {
+                                    if (!Array.isArray(message.tokenIds))
+                                        return "tokenIds: array expected";
+                                    for (var i = 0; i < message.tokenIds.length; ++i)
+                                        if (!(message.tokenIds[i] && typeof message.tokenIds[i].length === "number" || $util.isString(message.tokenIds[i])))
+                                            return "tokenIds: buffer[] expected";
+                                }
+                                if (message.prove != null && message.hasOwnProperty("prove"))
+                                    if (typeof message.prove !== "boolean")
+                                        return "prove: boolean expected";
+                                return null;
+                            };
+
+                            /**
+                             * Creates a GetIdentityTokenBalancesRequestV0 message from a plain object. Also converts values to their respective internal types.
+                             * @function fromObject
+                             * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0
+                             * @static
+                             * @param {Object.} object Plain object
+                             * @returns {org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0} GetIdentityTokenBalancesRequestV0
+                             */
+                            GetIdentityTokenBalancesRequestV0.fromObject = function fromObject(object) {
+                                if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0)
                                     return object;
-                                };
+                                var message = new $root.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0();
+                                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.tokenIds) {
+                                    if (!Array.isArray(object.tokenIds))
+                                        throw TypeError(".org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.tokenIds: array expected");
+                                    message.tokenIds = [];
+                                    for (var i = 0; i < object.tokenIds.length; ++i)
+                                        if (typeof object.tokenIds[i] === "string")
+                                            $util.base64.decode(object.tokenIds[i], message.tokenIds[i] = $util.newBuffer($util.base64.length(object.tokenIds[i])), 0);
+                                        else if (object.tokenIds[i].length >= 0)
+                                            message.tokenIds[i] = object.tokenIds[i];
+                                }
+                                if (object.prove != null)
+                                    message.prove = Boolean(object.prove);
+                                return message;
+                            };
 
-                                /**
-                                 * Converts this StateSync to JSON.
-                                 * @function toJSON
-                                 * @memberof org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync
-                                 * @instance
-                                 * @returns {Object.} JSON object
-                                 */
-                                StateSync.prototype.toJSON = function toJSON() {
-                                    return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
-                                };
+                            /**
+                             * Creates a plain object from a GetIdentityTokenBalancesRequestV0 message. Also converts values to other types if specified.
+                             * @function toObject
+                             * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0
+                             * @static
+                             * @param {org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0} message GetIdentityTokenBalancesRequestV0
+                             * @param {$protobuf.IConversionOptions} [options] Conversion options
+                             * @returns {Object.} Plain object
+                             */
+                            GetIdentityTokenBalancesRequestV0.toObject = function toObject(message, options) {
+                                if (!options)
+                                    options = {};
+                                var object = {};
+                                if (options.arrays || options.defaults)
+                                    object.tokenIds = [];
+                                if (options.defaults) {
+                                    if (options.bytes === String)
+                                        object.identityId = "";
+                                    else {
+                                        object.identityId = [];
+                                        if (options.bytes !== Array)
+                                            object.identityId = $util.newBuffer(object.identityId);
+                                    }
+                                    object.prove = false;
+                                }
+                                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.tokenIds && message.tokenIds.length) {
+                                    object.tokenIds = [];
+                                    for (var j = 0; j < message.tokenIds.length; ++j)
+                                        object.tokenIds[j] = options.bytes === String ? $util.base64.encode(message.tokenIds[j], 0, message.tokenIds[j].length) : options.bytes === Array ? Array.prototype.slice.call(message.tokenIds[j]) : message.tokenIds[j];
+                                }
+                                if (message.prove != null && message.hasOwnProperty("prove"))
+                                    object.prove = message.prove;
+                                return object;
+                            };
 
-                                return StateSync;
-                            })();
+                            /**
+                             * Converts this GetIdentityTokenBalancesRequestV0 to JSON.
+                             * @function toJSON
+                             * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0
+                             * @instance
+                             * @returns {Object.} JSON object
+                             */
+                            GetIdentityTokenBalancesRequestV0.prototype.toJSON = function toJSON() {
+                                return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+                            };
 
-                            return GetStatusResponseV0;
+                            return GetIdentityTokenBalancesRequestV0;
                         })();
 
-                        return GetStatusResponse;
+                        return GetIdentityTokenBalancesRequest;
                     })();
 
-                    v0.GetCurrentQuorumsInfoRequest = (function() {
+                    v0.GetIdentityTokenBalancesResponse = (function() {
 
                         /**
-                         * Properties of a GetCurrentQuorumsInfoRequest.
+                         * Properties of a GetIdentityTokenBalancesResponse.
                          * @memberof org.dash.platform.dapi.v0
-                         * @interface IGetCurrentQuorumsInfoRequest
-                         * @property {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.IGetCurrentQuorumsInfoRequestV0|null} [v0] GetCurrentQuorumsInfoRequest v0
+                         * @interface IGetIdentityTokenBalancesResponse
+                         * @property {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.IGetIdentityTokenBalancesResponseV0|null} [v0] GetIdentityTokenBalancesResponse v0
                          */
 
                         /**
-                         * Constructs a new GetCurrentQuorumsInfoRequest.
+                         * Constructs a new GetIdentityTokenBalancesResponse.
                          * @memberof org.dash.platform.dapi.v0
-                         * @classdesc Represents a GetCurrentQuorumsInfoRequest.
-                         * @implements IGetCurrentQuorumsInfoRequest
+                         * @classdesc Represents a GetIdentityTokenBalancesResponse.
+                         * @implements IGetIdentityTokenBalancesResponse
                          * @constructor
-                         * @param {org.dash.platform.dapi.v0.IGetCurrentQuorumsInfoRequest=} [properties] Properties to set
+                         * @param {org.dash.platform.dapi.v0.IGetIdentityTokenBalancesResponse=} [properties] Properties to set
                          */
-                        function GetCurrentQuorumsInfoRequest(properties) {
+                        function GetIdentityTokenBalancesResponse(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
                                     if (properties[keys[i]] != null)
@@ -43214,89 +48611,89 @@ $root.org = (function() {
                         }
 
                         /**
-                         * GetCurrentQuorumsInfoRequest v0.
-                         * @member {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.IGetCurrentQuorumsInfoRequestV0|null|undefined} v0
-                         * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest
+                         * GetIdentityTokenBalancesResponse v0.
+                         * @member {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.IGetIdentityTokenBalancesResponseV0|null|undefined} v0
+                         * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse
                          * @instance
                          */
-                        GetCurrentQuorumsInfoRequest.prototype.v0 = null;
+                        GetIdentityTokenBalancesResponse.prototype.v0 = null;
 
                         // OneOf field names bound to virtual getters and setters
                         var $oneOfFields;
 
                         /**
-                         * GetCurrentQuorumsInfoRequest version.
+                         * GetIdentityTokenBalancesResponse version.
                          * @member {"v0"|undefined} version
-                         * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest
+                         * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse
                          * @instance
                          */
-                        Object.defineProperty(GetCurrentQuorumsInfoRequest.prototype, "version", {
+                        Object.defineProperty(GetIdentityTokenBalancesResponse.prototype, "version", {
                             get: $util.oneOfGetter($oneOfFields = ["v0"]),
                             set: $util.oneOfSetter($oneOfFields)
                         });
 
                         /**
-                         * Creates a new GetCurrentQuorumsInfoRequest instance using the specified properties.
+                         * Creates a new GetIdentityTokenBalancesResponse instance using the specified properties.
                          * @function create
-                         * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest
+                         * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse
                          * @static
-                         * @param {org.dash.platform.dapi.v0.IGetCurrentQuorumsInfoRequest=} [properties] Properties to set
-                         * @returns {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest} GetCurrentQuorumsInfoRequest instance
+                         * @param {org.dash.platform.dapi.v0.IGetIdentityTokenBalancesResponse=} [properties] Properties to set
+                         * @returns {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse} GetIdentityTokenBalancesResponse instance
                          */
-                        GetCurrentQuorumsInfoRequest.create = function create(properties) {
-                            return new GetCurrentQuorumsInfoRequest(properties);
+                        GetIdentityTokenBalancesResponse.create = function create(properties) {
+                            return new GetIdentityTokenBalancesResponse(properties);
                         };
 
                         /**
-                         * Encodes the specified GetCurrentQuorumsInfoRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.verify|verify} messages.
+                         * Encodes the specified GetIdentityTokenBalancesResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.verify|verify} messages.
                          * @function encode
-                         * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest
+                         * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse
                          * @static
-                         * @param {org.dash.platform.dapi.v0.IGetCurrentQuorumsInfoRequest} message GetCurrentQuorumsInfoRequest message or plain object to encode
+                         * @param {org.dash.platform.dapi.v0.IGetIdentityTokenBalancesResponse} message GetIdentityTokenBalancesResponse message or plain object to encode
                          * @param {$protobuf.Writer} [writer] Writer to encode to
                          * @returns {$protobuf.Writer} Writer
                          */
-                        GetCurrentQuorumsInfoRequest.encode = function encode(message, writer) {
+                        GetIdentityTokenBalancesResponse.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.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+                                $root.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
                             return writer;
                         };
 
                         /**
-                         * Encodes the specified GetCurrentQuorumsInfoRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.verify|verify} messages.
+                         * Encodes the specified GetIdentityTokenBalancesResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.verify|verify} messages.
                          * @function encodeDelimited
-                         * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest
+                         * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse
                          * @static
-                         * @param {org.dash.platform.dapi.v0.IGetCurrentQuorumsInfoRequest} message GetCurrentQuorumsInfoRequest message or plain object to encode
+                         * @param {org.dash.platform.dapi.v0.IGetIdentityTokenBalancesResponse} message GetIdentityTokenBalancesResponse message or plain object to encode
                          * @param {$protobuf.Writer} [writer] Writer to encode to
                          * @returns {$protobuf.Writer} Writer
                          */
-                        GetCurrentQuorumsInfoRequest.encodeDelimited = function encodeDelimited(message, writer) {
+                        GetIdentityTokenBalancesResponse.encodeDelimited = function encodeDelimited(message, writer) {
                             return this.encode(message, writer).ldelim();
                         };
 
                         /**
-                         * Decodes a GetCurrentQuorumsInfoRequest message from the specified reader or buffer.
+                         * Decodes a GetIdentityTokenBalancesResponse message from the specified reader or buffer.
                          * @function decode
-                         * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest
+                         * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse
                          * @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.GetCurrentQuorumsInfoRequest} GetCurrentQuorumsInfoRequest
+                         * @returns {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse} GetIdentityTokenBalancesResponse
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        GetCurrentQuorumsInfoRequest.decode = function decode(reader, length) {
+                        GetIdentityTokenBalancesResponse.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.GetCurrentQuorumsInfoRequest();
+                            var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
                                 switch (tag >>> 3) {
                                 case 1:
-                                    message.v0 = $root.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0.decode(reader, reader.uint32());
+                                    message.v0 = $root.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.decode(reader, reader.uint32());
                                     break;
                                 default:
                                     reader.skipType(tag & 7);
@@ -43307,37 +48704,37 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Decodes a GetCurrentQuorumsInfoRequest message from the specified reader or buffer, length delimited.
+                         * Decodes a GetIdentityTokenBalancesResponse message from the specified reader or buffer, length delimited.
                          * @function decodeDelimited
-                         * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest
+                         * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse
                          * @static
                          * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                         * @returns {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest} GetCurrentQuorumsInfoRequest
+                         * @returns {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse} GetIdentityTokenBalancesResponse
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        GetCurrentQuorumsInfoRequest.decodeDelimited = function decodeDelimited(reader) {
+                        GetIdentityTokenBalancesResponse.decodeDelimited = function decodeDelimited(reader) {
                             if (!(reader instanceof $Reader))
                                 reader = new $Reader(reader);
                             return this.decode(reader, reader.uint32());
                         };
 
                         /**
-                         * Verifies a GetCurrentQuorumsInfoRequest message.
+                         * Verifies a GetIdentityTokenBalancesResponse message.
                          * @function verify
-                         * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest
+                         * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse
                          * @static
                          * @param {Object.} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        GetCurrentQuorumsInfoRequest.verify = function verify(message) {
+                        GetIdentityTokenBalancesResponse.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.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0.verify(message.v0);
+                                    var error = $root.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.verify(message.v0);
                                     if (error)
                                         return "v0." + error;
                                 }
@@ -43346,40 +48743,40 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Creates a GetCurrentQuorumsInfoRequest message from a plain object. Also converts values to their respective internal types.
+                         * Creates a GetIdentityTokenBalancesResponse message from a plain object. Also converts values to their respective internal types.
                          * @function fromObject
-                         * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest
+                         * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse
                          * @static
                          * @param {Object.} object Plain object
-                         * @returns {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest} GetCurrentQuorumsInfoRequest
+                         * @returns {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse} GetIdentityTokenBalancesResponse
                          */
-                        GetCurrentQuorumsInfoRequest.fromObject = function fromObject(object) {
-                            if (object instanceof $root.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest)
+                        GetIdentityTokenBalancesResponse.fromObject = function fromObject(object) {
+                            if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse)
                                 return object;
-                            var message = new $root.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest();
+                            var message = new $root.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse();
                             if (object.v0 != null) {
                                 if (typeof object.v0 !== "object")
-                                    throw TypeError(".org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.v0: object expected");
-                                message.v0 = $root.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0.fromObject(object.v0);
+                                    throw TypeError(".org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.v0: object expected");
+                                message.v0 = $root.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.fromObject(object.v0);
                             }
                             return message;
                         };
 
                         /**
-                         * Creates a plain object from a GetCurrentQuorumsInfoRequest message. Also converts values to other types if specified.
+                         * Creates a plain object from a GetIdentityTokenBalancesResponse message. Also converts values to other types if specified.
                          * @function toObject
-                         * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest
+                         * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse
                          * @static
-                         * @param {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest} message GetCurrentQuorumsInfoRequest
+                         * @param {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse} message GetIdentityTokenBalancesResponse
                          * @param {$protobuf.IConversionOptions} [options] Conversion options
                          * @returns {Object.} Plain object
                          */
-                        GetCurrentQuorumsInfoRequest.toObject = function toObject(message, options) {
+                        GetIdentityTokenBalancesResponse.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.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0.toObject(message.v0, options);
+                                object.v0 = $root.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.toObject(message.v0, options);
                                 if (options.oneofs)
                                     object.version = "v0";
                             }
@@ -43387,33 +48784,36 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Converts this GetCurrentQuorumsInfoRequest to JSON.
+                         * Converts this GetIdentityTokenBalancesResponse to JSON.
                          * @function toJSON
-                         * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest
+                         * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse
                          * @instance
                          * @returns {Object.} JSON object
                          */
-                        GetCurrentQuorumsInfoRequest.prototype.toJSON = function toJSON() {
+                        GetIdentityTokenBalancesResponse.prototype.toJSON = function toJSON() {
                             return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
                         };
 
-                        GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0 = (function() {
+                        GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0 = (function() {
 
                             /**
-                             * Properties of a GetCurrentQuorumsInfoRequestV0.
-                             * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest
-                             * @interface IGetCurrentQuorumsInfoRequestV0
+                             * Properties of a GetIdentityTokenBalancesResponseV0.
+                             * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse
+                             * @interface IGetIdentityTokenBalancesResponseV0
+                             * @property {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.ITokenBalances|null} [tokenBalances] GetIdentityTokenBalancesResponseV0 tokenBalances
+                             * @property {org.dash.platform.dapi.v0.IProof|null} [proof] GetIdentityTokenBalancesResponseV0 proof
+                             * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetIdentityTokenBalancesResponseV0 metadata
                              */
 
                             /**
-                             * Constructs a new GetCurrentQuorumsInfoRequestV0.
-                             * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest
-                             * @classdesc Represents a GetCurrentQuorumsInfoRequestV0.
-                             * @implements IGetCurrentQuorumsInfoRequestV0
+                             * Constructs a new GetIdentityTokenBalancesResponseV0.
+                             * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse
+                             * @classdesc Represents a GetIdentityTokenBalancesResponseV0.
+                             * @implements IGetIdentityTokenBalancesResponseV0
                              * @constructor
-                             * @param {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.IGetCurrentQuorumsInfoRequestV0=} [properties] Properties to set
+                             * @param {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.IGetIdentityTokenBalancesResponseV0=} [properties] Properties to set
                              */
-                            function GetCurrentQuorumsInfoRequestV0(properties) {
+                            function GetIdentityTokenBalancesResponseV0(properties) {
                                 if (properties)
                                     for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
                                         if (properties[keys[i]] != null)
@@ -43421,63 +48821,116 @@ $root.org = (function() {
                             }
 
                             /**
-                             * Creates a new GetCurrentQuorumsInfoRequestV0 instance using the specified properties.
+                             * GetIdentityTokenBalancesResponseV0 tokenBalances.
+                             * @member {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.ITokenBalances|null|undefined} tokenBalances
+                             * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0
+                             * @instance
+                             */
+                            GetIdentityTokenBalancesResponseV0.prototype.tokenBalances = null;
+
+                            /**
+                             * GetIdentityTokenBalancesResponseV0 proof.
+                             * @member {org.dash.platform.dapi.v0.IProof|null|undefined} proof
+                             * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0
+                             * @instance
+                             */
+                            GetIdentityTokenBalancesResponseV0.prototype.proof = null;
+
+                            /**
+                             * GetIdentityTokenBalancesResponseV0 metadata.
+                             * @member {org.dash.platform.dapi.v0.IResponseMetadata|null|undefined} metadata
+                             * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0
+                             * @instance
+                             */
+                            GetIdentityTokenBalancesResponseV0.prototype.metadata = null;
+
+                            // OneOf field names bound to virtual getters and setters
+                            var $oneOfFields;
+
+                            /**
+                             * GetIdentityTokenBalancesResponseV0 result.
+                             * @member {"tokenBalances"|"proof"|undefined} result
+                             * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0
+                             * @instance
+                             */
+                            Object.defineProperty(GetIdentityTokenBalancesResponseV0.prototype, "result", {
+                                get: $util.oneOfGetter($oneOfFields = ["tokenBalances", "proof"]),
+                                set: $util.oneOfSetter($oneOfFields)
+                            });
+
+                            /**
+                             * Creates a new GetIdentityTokenBalancesResponseV0 instance using the specified properties.
                              * @function create
-                             * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.IGetCurrentQuorumsInfoRequestV0=} [properties] Properties to set
-                             * @returns {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0} GetCurrentQuorumsInfoRequestV0 instance
+                             * @param {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.IGetIdentityTokenBalancesResponseV0=} [properties] Properties to set
+                             * @returns {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0} GetIdentityTokenBalancesResponseV0 instance
                              */
-                            GetCurrentQuorumsInfoRequestV0.create = function create(properties) {
-                                return new GetCurrentQuorumsInfoRequestV0(properties);
+                            GetIdentityTokenBalancesResponseV0.create = function create(properties) {
+                                return new GetIdentityTokenBalancesResponseV0(properties);
                             };
 
                             /**
-                             * Encodes the specified GetCurrentQuorumsInfoRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0.verify|verify} messages.
+                             * Encodes the specified GetIdentityTokenBalancesResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.verify|verify} messages.
                              * @function encode
-                             * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.IGetCurrentQuorumsInfoRequestV0} message GetCurrentQuorumsInfoRequestV0 message or plain object to encode
+                             * @param {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.IGetIdentityTokenBalancesResponseV0} message GetIdentityTokenBalancesResponseV0 message or plain object to encode
                              * @param {$protobuf.Writer} [writer] Writer to encode to
                              * @returns {$protobuf.Writer} Writer
                              */
-                            GetCurrentQuorumsInfoRequestV0.encode = function encode(message, writer) {
+                            GetIdentityTokenBalancesResponseV0.encode = function encode(message, writer) {
                                 if (!writer)
                                     writer = $Writer.create();
+                                if (message.tokenBalances != null && Object.hasOwnProperty.call(message, "tokenBalances"))
+                                    $root.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances.encode(message.tokenBalances, 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 GetCurrentQuorumsInfoRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0.verify|verify} messages.
+                             * Encodes the specified GetIdentityTokenBalancesResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.verify|verify} messages.
                              * @function encodeDelimited
-                             * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.IGetCurrentQuorumsInfoRequestV0} message GetCurrentQuorumsInfoRequestV0 message or plain object to encode
+                             * @param {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.IGetIdentityTokenBalancesResponseV0} message GetIdentityTokenBalancesResponseV0 message or plain object to encode
                              * @param {$protobuf.Writer} [writer] Writer to encode to
                              * @returns {$protobuf.Writer} Writer
                              */
-                            GetCurrentQuorumsInfoRequestV0.encodeDelimited = function encodeDelimited(message, writer) {
+                            GetIdentityTokenBalancesResponseV0.encodeDelimited = function encodeDelimited(message, writer) {
                                 return this.encode(message, writer).ldelim();
                             };
 
                             /**
-                             * Decodes a GetCurrentQuorumsInfoRequestV0 message from the specified reader or buffer.
+                             * Decodes a GetIdentityTokenBalancesResponseV0 message from the specified reader or buffer.
                              * @function decode
-                             * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0
                              * @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.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0} GetCurrentQuorumsInfoRequestV0
+                             * @returns {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0} GetIdentityTokenBalancesResponseV0
                              * @throws {Error} If the payload is not a reader or valid buffer
                              * @throws {$protobuf.util.ProtocolError} If required fields are missing
                              */
-                            GetCurrentQuorumsInfoRequestV0.decode = function decode(reader, length) {
+                            GetIdentityTokenBalancesResponseV0.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.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0();
+                                var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0();
                                 while (reader.pos < end) {
                                     var tag = reader.uint32();
                                     switch (tag >>> 3) {
+                                    case 1:
+                                        message.tokenBalances = $root.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances.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;
@@ -43487,97 +48940,595 @@ $root.org = (function() {
                             };
 
                             /**
-                             * Decodes a GetCurrentQuorumsInfoRequestV0 message from the specified reader or buffer, length delimited.
+                             * Decodes a GetIdentityTokenBalancesResponseV0 message from the specified reader or buffer, length delimited.
                              * @function decodeDelimited
-                             * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0
                              * @static
                              * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                             * @returns {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0} GetCurrentQuorumsInfoRequestV0
+                             * @returns {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0} GetIdentityTokenBalancesResponseV0
                              * @throws {Error} If the payload is not a reader or valid buffer
                              * @throws {$protobuf.util.ProtocolError} If required fields are missing
                              */
-                            GetCurrentQuorumsInfoRequestV0.decodeDelimited = function decodeDelimited(reader) {
+                            GetIdentityTokenBalancesResponseV0.decodeDelimited = function decodeDelimited(reader) {
                                 if (!(reader instanceof $Reader))
                                     reader = new $Reader(reader);
                                 return this.decode(reader, reader.uint32());
                             };
 
                             /**
-                             * Verifies a GetCurrentQuorumsInfoRequestV0 message.
+                             * Verifies a GetIdentityTokenBalancesResponseV0 message.
                              * @function verify
-                             * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0
                              * @static
                              * @param {Object.} message Plain object to verify
                              * @returns {string|null} `null` if valid, otherwise the reason why it is not
                              */
-                            GetCurrentQuorumsInfoRequestV0.verify = function verify(message) {
+                            GetIdentityTokenBalancesResponseV0.verify = function verify(message) {
                                 if (typeof message !== "object" || message === null)
                                     return "object expected";
+                                var properties = {};
+                                if (message.tokenBalances != null && message.hasOwnProperty("tokenBalances")) {
+                                    properties.result = 1;
+                                    {
+                                        var error = $root.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances.verify(message.tokenBalances);
+                                        if (error)
+                                            return "tokenBalances." + 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 GetCurrentQuorumsInfoRequestV0 message from a plain object. Also converts values to their respective internal types.
-                             * @function fromObject
-                             * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0
-                             * @static
-                             * @param {Object.} object Plain object
-                             * @returns {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0} GetCurrentQuorumsInfoRequestV0
-                             */
-                            GetCurrentQuorumsInfoRequestV0.fromObject = function fromObject(object) {
-                                if (object instanceof $root.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0)
+                            /**
+                             * Creates a GetIdentityTokenBalancesResponseV0 message from a plain object. Also converts values to their respective internal types.
+                             * @function fromObject
+                             * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0
+                             * @static
+                             * @param {Object.} object Plain object
+                             * @returns {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0} GetIdentityTokenBalancesResponseV0
+                             */
+                            GetIdentityTokenBalancesResponseV0.fromObject = function fromObject(object) {
+                                if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0)
+                                    return object;
+                                var message = new $root.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0();
+                                if (object.tokenBalances != null) {
+                                    if (typeof object.tokenBalances !== "object")
+                                        throw TypeError(".org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.tokenBalances: object expected");
+                                    message.tokenBalances = $root.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances.fromObject(object.tokenBalances);
+                                }
+                                if (object.proof != null) {
+                                    if (typeof object.proof !== "object")
+                                        throw TypeError(".org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.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.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.metadata: object expected");
+                                    message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.fromObject(object.metadata);
+                                }
+                                return message;
+                            };
+
+                            /**
+                             * Creates a plain object from a GetIdentityTokenBalancesResponseV0 message. Also converts values to other types if specified.
+                             * @function toObject
+                             * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0
+                             * @static
+                             * @param {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0} message GetIdentityTokenBalancesResponseV0
+                             * @param {$protobuf.IConversionOptions} [options] Conversion options
+                             * @returns {Object.} Plain object
+                             */
+                            GetIdentityTokenBalancesResponseV0.toObject = function toObject(message, options) {
+                                if (!options)
+                                    options = {};
+                                var object = {};
+                                if (options.defaults)
+                                    object.metadata = null;
+                                if (message.tokenBalances != null && message.hasOwnProperty("tokenBalances")) {
+                                    object.tokenBalances = $root.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances.toObject(message.tokenBalances, options);
+                                    if (options.oneofs)
+                                        object.result = "tokenBalances";
+                                }
+                                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 GetIdentityTokenBalancesResponseV0 to JSON.
+                             * @function toJSON
+                             * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0
+                             * @instance
+                             * @returns {Object.} JSON object
+                             */
+                            GetIdentityTokenBalancesResponseV0.prototype.toJSON = function toJSON() {
+                                return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+                            };
+
+                            GetIdentityTokenBalancesResponseV0.TokenBalanceEntry = (function() {
+
+                                /**
+                                 * Properties of a TokenBalanceEntry.
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0
+                                 * @interface ITokenBalanceEntry
+                                 * @property {Uint8Array|null} [tokenId] TokenBalanceEntry tokenId
+                                 * @property {number|Long|null} [balance] TokenBalanceEntry balance
+                                 */
+
+                                /**
+                                 * Constructs a new TokenBalanceEntry.
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0
+                                 * @classdesc Represents a TokenBalanceEntry.
+                                 * @implements ITokenBalanceEntry
+                                 * @constructor
+                                 * @param {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.ITokenBalanceEntry=} [properties] Properties to set
+                                 */
+                                function TokenBalanceEntry(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]];
+                                }
+
+                                /**
+                                 * TokenBalanceEntry tokenId.
+                                 * @member {Uint8Array} tokenId
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry
+                                 * @instance
+                                 */
+                                TokenBalanceEntry.prototype.tokenId = $util.newBuffer([]);
+
+                                /**
+                                 * TokenBalanceEntry balance.
+                                 * @member {number|Long} balance
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry
+                                 * @instance
+                                 */
+                                TokenBalanceEntry.prototype.balance = $util.Long ? $util.Long.fromBits(0,0,true) : 0;
+
+                                /**
+                                 * Creates a new TokenBalanceEntry instance using the specified properties.
+                                 * @function create
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry
+                                 * @static
+                                 * @param {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.ITokenBalanceEntry=} [properties] Properties to set
+                                 * @returns {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry} TokenBalanceEntry instance
+                                 */
+                                TokenBalanceEntry.create = function create(properties) {
+                                    return new TokenBalanceEntry(properties);
+                                };
+
+                                /**
+                                 * Encodes the specified TokenBalanceEntry message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry.verify|verify} messages.
+                                 * @function encode
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry
+                                 * @static
+                                 * @param {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.ITokenBalanceEntry} message TokenBalanceEntry message or plain object to encode
+                                 * @param {$protobuf.Writer} [writer] Writer to encode to
+                                 * @returns {$protobuf.Writer} Writer
+                                 */
+                                TokenBalanceEntry.encode = function encode(message, writer) {
+                                    if (!writer)
+                                        writer = $Writer.create();
+                                    if (message.tokenId != null && Object.hasOwnProperty.call(message, "tokenId"))
+                                        writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.tokenId);
+                                    if (message.balance != null && Object.hasOwnProperty.call(message, "balance"))
+                                        writer.uint32(/* id 2, wireType 0 =*/16).uint64(message.balance);
+                                    return writer;
+                                };
+
+                                /**
+                                 * Encodes the specified TokenBalanceEntry message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry.verify|verify} messages.
+                                 * @function encodeDelimited
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry
+                                 * @static
+                                 * @param {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.ITokenBalanceEntry} message TokenBalanceEntry message or plain object to encode
+                                 * @param {$protobuf.Writer} [writer] Writer to encode to
+                                 * @returns {$protobuf.Writer} Writer
+                                 */
+                                TokenBalanceEntry.encodeDelimited = function encodeDelimited(message, writer) {
+                                    return this.encode(message, writer).ldelim();
+                                };
+
+                                /**
+                                 * Decodes a TokenBalanceEntry message from the specified reader or buffer.
+                                 * @function decode
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry
+                                 * @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.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry} TokenBalanceEntry
+                                 * @throws {Error} If the payload is not a reader or valid buffer
+                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
+                                 */
+                                TokenBalanceEntry.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.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry();
+                                    while (reader.pos < end) {
+                                        var tag = reader.uint32();
+                                        switch (tag >>> 3) {
+                                        case 1:
+                                            message.tokenId = reader.bytes();
+                                            break;
+                                        case 2:
+                                            message.balance = reader.uint64();
+                                            break;
+                                        default:
+                                            reader.skipType(tag & 7);
+                                            break;
+                                        }
+                                    }
+                                    return message;
+                                };
+
+                                /**
+                                 * Decodes a TokenBalanceEntry message from the specified reader or buffer, length delimited.
+                                 * @function decodeDelimited
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry
+                                 * @static
+                                 * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+                                 * @returns {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry} TokenBalanceEntry
+                                 * @throws {Error} If the payload is not a reader or valid buffer
+                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
+                                 */
+                                TokenBalanceEntry.decodeDelimited = function decodeDelimited(reader) {
+                                    if (!(reader instanceof $Reader))
+                                        reader = new $Reader(reader);
+                                    return this.decode(reader, reader.uint32());
+                                };
+
+                                /**
+                                 * Verifies a TokenBalanceEntry message.
+                                 * @function verify
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry
+                                 * @static
+                                 * @param {Object.} message Plain object to verify
+                                 * @returns {string|null} `null` if valid, otherwise the reason why it is not
+                                 */
+                                TokenBalanceEntry.verify = function verify(message) {
+                                    if (typeof message !== "object" || message === null)
+                                        return "object expected";
+                                    if (message.tokenId != null && message.hasOwnProperty("tokenId"))
+                                        if (!(message.tokenId && typeof message.tokenId.length === "number" || $util.isString(message.tokenId)))
+                                            return "tokenId: buffer 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";
+                                    return null;
+                                };
+
+                                /**
+                                 * Creates a TokenBalanceEntry message from a plain object. Also converts values to their respective internal types.
+                                 * @function fromObject
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry
+                                 * @static
+                                 * @param {Object.} object Plain object
+                                 * @returns {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry} TokenBalanceEntry
+                                 */
+                                TokenBalanceEntry.fromObject = function fromObject(object) {
+                                    if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry)
+                                        return object;
+                                    var message = new $root.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry();
+                                    if (object.tokenId != null)
+                                        if (typeof object.tokenId === "string")
+                                            $util.base64.decode(object.tokenId, message.tokenId = $util.newBuffer($util.base64.length(object.tokenId)), 0);
+                                        else if (object.tokenId.length >= 0)
+                                            message.tokenId = object.tokenId;
+                                    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);
+                                    return message;
+                                };
+
+                                /**
+                                 * Creates a plain object from a TokenBalanceEntry message. Also converts values to other types if specified.
+                                 * @function toObject
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry
+                                 * @static
+                                 * @param {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry} message TokenBalanceEntry
+                                 * @param {$protobuf.IConversionOptions} [options] Conversion options
+                                 * @returns {Object.} Plain object
+                                 */
+                                TokenBalanceEntry.toObject = function toObject(message, options) {
+                                    if (!options)
+                                        options = {};
+                                    var object = {};
+                                    if (options.defaults) {
+                                        if (options.bytes === String)
+                                            object.tokenId = "";
+                                        else {
+                                            object.tokenId = [];
+                                            if (options.bytes !== Array)
+                                                object.tokenId = $util.newBuffer(object.tokenId);
+                                        }
+                                        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 (message.tokenId != null && message.hasOwnProperty("tokenId"))
+                                        object.tokenId = options.bytes === String ? $util.base64.encode(message.tokenId, 0, message.tokenId.length) : options.bytes === Array ? Array.prototype.slice.call(message.tokenId) : message.tokenId;
+                                    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;
+                                    return object;
+                                };
+
+                                /**
+                                 * Converts this TokenBalanceEntry to JSON.
+                                 * @function toJSON
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry
+                                 * @instance
+                                 * @returns {Object.} JSON object
+                                 */
+                                TokenBalanceEntry.prototype.toJSON = function toJSON() {
+                                    return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+                                };
+
+                                return TokenBalanceEntry;
+                            })();
+
+                            GetIdentityTokenBalancesResponseV0.TokenBalances = (function() {
+
+                                /**
+                                 * Properties of a TokenBalances.
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0
+                                 * @interface ITokenBalances
+                                 * @property {Array.|null} [tokenBalances] TokenBalances tokenBalances
+                                 */
+
+                                /**
+                                 * Constructs a new TokenBalances.
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0
+                                 * @classdesc Represents a TokenBalances.
+                                 * @implements ITokenBalances
+                                 * @constructor
+                                 * @param {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.ITokenBalances=} [properties] Properties to set
+                                 */
+                                function TokenBalances(properties) {
+                                    this.tokenBalances = [];
+                                    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]];
+                                }
+
+                                /**
+                                 * TokenBalances tokenBalances.
+                                 * @member {Array.} tokenBalances
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances
+                                 * @instance
+                                 */
+                                TokenBalances.prototype.tokenBalances = $util.emptyArray;
+
+                                /**
+                                 * Creates a new TokenBalances instance using the specified properties.
+                                 * @function create
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances
+                                 * @static
+                                 * @param {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.ITokenBalances=} [properties] Properties to set
+                                 * @returns {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances} TokenBalances instance
+                                 */
+                                TokenBalances.create = function create(properties) {
+                                    return new TokenBalances(properties);
+                                };
+
+                                /**
+                                 * Encodes the specified TokenBalances message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances.verify|verify} messages.
+                                 * @function encode
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances
+                                 * @static
+                                 * @param {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.ITokenBalances} message TokenBalances message or plain object to encode
+                                 * @param {$protobuf.Writer} [writer] Writer to encode to
+                                 * @returns {$protobuf.Writer} Writer
+                                 */
+                                TokenBalances.encode = function encode(message, writer) {
+                                    if (!writer)
+                                        writer = $Writer.create();
+                                    if (message.tokenBalances != null && message.tokenBalances.length)
+                                        for (var i = 0; i < message.tokenBalances.length; ++i)
+                                            $root.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry.encode(message.tokenBalances[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+                                    return writer;
+                                };
+
+                                /**
+                                 * Encodes the specified TokenBalances message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances.verify|verify} messages.
+                                 * @function encodeDelimited
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances
+                                 * @static
+                                 * @param {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.ITokenBalances} message TokenBalances message or plain object to encode
+                                 * @param {$protobuf.Writer} [writer] Writer to encode to
+                                 * @returns {$protobuf.Writer} Writer
+                                 */
+                                TokenBalances.encodeDelimited = function encodeDelimited(message, writer) {
+                                    return this.encode(message, writer).ldelim();
+                                };
+
+                                /**
+                                 * Decodes a TokenBalances message from the specified reader or buffer.
+                                 * @function decode
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances
+                                 * @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.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances} TokenBalances
+                                 * @throws {Error} If the payload is not a reader or valid buffer
+                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
+                                 */
+                                TokenBalances.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.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances();
+                                    while (reader.pos < end) {
+                                        var tag = reader.uint32();
+                                        switch (tag >>> 3) {
+                                        case 1:
+                                            if (!(message.tokenBalances && message.tokenBalances.length))
+                                                message.tokenBalances = [];
+                                            message.tokenBalances.push($root.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry.decode(reader, reader.uint32()));
+                                            break;
+                                        default:
+                                            reader.skipType(tag & 7);
+                                            break;
+                                        }
+                                    }
+                                    return message;
+                                };
+
+                                /**
+                                 * Decodes a TokenBalances message from the specified reader or buffer, length delimited.
+                                 * @function decodeDelimited
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances
+                                 * @static
+                                 * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+                                 * @returns {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances} TokenBalances
+                                 * @throws {Error} If the payload is not a reader or valid buffer
+                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
+                                 */
+                                TokenBalances.decodeDelimited = function decodeDelimited(reader) {
+                                    if (!(reader instanceof $Reader))
+                                        reader = new $Reader(reader);
+                                    return this.decode(reader, reader.uint32());
+                                };
+
+                                /**
+                                 * Verifies a TokenBalances message.
+                                 * @function verify
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances
+                                 * @static
+                                 * @param {Object.} message Plain object to verify
+                                 * @returns {string|null} `null` if valid, otherwise the reason why it is not
+                                 */
+                                TokenBalances.verify = function verify(message) {
+                                    if (typeof message !== "object" || message === null)
+                                        return "object expected";
+                                    if (message.tokenBalances != null && message.hasOwnProperty("tokenBalances")) {
+                                        if (!Array.isArray(message.tokenBalances))
+                                            return "tokenBalances: array expected";
+                                        for (var i = 0; i < message.tokenBalances.length; ++i) {
+                                            var error = $root.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry.verify(message.tokenBalances[i]);
+                                            if (error)
+                                                return "tokenBalances." + error;
+                                        }
+                                    }
+                                    return null;
+                                };
+
+                                /**
+                                 * Creates a TokenBalances message from a plain object. Also converts values to their respective internal types.
+                                 * @function fromObject
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances
+                                 * @static
+                                 * @param {Object.} object Plain object
+                                 * @returns {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances} TokenBalances
+                                 */
+                                TokenBalances.fromObject = function fromObject(object) {
+                                    if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances)
+                                        return object;
+                                    var message = new $root.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances();
+                                    if (object.tokenBalances) {
+                                        if (!Array.isArray(object.tokenBalances))
+                                            throw TypeError(".org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances.tokenBalances: array expected");
+                                        message.tokenBalances = [];
+                                        for (var i = 0; i < object.tokenBalances.length; ++i) {
+                                            if (typeof object.tokenBalances[i] !== "object")
+                                                throw TypeError(".org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances.tokenBalances: object expected");
+                                            message.tokenBalances[i] = $root.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry.fromObject(object.tokenBalances[i]);
+                                        }
+                                    }
+                                    return message;
+                                };
+
+                                /**
+                                 * Creates a plain object from a TokenBalances message. Also converts values to other types if specified.
+                                 * @function toObject
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances
+                                 * @static
+                                 * @param {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances} message TokenBalances
+                                 * @param {$protobuf.IConversionOptions} [options] Conversion options
+                                 * @returns {Object.} Plain object
+                                 */
+                                TokenBalances.toObject = function toObject(message, options) {
+                                    if (!options)
+                                        options = {};
+                                    var object = {};
+                                    if (options.arrays || options.defaults)
+                                        object.tokenBalances = [];
+                                    if (message.tokenBalances && message.tokenBalances.length) {
+                                        object.tokenBalances = [];
+                                        for (var j = 0; j < message.tokenBalances.length; ++j)
+                                            object.tokenBalances[j] = $root.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry.toObject(message.tokenBalances[j], options);
+                                    }
                                     return object;
-                                return new $root.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0();
-                            };
+                                };
 
-                            /**
-                             * Creates a plain object from a GetCurrentQuorumsInfoRequestV0 message. Also converts values to other types if specified.
-                             * @function toObject
-                             * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0
-                             * @static
-                             * @param {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0} message GetCurrentQuorumsInfoRequestV0
-                             * @param {$protobuf.IConversionOptions} [options] Conversion options
-                             * @returns {Object.} Plain object
-                             */
-                            GetCurrentQuorumsInfoRequestV0.toObject = function toObject() {
-                                return {};
-                            };
+                                /**
+                                 * Converts this TokenBalances to JSON.
+                                 * @function toJSON
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances
+                                 * @instance
+                                 * @returns {Object.} JSON object
+                                 */
+                                TokenBalances.prototype.toJSON = function toJSON() {
+                                    return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+                                };
 
-                            /**
-                             * Converts this GetCurrentQuorumsInfoRequestV0 to JSON.
-                             * @function toJSON
-                             * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0
-                             * @instance
-                             * @returns {Object.} JSON object
-                             */
-                            GetCurrentQuorumsInfoRequestV0.prototype.toJSON = function toJSON() {
-                                return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
-                            };
+                                return TokenBalances;
+                            })();
 
-                            return GetCurrentQuorumsInfoRequestV0;
+                            return GetIdentityTokenBalancesResponseV0;
                         })();
 
-                        return GetCurrentQuorumsInfoRequest;
+                        return GetIdentityTokenBalancesResponse;
                     })();
 
-                    v0.GetCurrentQuorumsInfoResponse = (function() {
+                    v0.GetIdentitiesTokenBalancesRequest = (function() {
 
                         /**
-                         * Properties of a GetCurrentQuorumsInfoResponse.
+                         * Properties of a GetIdentitiesTokenBalancesRequest.
                          * @memberof org.dash.platform.dapi.v0
-                         * @interface IGetCurrentQuorumsInfoResponse
-                         * @property {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.IGetCurrentQuorumsInfoResponseV0|null} [v0] GetCurrentQuorumsInfoResponse v0
+                         * @interface IGetIdentitiesTokenBalancesRequest
+                         * @property {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.IGetIdentitiesTokenBalancesRequestV0|null} [v0] GetIdentitiesTokenBalancesRequest v0
                          */
 
                         /**
-                         * Constructs a new GetCurrentQuorumsInfoResponse.
+                         * Constructs a new GetIdentitiesTokenBalancesRequest.
                          * @memberof org.dash.platform.dapi.v0
-                         * @classdesc Represents a GetCurrentQuorumsInfoResponse.
-                         * @implements IGetCurrentQuorumsInfoResponse
+                         * @classdesc Represents a GetIdentitiesTokenBalancesRequest.
+                         * @implements IGetIdentitiesTokenBalancesRequest
                          * @constructor
-                         * @param {org.dash.platform.dapi.v0.IGetCurrentQuorumsInfoResponse=} [properties] Properties to set
+                         * @param {org.dash.platform.dapi.v0.IGetIdentitiesTokenBalancesRequest=} [properties] Properties to set
                          */
-                        function GetCurrentQuorumsInfoResponse(properties) {
+                        function GetIdentitiesTokenBalancesRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
                                     if (properties[keys[i]] != null)
@@ -43585,89 +49536,89 @@ $root.org = (function() {
                         }
 
                         /**
-                         * GetCurrentQuorumsInfoResponse v0.
-                         * @member {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.IGetCurrentQuorumsInfoResponseV0|null|undefined} v0
-                         * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse
+                         * GetIdentitiesTokenBalancesRequest v0.
+                         * @member {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.IGetIdentitiesTokenBalancesRequestV0|null|undefined} v0
+                         * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest
                          * @instance
                          */
-                        GetCurrentQuorumsInfoResponse.prototype.v0 = null;
+                        GetIdentitiesTokenBalancesRequest.prototype.v0 = null;
 
                         // OneOf field names bound to virtual getters and setters
                         var $oneOfFields;
 
                         /**
-                         * GetCurrentQuorumsInfoResponse version.
+                         * GetIdentitiesTokenBalancesRequest version.
                          * @member {"v0"|undefined} version
-                         * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse
+                         * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest
                          * @instance
                          */
-                        Object.defineProperty(GetCurrentQuorumsInfoResponse.prototype, "version", {
+                        Object.defineProperty(GetIdentitiesTokenBalancesRequest.prototype, "version", {
                             get: $util.oneOfGetter($oneOfFields = ["v0"]),
                             set: $util.oneOfSetter($oneOfFields)
                         });
 
                         /**
-                         * Creates a new GetCurrentQuorumsInfoResponse instance using the specified properties.
+                         * Creates a new GetIdentitiesTokenBalancesRequest instance using the specified properties.
                          * @function create
-                         * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse
+                         * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest
                          * @static
-                         * @param {org.dash.platform.dapi.v0.IGetCurrentQuorumsInfoResponse=} [properties] Properties to set
-                         * @returns {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse} GetCurrentQuorumsInfoResponse instance
+                         * @param {org.dash.platform.dapi.v0.IGetIdentitiesTokenBalancesRequest=} [properties] Properties to set
+                         * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest} GetIdentitiesTokenBalancesRequest instance
                          */
-                        GetCurrentQuorumsInfoResponse.create = function create(properties) {
-                            return new GetCurrentQuorumsInfoResponse(properties);
+                        GetIdentitiesTokenBalancesRequest.create = function create(properties) {
+                            return new GetIdentitiesTokenBalancesRequest(properties);
                         };
 
                         /**
-                         * Encodes the specified GetCurrentQuorumsInfoResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.verify|verify} messages.
+                         * Encodes the specified GetIdentitiesTokenBalancesRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.verify|verify} messages.
                          * @function encode
-                         * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse
+                         * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest
                          * @static
-                         * @param {org.dash.platform.dapi.v0.IGetCurrentQuorumsInfoResponse} message GetCurrentQuorumsInfoResponse message or plain object to encode
+                         * @param {org.dash.platform.dapi.v0.IGetIdentitiesTokenBalancesRequest} message GetIdentitiesTokenBalancesRequest message or plain object to encode
                          * @param {$protobuf.Writer} [writer] Writer to encode to
                          * @returns {$protobuf.Writer} Writer
                          */
-                        GetCurrentQuorumsInfoResponse.encode = function encode(message, writer) {
+                        GetIdentitiesTokenBalancesRequest.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.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+                                $root.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
                             return writer;
                         };
 
                         /**
-                         * Encodes the specified GetCurrentQuorumsInfoResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.verify|verify} messages.
+                         * Encodes the specified GetIdentitiesTokenBalancesRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.verify|verify} messages.
                          * @function encodeDelimited
-                         * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse
+                         * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest
                          * @static
-                         * @param {org.dash.platform.dapi.v0.IGetCurrentQuorumsInfoResponse} message GetCurrentQuorumsInfoResponse message or plain object to encode
+                         * @param {org.dash.platform.dapi.v0.IGetIdentitiesTokenBalancesRequest} message GetIdentitiesTokenBalancesRequest message or plain object to encode
                          * @param {$protobuf.Writer} [writer] Writer to encode to
                          * @returns {$protobuf.Writer} Writer
                          */
-                        GetCurrentQuorumsInfoResponse.encodeDelimited = function encodeDelimited(message, writer) {
+                        GetIdentitiesTokenBalancesRequest.encodeDelimited = function encodeDelimited(message, writer) {
                             return this.encode(message, writer).ldelim();
                         };
 
                         /**
-                         * Decodes a GetCurrentQuorumsInfoResponse message from the specified reader or buffer.
+                         * Decodes a GetIdentitiesTokenBalancesRequest message from the specified reader or buffer.
                          * @function decode
-                         * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse
+                         * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest
                          * @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.GetCurrentQuorumsInfoResponse} GetCurrentQuorumsInfoResponse
+                         * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest} GetIdentitiesTokenBalancesRequest
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        GetCurrentQuorumsInfoResponse.decode = function decode(reader, length) {
+                        GetIdentitiesTokenBalancesRequest.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.GetCurrentQuorumsInfoResponse();
+                            var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
                                 switch (tag >>> 3) {
                                 case 1:
-                                    message.v0 = $root.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.decode(reader, reader.uint32());
+                                    message.v0 = $root.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.decode(reader, reader.uint32());
                                     break;
                                 default:
                                     reader.skipType(tag & 7);
@@ -43678,37 +49629,37 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Decodes a GetCurrentQuorumsInfoResponse message from the specified reader or buffer, length delimited.
+                         * Decodes a GetIdentitiesTokenBalancesRequest message from the specified reader or buffer, length delimited.
                          * @function decodeDelimited
-                         * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse
+                         * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest
                          * @static
                          * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                         * @returns {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse} GetCurrentQuorumsInfoResponse
+                         * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest} GetIdentitiesTokenBalancesRequest
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        GetCurrentQuorumsInfoResponse.decodeDelimited = function decodeDelimited(reader) {
+                        GetIdentitiesTokenBalancesRequest.decodeDelimited = function decodeDelimited(reader) {
                             if (!(reader instanceof $Reader))
                                 reader = new $Reader(reader);
                             return this.decode(reader, reader.uint32());
                         };
 
                         /**
-                         * Verifies a GetCurrentQuorumsInfoResponse message.
+                         * Verifies a GetIdentitiesTokenBalancesRequest message.
                          * @function verify
-                         * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse
+                         * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest
                          * @static
                          * @param {Object.} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        GetCurrentQuorumsInfoResponse.verify = function verify(message) {
+                        GetIdentitiesTokenBalancesRequest.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.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.verify(message.v0);
+                                    var error = $root.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.verify(message.v0);
                                     if (error)
                                         return "v0." + error;
                                 }
@@ -43717,40 +49668,40 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Creates a GetCurrentQuorumsInfoResponse message from a plain object. Also converts values to their respective internal types.
+                         * Creates a GetIdentitiesTokenBalancesRequest message from a plain object. Also converts values to their respective internal types.
                          * @function fromObject
-                         * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse
+                         * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest
                          * @static
                          * @param {Object.} object Plain object
-                         * @returns {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse} GetCurrentQuorumsInfoResponse
+                         * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest} GetIdentitiesTokenBalancesRequest
                          */
-                        GetCurrentQuorumsInfoResponse.fromObject = function fromObject(object) {
-                            if (object instanceof $root.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse)
+                        GetIdentitiesTokenBalancesRequest.fromObject = function fromObject(object) {
+                            if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest)
                                 return object;
-                            var message = new $root.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse();
+                            var message = new $root.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest();
                             if (object.v0 != null) {
                                 if (typeof object.v0 !== "object")
-                                    throw TypeError(".org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.v0: object expected");
-                                message.v0 = $root.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.fromObject(object.v0);
+                                    throw TypeError(".org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.v0: object expected");
+                                message.v0 = $root.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.fromObject(object.v0);
                             }
                             return message;
                         };
 
                         /**
-                         * Creates a plain object from a GetCurrentQuorumsInfoResponse message. Also converts values to other types if specified.
+                         * Creates a plain object from a GetIdentitiesTokenBalancesRequest message. Also converts values to other types if specified.
                          * @function toObject
-                         * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse
+                         * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest
                          * @static
-                         * @param {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse} message GetCurrentQuorumsInfoResponse
+                         * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest} message GetIdentitiesTokenBalancesRequest
                          * @param {$protobuf.IConversionOptions} [options] Conversion options
                          * @returns {Object.} Plain object
                          */
-                        GetCurrentQuorumsInfoResponse.toObject = function toObject(message, options) {
+                        GetIdentitiesTokenBalancesRequest.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.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.toObject(message.v0, options);
+                                object.v0 = $root.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.toObject(message.v0, options);
                                 if (options.oneofs)
                                     object.version = "v0";
                             }
@@ -43758,279 +49709,37 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Converts this GetCurrentQuorumsInfoResponse to JSON.
+                         * Converts this GetIdentitiesTokenBalancesRequest to JSON.
                          * @function toJSON
-                         * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse
+                         * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest
                          * @instance
                          * @returns {Object.} JSON object
                          */
-                        GetCurrentQuorumsInfoResponse.prototype.toJSON = function toJSON() {
+                        GetIdentitiesTokenBalancesRequest.prototype.toJSON = function toJSON() {
                             return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
                         };
 
-                        GetCurrentQuorumsInfoResponse.ValidatorV0 = (function() {
-
-                            /**
-                             * Properties of a ValidatorV0.
-                             * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse
-                             * @interface IValidatorV0
-                             * @property {Uint8Array|null} [proTxHash] ValidatorV0 proTxHash
-                             * @property {string|null} [nodeIp] ValidatorV0 nodeIp
-                             * @property {boolean|null} [isBanned] ValidatorV0 isBanned
-                             */
-
-                            /**
-                             * Constructs a new ValidatorV0.
-                             * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse
-                             * @classdesc Represents a ValidatorV0.
-                             * @implements IValidatorV0
-                             * @constructor
-                             * @param {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.IValidatorV0=} [properties] Properties to set
-                             */
-                            function ValidatorV0(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]];
-                            }
-
-                            /**
-                             * ValidatorV0 proTxHash.
-                             * @member {Uint8Array} proTxHash
-                             * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0
-                             * @instance
-                             */
-                            ValidatorV0.prototype.proTxHash = $util.newBuffer([]);
-
-                            /**
-                             * ValidatorV0 nodeIp.
-                             * @member {string} nodeIp
-                             * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0
-                             * @instance
-                             */
-                            ValidatorV0.prototype.nodeIp = "";
-
-                            /**
-                             * ValidatorV0 isBanned.
-                             * @member {boolean} isBanned
-                             * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0
-                             * @instance
-                             */
-                            ValidatorV0.prototype.isBanned = false;
-
-                            /**
-                             * Creates a new ValidatorV0 instance using the specified properties.
-                             * @function create
-                             * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0
-                             * @static
-                             * @param {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.IValidatorV0=} [properties] Properties to set
-                             * @returns {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0} ValidatorV0 instance
-                             */
-                            ValidatorV0.create = function create(properties) {
-                                return new ValidatorV0(properties);
-                            };
-
-                            /**
-                             * Encodes the specified ValidatorV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.verify|verify} messages.
-                             * @function encode
-                             * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0
-                             * @static
-                             * @param {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.IValidatorV0} message ValidatorV0 message or plain object to encode
-                             * @param {$protobuf.Writer} [writer] Writer to encode to
-                             * @returns {$protobuf.Writer} Writer
-                             */
-                            ValidatorV0.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.nodeIp != null && Object.hasOwnProperty.call(message, "nodeIp"))
-                                    writer.uint32(/* id 2, wireType 2 =*/18).string(message.nodeIp);
-                                if (message.isBanned != null && Object.hasOwnProperty.call(message, "isBanned"))
-                                    writer.uint32(/* id 3, wireType 0 =*/24).bool(message.isBanned);
-                                return writer;
-                            };
-
-                            /**
-                             * Encodes the specified ValidatorV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.verify|verify} messages.
-                             * @function encodeDelimited
-                             * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0
-                             * @static
-                             * @param {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.IValidatorV0} message ValidatorV0 message or plain object to encode
-                             * @param {$protobuf.Writer} [writer] Writer to encode to
-                             * @returns {$protobuf.Writer} Writer
-                             */
-                            ValidatorV0.encodeDelimited = function encodeDelimited(message, writer) {
-                                return this.encode(message, writer).ldelim();
-                            };
-
-                            /**
-                             * Decodes a ValidatorV0 message from the specified reader or buffer.
-                             * @function decode
-                             * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0
-                             * @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.GetCurrentQuorumsInfoResponse.ValidatorV0} ValidatorV0
-                             * @throws {Error} If the payload is not a reader or valid buffer
-                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
-                             */
-                            ValidatorV0.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.GetCurrentQuorumsInfoResponse.ValidatorV0();
-                                while (reader.pos < end) {
-                                    var tag = reader.uint32();
-                                    switch (tag >>> 3) {
-                                    case 1:
-                                        message.proTxHash = reader.bytes();
-                                        break;
-                                    case 2:
-                                        message.nodeIp = reader.string();
-                                        break;
-                                    case 3:
-                                        message.isBanned = reader.bool();
-                                        break;
-                                    default:
-                                        reader.skipType(tag & 7);
-                                        break;
-                                    }
-                                }
-                                return message;
-                            };
-
-                            /**
-                             * Decodes a ValidatorV0 message from the specified reader or buffer, length delimited.
-                             * @function decodeDelimited
-                             * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0
-                             * @static
-                             * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                             * @returns {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0} ValidatorV0
-                             * @throws {Error} If the payload is not a reader or valid buffer
-                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
-                             */
-                            ValidatorV0.decodeDelimited = function decodeDelimited(reader) {
-                                if (!(reader instanceof $Reader))
-                                    reader = new $Reader(reader);
-                                return this.decode(reader, reader.uint32());
-                            };
-
-                            /**
-                             * Verifies a ValidatorV0 message.
-                             * @function verify
-                             * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0
-                             * @static
-                             * @param {Object.} message Plain object to verify
-                             * @returns {string|null} `null` if valid, otherwise the reason why it is not
-                             */
-                            ValidatorV0.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.nodeIp != null && message.hasOwnProperty("nodeIp"))
-                                    if (!$util.isString(message.nodeIp))
-                                        return "nodeIp: string expected";
-                                if (message.isBanned != null && message.hasOwnProperty("isBanned"))
-                                    if (typeof message.isBanned !== "boolean")
-                                        return "isBanned: boolean expected";
-                                return null;
-                            };
-
-                            /**
-                             * Creates a ValidatorV0 message from a plain object. Also converts values to their respective internal types.
-                             * @function fromObject
-                             * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0
-                             * @static
-                             * @param {Object.} object Plain object
-                             * @returns {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0} ValidatorV0
-                             */
-                            ValidatorV0.fromObject = function fromObject(object) {
-                                if (object instanceof $root.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0)
-                                    return object;
-                                var message = new $root.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0();
-                                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.nodeIp != null)
-                                    message.nodeIp = String(object.nodeIp);
-                                if (object.isBanned != null)
-                                    message.isBanned = Boolean(object.isBanned);
-                                return message;
-                            };
-
-                            /**
-                             * Creates a plain object from a ValidatorV0 message. Also converts values to other types if specified.
-                             * @function toObject
-                             * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0
-                             * @static
-                             * @param {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0} message ValidatorV0
-                             * @param {$protobuf.IConversionOptions} [options] Conversion options
-                             * @returns {Object.} Plain object
-                             */
-                            ValidatorV0.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.nodeIp = "";
-                                    object.isBanned = false;
-                                }
-                                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.nodeIp != null && message.hasOwnProperty("nodeIp"))
-                                    object.nodeIp = message.nodeIp;
-                                if (message.isBanned != null && message.hasOwnProperty("isBanned"))
-                                    object.isBanned = message.isBanned;
-                                return object;
-                            };
-
-                            /**
-                             * Converts this ValidatorV0 to JSON.
-                             * @function toJSON
-                             * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0
-                             * @instance
-                             * @returns {Object.} JSON object
-                             */
-                            ValidatorV0.prototype.toJSON = function toJSON() {
-                                return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
-                            };
-
-                            return ValidatorV0;
-                        })();
-
-                        GetCurrentQuorumsInfoResponse.ValidatorSetV0 = (function() {
+                        GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0 = (function() {
 
                             /**
-                             * Properties of a ValidatorSetV0.
-                             * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse
-                             * @interface IValidatorSetV0
-                             * @property {Uint8Array|null} [quorumHash] ValidatorSetV0 quorumHash
-                             * @property {number|null} [coreHeight] ValidatorSetV0 coreHeight
-                             * @property {Array.|null} [members] ValidatorSetV0 members
-                             * @property {Uint8Array|null} [thresholdPublicKey] ValidatorSetV0 thresholdPublicKey
+                             * Properties of a GetIdentitiesTokenBalancesRequestV0.
+                             * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest
+                             * @interface IGetIdentitiesTokenBalancesRequestV0
+                             * @property {Uint8Array|null} [tokenId] GetIdentitiesTokenBalancesRequestV0 tokenId
+                             * @property {Array.|null} [identityIds] GetIdentitiesTokenBalancesRequestV0 identityIds
+                             * @property {boolean|null} [prove] GetIdentitiesTokenBalancesRequestV0 prove
                              */
 
                             /**
-                             * Constructs a new ValidatorSetV0.
-                             * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse
-                             * @classdesc Represents a ValidatorSetV0.
-                             * @implements IValidatorSetV0
+                             * Constructs a new GetIdentitiesTokenBalancesRequestV0.
+                             * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest
+                             * @classdesc Represents a GetIdentitiesTokenBalancesRequestV0.
+                             * @implements IGetIdentitiesTokenBalancesRequestV0
                              * @constructor
-                             * @param {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.IValidatorSetV0=} [properties] Properties to set
+                             * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.IGetIdentitiesTokenBalancesRequestV0=} [properties] Properties to set
                              */
-                            function ValidatorSetV0(properties) {
-                                this.members = [];
+                            function GetIdentitiesTokenBalancesRequestV0(properties) {
+                                this.identityIds = [];
                                 if (properties)
                                     for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
                                         if (properties[keys[i]] != null)
@@ -44038,117 +49747,104 @@ $root.org = (function() {
                             }
 
                             /**
-                             * ValidatorSetV0 quorumHash.
-                             * @member {Uint8Array} quorumHash
-                             * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0
-                             * @instance
-                             */
-                            ValidatorSetV0.prototype.quorumHash = $util.newBuffer([]);
-
-                            /**
-                             * ValidatorSetV0 coreHeight.
-                             * @member {number} coreHeight
-                             * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0
+                             * GetIdentitiesTokenBalancesRequestV0 tokenId.
+                             * @member {Uint8Array} tokenId
+                             * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0
                              * @instance
                              */
-                            ValidatorSetV0.prototype.coreHeight = 0;
+                            GetIdentitiesTokenBalancesRequestV0.prototype.tokenId = $util.newBuffer([]);
 
                             /**
-                             * ValidatorSetV0 members.
-                             * @member {Array.} members
-                             * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0
+                             * GetIdentitiesTokenBalancesRequestV0 identityIds.
+                             * @member {Array.} identityIds
+                             * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0
                              * @instance
                              */
-                            ValidatorSetV0.prototype.members = $util.emptyArray;
+                            GetIdentitiesTokenBalancesRequestV0.prototype.identityIds = $util.emptyArray;
 
                             /**
-                             * ValidatorSetV0 thresholdPublicKey.
-                             * @member {Uint8Array} thresholdPublicKey
-                             * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0
+                             * GetIdentitiesTokenBalancesRequestV0 prove.
+                             * @member {boolean} prove
+                             * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0
                              * @instance
                              */
-                            ValidatorSetV0.prototype.thresholdPublicKey = $util.newBuffer([]);
+                            GetIdentitiesTokenBalancesRequestV0.prototype.prove = false;
 
                             /**
-                             * Creates a new ValidatorSetV0 instance using the specified properties.
+                             * Creates a new GetIdentitiesTokenBalancesRequestV0 instance using the specified properties.
                              * @function create
-                             * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0
+                             * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.IValidatorSetV0=} [properties] Properties to set
-                             * @returns {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0} ValidatorSetV0 instance
+                             * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.IGetIdentitiesTokenBalancesRequestV0=} [properties] Properties to set
+                             * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0} GetIdentitiesTokenBalancesRequestV0 instance
                              */
-                            ValidatorSetV0.create = function create(properties) {
-                                return new ValidatorSetV0(properties);
+                            GetIdentitiesTokenBalancesRequestV0.create = function create(properties) {
+                                return new GetIdentitiesTokenBalancesRequestV0(properties);
                             };
 
                             /**
-                             * Encodes the specified ValidatorSetV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.verify|verify} messages.
+                             * Encodes the specified GetIdentitiesTokenBalancesRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.verify|verify} messages.
                              * @function encode
-                             * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0
+                             * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.IValidatorSetV0} message ValidatorSetV0 message or plain object to encode
+                             * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.IGetIdentitiesTokenBalancesRequestV0} message GetIdentitiesTokenBalancesRequestV0 message or plain object to encode
                              * @param {$protobuf.Writer} [writer] Writer to encode to
                              * @returns {$protobuf.Writer} Writer
                              */
-                            ValidatorSetV0.encode = function encode(message, writer) {
+                            GetIdentitiesTokenBalancesRequestV0.encode = function encode(message, writer) {
                                 if (!writer)
                                     writer = $Writer.create();
-                                if (message.quorumHash != null && Object.hasOwnProperty.call(message, "quorumHash"))
-                                    writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.quorumHash);
-                                if (message.coreHeight != null && Object.hasOwnProperty.call(message, "coreHeight"))
-                                    writer.uint32(/* id 2, wireType 0 =*/16).uint32(message.coreHeight);
-                                if (message.members != null && message.members.length)
-                                    for (var i = 0; i < message.members.length; ++i)
-                                        $root.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.encode(message.members[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
-                                if (message.thresholdPublicKey != null && Object.hasOwnProperty.call(message, "thresholdPublicKey"))
-                                    writer.uint32(/* id 4, wireType 2 =*/34).bytes(message.thresholdPublicKey);
+                                if (message.tokenId != null && Object.hasOwnProperty.call(message, "tokenId"))
+                                    writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.tokenId);
+                                if (message.identityIds != null && message.identityIds.length)
+                                    for (var i = 0; i < message.identityIds.length; ++i)
+                                        writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.identityIds[i]);
+                                if (message.prove != null && Object.hasOwnProperty.call(message, "prove"))
+                                    writer.uint32(/* id 3, wireType 0 =*/24).bool(message.prove);
                                 return writer;
                             };
 
                             /**
-                             * Encodes the specified ValidatorSetV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.verify|verify} messages.
+                             * Encodes the specified GetIdentitiesTokenBalancesRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.verify|verify} messages.
                              * @function encodeDelimited
-                             * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0
+                             * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.IValidatorSetV0} message ValidatorSetV0 message or plain object to encode
+                             * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.IGetIdentitiesTokenBalancesRequestV0} message GetIdentitiesTokenBalancesRequestV0 message or plain object to encode
                              * @param {$protobuf.Writer} [writer] Writer to encode to
                              * @returns {$protobuf.Writer} Writer
                              */
-                            ValidatorSetV0.encodeDelimited = function encodeDelimited(message, writer) {
+                            GetIdentitiesTokenBalancesRequestV0.encodeDelimited = function encodeDelimited(message, writer) {
                                 return this.encode(message, writer).ldelim();
                             };
 
                             /**
-                             * Decodes a ValidatorSetV0 message from the specified reader or buffer.
+                             * Decodes a GetIdentitiesTokenBalancesRequestV0 message from the specified reader or buffer.
                              * @function decode
-                             * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0
+                             * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0
                              * @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.GetCurrentQuorumsInfoResponse.ValidatorSetV0} ValidatorSetV0
+                             * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0} GetIdentitiesTokenBalancesRequestV0
                              * @throws {Error} If the payload is not a reader or valid buffer
                              * @throws {$protobuf.util.ProtocolError} If required fields are missing
                              */
-                            ValidatorSetV0.decode = function decode(reader, length) {
+                            GetIdentitiesTokenBalancesRequestV0.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.GetCurrentQuorumsInfoResponse.ValidatorSetV0();
+                                var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0();
                                 while (reader.pos < end) {
                                     var tag = reader.uint32();
                                     switch (tag >>> 3) {
                                     case 1:
-                                        message.quorumHash = reader.bytes();
+                                        message.tokenId = reader.bytes();
                                         break;
                                     case 2:
-                                        message.coreHeight = reader.uint32();
+                                        if (!(message.identityIds && message.identityIds.length))
+                                            message.identityIds = [];
+                                        message.identityIds.push(reader.bytes());
                                         break;
                                     case 3:
-                                        if (!(message.members && message.members.length))
-                                            message.members = [];
-                                        message.members.push($root.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.decode(reader, reader.uint32()));
-                                        break;
-                                    case 4:
-                                        message.thresholdPublicKey = reader.bytes();
+                                        message.prove = reader.bool();
                                         break;
                                     default:
                                         reader.skipType(tag & 7);
@@ -44159,174 +49855,362 @@ $root.org = (function() {
                             };
 
                             /**
-                             * Decodes a ValidatorSetV0 message from the specified reader or buffer, length delimited.
+                             * Decodes a GetIdentitiesTokenBalancesRequestV0 message from the specified reader or buffer, length delimited.
                              * @function decodeDelimited
-                             * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0
+                             * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0
                              * @static
                              * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                             * @returns {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0} ValidatorSetV0
+                             * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0} GetIdentitiesTokenBalancesRequestV0
                              * @throws {Error} If the payload is not a reader or valid buffer
                              * @throws {$protobuf.util.ProtocolError} If required fields are missing
                              */
-                            ValidatorSetV0.decodeDelimited = function decodeDelimited(reader) {
+                            GetIdentitiesTokenBalancesRequestV0.decodeDelimited = function decodeDelimited(reader) {
                                 if (!(reader instanceof $Reader))
                                     reader = new $Reader(reader);
                                 return this.decode(reader, reader.uint32());
                             };
 
                             /**
-                             * Verifies a ValidatorSetV0 message.
+                             * Verifies a GetIdentitiesTokenBalancesRequestV0 message.
                              * @function verify
-                             * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0
+                             * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0
                              * @static
                              * @param {Object.} message Plain object to verify
                              * @returns {string|null} `null` if valid, otherwise the reason why it is not
                              */
-                            ValidatorSetV0.verify = function verify(message) {
+                            GetIdentitiesTokenBalancesRequestV0.verify = function verify(message) {
                                 if (typeof message !== "object" || message === null)
                                     return "object expected";
-                                if (message.quorumHash != null && message.hasOwnProperty("quorumHash"))
-                                    if (!(message.quorumHash && typeof message.quorumHash.length === "number" || $util.isString(message.quorumHash)))
-                                        return "quorumHash: buffer expected";
-                                if (message.coreHeight != null && message.hasOwnProperty("coreHeight"))
-                                    if (!$util.isInteger(message.coreHeight))
-                                        return "coreHeight: integer expected";
-                                if (message.members != null && message.hasOwnProperty("members")) {
-                                    if (!Array.isArray(message.members))
-                                        return "members: array expected";
-                                    for (var i = 0; i < message.members.length; ++i) {
-                                        var error = $root.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.verify(message.members[i]);
-                                        if (error)
-                                            return "members." + error;
-                                    }
+                                if (message.tokenId != null && message.hasOwnProperty("tokenId"))
+                                    if (!(message.tokenId && typeof message.tokenId.length === "number" || $util.isString(message.tokenId)))
+                                        return "tokenId: buffer 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.thresholdPublicKey != null && message.hasOwnProperty("thresholdPublicKey"))
-                                    if (!(message.thresholdPublicKey && typeof message.thresholdPublicKey.length === "number" || $util.isString(message.thresholdPublicKey)))
-                                        return "thresholdPublicKey: buffer expected";
+                                if (message.prove != null && message.hasOwnProperty("prove"))
+                                    if (typeof message.prove !== "boolean")
+                                        return "prove: boolean expected";
                                 return null;
                             };
 
                             /**
-                             * Creates a ValidatorSetV0 message from a plain object. Also converts values to their respective internal types.
+                             * Creates a GetIdentitiesTokenBalancesRequestV0 message from a plain object. Also converts values to their respective internal types.
                              * @function fromObject
-                             * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0
+                             * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0
                              * @static
                              * @param {Object.} object Plain object
-                             * @returns {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0} ValidatorSetV0
+                             * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0} GetIdentitiesTokenBalancesRequestV0
                              */
-                            ValidatorSetV0.fromObject = function fromObject(object) {
-                                if (object instanceof $root.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0)
+                            GetIdentitiesTokenBalancesRequestV0.fromObject = function fromObject(object) {
+                                if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0)
                                     return object;
-                                var message = new $root.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0();
-                                if (object.quorumHash != null)
-                                    if (typeof object.quorumHash === "string")
-                                        $util.base64.decode(object.quorumHash, message.quorumHash = $util.newBuffer($util.base64.length(object.quorumHash)), 0);
-                                    else if (object.quorumHash.length >= 0)
-                                        message.quorumHash = object.quorumHash;
-                                if (object.coreHeight != null)
-                                    message.coreHeight = object.coreHeight >>> 0;
-                                if (object.members) {
-                                    if (!Array.isArray(object.members))
-                                        throw TypeError(".org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.members: array expected");
-                                    message.members = [];
-                                    for (var i = 0; i < object.members.length; ++i) {
-                                        if (typeof object.members[i] !== "object")
-                                            throw TypeError(".org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.members: object expected");
-                                        message.members[i] = $root.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.fromObject(object.members[i]);
-                                    }
+                                var message = new $root.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0();
+                                if (object.tokenId != null)
+                                    if (typeof object.tokenId === "string")
+                                        $util.base64.decode(object.tokenId, message.tokenId = $util.newBuffer($util.base64.length(object.tokenId)), 0);
+                                    else if (object.tokenId.length >= 0)
+                                        message.tokenId = object.tokenId;
+                                if (object.identityIds) {
+                                    if (!Array.isArray(object.identityIds))
+                                        throw TypeError(".org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.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.thresholdPublicKey != null)
-                                    if (typeof object.thresholdPublicKey === "string")
-                                        $util.base64.decode(object.thresholdPublicKey, message.thresholdPublicKey = $util.newBuffer($util.base64.length(object.thresholdPublicKey)), 0);
-                                    else if (object.thresholdPublicKey.length >= 0)
-                                        message.thresholdPublicKey = object.thresholdPublicKey;
+                                if (object.prove != null)
+                                    message.prove = Boolean(object.prove);
                                 return message;
                             };
 
                             /**
-                             * Creates a plain object from a ValidatorSetV0 message. Also converts values to other types if specified.
+                             * Creates a plain object from a GetIdentitiesTokenBalancesRequestV0 message. Also converts values to other types if specified.
                              * @function toObject
-                             * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0
+                             * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0} message ValidatorSetV0
+                             * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0} message GetIdentitiesTokenBalancesRequestV0
                              * @param {$protobuf.IConversionOptions} [options] Conversion options
                              * @returns {Object.} Plain object
                              */
-                            ValidatorSetV0.toObject = function toObject(message, options) {
+                            GetIdentitiesTokenBalancesRequestV0.toObject = function toObject(message, options) {
                                 if (!options)
                                     options = {};
                                 var object = {};
                                 if (options.arrays || options.defaults)
-                                    object.members = [];
+                                    object.identityIds = [];
                                 if (options.defaults) {
                                     if (options.bytes === String)
-                                        object.quorumHash = "";
-                                    else {
-                                        object.quorumHash = [];
-                                        if (options.bytes !== Array)
-                                            object.quorumHash = $util.newBuffer(object.quorumHash);
-                                    }
-                                    object.coreHeight = 0;
-                                    if (options.bytes === String)
-                                        object.thresholdPublicKey = "";
+                                        object.tokenId = "";
                                     else {
-                                        object.thresholdPublicKey = [];
+                                        object.tokenId = [];
                                         if (options.bytes !== Array)
-                                            object.thresholdPublicKey = $util.newBuffer(object.thresholdPublicKey);
+                                            object.tokenId = $util.newBuffer(object.tokenId);
                                     }
+                                    object.prove = false;
                                 }
-                                if (message.quorumHash != null && message.hasOwnProperty("quorumHash"))
-                                    object.quorumHash = options.bytes === String ? $util.base64.encode(message.quorumHash, 0, message.quorumHash.length) : options.bytes === Array ? Array.prototype.slice.call(message.quorumHash) : message.quorumHash;
-                                if (message.coreHeight != null && message.hasOwnProperty("coreHeight"))
-                                    object.coreHeight = message.coreHeight;
-                                if (message.members && message.members.length) {
-                                    object.members = [];
-                                    for (var j = 0; j < message.members.length; ++j)
-                                        object.members[j] = $root.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.toObject(message.members[j], options);
+                                if (message.tokenId != null && message.hasOwnProperty("tokenId"))
+                                    object.tokenId = options.bytes === String ? $util.base64.encode(message.tokenId, 0, message.tokenId.length) : options.bytes === Array ? Array.prototype.slice.call(message.tokenId) : message.tokenId;
+                                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 (message.thresholdPublicKey != null && message.hasOwnProperty("thresholdPublicKey"))
-                                    object.thresholdPublicKey = options.bytes === String ? $util.base64.encode(message.thresholdPublicKey, 0, message.thresholdPublicKey.length) : options.bytes === Array ? Array.prototype.slice.call(message.thresholdPublicKey) : message.thresholdPublicKey;
+                                if (message.prove != null && message.hasOwnProperty("prove"))
+                                    object.prove = message.prove;
                                 return object;
                             };
 
                             /**
-                             * Converts this ValidatorSetV0 to JSON.
+                             * Converts this GetIdentitiesTokenBalancesRequestV0 to JSON.
                              * @function toJSON
-                             * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0
+                             * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0
                              * @instance
                              * @returns {Object.} JSON object
                              */
-                            ValidatorSetV0.prototype.toJSON = function toJSON() {
+                            GetIdentitiesTokenBalancesRequestV0.prototype.toJSON = function toJSON() {
                                 return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
                             };
 
-                            return ValidatorSetV0;
+                            return GetIdentitiesTokenBalancesRequestV0;
                         })();
 
-                        GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0 = (function() {
+                        return GetIdentitiesTokenBalancesRequest;
+                    })();
+
+                    v0.GetIdentitiesTokenBalancesResponse = (function() {
+
+                        /**
+                         * Properties of a GetIdentitiesTokenBalancesResponse.
+                         * @memberof org.dash.platform.dapi.v0
+                         * @interface IGetIdentitiesTokenBalancesResponse
+                         * @property {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.IGetIdentitiesTokenBalancesResponseV0|null} [v0] GetIdentitiesTokenBalancesResponse v0
+                         */
+
+                        /**
+                         * Constructs a new GetIdentitiesTokenBalancesResponse.
+                         * @memberof org.dash.platform.dapi.v0
+                         * @classdesc Represents a GetIdentitiesTokenBalancesResponse.
+                         * @implements IGetIdentitiesTokenBalancesResponse
+                         * @constructor
+                         * @param {org.dash.platform.dapi.v0.IGetIdentitiesTokenBalancesResponse=} [properties] Properties to set
+                         */
+                        function GetIdentitiesTokenBalancesResponse(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]];
+                        }
+
+                        /**
+                         * GetIdentitiesTokenBalancesResponse v0.
+                         * @member {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.IGetIdentitiesTokenBalancesResponseV0|null|undefined} v0
+                         * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse
+                         * @instance
+                         */
+                        GetIdentitiesTokenBalancesResponse.prototype.v0 = null;
+
+                        // OneOf field names bound to virtual getters and setters
+                        var $oneOfFields;
+
+                        /**
+                         * GetIdentitiesTokenBalancesResponse version.
+                         * @member {"v0"|undefined} version
+                         * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse
+                         * @instance
+                         */
+                        Object.defineProperty(GetIdentitiesTokenBalancesResponse.prototype, "version", {
+                            get: $util.oneOfGetter($oneOfFields = ["v0"]),
+                            set: $util.oneOfSetter($oneOfFields)
+                        });
+
+                        /**
+                         * Creates a new GetIdentitiesTokenBalancesResponse instance using the specified properties.
+                         * @function create
+                         * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse
+                         * @static
+                         * @param {org.dash.platform.dapi.v0.IGetIdentitiesTokenBalancesResponse=} [properties] Properties to set
+                         * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse} GetIdentitiesTokenBalancesResponse instance
+                         */
+                        GetIdentitiesTokenBalancesResponse.create = function create(properties) {
+                            return new GetIdentitiesTokenBalancesResponse(properties);
+                        };
+
+                        /**
+                         * Encodes the specified GetIdentitiesTokenBalancesResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.verify|verify} messages.
+                         * @function encode
+                         * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse
+                         * @static
+                         * @param {org.dash.platform.dapi.v0.IGetIdentitiesTokenBalancesResponse} message GetIdentitiesTokenBalancesResponse message or plain object to encode
+                         * @param {$protobuf.Writer} [writer] Writer to encode to
+                         * @returns {$protobuf.Writer} Writer
+                         */
+                        GetIdentitiesTokenBalancesResponse.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.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+                            return writer;
+                        };
+
+                        /**
+                         * Encodes the specified GetIdentitiesTokenBalancesResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.verify|verify} messages.
+                         * @function encodeDelimited
+                         * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse
+                         * @static
+                         * @param {org.dash.platform.dapi.v0.IGetIdentitiesTokenBalancesResponse} message GetIdentitiesTokenBalancesResponse message or plain object to encode
+                         * @param {$protobuf.Writer} [writer] Writer to encode to
+                         * @returns {$protobuf.Writer} Writer
+                         */
+                        GetIdentitiesTokenBalancesResponse.encodeDelimited = function encodeDelimited(message, writer) {
+                            return this.encode(message, writer).ldelim();
+                        };
+
+                        /**
+                         * Decodes a GetIdentitiesTokenBalancesResponse message from the specified reader or buffer.
+                         * @function decode
+                         * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse
+                         * @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.GetIdentitiesTokenBalancesResponse} GetIdentitiesTokenBalancesResponse
+                         * @throws {Error} If the payload is not a reader or valid buffer
+                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
+                         */
+                        GetIdentitiesTokenBalancesResponse.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.GetIdentitiesTokenBalancesResponse();
+                            while (reader.pos < end) {
+                                var tag = reader.uint32();
+                                switch (tag >>> 3) {
+                                case 1:
+                                    message.v0 = $root.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.decode(reader, reader.uint32());
+                                    break;
+                                default:
+                                    reader.skipType(tag & 7);
+                                    break;
+                                }
+                            }
+                            return message;
+                        };
+
+                        /**
+                         * Decodes a GetIdentitiesTokenBalancesResponse message from the specified reader or buffer, length delimited.
+                         * @function decodeDelimited
+                         * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse
+                         * @static
+                         * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+                         * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse} GetIdentitiesTokenBalancesResponse
+                         * @throws {Error} If the payload is not a reader or valid buffer
+                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
+                         */
+                        GetIdentitiesTokenBalancesResponse.decodeDelimited = function decodeDelimited(reader) {
+                            if (!(reader instanceof $Reader))
+                                reader = new $Reader(reader);
+                            return this.decode(reader, reader.uint32());
+                        };
+
+                        /**
+                         * Verifies a GetIdentitiesTokenBalancesResponse message.
+                         * @function verify
+                         * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse
+                         * @static
+                         * @param {Object.} message Plain object to verify
+                         * @returns {string|null} `null` if valid, otherwise the reason why it is not
+                         */
+                        GetIdentitiesTokenBalancesResponse.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.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.verify(message.v0);
+                                    if (error)
+                                        return "v0." + error;
+                                }
+                            }
+                            return null;
+                        };
+
+                        /**
+                         * Creates a GetIdentitiesTokenBalancesResponse message from a plain object. Also converts values to their respective internal types.
+                         * @function fromObject
+                         * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse
+                         * @static
+                         * @param {Object.} object Plain object
+                         * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse} GetIdentitiesTokenBalancesResponse
+                         */
+                        GetIdentitiesTokenBalancesResponse.fromObject = function fromObject(object) {
+                            if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse)
+                                return object;
+                            var message = new $root.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse();
+                            if (object.v0 != null) {
+                                if (typeof object.v0 !== "object")
+                                    throw TypeError(".org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.v0: object expected");
+                                message.v0 = $root.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.fromObject(object.v0);
+                            }
+                            return message;
+                        };
+
+                        /**
+                         * Creates a plain object from a GetIdentitiesTokenBalancesResponse message. Also converts values to other types if specified.
+                         * @function toObject
+                         * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse
+                         * @static
+                         * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse} message GetIdentitiesTokenBalancesResponse
+                         * @param {$protobuf.IConversionOptions} [options] Conversion options
+                         * @returns {Object.} Plain object
+                         */
+                        GetIdentitiesTokenBalancesResponse.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.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.toObject(message.v0, options);
+                                if (options.oneofs)
+                                    object.version = "v0";
+                            }
+                            return object;
+                        };
+
+                        /**
+                         * Converts this GetIdentitiesTokenBalancesResponse to JSON.
+                         * @function toJSON
+                         * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse
+                         * @instance
+                         * @returns {Object.} JSON object
+                         */
+                        GetIdentitiesTokenBalancesResponse.prototype.toJSON = function toJSON() {
+                            return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+                        };
+
+                        GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0 = (function() {
 
                             /**
-                             * Properties of a GetCurrentQuorumsInfoResponseV0.
-                             * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse
-                             * @interface IGetCurrentQuorumsInfoResponseV0
-                             * @property {Array.|null} [quorumHashes] GetCurrentQuorumsInfoResponseV0 quorumHashes
-                             * @property {Uint8Array|null} [currentQuorumHash] GetCurrentQuorumsInfoResponseV0 currentQuorumHash
-                             * @property {Array.|null} [validatorSets] GetCurrentQuorumsInfoResponseV0 validatorSets
-                             * @property {Uint8Array|null} [lastBlockProposer] GetCurrentQuorumsInfoResponseV0 lastBlockProposer
-                             * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetCurrentQuorumsInfoResponseV0 metadata
+                             * Properties of a GetIdentitiesTokenBalancesResponseV0.
+                             * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse
+                             * @interface IGetIdentitiesTokenBalancesResponseV0
+                             * @property {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IIdentityTokenBalances|null} [identityTokenBalances] GetIdentitiesTokenBalancesResponseV0 identityTokenBalances
+                             * @property {org.dash.platform.dapi.v0.IProof|null} [proof] GetIdentitiesTokenBalancesResponseV0 proof
+                             * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetIdentitiesTokenBalancesResponseV0 metadata
                              */
 
                             /**
-                             * Constructs a new GetCurrentQuorumsInfoResponseV0.
-                             * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse
-                             * @classdesc Represents a GetCurrentQuorumsInfoResponseV0.
-                             * @implements IGetCurrentQuorumsInfoResponseV0
+                             * Constructs a new GetIdentitiesTokenBalancesResponseV0.
+                             * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse
+                             * @classdesc Represents a GetIdentitiesTokenBalancesResponseV0.
+                             * @implements IGetIdentitiesTokenBalancesResponseV0
                              * @constructor
-                             * @param {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.IGetCurrentQuorumsInfoResponseV0=} [properties] Properties to set
+                             * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.IGetIdentitiesTokenBalancesResponseV0=} [properties] Properties to set
                              */
-                            function GetCurrentQuorumsInfoResponseV0(properties) {
-                                this.quorumHashes = [];
-                                this.validatorSets = [];
+                            function GetIdentitiesTokenBalancesResponseV0(properties) {
                                 if (properties)
                                     for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
                                         if (properties[keys[i]] != null)
@@ -44334,132 +50218,114 @@ $root.org = (function() {
                             }
 
                             /**
-                             * GetCurrentQuorumsInfoResponseV0 quorumHashes.
-                             * @member {Array.} quorumHashes
-                             * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0
+                             * GetIdentitiesTokenBalancesResponseV0 identityTokenBalances.
+                             * @member {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IIdentityTokenBalances|null|undefined} identityTokenBalances
+                             * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0
                              * @instance
                              */
-                            GetCurrentQuorumsInfoResponseV0.prototype.quorumHashes = $util.emptyArray;
+                            GetIdentitiesTokenBalancesResponseV0.prototype.identityTokenBalances = null;
 
                             /**
-                             * GetCurrentQuorumsInfoResponseV0 currentQuorumHash.
-                             * @member {Uint8Array} currentQuorumHash
-                             * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0
+                             * GetIdentitiesTokenBalancesResponseV0 proof.
+                             * @member {org.dash.platform.dapi.v0.IProof|null|undefined} proof
+                             * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0
                              * @instance
                              */
-                            GetCurrentQuorumsInfoResponseV0.prototype.currentQuorumHash = $util.newBuffer([]);
+                            GetIdentitiesTokenBalancesResponseV0.prototype.proof = null;
 
                             /**
-                             * GetCurrentQuorumsInfoResponseV0 validatorSets.
-                             * @member {Array.} validatorSets
-                             * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0
+                             * GetIdentitiesTokenBalancesResponseV0 metadata.
+                             * @member {org.dash.platform.dapi.v0.IResponseMetadata|null|undefined} metadata
+                             * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0
                              * @instance
                              */
-                            GetCurrentQuorumsInfoResponseV0.prototype.validatorSets = $util.emptyArray;
+                            GetIdentitiesTokenBalancesResponseV0.prototype.metadata = null;
 
-                            /**
-                             * GetCurrentQuorumsInfoResponseV0 lastBlockProposer.
-                             * @member {Uint8Array} lastBlockProposer
-                             * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0
-                             * @instance
-                             */
-                            GetCurrentQuorumsInfoResponseV0.prototype.lastBlockProposer = $util.newBuffer([]);
+                            // OneOf field names bound to virtual getters and setters
+                            var $oneOfFields;
 
                             /**
-                             * GetCurrentQuorumsInfoResponseV0 metadata.
-                             * @member {org.dash.platform.dapi.v0.IResponseMetadata|null|undefined} metadata
-                             * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0
+                             * GetIdentitiesTokenBalancesResponseV0 result.
+                             * @member {"identityTokenBalances"|"proof"|undefined} result
+                             * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0
                              * @instance
                              */
-                            GetCurrentQuorumsInfoResponseV0.prototype.metadata = null;
+                            Object.defineProperty(GetIdentitiesTokenBalancesResponseV0.prototype, "result", {
+                                get: $util.oneOfGetter($oneOfFields = ["identityTokenBalances", "proof"]),
+                                set: $util.oneOfSetter($oneOfFields)
+                            });
 
                             /**
-                             * Creates a new GetCurrentQuorumsInfoResponseV0 instance using the specified properties.
+                             * Creates a new GetIdentitiesTokenBalancesResponseV0 instance using the specified properties.
                              * @function create
-                             * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.IGetCurrentQuorumsInfoResponseV0=} [properties] Properties to set
-                             * @returns {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0} GetCurrentQuorumsInfoResponseV0 instance
+                             * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.IGetIdentitiesTokenBalancesResponseV0=} [properties] Properties to set
+                             * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0} GetIdentitiesTokenBalancesResponseV0 instance
                              */
-                            GetCurrentQuorumsInfoResponseV0.create = function create(properties) {
-                                return new GetCurrentQuorumsInfoResponseV0(properties);
+                            GetIdentitiesTokenBalancesResponseV0.create = function create(properties) {
+                                return new GetIdentitiesTokenBalancesResponseV0(properties);
                             };
 
                             /**
-                             * Encodes the specified GetCurrentQuorumsInfoResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.verify|verify} messages.
+                             * Encodes the specified GetIdentitiesTokenBalancesResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.verify|verify} messages.
                              * @function encode
-                             * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.IGetCurrentQuorumsInfoResponseV0} message GetCurrentQuorumsInfoResponseV0 message or plain object to encode
+                             * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.IGetIdentitiesTokenBalancesResponseV0} message GetIdentitiesTokenBalancesResponseV0 message or plain object to encode
                              * @param {$protobuf.Writer} [writer] Writer to encode to
                              * @returns {$protobuf.Writer} Writer
                              */
-                            GetCurrentQuorumsInfoResponseV0.encode = function encode(message, writer) {
+                            GetIdentitiesTokenBalancesResponseV0.encode = function encode(message, writer) {
                                 if (!writer)
                                     writer = $Writer.create();
-                                if (message.quorumHashes != null && message.quorumHashes.length)
-                                    for (var i = 0; i < message.quorumHashes.length; ++i)
-                                        writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.quorumHashes[i]);
-                                if (message.currentQuorumHash != null && Object.hasOwnProperty.call(message, "currentQuorumHash"))
-                                    writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.currentQuorumHash);
-                                if (message.validatorSets != null && message.validatorSets.length)
-                                    for (var i = 0; i < message.validatorSets.length; ++i)
-                                        $root.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.encode(message.validatorSets[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
-                                if (message.lastBlockProposer != null && Object.hasOwnProperty.call(message, "lastBlockProposer"))
-                                    writer.uint32(/* id 4, wireType 2 =*/34).bytes(message.lastBlockProposer);
+                                if (message.identityTokenBalances != null && Object.hasOwnProperty.call(message, "identityTokenBalances"))
+                                    $root.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances.encode(message.identityTokenBalances, 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 5, wireType 2 =*/42).fork()).ldelim();
+                                    $root.org.dash.platform.dapi.v0.ResponseMetadata.encode(message.metadata, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
                                 return writer;
                             };
 
                             /**
-                             * Encodes the specified GetCurrentQuorumsInfoResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.verify|verify} messages.
+                             * Encodes the specified GetIdentitiesTokenBalancesResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.verify|verify} messages.
                              * @function encodeDelimited
-                             * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.IGetCurrentQuorumsInfoResponseV0} message GetCurrentQuorumsInfoResponseV0 message or plain object to encode
+                             * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.IGetIdentitiesTokenBalancesResponseV0} message GetIdentitiesTokenBalancesResponseV0 message or plain object to encode
                              * @param {$protobuf.Writer} [writer] Writer to encode to
                              * @returns {$protobuf.Writer} Writer
                              */
-                            GetCurrentQuorumsInfoResponseV0.encodeDelimited = function encodeDelimited(message, writer) {
+                            GetIdentitiesTokenBalancesResponseV0.encodeDelimited = function encodeDelimited(message, writer) {
                                 return this.encode(message, writer).ldelim();
                             };
 
                             /**
-                             * Decodes a GetCurrentQuorumsInfoResponseV0 message from the specified reader or buffer.
+                             * Decodes a GetIdentitiesTokenBalancesResponseV0 message from the specified reader or buffer.
                              * @function decode
-                             * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0
                              * @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.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0} GetCurrentQuorumsInfoResponseV0
+                             * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0} GetIdentitiesTokenBalancesResponseV0
                              * @throws {Error} If the payload is not a reader or valid buffer
                              * @throws {$protobuf.util.ProtocolError} If required fields are missing
                              */
-                            GetCurrentQuorumsInfoResponseV0.decode = function decode(reader, length) {
+                            GetIdentitiesTokenBalancesResponseV0.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.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0();
+                                var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0();
                                 while (reader.pos < end) {
                                     var tag = reader.uint32();
                                     switch (tag >>> 3) {
                                     case 1:
-                                        if (!(message.quorumHashes && message.quorumHashes.length))
-                                            message.quorumHashes = [];
-                                        message.quorumHashes.push(reader.bytes());
+                                        message.identityTokenBalances = $root.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances.decode(reader, reader.uint32());
                                         break;
                                     case 2:
-                                        message.currentQuorumHash = reader.bytes();
+                                        message.proof = $root.org.dash.platform.dapi.v0.Proof.decode(reader, reader.uint32());
                                         break;
                                     case 3:
-                                        if (!(message.validatorSets && message.validatorSets.length))
-                                            message.validatorSets = [];
-                                        message.validatorSets.push($root.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.decode(reader, reader.uint32()));
-                                        break;
-                                    case 4:
-                                        message.lastBlockProposer = reader.bytes();
-                                        break;
-                                    case 5:
                                         message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.decode(reader, reader.uint32());
                                         break;
                                     default:
@@ -44471,54 +50337,51 @@ $root.org = (function() {
                             };
 
                             /**
-                             * Decodes a GetCurrentQuorumsInfoResponseV0 message from the specified reader or buffer, length delimited.
+                             * Decodes a GetIdentitiesTokenBalancesResponseV0 message from the specified reader or buffer, length delimited.
                              * @function decodeDelimited
-                             * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0
                              * @static
                              * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                             * @returns {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0} GetCurrentQuorumsInfoResponseV0
+                             * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0} GetIdentitiesTokenBalancesResponseV0
                              * @throws {Error} If the payload is not a reader or valid buffer
                              * @throws {$protobuf.util.ProtocolError} If required fields are missing
                              */
-                            GetCurrentQuorumsInfoResponseV0.decodeDelimited = function decodeDelimited(reader) {
+                            GetIdentitiesTokenBalancesResponseV0.decodeDelimited = function decodeDelimited(reader) {
                                 if (!(reader instanceof $Reader))
                                     reader = new $Reader(reader);
                                 return this.decode(reader, reader.uint32());
                             };
 
                             /**
-                             * Verifies a GetCurrentQuorumsInfoResponseV0 message.
+                             * Verifies a GetIdentitiesTokenBalancesResponseV0 message.
                              * @function verify
-                             * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0
                              * @static
                              * @param {Object.} message Plain object to verify
                              * @returns {string|null} `null` if valid, otherwise the reason why it is not
                              */
-                            GetCurrentQuorumsInfoResponseV0.verify = function verify(message) {
+                            GetIdentitiesTokenBalancesResponseV0.verify = function verify(message) {
                                 if (typeof message !== "object" || message === null)
                                     return "object expected";
-                                if (message.quorumHashes != null && message.hasOwnProperty("quorumHashes")) {
-                                    if (!Array.isArray(message.quorumHashes))
-                                        return "quorumHashes: array expected";
-                                    for (var i = 0; i < message.quorumHashes.length; ++i)
-                                        if (!(message.quorumHashes[i] && typeof message.quorumHashes[i].length === "number" || $util.isString(message.quorumHashes[i])))
-                                            return "quorumHashes: buffer[] expected";
+                                var properties = {};
+                                if (message.identityTokenBalances != null && message.hasOwnProperty("identityTokenBalances")) {
+                                    properties.result = 1;
+                                    {
+                                        var error = $root.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances.verify(message.identityTokenBalances);
+                                        if (error)
+                                            return "identityTokenBalances." + error;
+                                    }
                                 }
-                                if (message.currentQuorumHash != null && message.hasOwnProperty("currentQuorumHash"))
-                                    if (!(message.currentQuorumHash && typeof message.currentQuorumHash.length === "number" || $util.isString(message.currentQuorumHash)))
-                                        return "currentQuorumHash: buffer expected";
-                                if (message.validatorSets != null && message.hasOwnProperty("validatorSets")) {
-                                    if (!Array.isArray(message.validatorSets))
-                                        return "validatorSets: array expected";
-                                    for (var i = 0; i < message.validatorSets.length; ++i) {
-                                        var error = $root.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.verify(message.validatorSets[i]);
+                                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 "validatorSets." + error;
+                                            return "proof." + error;
                                     }
                                 }
-                                if (message.lastBlockProposer != null && message.hasOwnProperty("lastBlockProposer"))
-                                    if (!(message.lastBlockProposer && typeof message.lastBlockProposer.length === "number" || $util.isString(message.lastBlockProposer)))
-                                        return "lastBlockProposer: buffer expected";
                                 if (message.metadata != null && message.hasOwnProperty("metadata")) {
                                     var error = $root.org.dash.platform.dapi.v0.ResponseMetadata.verify(message.metadata);
                                     if (error)
@@ -44527,144 +50390,542 @@ $root.org = (function() {
                                 return null;
                             };
 
-                            /**
-                             * Creates a GetCurrentQuorumsInfoResponseV0 message from a plain object. Also converts values to their respective internal types.
-                             * @function fromObject
-                             * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0
-                             * @static
-                             * @param {Object.} object Plain object
-                             * @returns {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0} GetCurrentQuorumsInfoResponseV0
-                             */
-                            GetCurrentQuorumsInfoResponseV0.fromObject = function fromObject(object) {
-                                if (object instanceof $root.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0)
-                                    return object;
-                                var message = new $root.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0();
-                                if (object.quorumHashes) {
-                                    if (!Array.isArray(object.quorumHashes))
-                                        throw TypeError(".org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.quorumHashes: array expected");
-                                    message.quorumHashes = [];
-                                    for (var i = 0; i < object.quorumHashes.length; ++i)
-                                        if (typeof object.quorumHashes[i] === "string")
-                                            $util.base64.decode(object.quorumHashes[i], message.quorumHashes[i] = $util.newBuffer($util.base64.length(object.quorumHashes[i])), 0);
-                                        else if (object.quorumHashes[i].length >= 0)
-                                            message.quorumHashes[i] = object.quorumHashes[i];
-                                }
-                                if (object.currentQuorumHash != null)
-                                    if (typeof object.currentQuorumHash === "string")
-                                        $util.base64.decode(object.currentQuorumHash, message.currentQuorumHash = $util.newBuffer($util.base64.length(object.currentQuorumHash)), 0);
-                                    else if (object.currentQuorumHash.length >= 0)
-                                        message.currentQuorumHash = object.currentQuorumHash;
-                                if (object.validatorSets) {
-                                    if (!Array.isArray(object.validatorSets))
-                                        throw TypeError(".org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.validatorSets: array expected");
-                                    message.validatorSets = [];
-                                    for (var i = 0; i < object.validatorSets.length; ++i) {
-                                        if (typeof object.validatorSets[i] !== "object")
-                                            throw TypeError(".org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.validatorSets: object expected");
-                                        message.validatorSets[i] = $root.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.fromObject(object.validatorSets[i]);
+                            /**
+                             * Creates a GetIdentitiesTokenBalancesResponseV0 message from a plain object. Also converts values to their respective internal types.
+                             * @function fromObject
+                             * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0
+                             * @static
+                             * @param {Object.} object Plain object
+                             * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0} GetIdentitiesTokenBalancesResponseV0
+                             */
+                            GetIdentitiesTokenBalancesResponseV0.fromObject = function fromObject(object) {
+                                if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0)
+                                    return object;
+                                var message = new $root.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0();
+                                if (object.identityTokenBalances != null) {
+                                    if (typeof object.identityTokenBalances !== "object")
+                                        throw TypeError(".org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.identityTokenBalances: object expected");
+                                    message.identityTokenBalances = $root.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances.fromObject(object.identityTokenBalances);
+                                }
+                                if (object.proof != null) {
+                                    if (typeof object.proof !== "object")
+                                        throw TypeError(".org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.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.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.metadata: object expected");
+                                    message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.fromObject(object.metadata);
+                                }
+                                return message;
+                            };
+
+                            /**
+                             * Creates a plain object from a GetIdentitiesTokenBalancesResponseV0 message. Also converts values to other types if specified.
+                             * @function toObject
+                             * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0
+                             * @static
+                             * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0} message GetIdentitiesTokenBalancesResponseV0
+                             * @param {$protobuf.IConversionOptions} [options] Conversion options
+                             * @returns {Object.} Plain object
+                             */
+                            GetIdentitiesTokenBalancesResponseV0.toObject = function toObject(message, options) {
+                                if (!options)
+                                    options = {};
+                                var object = {};
+                                if (options.defaults)
+                                    object.metadata = null;
+                                if (message.identityTokenBalances != null && message.hasOwnProperty("identityTokenBalances")) {
+                                    object.identityTokenBalances = $root.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances.toObject(message.identityTokenBalances, options);
+                                    if (options.oneofs)
+                                        object.result = "identityTokenBalances";
+                                }
+                                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 GetIdentitiesTokenBalancesResponseV0 to JSON.
+                             * @function toJSON
+                             * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0
+                             * @instance
+                             * @returns {Object.} JSON object
+                             */
+                            GetIdentitiesTokenBalancesResponseV0.prototype.toJSON = function toJSON() {
+                                return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+                            };
+
+                            GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry = (function() {
+
+                                /**
+                                 * Properties of an IdentityTokenBalanceEntry.
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0
+                                 * @interface IIdentityTokenBalanceEntry
+                                 * @property {Uint8Array|null} [identityId] IdentityTokenBalanceEntry identityId
+                                 * @property {number|Long|null} [balance] IdentityTokenBalanceEntry balance
+                                 */
+
+                                /**
+                                 * Constructs a new IdentityTokenBalanceEntry.
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0
+                                 * @classdesc Represents an IdentityTokenBalanceEntry.
+                                 * @implements IIdentityTokenBalanceEntry
+                                 * @constructor
+                                 * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IIdentityTokenBalanceEntry=} [properties] Properties to set
+                                 */
+                                function IdentityTokenBalanceEntry(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]];
+                                }
+
+                                /**
+                                 * IdentityTokenBalanceEntry identityId.
+                                 * @member {Uint8Array} identityId
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry
+                                 * @instance
+                                 */
+                                IdentityTokenBalanceEntry.prototype.identityId = $util.newBuffer([]);
+
+                                /**
+                                 * IdentityTokenBalanceEntry balance.
+                                 * @member {number|Long} balance
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry
+                                 * @instance
+                                 */
+                                IdentityTokenBalanceEntry.prototype.balance = $util.Long ? $util.Long.fromBits(0,0,true) : 0;
+
+                                /**
+                                 * Creates a new IdentityTokenBalanceEntry instance using the specified properties.
+                                 * @function create
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry
+                                 * @static
+                                 * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IIdentityTokenBalanceEntry=} [properties] Properties to set
+                                 * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry} IdentityTokenBalanceEntry instance
+                                 */
+                                IdentityTokenBalanceEntry.create = function create(properties) {
+                                    return new IdentityTokenBalanceEntry(properties);
+                                };
+
+                                /**
+                                 * Encodes the specified IdentityTokenBalanceEntry message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry.verify|verify} messages.
+                                 * @function encode
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry
+                                 * @static
+                                 * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IIdentityTokenBalanceEntry} message IdentityTokenBalanceEntry message or plain object to encode
+                                 * @param {$protobuf.Writer} [writer] Writer to encode to
+                                 * @returns {$protobuf.Writer} Writer
+                                 */
+                                IdentityTokenBalanceEntry.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.balance != null && Object.hasOwnProperty.call(message, "balance"))
+                                        writer.uint32(/* id 2, wireType 0 =*/16).uint64(message.balance);
+                                    return writer;
+                                };
+
+                                /**
+                                 * Encodes the specified IdentityTokenBalanceEntry message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry.verify|verify} messages.
+                                 * @function encodeDelimited
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry
+                                 * @static
+                                 * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IIdentityTokenBalanceEntry} message IdentityTokenBalanceEntry message or plain object to encode
+                                 * @param {$protobuf.Writer} [writer] Writer to encode to
+                                 * @returns {$protobuf.Writer} Writer
+                                 */
+                                IdentityTokenBalanceEntry.encodeDelimited = function encodeDelimited(message, writer) {
+                                    return this.encode(message, writer).ldelim();
+                                };
+
+                                /**
+                                 * Decodes an IdentityTokenBalanceEntry message from the specified reader or buffer.
+                                 * @function decode
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry
+                                 * @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.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry} IdentityTokenBalanceEntry
+                                 * @throws {Error} If the payload is not a reader or valid buffer
+                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
+                                 */
+                                IdentityTokenBalanceEntry.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.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry();
+                                    while (reader.pos < end) {
+                                        var tag = reader.uint32();
+                                        switch (tag >>> 3) {
+                                        case 1:
+                                            message.identityId = reader.bytes();
+                                            break;
+                                        case 2:
+                                            message.balance = reader.uint64();
+                                            break;
+                                        default:
+                                            reader.skipType(tag & 7);
+                                            break;
+                                        }
+                                    }
+                                    return message;
+                                };
+
+                                /**
+                                 * Decodes an IdentityTokenBalanceEntry message from the specified reader or buffer, length delimited.
+                                 * @function decodeDelimited
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry
+                                 * @static
+                                 * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+                                 * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry} IdentityTokenBalanceEntry
+                                 * @throws {Error} If the payload is not a reader or valid buffer
+                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
+                                 */
+                                IdentityTokenBalanceEntry.decodeDelimited = function decodeDelimited(reader) {
+                                    if (!(reader instanceof $Reader))
+                                        reader = new $Reader(reader);
+                                    return this.decode(reader, reader.uint32());
+                                };
+
+                                /**
+                                 * Verifies an IdentityTokenBalanceEntry message.
+                                 * @function verify
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry
+                                 * @static
+                                 * @param {Object.} message Plain object to verify
+                                 * @returns {string|null} `null` if valid, otherwise the reason why it is not
+                                 */
+                                IdentityTokenBalanceEntry.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.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";
+                                    return null;
+                                };
+
+                                /**
+                                 * Creates an IdentityTokenBalanceEntry message from a plain object. Also converts values to their respective internal types.
+                                 * @function fromObject
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry
+                                 * @static
+                                 * @param {Object.} object Plain object
+                                 * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry} IdentityTokenBalanceEntry
+                                 */
+                                IdentityTokenBalanceEntry.fromObject = function fromObject(object) {
+                                    if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry)
+                                        return object;
+                                    var message = new $root.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry();
+                                    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.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);
+                                    return message;
+                                };
+
+                                /**
+                                 * Creates a plain object from an IdentityTokenBalanceEntry message. Also converts values to other types if specified.
+                                 * @function toObject
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry
+                                 * @static
+                                 * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry} message IdentityTokenBalanceEntry
+                                 * @param {$protobuf.IConversionOptions} [options] Conversion options
+                                 * @returns {Object.} Plain object
+                                 */
+                                IdentityTokenBalanceEntry.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);
+                                        }
+                                        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 (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.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;
+                                    return object;
+                                };
+
+                                /**
+                                 * Converts this IdentityTokenBalanceEntry to JSON.
+                                 * @function toJSON
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry
+                                 * @instance
+                                 * @returns {Object.} JSON object
+                                 */
+                                IdentityTokenBalanceEntry.prototype.toJSON = function toJSON() {
+                                    return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+                                };
+
+                                return IdentityTokenBalanceEntry;
+                            })();
+
+                            GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances = (function() {
+
+                                /**
+                                 * Properties of an IdentityTokenBalances.
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0
+                                 * @interface IIdentityTokenBalances
+                                 * @property {Array.|null} [identityTokenBalances] IdentityTokenBalances identityTokenBalances
+                                 */
+
+                                /**
+                                 * Constructs a new IdentityTokenBalances.
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0
+                                 * @classdesc Represents an IdentityTokenBalances.
+                                 * @implements IIdentityTokenBalances
+                                 * @constructor
+                                 * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IIdentityTokenBalances=} [properties] Properties to set
+                                 */
+                                function IdentityTokenBalances(properties) {
+                                    this.identityTokenBalances = [];
+                                    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]];
+                                }
+
+                                /**
+                                 * IdentityTokenBalances identityTokenBalances.
+                                 * @member {Array.} identityTokenBalances
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances
+                                 * @instance
+                                 */
+                                IdentityTokenBalances.prototype.identityTokenBalances = $util.emptyArray;
+
+                                /**
+                                 * Creates a new IdentityTokenBalances instance using the specified properties.
+                                 * @function create
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances
+                                 * @static
+                                 * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IIdentityTokenBalances=} [properties] Properties to set
+                                 * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances} IdentityTokenBalances instance
+                                 */
+                                IdentityTokenBalances.create = function create(properties) {
+                                    return new IdentityTokenBalances(properties);
+                                };
+
+                                /**
+                                 * Encodes the specified IdentityTokenBalances message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances.verify|verify} messages.
+                                 * @function encode
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances
+                                 * @static
+                                 * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IIdentityTokenBalances} message IdentityTokenBalances message or plain object to encode
+                                 * @param {$protobuf.Writer} [writer] Writer to encode to
+                                 * @returns {$protobuf.Writer} Writer
+                                 */
+                                IdentityTokenBalances.encode = function encode(message, writer) {
+                                    if (!writer)
+                                        writer = $Writer.create();
+                                    if (message.identityTokenBalances != null && message.identityTokenBalances.length)
+                                        for (var i = 0; i < message.identityTokenBalances.length; ++i)
+                                            $root.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry.encode(message.identityTokenBalances[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+                                    return writer;
+                                };
+
+                                /**
+                                 * Encodes the specified IdentityTokenBalances message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances.verify|verify} messages.
+                                 * @function encodeDelimited
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances
+                                 * @static
+                                 * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IIdentityTokenBalances} message IdentityTokenBalances message or plain object to encode
+                                 * @param {$protobuf.Writer} [writer] Writer to encode to
+                                 * @returns {$protobuf.Writer} Writer
+                                 */
+                                IdentityTokenBalances.encodeDelimited = function encodeDelimited(message, writer) {
+                                    return this.encode(message, writer).ldelim();
+                                };
+
+                                /**
+                                 * Decodes an IdentityTokenBalances message from the specified reader or buffer.
+                                 * @function decode
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances
+                                 * @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.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances} IdentityTokenBalances
+                                 * @throws {Error} If the payload is not a reader or valid buffer
+                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
+                                 */
+                                IdentityTokenBalances.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.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances();
+                                    while (reader.pos < end) {
+                                        var tag = reader.uint32();
+                                        switch (tag >>> 3) {
+                                        case 1:
+                                            if (!(message.identityTokenBalances && message.identityTokenBalances.length))
+                                                message.identityTokenBalances = [];
+                                            message.identityTokenBalances.push($root.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry.decode(reader, reader.uint32()));
+                                            break;
+                                        default:
+                                            reader.skipType(tag & 7);
+                                            break;
+                                        }
+                                    }
+                                    return message;
+                                };
+
+                                /**
+                                 * Decodes an IdentityTokenBalances message from the specified reader or buffer, length delimited.
+                                 * @function decodeDelimited
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances
+                                 * @static
+                                 * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+                                 * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances} IdentityTokenBalances
+                                 * @throws {Error} If the payload is not a reader or valid buffer
+                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
+                                 */
+                                IdentityTokenBalances.decodeDelimited = function decodeDelimited(reader) {
+                                    if (!(reader instanceof $Reader))
+                                        reader = new $Reader(reader);
+                                    return this.decode(reader, reader.uint32());
+                                };
+
+                                /**
+                                 * Verifies an IdentityTokenBalances message.
+                                 * @function verify
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances
+                                 * @static
+                                 * @param {Object.} message Plain object to verify
+                                 * @returns {string|null} `null` if valid, otherwise the reason why it is not
+                                 */
+                                IdentityTokenBalances.verify = function verify(message) {
+                                    if (typeof message !== "object" || message === null)
+                                        return "object expected";
+                                    if (message.identityTokenBalances != null && message.hasOwnProperty("identityTokenBalances")) {
+                                        if (!Array.isArray(message.identityTokenBalances))
+                                            return "identityTokenBalances: array expected";
+                                        for (var i = 0; i < message.identityTokenBalances.length; ++i) {
+                                            var error = $root.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry.verify(message.identityTokenBalances[i]);
+                                            if (error)
+                                                return "identityTokenBalances." + error;
+                                        }
                                     }
-                                }
-                                if (object.lastBlockProposer != null)
-                                    if (typeof object.lastBlockProposer === "string")
-                                        $util.base64.decode(object.lastBlockProposer, message.lastBlockProposer = $util.newBuffer($util.base64.length(object.lastBlockProposer)), 0);
-                                    else if (object.lastBlockProposer.length >= 0)
-                                        message.lastBlockProposer = object.lastBlockProposer;
-                                if (object.metadata != null) {
-                                    if (typeof object.metadata !== "object")
-                                        throw TypeError(".org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.metadata: object expected");
-                                    message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.fromObject(object.metadata);
-                                }
-                                return message;
-                            };
+                                    return null;
+                                };
 
-                            /**
-                             * Creates a plain object from a GetCurrentQuorumsInfoResponseV0 message. Also converts values to other types if specified.
-                             * @function toObject
-                             * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0
-                             * @static
-                             * @param {org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0} message GetCurrentQuorumsInfoResponseV0
-                             * @param {$protobuf.IConversionOptions} [options] Conversion options
-                             * @returns {Object.} Plain object
-                             */
-                            GetCurrentQuorumsInfoResponseV0.toObject = function toObject(message, options) {
-                                if (!options)
-                                    options = {};
-                                var object = {};
-                                if (options.arrays || options.defaults) {
-                                    object.quorumHashes = [];
-                                    object.validatorSets = [];
-                                }
-                                if (options.defaults) {
-                                    if (options.bytes === String)
-                                        object.currentQuorumHash = "";
-                                    else {
-                                        object.currentQuorumHash = [];
-                                        if (options.bytes !== Array)
-                                            object.currentQuorumHash = $util.newBuffer(object.currentQuorumHash);
+                                /**
+                                 * Creates an IdentityTokenBalances message from a plain object. Also converts values to their respective internal types.
+                                 * @function fromObject
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances
+                                 * @static
+                                 * @param {Object.} object Plain object
+                                 * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances} IdentityTokenBalances
+                                 */
+                                IdentityTokenBalances.fromObject = function fromObject(object) {
+                                    if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances)
+                                        return object;
+                                    var message = new $root.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances();
+                                    if (object.identityTokenBalances) {
+                                        if (!Array.isArray(object.identityTokenBalances))
+                                            throw TypeError(".org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances.identityTokenBalances: array expected");
+                                        message.identityTokenBalances = [];
+                                        for (var i = 0; i < object.identityTokenBalances.length; ++i) {
+                                            if (typeof object.identityTokenBalances[i] !== "object")
+                                                throw TypeError(".org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances.identityTokenBalances: object expected");
+                                            message.identityTokenBalances[i] = $root.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry.fromObject(object.identityTokenBalances[i]);
+                                        }
                                     }
-                                    if (options.bytes === String)
-                                        object.lastBlockProposer = "";
-                                    else {
-                                        object.lastBlockProposer = [];
-                                        if (options.bytes !== Array)
-                                            object.lastBlockProposer = $util.newBuffer(object.lastBlockProposer);
+                                    return message;
+                                };
+
+                                /**
+                                 * Creates a plain object from an IdentityTokenBalances message. Also converts values to other types if specified.
+                                 * @function toObject
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances
+                                 * @static
+                                 * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances} message IdentityTokenBalances
+                                 * @param {$protobuf.IConversionOptions} [options] Conversion options
+                                 * @returns {Object.} Plain object
+                                 */
+                                IdentityTokenBalances.toObject = function toObject(message, options) {
+                                    if (!options)
+                                        options = {};
+                                    var object = {};
+                                    if (options.arrays || options.defaults)
+                                        object.identityTokenBalances = [];
+                                    if (message.identityTokenBalances && message.identityTokenBalances.length) {
+                                        object.identityTokenBalances = [];
+                                        for (var j = 0; j < message.identityTokenBalances.length; ++j)
+                                            object.identityTokenBalances[j] = $root.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry.toObject(message.identityTokenBalances[j], options);
                                     }
-                                    object.metadata = null;
-                                }
-                                if (message.quorumHashes && message.quorumHashes.length) {
-                                    object.quorumHashes = [];
-                                    for (var j = 0; j < message.quorumHashes.length; ++j)
-                                        object.quorumHashes[j] = options.bytes === String ? $util.base64.encode(message.quorumHashes[j], 0, message.quorumHashes[j].length) : options.bytes === Array ? Array.prototype.slice.call(message.quorumHashes[j]) : message.quorumHashes[j];
-                                }
-                                if (message.currentQuorumHash != null && message.hasOwnProperty("currentQuorumHash"))
-                                    object.currentQuorumHash = options.bytes === String ? $util.base64.encode(message.currentQuorumHash, 0, message.currentQuorumHash.length) : options.bytes === Array ? Array.prototype.slice.call(message.currentQuorumHash) : message.currentQuorumHash;
-                                if (message.validatorSets && message.validatorSets.length) {
-                                    object.validatorSets = [];
-                                    for (var j = 0; j < message.validatorSets.length; ++j)
-                                        object.validatorSets[j] = $root.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.toObject(message.validatorSets[j], options);
-                                }
-                                if (message.lastBlockProposer != null && message.hasOwnProperty("lastBlockProposer"))
-                                    object.lastBlockProposer = options.bytes === String ? $util.base64.encode(message.lastBlockProposer, 0, message.lastBlockProposer.length) : options.bytes === Array ? Array.prototype.slice.call(message.lastBlockProposer) : message.lastBlockProposer;
-                                if (message.metadata != null && message.hasOwnProperty("metadata"))
-                                    object.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.toObject(message.metadata, options);
-                                return object;
-                            };
+                                    return object;
+                                };
 
-                            /**
-                             * Converts this GetCurrentQuorumsInfoResponseV0 to JSON.
-                             * @function toJSON
-                             * @memberof org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0
-                             * @instance
-                             * @returns {Object.} JSON object
-                             */
-                            GetCurrentQuorumsInfoResponseV0.prototype.toJSON = function toJSON() {
-                                return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
-                            };
+                                /**
+                                 * Converts this IdentityTokenBalances to JSON.
+                                 * @function toJSON
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances
+                                 * @instance
+                                 * @returns {Object.} JSON object
+                                 */
+                                IdentityTokenBalances.prototype.toJSON = function toJSON() {
+                                    return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+                                };
 
-                            return GetCurrentQuorumsInfoResponseV0;
+                                return IdentityTokenBalances;
+                            })();
+
+                            return GetIdentitiesTokenBalancesResponseV0;
                         })();
 
-                        return GetCurrentQuorumsInfoResponse;
+                        return GetIdentitiesTokenBalancesResponse;
                     })();
 
-                    v0.GetIdentityTokenBalancesRequest = (function() {
+                    v0.GetIdentityTokenInfosRequest = (function() {
 
                         /**
-                         * Properties of a GetIdentityTokenBalancesRequest.
+                         * Properties of a GetIdentityTokenInfosRequest.
                          * @memberof org.dash.platform.dapi.v0
-                         * @interface IGetIdentityTokenBalancesRequest
-                         * @property {org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.IGetIdentityTokenBalancesRequestV0|null} [v0] GetIdentityTokenBalancesRequest v0
+                         * @interface IGetIdentityTokenInfosRequest
+                         * @property {org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.IGetIdentityTokenInfosRequestV0|null} [v0] GetIdentityTokenInfosRequest v0
                          */
 
                         /**
-                         * Constructs a new GetIdentityTokenBalancesRequest.
+                         * Constructs a new GetIdentityTokenInfosRequest.
                          * @memberof org.dash.platform.dapi.v0
-                         * @classdesc Represents a GetIdentityTokenBalancesRequest.
-                         * @implements IGetIdentityTokenBalancesRequest
+                         * @classdesc Represents a GetIdentityTokenInfosRequest.
+                         * @implements IGetIdentityTokenInfosRequest
                          * @constructor
-                         * @param {org.dash.platform.dapi.v0.IGetIdentityTokenBalancesRequest=} [properties] Properties to set
+                         * @param {org.dash.platform.dapi.v0.IGetIdentityTokenInfosRequest=} [properties] Properties to set
                          */
-                        function GetIdentityTokenBalancesRequest(properties) {
+                        function GetIdentityTokenInfosRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
                                     if (properties[keys[i]] != null)
@@ -44672,89 +50933,89 @@ $root.org = (function() {
                         }
 
                         /**
-                         * GetIdentityTokenBalancesRequest v0.
-                         * @member {org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.IGetIdentityTokenBalancesRequestV0|null|undefined} v0
-                         * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest
+                         * GetIdentityTokenInfosRequest v0.
+                         * @member {org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.IGetIdentityTokenInfosRequestV0|null|undefined} v0
+                         * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest
                          * @instance
                          */
-                        GetIdentityTokenBalancesRequest.prototype.v0 = null;
+                        GetIdentityTokenInfosRequest.prototype.v0 = null;
 
                         // OneOf field names bound to virtual getters and setters
                         var $oneOfFields;
 
                         /**
-                         * GetIdentityTokenBalancesRequest version.
+                         * GetIdentityTokenInfosRequest version.
                          * @member {"v0"|undefined} version
-                         * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest
+                         * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest
                          * @instance
                          */
-                        Object.defineProperty(GetIdentityTokenBalancesRequest.prototype, "version", {
+                        Object.defineProperty(GetIdentityTokenInfosRequest.prototype, "version", {
                             get: $util.oneOfGetter($oneOfFields = ["v0"]),
                             set: $util.oneOfSetter($oneOfFields)
                         });
 
                         /**
-                         * Creates a new GetIdentityTokenBalancesRequest instance using the specified properties.
+                         * Creates a new GetIdentityTokenInfosRequest instance using the specified properties.
                          * @function create
-                         * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest
+                         * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest
                          * @static
-                         * @param {org.dash.platform.dapi.v0.IGetIdentityTokenBalancesRequest=} [properties] Properties to set
-                         * @returns {org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest} GetIdentityTokenBalancesRequest instance
+                         * @param {org.dash.platform.dapi.v0.IGetIdentityTokenInfosRequest=} [properties] Properties to set
+                         * @returns {org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest} GetIdentityTokenInfosRequest instance
                          */
-                        GetIdentityTokenBalancesRequest.create = function create(properties) {
-                            return new GetIdentityTokenBalancesRequest(properties);
+                        GetIdentityTokenInfosRequest.create = function create(properties) {
+                            return new GetIdentityTokenInfosRequest(properties);
                         };
 
                         /**
-                         * Encodes the specified GetIdentityTokenBalancesRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.verify|verify} messages.
+                         * Encodes the specified GetIdentityTokenInfosRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.verify|verify} messages.
                          * @function encode
-                         * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest
+                         * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest
                          * @static
-                         * @param {org.dash.platform.dapi.v0.IGetIdentityTokenBalancesRequest} message GetIdentityTokenBalancesRequest message or plain object to encode
+                         * @param {org.dash.platform.dapi.v0.IGetIdentityTokenInfosRequest} message GetIdentityTokenInfosRequest message or plain object to encode
                          * @param {$protobuf.Writer} [writer] Writer to encode to
                          * @returns {$protobuf.Writer} Writer
                          */
-                        GetIdentityTokenBalancesRequest.encode = function encode(message, writer) {
+                        GetIdentityTokenInfosRequest.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.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+                                $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
                             return writer;
                         };
 
                         /**
-                         * Encodes the specified GetIdentityTokenBalancesRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.verify|verify} messages.
+                         * Encodes the specified GetIdentityTokenInfosRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.verify|verify} messages.
                          * @function encodeDelimited
-                         * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest
+                         * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest
                          * @static
-                         * @param {org.dash.platform.dapi.v0.IGetIdentityTokenBalancesRequest} message GetIdentityTokenBalancesRequest message or plain object to encode
+                         * @param {org.dash.platform.dapi.v0.IGetIdentityTokenInfosRequest} message GetIdentityTokenInfosRequest message or plain object to encode
                          * @param {$protobuf.Writer} [writer] Writer to encode to
                          * @returns {$protobuf.Writer} Writer
                          */
-                        GetIdentityTokenBalancesRequest.encodeDelimited = function encodeDelimited(message, writer) {
+                        GetIdentityTokenInfosRequest.encodeDelimited = function encodeDelimited(message, writer) {
                             return this.encode(message, writer).ldelim();
                         };
 
                         /**
-                         * Decodes a GetIdentityTokenBalancesRequest message from the specified reader or buffer.
+                         * Decodes a GetIdentityTokenInfosRequest message from the specified reader or buffer.
                          * @function decode
-                         * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest
+                         * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest
                          * @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.GetIdentityTokenBalancesRequest} GetIdentityTokenBalancesRequest
+                         * @returns {org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest} GetIdentityTokenInfosRequest
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        GetIdentityTokenBalancesRequest.decode = function decode(reader, length) {
+                        GetIdentityTokenInfosRequest.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.GetIdentityTokenBalancesRequest();
+                            var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
                                 switch (tag >>> 3) {
                                 case 1:
-                                    message.v0 = $root.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.decode(reader, reader.uint32());
+                                    message.v0 = $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.decode(reader, reader.uint32());
                                     break;
                                 default:
                                     reader.skipType(tag & 7);
@@ -44765,37 +51026,37 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Decodes a GetIdentityTokenBalancesRequest message from the specified reader or buffer, length delimited.
+                         * Decodes a GetIdentityTokenInfosRequest message from the specified reader or buffer, length delimited.
                          * @function decodeDelimited
-                         * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest
+                         * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest
                          * @static
                          * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                         * @returns {org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest} GetIdentityTokenBalancesRequest
+                         * @returns {org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest} GetIdentityTokenInfosRequest
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        GetIdentityTokenBalancesRequest.decodeDelimited = function decodeDelimited(reader) {
+                        GetIdentityTokenInfosRequest.decodeDelimited = function decodeDelimited(reader) {
                             if (!(reader instanceof $Reader))
                                 reader = new $Reader(reader);
                             return this.decode(reader, reader.uint32());
                         };
 
                         /**
-                         * Verifies a GetIdentityTokenBalancesRequest message.
+                         * Verifies a GetIdentityTokenInfosRequest message.
                          * @function verify
-                         * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest
+                         * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest
                          * @static
                          * @param {Object.} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        GetIdentityTokenBalancesRequest.verify = function verify(message) {
+                        GetIdentityTokenInfosRequest.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.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.verify(message.v0);
+                                    var error = $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.verify(message.v0);
                                     if (error)
                                         return "v0." + error;
                                 }
@@ -44804,40 +51065,40 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Creates a GetIdentityTokenBalancesRequest message from a plain object. Also converts values to their respective internal types.
+                         * Creates a GetIdentityTokenInfosRequest message from a plain object. Also converts values to their respective internal types.
                          * @function fromObject
-                         * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest
+                         * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest
                          * @static
                          * @param {Object.} object Plain object
-                         * @returns {org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest} GetIdentityTokenBalancesRequest
+                         * @returns {org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest} GetIdentityTokenInfosRequest
                          */
-                        GetIdentityTokenBalancesRequest.fromObject = function fromObject(object) {
-                            if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest)
+                        GetIdentityTokenInfosRequest.fromObject = function fromObject(object) {
+                            if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest)
                                 return object;
-                            var message = new $root.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest();
+                            var message = new $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest();
                             if (object.v0 != null) {
                                 if (typeof object.v0 !== "object")
-                                    throw TypeError(".org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.v0: object expected");
-                                message.v0 = $root.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.fromObject(object.v0);
+                                    throw TypeError(".org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.v0: object expected");
+                                message.v0 = $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.fromObject(object.v0);
                             }
                             return message;
                         };
 
                         /**
-                         * Creates a plain object from a GetIdentityTokenBalancesRequest message. Also converts values to other types if specified.
+                         * Creates a plain object from a GetIdentityTokenInfosRequest message. Also converts values to other types if specified.
                          * @function toObject
-                         * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest
+                         * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest
                          * @static
-                         * @param {org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest} message GetIdentityTokenBalancesRequest
+                         * @param {org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest} message GetIdentityTokenInfosRequest
                          * @param {$protobuf.IConversionOptions} [options] Conversion options
                          * @returns {Object.} Plain object
                          */
-                        GetIdentityTokenBalancesRequest.toObject = function toObject(message, options) {
+                        GetIdentityTokenInfosRequest.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.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.toObject(message.v0, options);
+                                object.v0 = $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.toObject(message.v0, options);
                                 if (options.oneofs)
                                     object.version = "v0";
                             }
@@ -44845,36 +51106,36 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Converts this GetIdentityTokenBalancesRequest to JSON.
+                         * Converts this GetIdentityTokenInfosRequest to JSON.
                          * @function toJSON
-                         * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest
+                         * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest
                          * @instance
                          * @returns {Object.} JSON object
                          */
-                        GetIdentityTokenBalancesRequest.prototype.toJSON = function toJSON() {
+                        GetIdentityTokenInfosRequest.prototype.toJSON = function toJSON() {
                             return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
                         };
 
-                        GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0 = (function() {
+                        GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0 = (function() {
 
                             /**
-                             * Properties of a GetIdentityTokenBalancesRequestV0.
-                             * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest
-                             * @interface IGetIdentityTokenBalancesRequestV0
-                             * @property {Uint8Array|null} [identityId] GetIdentityTokenBalancesRequestV0 identityId
-                             * @property {Array.|null} [tokenIds] GetIdentityTokenBalancesRequestV0 tokenIds
-                             * @property {boolean|null} [prove] GetIdentityTokenBalancesRequestV0 prove
+                             * Properties of a GetIdentityTokenInfosRequestV0.
+                             * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest
+                             * @interface IGetIdentityTokenInfosRequestV0
+                             * @property {Uint8Array|null} [identityId] GetIdentityTokenInfosRequestV0 identityId
+                             * @property {Array.|null} [tokenIds] GetIdentityTokenInfosRequestV0 tokenIds
+                             * @property {boolean|null} [prove] GetIdentityTokenInfosRequestV0 prove
                              */
 
                             /**
-                             * Constructs a new GetIdentityTokenBalancesRequestV0.
-                             * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest
-                             * @classdesc Represents a GetIdentityTokenBalancesRequestV0.
-                             * @implements IGetIdentityTokenBalancesRequestV0
+                             * Constructs a new GetIdentityTokenInfosRequestV0.
+                             * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest
+                             * @classdesc Represents a GetIdentityTokenInfosRequestV0.
+                             * @implements IGetIdentityTokenInfosRequestV0
                              * @constructor
-                             * @param {org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.IGetIdentityTokenBalancesRequestV0=} [properties] Properties to set
+                             * @param {org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.IGetIdentityTokenInfosRequestV0=} [properties] Properties to set
                              */
-                            function GetIdentityTokenBalancesRequestV0(properties) {
+                            function GetIdentityTokenInfosRequestV0(properties) {
                                 this.tokenIds = [];
                                 if (properties)
                                     for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
@@ -44883,51 +51144,51 @@ $root.org = (function() {
                             }
 
                             /**
-                             * GetIdentityTokenBalancesRequestV0 identityId.
+                             * GetIdentityTokenInfosRequestV0 identityId.
                              * @member {Uint8Array} identityId
-                             * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0
                              * @instance
                              */
-                            GetIdentityTokenBalancesRequestV0.prototype.identityId = $util.newBuffer([]);
+                            GetIdentityTokenInfosRequestV0.prototype.identityId = $util.newBuffer([]);
 
                             /**
-                             * GetIdentityTokenBalancesRequestV0 tokenIds.
+                             * GetIdentityTokenInfosRequestV0 tokenIds.
                              * @member {Array.} tokenIds
-                             * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0
                              * @instance
                              */
-                            GetIdentityTokenBalancesRequestV0.prototype.tokenIds = $util.emptyArray;
+                            GetIdentityTokenInfosRequestV0.prototype.tokenIds = $util.emptyArray;
 
                             /**
-                             * GetIdentityTokenBalancesRequestV0 prove.
+                             * GetIdentityTokenInfosRequestV0 prove.
                              * @member {boolean} prove
-                             * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0
                              * @instance
                              */
-                            GetIdentityTokenBalancesRequestV0.prototype.prove = false;
+                            GetIdentityTokenInfosRequestV0.prototype.prove = false;
 
                             /**
-                             * Creates a new GetIdentityTokenBalancesRequestV0 instance using the specified properties.
+                             * Creates a new GetIdentityTokenInfosRequestV0 instance using the specified properties.
                              * @function create
-                             * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.IGetIdentityTokenBalancesRequestV0=} [properties] Properties to set
-                             * @returns {org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0} GetIdentityTokenBalancesRequestV0 instance
+                             * @param {org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.IGetIdentityTokenInfosRequestV0=} [properties] Properties to set
+                             * @returns {org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0} GetIdentityTokenInfosRequestV0 instance
                              */
-                            GetIdentityTokenBalancesRequestV0.create = function create(properties) {
-                                return new GetIdentityTokenBalancesRequestV0(properties);
+                            GetIdentityTokenInfosRequestV0.create = function create(properties) {
+                                return new GetIdentityTokenInfosRequestV0(properties);
                             };
 
                             /**
-                             * Encodes the specified GetIdentityTokenBalancesRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.verify|verify} messages.
+                             * Encodes the specified GetIdentityTokenInfosRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.verify|verify} messages.
                              * @function encode
-                             * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.IGetIdentityTokenBalancesRequestV0} message GetIdentityTokenBalancesRequestV0 message or plain object to encode
+                             * @param {org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.IGetIdentityTokenInfosRequestV0} message GetIdentityTokenInfosRequestV0 message or plain object to encode
                              * @param {$protobuf.Writer} [writer] Writer to encode to
                              * @returns {$protobuf.Writer} Writer
                              */
-                            GetIdentityTokenBalancesRequestV0.encode = function encode(message, writer) {
+                            GetIdentityTokenInfosRequestV0.encode = function encode(message, writer) {
                                 if (!writer)
                                     writer = $Writer.create();
                                 if (message.identityId != null && Object.hasOwnProperty.call(message, "identityId"))
@@ -44941,33 +51202,33 @@ $root.org = (function() {
                             };
 
                             /**
-                             * Encodes the specified GetIdentityTokenBalancesRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.verify|verify} messages.
+                             * Encodes the specified GetIdentityTokenInfosRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.verify|verify} messages.
                              * @function encodeDelimited
-                             * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.IGetIdentityTokenBalancesRequestV0} message GetIdentityTokenBalancesRequestV0 message or plain object to encode
+                             * @param {org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.IGetIdentityTokenInfosRequestV0} message GetIdentityTokenInfosRequestV0 message or plain object to encode
                              * @param {$protobuf.Writer} [writer] Writer to encode to
                              * @returns {$protobuf.Writer} Writer
                              */
-                            GetIdentityTokenBalancesRequestV0.encodeDelimited = function encodeDelimited(message, writer) {
+                            GetIdentityTokenInfosRequestV0.encodeDelimited = function encodeDelimited(message, writer) {
                                 return this.encode(message, writer).ldelim();
                             };
 
                             /**
-                             * Decodes a GetIdentityTokenBalancesRequestV0 message from the specified reader or buffer.
+                             * Decodes a GetIdentityTokenInfosRequestV0 message from the specified reader or buffer.
                              * @function decode
-                             * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0
                              * @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.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0} GetIdentityTokenBalancesRequestV0
+                             * @returns {org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0} GetIdentityTokenInfosRequestV0
                              * @throws {Error} If the payload is not a reader or valid buffer
                              * @throws {$protobuf.util.ProtocolError} If required fields are missing
                              */
-                            GetIdentityTokenBalancesRequestV0.decode = function decode(reader, length) {
+                            GetIdentityTokenInfosRequestV0.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.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0();
+                                var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0();
                                 while (reader.pos < end) {
                                     var tag = reader.uint32();
                                     switch (tag >>> 3) {
@@ -44991,30 +51252,30 @@ $root.org = (function() {
                             };
 
                             /**
-                             * Decodes a GetIdentityTokenBalancesRequestV0 message from the specified reader or buffer, length delimited.
+                             * Decodes a GetIdentityTokenInfosRequestV0 message from the specified reader or buffer, length delimited.
                              * @function decodeDelimited
-                             * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0
                              * @static
                              * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                             * @returns {org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0} GetIdentityTokenBalancesRequestV0
+                             * @returns {org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0} GetIdentityTokenInfosRequestV0
                              * @throws {Error} If the payload is not a reader or valid buffer
                              * @throws {$protobuf.util.ProtocolError} If required fields are missing
                              */
-                            GetIdentityTokenBalancesRequestV0.decodeDelimited = function decodeDelimited(reader) {
+                            GetIdentityTokenInfosRequestV0.decodeDelimited = function decodeDelimited(reader) {
                                 if (!(reader instanceof $Reader))
                                     reader = new $Reader(reader);
                                 return this.decode(reader, reader.uint32());
                             };
 
                             /**
-                             * Verifies a GetIdentityTokenBalancesRequestV0 message.
+                             * Verifies a GetIdentityTokenInfosRequestV0 message.
                              * @function verify
-                             * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0
                              * @static
                              * @param {Object.} message Plain object to verify
                              * @returns {string|null} `null` if valid, otherwise the reason why it is not
                              */
-                            GetIdentityTokenBalancesRequestV0.verify = function verify(message) {
+                            GetIdentityTokenInfosRequestV0.verify = function verify(message) {
                                 if (typeof message !== "object" || message === null)
                                     return "object expected";
                                 if (message.identityId != null && message.hasOwnProperty("identityId"))
@@ -45034,17 +51295,17 @@ $root.org = (function() {
                             };
 
                             /**
-                             * Creates a GetIdentityTokenBalancesRequestV0 message from a plain object. Also converts values to their respective internal types.
+                             * Creates a GetIdentityTokenInfosRequestV0 message from a plain object. Also converts values to their respective internal types.
                              * @function fromObject
-                             * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0
                              * @static
                              * @param {Object.} object Plain object
-                             * @returns {org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0} GetIdentityTokenBalancesRequestV0
+                             * @returns {org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0} GetIdentityTokenInfosRequestV0
                              */
-                            GetIdentityTokenBalancesRequestV0.fromObject = function fromObject(object) {
-                                if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0)
+                            GetIdentityTokenInfosRequestV0.fromObject = function fromObject(object) {
+                                if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0)
                                     return object;
-                                var message = new $root.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0();
+                                var message = new $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0();
                                 if (object.identityId != null)
                                     if (typeof object.identityId === "string")
                                         $util.base64.decode(object.identityId, message.identityId = $util.newBuffer($util.base64.length(object.identityId)), 0);
@@ -45052,7 +51313,7 @@ $root.org = (function() {
                                         message.identityId = object.identityId;
                                 if (object.tokenIds) {
                                     if (!Array.isArray(object.tokenIds))
-                                        throw TypeError(".org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.tokenIds: array expected");
+                                        throw TypeError(".org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.tokenIds: array expected");
                                     message.tokenIds = [];
                                     for (var i = 0; i < object.tokenIds.length; ++i)
                                         if (typeof object.tokenIds[i] === "string")
@@ -45066,15 +51327,15 @@ $root.org = (function() {
                             };
 
                             /**
-                             * Creates a plain object from a GetIdentityTokenBalancesRequestV0 message. Also converts values to other types if specified.
+                             * Creates a plain object from a GetIdentityTokenInfosRequestV0 message. Also converts values to other types if specified.
                              * @function toObject
-                             * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0} message GetIdentityTokenBalancesRequestV0
+                             * @param {org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0} message GetIdentityTokenInfosRequestV0
                              * @param {$protobuf.IConversionOptions} [options] Conversion options
                              * @returns {Object.} Plain object
                              */
-                            GetIdentityTokenBalancesRequestV0.toObject = function toObject(message, options) {
+                            GetIdentityTokenInfosRequestV0.toObject = function toObject(message, options) {
                                 if (!options)
                                     options = {};
                                 var object = {};
@@ -45103,40 +51364,40 @@ $root.org = (function() {
                             };
 
                             /**
-                             * Converts this GetIdentityTokenBalancesRequestV0 to JSON.
+                             * Converts this GetIdentityTokenInfosRequestV0 to JSON.
                              * @function toJSON
-                             * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0
                              * @instance
                              * @returns {Object.} JSON object
                              */
-                            GetIdentityTokenBalancesRequestV0.prototype.toJSON = function toJSON() {
+                            GetIdentityTokenInfosRequestV0.prototype.toJSON = function toJSON() {
                                 return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
                             };
 
-                            return GetIdentityTokenBalancesRequestV0;
+                            return GetIdentityTokenInfosRequestV0;
                         })();
 
-                        return GetIdentityTokenBalancesRequest;
+                        return GetIdentityTokenInfosRequest;
                     })();
 
-                    v0.GetIdentityTokenBalancesResponse = (function() {
+                    v0.GetIdentityTokenInfosResponse = (function() {
 
                         /**
-                         * Properties of a GetIdentityTokenBalancesResponse.
+                         * Properties of a GetIdentityTokenInfosResponse.
                          * @memberof org.dash.platform.dapi.v0
-                         * @interface IGetIdentityTokenBalancesResponse
-                         * @property {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.IGetIdentityTokenBalancesResponseV0|null} [v0] GetIdentityTokenBalancesResponse v0
+                         * @interface IGetIdentityTokenInfosResponse
+                         * @property {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.IGetIdentityTokenInfosResponseV0|null} [v0] GetIdentityTokenInfosResponse v0
                          */
 
                         /**
-                         * Constructs a new GetIdentityTokenBalancesResponse.
+                         * Constructs a new GetIdentityTokenInfosResponse.
                          * @memberof org.dash.platform.dapi.v0
-                         * @classdesc Represents a GetIdentityTokenBalancesResponse.
-                         * @implements IGetIdentityTokenBalancesResponse
+                         * @classdesc Represents a GetIdentityTokenInfosResponse.
+                         * @implements IGetIdentityTokenInfosResponse
                          * @constructor
-                         * @param {org.dash.platform.dapi.v0.IGetIdentityTokenBalancesResponse=} [properties] Properties to set
+                         * @param {org.dash.platform.dapi.v0.IGetIdentityTokenInfosResponse=} [properties] Properties to set
                          */
-                        function GetIdentityTokenBalancesResponse(properties) {
+                        function GetIdentityTokenInfosResponse(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
                                     if (properties[keys[i]] != null)
@@ -45144,89 +51405,89 @@ $root.org = (function() {
                         }
 
                         /**
-                         * GetIdentityTokenBalancesResponse v0.
-                         * @member {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.IGetIdentityTokenBalancesResponseV0|null|undefined} v0
-                         * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse
+                         * GetIdentityTokenInfosResponse v0.
+                         * @member {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.IGetIdentityTokenInfosResponseV0|null|undefined} v0
+                         * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse
                          * @instance
                          */
-                        GetIdentityTokenBalancesResponse.prototype.v0 = null;
+                        GetIdentityTokenInfosResponse.prototype.v0 = null;
 
                         // OneOf field names bound to virtual getters and setters
                         var $oneOfFields;
 
                         /**
-                         * GetIdentityTokenBalancesResponse version.
+                         * GetIdentityTokenInfosResponse version.
                          * @member {"v0"|undefined} version
-                         * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse
+                         * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse
                          * @instance
                          */
-                        Object.defineProperty(GetIdentityTokenBalancesResponse.prototype, "version", {
+                        Object.defineProperty(GetIdentityTokenInfosResponse.prototype, "version", {
                             get: $util.oneOfGetter($oneOfFields = ["v0"]),
                             set: $util.oneOfSetter($oneOfFields)
                         });
 
                         /**
-                         * Creates a new GetIdentityTokenBalancesResponse instance using the specified properties.
+                         * Creates a new GetIdentityTokenInfosResponse instance using the specified properties.
                          * @function create
-                         * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse
+                         * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse
                          * @static
-                         * @param {org.dash.platform.dapi.v0.IGetIdentityTokenBalancesResponse=} [properties] Properties to set
-                         * @returns {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse} GetIdentityTokenBalancesResponse instance
+                         * @param {org.dash.platform.dapi.v0.IGetIdentityTokenInfosResponse=} [properties] Properties to set
+                         * @returns {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse} GetIdentityTokenInfosResponse instance
                          */
-                        GetIdentityTokenBalancesResponse.create = function create(properties) {
-                            return new GetIdentityTokenBalancesResponse(properties);
+                        GetIdentityTokenInfosResponse.create = function create(properties) {
+                            return new GetIdentityTokenInfosResponse(properties);
                         };
 
                         /**
-                         * Encodes the specified GetIdentityTokenBalancesResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.verify|verify} messages.
+                         * Encodes the specified GetIdentityTokenInfosResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.verify|verify} messages.
                          * @function encode
-                         * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse
+                         * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse
                          * @static
-                         * @param {org.dash.platform.dapi.v0.IGetIdentityTokenBalancesResponse} message GetIdentityTokenBalancesResponse message or plain object to encode
+                         * @param {org.dash.platform.dapi.v0.IGetIdentityTokenInfosResponse} message GetIdentityTokenInfosResponse message or plain object to encode
                          * @param {$protobuf.Writer} [writer] Writer to encode to
                          * @returns {$protobuf.Writer} Writer
                          */
-                        GetIdentityTokenBalancesResponse.encode = function encode(message, writer) {
+                        GetIdentityTokenInfosResponse.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.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+                                $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
                             return writer;
                         };
 
                         /**
-                         * Encodes the specified GetIdentityTokenBalancesResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.verify|verify} messages.
+                         * Encodes the specified GetIdentityTokenInfosResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.verify|verify} messages.
                          * @function encodeDelimited
-                         * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse
+                         * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse
                          * @static
-                         * @param {org.dash.platform.dapi.v0.IGetIdentityTokenBalancesResponse} message GetIdentityTokenBalancesResponse message or plain object to encode
+                         * @param {org.dash.platform.dapi.v0.IGetIdentityTokenInfosResponse} message GetIdentityTokenInfosResponse message or plain object to encode
                          * @param {$protobuf.Writer} [writer] Writer to encode to
                          * @returns {$protobuf.Writer} Writer
                          */
-                        GetIdentityTokenBalancesResponse.encodeDelimited = function encodeDelimited(message, writer) {
+                        GetIdentityTokenInfosResponse.encodeDelimited = function encodeDelimited(message, writer) {
                             return this.encode(message, writer).ldelim();
                         };
 
                         /**
-                         * Decodes a GetIdentityTokenBalancesResponse message from the specified reader or buffer.
+                         * Decodes a GetIdentityTokenInfosResponse message from the specified reader or buffer.
                          * @function decode
-                         * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse
+                         * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse
                          * @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.GetIdentityTokenBalancesResponse} GetIdentityTokenBalancesResponse
+                         * @returns {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse} GetIdentityTokenInfosResponse
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        GetIdentityTokenBalancesResponse.decode = function decode(reader, length) {
+                        GetIdentityTokenInfosResponse.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.GetIdentityTokenBalancesResponse();
+                            var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
                                 switch (tag >>> 3) {
                                 case 1:
-                                    message.v0 = $root.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.decode(reader, reader.uint32());
+                                    message.v0 = $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.decode(reader, reader.uint32());
                                     break;
                                 default:
                                     reader.skipType(tag & 7);
@@ -45237,37 +51498,37 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Decodes a GetIdentityTokenBalancesResponse message from the specified reader or buffer, length delimited.
+                         * Decodes a GetIdentityTokenInfosResponse message from the specified reader or buffer, length delimited.
                          * @function decodeDelimited
-                         * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse
+                         * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse
                          * @static
                          * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                         * @returns {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse} GetIdentityTokenBalancesResponse
+                         * @returns {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse} GetIdentityTokenInfosResponse
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        GetIdentityTokenBalancesResponse.decodeDelimited = function decodeDelimited(reader) {
+                        GetIdentityTokenInfosResponse.decodeDelimited = function decodeDelimited(reader) {
                             if (!(reader instanceof $Reader))
                                 reader = new $Reader(reader);
                             return this.decode(reader, reader.uint32());
                         };
 
                         /**
-                         * Verifies a GetIdentityTokenBalancesResponse message.
+                         * Verifies a GetIdentityTokenInfosResponse message.
                          * @function verify
-                         * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse
+                         * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse
                          * @static
                          * @param {Object.} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        GetIdentityTokenBalancesResponse.verify = function verify(message) {
+                        GetIdentityTokenInfosResponse.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.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.verify(message.v0);
+                                    var error = $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.verify(message.v0);
                                     if (error)
                                         return "v0." + error;
                                 }
@@ -45276,40 +51537,40 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Creates a GetIdentityTokenBalancesResponse message from a plain object. Also converts values to their respective internal types.
+                         * Creates a GetIdentityTokenInfosResponse message from a plain object. Also converts values to their respective internal types.
                          * @function fromObject
-                         * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse
+                         * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse
                          * @static
                          * @param {Object.} object Plain object
-                         * @returns {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse} GetIdentityTokenBalancesResponse
+                         * @returns {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse} GetIdentityTokenInfosResponse
                          */
-                        GetIdentityTokenBalancesResponse.fromObject = function fromObject(object) {
-                            if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse)
+                        GetIdentityTokenInfosResponse.fromObject = function fromObject(object) {
+                            if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse)
                                 return object;
-                            var message = new $root.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse();
+                            var message = new $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse();
                             if (object.v0 != null) {
                                 if (typeof object.v0 !== "object")
-                                    throw TypeError(".org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.v0: object expected");
-                                message.v0 = $root.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.fromObject(object.v0);
+                                    throw TypeError(".org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.v0: object expected");
+                                message.v0 = $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.fromObject(object.v0);
                             }
                             return message;
                         };
 
                         /**
-                         * Creates a plain object from a GetIdentityTokenBalancesResponse message. Also converts values to other types if specified.
+                         * Creates a plain object from a GetIdentityTokenInfosResponse message. Also converts values to other types if specified.
                          * @function toObject
-                         * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse
+                         * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse
                          * @static
-                         * @param {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse} message GetIdentityTokenBalancesResponse
+                         * @param {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse} message GetIdentityTokenInfosResponse
                          * @param {$protobuf.IConversionOptions} [options] Conversion options
                          * @returns {Object.} Plain object
                          */
-                        GetIdentityTokenBalancesResponse.toObject = function toObject(message, options) {
+                        GetIdentityTokenInfosResponse.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.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.toObject(message.v0, options);
+                                object.v0 = $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.toObject(message.v0, options);
                                 if (options.oneofs)
                                     object.version = "v0";
                             }
@@ -45317,36 +51578,36 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Converts this GetIdentityTokenBalancesResponse to JSON.
+                         * Converts this GetIdentityTokenInfosResponse to JSON.
                          * @function toJSON
-                         * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse
+                         * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse
                          * @instance
                          * @returns {Object.} JSON object
                          */
-                        GetIdentityTokenBalancesResponse.prototype.toJSON = function toJSON() {
+                        GetIdentityTokenInfosResponse.prototype.toJSON = function toJSON() {
                             return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
                         };
 
-                        GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0 = (function() {
+                        GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0 = (function() {
 
                             /**
-                             * Properties of a GetIdentityTokenBalancesResponseV0.
-                             * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse
-                             * @interface IGetIdentityTokenBalancesResponseV0
-                             * @property {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.ITokenBalances|null} [tokenBalances] GetIdentityTokenBalancesResponseV0 tokenBalances
-                             * @property {org.dash.platform.dapi.v0.IProof|null} [proof] GetIdentityTokenBalancesResponseV0 proof
-                             * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetIdentityTokenBalancesResponseV0 metadata
+                             * Properties of a GetIdentityTokenInfosResponseV0.
+                             * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse
+                             * @interface IGetIdentityTokenInfosResponseV0
+                             * @property {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.ITokenInfos|null} [tokenInfos] GetIdentityTokenInfosResponseV0 tokenInfos
+                             * @property {org.dash.platform.dapi.v0.IProof|null} [proof] GetIdentityTokenInfosResponseV0 proof
+                             * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetIdentityTokenInfosResponseV0 metadata
                              */
 
                             /**
-                             * Constructs a new GetIdentityTokenBalancesResponseV0.
-                             * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse
-                             * @classdesc Represents a GetIdentityTokenBalancesResponseV0.
-                             * @implements IGetIdentityTokenBalancesResponseV0
+                             * Constructs a new GetIdentityTokenInfosResponseV0.
+                             * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse
+                             * @classdesc Represents a GetIdentityTokenInfosResponseV0.
+                             * @implements IGetIdentityTokenInfosResponseV0
                              * @constructor
-                             * @param {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.IGetIdentityTokenBalancesResponseV0=} [properties] Properties to set
+                             * @param {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.IGetIdentityTokenInfosResponseV0=} [properties] Properties to set
                              */
-                            function GetIdentityTokenBalancesResponseV0(properties) {
+                            function GetIdentityTokenInfosResponseV0(properties) {
                                 if (properties)
                                     for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
                                         if (properties[keys[i]] != null)
@@ -45354,69 +51615,69 @@ $root.org = (function() {
                             }
 
                             /**
-                             * GetIdentityTokenBalancesResponseV0 tokenBalances.
-                             * @member {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.ITokenBalances|null|undefined} tokenBalances
-                             * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0
+                             * GetIdentityTokenInfosResponseV0 tokenInfos.
+                             * @member {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.ITokenInfos|null|undefined} tokenInfos
+                             * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0
                              * @instance
                              */
-                            GetIdentityTokenBalancesResponseV0.prototype.tokenBalances = null;
+                            GetIdentityTokenInfosResponseV0.prototype.tokenInfos = null;
 
                             /**
-                             * GetIdentityTokenBalancesResponseV0 proof.
+                             * GetIdentityTokenInfosResponseV0 proof.
                              * @member {org.dash.platform.dapi.v0.IProof|null|undefined} proof
-                             * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0
                              * @instance
                              */
-                            GetIdentityTokenBalancesResponseV0.prototype.proof = null;
+                            GetIdentityTokenInfosResponseV0.prototype.proof = null;
 
                             /**
-                             * GetIdentityTokenBalancesResponseV0 metadata.
+                             * GetIdentityTokenInfosResponseV0 metadata.
                              * @member {org.dash.platform.dapi.v0.IResponseMetadata|null|undefined} metadata
-                             * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0
                              * @instance
                              */
-                            GetIdentityTokenBalancesResponseV0.prototype.metadata = null;
+                            GetIdentityTokenInfosResponseV0.prototype.metadata = null;
 
                             // OneOf field names bound to virtual getters and setters
                             var $oneOfFields;
 
                             /**
-                             * GetIdentityTokenBalancesResponseV0 result.
-                             * @member {"tokenBalances"|"proof"|undefined} result
-                             * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0
+                             * GetIdentityTokenInfosResponseV0 result.
+                             * @member {"tokenInfos"|"proof"|undefined} result
+                             * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0
                              * @instance
                              */
-                            Object.defineProperty(GetIdentityTokenBalancesResponseV0.prototype, "result", {
-                                get: $util.oneOfGetter($oneOfFields = ["tokenBalances", "proof"]),
+                            Object.defineProperty(GetIdentityTokenInfosResponseV0.prototype, "result", {
+                                get: $util.oneOfGetter($oneOfFields = ["tokenInfos", "proof"]),
                                 set: $util.oneOfSetter($oneOfFields)
                             });
 
                             /**
-                             * Creates a new GetIdentityTokenBalancesResponseV0 instance using the specified properties.
+                             * Creates a new GetIdentityTokenInfosResponseV0 instance using the specified properties.
                              * @function create
-                             * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.IGetIdentityTokenBalancesResponseV0=} [properties] Properties to set
-                             * @returns {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0} GetIdentityTokenBalancesResponseV0 instance
+                             * @param {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.IGetIdentityTokenInfosResponseV0=} [properties] Properties to set
+                             * @returns {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0} GetIdentityTokenInfosResponseV0 instance
                              */
-                            GetIdentityTokenBalancesResponseV0.create = function create(properties) {
-                                return new GetIdentityTokenBalancesResponseV0(properties);
+                            GetIdentityTokenInfosResponseV0.create = function create(properties) {
+                                return new GetIdentityTokenInfosResponseV0(properties);
                             };
 
                             /**
-                             * Encodes the specified GetIdentityTokenBalancesResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.verify|verify} messages.
+                             * Encodes the specified GetIdentityTokenInfosResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.verify|verify} messages.
                              * @function encode
-                             * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.IGetIdentityTokenBalancesResponseV0} message GetIdentityTokenBalancesResponseV0 message or plain object to encode
+                             * @param {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.IGetIdentityTokenInfosResponseV0} message GetIdentityTokenInfosResponseV0 message or plain object to encode
                              * @param {$protobuf.Writer} [writer] Writer to encode to
                              * @returns {$protobuf.Writer} Writer
                              */
-                            GetIdentityTokenBalancesResponseV0.encode = function encode(message, writer) {
+                            GetIdentityTokenInfosResponseV0.encode = function encode(message, writer) {
                                 if (!writer)
                                     writer = $Writer.create();
-                                if (message.tokenBalances != null && Object.hasOwnProperty.call(message, "tokenBalances"))
-                                    $root.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances.encode(message.tokenBalances, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+                                if (message.tokenInfos != null && Object.hasOwnProperty.call(message, "tokenInfos"))
+                                    $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos.encode(message.tokenInfos, 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"))
@@ -45425,38 +51686,38 @@ $root.org = (function() {
                             };
 
                             /**
-                             * Encodes the specified GetIdentityTokenBalancesResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.verify|verify} messages.
+                             * Encodes the specified GetIdentityTokenInfosResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.verify|verify} messages.
                              * @function encodeDelimited
-                             * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.IGetIdentityTokenBalancesResponseV0} message GetIdentityTokenBalancesResponseV0 message or plain object to encode
+                             * @param {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.IGetIdentityTokenInfosResponseV0} message GetIdentityTokenInfosResponseV0 message or plain object to encode
                              * @param {$protobuf.Writer} [writer] Writer to encode to
                              * @returns {$protobuf.Writer} Writer
                              */
-                            GetIdentityTokenBalancesResponseV0.encodeDelimited = function encodeDelimited(message, writer) {
+                            GetIdentityTokenInfosResponseV0.encodeDelimited = function encodeDelimited(message, writer) {
                                 return this.encode(message, writer).ldelim();
                             };
 
                             /**
-                             * Decodes a GetIdentityTokenBalancesResponseV0 message from the specified reader or buffer.
+                             * Decodes a GetIdentityTokenInfosResponseV0 message from the specified reader or buffer.
                              * @function decode
-                             * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0
                              * @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.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0} GetIdentityTokenBalancesResponseV0
+                             * @returns {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0} GetIdentityTokenInfosResponseV0
                              * @throws {Error} If the payload is not a reader or valid buffer
                              * @throws {$protobuf.util.ProtocolError} If required fields are missing
                              */
-                            GetIdentityTokenBalancesResponseV0.decode = function decode(reader, length) {
+                            GetIdentityTokenInfosResponseV0.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.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0();
+                                var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0();
                                 while (reader.pos < end) {
                                     var tag = reader.uint32();
                                     switch (tag >>> 3) {
                                     case 1:
-                                        message.tokenBalances = $root.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances.decode(reader, reader.uint32());
+                                        message.tokenInfos = $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos.decode(reader, reader.uint32());
                                         break;
                                     case 2:
                                         message.proof = $root.org.dash.platform.dapi.v0.Proof.decode(reader, reader.uint32());
@@ -45473,39 +51734,39 @@ $root.org = (function() {
                             };
 
                             /**
-                             * Decodes a GetIdentityTokenBalancesResponseV0 message from the specified reader or buffer, length delimited.
+                             * Decodes a GetIdentityTokenInfosResponseV0 message from the specified reader or buffer, length delimited.
                              * @function decodeDelimited
-                             * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0
                              * @static
                              * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                             * @returns {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0} GetIdentityTokenBalancesResponseV0
+                             * @returns {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0} GetIdentityTokenInfosResponseV0
                              * @throws {Error} If the payload is not a reader or valid buffer
                              * @throws {$protobuf.util.ProtocolError} If required fields are missing
                              */
-                            GetIdentityTokenBalancesResponseV0.decodeDelimited = function decodeDelimited(reader) {
+                            GetIdentityTokenInfosResponseV0.decodeDelimited = function decodeDelimited(reader) {
                                 if (!(reader instanceof $Reader))
                                     reader = new $Reader(reader);
                                 return this.decode(reader, reader.uint32());
                             };
 
                             /**
-                             * Verifies a GetIdentityTokenBalancesResponseV0 message.
+                             * Verifies a GetIdentityTokenInfosResponseV0 message.
                              * @function verify
-                             * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0
                              * @static
                              * @param {Object.} message Plain object to verify
                              * @returns {string|null} `null` if valid, otherwise the reason why it is not
                              */
-                            GetIdentityTokenBalancesResponseV0.verify = function verify(message) {
+                            GetIdentityTokenInfosResponseV0.verify = function verify(message) {
                                 if (typeof message !== "object" || message === null)
                                     return "object expected";
                                 var properties = {};
-                                if (message.tokenBalances != null && message.hasOwnProperty("tokenBalances")) {
+                                if (message.tokenInfos != null && message.hasOwnProperty("tokenInfos")) {
                                     properties.result = 1;
                                     {
-                                        var error = $root.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances.verify(message.tokenBalances);
+                                        var error = $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos.verify(message.tokenInfos);
                                         if (error)
-                                            return "tokenBalances." + error;
+                                            return "tokenInfos." + error;
                                     }
                                 }
                                 if (message.proof != null && message.hasOwnProperty("proof")) {
@@ -45527,54 +51788,54 @@ $root.org = (function() {
                             };
 
                             /**
-                             * Creates a GetIdentityTokenBalancesResponseV0 message from a plain object. Also converts values to their respective internal types.
+                             * Creates a GetIdentityTokenInfosResponseV0 message from a plain object. Also converts values to their respective internal types.
                              * @function fromObject
-                             * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0
                              * @static
                              * @param {Object.} object Plain object
-                             * @returns {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0} GetIdentityTokenBalancesResponseV0
+                             * @returns {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0} GetIdentityTokenInfosResponseV0
                              */
-                            GetIdentityTokenBalancesResponseV0.fromObject = function fromObject(object) {
-                                if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0)
+                            GetIdentityTokenInfosResponseV0.fromObject = function fromObject(object) {
+                                if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0)
                                     return object;
-                                var message = new $root.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0();
-                                if (object.tokenBalances != null) {
-                                    if (typeof object.tokenBalances !== "object")
-                                        throw TypeError(".org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.tokenBalances: object expected");
-                                    message.tokenBalances = $root.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances.fromObject(object.tokenBalances);
+                                var message = new $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0();
+                                if (object.tokenInfos != null) {
+                                    if (typeof object.tokenInfos !== "object")
+                                        throw TypeError(".org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.tokenInfos: object expected");
+                                    message.tokenInfos = $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos.fromObject(object.tokenInfos);
                                 }
                                 if (object.proof != null) {
                                     if (typeof object.proof !== "object")
-                                        throw TypeError(".org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.proof: object expected");
+                                        throw TypeError(".org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.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.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.metadata: object expected");
+                                        throw TypeError(".org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.metadata: object expected");
                                     message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.fromObject(object.metadata);
                                 }
                                 return message;
                             };
 
                             /**
-                             * Creates a plain object from a GetIdentityTokenBalancesResponseV0 message. Also converts values to other types if specified.
+                             * Creates a plain object from a GetIdentityTokenInfosResponseV0 message. Also converts values to other types if specified.
                              * @function toObject
-                             * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0} message GetIdentityTokenBalancesResponseV0
+                             * @param {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0} message GetIdentityTokenInfosResponseV0
                              * @param {$protobuf.IConversionOptions} [options] Conversion options
                              * @returns {Object.} Plain object
                              */
-                            GetIdentityTokenBalancesResponseV0.toObject = function toObject(message, options) {
+                            GetIdentityTokenInfosResponseV0.toObject = function toObject(message, options) {
                                 if (!options)
                                     options = {};
                                 var object = {};
                                 if (options.defaults)
                                     object.metadata = null;
-                                if (message.tokenBalances != null && message.hasOwnProperty("tokenBalances")) {
-                                    object.tokenBalances = $root.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances.toObject(message.tokenBalances, options);
+                                if (message.tokenInfos != null && message.hasOwnProperty("tokenInfos")) {
+                                    object.tokenInfos = $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos.toObject(message.tokenInfos, options);
                                     if (options.oneofs)
-                                        object.result = "tokenBalances";
+                                        object.result = "tokenInfos";
                                 }
                                 if (message.proof != null && message.hasOwnProperty("proof")) {
                                     object.proof = $root.org.dash.platform.dapi.v0.Proof.toObject(message.proof, options);
@@ -45587,35 +51848,34 @@ $root.org = (function() {
                             };
 
                             /**
-                             * Converts this GetIdentityTokenBalancesResponseV0 to JSON.
+                             * Converts this GetIdentityTokenInfosResponseV0 to JSON.
                              * @function toJSON
-                             * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0
                              * @instance
                              * @returns {Object.} JSON object
                              */
-                            GetIdentityTokenBalancesResponseV0.prototype.toJSON = function toJSON() {
+                            GetIdentityTokenInfosResponseV0.prototype.toJSON = function toJSON() {
                                 return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
                             };
 
-                            GetIdentityTokenBalancesResponseV0.TokenBalanceEntry = (function() {
+                            GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry = (function() {
 
                                 /**
-                                 * Properties of a TokenBalanceEntry.
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0
-                                 * @interface ITokenBalanceEntry
-                                 * @property {Uint8Array|null} [tokenId] TokenBalanceEntry tokenId
-                                 * @property {number|Long|null} [balance] TokenBalanceEntry balance
+                                 * Properties of a TokenIdentityInfoEntry.
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0
+                                 * @interface ITokenIdentityInfoEntry
+                                 * @property {boolean|null} [frozen] TokenIdentityInfoEntry frozen
                                  */
 
                                 /**
-                                 * Constructs a new TokenBalanceEntry.
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0
-                                 * @classdesc Represents a TokenBalanceEntry.
-                                 * @implements ITokenBalanceEntry
+                                 * Constructs a new TokenIdentityInfoEntry.
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0
+                                 * @classdesc Represents a TokenIdentityInfoEntry.
+                                 * @implements ITokenIdentityInfoEntry
                                  * @constructor
-                                 * @param {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.ITokenBalanceEntry=} [properties] Properties to set
+                                 * @param {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.ITokenIdentityInfoEntry=} [properties] Properties to set
                                  */
-                                function TokenBalanceEntry(properties) {
+                                function TokenIdentityInfoEntry(properties) {
                                     if (properties)
                                         for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
                                             if (properties[keys[i]] != null)
@@ -45623,80 +51883,268 @@ $root.org = (function() {
                                 }
 
                                 /**
-                                 * TokenBalanceEntry tokenId.
+                                 * TokenIdentityInfoEntry frozen.
+                                 * @member {boolean} frozen
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry
+                                 * @instance
+                                 */
+                                TokenIdentityInfoEntry.prototype.frozen = false;
+
+                                /**
+                                 * Creates a new TokenIdentityInfoEntry instance using the specified properties.
+                                 * @function create
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry
+                                 * @static
+                                 * @param {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.ITokenIdentityInfoEntry=} [properties] Properties to set
+                                 * @returns {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry} TokenIdentityInfoEntry instance
+                                 */
+                                TokenIdentityInfoEntry.create = function create(properties) {
+                                    return new TokenIdentityInfoEntry(properties);
+                                };
+
+                                /**
+                                 * Encodes the specified TokenIdentityInfoEntry message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry.verify|verify} messages.
+                                 * @function encode
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry
+                                 * @static
+                                 * @param {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.ITokenIdentityInfoEntry} message TokenIdentityInfoEntry message or plain object to encode
+                                 * @param {$protobuf.Writer} [writer] Writer to encode to
+                                 * @returns {$protobuf.Writer} Writer
+                                 */
+                                TokenIdentityInfoEntry.encode = function encode(message, writer) {
+                                    if (!writer)
+                                        writer = $Writer.create();
+                                    if (message.frozen != null && Object.hasOwnProperty.call(message, "frozen"))
+                                        writer.uint32(/* id 1, wireType 0 =*/8).bool(message.frozen);
+                                    return writer;
+                                };
+
+                                /**
+                                 * Encodes the specified TokenIdentityInfoEntry message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry.verify|verify} messages.
+                                 * @function encodeDelimited
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry
+                                 * @static
+                                 * @param {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.ITokenIdentityInfoEntry} message TokenIdentityInfoEntry message or plain object to encode
+                                 * @param {$protobuf.Writer} [writer] Writer to encode to
+                                 * @returns {$protobuf.Writer} Writer
+                                 */
+                                TokenIdentityInfoEntry.encodeDelimited = function encodeDelimited(message, writer) {
+                                    return this.encode(message, writer).ldelim();
+                                };
+
+                                /**
+                                 * Decodes a TokenIdentityInfoEntry message from the specified reader or buffer.
+                                 * @function decode
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry
+                                 * @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.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry} TokenIdentityInfoEntry
+                                 * @throws {Error} If the payload is not a reader or valid buffer
+                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
+                                 */
+                                TokenIdentityInfoEntry.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.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry();
+                                    while (reader.pos < end) {
+                                        var tag = reader.uint32();
+                                        switch (tag >>> 3) {
+                                        case 1:
+                                            message.frozen = reader.bool();
+                                            break;
+                                        default:
+                                            reader.skipType(tag & 7);
+                                            break;
+                                        }
+                                    }
+                                    return message;
+                                };
+
+                                /**
+                                 * Decodes a TokenIdentityInfoEntry message from the specified reader or buffer, length delimited.
+                                 * @function decodeDelimited
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry
+                                 * @static
+                                 * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+                                 * @returns {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry} TokenIdentityInfoEntry
+                                 * @throws {Error} If the payload is not a reader or valid buffer
+                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
+                                 */
+                                TokenIdentityInfoEntry.decodeDelimited = function decodeDelimited(reader) {
+                                    if (!(reader instanceof $Reader))
+                                        reader = new $Reader(reader);
+                                    return this.decode(reader, reader.uint32());
+                                };
+
+                                /**
+                                 * Verifies a TokenIdentityInfoEntry message.
+                                 * @function verify
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry
+                                 * @static
+                                 * @param {Object.} message Plain object to verify
+                                 * @returns {string|null} `null` if valid, otherwise the reason why it is not
+                                 */
+                                TokenIdentityInfoEntry.verify = function verify(message) {
+                                    if (typeof message !== "object" || message === null)
+                                        return "object expected";
+                                    if (message.frozen != null && message.hasOwnProperty("frozen"))
+                                        if (typeof message.frozen !== "boolean")
+                                            return "frozen: boolean expected";
+                                    return null;
+                                };
+
+                                /**
+                                 * Creates a TokenIdentityInfoEntry message from a plain object. Also converts values to their respective internal types.
+                                 * @function fromObject
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry
+                                 * @static
+                                 * @param {Object.} object Plain object
+                                 * @returns {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry} TokenIdentityInfoEntry
+                                 */
+                                TokenIdentityInfoEntry.fromObject = function fromObject(object) {
+                                    if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry)
+                                        return object;
+                                    var message = new $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry();
+                                    if (object.frozen != null)
+                                        message.frozen = Boolean(object.frozen);
+                                    return message;
+                                };
+
+                                /**
+                                 * Creates a plain object from a TokenIdentityInfoEntry message. Also converts values to other types if specified.
+                                 * @function toObject
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry
+                                 * @static
+                                 * @param {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry} message TokenIdentityInfoEntry
+                                 * @param {$protobuf.IConversionOptions} [options] Conversion options
+                                 * @returns {Object.} Plain object
+                                 */
+                                TokenIdentityInfoEntry.toObject = function toObject(message, options) {
+                                    if (!options)
+                                        options = {};
+                                    var object = {};
+                                    if (options.defaults)
+                                        object.frozen = false;
+                                    if (message.frozen != null && message.hasOwnProperty("frozen"))
+                                        object.frozen = message.frozen;
+                                    return object;
+                                };
+
+                                /**
+                                 * Converts this TokenIdentityInfoEntry to JSON.
+                                 * @function toJSON
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry
+                                 * @instance
+                                 * @returns {Object.} JSON object
+                                 */
+                                TokenIdentityInfoEntry.prototype.toJSON = function toJSON() {
+                                    return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+                                };
+
+                                return TokenIdentityInfoEntry;
+                            })();
+
+                            GetIdentityTokenInfosResponseV0.TokenInfoEntry = (function() {
+
+                                /**
+                                 * Properties of a TokenInfoEntry.
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0
+                                 * @interface ITokenInfoEntry
+                                 * @property {Uint8Array|null} [tokenId] TokenInfoEntry tokenId
+                                 * @property {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.ITokenIdentityInfoEntry|null} [info] TokenInfoEntry info
+                                 */
+
+                                /**
+                                 * Constructs a new TokenInfoEntry.
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0
+                                 * @classdesc Represents a TokenInfoEntry.
+                                 * @implements ITokenInfoEntry
+                                 * @constructor
+                                 * @param {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.ITokenInfoEntry=} [properties] Properties to set
+                                 */
+                                function TokenInfoEntry(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]];
+                                }
+
+                                /**
+                                 * TokenInfoEntry tokenId.
                                  * @member {Uint8Array} tokenId
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry
                                  * @instance
                                  */
-                                TokenBalanceEntry.prototype.tokenId = $util.newBuffer([]);
+                                TokenInfoEntry.prototype.tokenId = $util.newBuffer([]);
 
                                 /**
-                                 * TokenBalanceEntry balance.
-                                 * @member {number|Long} balance
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry
+                                 * TokenInfoEntry info.
+                                 * @member {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.ITokenIdentityInfoEntry|null|undefined} info
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry
                                  * @instance
                                  */
-                                TokenBalanceEntry.prototype.balance = $util.Long ? $util.Long.fromBits(0,0,true) : 0;
+                                TokenInfoEntry.prototype.info = null;
 
                                 /**
-                                 * Creates a new TokenBalanceEntry instance using the specified properties.
+                                 * Creates a new TokenInfoEntry instance using the specified properties.
                                  * @function create
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry
                                  * @static
-                                 * @param {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.ITokenBalanceEntry=} [properties] Properties to set
-                                 * @returns {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry} TokenBalanceEntry instance
+                                 * @param {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.ITokenInfoEntry=} [properties] Properties to set
+                                 * @returns {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry} TokenInfoEntry instance
                                  */
-                                TokenBalanceEntry.create = function create(properties) {
-                                    return new TokenBalanceEntry(properties);
+                                TokenInfoEntry.create = function create(properties) {
+                                    return new TokenInfoEntry(properties);
                                 };
 
                                 /**
-                                 * Encodes the specified TokenBalanceEntry message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry.verify|verify} messages.
+                                 * Encodes the specified TokenInfoEntry message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry.verify|verify} messages.
                                  * @function encode
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry
                                  * @static
-                                 * @param {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.ITokenBalanceEntry} message TokenBalanceEntry message or plain object to encode
+                                 * @param {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.ITokenInfoEntry} message TokenInfoEntry message or plain object to encode
                                  * @param {$protobuf.Writer} [writer] Writer to encode to
                                  * @returns {$protobuf.Writer} Writer
                                  */
-                                TokenBalanceEntry.encode = function encode(message, writer) {
+                                TokenInfoEntry.encode = function encode(message, writer) {
                                     if (!writer)
                                         writer = $Writer.create();
                                     if (message.tokenId != null && Object.hasOwnProperty.call(message, "tokenId"))
                                         writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.tokenId);
-                                    if (message.balance != null && Object.hasOwnProperty.call(message, "balance"))
-                                        writer.uint32(/* id 2, wireType 0 =*/16).uint64(message.balance);
+                                    if (message.info != null && Object.hasOwnProperty.call(message, "info"))
+                                        $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry.encode(message.info, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
                                     return writer;
                                 };
 
                                 /**
-                                 * Encodes the specified TokenBalanceEntry message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry.verify|verify} messages.
+                                 * Encodes the specified TokenInfoEntry message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry.verify|verify} messages.
                                  * @function encodeDelimited
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry
                                  * @static
-                                 * @param {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.ITokenBalanceEntry} message TokenBalanceEntry message or plain object to encode
+                                 * @param {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.ITokenInfoEntry} message TokenInfoEntry message or plain object to encode
                                  * @param {$protobuf.Writer} [writer] Writer to encode to
                                  * @returns {$protobuf.Writer} Writer
                                  */
-                                TokenBalanceEntry.encodeDelimited = function encodeDelimited(message, writer) {
+                                TokenInfoEntry.encodeDelimited = function encodeDelimited(message, writer) {
                                     return this.encode(message, writer).ldelim();
                                 };
 
                                 /**
-                                 * Decodes a TokenBalanceEntry message from the specified reader or buffer.
+                                 * Decodes a TokenInfoEntry message from the specified reader or buffer.
                                  * @function decode
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry
                                  * @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.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry} TokenBalanceEntry
+                                 * @returns {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry} TokenInfoEntry
                                  * @throws {Error} If the payload is not a reader or valid buffer
                                  * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                  */
-                                TokenBalanceEntry.decode = function decode(reader, length) {
+                                TokenInfoEntry.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.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry();
+                                    var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry();
                                     while (reader.pos < end) {
                                         var tag = reader.uint32();
                                         switch (tag >>> 3) {
@@ -45704,7 +52152,7 @@ $root.org = (function() {
                                             message.tokenId = reader.bytes();
                                             break;
                                         case 2:
-                                            message.balance = reader.uint64();
+                                            message.info = $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry.decode(reader, reader.uint32());
                                             break;
                                         default:
                                             reader.skipType(tag & 7);
@@ -45715,80 +52163,78 @@ $root.org = (function() {
                                 };
 
                                 /**
-                                 * Decodes a TokenBalanceEntry message from the specified reader or buffer, length delimited.
+                                 * Decodes a TokenInfoEntry message from the specified reader or buffer, length delimited.
                                  * @function decodeDelimited
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry
                                  * @static
                                  * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                                 * @returns {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry} TokenBalanceEntry
+                                 * @returns {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry} TokenInfoEntry
                                  * @throws {Error} If the payload is not a reader or valid buffer
                                  * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                  */
-                                TokenBalanceEntry.decodeDelimited = function decodeDelimited(reader) {
+                                TokenInfoEntry.decodeDelimited = function decodeDelimited(reader) {
                                     if (!(reader instanceof $Reader))
                                         reader = new $Reader(reader);
                                     return this.decode(reader, reader.uint32());
                                 };
 
                                 /**
-                                 * Verifies a TokenBalanceEntry message.
+                                 * Verifies a TokenInfoEntry message.
                                  * @function verify
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry
                                  * @static
                                  * @param {Object.} message Plain object to verify
                                  * @returns {string|null} `null` if valid, otherwise the reason why it is not
                                  */
-                                TokenBalanceEntry.verify = function verify(message) {
+                                TokenInfoEntry.verify = function verify(message) {
                                     if (typeof message !== "object" || message === null)
                                         return "object expected";
                                     if (message.tokenId != null && message.hasOwnProperty("tokenId"))
                                         if (!(message.tokenId && typeof message.tokenId.length === "number" || $util.isString(message.tokenId)))
                                             return "tokenId: buffer 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.info != null && message.hasOwnProperty("info")) {
+                                        var error = $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry.verify(message.info);
+                                        if (error)
+                                            return "info." + error;
+                                    }
                                     return null;
                                 };
 
                                 /**
-                                 * Creates a TokenBalanceEntry message from a plain object. Also converts values to their respective internal types.
+                                 * Creates a TokenInfoEntry message from a plain object. Also converts values to their respective internal types.
                                  * @function fromObject
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry
                                  * @static
                                  * @param {Object.} object Plain object
-                                 * @returns {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry} TokenBalanceEntry
+                                 * @returns {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry} TokenInfoEntry
                                  */
-                                TokenBalanceEntry.fromObject = function fromObject(object) {
-                                    if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry)
+                                TokenInfoEntry.fromObject = function fromObject(object) {
+                                    if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry)
                                         return object;
-                                    var message = new $root.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry();
+                                    var message = new $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry();
                                     if (object.tokenId != null)
                                         if (typeof object.tokenId === "string")
                                             $util.base64.decode(object.tokenId, message.tokenId = $util.newBuffer($util.base64.length(object.tokenId)), 0);
                                         else if (object.tokenId.length >= 0)
                                             message.tokenId = object.tokenId;
-                                    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.info != null) {
+                                        if (typeof object.info !== "object")
+                                            throw TypeError(".org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry.info: object expected");
+                                        message.info = $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry.fromObject(object.info);
+                                    }
                                     return message;
                                 };
 
                                 /**
-                                 * Creates a plain object from a TokenBalanceEntry message. Also converts values to other types if specified.
+                                 * Creates a plain object from a TokenInfoEntry message. Also converts values to other types if specified.
                                  * @function toObject
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry
                                  * @static
-                                 * @param {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry} message TokenBalanceEntry
+                                 * @param {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry} message TokenInfoEntry
                                  * @param {$protobuf.IConversionOptions} [options] Conversion options
                                  * @returns {Object.} Plain object
                                  */
-                                TokenBalanceEntry.toObject = function toObject(message, options) {
+                                TokenInfoEntry.toObject = function toObject(message, options) {
                                     if (!options)
                                         options = {};
                                     var object = {};
@@ -45800,55 +52246,48 @@ $root.org = (function() {
                                             if (options.bytes !== Array)
                                                 object.tokenId = $util.newBuffer(object.tokenId);
                                         }
-                                        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;
+                                        object.info = null;
                                     }
                                     if (message.tokenId != null && message.hasOwnProperty("tokenId"))
                                         object.tokenId = options.bytes === String ? $util.base64.encode(message.tokenId, 0, message.tokenId.length) : options.bytes === Array ? Array.prototype.slice.call(message.tokenId) : message.tokenId;
-                                    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.info != null && message.hasOwnProperty("info"))
+                                        object.info = $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry.toObject(message.info, options);
                                     return object;
                                 };
 
                                 /**
-                                 * Converts this TokenBalanceEntry to JSON.
+                                 * Converts this TokenInfoEntry to JSON.
                                  * @function toJSON
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry
                                  * @instance
                                  * @returns {Object.} JSON object
                                  */
-                                TokenBalanceEntry.prototype.toJSON = function toJSON() {
+                                TokenInfoEntry.prototype.toJSON = function toJSON() {
                                     return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
                                 };
 
-                                return TokenBalanceEntry;
+                                return TokenInfoEntry;
                             })();
 
-                            GetIdentityTokenBalancesResponseV0.TokenBalances = (function() {
+                            GetIdentityTokenInfosResponseV0.TokenInfos = (function() {
 
                                 /**
-                                 * Properties of a TokenBalances.
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0
-                                 * @interface ITokenBalances
-                                 * @property {Array.|null} [tokenBalances] TokenBalances tokenBalances
+                                 * Properties of a TokenInfos.
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0
+                                 * @interface ITokenInfos
+                                 * @property {Array.|null} [tokenInfos] TokenInfos tokenInfos
                                  */
 
                                 /**
-                                 * Constructs a new TokenBalances.
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0
-                                 * @classdesc Represents a TokenBalances.
-                                 * @implements ITokenBalances
+                                 * Constructs a new TokenInfos.
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0
+                                 * @classdesc Represents a TokenInfos.
+                                 * @implements ITokenInfos
                                  * @constructor
-                                 * @param {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.ITokenBalances=} [properties] Properties to set
+                                 * @param {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.ITokenInfos=} [properties] Properties to set
                                  */
-                                function TokenBalances(properties) {
-                                    this.tokenBalances = [];
+                                function TokenInfos(properties) {
+                                    this.tokenInfos = [];
                                     if (properties)
                                         for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
                                             if (properties[keys[i]] != null)
@@ -45856,78 +52295,78 @@ $root.org = (function() {
                                 }
 
                                 /**
-                                 * TokenBalances tokenBalances.
-                                 * @member {Array.} tokenBalances
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances
+                                 * TokenInfos tokenInfos.
+                                 * @member {Array.} tokenInfos
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos
                                  * @instance
                                  */
-                                TokenBalances.prototype.tokenBalances = $util.emptyArray;
+                                TokenInfos.prototype.tokenInfos = $util.emptyArray;
 
                                 /**
-                                 * Creates a new TokenBalances instance using the specified properties.
+                                 * Creates a new TokenInfos instance using the specified properties.
                                  * @function create
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos
                                  * @static
-                                 * @param {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.ITokenBalances=} [properties] Properties to set
-                                 * @returns {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances} TokenBalances instance
+                                 * @param {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.ITokenInfos=} [properties] Properties to set
+                                 * @returns {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos} TokenInfos instance
                                  */
-                                TokenBalances.create = function create(properties) {
-                                    return new TokenBalances(properties);
+                                TokenInfos.create = function create(properties) {
+                                    return new TokenInfos(properties);
                                 };
 
                                 /**
-                                 * Encodes the specified TokenBalances message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances.verify|verify} messages.
+                                 * Encodes the specified TokenInfos message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos.verify|verify} messages.
                                  * @function encode
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos
                                  * @static
-                                 * @param {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.ITokenBalances} message TokenBalances message or plain object to encode
+                                 * @param {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.ITokenInfos} message TokenInfos message or plain object to encode
                                  * @param {$protobuf.Writer} [writer] Writer to encode to
                                  * @returns {$protobuf.Writer} Writer
                                  */
-                                TokenBalances.encode = function encode(message, writer) {
+                                TokenInfos.encode = function encode(message, writer) {
                                     if (!writer)
                                         writer = $Writer.create();
-                                    if (message.tokenBalances != null && message.tokenBalances.length)
-                                        for (var i = 0; i < message.tokenBalances.length; ++i)
-                                            $root.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry.encode(message.tokenBalances[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+                                    if (message.tokenInfos != null && message.tokenInfos.length)
+                                        for (var i = 0; i < message.tokenInfos.length; ++i)
+                                            $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry.encode(message.tokenInfos[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
                                     return writer;
                                 };
 
                                 /**
-                                 * Encodes the specified TokenBalances message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances.verify|verify} messages.
+                                 * Encodes the specified TokenInfos message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos.verify|verify} messages.
                                  * @function encodeDelimited
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos
                                  * @static
-                                 * @param {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.ITokenBalances} message TokenBalances message or plain object to encode
+                                 * @param {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.ITokenInfos} message TokenInfos message or plain object to encode
                                  * @param {$protobuf.Writer} [writer] Writer to encode to
                                  * @returns {$protobuf.Writer} Writer
                                  */
-                                TokenBalances.encodeDelimited = function encodeDelimited(message, writer) {
+                                TokenInfos.encodeDelimited = function encodeDelimited(message, writer) {
                                     return this.encode(message, writer).ldelim();
                                 };
 
                                 /**
-                                 * Decodes a TokenBalances message from the specified reader or buffer.
+                                 * Decodes a TokenInfos message from the specified reader or buffer.
                                  * @function decode
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos
                                  * @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.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances} TokenBalances
+                                 * @returns {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos} TokenInfos
                                  * @throws {Error} If the payload is not a reader or valid buffer
                                  * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                  */
-                                TokenBalances.decode = function decode(reader, length) {
+                                TokenInfos.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.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances();
+                                    var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos();
                                     while (reader.pos < end) {
                                         var tag = reader.uint32();
                                         switch (tag >>> 3) {
                                         case 1:
-                                            if (!(message.tokenBalances && message.tokenBalances.length))
-                                                message.tokenBalances = [];
-                                            message.tokenBalances.push($root.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry.decode(reader, reader.uint32()));
+                                            if (!(message.tokenInfos && message.tokenInfos.length))
+                                                message.tokenInfos = [];
+                                            message.tokenInfos.push($root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry.decode(reader, reader.uint32()));
                                             break;
                                         default:
                                             reader.skipType(tag & 7);
@@ -45938,130 +52377,130 @@ $root.org = (function() {
                                 };
 
                                 /**
-                                 * Decodes a TokenBalances message from the specified reader or buffer, length delimited.
+                                 * Decodes a TokenInfos message from the specified reader or buffer, length delimited.
                                  * @function decodeDelimited
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos
                                  * @static
                                  * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                                 * @returns {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances} TokenBalances
+                                 * @returns {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos} TokenInfos
                                  * @throws {Error} If the payload is not a reader or valid buffer
                                  * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                  */
-                                TokenBalances.decodeDelimited = function decodeDelimited(reader) {
+                                TokenInfos.decodeDelimited = function decodeDelimited(reader) {
                                     if (!(reader instanceof $Reader))
                                         reader = new $Reader(reader);
                                     return this.decode(reader, reader.uint32());
                                 };
 
                                 /**
-                                 * Verifies a TokenBalances message.
+                                 * Verifies a TokenInfos message.
                                  * @function verify
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos
                                  * @static
                                  * @param {Object.} message Plain object to verify
                                  * @returns {string|null} `null` if valid, otherwise the reason why it is not
                                  */
-                                TokenBalances.verify = function verify(message) {
+                                TokenInfos.verify = function verify(message) {
                                     if (typeof message !== "object" || message === null)
                                         return "object expected";
-                                    if (message.tokenBalances != null && message.hasOwnProperty("tokenBalances")) {
-                                        if (!Array.isArray(message.tokenBalances))
-                                            return "tokenBalances: array expected";
-                                        for (var i = 0; i < message.tokenBalances.length; ++i) {
-                                            var error = $root.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry.verify(message.tokenBalances[i]);
+                                    if (message.tokenInfos != null && message.hasOwnProperty("tokenInfos")) {
+                                        if (!Array.isArray(message.tokenInfos))
+                                            return "tokenInfos: array expected";
+                                        for (var i = 0; i < message.tokenInfos.length; ++i) {
+                                            var error = $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry.verify(message.tokenInfos[i]);
                                             if (error)
-                                                return "tokenBalances." + error;
+                                                return "tokenInfos." + error;
                                         }
                                     }
                                     return null;
                                 };
 
                                 /**
-                                 * Creates a TokenBalances message from a plain object. Also converts values to their respective internal types.
+                                 * Creates a TokenInfos message from a plain object. Also converts values to their respective internal types.
                                  * @function fromObject
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos
                                  * @static
                                  * @param {Object.} object Plain object
-                                 * @returns {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances} TokenBalances
+                                 * @returns {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos} TokenInfos
                                  */
-                                TokenBalances.fromObject = function fromObject(object) {
-                                    if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances)
+                                TokenInfos.fromObject = function fromObject(object) {
+                                    if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos)
                                         return object;
-                                    var message = new $root.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances();
-                                    if (object.tokenBalances) {
-                                        if (!Array.isArray(object.tokenBalances))
-                                            throw TypeError(".org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances.tokenBalances: array expected");
-                                        message.tokenBalances = [];
-                                        for (var i = 0; i < object.tokenBalances.length; ++i) {
-                                            if (typeof object.tokenBalances[i] !== "object")
-                                                throw TypeError(".org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances.tokenBalances: object expected");
-                                            message.tokenBalances[i] = $root.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry.fromObject(object.tokenBalances[i]);
+                                    var message = new $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos();
+                                    if (object.tokenInfos) {
+                                        if (!Array.isArray(object.tokenInfos))
+                                            throw TypeError(".org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos.tokenInfos: array expected");
+                                        message.tokenInfos = [];
+                                        for (var i = 0; i < object.tokenInfos.length; ++i) {
+                                            if (typeof object.tokenInfos[i] !== "object")
+                                                throw TypeError(".org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos.tokenInfos: object expected");
+                                            message.tokenInfos[i] = $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry.fromObject(object.tokenInfos[i]);
                                         }
                                     }
                                     return message;
                                 };
 
                                 /**
-                                 * Creates a plain object from a TokenBalances message. Also converts values to other types if specified.
+                                 * Creates a plain object from a TokenInfos message. Also converts values to other types if specified.
                                  * @function toObject
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos
                                  * @static
-                                 * @param {org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances} message TokenBalances
+                                 * @param {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos} message TokenInfos
                                  * @param {$protobuf.IConversionOptions} [options] Conversion options
                                  * @returns {Object.} Plain object
                                  */
-                                TokenBalances.toObject = function toObject(message, options) {
+                                TokenInfos.toObject = function toObject(message, options) {
                                     if (!options)
                                         options = {};
                                     var object = {};
                                     if (options.arrays || options.defaults)
-                                        object.tokenBalances = [];
-                                    if (message.tokenBalances && message.tokenBalances.length) {
-                                        object.tokenBalances = [];
-                                        for (var j = 0; j < message.tokenBalances.length; ++j)
-                                            object.tokenBalances[j] = $root.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry.toObject(message.tokenBalances[j], options);
+                                        object.tokenInfos = [];
+                                    if (message.tokenInfos && message.tokenInfos.length) {
+                                        object.tokenInfos = [];
+                                        for (var j = 0; j < message.tokenInfos.length; ++j)
+                                            object.tokenInfos[j] = $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry.toObject(message.tokenInfos[j], options);
                                     }
                                     return object;
                                 };
 
                                 /**
-                                 * Converts this TokenBalances to JSON.
+                                 * Converts this TokenInfos to JSON.
                                  * @function toJSON
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos
                                  * @instance
                                  * @returns {Object.} JSON object
                                  */
-                                TokenBalances.prototype.toJSON = function toJSON() {
+                                TokenInfos.prototype.toJSON = function toJSON() {
                                     return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
                                 };
 
-                                return TokenBalances;
+                                return TokenInfos;
                             })();
 
-                            return GetIdentityTokenBalancesResponseV0;
+                            return GetIdentityTokenInfosResponseV0;
                         })();
 
-                        return GetIdentityTokenBalancesResponse;
+                        return GetIdentityTokenInfosResponse;
                     })();
 
-                    v0.GetIdentitiesTokenBalancesRequest = (function() {
+                    v0.GetIdentitiesTokenInfosRequest = (function() {
 
                         /**
-                         * Properties of a GetIdentitiesTokenBalancesRequest.
+                         * Properties of a GetIdentitiesTokenInfosRequest.
                          * @memberof org.dash.platform.dapi.v0
-                         * @interface IGetIdentitiesTokenBalancesRequest
-                         * @property {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.IGetIdentitiesTokenBalancesRequestV0|null} [v0] GetIdentitiesTokenBalancesRequest v0
+                         * @interface IGetIdentitiesTokenInfosRequest
+                         * @property {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.IGetIdentitiesTokenInfosRequestV0|null} [v0] GetIdentitiesTokenInfosRequest v0
                          */
 
                         /**
-                         * Constructs a new GetIdentitiesTokenBalancesRequest.
+                         * Constructs a new GetIdentitiesTokenInfosRequest.
                          * @memberof org.dash.platform.dapi.v0
-                         * @classdesc Represents a GetIdentitiesTokenBalancesRequest.
-                         * @implements IGetIdentitiesTokenBalancesRequest
+                         * @classdesc Represents a GetIdentitiesTokenInfosRequest.
+                         * @implements IGetIdentitiesTokenInfosRequest
                          * @constructor
-                         * @param {org.dash.platform.dapi.v0.IGetIdentitiesTokenBalancesRequest=} [properties] Properties to set
+                         * @param {org.dash.platform.dapi.v0.IGetIdentitiesTokenInfosRequest=} [properties] Properties to set
                          */
-                        function GetIdentitiesTokenBalancesRequest(properties) {
+                        function GetIdentitiesTokenInfosRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
                                     if (properties[keys[i]] != null)
@@ -46069,89 +52508,89 @@ $root.org = (function() {
                         }
 
                         /**
-                         * GetIdentitiesTokenBalancesRequest v0.
-                         * @member {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.IGetIdentitiesTokenBalancesRequestV0|null|undefined} v0
-                         * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest
+                         * GetIdentitiesTokenInfosRequest v0.
+                         * @member {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.IGetIdentitiesTokenInfosRequestV0|null|undefined} v0
+                         * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest
                          * @instance
                          */
-                        GetIdentitiesTokenBalancesRequest.prototype.v0 = null;
+                        GetIdentitiesTokenInfosRequest.prototype.v0 = null;
 
                         // OneOf field names bound to virtual getters and setters
                         var $oneOfFields;
 
                         /**
-                         * GetIdentitiesTokenBalancesRequest version.
+                         * GetIdentitiesTokenInfosRequest version.
                          * @member {"v0"|undefined} version
-                         * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest
+                         * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest
                          * @instance
                          */
-                        Object.defineProperty(GetIdentitiesTokenBalancesRequest.prototype, "version", {
+                        Object.defineProperty(GetIdentitiesTokenInfosRequest.prototype, "version", {
                             get: $util.oneOfGetter($oneOfFields = ["v0"]),
                             set: $util.oneOfSetter($oneOfFields)
                         });
 
                         /**
-                         * Creates a new GetIdentitiesTokenBalancesRequest instance using the specified properties.
+                         * Creates a new GetIdentitiesTokenInfosRequest instance using the specified properties.
                          * @function create
-                         * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest
+                         * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest
                          * @static
-                         * @param {org.dash.platform.dapi.v0.IGetIdentitiesTokenBalancesRequest=} [properties] Properties to set
-                         * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest} GetIdentitiesTokenBalancesRequest instance
+                         * @param {org.dash.platform.dapi.v0.IGetIdentitiesTokenInfosRequest=} [properties] Properties to set
+                         * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest} GetIdentitiesTokenInfosRequest instance
                          */
-                        GetIdentitiesTokenBalancesRequest.create = function create(properties) {
-                            return new GetIdentitiesTokenBalancesRequest(properties);
+                        GetIdentitiesTokenInfosRequest.create = function create(properties) {
+                            return new GetIdentitiesTokenInfosRequest(properties);
                         };
 
                         /**
-                         * Encodes the specified GetIdentitiesTokenBalancesRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.verify|verify} messages.
+                         * Encodes the specified GetIdentitiesTokenInfosRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.verify|verify} messages.
                          * @function encode
-                         * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest
+                         * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest
                          * @static
-                         * @param {org.dash.platform.dapi.v0.IGetIdentitiesTokenBalancesRequest} message GetIdentitiesTokenBalancesRequest message or plain object to encode
+                         * @param {org.dash.platform.dapi.v0.IGetIdentitiesTokenInfosRequest} message GetIdentitiesTokenInfosRequest message or plain object to encode
                          * @param {$protobuf.Writer} [writer] Writer to encode to
                          * @returns {$protobuf.Writer} Writer
                          */
-                        GetIdentitiesTokenBalancesRequest.encode = function encode(message, writer) {
+                        GetIdentitiesTokenInfosRequest.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.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+                                $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
                             return writer;
                         };
 
                         /**
-                         * Encodes the specified GetIdentitiesTokenBalancesRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.verify|verify} messages.
+                         * Encodes the specified GetIdentitiesTokenInfosRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.verify|verify} messages.
                          * @function encodeDelimited
-                         * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest
+                         * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest
                          * @static
-                         * @param {org.dash.platform.dapi.v0.IGetIdentitiesTokenBalancesRequest} message GetIdentitiesTokenBalancesRequest message or plain object to encode
+                         * @param {org.dash.platform.dapi.v0.IGetIdentitiesTokenInfosRequest} message GetIdentitiesTokenInfosRequest message or plain object to encode
                          * @param {$protobuf.Writer} [writer] Writer to encode to
                          * @returns {$protobuf.Writer} Writer
                          */
-                        GetIdentitiesTokenBalancesRequest.encodeDelimited = function encodeDelimited(message, writer) {
+                        GetIdentitiesTokenInfosRequest.encodeDelimited = function encodeDelimited(message, writer) {
                             return this.encode(message, writer).ldelim();
                         };
 
                         /**
-                         * Decodes a GetIdentitiesTokenBalancesRequest message from the specified reader or buffer.
+                         * Decodes a GetIdentitiesTokenInfosRequest message from the specified reader or buffer.
                          * @function decode
-                         * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest
+                         * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest
                          * @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.GetIdentitiesTokenBalancesRequest} GetIdentitiesTokenBalancesRequest
+                         * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest} GetIdentitiesTokenInfosRequest
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        GetIdentitiesTokenBalancesRequest.decode = function decode(reader, length) {
+                        GetIdentitiesTokenInfosRequest.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.GetIdentitiesTokenBalancesRequest();
+                            var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
                                 switch (tag >>> 3) {
                                 case 1:
-                                    message.v0 = $root.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.decode(reader, reader.uint32());
+                                    message.v0 = $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.decode(reader, reader.uint32());
                                     break;
                                 default:
                                     reader.skipType(tag & 7);
@@ -46162,37 +52601,37 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Decodes a GetIdentitiesTokenBalancesRequest message from the specified reader or buffer, length delimited.
+                         * Decodes a GetIdentitiesTokenInfosRequest message from the specified reader or buffer, length delimited.
                          * @function decodeDelimited
-                         * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest
+                         * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest
                          * @static
                          * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                         * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest} GetIdentitiesTokenBalancesRequest
+                         * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest} GetIdentitiesTokenInfosRequest
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        GetIdentitiesTokenBalancesRequest.decodeDelimited = function decodeDelimited(reader) {
+                        GetIdentitiesTokenInfosRequest.decodeDelimited = function decodeDelimited(reader) {
                             if (!(reader instanceof $Reader))
                                 reader = new $Reader(reader);
                             return this.decode(reader, reader.uint32());
                         };
 
                         /**
-                         * Verifies a GetIdentitiesTokenBalancesRequest message.
+                         * Verifies a GetIdentitiesTokenInfosRequest message.
                          * @function verify
-                         * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest
+                         * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest
                          * @static
                          * @param {Object.} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        GetIdentitiesTokenBalancesRequest.verify = function verify(message) {
+                        GetIdentitiesTokenInfosRequest.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.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.verify(message.v0);
+                                    var error = $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.verify(message.v0);
                                     if (error)
                                         return "v0." + error;
                                 }
@@ -46201,40 +52640,40 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Creates a GetIdentitiesTokenBalancesRequest message from a plain object. Also converts values to their respective internal types.
+                         * Creates a GetIdentitiesTokenInfosRequest message from a plain object. Also converts values to their respective internal types.
                          * @function fromObject
-                         * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest
+                         * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest
                          * @static
                          * @param {Object.} object Plain object
-                         * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest} GetIdentitiesTokenBalancesRequest
+                         * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest} GetIdentitiesTokenInfosRequest
                          */
-                        GetIdentitiesTokenBalancesRequest.fromObject = function fromObject(object) {
-                            if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest)
+                        GetIdentitiesTokenInfosRequest.fromObject = function fromObject(object) {
+                            if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest)
                                 return object;
-                            var message = new $root.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest();
+                            var message = new $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest();
                             if (object.v0 != null) {
                                 if (typeof object.v0 !== "object")
-                                    throw TypeError(".org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.v0: object expected");
-                                message.v0 = $root.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.fromObject(object.v0);
+                                    throw TypeError(".org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.v0: object expected");
+                                message.v0 = $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.fromObject(object.v0);
                             }
                             return message;
                         };
 
                         /**
-                         * Creates a plain object from a GetIdentitiesTokenBalancesRequest message. Also converts values to other types if specified.
+                         * Creates a plain object from a GetIdentitiesTokenInfosRequest message. Also converts values to other types if specified.
                          * @function toObject
-                         * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest
+                         * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest
                          * @static
-                         * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest} message GetIdentitiesTokenBalancesRequest
+                         * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest} message GetIdentitiesTokenInfosRequest
                          * @param {$protobuf.IConversionOptions} [options] Conversion options
                          * @returns {Object.} Plain object
                          */
-                        GetIdentitiesTokenBalancesRequest.toObject = function toObject(message, options) {
+                        GetIdentitiesTokenInfosRequest.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.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.toObject(message.v0, options);
+                                object.v0 = $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.toObject(message.v0, options);
                                 if (options.oneofs)
                                     object.version = "v0";
                             }
@@ -46242,36 +52681,36 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Converts this GetIdentitiesTokenBalancesRequest to JSON.
+                         * Converts this GetIdentitiesTokenInfosRequest to JSON.
                          * @function toJSON
-                         * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest
+                         * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest
                          * @instance
                          * @returns {Object.} JSON object
                          */
-                        GetIdentitiesTokenBalancesRequest.prototype.toJSON = function toJSON() {
+                        GetIdentitiesTokenInfosRequest.prototype.toJSON = function toJSON() {
                             return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
                         };
 
-                        GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0 = (function() {
+                        GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0 = (function() {
 
                             /**
-                             * Properties of a GetIdentitiesTokenBalancesRequestV0.
-                             * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest
-                             * @interface IGetIdentitiesTokenBalancesRequestV0
-                             * @property {Uint8Array|null} [tokenId] GetIdentitiesTokenBalancesRequestV0 tokenId
-                             * @property {Array.|null} [identityIds] GetIdentitiesTokenBalancesRequestV0 identityIds
-                             * @property {boolean|null} [prove] GetIdentitiesTokenBalancesRequestV0 prove
+                             * Properties of a GetIdentitiesTokenInfosRequestV0.
+                             * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest
+                             * @interface IGetIdentitiesTokenInfosRequestV0
+                             * @property {Uint8Array|null} [tokenId] GetIdentitiesTokenInfosRequestV0 tokenId
+                             * @property {Array.|null} [identityIds] GetIdentitiesTokenInfosRequestV0 identityIds
+                             * @property {boolean|null} [prove] GetIdentitiesTokenInfosRequestV0 prove
                              */
 
                             /**
-                             * Constructs a new GetIdentitiesTokenBalancesRequestV0.
-                             * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest
-                             * @classdesc Represents a GetIdentitiesTokenBalancesRequestV0.
-                             * @implements IGetIdentitiesTokenBalancesRequestV0
+                             * Constructs a new GetIdentitiesTokenInfosRequestV0.
+                             * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest
+                             * @classdesc Represents a GetIdentitiesTokenInfosRequestV0.
+                             * @implements IGetIdentitiesTokenInfosRequestV0
                              * @constructor
-                             * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.IGetIdentitiesTokenBalancesRequestV0=} [properties] Properties to set
+                             * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.IGetIdentitiesTokenInfosRequestV0=} [properties] Properties to set
                              */
-                            function GetIdentitiesTokenBalancesRequestV0(properties) {
+                            function GetIdentitiesTokenInfosRequestV0(properties) {
                                 this.identityIds = [];
                                 if (properties)
                                     for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
@@ -46280,51 +52719,51 @@ $root.org = (function() {
                             }
 
                             /**
-                             * GetIdentitiesTokenBalancesRequestV0 tokenId.
+                             * GetIdentitiesTokenInfosRequestV0 tokenId.
                              * @member {Uint8Array} tokenId
-                             * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0
                              * @instance
                              */
-                            GetIdentitiesTokenBalancesRequestV0.prototype.tokenId = $util.newBuffer([]);
+                            GetIdentitiesTokenInfosRequestV0.prototype.tokenId = $util.newBuffer([]);
 
                             /**
-                             * GetIdentitiesTokenBalancesRequestV0 identityIds.
+                             * GetIdentitiesTokenInfosRequestV0 identityIds.
                              * @member {Array.} identityIds
-                             * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0
                              * @instance
                              */
-                            GetIdentitiesTokenBalancesRequestV0.prototype.identityIds = $util.emptyArray;
+                            GetIdentitiesTokenInfosRequestV0.prototype.identityIds = $util.emptyArray;
 
                             /**
-                             * GetIdentitiesTokenBalancesRequestV0 prove.
+                             * GetIdentitiesTokenInfosRequestV0 prove.
                              * @member {boolean} prove
-                             * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0
                              * @instance
                              */
-                            GetIdentitiesTokenBalancesRequestV0.prototype.prove = false;
+                            GetIdentitiesTokenInfosRequestV0.prototype.prove = false;
 
                             /**
-                             * Creates a new GetIdentitiesTokenBalancesRequestV0 instance using the specified properties.
+                             * Creates a new GetIdentitiesTokenInfosRequestV0 instance using the specified properties.
                              * @function create
-                             * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.IGetIdentitiesTokenBalancesRequestV0=} [properties] Properties to set
-                             * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0} GetIdentitiesTokenBalancesRequestV0 instance
+                             * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.IGetIdentitiesTokenInfosRequestV0=} [properties] Properties to set
+                             * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0} GetIdentitiesTokenInfosRequestV0 instance
                              */
-                            GetIdentitiesTokenBalancesRequestV0.create = function create(properties) {
-                                return new GetIdentitiesTokenBalancesRequestV0(properties);
+                            GetIdentitiesTokenInfosRequestV0.create = function create(properties) {
+                                return new GetIdentitiesTokenInfosRequestV0(properties);
                             };
 
                             /**
-                             * Encodes the specified GetIdentitiesTokenBalancesRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.verify|verify} messages.
+                             * Encodes the specified GetIdentitiesTokenInfosRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.verify|verify} messages.
                              * @function encode
-                             * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.IGetIdentitiesTokenBalancesRequestV0} message GetIdentitiesTokenBalancesRequestV0 message or plain object to encode
+                             * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.IGetIdentitiesTokenInfosRequestV0} message GetIdentitiesTokenInfosRequestV0 message or plain object to encode
                              * @param {$protobuf.Writer} [writer] Writer to encode to
                              * @returns {$protobuf.Writer} Writer
                              */
-                            GetIdentitiesTokenBalancesRequestV0.encode = function encode(message, writer) {
+                            GetIdentitiesTokenInfosRequestV0.encode = function encode(message, writer) {
                                 if (!writer)
                                     writer = $Writer.create();
                                 if (message.tokenId != null && Object.hasOwnProperty.call(message, "tokenId"))
@@ -46338,33 +52777,33 @@ $root.org = (function() {
                             };
 
                             /**
-                             * Encodes the specified GetIdentitiesTokenBalancesRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.verify|verify} messages.
+                             * Encodes the specified GetIdentitiesTokenInfosRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.verify|verify} messages.
                              * @function encodeDelimited
-                             * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.IGetIdentitiesTokenBalancesRequestV0} message GetIdentitiesTokenBalancesRequestV0 message or plain object to encode
+                             * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.IGetIdentitiesTokenInfosRequestV0} message GetIdentitiesTokenInfosRequestV0 message or plain object to encode
                              * @param {$protobuf.Writer} [writer] Writer to encode to
                              * @returns {$protobuf.Writer} Writer
                              */
-                            GetIdentitiesTokenBalancesRequestV0.encodeDelimited = function encodeDelimited(message, writer) {
+                            GetIdentitiesTokenInfosRequestV0.encodeDelimited = function encodeDelimited(message, writer) {
                                 return this.encode(message, writer).ldelim();
                             };
 
                             /**
-                             * Decodes a GetIdentitiesTokenBalancesRequestV0 message from the specified reader or buffer.
+                             * Decodes a GetIdentitiesTokenInfosRequestV0 message from the specified reader or buffer.
                              * @function decode
-                             * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0
                              * @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.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0} GetIdentitiesTokenBalancesRequestV0
+                             * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0} GetIdentitiesTokenInfosRequestV0
                              * @throws {Error} If the payload is not a reader or valid buffer
                              * @throws {$protobuf.util.ProtocolError} If required fields are missing
                              */
-                            GetIdentitiesTokenBalancesRequestV0.decode = function decode(reader, length) {
+                            GetIdentitiesTokenInfosRequestV0.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.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0();
+                                var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0();
                                 while (reader.pos < end) {
                                     var tag = reader.uint32();
                                     switch (tag >>> 3) {
@@ -46388,30 +52827,30 @@ $root.org = (function() {
                             };
 
                             /**
-                             * Decodes a GetIdentitiesTokenBalancesRequestV0 message from the specified reader or buffer, length delimited.
+                             * Decodes a GetIdentitiesTokenInfosRequestV0 message from the specified reader or buffer, length delimited.
                              * @function decodeDelimited
-                             * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0
                              * @static
                              * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                             * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0} GetIdentitiesTokenBalancesRequestV0
+                             * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0} GetIdentitiesTokenInfosRequestV0
                              * @throws {Error} If the payload is not a reader or valid buffer
                              * @throws {$protobuf.util.ProtocolError} If required fields are missing
                              */
-                            GetIdentitiesTokenBalancesRequestV0.decodeDelimited = function decodeDelimited(reader) {
+                            GetIdentitiesTokenInfosRequestV0.decodeDelimited = function decodeDelimited(reader) {
                                 if (!(reader instanceof $Reader))
                                     reader = new $Reader(reader);
                                 return this.decode(reader, reader.uint32());
                             };
 
                             /**
-                             * Verifies a GetIdentitiesTokenBalancesRequestV0 message.
+                             * Verifies a GetIdentitiesTokenInfosRequestV0 message.
                              * @function verify
-                             * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0
                              * @static
                              * @param {Object.} message Plain object to verify
                              * @returns {string|null} `null` if valid, otherwise the reason why it is not
                              */
-                            GetIdentitiesTokenBalancesRequestV0.verify = function verify(message) {
+                            GetIdentitiesTokenInfosRequestV0.verify = function verify(message) {
                                 if (typeof message !== "object" || message === null)
                                     return "object expected";
                                 if (message.tokenId != null && message.hasOwnProperty("tokenId"))
@@ -46431,17 +52870,17 @@ $root.org = (function() {
                             };
 
                             /**
-                             * Creates a GetIdentitiesTokenBalancesRequestV0 message from a plain object. Also converts values to their respective internal types.
+                             * Creates a GetIdentitiesTokenInfosRequestV0 message from a plain object. Also converts values to their respective internal types.
                              * @function fromObject
-                             * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0
                              * @static
                              * @param {Object.} object Plain object
-                             * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0} GetIdentitiesTokenBalancesRequestV0
+                             * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0} GetIdentitiesTokenInfosRequestV0
                              */
-                            GetIdentitiesTokenBalancesRequestV0.fromObject = function fromObject(object) {
-                                if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0)
+                            GetIdentitiesTokenInfosRequestV0.fromObject = function fromObject(object) {
+                                if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0)
                                     return object;
-                                var message = new $root.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0();
+                                var message = new $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0();
                                 if (object.tokenId != null)
                                     if (typeof object.tokenId === "string")
                                         $util.base64.decode(object.tokenId, message.tokenId = $util.newBuffer($util.base64.length(object.tokenId)), 0);
@@ -46449,7 +52888,7 @@ $root.org = (function() {
                                         message.tokenId = object.tokenId;
                                 if (object.identityIds) {
                                     if (!Array.isArray(object.identityIds))
-                                        throw TypeError(".org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.identityIds: array expected");
+                                        throw TypeError(".org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.identityIds: array expected");
                                     message.identityIds = [];
                                     for (var i = 0; i < object.identityIds.length; ++i)
                                         if (typeof object.identityIds[i] === "string")
@@ -46463,15 +52902,15 @@ $root.org = (function() {
                             };
 
                             /**
-                             * Creates a plain object from a GetIdentitiesTokenBalancesRequestV0 message. Also converts values to other types if specified.
+                             * Creates a plain object from a GetIdentitiesTokenInfosRequestV0 message. Also converts values to other types if specified.
                              * @function toObject
-                             * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0} message GetIdentitiesTokenBalancesRequestV0
+                             * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0} message GetIdentitiesTokenInfosRequestV0
                              * @param {$protobuf.IConversionOptions} [options] Conversion options
                              * @returns {Object.} Plain object
                              */
-                            GetIdentitiesTokenBalancesRequestV0.toObject = function toObject(message, options) {
+                            GetIdentitiesTokenInfosRequestV0.toObject = function toObject(message, options) {
                                 if (!options)
                                     options = {};
                                 var object = {};
@@ -46500,40 +52939,40 @@ $root.org = (function() {
                             };
 
                             /**
-                             * Converts this GetIdentitiesTokenBalancesRequestV0 to JSON.
+                             * Converts this GetIdentitiesTokenInfosRequestV0 to JSON.
                              * @function toJSON
-                             * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0
                              * @instance
                              * @returns {Object.} JSON object
                              */
-                            GetIdentitiesTokenBalancesRequestV0.prototype.toJSON = function toJSON() {
+                            GetIdentitiesTokenInfosRequestV0.prototype.toJSON = function toJSON() {
                                 return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
                             };
 
-                            return GetIdentitiesTokenBalancesRequestV0;
+                            return GetIdentitiesTokenInfosRequestV0;
                         })();
 
-                        return GetIdentitiesTokenBalancesRequest;
+                        return GetIdentitiesTokenInfosRequest;
                     })();
 
-                    v0.GetIdentitiesTokenBalancesResponse = (function() {
+                    v0.GetIdentitiesTokenInfosResponse = (function() {
 
                         /**
-                         * Properties of a GetIdentitiesTokenBalancesResponse.
+                         * Properties of a GetIdentitiesTokenInfosResponse.
                          * @memberof org.dash.platform.dapi.v0
-                         * @interface IGetIdentitiesTokenBalancesResponse
-                         * @property {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.IGetIdentitiesTokenBalancesResponseV0|null} [v0] GetIdentitiesTokenBalancesResponse v0
+                         * @interface IGetIdentitiesTokenInfosResponse
+                         * @property {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.IGetIdentitiesTokenInfosResponseV0|null} [v0] GetIdentitiesTokenInfosResponse v0
                          */
 
                         /**
-                         * Constructs a new GetIdentitiesTokenBalancesResponse.
+                         * Constructs a new GetIdentitiesTokenInfosResponse.
                          * @memberof org.dash.platform.dapi.v0
-                         * @classdesc Represents a GetIdentitiesTokenBalancesResponse.
-                         * @implements IGetIdentitiesTokenBalancesResponse
+                         * @classdesc Represents a GetIdentitiesTokenInfosResponse.
+                         * @implements IGetIdentitiesTokenInfosResponse
                          * @constructor
-                         * @param {org.dash.platform.dapi.v0.IGetIdentitiesTokenBalancesResponse=} [properties] Properties to set
+                         * @param {org.dash.platform.dapi.v0.IGetIdentitiesTokenInfosResponse=} [properties] Properties to set
                          */
-                        function GetIdentitiesTokenBalancesResponse(properties) {
+                        function GetIdentitiesTokenInfosResponse(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
                                     if (properties[keys[i]] != null)
@@ -46541,89 +52980,89 @@ $root.org = (function() {
                         }
 
                         /**
-                         * GetIdentitiesTokenBalancesResponse v0.
-                         * @member {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.IGetIdentitiesTokenBalancesResponseV0|null|undefined} v0
-                         * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse
+                         * GetIdentitiesTokenInfosResponse v0.
+                         * @member {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.IGetIdentitiesTokenInfosResponseV0|null|undefined} v0
+                         * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse
                          * @instance
                          */
-                        GetIdentitiesTokenBalancesResponse.prototype.v0 = null;
+                        GetIdentitiesTokenInfosResponse.prototype.v0 = null;
 
                         // OneOf field names bound to virtual getters and setters
                         var $oneOfFields;
 
                         /**
-                         * GetIdentitiesTokenBalancesResponse version.
+                         * GetIdentitiesTokenInfosResponse version.
                          * @member {"v0"|undefined} version
-                         * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse
+                         * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse
                          * @instance
                          */
-                        Object.defineProperty(GetIdentitiesTokenBalancesResponse.prototype, "version", {
+                        Object.defineProperty(GetIdentitiesTokenInfosResponse.prototype, "version", {
                             get: $util.oneOfGetter($oneOfFields = ["v0"]),
                             set: $util.oneOfSetter($oneOfFields)
                         });
 
                         /**
-                         * Creates a new GetIdentitiesTokenBalancesResponse instance using the specified properties.
+                         * Creates a new GetIdentitiesTokenInfosResponse instance using the specified properties.
                          * @function create
-                         * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse
+                         * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse
                          * @static
-                         * @param {org.dash.platform.dapi.v0.IGetIdentitiesTokenBalancesResponse=} [properties] Properties to set
-                         * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse} GetIdentitiesTokenBalancesResponse instance
+                         * @param {org.dash.platform.dapi.v0.IGetIdentitiesTokenInfosResponse=} [properties] Properties to set
+                         * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse} GetIdentitiesTokenInfosResponse instance
                          */
-                        GetIdentitiesTokenBalancesResponse.create = function create(properties) {
-                            return new GetIdentitiesTokenBalancesResponse(properties);
+                        GetIdentitiesTokenInfosResponse.create = function create(properties) {
+                            return new GetIdentitiesTokenInfosResponse(properties);
                         };
 
                         /**
-                         * Encodes the specified GetIdentitiesTokenBalancesResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.verify|verify} messages.
+                         * Encodes the specified GetIdentitiesTokenInfosResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.verify|verify} messages.
                          * @function encode
-                         * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse
+                         * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse
                          * @static
-                         * @param {org.dash.platform.dapi.v0.IGetIdentitiesTokenBalancesResponse} message GetIdentitiesTokenBalancesResponse message or plain object to encode
+                         * @param {org.dash.platform.dapi.v0.IGetIdentitiesTokenInfosResponse} message GetIdentitiesTokenInfosResponse message or plain object to encode
                          * @param {$protobuf.Writer} [writer] Writer to encode to
                          * @returns {$protobuf.Writer} Writer
                          */
-                        GetIdentitiesTokenBalancesResponse.encode = function encode(message, writer) {
+                        GetIdentitiesTokenInfosResponse.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.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+                                $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
                             return writer;
                         };
 
                         /**
-                         * Encodes the specified GetIdentitiesTokenBalancesResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.verify|verify} messages.
+                         * Encodes the specified GetIdentitiesTokenInfosResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.verify|verify} messages.
                          * @function encodeDelimited
-                         * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse
+                         * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse
                          * @static
-                         * @param {org.dash.platform.dapi.v0.IGetIdentitiesTokenBalancesResponse} message GetIdentitiesTokenBalancesResponse message or plain object to encode
+                         * @param {org.dash.platform.dapi.v0.IGetIdentitiesTokenInfosResponse} message GetIdentitiesTokenInfosResponse message or plain object to encode
                          * @param {$protobuf.Writer} [writer] Writer to encode to
                          * @returns {$protobuf.Writer} Writer
                          */
-                        GetIdentitiesTokenBalancesResponse.encodeDelimited = function encodeDelimited(message, writer) {
+                        GetIdentitiesTokenInfosResponse.encodeDelimited = function encodeDelimited(message, writer) {
                             return this.encode(message, writer).ldelim();
                         };
 
                         /**
-                         * Decodes a GetIdentitiesTokenBalancesResponse message from the specified reader or buffer.
+                         * Decodes a GetIdentitiesTokenInfosResponse message from the specified reader or buffer.
                          * @function decode
-                         * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse
+                         * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse
                          * @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.GetIdentitiesTokenBalancesResponse} GetIdentitiesTokenBalancesResponse
+                         * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse} GetIdentitiesTokenInfosResponse
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        GetIdentitiesTokenBalancesResponse.decode = function decode(reader, length) {
+                        GetIdentitiesTokenInfosResponse.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.GetIdentitiesTokenBalancesResponse();
+                            var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
                                 switch (tag >>> 3) {
                                 case 1:
-                                    message.v0 = $root.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.decode(reader, reader.uint32());
+                                    message.v0 = $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.decode(reader, reader.uint32());
                                     break;
                                 default:
                                     reader.skipType(tag & 7);
@@ -46634,37 +53073,37 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Decodes a GetIdentitiesTokenBalancesResponse message from the specified reader or buffer, length delimited.
+                         * Decodes a GetIdentitiesTokenInfosResponse message from the specified reader or buffer, length delimited.
                          * @function decodeDelimited
-                         * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse
+                         * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse
                          * @static
                          * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                         * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse} GetIdentitiesTokenBalancesResponse
+                         * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse} GetIdentitiesTokenInfosResponse
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        GetIdentitiesTokenBalancesResponse.decodeDelimited = function decodeDelimited(reader) {
+                        GetIdentitiesTokenInfosResponse.decodeDelimited = function decodeDelimited(reader) {
                             if (!(reader instanceof $Reader))
                                 reader = new $Reader(reader);
                             return this.decode(reader, reader.uint32());
                         };
 
                         /**
-                         * Verifies a GetIdentitiesTokenBalancesResponse message.
+                         * Verifies a GetIdentitiesTokenInfosResponse message.
                          * @function verify
-                         * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse
+                         * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse
                          * @static
                          * @param {Object.} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        GetIdentitiesTokenBalancesResponse.verify = function verify(message) {
+                        GetIdentitiesTokenInfosResponse.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.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.verify(message.v0);
+                                    var error = $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.verify(message.v0);
                                     if (error)
                                         return "v0." + error;
                                 }
@@ -46673,40 +53112,40 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Creates a GetIdentitiesTokenBalancesResponse message from a plain object. Also converts values to their respective internal types.
+                         * Creates a GetIdentitiesTokenInfosResponse message from a plain object. Also converts values to their respective internal types.
                          * @function fromObject
-                         * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse
+                         * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse
                          * @static
                          * @param {Object.} object Plain object
-                         * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse} GetIdentitiesTokenBalancesResponse
+                         * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse} GetIdentitiesTokenInfosResponse
                          */
-                        GetIdentitiesTokenBalancesResponse.fromObject = function fromObject(object) {
-                            if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse)
+                        GetIdentitiesTokenInfosResponse.fromObject = function fromObject(object) {
+                            if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse)
                                 return object;
-                            var message = new $root.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse();
+                            var message = new $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse();
                             if (object.v0 != null) {
                                 if (typeof object.v0 !== "object")
-                                    throw TypeError(".org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.v0: object expected");
-                                message.v0 = $root.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.fromObject(object.v0);
+                                    throw TypeError(".org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.v0: object expected");
+                                message.v0 = $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.fromObject(object.v0);
                             }
                             return message;
                         };
 
                         /**
-                         * Creates a plain object from a GetIdentitiesTokenBalancesResponse message. Also converts values to other types if specified.
+                         * Creates a plain object from a GetIdentitiesTokenInfosResponse message. Also converts values to other types if specified.
                          * @function toObject
-                         * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse
+                         * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse
                          * @static
-                         * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse} message GetIdentitiesTokenBalancesResponse
+                         * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse} message GetIdentitiesTokenInfosResponse
                          * @param {$protobuf.IConversionOptions} [options] Conversion options
                          * @returns {Object.} Plain object
                          */
-                        GetIdentitiesTokenBalancesResponse.toObject = function toObject(message, options) {
+                        GetIdentitiesTokenInfosResponse.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.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.toObject(message.v0, options);
+                                object.v0 = $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.toObject(message.v0, options);
                                 if (options.oneofs)
                                     object.version = "v0";
                             }
@@ -46714,36 +53153,36 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Converts this GetIdentitiesTokenBalancesResponse to JSON.
+                         * Converts this GetIdentitiesTokenInfosResponse to JSON.
                          * @function toJSON
-                         * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse
+                         * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse
                          * @instance
                          * @returns {Object.} JSON object
                          */
-                        GetIdentitiesTokenBalancesResponse.prototype.toJSON = function toJSON() {
+                        GetIdentitiesTokenInfosResponse.prototype.toJSON = function toJSON() {
                             return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
                         };
 
-                        GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0 = (function() {
+                        GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0 = (function() {
 
                             /**
-                             * Properties of a GetIdentitiesTokenBalancesResponseV0.
-                             * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse
-                             * @interface IGetIdentitiesTokenBalancesResponseV0
-                             * @property {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IIdentityTokenBalances|null} [identityTokenBalances] GetIdentitiesTokenBalancesResponseV0 identityTokenBalances
-                             * @property {org.dash.platform.dapi.v0.IProof|null} [proof] GetIdentitiesTokenBalancesResponseV0 proof
-                             * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetIdentitiesTokenBalancesResponseV0 metadata
+                             * Properties of a GetIdentitiesTokenInfosResponseV0.
+                             * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse
+                             * @interface IGetIdentitiesTokenInfosResponseV0
+                             * @property {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IIdentityTokenInfos|null} [identityTokenInfos] GetIdentitiesTokenInfosResponseV0 identityTokenInfos
+                             * @property {org.dash.platform.dapi.v0.IProof|null} [proof] GetIdentitiesTokenInfosResponseV0 proof
+                             * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetIdentitiesTokenInfosResponseV0 metadata
                              */
 
                             /**
-                             * Constructs a new GetIdentitiesTokenBalancesResponseV0.
-                             * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse
-                             * @classdesc Represents a GetIdentitiesTokenBalancesResponseV0.
-                             * @implements IGetIdentitiesTokenBalancesResponseV0
+                             * Constructs a new GetIdentitiesTokenInfosResponseV0.
+                             * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse
+                             * @classdesc Represents a GetIdentitiesTokenInfosResponseV0.
+                             * @implements IGetIdentitiesTokenInfosResponseV0
                              * @constructor
-                             * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.IGetIdentitiesTokenBalancesResponseV0=} [properties] Properties to set
+                             * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.IGetIdentitiesTokenInfosResponseV0=} [properties] Properties to set
                              */
-                            function GetIdentitiesTokenBalancesResponseV0(properties) {
+                            function GetIdentitiesTokenInfosResponseV0(properties) {
                                 if (properties)
                                     for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
                                         if (properties[keys[i]] != null)
@@ -46751,69 +53190,69 @@ $root.org = (function() {
                             }
 
                             /**
-                             * GetIdentitiesTokenBalancesResponseV0 identityTokenBalances.
-                             * @member {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IIdentityTokenBalances|null|undefined} identityTokenBalances
-                             * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0
+                             * GetIdentitiesTokenInfosResponseV0 identityTokenInfos.
+                             * @member {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IIdentityTokenInfos|null|undefined} identityTokenInfos
+                             * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0
                              * @instance
                              */
-                            GetIdentitiesTokenBalancesResponseV0.prototype.identityTokenBalances = null;
+                            GetIdentitiesTokenInfosResponseV0.prototype.identityTokenInfos = null;
 
                             /**
-                             * GetIdentitiesTokenBalancesResponseV0 proof.
+                             * GetIdentitiesTokenInfosResponseV0 proof.
                              * @member {org.dash.platform.dapi.v0.IProof|null|undefined} proof
-                             * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0
                              * @instance
                              */
-                            GetIdentitiesTokenBalancesResponseV0.prototype.proof = null;
+                            GetIdentitiesTokenInfosResponseV0.prototype.proof = null;
 
                             /**
-                             * GetIdentitiesTokenBalancesResponseV0 metadata.
+                             * GetIdentitiesTokenInfosResponseV0 metadata.
                              * @member {org.dash.platform.dapi.v0.IResponseMetadata|null|undefined} metadata
-                             * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0
                              * @instance
                              */
-                            GetIdentitiesTokenBalancesResponseV0.prototype.metadata = null;
+                            GetIdentitiesTokenInfosResponseV0.prototype.metadata = null;
 
                             // OneOf field names bound to virtual getters and setters
                             var $oneOfFields;
 
                             /**
-                             * GetIdentitiesTokenBalancesResponseV0 result.
-                             * @member {"identityTokenBalances"|"proof"|undefined} result
-                             * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0
+                             * GetIdentitiesTokenInfosResponseV0 result.
+                             * @member {"identityTokenInfos"|"proof"|undefined} result
+                             * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0
                              * @instance
                              */
-                            Object.defineProperty(GetIdentitiesTokenBalancesResponseV0.prototype, "result", {
-                                get: $util.oneOfGetter($oneOfFields = ["identityTokenBalances", "proof"]),
+                            Object.defineProperty(GetIdentitiesTokenInfosResponseV0.prototype, "result", {
+                                get: $util.oneOfGetter($oneOfFields = ["identityTokenInfos", "proof"]),
                                 set: $util.oneOfSetter($oneOfFields)
                             });
 
                             /**
-                             * Creates a new GetIdentitiesTokenBalancesResponseV0 instance using the specified properties.
+                             * Creates a new GetIdentitiesTokenInfosResponseV0 instance using the specified properties.
                              * @function create
-                             * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.IGetIdentitiesTokenBalancesResponseV0=} [properties] Properties to set
-                             * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0} GetIdentitiesTokenBalancesResponseV0 instance
+                             * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.IGetIdentitiesTokenInfosResponseV0=} [properties] Properties to set
+                             * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0} GetIdentitiesTokenInfosResponseV0 instance
                              */
-                            GetIdentitiesTokenBalancesResponseV0.create = function create(properties) {
-                                return new GetIdentitiesTokenBalancesResponseV0(properties);
+                            GetIdentitiesTokenInfosResponseV0.create = function create(properties) {
+                                return new GetIdentitiesTokenInfosResponseV0(properties);
                             };
 
                             /**
-                             * Encodes the specified GetIdentitiesTokenBalancesResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.verify|verify} messages.
+                             * Encodes the specified GetIdentitiesTokenInfosResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.verify|verify} messages.
                              * @function encode
-                             * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.IGetIdentitiesTokenBalancesResponseV0} message GetIdentitiesTokenBalancesResponseV0 message or plain object to encode
+                             * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.IGetIdentitiesTokenInfosResponseV0} message GetIdentitiesTokenInfosResponseV0 message or plain object to encode
                              * @param {$protobuf.Writer} [writer] Writer to encode to
                              * @returns {$protobuf.Writer} Writer
                              */
-                            GetIdentitiesTokenBalancesResponseV0.encode = function encode(message, writer) {
+                            GetIdentitiesTokenInfosResponseV0.encode = function encode(message, writer) {
                                 if (!writer)
                                     writer = $Writer.create();
-                                if (message.identityTokenBalances != null && Object.hasOwnProperty.call(message, "identityTokenBalances"))
-                                    $root.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances.encode(message.identityTokenBalances, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+                                if (message.identityTokenInfos != null && Object.hasOwnProperty.call(message, "identityTokenInfos"))
+                                    $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos.encode(message.identityTokenInfos, 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"))
@@ -46822,38 +53261,38 @@ $root.org = (function() {
                             };
 
                             /**
-                             * Encodes the specified GetIdentitiesTokenBalancesResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.verify|verify} messages.
+                             * Encodes the specified GetIdentitiesTokenInfosResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.verify|verify} messages.
                              * @function encodeDelimited
-                             * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.IGetIdentitiesTokenBalancesResponseV0} message GetIdentitiesTokenBalancesResponseV0 message or plain object to encode
+                             * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.IGetIdentitiesTokenInfosResponseV0} message GetIdentitiesTokenInfosResponseV0 message or plain object to encode
                              * @param {$protobuf.Writer} [writer] Writer to encode to
                              * @returns {$protobuf.Writer} Writer
                              */
-                            GetIdentitiesTokenBalancesResponseV0.encodeDelimited = function encodeDelimited(message, writer) {
+                            GetIdentitiesTokenInfosResponseV0.encodeDelimited = function encodeDelimited(message, writer) {
                                 return this.encode(message, writer).ldelim();
                             };
 
                             /**
-                             * Decodes a GetIdentitiesTokenBalancesResponseV0 message from the specified reader or buffer.
+                             * Decodes a GetIdentitiesTokenInfosResponseV0 message from the specified reader or buffer.
                              * @function decode
-                             * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0
                              * @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.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0} GetIdentitiesTokenBalancesResponseV0
+                             * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0} GetIdentitiesTokenInfosResponseV0
                              * @throws {Error} If the payload is not a reader or valid buffer
                              * @throws {$protobuf.util.ProtocolError} If required fields are missing
                              */
-                            GetIdentitiesTokenBalancesResponseV0.decode = function decode(reader, length) {
+                            GetIdentitiesTokenInfosResponseV0.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.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0();
+                                var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0();
                                 while (reader.pos < end) {
                                     var tag = reader.uint32();
                                     switch (tag >>> 3) {
                                     case 1:
-                                        message.identityTokenBalances = $root.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances.decode(reader, reader.uint32());
+                                        message.identityTokenInfos = $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos.decode(reader, reader.uint32());
                                         break;
                                     case 2:
                                         message.proof = $root.org.dash.platform.dapi.v0.Proof.decode(reader, reader.uint32());
@@ -46870,39 +53309,39 @@ $root.org = (function() {
                             };
 
                             /**
-                             * Decodes a GetIdentitiesTokenBalancesResponseV0 message from the specified reader or buffer, length delimited.
+                             * Decodes a GetIdentitiesTokenInfosResponseV0 message from the specified reader or buffer, length delimited.
                              * @function decodeDelimited
-                             * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0
                              * @static
                              * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                             * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0} GetIdentitiesTokenBalancesResponseV0
+                             * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0} GetIdentitiesTokenInfosResponseV0
                              * @throws {Error} If the payload is not a reader or valid buffer
                              * @throws {$protobuf.util.ProtocolError} If required fields are missing
                              */
-                            GetIdentitiesTokenBalancesResponseV0.decodeDelimited = function decodeDelimited(reader) {
+                            GetIdentitiesTokenInfosResponseV0.decodeDelimited = function decodeDelimited(reader) {
                                 if (!(reader instanceof $Reader))
                                     reader = new $Reader(reader);
                                 return this.decode(reader, reader.uint32());
                             };
 
                             /**
-                             * Verifies a GetIdentitiesTokenBalancesResponseV0 message.
+                             * Verifies a GetIdentitiesTokenInfosResponseV0 message.
                              * @function verify
-                             * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0
                              * @static
                              * @param {Object.} message Plain object to verify
                              * @returns {string|null} `null` if valid, otherwise the reason why it is not
                              */
-                            GetIdentitiesTokenBalancesResponseV0.verify = function verify(message) {
+                            GetIdentitiesTokenInfosResponseV0.verify = function verify(message) {
                                 if (typeof message !== "object" || message === null)
                                     return "object expected";
                                 var properties = {};
-                                if (message.identityTokenBalances != null && message.hasOwnProperty("identityTokenBalances")) {
+                                if (message.identityTokenInfos != null && message.hasOwnProperty("identityTokenInfos")) {
                                     properties.result = 1;
                                     {
-                                        var error = $root.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances.verify(message.identityTokenBalances);
+                                        var error = $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos.verify(message.identityTokenInfos);
                                         if (error)
-                                            return "identityTokenBalances." + error;
+                                            return "identityTokenInfos." + error;
                                     }
                                 }
                                 if (message.proof != null && message.hasOwnProperty("proof")) {
@@ -46924,54 +53363,54 @@ $root.org = (function() {
                             };
 
                             /**
-                             * Creates a GetIdentitiesTokenBalancesResponseV0 message from a plain object. Also converts values to their respective internal types.
+                             * Creates a GetIdentitiesTokenInfosResponseV0 message from a plain object. Also converts values to their respective internal types.
                              * @function fromObject
-                             * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0
                              * @static
                              * @param {Object.} object Plain object
-                             * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0} GetIdentitiesTokenBalancesResponseV0
+                             * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0} GetIdentitiesTokenInfosResponseV0
                              */
-                            GetIdentitiesTokenBalancesResponseV0.fromObject = function fromObject(object) {
-                                if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0)
+                            GetIdentitiesTokenInfosResponseV0.fromObject = function fromObject(object) {
+                                if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0)
                                     return object;
-                                var message = new $root.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0();
-                                if (object.identityTokenBalances != null) {
-                                    if (typeof object.identityTokenBalances !== "object")
-                                        throw TypeError(".org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.identityTokenBalances: object expected");
-                                    message.identityTokenBalances = $root.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances.fromObject(object.identityTokenBalances);
+                                var message = new $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0();
+                                if (object.identityTokenInfos != null) {
+                                    if (typeof object.identityTokenInfos !== "object")
+                                        throw TypeError(".org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.identityTokenInfos: object expected");
+                                    message.identityTokenInfos = $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos.fromObject(object.identityTokenInfos);
                                 }
                                 if (object.proof != null) {
                                     if (typeof object.proof !== "object")
-                                        throw TypeError(".org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.proof: object expected");
+                                        throw TypeError(".org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.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.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.metadata: object expected");
+                                        throw TypeError(".org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.metadata: object expected");
                                     message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.fromObject(object.metadata);
                                 }
                                 return message;
                             };
 
                             /**
-                             * Creates a plain object from a GetIdentitiesTokenBalancesResponseV0 message. Also converts values to other types if specified.
+                             * Creates a plain object from a GetIdentitiesTokenInfosResponseV0 message. Also converts values to other types if specified.
                              * @function toObject
-                             * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0} message GetIdentitiesTokenBalancesResponseV0
+                             * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0} message GetIdentitiesTokenInfosResponseV0
                              * @param {$protobuf.IConversionOptions} [options] Conversion options
                              * @returns {Object.} Plain object
                              */
-                            GetIdentitiesTokenBalancesResponseV0.toObject = function toObject(message, options) {
+                            GetIdentitiesTokenInfosResponseV0.toObject = function toObject(message, options) {
                                 if (!options)
                                     options = {};
                                 var object = {};
                                 if (options.defaults)
                                     object.metadata = null;
-                                if (message.identityTokenBalances != null && message.hasOwnProperty("identityTokenBalances")) {
-                                    object.identityTokenBalances = $root.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances.toObject(message.identityTokenBalances, options);
+                                if (message.identityTokenInfos != null && message.hasOwnProperty("identityTokenInfos")) {
+                                    object.identityTokenInfos = $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos.toObject(message.identityTokenInfos, options);
                                     if (options.oneofs)
-                                        object.result = "identityTokenBalances";
+                                        object.result = "identityTokenInfos";
                                 }
                                 if (message.proof != null && message.hasOwnProperty("proof")) {
                                     object.proof = $root.org.dash.platform.dapi.v0.Proof.toObject(message.proof, options);
@@ -46984,35 +53423,34 @@ $root.org = (function() {
                             };
 
                             /**
-                             * Converts this GetIdentitiesTokenBalancesResponseV0 to JSON.
+                             * Converts this GetIdentitiesTokenInfosResponseV0 to JSON.
                              * @function toJSON
-                             * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0
                              * @instance
                              * @returns {Object.} JSON object
                              */
-                            GetIdentitiesTokenBalancesResponseV0.prototype.toJSON = function toJSON() {
+                            GetIdentitiesTokenInfosResponseV0.prototype.toJSON = function toJSON() {
                                 return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
                             };
 
-                            GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry = (function() {
+                            GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry = (function() {
 
                                 /**
-                                 * Properties of an IdentityTokenBalanceEntry.
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0
-                                 * @interface IIdentityTokenBalanceEntry
-                                 * @property {Uint8Array|null} [identityId] IdentityTokenBalanceEntry identityId
-                                 * @property {number|Long|null} [balance] IdentityTokenBalanceEntry balance
+                                 * Properties of a TokenIdentityInfoEntry.
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0
+                                 * @interface ITokenIdentityInfoEntry
+                                 * @property {boolean|null} [frozen] TokenIdentityInfoEntry frozen
                                  */
 
                                 /**
-                                 * Constructs a new IdentityTokenBalanceEntry.
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0
-                                 * @classdesc Represents an IdentityTokenBalanceEntry.
-                                 * @implements IIdentityTokenBalanceEntry
+                                 * Constructs a new TokenIdentityInfoEntry.
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0
+                                 * @classdesc Represents a TokenIdentityInfoEntry.
+                                 * @implements ITokenIdentityInfoEntry
                                  * @constructor
-                                 * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IIdentityTokenBalanceEntry=} [properties] Properties to set
+                                 * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.ITokenIdentityInfoEntry=} [properties] Properties to set
                                  */
-                                function IdentityTokenBalanceEntry(properties) {
+                                function TokenIdentityInfoEntry(properties) {
                                     if (properties)
                                         for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
                                             if (properties[keys[i]] != null)
@@ -47020,80 +53458,268 @@ $root.org = (function() {
                                 }
 
                                 /**
-                                 * IdentityTokenBalanceEntry identityId.
+                                 * TokenIdentityInfoEntry frozen.
+                                 * @member {boolean} frozen
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry
+                                 * @instance
+                                 */
+                                TokenIdentityInfoEntry.prototype.frozen = false;
+
+                                /**
+                                 * Creates a new TokenIdentityInfoEntry instance using the specified properties.
+                                 * @function create
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry
+                                 * @static
+                                 * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.ITokenIdentityInfoEntry=} [properties] Properties to set
+                                 * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry} TokenIdentityInfoEntry instance
+                                 */
+                                TokenIdentityInfoEntry.create = function create(properties) {
+                                    return new TokenIdentityInfoEntry(properties);
+                                };
+
+                                /**
+                                 * Encodes the specified TokenIdentityInfoEntry message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry.verify|verify} messages.
+                                 * @function encode
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry
+                                 * @static
+                                 * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.ITokenIdentityInfoEntry} message TokenIdentityInfoEntry message or plain object to encode
+                                 * @param {$protobuf.Writer} [writer] Writer to encode to
+                                 * @returns {$protobuf.Writer} Writer
+                                 */
+                                TokenIdentityInfoEntry.encode = function encode(message, writer) {
+                                    if (!writer)
+                                        writer = $Writer.create();
+                                    if (message.frozen != null && Object.hasOwnProperty.call(message, "frozen"))
+                                        writer.uint32(/* id 1, wireType 0 =*/8).bool(message.frozen);
+                                    return writer;
+                                };
+
+                                /**
+                                 * Encodes the specified TokenIdentityInfoEntry message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry.verify|verify} messages.
+                                 * @function encodeDelimited
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry
+                                 * @static
+                                 * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.ITokenIdentityInfoEntry} message TokenIdentityInfoEntry message or plain object to encode
+                                 * @param {$protobuf.Writer} [writer] Writer to encode to
+                                 * @returns {$protobuf.Writer} Writer
+                                 */
+                                TokenIdentityInfoEntry.encodeDelimited = function encodeDelimited(message, writer) {
+                                    return this.encode(message, writer).ldelim();
+                                };
+
+                                /**
+                                 * Decodes a TokenIdentityInfoEntry message from the specified reader or buffer.
+                                 * @function decode
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry
+                                 * @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.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry} TokenIdentityInfoEntry
+                                 * @throws {Error} If the payload is not a reader or valid buffer
+                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
+                                 */
+                                TokenIdentityInfoEntry.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.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry();
+                                    while (reader.pos < end) {
+                                        var tag = reader.uint32();
+                                        switch (tag >>> 3) {
+                                        case 1:
+                                            message.frozen = reader.bool();
+                                            break;
+                                        default:
+                                            reader.skipType(tag & 7);
+                                            break;
+                                        }
+                                    }
+                                    return message;
+                                };
+
+                                /**
+                                 * Decodes a TokenIdentityInfoEntry message from the specified reader or buffer, length delimited.
+                                 * @function decodeDelimited
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry
+                                 * @static
+                                 * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+                                 * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry} TokenIdentityInfoEntry
+                                 * @throws {Error} If the payload is not a reader or valid buffer
+                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
+                                 */
+                                TokenIdentityInfoEntry.decodeDelimited = function decodeDelimited(reader) {
+                                    if (!(reader instanceof $Reader))
+                                        reader = new $Reader(reader);
+                                    return this.decode(reader, reader.uint32());
+                                };
+
+                                /**
+                                 * Verifies a TokenIdentityInfoEntry message.
+                                 * @function verify
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry
+                                 * @static
+                                 * @param {Object.} message Plain object to verify
+                                 * @returns {string|null} `null` if valid, otherwise the reason why it is not
+                                 */
+                                TokenIdentityInfoEntry.verify = function verify(message) {
+                                    if (typeof message !== "object" || message === null)
+                                        return "object expected";
+                                    if (message.frozen != null && message.hasOwnProperty("frozen"))
+                                        if (typeof message.frozen !== "boolean")
+                                            return "frozen: boolean expected";
+                                    return null;
+                                };
+
+                                /**
+                                 * Creates a TokenIdentityInfoEntry message from a plain object. Also converts values to their respective internal types.
+                                 * @function fromObject
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry
+                                 * @static
+                                 * @param {Object.} object Plain object
+                                 * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry} TokenIdentityInfoEntry
+                                 */
+                                TokenIdentityInfoEntry.fromObject = function fromObject(object) {
+                                    if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry)
+                                        return object;
+                                    var message = new $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry();
+                                    if (object.frozen != null)
+                                        message.frozen = Boolean(object.frozen);
+                                    return message;
+                                };
+
+                                /**
+                                 * Creates a plain object from a TokenIdentityInfoEntry message. Also converts values to other types if specified.
+                                 * @function toObject
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry
+                                 * @static
+                                 * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry} message TokenIdentityInfoEntry
+                                 * @param {$protobuf.IConversionOptions} [options] Conversion options
+                                 * @returns {Object.} Plain object
+                                 */
+                                TokenIdentityInfoEntry.toObject = function toObject(message, options) {
+                                    if (!options)
+                                        options = {};
+                                    var object = {};
+                                    if (options.defaults)
+                                        object.frozen = false;
+                                    if (message.frozen != null && message.hasOwnProperty("frozen"))
+                                        object.frozen = message.frozen;
+                                    return object;
+                                };
+
+                                /**
+                                 * Converts this TokenIdentityInfoEntry to JSON.
+                                 * @function toJSON
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry
+                                 * @instance
+                                 * @returns {Object.} JSON object
+                                 */
+                                TokenIdentityInfoEntry.prototype.toJSON = function toJSON() {
+                                    return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+                                };
+
+                                return TokenIdentityInfoEntry;
+                            })();
+
+                            GetIdentitiesTokenInfosResponseV0.TokenInfoEntry = (function() {
+
+                                /**
+                                 * Properties of a TokenInfoEntry.
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0
+                                 * @interface ITokenInfoEntry
+                                 * @property {Uint8Array|null} [identityId] TokenInfoEntry identityId
+                                 * @property {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.ITokenIdentityInfoEntry|null} [info] TokenInfoEntry info
+                                 */
+
+                                /**
+                                 * Constructs a new TokenInfoEntry.
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0
+                                 * @classdesc Represents a TokenInfoEntry.
+                                 * @implements ITokenInfoEntry
+                                 * @constructor
+                                 * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.ITokenInfoEntry=} [properties] Properties to set
+                                 */
+                                function TokenInfoEntry(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]];
+                                }
+
+                                /**
+                                 * TokenInfoEntry identityId.
                                  * @member {Uint8Array} identityId
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry
                                  * @instance
                                  */
-                                IdentityTokenBalanceEntry.prototype.identityId = $util.newBuffer([]);
+                                TokenInfoEntry.prototype.identityId = $util.newBuffer([]);
 
                                 /**
-                                 * IdentityTokenBalanceEntry balance.
-                                 * @member {number|Long} balance
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry
+                                 * TokenInfoEntry info.
+                                 * @member {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.ITokenIdentityInfoEntry|null|undefined} info
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry
                                  * @instance
                                  */
-                                IdentityTokenBalanceEntry.prototype.balance = $util.Long ? $util.Long.fromBits(0,0,true) : 0;
+                                TokenInfoEntry.prototype.info = null;
 
                                 /**
-                                 * Creates a new IdentityTokenBalanceEntry instance using the specified properties.
+                                 * Creates a new TokenInfoEntry instance using the specified properties.
                                  * @function create
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry
                                  * @static
-                                 * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IIdentityTokenBalanceEntry=} [properties] Properties to set
-                                 * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry} IdentityTokenBalanceEntry instance
+                                 * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.ITokenInfoEntry=} [properties] Properties to set
+                                 * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry} TokenInfoEntry instance
                                  */
-                                IdentityTokenBalanceEntry.create = function create(properties) {
-                                    return new IdentityTokenBalanceEntry(properties);
+                                TokenInfoEntry.create = function create(properties) {
+                                    return new TokenInfoEntry(properties);
                                 };
 
                                 /**
-                                 * Encodes the specified IdentityTokenBalanceEntry message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry.verify|verify} messages.
+                                 * Encodes the specified TokenInfoEntry message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry.verify|verify} messages.
                                  * @function encode
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry
                                  * @static
-                                 * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IIdentityTokenBalanceEntry} message IdentityTokenBalanceEntry message or plain object to encode
+                                 * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.ITokenInfoEntry} message TokenInfoEntry message or plain object to encode
                                  * @param {$protobuf.Writer} [writer] Writer to encode to
                                  * @returns {$protobuf.Writer} Writer
                                  */
-                                IdentityTokenBalanceEntry.encode = function encode(message, writer) {
+                                TokenInfoEntry.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.balance != null && Object.hasOwnProperty.call(message, "balance"))
-                                        writer.uint32(/* id 2, wireType 0 =*/16).uint64(message.balance);
+                                    if (message.info != null && Object.hasOwnProperty.call(message, "info"))
+                                        $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry.encode(message.info, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
                                     return writer;
                                 };
 
                                 /**
-                                 * Encodes the specified IdentityTokenBalanceEntry message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry.verify|verify} messages.
+                                 * Encodes the specified TokenInfoEntry message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry.verify|verify} messages.
                                  * @function encodeDelimited
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry
                                  * @static
-                                 * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IIdentityTokenBalanceEntry} message IdentityTokenBalanceEntry message or plain object to encode
+                                 * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.ITokenInfoEntry} message TokenInfoEntry message or plain object to encode
                                  * @param {$protobuf.Writer} [writer] Writer to encode to
                                  * @returns {$protobuf.Writer} Writer
                                  */
-                                IdentityTokenBalanceEntry.encodeDelimited = function encodeDelimited(message, writer) {
+                                TokenInfoEntry.encodeDelimited = function encodeDelimited(message, writer) {
                                     return this.encode(message, writer).ldelim();
                                 };
 
                                 /**
-                                 * Decodes an IdentityTokenBalanceEntry message from the specified reader or buffer.
+                                 * Decodes a TokenInfoEntry message from the specified reader or buffer.
                                  * @function decode
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry
                                  * @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.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry} IdentityTokenBalanceEntry
+                                 * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry} TokenInfoEntry
                                  * @throws {Error} If the payload is not a reader or valid buffer
                                  * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                  */
-                                IdentityTokenBalanceEntry.decode = function decode(reader, length) {
+                                TokenInfoEntry.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.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry();
+                                    var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry();
                                     while (reader.pos < end) {
                                         var tag = reader.uint32();
                                         switch (tag >>> 3) {
@@ -47101,7 +53727,7 @@ $root.org = (function() {
                                             message.identityId = reader.bytes();
                                             break;
                                         case 2:
-                                            message.balance = reader.uint64();
+                                            message.info = $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry.decode(reader, reader.uint32());
                                             break;
                                         default:
                                             reader.skipType(tag & 7);
@@ -47112,80 +53738,78 @@ $root.org = (function() {
                                 };
 
                                 /**
-                                 * Decodes an IdentityTokenBalanceEntry message from the specified reader or buffer, length delimited.
+                                 * Decodes a TokenInfoEntry message from the specified reader or buffer, length delimited.
                                  * @function decodeDelimited
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry
                                  * @static
                                  * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                                 * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry} IdentityTokenBalanceEntry
+                                 * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry} TokenInfoEntry
                                  * @throws {Error} If the payload is not a reader or valid buffer
                                  * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                  */
-                                IdentityTokenBalanceEntry.decodeDelimited = function decodeDelimited(reader) {
+                                TokenInfoEntry.decodeDelimited = function decodeDelimited(reader) {
                                     if (!(reader instanceof $Reader))
                                         reader = new $Reader(reader);
                                     return this.decode(reader, reader.uint32());
                                 };
 
                                 /**
-                                 * Verifies an IdentityTokenBalanceEntry message.
+                                 * Verifies a TokenInfoEntry message.
                                  * @function verify
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry
                                  * @static
                                  * @param {Object.} message Plain object to verify
                                  * @returns {string|null} `null` if valid, otherwise the reason why it is not
                                  */
-                                IdentityTokenBalanceEntry.verify = function verify(message) {
+                                TokenInfoEntry.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.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.info != null && message.hasOwnProperty("info")) {
+                                        var error = $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry.verify(message.info);
+                                        if (error)
+                                            return "info." + error;
+                                    }
                                     return null;
                                 };
 
                                 /**
-                                 * Creates an IdentityTokenBalanceEntry message from a plain object. Also converts values to their respective internal types.
+                                 * Creates a TokenInfoEntry message from a plain object. Also converts values to their respective internal types.
                                  * @function fromObject
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry
                                  * @static
                                  * @param {Object.} object Plain object
-                                 * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry} IdentityTokenBalanceEntry
+                                 * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry} TokenInfoEntry
                                  */
-                                IdentityTokenBalanceEntry.fromObject = function fromObject(object) {
-                                    if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry)
+                                TokenInfoEntry.fromObject = function fromObject(object) {
+                                    if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry)
                                         return object;
-                                    var message = new $root.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry();
+                                    var message = new $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry();
                                     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.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.info != null) {
+                                        if (typeof object.info !== "object")
+                                            throw TypeError(".org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry.info: object expected");
+                                        message.info = $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry.fromObject(object.info);
+                                    }
                                     return message;
                                 };
 
                                 /**
-                                 * Creates a plain object from an IdentityTokenBalanceEntry message. Also converts values to other types if specified.
+                                 * Creates a plain object from a TokenInfoEntry message. Also converts values to other types if specified.
                                  * @function toObject
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry
                                  * @static
-                                 * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry} message IdentityTokenBalanceEntry
+                                 * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry} message TokenInfoEntry
                                  * @param {$protobuf.IConversionOptions} [options] Conversion options
                                  * @returns {Object.} Plain object
                                  */
-                                IdentityTokenBalanceEntry.toObject = function toObject(message, options) {
+                                TokenInfoEntry.toObject = function toObject(message, options) {
                                     if (!options)
                                         options = {};
                                     var object = {};
@@ -47197,55 +53821,48 @@ $root.org = (function() {
                                             if (options.bytes !== Array)
                                                 object.identityId = $util.newBuffer(object.identityId);
                                         }
-                                        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;
+                                        object.info = null;
                                     }
                                     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.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.info != null && message.hasOwnProperty("info"))
+                                        object.info = $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry.toObject(message.info, options);
                                     return object;
                                 };
 
                                 /**
-                                 * Converts this IdentityTokenBalanceEntry to JSON.
+                                 * Converts this TokenInfoEntry to JSON.
                                  * @function toJSON
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry
                                  * @instance
                                  * @returns {Object.} JSON object
                                  */
-                                IdentityTokenBalanceEntry.prototype.toJSON = function toJSON() {
+                                TokenInfoEntry.prototype.toJSON = function toJSON() {
                                     return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
                                 };
 
-                                return IdentityTokenBalanceEntry;
+                                return TokenInfoEntry;
                             })();
 
-                            GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances = (function() {
+                            GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos = (function() {
 
                                 /**
-                                 * Properties of an IdentityTokenBalances.
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0
-                                 * @interface IIdentityTokenBalances
-                                 * @property {Array.|null} [identityTokenBalances] IdentityTokenBalances identityTokenBalances
+                                 * Properties of an IdentityTokenInfos.
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0
+                                 * @interface IIdentityTokenInfos
+                                 * @property {Array.|null} [tokenInfos] IdentityTokenInfos tokenInfos
                                  */
 
                                 /**
-                                 * Constructs a new IdentityTokenBalances.
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0
-                                 * @classdesc Represents an IdentityTokenBalances.
-                                 * @implements IIdentityTokenBalances
+                                 * Constructs a new IdentityTokenInfos.
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0
+                                 * @classdesc Represents an IdentityTokenInfos.
+                                 * @implements IIdentityTokenInfos
                                  * @constructor
-                                 * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IIdentityTokenBalances=} [properties] Properties to set
+                                 * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IIdentityTokenInfos=} [properties] Properties to set
                                  */
-                                function IdentityTokenBalances(properties) {
-                                    this.identityTokenBalances = [];
+                                function IdentityTokenInfos(properties) {
+                                    this.tokenInfos = [];
                                     if (properties)
                                         for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
                                             if (properties[keys[i]] != null)
@@ -47253,78 +53870,78 @@ $root.org = (function() {
                                 }
 
                                 /**
-                                 * IdentityTokenBalances identityTokenBalances.
-                                 * @member {Array.} identityTokenBalances
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances
+                                 * IdentityTokenInfos tokenInfos.
+                                 * @member {Array.} tokenInfos
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos
                                  * @instance
                                  */
-                                IdentityTokenBalances.prototype.identityTokenBalances = $util.emptyArray;
+                                IdentityTokenInfos.prototype.tokenInfos = $util.emptyArray;
 
                                 /**
-                                 * Creates a new IdentityTokenBalances instance using the specified properties.
+                                 * Creates a new IdentityTokenInfos instance using the specified properties.
                                  * @function create
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos
                                  * @static
-                                 * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IIdentityTokenBalances=} [properties] Properties to set
-                                 * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances} IdentityTokenBalances instance
+                                 * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IIdentityTokenInfos=} [properties] Properties to set
+                                 * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos} IdentityTokenInfos instance
                                  */
-                                IdentityTokenBalances.create = function create(properties) {
-                                    return new IdentityTokenBalances(properties);
+                                IdentityTokenInfos.create = function create(properties) {
+                                    return new IdentityTokenInfos(properties);
                                 };
 
                                 /**
-                                 * Encodes the specified IdentityTokenBalances message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances.verify|verify} messages.
+                                 * Encodes the specified IdentityTokenInfos message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos.verify|verify} messages.
                                  * @function encode
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos
                                  * @static
-                                 * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IIdentityTokenBalances} message IdentityTokenBalances message or plain object to encode
+                                 * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IIdentityTokenInfos} message IdentityTokenInfos message or plain object to encode
                                  * @param {$protobuf.Writer} [writer] Writer to encode to
                                  * @returns {$protobuf.Writer} Writer
                                  */
-                                IdentityTokenBalances.encode = function encode(message, writer) {
+                                IdentityTokenInfos.encode = function encode(message, writer) {
                                     if (!writer)
                                         writer = $Writer.create();
-                                    if (message.identityTokenBalances != null && message.identityTokenBalances.length)
-                                        for (var i = 0; i < message.identityTokenBalances.length; ++i)
-                                            $root.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry.encode(message.identityTokenBalances[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+                                    if (message.tokenInfos != null && message.tokenInfos.length)
+                                        for (var i = 0; i < message.tokenInfos.length; ++i)
+                                            $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry.encode(message.tokenInfos[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
                                     return writer;
                                 };
 
                                 /**
-                                 * Encodes the specified IdentityTokenBalances message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances.verify|verify} messages.
+                                 * Encodes the specified IdentityTokenInfos message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos.verify|verify} messages.
                                  * @function encodeDelimited
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos
                                  * @static
-                                 * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IIdentityTokenBalances} message IdentityTokenBalances message or plain object to encode
+                                 * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IIdentityTokenInfos} message IdentityTokenInfos message or plain object to encode
                                  * @param {$protobuf.Writer} [writer] Writer to encode to
                                  * @returns {$protobuf.Writer} Writer
                                  */
-                                IdentityTokenBalances.encodeDelimited = function encodeDelimited(message, writer) {
+                                IdentityTokenInfos.encodeDelimited = function encodeDelimited(message, writer) {
                                     return this.encode(message, writer).ldelim();
                                 };
 
                                 /**
-                                 * Decodes an IdentityTokenBalances message from the specified reader or buffer.
+                                 * Decodes an IdentityTokenInfos message from the specified reader or buffer.
                                  * @function decode
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos
                                  * @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.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances} IdentityTokenBalances
+                                 * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos} IdentityTokenInfos
                                  * @throws {Error} If the payload is not a reader or valid buffer
                                  * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                  */
-                                IdentityTokenBalances.decode = function decode(reader, length) {
+                                IdentityTokenInfos.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.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances();
+                                    var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos();
                                     while (reader.pos < end) {
                                         var tag = reader.uint32();
                                         switch (tag >>> 3) {
                                         case 1:
-                                            if (!(message.identityTokenBalances && message.identityTokenBalances.length))
-                                                message.identityTokenBalances = [];
-                                            message.identityTokenBalances.push($root.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry.decode(reader, reader.uint32()));
+                                            if (!(message.tokenInfos && message.tokenInfos.length))
+                                                message.tokenInfos = [];
+                                            message.tokenInfos.push($root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry.decode(reader, reader.uint32()));
                                             break;
                                         default:
                                             reader.skipType(tag & 7);
@@ -47335,130 +53952,130 @@ $root.org = (function() {
                                 };
 
                                 /**
-                                 * Decodes an IdentityTokenBalances message from the specified reader or buffer, length delimited.
+                                 * Decodes an IdentityTokenInfos message from the specified reader or buffer, length delimited.
                                  * @function decodeDelimited
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos
                                  * @static
                                  * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                                 * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances} IdentityTokenBalances
+                                 * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos} IdentityTokenInfos
                                  * @throws {Error} If the payload is not a reader or valid buffer
                                  * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                  */
-                                IdentityTokenBalances.decodeDelimited = function decodeDelimited(reader) {
+                                IdentityTokenInfos.decodeDelimited = function decodeDelimited(reader) {
                                     if (!(reader instanceof $Reader))
                                         reader = new $Reader(reader);
                                     return this.decode(reader, reader.uint32());
                                 };
 
                                 /**
-                                 * Verifies an IdentityTokenBalances message.
+                                 * Verifies an IdentityTokenInfos message.
                                  * @function verify
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos
                                  * @static
                                  * @param {Object.} message Plain object to verify
                                  * @returns {string|null} `null` if valid, otherwise the reason why it is not
                                  */
-                                IdentityTokenBalances.verify = function verify(message) {
+                                IdentityTokenInfos.verify = function verify(message) {
                                     if (typeof message !== "object" || message === null)
                                         return "object expected";
-                                    if (message.identityTokenBalances != null && message.hasOwnProperty("identityTokenBalances")) {
-                                        if (!Array.isArray(message.identityTokenBalances))
-                                            return "identityTokenBalances: array expected";
-                                        for (var i = 0; i < message.identityTokenBalances.length; ++i) {
-                                            var error = $root.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry.verify(message.identityTokenBalances[i]);
+                                    if (message.tokenInfos != null && message.hasOwnProperty("tokenInfos")) {
+                                        if (!Array.isArray(message.tokenInfos))
+                                            return "tokenInfos: array expected";
+                                        for (var i = 0; i < message.tokenInfos.length; ++i) {
+                                            var error = $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry.verify(message.tokenInfos[i]);
                                             if (error)
-                                                return "identityTokenBalances." + error;
+                                                return "tokenInfos." + error;
                                         }
                                     }
                                     return null;
                                 };
 
                                 /**
-                                 * Creates an IdentityTokenBalances message from a plain object. Also converts values to their respective internal types.
+                                 * Creates an IdentityTokenInfos message from a plain object. Also converts values to their respective internal types.
                                  * @function fromObject
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos
                                  * @static
                                  * @param {Object.} object Plain object
-                                 * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances} IdentityTokenBalances
+                                 * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos} IdentityTokenInfos
                                  */
-                                IdentityTokenBalances.fromObject = function fromObject(object) {
-                                    if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances)
+                                IdentityTokenInfos.fromObject = function fromObject(object) {
+                                    if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos)
                                         return object;
-                                    var message = new $root.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances();
-                                    if (object.identityTokenBalances) {
-                                        if (!Array.isArray(object.identityTokenBalances))
-                                            throw TypeError(".org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances.identityTokenBalances: array expected");
-                                        message.identityTokenBalances = [];
-                                        for (var i = 0; i < object.identityTokenBalances.length; ++i) {
-                                            if (typeof object.identityTokenBalances[i] !== "object")
-                                                throw TypeError(".org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances.identityTokenBalances: object expected");
-                                            message.identityTokenBalances[i] = $root.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry.fromObject(object.identityTokenBalances[i]);
+                                    var message = new $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos();
+                                    if (object.tokenInfos) {
+                                        if (!Array.isArray(object.tokenInfos))
+                                            throw TypeError(".org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos.tokenInfos: array expected");
+                                        message.tokenInfos = [];
+                                        for (var i = 0; i < object.tokenInfos.length; ++i) {
+                                            if (typeof object.tokenInfos[i] !== "object")
+                                                throw TypeError(".org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos.tokenInfos: object expected");
+                                            message.tokenInfos[i] = $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry.fromObject(object.tokenInfos[i]);
                                         }
                                     }
                                     return message;
                                 };
 
                                 /**
-                                 * Creates a plain object from an IdentityTokenBalances message. Also converts values to other types if specified.
+                                 * Creates a plain object from an IdentityTokenInfos message. Also converts values to other types if specified.
                                  * @function toObject
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos
                                  * @static
-                                 * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances} message IdentityTokenBalances
+                                 * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos} message IdentityTokenInfos
                                  * @param {$protobuf.IConversionOptions} [options] Conversion options
                                  * @returns {Object.} Plain object
                                  */
-                                IdentityTokenBalances.toObject = function toObject(message, options) {
+                                IdentityTokenInfos.toObject = function toObject(message, options) {
                                     if (!options)
                                         options = {};
                                     var object = {};
                                     if (options.arrays || options.defaults)
-                                        object.identityTokenBalances = [];
-                                    if (message.identityTokenBalances && message.identityTokenBalances.length) {
-                                        object.identityTokenBalances = [];
-                                        for (var j = 0; j < message.identityTokenBalances.length; ++j)
-                                            object.identityTokenBalances[j] = $root.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry.toObject(message.identityTokenBalances[j], options);
+                                        object.tokenInfos = [];
+                                    if (message.tokenInfos && message.tokenInfos.length) {
+                                        object.tokenInfos = [];
+                                        for (var j = 0; j < message.tokenInfos.length; ++j)
+                                            object.tokenInfos[j] = $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry.toObject(message.tokenInfos[j], options);
                                     }
                                     return object;
                                 };
 
                                 /**
-                                 * Converts this IdentityTokenBalances to JSON.
+                                 * Converts this IdentityTokenInfos to JSON.
                                  * @function toJSON
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances
+                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos
                                  * @instance
                                  * @returns {Object.} JSON object
                                  */
-                                IdentityTokenBalances.prototype.toJSON = function toJSON() {
+                                IdentityTokenInfos.prototype.toJSON = function toJSON() {
                                     return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
                                 };
 
-                                return IdentityTokenBalances;
+                                return IdentityTokenInfos;
                             })();
 
-                            return GetIdentitiesTokenBalancesResponseV0;
+                            return GetIdentitiesTokenInfosResponseV0;
                         })();
 
-                        return GetIdentitiesTokenBalancesResponse;
+                        return GetIdentitiesTokenInfosResponse;
                     })();
 
-                    v0.GetIdentityTokenInfosRequest = (function() {
+                    v0.GetTokenStatusesRequest = (function() {
 
                         /**
-                         * Properties of a GetIdentityTokenInfosRequest.
+                         * Properties of a GetTokenStatusesRequest.
                          * @memberof org.dash.platform.dapi.v0
-                         * @interface IGetIdentityTokenInfosRequest
-                         * @property {org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.IGetIdentityTokenInfosRequestV0|null} [v0] GetIdentityTokenInfosRequest v0
+                         * @interface IGetTokenStatusesRequest
+                         * @property {org.dash.platform.dapi.v0.GetTokenStatusesRequest.IGetTokenStatusesRequestV0|null} [v0] GetTokenStatusesRequest v0
                          */
 
                         /**
-                         * Constructs a new GetIdentityTokenInfosRequest.
+                         * Constructs a new GetTokenStatusesRequest.
                          * @memberof org.dash.platform.dapi.v0
-                         * @classdesc Represents a GetIdentityTokenInfosRequest.
-                         * @implements IGetIdentityTokenInfosRequest
+                         * @classdesc Represents a GetTokenStatusesRequest.
+                         * @implements IGetTokenStatusesRequest
                          * @constructor
-                         * @param {org.dash.platform.dapi.v0.IGetIdentityTokenInfosRequest=} [properties] Properties to set
+                         * @param {org.dash.platform.dapi.v0.IGetTokenStatusesRequest=} [properties] Properties to set
                          */
-                        function GetIdentityTokenInfosRequest(properties) {
+                        function GetTokenStatusesRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
                                     if (properties[keys[i]] != null)
@@ -47466,89 +54083,89 @@ $root.org = (function() {
                         }
 
                         /**
-                         * GetIdentityTokenInfosRequest v0.
-                         * @member {org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.IGetIdentityTokenInfosRequestV0|null|undefined} v0
-                         * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest
+                         * GetTokenStatusesRequest v0.
+                         * @member {org.dash.platform.dapi.v0.GetTokenStatusesRequest.IGetTokenStatusesRequestV0|null|undefined} v0
+                         * @memberof org.dash.platform.dapi.v0.GetTokenStatusesRequest
                          * @instance
                          */
-                        GetIdentityTokenInfosRequest.prototype.v0 = null;
+                        GetTokenStatusesRequest.prototype.v0 = null;
 
                         // OneOf field names bound to virtual getters and setters
                         var $oneOfFields;
 
                         /**
-                         * GetIdentityTokenInfosRequest version.
+                         * GetTokenStatusesRequest version.
                          * @member {"v0"|undefined} version
-                         * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest
+                         * @memberof org.dash.platform.dapi.v0.GetTokenStatusesRequest
                          * @instance
                          */
-                        Object.defineProperty(GetIdentityTokenInfosRequest.prototype, "version", {
+                        Object.defineProperty(GetTokenStatusesRequest.prototype, "version", {
                             get: $util.oneOfGetter($oneOfFields = ["v0"]),
                             set: $util.oneOfSetter($oneOfFields)
                         });
 
                         /**
-                         * Creates a new GetIdentityTokenInfosRequest instance using the specified properties.
+                         * Creates a new GetTokenStatusesRequest instance using the specified properties.
                          * @function create
-                         * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest
+                         * @memberof org.dash.platform.dapi.v0.GetTokenStatusesRequest
                          * @static
-                         * @param {org.dash.platform.dapi.v0.IGetIdentityTokenInfosRequest=} [properties] Properties to set
-                         * @returns {org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest} GetIdentityTokenInfosRequest instance
+                         * @param {org.dash.platform.dapi.v0.IGetTokenStatusesRequest=} [properties] Properties to set
+                         * @returns {org.dash.platform.dapi.v0.GetTokenStatusesRequest} GetTokenStatusesRequest instance
                          */
-                        GetIdentityTokenInfosRequest.create = function create(properties) {
-                            return new GetIdentityTokenInfosRequest(properties);
+                        GetTokenStatusesRequest.create = function create(properties) {
+                            return new GetTokenStatusesRequest(properties);
                         };
 
                         /**
-                         * Encodes the specified GetIdentityTokenInfosRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.verify|verify} messages.
+                         * Encodes the specified GetTokenStatusesRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenStatusesRequest.verify|verify} messages.
                          * @function encode
-                         * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest
+                         * @memberof org.dash.platform.dapi.v0.GetTokenStatusesRequest
                          * @static
-                         * @param {org.dash.platform.dapi.v0.IGetIdentityTokenInfosRequest} message GetIdentityTokenInfosRequest message or plain object to encode
+                         * @param {org.dash.platform.dapi.v0.IGetTokenStatusesRequest} message GetTokenStatusesRequest message or plain object to encode
                          * @param {$protobuf.Writer} [writer] Writer to encode to
                          * @returns {$protobuf.Writer} Writer
                          */
-                        GetIdentityTokenInfosRequest.encode = function encode(message, writer) {
+                        GetTokenStatusesRequest.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.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+                                $root.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
                             return writer;
                         };
 
                         /**
-                         * Encodes the specified GetIdentityTokenInfosRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.verify|verify} messages.
+                         * Encodes the specified GetTokenStatusesRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenStatusesRequest.verify|verify} messages.
                          * @function encodeDelimited
-                         * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest
+                         * @memberof org.dash.platform.dapi.v0.GetTokenStatusesRequest
                          * @static
-                         * @param {org.dash.platform.dapi.v0.IGetIdentityTokenInfosRequest} message GetIdentityTokenInfosRequest message or plain object to encode
+                         * @param {org.dash.platform.dapi.v0.IGetTokenStatusesRequest} message GetTokenStatusesRequest message or plain object to encode
                          * @param {$protobuf.Writer} [writer] Writer to encode to
                          * @returns {$protobuf.Writer} Writer
                          */
-                        GetIdentityTokenInfosRequest.encodeDelimited = function encodeDelimited(message, writer) {
+                        GetTokenStatusesRequest.encodeDelimited = function encodeDelimited(message, writer) {
                             return this.encode(message, writer).ldelim();
                         };
 
                         /**
-                         * Decodes a GetIdentityTokenInfosRequest message from the specified reader or buffer.
+                         * Decodes a GetTokenStatusesRequest message from the specified reader or buffer.
                          * @function decode
-                         * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest
+                         * @memberof org.dash.platform.dapi.v0.GetTokenStatusesRequest
                          * @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.GetIdentityTokenInfosRequest} GetIdentityTokenInfosRequest
+                         * @returns {org.dash.platform.dapi.v0.GetTokenStatusesRequest} GetTokenStatusesRequest
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        GetIdentityTokenInfosRequest.decode = function decode(reader, length) {
+                        GetTokenStatusesRequest.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.GetIdentityTokenInfosRequest();
+                            var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetTokenStatusesRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
                                 switch (tag >>> 3) {
                                 case 1:
-                                    message.v0 = $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.decode(reader, reader.uint32());
+                                    message.v0 = $root.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0.decode(reader, reader.uint32());
                                     break;
                                 default:
                                     reader.skipType(tag & 7);
@@ -47559,37 +54176,37 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Decodes a GetIdentityTokenInfosRequest message from the specified reader or buffer, length delimited.
+                         * Decodes a GetTokenStatusesRequest message from the specified reader or buffer, length delimited.
                          * @function decodeDelimited
-                         * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest
+                         * @memberof org.dash.platform.dapi.v0.GetTokenStatusesRequest
                          * @static
                          * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                         * @returns {org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest} GetIdentityTokenInfosRequest
+                         * @returns {org.dash.platform.dapi.v0.GetTokenStatusesRequest} GetTokenStatusesRequest
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        GetIdentityTokenInfosRequest.decodeDelimited = function decodeDelimited(reader) {
+                        GetTokenStatusesRequest.decodeDelimited = function decodeDelimited(reader) {
                             if (!(reader instanceof $Reader))
                                 reader = new $Reader(reader);
                             return this.decode(reader, reader.uint32());
                         };
 
                         /**
-                         * Verifies a GetIdentityTokenInfosRequest message.
+                         * Verifies a GetTokenStatusesRequest message.
                          * @function verify
-                         * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest
+                         * @memberof org.dash.platform.dapi.v0.GetTokenStatusesRequest
                          * @static
                          * @param {Object.} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        GetIdentityTokenInfosRequest.verify = function verify(message) {
+                        GetTokenStatusesRequest.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.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.verify(message.v0);
+                                    var error = $root.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0.verify(message.v0);
                                     if (error)
                                         return "v0." + error;
                                 }
@@ -47598,40 +54215,40 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Creates a GetIdentityTokenInfosRequest message from a plain object. Also converts values to their respective internal types.
+                         * Creates a GetTokenStatusesRequest message from a plain object. Also converts values to their respective internal types.
                          * @function fromObject
-                         * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest
+                         * @memberof org.dash.platform.dapi.v0.GetTokenStatusesRequest
                          * @static
                          * @param {Object.} object Plain object
-                         * @returns {org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest} GetIdentityTokenInfosRequest
+                         * @returns {org.dash.platform.dapi.v0.GetTokenStatusesRequest} GetTokenStatusesRequest
                          */
-                        GetIdentityTokenInfosRequest.fromObject = function fromObject(object) {
-                            if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest)
+                        GetTokenStatusesRequest.fromObject = function fromObject(object) {
+                            if (object instanceof $root.org.dash.platform.dapi.v0.GetTokenStatusesRequest)
                                 return object;
-                            var message = new $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest();
+                            var message = new $root.org.dash.platform.dapi.v0.GetTokenStatusesRequest();
                             if (object.v0 != null) {
                                 if (typeof object.v0 !== "object")
-                                    throw TypeError(".org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.v0: object expected");
-                                message.v0 = $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.fromObject(object.v0);
+                                    throw TypeError(".org.dash.platform.dapi.v0.GetTokenStatusesRequest.v0: object expected");
+                                message.v0 = $root.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0.fromObject(object.v0);
                             }
                             return message;
                         };
 
                         /**
-                         * Creates a plain object from a GetIdentityTokenInfosRequest message. Also converts values to other types if specified.
+                         * Creates a plain object from a GetTokenStatusesRequest message. Also converts values to other types if specified.
                          * @function toObject
-                         * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest
+                         * @memberof org.dash.platform.dapi.v0.GetTokenStatusesRequest
                          * @static
-                         * @param {org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest} message GetIdentityTokenInfosRequest
+                         * @param {org.dash.platform.dapi.v0.GetTokenStatusesRequest} message GetTokenStatusesRequest
                          * @param {$protobuf.IConversionOptions} [options] Conversion options
                          * @returns {Object.} Plain object
                          */
-                        GetIdentityTokenInfosRequest.toObject = function toObject(message, options) {
+                        GetTokenStatusesRequest.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.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.toObject(message.v0, options);
+                                object.v0 = $root.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0.toObject(message.v0, options);
                                 if (options.oneofs)
                                     object.version = "v0";
                             }
@@ -47639,36 +54256,35 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Converts this GetIdentityTokenInfosRequest to JSON.
+                         * Converts this GetTokenStatusesRequest to JSON.
                          * @function toJSON
-                         * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest
+                         * @memberof org.dash.platform.dapi.v0.GetTokenStatusesRequest
                          * @instance
                          * @returns {Object.} JSON object
                          */
-                        GetIdentityTokenInfosRequest.prototype.toJSON = function toJSON() {
+                        GetTokenStatusesRequest.prototype.toJSON = function toJSON() {
                             return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
                         };
 
-                        GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0 = (function() {
+                        GetTokenStatusesRequest.GetTokenStatusesRequestV0 = (function() {
 
                             /**
-                             * Properties of a GetIdentityTokenInfosRequestV0.
-                             * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest
-                             * @interface IGetIdentityTokenInfosRequestV0
-                             * @property {Uint8Array|null} [identityId] GetIdentityTokenInfosRequestV0 identityId
-                             * @property {Array.|null} [tokenIds] GetIdentityTokenInfosRequestV0 tokenIds
-                             * @property {boolean|null} [prove] GetIdentityTokenInfosRequestV0 prove
+                             * Properties of a GetTokenStatusesRequestV0.
+                             * @memberof org.dash.platform.dapi.v0.GetTokenStatusesRequest
+                             * @interface IGetTokenStatusesRequestV0
+                             * @property {Array.|null} [tokenIds] GetTokenStatusesRequestV0 tokenIds
+                             * @property {boolean|null} [prove] GetTokenStatusesRequestV0 prove
                              */
 
                             /**
-                             * Constructs a new GetIdentityTokenInfosRequestV0.
-                             * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest
-                             * @classdesc Represents a GetIdentityTokenInfosRequestV0.
-                             * @implements IGetIdentityTokenInfosRequestV0
+                             * Constructs a new GetTokenStatusesRequestV0.
+                             * @memberof org.dash.platform.dapi.v0.GetTokenStatusesRequest
+                             * @classdesc Represents a GetTokenStatusesRequestV0.
+                             * @implements IGetTokenStatusesRequestV0
                              * @constructor
-                             * @param {org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.IGetIdentityTokenInfosRequestV0=} [properties] Properties to set
+                             * @param {org.dash.platform.dapi.v0.GetTokenStatusesRequest.IGetTokenStatusesRequestV0=} [properties] Properties to set
                              */
-                            function GetIdentityTokenInfosRequestV0(properties) {
+                            function GetTokenStatusesRequestV0(properties) {
                                 this.tokenIds = [];
                                 if (properties)
                                     for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
@@ -47677,103 +54293,90 @@ $root.org = (function() {
                             }
 
                             /**
-                             * GetIdentityTokenInfosRequestV0 identityId.
-                             * @member {Uint8Array} identityId
-                             * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0
-                             * @instance
-                             */
-                            GetIdentityTokenInfosRequestV0.prototype.identityId = $util.newBuffer([]);
-
-                            /**
-                             * GetIdentityTokenInfosRequestV0 tokenIds.
+                             * GetTokenStatusesRequestV0 tokenIds.
                              * @member {Array.} tokenIds
-                             * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0
                              * @instance
                              */
-                            GetIdentityTokenInfosRequestV0.prototype.tokenIds = $util.emptyArray;
+                            GetTokenStatusesRequestV0.prototype.tokenIds = $util.emptyArray;
 
                             /**
-                             * GetIdentityTokenInfosRequestV0 prove.
+                             * GetTokenStatusesRequestV0 prove.
                              * @member {boolean} prove
-                             * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0
                              * @instance
                              */
-                            GetIdentityTokenInfosRequestV0.prototype.prove = false;
+                            GetTokenStatusesRequestV0.prototype.prove = false;
 
                             /**
-                             * Creates a new GetIdentityTokenInfosRequestV0 instance using the specified properties.
+                             * Creates a new GetTokenStatusesRequestV0 instance using the specified properties.
                              * @function create
-                             * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.IGetIdentityTokenInfosRequestV0=} [properties] Properties to set
-                             * @returns {org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0} GetIdentityTokenInfosRequestV0 instance
+                             * @param {org.dash.platform.dapi.v0.GetTokenStatusesRequest.IGetTokenStatusesRequestV0=} [properties] Properties to set
+                             * @returns {org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0} GetTokenStatusesRequestV0 instance
                              */
-                            GetIdentityTokenInfosRequestV0.create = function create(properties) {
-                                return new GetIdentityTokenInfosRequestV0(properties);
+                            GetTokenStatusesRequestV0.create = function create(properties) {
+                                return new GetTokenStatusesRequestV0(properties);
                             };
 
                             /**
-                             * Encodes the specified GetIdentityTokenInfosRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.verify|verify} messages.
+                             * Encodes the specified GetTokenStatusesRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0.verify|verify} messages.
                              * @function encode
-                             * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.IGetIdentityTokenInfosRequestV0} message GetIdentityTokenInfosRequestV0 message or plain object to encode
+                             * @param {org.dash.platform.dapi.v0.GetTokenStatusesRequest.IGetTokenStatusesRequestV0} message GetTokenStatusesRequestV0 message or plain object to encode
                              * @param {$protobuf.Writer} [writer] Writer to encode to
                              * @returns {$protobuf.Writer} Writer
                              */
-                            GetIdentityTokenInfosRequestV0.encode = function encode(message, writer) {
+                            GetTokenStatusesRequestV0.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.tokenIds != null && message.tokenIds.length)
                                     for (var i = 0; i < message.tokenIds.length; ++i)
-                                        writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.tokenIds[i]);
+                                        writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.tokenIds[i]);
                                 if (message.prove != null && Object.hasOwnProperty.call(message, "prove"))
-                                    writer.uint32(/* id 3, wireType 0 =*/24).bool(message.prove);
+                                    writer.uint32(/* id 2, wireType 0 =*/16).bool(message.prove);
                                 return writer;
                             };
 
                             /**
-                             * Encodes the specified GetIdentityTokenInfosRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.verify|verify} messages.
+                             * Encodes the specified GetTokenStatusesRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0.verify|verify} messages.
                              * @function encodeDelimited
-                             * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.IGetIdentityTokenInfosRequestV0} message GetIdentityTokenInfosRequestV0 message or plain object to encode
+                             * @param {org.dash.platform.dapi.v0.GetTokenStatusesRequest.IGetTokenStatusesRequestV0} message GetTokenStatusesRequestV0 message or plain object to encode
                              * @param {$protobuf.Writer} [writer] Writer to encode to
                              * @returns {$protobuf.Writer} Writer
                              */
-                            GetIdentityTokenInfosRequestV0.encodeDelimited = function encodeDelimited(message, writer) {
+                            GetTokenStatusesRequestV0.encodeDelimited = function encodeDelimited(message, writer) {
                                 return this.encode(message, writer).ldelim();
                             };
 
                             /**
-                             * Decodes a GetIdentityTokenInfosRequestV0 message from the specified reader or buffer.
+                             * Decodes a GetTokenStatusesRequestV0 message from the specified reader or buffer.
                              * @function decode
-                             * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0
                              * @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.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0} GetIdentityTokenInfosRequestV0
+                             * @returns {org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0} GetTokenStatusesRequestV0
                              * @throws {Error} If the payload is not a reader or valid buffer
                              * @throws {$protobuf.util.ProtocolError} If required fields are missing
                              */
-                            GetIdentityTokenInfosRequestV0.decode = function decode(reader, length) {
+                            GetTokenStatusesRequestV0.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.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0();
+                                var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0();
                                 while (reader.pos < end) {
                                     var tag = reader.uint32();
                                     switch (tag >>> 3) {
                                     case 1:
-                                        message.identityId = reader.bytes();
-                                        break;
-                                    case 2:
                                         if (!(message.tokenIds && message.tokenIds.length))
                                             message.tokenIds = [];
                                         message.tokenIds.push(reader.bytes());
                                         break;
-                                    case 3:
+                                    case 2:
                                         message.prove = reader.bool();
                                         break;
                                     default:
@@ -47785,35 +54388,32 @@ $root.org = (function() {
                             };
 
                             /**
-                             * Decodes a GetIdentityTokenInfosRequestV0 message from the specified reader or buffer, length delimited.
+                             * Decodes a GetTokenStatusesRequestV0 message from the specified reader or buffer, length delimited.
                              * @function decodeDelimited
-                             * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0
                              * @static
                              * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                             * @returns {org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0} GetIdentityTokenInfosRequestV0
+                             * @returns {org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0} GetTokenStatusesRequestV0
                              * @throws {Error} If the payload is not a reader or valid buffer
                              * @throws {$protobuf.util.ProtocolError} If required fields are missing
                              */
-                            GetIdentityTokenInfosRequestV0.decodeDelimited = function decodeDelimited(reader) {
+                            GetTokenStatusesRequestV0.decodeDelimited = function decodeDelimited(reader) {
                                 if (!(reader instanceof $Reader))
                                     reader = new $Reader(reader);
                                 return this.decode(reader, reader.uint32());
                             };
 
                             /**
-                             * Verifies a GetIdentityTokenInfosRequestV0 message.
+                             * Verifies a GetTokenStatusesRequestV0 message.
                              * @function verify
-                             * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0
                              * @static
                              * @param {Object.} message Plain object to verify
                              * @returns {string|null} `null` if valid, otherwise the reason why it is not
                              */
-                            GetIdentityTokenInfosRequestV0.verify = function verify(message) {
+                            GetTokenStatusesRequestV0.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.tokenIds != null && message.hasOwnProperty("tokenIds")) {
                                     if (!Array.isArray(message.tokenIds))
                                         return "tokenIds: array expected";
@@ -47828,25 +54428,20 @@ $root.org = (function() {
                             };
 
                             /**
-                             * Creates a GetIdentityTokenInfosRequestV0 message from a plain object. Also converts values to their respective internal types.
+                             * Creates a GetTokenStatusesRequestV0 message from a plain object. Also converts values to their respective internal types.
                              * @function fromObject
-                             * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0
                              * @static
                              * @param {Object.} object Plain object
-                             * @returns {org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0} GetIdentityTokenInfosRequestV0
+                             * @returns {org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0} GetTokenStatusesRequestV0
                              */
-                            GetIdentityTokenInfosRequestV0.fromObject = function fromObject(object) {
-                                if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0)
+                            GetTokenStatusesRequestV0.fromObject = function fromObject(object) {
+                                if (object instanceof $root.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0)
                                     return object;
-                                var message = new $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0();
-                                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;
+                                var message = new $root.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0();
                                 if (object.tokenIds) {
                                     if (!Array.isArray(object.tokenIds))
-                                        throw TypeError(".org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.tokenIds: array expected");
+                                        throw TypeError(".org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0.tokenIds: array expected");
                                     message.tokenIds = [];
                                     for (var i = 0; i < object.tokenIds.length; ++i)
                                         if (typeof object.tokenIds[i] === "string")
@@ -47860,32 +54455,22 @@ $root.org = (function() {
                             };
 
                             /**
-                             * Creates a plain object from a GetIdentityTokenInfosRequestV0 message. Also converts values to other types if specified.
+                             * Creates a plain object from a GetTokenStatusesRequestV0 message. Also converts values to other types if specified.
                              * @function toObject
-                             * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0} message GetIdentityTokenInfosRequestV0
+                             * @param {org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0} message GetTokenStatusesRequestV0
                              * @param {$protobuf.IConversionOptions} [options] Conversion options
                              * @returns {Object.} Plain object
                              */
-                            GetIdentityTokenInfosRequestV0.toObject = function toObject(message, options) {
+                            GetTokenStatusesRequestV0.toObject = function toObject(message, options) {
                                 if (!options)
                                     options = {};
                                 var object = {};
                                 if (options.arrays || options.defaults)
                                     object.tokenIds = [];
-                                if (options.defaults) {
-                                    if (options.bytes === String)
-                                        object.identityId = "";
-                                    else {
-                                        object.identityId = [];
-                                        if (options.bytes !== Array)
-                                            object.identityId = $util.newBuffer(object.identityId);
-                                    }
+                                if (options.defaults)
                                     object.prove = false;
-                                }
-                                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.tokenIds && message.tokenIds.length) {
                                     object.tokenIds = [];
                                     for (var j = 0; j < message.tokenIds.length; ++j)
@@ -47897,40 +54482,40 @@ $root.org = (function() {
                             };
 
                             /**
-                             * Converts this GetIdentityTokenInfosRequestV0 to JSON.
+                             * Converts this GetTokenStatusesRequestV0 to JSON.
                              * @function toJSON
-                             * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0
                              * @instance
                              * @returns {Object.} JSON object
                              */
-                            GetIdentityTokenInfosRequestV0.prototype.toJSON = function toJSON() {
+                            GetTokenStatusesRequestV0.prototype.toJSON = function toJSON() {
                                 return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
                             };
 
-                            return GetIdentityTokenInfosRequestV0;
+                            return GetTokenStatusesRequestV0;
                         })();
 
-                        return GetIdentityTokenInfosRequest;
+                        return GetTokenStatusesRequest;
                     })();
 
-                    v0.GetIdentityTokenInfosResponse = (function() {
+                    v0.GetTokenStatusesResponse = (function() {
 
                         /**
-                         * Properties of a GetIdentityTokenInfosResponse.
+                         * Properties of a GetTokenStatusesResponse.
                          * @memberof org.dash.platform.dapi.v0
-                         * @interface IGetIdentityTokenInfosResponse
-                         * @property {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.IGetIdentityTokenInfosResponseV0|null} [v0] GetIdentityTokenInfosResponse v0
+                         * @interface IGetTokenStatusesResponse
+                         * @property {org.dash.platform.dapi.v0.GetTokenStatusesResponse.IGetTokenStatusesResponseV0|null} [v0] GetTokenStatusesResponse v0
                          */
 
                         /**
-                         * Constructs a new GetIdentityTokenInfosResponse.
+                         * Constructs a new GetTokenStatusesResponse.
                          * @memberof org.dash.platform.dapi.v0
-                         * @classdesc Represents a GetIdentityTokenInfosResponse.
-                         * @implements IGetIdentityTokenInfosResponse
+                         * @classdesc Represents a GetTokenStatusesResponse.
+                         * @implements IGetTokenStatusesResponse
                          * @constructor
-                         * @param {org.dash.platform.dapi.v0.IGetIdentityTokenInfosResponse=} [properties] Properties to set
+                         * @param {org.dash.platform.dapi.v0.IGetTokenStatusesResponse=} [properties] Properties to set
                          */
-                        function GetIdentityTokenInfosResponse(properties) {
+                        function GetTokenStatusesResponse(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
                                     if (properties[keys[i]] != null)
@@ -47938,89 +54523,89 @@ $root.org = (function() {
                         }
 
                         /**
-                         * GetIdentityTokenInfosResponse v0.
-                         * @member {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.IGetIdentityTokenInfosResponseV0|null|undefined} v0
-                         * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse
+                         * GetTokenStatusesResponse v0.
+                         * @member {org.dash.platform.dapi.v0.GetTokenStatusesResponse.IGetTokenStatusesResponseV0|null|undefined} v0
+                         * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse
                          * @instance
                          */
-                        GetIdentityTokenInfosResponse.prototype.v0 = null;
+                        GetTokenStatusesResponse.prototype.v0 = null;
 
                         // OneOf field names bound to virtual getters and setters
                         var $oneOfFields;
 
                         /**
-                         * GetIdentityTokenInfosResponse version.
+                         * GetTokenStatusesResponse version.
                          * @member {"v0"|undefined} version
-                         * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse
+                         * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse
                          * @instance
                          */
-                        Object.defineProperty(GetIdentityTokenInfosResponse.prototype, "version", {
+                        Object.defineProperty(GetTokenStatusesResponse.prototype, "version", {
                             get: $util.oneOfGetter($oneOfFields = ["v0"]),
                             set: $util.oneOfSetter($oneOfFields)
                         });
 
                         /**
-                         * Creates a new GetIdentityTokenInfosResponse instance using the specified properties.
+                         * Creates a new GetTokenStatusesResponse instance using the specified properties.
                          * @function create
-                         * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse
+                         * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse
                          * @static
-                         * @param {org.dash.platform.dapi.v0.IGetIdentityTokenInfosResponse=} [properties] Properties to set
-                         * @returns {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse} GetIdentityTokenInfosResponse instance
+                         * @param {org.dash.platform.dapi.v0.IGetTokenStatusesResponse=} [properties] Properties to set
+                         * @returns {org.dash.platform.dapi.v0.GetTokenStatusesResponse} GetTokenStatusesResponse instance
                          */
-                        GetIdentityTokenInfosResponse.create = function create(properties) {
-                            return new GetIdentityTokenInfosResponse(properties);
+                        GetTokenStatusesResponse.create = function create(properties) {
+                            return new GetTokenStatusesResponse(properties);
                         };
 
                         /**
-                         * Encodes the specified GetIdentityTokenInfosResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.verify|verify} messages.
+                         * Encodes the specified GetTokenStatusesResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenStatusesResponse.verify|verify} messages.
                          * @function encode
-                         * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse
+                         * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse
                          * @static
-                         * @param {org.dash.platform.dapi.v0.IGetIdentityTokenInfosResponse} message GetIdentityTokenInfosResponse message or plain object to encode
+                         * @param {org.dash.platform.dapi.v0.IGetTokenStatusesResponse} message GetTokenStatusesResponse message or plain object to encode
                          * @param {$protobuf.Writer} [writer] Writer to encode to
                          * @returns {$protobuf.Writer} Writer
                          */
-                        GetIdentityTokenInfosResponse.encode = function encode(message, writer) {
+                        GetTokenStatusesResponse.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.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+                                $root.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
                             return writer;
                         };
 
                         /**
-                         * Encodes the specified GetIdentityTokenInfosResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.verify|verify} messages.
+                         * Encodes the specified GetTokenStatusesResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenStatusesResponse.verify|verify} messages.
                          * @function encodeDelimited
-                         * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse
+                         * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse
                          * @static
-                         * @param {org.dash.platform.dapi.v0.IGetIdentityTokenInfosResponse} message GetIdentityTokenInfosResponse message or plain object to encode
+                         * @param {org.dash.platform.dapi.v0.IGetTokenStatusesResponse} message GetTokenStatusesResponse message or plain object to encode
                          * @param {$protobuf.Writer} [writer] Writer to encode to
                          * @returns {$protobuf.Writer} Writer
                          */
-                        GetIdentityTokenInfosResponse.encodeDelimited = function encodeDelimited(message, writer) {
+                        GetTokenStatusesResponse.encodeDelimited = function encodeDelimited(message, writer) {
                             return this.encode(message, writer).ldelim();
                         };
 
                         /**
-                         * Decodes a GetIdentityTokenInfosResponse message from the specified reader or buffer.
+                         * Decodes a GetTokenStatusesResponse message from the specified reader or buffer.
                          * @function decode
-                         * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse
+                         * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse
                          * @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.GetIdentityTokenInfosResponse} GetIdentityTokenInfosResponse
+                         * @returns {org.dash.platform.dapi.v0.GetTokenStatusesResponse} GetTokenStatusesResponse
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        GetIdentityTokenInfosResponse.decode = function decode(reader, length) {
+                        GetTokenStatusesResponse.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.GetIdentityTokenInfosResponse();
+                            var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetTokenStatusesResponse();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
                                 switch (tag >>> 3) {
                                 case 1:
-                                    message.v0 = $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.decode(reader, reader.uint32());
+                                    message.v0 = $root.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.decode(reader, reader.uint32());
                                     break;
                                 default:
                                     reader.skipType(tag & 7);
@@ -48031,37 +54616,37 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Decodes a GetIdentityTokenInfosResponse message from the specified reader or buffer, length delimited.
+                         * Decodes a GetTokenStatusesResponse message from the specified reader or buffer, length delimited.
                          * @function decodeDelimited
-                         * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse
+                         * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse
                          * @static
                          * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                         * @returns {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse} GetIdentityTokenInfosResponse
+                         * @returns {org.dash.platform.dapi.v0.GetTokenStatusesResponse} GetTokenStatusesResponse
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        GetIdentityTokenInfosResponse.decodeDelimited = function decodeDelimited(reader) {
+                        GetTokenStatusesResponse.decodeDelimited = function decodeDelimited(reader) {
                             if (!(reader instanceof $Reader))
                                 reader = new $Reader(reader);
                             return this.decode(reader, reader.uint32());
                         };
 
                         /**
-                         * Verifies a GetIdentityTokenInfosResponse message.
+                         * Verifies a GetTokenStatusesResponse message.
                          * @function verify
-                         * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse
+                         * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse
                          * @static
                          * @param {Object.} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        GetIdentityTokenInfosResponse.verify = function verify(message) {
+                        GetTokenStatusesResponse.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.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.verify(message.v0);
+                                    var error = $root.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.verify(message.v0);
                                     if (error)
                                         return "v0." + error;
                                 }
@@ -48070,40 +54655,40 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Creates a GetIdentityTokenInfosResponse message from a plain object. Also converts values to their respective internal types.
+                         * Creates a GetTokenStatusesResponse message from a plain object. Also converts values to their respective internal types.
                          * @function fromObject
-                         * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse
+                         * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse
                          * @static
                          * @param {Object.} object Plain object
-                         * @returns {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse} GetIdentityTokenInfosResponse
+                         * @returns {org.dash.platform.dapi.v0.GetTokenStatusesResponse} GetTokenStatusesResponse
                          */
-                        GetIdentityTokenInfosResponse.fromObject = function fromObject(object) {
-                            if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse)
+                        GetTokenStatusesResponse.fromObject = function fromObject(object) {
+                            if (object instanceof $root.org.dash.platform.dapi.v0.GetTokenStatusesResponse)
                                 return object;
-                            var message = new $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse();
+                            var message = new $root.org.dash.platform.dapi.v0.GetTokenStatusesResponse();
                             if (object.v0 != null) {
                                 if (typeof object.v0 !== "object")
-                                    throw TypeError(".org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.v0: object expected");
-                                message.v0 = $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.fromObject(object.v0);
+                                    throw TypeError(".org.dash.platform.dapi.v0.GetTokenStatusesResponse.v0: object expected");
+                                message.v0 = $root.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.fromObject(object.v0);
                             }
                             return message;
                         };
 
                         /**
-                         * Creates a plain object from a GetIdentityTokenInfosResponse message. Also converts values to other types if specified.
+                         * Creates a plain object from a GetTokenStatusesResponse message. Also converts values to other types if specified.
                          * @function toObject
-                         * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse
+                         * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse
                          * @static
-                         * @param {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse} message GetIdentityTokenInfosResponse
+                         * @param {org.dash.platform.dapi.v0.GetTokenStatusesResponse} message GetTokenStatusesResponse
                          * @param {$protobuf.IConversionOptions} [options] Conversion options
                          * @returns {Object.} Plain object
                          */
-                        GetIdentityTokenInfosResponse.toObject = function toObject(message, options) {
+                        GetTokenStatusesResponse.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.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.toObject(message.v0, options);
+                                object.v0 = $root.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.toObject(message.v0, options);
                                 if (options.oneofs)
                                     object.version = "v0";
                             }
@@ -48111,36 +54696,36 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Converts this GetIdentityTokenInfosResponse to JSON.
+                         * Converts this GetTokenStatusesResponse to JSON.
                          * @function toJSON
-                         * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse
+                         * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse
                          * @instance
                          * @returns {Object.} JSON object
                          */
-                        GetIdentityTokenInfosResponse.prototype.toJSON = function toJSON() {
+                        GetTokenStatusesResponse.prototype.toJSON = function toJSON() {
                             return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
                         };
 
-                        GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0 = (function() {
+                        GetTokenStatusesResponse.GetTokenStatusesResponseV0 = (function() {
 
                             /**
-                             * Properties of a GetIdentityTokenInfosResponseV0.
-                             * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse
-                             * @interface IGetIdentityTokenInfosResponseV0
-                             * @property {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.ITokenInfos|null} [tokenInfos] GetIdentityTokenInfosResponseV0 tokenInfos
-                             * @property {org.dash.platform.dapi.v0.IProof|null} [proof] GetIdentityTokenInfosResponseV0 proof
-                             * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetIdentityTokenInfosResponseV0 metadata
+                             * Properties of a GetTokenStatusesResponseV0.
+                             * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse
+                             * @interface IGetTokenStatusesResponseV0
+                             * @property {org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.ITokenStatuses|null} [tokenStatuses] GetTokenStatusesResponseV0 tokenStatuses
+                             * @property {org.dash.platform.dapi.v0.IProof|null} [proof] GetTokenStatusesResponseV0 proof
+                             * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetTokenStatusesResponseV0 metadata
                              */
 
                             /**
-                             * Constructs a new GetIdentityTokenInfosResponseV0.
-                             * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse
-                             * @classdesc Represents a GetIdentityTokenInfosResponseV0.
-                             * @implements IGetIdentityTokenInfosResponseV0
+                             * Constructs a new GetTokenStatusesResponseV0.
+                             * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse
+                             * @classdesc Represents a GetTokenStatusesResponseV0.
+                             * @implements IGetTokenStatusesResponseV0
                              * @constructor
-                             * @param {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.IGetIdentityTokenInfosResponseV0=} [properties] Properties to set
+                             * @param {org.dash.platform.dapi.v0.GetTokenStatusesResponse.IGetTokenStatusesResponseV0=} [properties] Properties to set
                              */
-                            function GetIdentityTokenInfosResponseV0(properties) {
+                            function GetTokenStatusesResponseV0(properties) {
                                 if (properties)
                                     for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
                                         if (properties[keys[i]] != null)
@@ -48148,69 +54733,69 @@ $root.org = (function() {
                             }
 
                             /**
-                             * GetIdentityTokenInfosResponseV0 tokenInfos.
-                             * @member {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.ITokenInfos|null|undefined} tokenInfos
-                             * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0
+                             * GetTokenStatusesResponseV0 tokenStatuses.
+                             * @member {org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.ITokenStatuses|null|undefined} tokenStatuses
+                             * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0
                              * @instance
                              */
-                            GetIdentityTokenInfosResponseV0.prototype.tokenInfos = null;
+                            GetTokenStatusesResponseV0.prototype.tokenStatuses = null;
 
                             /**
-                             * GetIdentityTokenInfosResponseV0 proof.
+                             * GetTokenStatusesResponseV0 proof.
                              * @member {org.dash.platform.dapi.v0.IProof|null|undefined} proof
-                             * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0
                              * @instance
                              */
-                            GetIdentityTokenInfosResponseV0.prototype.proof = null;
+                            GetTokenStatusesResponseV0.prototype.proof = null;
 
                             /**
-                             * GetIdentityTokenInfosResponseV0 metadata.
+                             * GetTokenStatusesResponseV0 metadata.
                              * @member {org.dash.platform.dapi.v0.IResponseMetadata|null|undefined} metadata
-                             * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0
                              * @instance
                              */
-                            GetIdentityTokenInfosResponseV0.prototype.metadata = null;
+                            GetTokenStatusesResponseV0.prototype.metadata = null;
 
                             // OneOf field names bound to virtual getters and setters
                             var $oneOfFields;
 
                             /**
-                             * GetIdentityTokenInfosResponseV0 result.
-                             * @member {"tokenInfos"|"proof"|undefined} result
-                             * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0
+                             * GetTokenStatusesResponseV0 result.
+                             * @member {"tokenStatuses"|"proof"|undefined} result
+                             * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0
                              * @instance
                              */
-                            Object.defineProperty(GetIdentityTokenInfosResponseV0.prototype, "result", {
-                                get: $util.oneOfGetter($oneOfFields = ["tokenInfos", "proof"]),
+                            Object.defineProperty(GetTokenStatusesResponseV0.prototype, "result", {
+                                get: $util.oneOfGetter($oneOfFields = ["tokenStatuses", "proof"]),
                                 set: $util.oneOfSetter($oneOfFields)
                             });
 
                             /**
-                             * Creates a new GetIdentityTokenInfosResponseV0 instance using the specified properties.
+                             * Creates a new GetTokenStatusesResponseV0 instance using the specified properties.
                              * @function create
-                             * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.IGetIdentityTokenInfosResponseV0=} [properties] Properties to set
-                             * @returns {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0} GetIdentityTokenInfosResponseV0 instance
+                             * @param {org.dash.platform.dapi.v0.GetTokenStatusesResponse.IGetTokenStatusesResponseV0=} [properties] Properties to set
+                             * @returns {org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0} GetTokenStatusesResponseV0 instance
                              */
-                            GetIdentityTokenInfosResponseV0.create = function create(properties) {
-                                return new GetIdentityTokenInfosResponseV0(properties);
+                            GetTokenStatusesResponseV0.create = function create(properties) {
+                                return new GetTokenStatusesResponseV0(properties);
                             };
 
                             /**
-                             * Encodes the specified GetIdentityTokenInfosResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.verify|verify} messages.
+                             * Encodes the specified GetTokenStatusesResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.verify|verify} messages.
                              * @function encode
-                             * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.IGetIdentityTokenInfosResponseV0} message GetIdentityTokenInfosResponseV0 message or plain object to encode
+                             * @param {org.dash.platform.dapi.v0.GetTokenStatusesResponse.IGetTokenStatusesResponseV0} message GetTokenStatusesResponseV0 message or plain object to encode
                              * @param {$protobuf.Writer} [writer] Writer to encode to
                              * @returns {$protobuf.Writer} Writer
                              */
-                            GetIdentityTokenInfosResponseV0.encode = function encode(message, writer) {
+                            GetTokenStatusesResponseV0.encode = function encode(message, writer) {
                                 if (!writer)
                                     writer = $Writer.create();
-                                if (message.tokenInfos != null && Object.hasOwnProperty.call(message, "tokenInfos"))
-                                    $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos.encode(message.tokenInfos, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+                                if (message.tokenStatuses != null && Object.hasOwnProperty.call(message, "tokenStatuses"))
+                                    $root.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses.encode(message.tokenStatuses, 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"))
@@ -48219,38 +54804,38 @@ $root.org = (function() {
                             };
 
                             /**
-                             * Encodes the specified GetIdentityTokenInfosResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.verify|verify} messages.
+                             * Encodes the specified GetTokenStatusesResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.verify|verify} messages.
                              * @function encodeDelimited
-                             * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.IGetIdentityTokenInfosResponseV0} message GetIdentityTokenInfosResponseV0 message or plain object to encode
+                             * @param {org.dash.platform.dapi.v0.GetTokenStatusesResponse.IGetTokenStatusesResponseV0} message GetTokenStatusesResponseV0 message or plain object to encode
                              * @param {$protobuf.Writer} [writer] Writer to encode to
                              * @returns {$protobuf.Writer} Writer
                              */
-                            GetIdentityTokenInfosResponseV0.encodeDelimited = function encodeDelimited(message, writer) {
+                            GetTokenStatusesResponseV0.encodeDelimited = function encodeDelimited(message, writer) {
                                 return this.encode(message, writer).ldelim();
                             };
 
                             /**
-                             * Decodes a GetIdentityTokenInfosResponseV0 message from the specified reader or buffer.
+                             * Decodes a GetTokenStatusesResponseV0 message from the specified reader or buffer.
                              * @function decode
-                             * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0
                              * @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.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0} GetIdentityTokenInfosResponseV0
+                             * @returns {org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0} GetTokenStatusesResponseV0
                              * @throws {Error} If the payload is not a reader or valid buffer
                              * @throws {$protobuf.util.ProtocolError} If required fields are missing
                              */
-                            GetIdentityTokenInfosResponseV0.decode = function decode(reader, length) {
+                            GetTokenStatusesResponseV0.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.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0();
+                                var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0();
                                 while (reader.pos < end) {
                                     var tag = reader.uint32();
                                     switch (tag >>> 3) {
                                     case 1:
-                                        message.tokenInfos = $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos.decode(reader, reader.uint32());
+                                        message.tokenStatuses = $root.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses.decode(reader, reader.uint32());
                                         break;
                                     case 2:
                                         message.proof = $root.org.dash.platform.dapi.v0.Proof.decode(reader, reader.uint32());
@@ -48267,336 +54852,149 @@ $root.org = (function() {
                             };
 
                             /**
-                             * Decodes a GetIdentityTokenInfosResponseV0 message from the specified reader or buffer, length delimited.
+                             * Decodes a GetTokenStatusesResponseV0 message from the specified reader or buffer, length delimited.
                              * @function decodeDelimited
-                             * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0
                              * @static
                              * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                             * @returns {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0} GetIdentityTokenInfosResponseV0
+                             * @returns {org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0} GetTokenStatusesResponseV0
                              * @throws {Error} If the payload is not a reader or valid buffer
                              * @throws {$protobuf.util.ProtocolError} If required fields are missing
                              */
-                            GetIdentityTokenInfosResponseV0.decodeDelimited = function decodeDelimited(reader) {
+                            GetTokenStatusesResponseV0.decodeDelimited = function decodeDelimited(reader) {
                                 if (!(reader instanceof $Reader))
                                     reader = new $Reader(reader);
                                 return this.decode(reader, reader.uint32());
                             };
 
                             /**
-                             * Verifies a GetIdentityTokenInfosResponseV0 message.
+                             * Verifies a GetTokenStatusesResponseV0 message.
                              * @function verify
-                             * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0
                              * @static
                              * @param {Object.} message Plain object to verify
                              * @returns {string|null} `null` if valid, otherwise the reason why it is not
                              */
-                            GetIdentityTokenInfosResponseV0.verify = function verify(message) {
-                                if (typeof message !== "object" || message === null)
-                                    return "object expected";
-                                var properties = {};
-                                if (message.tokenInfos != null && message.hasOwnProperty("tokenInfos")) {
-                                    properties.result = 1;
-                                    {
-                                        var error = $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos.verify(message.tokenInfos);
-                                        if (error)
-                                            return "tokenInfos." + 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 GetIdentityTokenInfosResponseV0 message from a plain object. Also converts values to their respective internal types.
-                             * @function fromObject
-                             * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0
-                             * @static
-                             * @param {Object.} object Plain object
-                             * @returns {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0} GetIdentityTokenInfosResponseV0
-                             */
-                            GetIdentityTokenInfosResponseV0.fromObject = function fromObject(object) {
-                                if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0)
-                                    return object;
-                                var message = new $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0();
-                                if (object.tokenInfos != null) {
-                                    if (typeof object.tokenInfos !== "object")
-                                        throw TypeError(".org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.tokenInfos: object expected");
-                                    message.tokenInfos = $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos.fromObject(object.tokenInfos);
-                                }
-                                if (object.proof != null) {
-                                    if (typeof object.proof !== "object")
-                                        throw TypeError(".org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.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.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.metadata: object expected");
-                                    message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.fromObject(object.metadata);
-                                }
-                                return message;
-                            };
-
-                            /**
-                             * Creates a plain object from a GetIdentityTokenInfosResponseV0 message. Also converts values to other types if specified.
-                             * @function toObject
-                             * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0
-                             * @static
-                             * @param {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0} message GetIdentityTokenInfosResponseV0
-                             * @param {$protobuf.IConversionOptions} [options] Conversion options
-                             * @returns {Object.} Plain object
-                             */
-                            GetIdentityTokenInfosResponseV0.toObject = function toObject(message, options) {
-                                if (!options)
-                                    options = {};
-                                var object = {};
-                                if (options.defaults)
-                                    object.metadata = null;
-                                if (message.tokenInfos != null && message.hasOwnProperty("tokenInfos")) {
-                                    object.tokenInfos = $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos.toObject(message.tokenInfos, options);
-                                    if (options.oneofs)
-                                        object.result = "tokenInfos";
-                                }
-                                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 GetIdentityTokenInfosResponseV0 to JSON.
-                             * @function toJSON
-                             * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0
-                             * @instance
-                             * @returns {Object.} JSON object
-                             */
-                            GetIdentityTokenInfosResponseV0.prototype.toJSON = function toJSON() {
-                                return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
-                            };
-
-                            GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry = (function() {
-
-                                /**
-                                 * Properties of a TokenIdentityInfoEntry.
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0
-                                 * @interface ITokenIdentityInfoEntry
-                                 * @property {boolean|null} [frozen] TokenIdentityInfoEntry frozen
-                                 */
-
-                                /**
-                                 * Constructs a new TokenIdentityInfoEntry.
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0
-                                 * @classdesc Represents a TokenIdentityInfoEntry.
-                                 * @implements ITokenIdentityInfoEntry
-                                 * @constructor
-                                 * @param {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.ITokenIdentityInfoEntry=} [properties] Properties to set
-                                 */
-                                function TokenIdentityInfoEntry(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]];
-                                }
-
-                                /**
-                                 * TokenIdentityInfoEntry frozen.
-                                 * @member {boolean} frozen
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry
-                                 * @instance
-                                 */
-                                TokenIdentityInfoEntry.prototype.frozen = false;
-
-                                /**
-                                 * Creates a new TokenIdentityInfoEntry instance using the specified properties.
-                                 * @function create
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry
-                                 * @static
-                                 * @param {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.ITokenIdentityInfoEntry=} [properties] Properties to set
-                                 * @returns {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry} TokenIdentityInfoEntry instance
-                                 */
-                                TokenIdentityInfoEntry.create = function create(properties) {
-                                    return new TokenIdentityInfoEntry(properties);
-                                };
-
-                                /**
-                                 * Encodes the specified TokenIdentityInfoEntry message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry.verify|verify} messages.
-                                 * @function encode
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry
-                                 * @static
-                                 * @param {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.ITokenIdentityInfoEntry} message TokenIdentityInfoEntry message or plain object to encode
-                                 * @param {$protobuf.Writer} [writer] Writer to encode to
-                                 * @returns {$protobuf.Writer} Writer
-                                 */
-                                TokenIdentityInfoEntry.encode = function encode(message, writer) {
-                                    if (!writer)
-                                        writer = $Writer.create();
-                                    if (message.frozen != null && Object.hasOwnProperty.call(message, "frozen"))
-                                        writer.uint32(/* id 1, wireType 0 =*/8).bool(message.frozen);
-                                    return writer;
-                                };
-
-                                /**
-                                 * Encodes the specified TokenIdentityInfoEntry message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry.verify|verify} messages.
-                                 * @function encodeDelimited
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry
-                                 * @static
-                                 * @param {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.ITokenIdentityInfoEntry} message TokenIdentityInfoEntry message or plain object to encode
-                                 * @param {$protobuf.Writer} [writer] Writer to encode to
-                                 * @returns {$protobuf.Writer} Writer
-                                 */
-                                TokenIdentityInfoEntry.encodeDelimited = function encodeDelimited(message, writer) {
-                                    return this.encode(message, writer).ldelim();
-                                };
-
-                                /**
-                                 * Decodes a TokenIdentityInfoEntry message from the specified reader or buffer.
-                                 * @function decode
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry
-                                 * @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.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry} TokenIdentityInfoEntry
-                                 * @throws {Error} If the payload is not a reader or valid buffer
-                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
-                                 */
-                                TokenIdentityInfoEntry.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.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry();
-                                    while (reader.pos < end) {
-                                        var tag = reader.uint32();
-                                        switch (tag >>> 3) {
-                                        case 1:
-                                            message.frozen = reader.bool();
-                                            break;
-                                        default:
-                                            reader.skipType(tag & 7);
-                                            break;
-                                        }
-                                    }
-                                    return message;
-                                };
-
-                                /**
-                                 * Decodes a TokenIdentityInfoEntry message from the specified reader or buffer, length delimited.
-                                 * @function decodeDelimited
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry
-                                 * @static
-                                 * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                                 * @returns {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry} TokenIdentityInfoEntry
-                                 * @throws {Error} If the payload is not a reader or valid buffer
-                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
-                                 */
-                                TokenIdentityInfoEntry.decodeDelimited = function decodeDelimited(reader) {
-                                    if (!(reader instanceof $Reader))
-                                        reader = new $Reader(reader);
-                                    return this.decode(reader, reader.uint32());
-                                };
-
-                                /**
-                                 * Verifies a TokenIdentityInfoEntry message.
-                                 * @function verify
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry
-                                 * @static
-                                 * @param {Object.} message Plain object to verify
-                                 * @returns {string|null} `null` if valid, otherwise the reason why it is not
-                                 */
-                                TokenIdentityInfoEntry.verify = function verify(message) {
-                                    if (typeof message !== "object" || message === null)
-                                        return "object expected";
-                                    if (message.frozen != null && message.hasOwnProperty("frozen"))
-                                        if (typeof message.frozen !== "boolean")
-                                            return "frozen: boolean expected";
-                                    return null;
-                                };
-
-                                /**
-                                 * Creates a TokenIdentityInfoEntry message from a plain object. Also converts values to their respective internal types.
-                                 * @function fromObject
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry
-                                 * @static
-                                 * @param {Object.} object Plain object
-                                 * @returns {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry} TokenIdentityInfoEntry
-                                 */
-                                TokenIdentityInfoEntry.fromObject = function fromObject(object) {
-                                    if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry)
-                                        return object;
-                                    var message = new $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry();
-                                    if (object.frozen != null)
-                                        message.frozen = Boolean(object.frozen);
-                                    return message;
-                                };
+                            GetTokenStatusesResponseV0.verify = function verify(message) {
+                                if (typeof message !== "object" || message === null)
+                                    return "object expected";
+                                var properties = {};
+                                if (message.tokenStatuses != null && message.hasOwnProperty("tokenStatuses")) {
+                                    properties.result = 1;
+                                    {
+                                        var error = $root.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses.verify(message.tokenStatuses);
+                                        if (error)
+                                            return "tokenStatuses." + 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 plain object from a TokenIdentityInfoEntry message. Also converts values to other types if specified.
-                                 * @function toObject
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry
-                                 * @static
-                                 * @param {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry} message TokenIdentityInfoEntry
-                                 * @param {$protobuf.IConversionOptions} [options] Conversion options
-                                 * @returns {Object.} Plain object
-                                 */
-                                TokenIdentityInfoEntry.toObject = function toObject(message, options) {
-                                    if (!options)
-                                        options = {};
-                                    var object = {};
-                                    if (options.defaults)
-                                        object.frozen = false;
-                                    if (message.frozen != null && message.hasOwnProperty("frozen"))
-                                        object.frozen = message.frozen;
+                            /**
+                             * Creates a GetTokenStatusesResponseV0 message from a plain object. Also converts values to their respective internal types.
+                             * @function fromObject
+                             * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0
+                             * @static
+                             * @param {Object.} object Plain object
+                             * @returns {org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0} GetTokenStatusesResponseV0
+                             */
+                            GetTokenStatusesResponseV0.fromObject = function fromObject(object) {
+                                if (object instanceof $root.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0)
                                     return object;
-                                };
+                                var message = new $root.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0();
+                                if (object.tokenStatuses != null) {
+                                    if (typeof object.tokenStatuses !== "object")
+                                        throw TypeError(".org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.tokenStatuses: object expected");
+                                    message.tokenStatuses = $root.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses.fromObject(object.tokenStatuses);
+                                }
+                                if (object.proof != null) {
+                                    if (typeof object.proof !== "object")
+                                        throw TypeError(".org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.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.GetTokenStatusesResponse.GetTokenStatusesResponseV0.metadata: object expected");
+                                    message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.fromObject(object.metadata);
+                                }
+                                return message;
+                            };
 
-                                /**
-                                 * Converts this TokenIdentityInfoEntry to JSON.
-                                 * @function toJSON
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry
-                                 * @instance
-                                 * @returns {Object.} JSON object
-                                 */
-                                TokenIdentityInfoEntry.prototype.toJSON = function toJSON() {
-                                    return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
-                                };
+                            /**
+                             * Creates a plain object from a GetTokenStatusesResponseV0 message. Also converts values to other types if specified.
+                             * @function toObject
+                             * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0
+                             * @static
+                             * @param {org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0} message GetTokenStatusesResponseV0
+                             * @param {$protobuf.IConversionOptions} [options] Conversion options
+                             * @returns {Object.} Plain object
+                             */
+                            GetTokenStatusesResponseV0.toObject = function toObject(message, options) {
+                                if (!options)
+                                    options = {};
+                                var object = {};
+                                if (options.defaults)
+                                    object.metadata = null;
+                                if (message.tokenStatuses != null && message.hasOwnProperty("tokenStatuses")) {
+                                    object.tokenStatuses = $root.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses.toObject(message.tokenStatuses, options);
+                                    if (options.oneofs)
+                                        object.result = "tokenStatuses";
+                                }
+                                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;
+                            };
 
-                                return TokenIdentityInfoEntry;
-                            })();
+                            /**
+                             * Converts this GetTokenStatusesResponseV0 to JSON.
+                             * @function toJSON
+                             * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0
+                             * @instance
+                             * @returns {Object.} JSON object
+                             */
+                            GetTokenStatusesResponseV0.prototype.toJSON = function toJSON() {
+                                return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+                            };
 
-                            GetIdentityTokenInfosResponseV0.TokenInfoEntry = (function() {
+                            GetTokenStatusesResponseV0.TokenStatusEntry = (function() {
 
                                 /**
-                                 * Properties of a TokenInfoEntry.
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0
-                                 * @interface ITokenInfoEntry
-                                 * @property {Uint8Array|null} [tokenId] TokenInfoEntry tokenId
-                                 * @property {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.ITokenIdentityInfoEntry|null} [info] TokenInfoEntry info
+                                 * Properties of a TokenStatusEntry.
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0
+                                 * @interface ITokenStatusEntry
+                                 * @property {Uint8Array|null} [tokenId] TokenStatusEntry tokenId
+                                 * @property {boolean|null} [paused] TokenStatusEntry paused
                                  */
 
                                 /**
-                                 * Constructs a new TokenInfoEntry.
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0
-                                 * @classdesc Represents a TokenInfoEntry.
-                                 * @implements ITokenInfoEntry
+                                 * Constructs a new TokenStatusEntry.
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0
+                                 * @classdesc Represents a TokenStatusEntry.
+                                 * @implements ITokenStatusEntry
                                  * @constructor
-                                 * @param {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.ITokenInfoEntry=} [properties] Properties to set
+                                 * @param {org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.ITokenStatusEntry=} [properties] Properties to set
                                  */
-                                function TokenInfoEntry(properties) {
+                                function TokenStatusEntry(properties) {
                                     if (properties)
                                         for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
                                             if (properties[keys[i]] != null)
@@ -48604,80 +55002,80 @@ $root.org = (function() {
                                 }
 
                                 /**
-                                 * TokenInfoEntry tokenId.
+                                 * TokenStatusEntry tokenId.
                                  * @member {Uint8Array} tokenId
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry
                                  * @instance
                                  */
-                                TokenInfoEntry.prototype.tokenId = $util.newBuffer([]);
+                                TokenStatusEntry.prototype.tokenId = $util.newBuffer([]);
 
                                 /**
-                                 * TokenInfoEntry info.
-                                 * @member {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.ITokenIdentityInfoEntry|null|undefined} info
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry
+                                 * TokenStatusEntry paused.
+                                 * @member {boolean} paused
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry
                                  * @instance
                                  */
-                                TokenInfoEntry.prototype.info = null;
+                                TokenStatusEntry.prototype.paused = false;
 
                                 /**
-                                 * Creates a new TokenInfoEntry instance using the specified properties.
+                                 * Creates a new TokenStatusEntry instance using the specified properties.
                                  * @function create
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry
                                  * @static
-                                 * @param {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.ITokenInfoEntry=} [properties] Properties to set
-                                 * @returns {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry} TokenInfoEntry instance
+                                 * @param {org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.ITokenStatusEntry=} [properties] Properties to set
+                                 * @returns {org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry} TokenStatusEntry instance
                                  */
-                                TokenInfoEntry.create = function create(properties) {
-                                    return new TokenInfoEntry(properties);
+                                TokenStatusEntry.create = function create(properties) {
+                                    return new TokenStatusEntry(properties);
                                 };
 
                                 /**
-                                 * Encodes the specified TokenInfoEntry message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry.verify|verify} messages.
+                                 * Encodes the specified TokenStatusEntry message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry.verify|verify} messages.
                                  * @function encode
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry
                                  * @static
-                                 * @param {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.ITokenInfoEntry} message TokenInfoEntry message or plain object to encode
+                                 * @param {org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.ITokenStatusEntry} message TokenStatusEntry message or plain object to encode
                                  * @param {$protobuf.Writer} [writer] Writer to encode to
                                  * @returns {$protobuf.Writer} Writer
                                  */
-                                TokenInfoEntry.encode = function encode(message, writer) {
+                                TokenStatusEntry.encode = function encode(message, writer) {
                                     if (!writer)
                                         writer = $Writer.create();
                                     if (message.tokenId != null && Object.hasOwnProperty.call(message, "tokenId"))
                                         writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.tokenId);
-                                    if (message.info != null && Object.hasOwnProperty.call(message, "info"))
-                                        $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry.encode(message.info, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+                                    if (message.paused != null && Object.hasOwnProperty.call(message, "paused"))
+                                        writer.uint32(/* id 2, wireType 0 =*/16).bool(message.paused);
                                     return writer;
                                 };
 
                                 /**
-                                 * Encodes the specified TokenInfoEntry message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry.verify|verify} messages.
+                                 * Encodes the specified TokenStatusEntry message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry.verify|verify} messages.
                                  * @function encodeDelimited
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry
                                  * @static
-                                 * @param {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.ITokenInfoEntry} message TokenInfoEntry message or plain object to encode
+                                 * @param {org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.ITokenStatusEntry} message TokenStatusEntry message or plain object to encode
                                  * @param {$protobuf.Writer} [writer] Writer to encode to
                                  * @returns {$protobuf.Writer} Writer
                                  */
-                                TokenInfoEntry.encodeDelimited = function encodeDelimited(message, writer) {
+                                TokenStatusEntry.encodeDelimited = function encodeDelimited(message, writer) {
                                     return this.encode(message, writer).ldelim();
                                 };
 
                                 /**
-                                 * Decodes a TokenInfoEntry message from the specified reader or buffer.
+                                 * Decodes a TokenStatusEntry message from the specified reader or buffer.
                                  * @function decode
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry
                                  * @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.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry} TokenInfoEntry
+                                 * @returns {org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry} TokenStatusEntry
                                  * @throws {Error} If the payload is not a reader or valid buffer
                                  * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                  */
-                                TokenInfoEntry.decode = function decode(reader, length) {
+                                TokenStatusEntry.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.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry();
+                                    var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry();
                                     while (reader.pos < end) {
                                         var tag = reader.uint32();
                                         switch (tag >>> 3) {
@@ -48685,7 +55083,7 @@ $root.org = (function() {
                                             message.tokenId = reader.bytes();
                                             break;
                                         case 2:
-                                            message.info = $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry.decode(reader, reader.uint32());
+                                            message.paused = reader.bool();
                                             break;
                                         default:
                                             reader.skipType(tag & 7);
@@ -48696,78 +55094,73 @@ $root.org = (function() {
                                 };
 
                                 /**
-                                 * Decodes a TokenInfoEntry message from the specified reader or buffer, length delimited.
+                                 * Decodes a TokenStatusEntry message from the specified reader or buffer, length delimited.
                                  * @function decodeDelimited
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry
                                  * @static
                                  * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                                 * @returns {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry} TokenInfoEntry
+                                 * @returns {org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry} TokenStatusEntry
                                  * @throws {Error} If the payload is not a reader or valid buffer
                                  * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                  */
-                                TokenInfoEntry.decodeDelimited = function decodeDelimited(reader) {
+                                TokenStatusEntry.decodeDelimited = function decodeDelimited(reader) {
                                     if (!(reader instanceof $Reader))
                                         reader = new $Reader(reader);
                                     return this.decode(reader, reader.uint32());
                                 };
 
                                 /**
-                                 * Verifies a TokenInfoEntry message.
+                                 * Verifies a TokenStatusEntry message.
                                  * @function verify
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry
                                  * @static
                                  * @param {Object.} message Plain object to verify
                                  * @returns {string|null} `null` if valid, otherwise the reason why it is not
                                  */
-                                TokenInfoEntry.verify = function verify(message) {
+                                TokenStatusEntry.verify = function verify(message) {
                                     if (typeof message !== "object" || message === null)
                                         return "object expected";
                                     if (message.tokenId != null && message.hasOwnProperty("tokenId"))
                                         if (!(message.tokenId && typeof message.tokenId.length === "number" || $util.isString(message.tokenId)))
                                             return "tokenId: buffer expected";
-                                    if (message.info != null && message.hasOwnProperty("info")) {
-                                        var error = $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry.verify(message.info);
-                                        if (error)
-                                            return "info." + error;
-                                    }
+                                    if (message.paused != null && message.hasOwnProperty("paused"))
+                                        if (typeof message.paused !== "boolean")
+                                            return "paused: boolean expected";
                                     return null;
                                 };
 
                                 /**
-                                 * Creates a TokenInfoEntry message from a plain object. Also converts values to their respective internal types.
+                                 * Creates a TokenStatusEntry message from a plain object. Also converts values to their respective internal types.
                                  * @function fromObject
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry
                                  * @static
                                  * @param {Object.} object Plain object
-                                 * @returns {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry} TokenInfoEntry
+                                 * @returns {org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry} TokenStatusEntry
                                  */
-                                TokenInfoEntry.fromObject = function fromObject(object) {
-                                    if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry)
+                                TokenStatusEntry.fromObject = function fromObject(object) {
+                                    if (object instanceof $root.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry)
                                         return object;
-                                    var message = new $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry();
+                                    var message = new $root.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry();
                                     if (object.tokenId != null)
                                         if (typeof object.tokenId === "string")
                                             $util.base64.decode(object.tokenId, message.tokenId = $util.newBuffer($util.base64.length(object.tokenId)), 0);
                                         else if (object.tokenId.length >= 0)
                                             message.tokenId = object.tokenId;
-                                    if (object.info != null) {
-                                        if (typeof object.info !== "object")
-                                            throw TypeError(".org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry.info: object expected");
-                                        message.info = $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry.fromObject(object.info);
-                                    }
+                                    if (object.paused != null)
+                                        message.paused = Boolean(object.paused);
                                     return message;
                                 };
 
                                 /**
-                                 * Creates a plain object from a TokenInfoEntry message. Also converts values to other types if specified.
+                                 * Creates a plain object from a TokenStatusEntry message. Also converts values to other types if specified.
                                  * @function toObject
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry
                                  * @static
-                                 * @param {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry} message TokenInfoEntry
+                                 * @param {org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry} message TokenStatusEntry
                                  * @param {$protobuf.IConversionOptions} [options] Conversion options
                                  * @returns {Object.} Plain object
                                  */
-                                TokenInfoEntry.toObject = function toObject(message, options) {
+                                TokenStatusEntry.toObject = function toObject(message, options) {
                                     if (!options)
                                         options = {};
                                     var object = {};
@@ -48779,48 +55172,48 @@ $root.org = (function() {
                                             if (options.bytes !== Array)
                                                 object.tokenId = $util.newBuffer(object.tokenId);
                                         }
-                                        object.info = null;
+                                        object.paused = false;
                                     }
                                     if (message.tokenId != null && message.hasOwnProperty("tokenId"))
                                         object.tokenId = options.bytes === String ? $util.base64.encode(message.tokenId, 0, message.tokenId.length) : options.bytes === Array ? Array.prototype.slice.call(message.tokenId) : message.tokenId;
-                                    if (message.info != null && message.hasOwnProperty("info"))
-                                        object.info = $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry.toObject(message.info, options);
+                                    if (message.paused != null && message.hasOwnProperty("paused"))
+                                        object.paused = message.paused;
                                     return object;
                                 };
 
                                 /**
-                                 * Converts this TokenInfoEntry to JSON.
+                                 * Converts this TokenStatusEntry to JSON.
                                  * @function toJSON
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry
                                  * @instance
                                  * @returns {Object.} JSON object
                                  */
-                                TokenInfoEntry.prototype.toJSON = function toJSON() {
+                                TokenStatusEntry.prototype.toJSON = function toJSON() {
                                     return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
                                 };
 
-                                return TokenInfoEntry;
+                                return TokenStatusEntry;
                             })();
 
-                            GetIdentityTokenInfosResponseV0.TokenInfos = (function() {
+                            GetTokenStatusesResponseV0.TokenStatuses = (function() {
 
                                 /**
-                                 * Properties of a TokenInfos.
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0
-                                 * @interface ITokenInfos
-                                 * @property {Array.|null} [tokenInfos] TokenInfos tokenInfos
+                                 * Properties of a TokenStatuses.
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0
+                                 * @interface ITokenStatuses
+                                 * @property {Array.|null} [tokenStatuses] TokenStatuses tokenStatuses
                                  */
 
                                 /**
-                                 * Constructs a new TokenInfos.
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0
-                                 * @classdesc Represents a TokenInfos.
-                                 * @implements ITokenInfos
+                                 * Constructs a new TokenStatuses.
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0
+                                 * @classdesc Represents a TokenStatuses.
+                                 * @implements ITokenStatuses
                                  * @constructor
-                                 * @param {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.ITokenInfos=} [properties] Properties to set
+                                 * @param {org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.ITokenStatuses=} [properties] Properties to set
                                  */
-                                function TokenInfos(properties) {
-                                    this.tokenInfos = [];
+                                function TokenStatuses(properties) {
+                                    this.tokenStatuses = [];
                                     if (properties)
                                         for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
                                             if (properties[keys[i]] != null)
@@ -48828,78 +55221,78 @@ $root.org = (function() {
                                 }
 
                                 /**
-                                 * TokenInfos tokenInfos.
-                                 * @member {Array.} tokenInfos
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos
+                                 * TokenStatuses tokenStatuses.
+                                 * @member {Array.} tokenStatuses
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses
                                  * @instance
                                  */
-                                TokenInfos.prototype.tokenInfos = $util.emptyArray;
+                                TokenStatuses.prototype.tokenStatuses = $util.emptyArray;
 
                                 /**
-                                 * Creates a new TokenInfos instance using the specified properties.
+                                 * Creates a new TokenStatuses instance using the specified properties.
                                  * @function create
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses
                                  * @static
-                                 * @param {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.ITokenInfos=} [properties] Properties to set
-                                 * @returns {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos} TokenInfos instance
+                                 * @param {org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.ITokenStatuses=} [properties] Properties to set
+                                 * @returns {org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses} TokenStatuses instance
                                  */
-                                TokenInfos.create = function create(properties) {
-                                    return new TokenInfos(properties);
+                                TokenStatuses.create = function create(properties) {
+                                    return new TokenStatuses(properties);
                                 };
 
                                 /**
-                                 * Encodes the specified TokenInfos message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos.verify|verify} messages.
+                                 * Encodes the specified TokenStatuses message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses.verify|verify} messages.
                                  * @function encode
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses
                                  * @static
-                                 * @param {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.ITokenInfos} message TokenInfos message or plain object to encode
+                                 * @param {org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.ITokenStatuses} message TokenStatuses message or plain object to encode
                                  * @param {$protobuf.Writer} [writer] Writer to encode to
                                  * @returns {$protobuf.Writer} Writer
                                  */
-                                TokenInfos.encode = function encode(message, writer) {
+                                TokenStatuses.encode = function encode(message, writer) {
                                     if (!writer)
                                         writer = $Writer.create();
-                                    if (message.tokenInfos != null && message.tokenInfos.length)
-                                        for (var i = 0; i < message.tokenInfos.length; ++i)
-                                            $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry.encode(message.tokenInfos[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+                                    if (message.tokenStatuses != null && message.tokenStatuses.length)
+                                        for (var i = 0; i < message.tokenStatuses.length; ++i)
+                                            $root.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry.encode(message.tokenStatuses[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
                                     return writer;
                                 };
 
                                 /**
-                                 * Encodes the specified TokenInfos message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos.verify|verify} messages.
+                                 * Encodes the specified TokenStatuses message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses.verify|verify} messages.
                                  * @function encodeDelimited
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses
                                  * @static
-                                 * @param {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.ITokenInfos} message TokenInfos message or plain object to encode
+                                 * @param {org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.ITokenStatuses} message TokenStatuses message or plain object to encode
                                  * @param {$protobuf.Writer} [writer] Writer to encode to
                                  * @returns {$protobuf.Writer} Writer
                                  */
-                                TokenInfos.encodeDelimited = function encodeDelimited(message, writer) {
+                                TokenStatuses.encodeDelimited = function encodeDelimited(message, writer) {
                                     return this.encode(message, writer).ldelim();
                                 };
 
                                 /**
-                                 * Decodes a TokenInfos message from the specified reader or buffer.
+                                 * Decodes a TokenStatuses message from the specified reader or buffer.
                                  * @function decode
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses
                                  * @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.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos} TokenInfos
+                                 * @returns {org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses} TokenStatuses
                                  * @throws {Error} If the payload is not a reader or valid buffer
                                  * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                  */
-                                TokenInfos.decode = function decode(reader, length) {
+                                TokenStatuses.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.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos();
+                                    var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses();
                                     while (reader.pos < end) {
                                         var tag = reader.uint32();
                                         switch (tag >>> 3) {
                                         case 1:
-                                            if (!(message.tokenInfos && message.tokenInfos.length))
-                                                message.tokenInfos = [];
-                                            message.tokenInfos.push($root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry.decode(reader, reader.uint32()));
+                                            if (!(message.tokenStatuses && message.tokenStatuses.length))
+                                                message.tokenStatuses = [];
+                                            message.tokenStatuses.push($root.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry.decode(reader, reader.uint32()));
                                             break;
                                         default:
                                             reader.skipType(tag & 7);
@@ -48910,130 +55303,130 @@ $root.org = (function() {
                                 };
 
                                 /**
-                                 * Decodes a TokenInfos message from the specified reader or buffer, length delimited.
+                                 * Decodes a TokenStatuses message from the specified reader or buffer, length delimited.
                                  * @function decodeDelimited
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses
                                  * @static
                                  * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                                 * @returns {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos} TokenInfos
+                                 * @returns {org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses} TokenStatuses
                                  * @throws {Error} If the payload is not a reader or valid buffer
                                  * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                  */
-                                TokenInfos.decodeDelimited = function decodeDelimited(reader) {
+                                TokenStatuses.decodeDelimited = function decodeDelimited(reader) {
                                     if (!(reader instanceof $Reader))
                                         reader = new $Reader(reader);
                                     return this.decode(reader, reader.uint32());
                                 };
 
                                 /**
-                                 * Verifies a TokenInfos message.
+                                 * Verifies a TokenStatuses message.
                                  * @function verify
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses
                                  * @static
                                  * @param {Object.} message Plain object to verify
                                  * @returns {string|null} `null` if valid, otherwise the reason why it is not
                                  */
-                                TokenInfos.verify = function verify(message) {
+                                TokenStatuses.verify = function verify(message) {
                                     if (typeof message !== "object" || message === null)
                                         return "object expected";
-                                    if (message.tokenInfos != null && message.hasOwnProperty("tokenInfos")) {
-                                        if (!Array.isArray(message.tokenInfos))
-                                            return "tokenInfos: array expected";
-                                        for (var i = 0; i < message.tokenInfos.length; ++i) {
-                                            var error = $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry.verify(message.tokenInfos[i]);
+                                    if (message.tokenStatuses != null && message.hasOwnProperty("tokenStatuses")) {
+                                        if (!Array.isArray(message.tokenStatuses))
+                                            return "tokenStatuses: array expected";
+                                        for (var i = 0; i < message.tokenStatuses.length; ++i) {
+                                            var error = $root.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry.verify(message.tokenStatuses[i]);
                                             if (error)
-                                                return "tokenInfos." + error;
+                                                return "tokenStatuses." + error;
                                         }
                                     }
                                     return null;
                                 };
 
                                 /**
-                                 * Creates a TokenInfos message from a plain object. Also converts values to their respective internal types.
+                                 * Creates a TokenStatuses message from a plain object. Also converts values to their respective internal types.
                                  * @function fromObject
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses
                                  * @static
                                  * @param {Object.} object Plain object
-                                 * @returns {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos} TokenInfos
+                                 * @returns {org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses} TokenStatuses
                                  */
-                                TokenInfos.fromObject = function fromObject(object) {
-                                    if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos)
+                                TokenStatuses.fromObject = function fromObject(object) {
+                                    if (object instanceof $root.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses)
                                         return object;
-                                    var message = new $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos();
-                                    if (object.tokenInfos) {
-                                        if (!Array.isArray(object.tokenInfos))
-                                            throw TypeError(".org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos.tokenInfos: array expected");
-                                        message.tokenInfos = [];
-                                        for (var i = 0; i < object.tokenInfos.length; ++i) {
-                                            if (typeof object.tokenInfos[i] !== "object")
-                                                throw TypeError(".org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos.tokenInfos: object expected");
-                                            message.tokenInfos[i] = $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry.fromObject(object.tokenInfos[i]);
+                                    var message = new $root.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses();
+                                    if (object.tokenStatuses) {
+                                        if (!Array.isArray(object.tokenStatuses))
+                                            throw TypeError(".org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses.tokenStatuses: array expected");
+                                        message.tokenStatuses = [];
+                                        for (var i = 0; i < object.tokenStatuses.length; ++i) {
+                                            if (typeof object.tokenStatuses[i] !== "object")
+                                                throw TypeError(".org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses.tokenStatuses: object expected");
+                                            message.tokenStatuses[i] = $root.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry.fromObject(object.tokenStatuses[i]);
                                         }
                                     }
                                     return message;
                                 };
 
                                 /**
-                                 * Creates a plain object from a TokenInfos message. Also converts values to other types if specified.
+                                 * Creates a plain object from a TokenStatuses message. Also converts values to other types if specified.
                                  * @function toObject
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses
                                  * @static
-                                 * @param {org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos} message TokenInfos
+                                 * @param {org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses} message TokenStatuses
                                  * @param {$protobuf.IConversionOptions} [options] Conversion options
                                  * @returns {Object.} Plain object
                                  */
-                                TokenInfos.toObject = function toObject(message, options) {
+                                TokenStatuses.toObject = function toObject(message, options) {
                                     if (!options)
                                         options = {};
                                     var object = {};
                                     if (options.arrays || options.defaults)
-                                        object.tokenInfos = [];
-                                    if (message.tokenInfos && message.tokenInfos.length) {
-                                        object.tokenInfos = [];
-                                        for (var j = 0; j < message.tokenInfos.length; ++j)
-                                            object.tokenInfos[j] = $root.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry.toObject(message.tokenInfos[j], options);
+                                        object.tokenStatuses = [];
+                                    if (message.tokenStatuses && message.tokenStatuses.length) {
+                                        object.tokenStatuses = [];
+                                        for (var j = 0; j < message.tokenStatuses.length; ++j)
+                                            object.tokenStatuses[j] = $root.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry.toObject(message.tokenStatuses[j], options);
                                     }
                                     return object;
                                 };
 
                                 /**
-                                 * Converts this TokenInfos to JSON.
+                                 * Converts this TokenStatuses to JSON.
                                  * @function toJSON
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses
                                  * @instance
                                  * @returns {Object.} JSON object
                                  */
-                                TokenInfos.prototype.toJSON = function toJSON() {
+                                TokenStatuses.prototype.toJSON = function toJSON() {
                                     return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
                                 };
 
-                                return TokenInfos;
+                                return TokenStatuses;
                             })();
 
-                            return GetIdentityTokenInfosResponseV0;
+                            return GetTokenStatusesResponseV0;
                         })();
 
-                        return GetIdentityTokenInfosResponse;
+                        return GetTokenStatusesResponse;
                     })();
 
-                    v0.GetIdentitiesTokenInfosRequest = (function() {
+                    v0.GetTokenDirectPurchasePricesRequest = (function() {
 
                         /**
-                         * Properties of a GetIdentitiesTokenInfosRequest.
+                         * Properties of a GetTokenDirectPurchasePricesRequest.
                          * @memberof org.dash.platform.dapi.v0
-                         * @interface IGetIdentitiesTokenInfosRequest
-                         * @property {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.IGetIdentitiesTokenInfosRequestV0|null} [v0] GetIdentitiesTokenInfosRequest v0
+                         * @interface IGetTokenDirectPurchasePricesRequest
+                         * @property {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.IGetTokenDirectPurchasePricesRequestV0|null} [v0] GetTokenDirectPurchasePricesRequest v0
                          */
 
                         /**
-                         * Constructs a new GetIdentitiesTokenInfosRequest.
+                         * Constructs a new GetTokenDirectPurchasePricesRequest.
                          * @memberof org.dash.platform.dapi.v0
-                         * @classdesc Represents a GetIdentitiesTokenInfosRequest.
-                         * @implements IGetIdentitiesTokenInfosRequest
+                         * @classdesc Represents a GetTokenDirectPurchasePricesRequest.
+                         * @implements IGetTokenDirectPurchasePricesRequest
                          * @constructor
-                         * @param {org.dash.platform.dapi.v0.IGetIdentitiesTokenInfosRequest=} [properties] Properties to set
+                         * @param {org.dash.platform.dapi.v0.IGetTokenDirectPurchasePricesRequest=} [properties] Properties to set
                          */
-                        function GetIdentitiesTokenInfosRequest(properties) {
+                        function GetTokenDirectPurchasePricesRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
                                     if (properties[keys[i]] != null)
@@ -49041,89 +55434,89 @@ $root.org = (function() {
                         }
 
                         /**
-                         * GetIdentitiesTokenInfosRequest v0.
-                         * @member {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.IGetIdentitiesTokenInfosRequestV0|null|undefined} v0
-                         * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest
+                         * GetTokenDirectPurchasePricesRequest v0.
+                         * @member {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.IGetTokenDirectPurchasePricesRequestV0|null|undefined} v0
+                         * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest
                          * @instance
                          */
-                        GetIdentitiesTokenInfosRequest.prototype.v0 = null;
+                        GetTokenDirectPurchasePricesRequest.prototype.v0 = null;
 
                         // OneOf field names bound to virtual getters and setters
                         var $oneOfFields;
 
                         /**
-                         * GetIdentitiesTokenInfosRequest version.
+                         * GetTokenDirectPurchasePricesRequest version.
                          * @member {"v0"|undefined} version
-                         * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest
+                         * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest
                          * @instance
                          */
-                        Object.defineProperty(GetIdentitiesTokenInfosRequest.prototype, "version", {
+                        Object.defineProperty(GetTokenDirectPurchasePricesRequest.prototype, "version", {
                             get: $util.oneOfGetter($oneOfFields = ["v0"]),
                             set: $util.oneOfSetter($oneOfFields)
                         });
 
                         /**
-                         * Creates a new GetIdentitiesTokenInfosRequest instance using the specified properties.
+                         * Creates a new GetTokenDirectPurchasePricesRequest instance using the specified properties.
                          * @function create
-                         * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest
+                         * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest
                          * @static
-                         * @param {org.dash.platform.dapi.v0.IGetIdentitiesTokenInfosRequest=} [properties] Properties to set
-                         * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest} GetIdentitiesTokenInfosRequest instance
+                         * @param {org.dash.platform.dapi.v0.IGetTokenDirectPurchasePricesRequest=} [properties] Properties to set
+                         * @returns {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest} GetTokenDirectPurchasePricesRequest instance
                          */
-                        GetIdentitiesTokenInfosRequest.create = function create(properties) {
-                            return new GetIdentitiesTokenInfosRequest(properties);
+                        GetTokenDirectPurchasePricesRequest.create = function create(properties) {
+                            return new GetTokenDirectPurchasePricesRequest(properties);
                         };
 
                         /**
-                         * Encodes the specified GetIdentitiesTokenInfosRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.verify|verify} messages.
+                         * Encodes the specified GetTokenDirectPurchasePricesRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.verify|verify} messages.
                          * @function encode
-                         * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest
+                         * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest
                          * @static
-                         * @param {org.dash.platform.dapi.v0.IGetIdentitiesTokenInfosRequest} message GetIdentitiesTokenInfosRequest message or plain object to encode
+                         * @param {org.dash.platform.dapi.v0.IGetTokenDirectPurchasePricesRequest} message GetTokenDirectPurchasePricesRequest message or plain object to encode
                          * @param {$protobuf.Writer} [writer] Writer to encode to
                          * @returns {$protobuf.Writer} Writer
                          */
-                        GetIdentitiesTokenInfosRequest.encode = function encode(message, writer) {
+                        GetTokenDirectPurchasePricesRequest.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.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+                                $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
                             return writer;
                         };
 
                         /**
-                         * Encodes the specified GetIdentitiesTokenInfosRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.verify|verify} messages.
+                         * Encodes the specified GetTokenDirectPurchasePricesRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.verify|verify} messages.
                          * @function encodeDelimited
-                         * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest
+                         * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest
                          * @static
-                         * @param {org.dash.platform.dapi.v0.IGetIdentitiesTokenInfosRequest} message GetIdentitiesTokenInfosRequest message or plain object to encode
+                         * @param {org.dash.platform.dapi.v0.IGetTokenDirectPurchasePricesRequest} message GetTokenDirectPurchasePricesRequest message or plain object to encode
                          * @param {$protobuf.Writer} [writer] Writer to encode to
                          * @returns {$protobuf.Writer} Writer
                          */
-                        GetIdentitiesTokenInfosRequest.encodeDelimited = function encodeDelimited(message, writer) {
+                        GetTokenDirectPurchasePricesRequest.encodeDelimited = function encodeDelimited(message, writer) {
                             return this.encode(message, writer).ldelim();
                         };
 
                         /**
-                         * Decodes a GetIdentitiesTokenInfosRequest message from the specified reader or buffer.
+                         * Decodes a GetTokenDirectPurchasePricesRequest message from the specified reader or buffer.
                          * @function decode
-                         * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest
+                         * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest
                          * @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.GetIdentitiesTokenInfosRequest} GetIdentitiesTokenInfosRequest
+                         * @returns {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest} GetTokenDirectPurchasePricesRequest
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        GetIdentitiesTokenInfosRequest.decode = function decode(reader, length) {
+                        GetTokenDirectPurchasePricesRequest.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.GetIdentitiesTokenInfosRequest();
+                            var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
                                 switch (tag >>> 3) {
                                 case 1:
-                                    message.v0 = $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.decode(reader, reader.uint32());
+                                    message.v0 = $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.decode(reader, reader.uint32());
                                     break;
                                 default:
                                     reader.skipType(tag & 7);
@@ -49134,37 +55527,37 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Decodes a GetIdentitiesTokenInfosRequest message from the specified reader or buffer, length delimited.
+                         * Decodes a GetTokenDirectPurchasePricesRequest message from the specified reader or buffer, length delimited.
                          * @function decodeDelimited
-                         * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest
+                         * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest
                          * @static
                          * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                         * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest} GetIdentitiesTokenInfosRequest
+                         * @returns {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest} GetTokenDirectPurchasePricesRequest
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        GetIdentitiesTokenInfosRequest.decodeDelimited = function decodeDelimited(reader) {
+                        GetTokenDirectPurchasePricesRequest.decodeDelimited = function decodeDelimited(reader) {
                             if (!(reader instanceof $Reader))
                                 reader = new $Reader(reader);
                             return this.decode(reader, reader.uint32());
                         };
 
                         /**
-                         * Verifies a GetIdentitiesTokenInfosRequest message.
+                         * Verifies a GetTokenDirectPurchasePricesRequest message.
                          * @function verify
-                         * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest
+                         * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest
                          * @static
                          * @param {Object.} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        GetIdentitiesTokenInfosRequest.verify = function verify(message) {
+                        GetTokenDirectPurchasePricesRequest.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.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.verify(message.v0);
+                                    var error = $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.verify(message.v0);
                                     if (error)
                                         return "v0." + error;
                                 }
@@ -49173,40 +55566,40 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Creates a GetIdentitiesTokenInfosRequest message from a plain object. Also converts values to their respective internal types.
+                         * Creates a GetTokenDirectPurchasePricesRequest message from a plain object. Also converts values to their respective internal types.
                          * @function fromObject
-                         * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest
+                         * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest
                          * @static
                          * @param {Object.} object Plain object
-                         * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest} GetIdentitiesTokenInfosRequest
+                         * @returns {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest} GetTokenDirectPurchasePricesRequest
                          */
-                        GetIdentitiesTokenInfosRequest.fromObject = function fromObject(object) {
-                            if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest)
+                        GetTokenDirectPurchasePricesRequest.fromObject = function fromObject(object) {
+                            if (object instanceof $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest)
                                 return object;
-                            var message = new $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest();
+                            var message = new $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest();
                             if (object.v0 != null) {
                                 if (typeof object.v0 !== "object")
-                                    throw TypeError(".org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.v0: object expected");
-                                message.v0 = $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.fromObject(object.v0);
+                                    throw TypeError(".org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.v0: object expected");
+                                message.v0 = $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.fromObject(object.v0);
                             }
                             return message;
                         };
 
                         /**
-                         * Creates a plain object from a GetIdentitiesTokenInfosRequest message. Also converts values to other types if specified.
+                         * Creates a plain object from a GetTokenDirectPurchasePricesRequest message. Also converts values to other types if specified.
                          * @function toObject
-                         * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest
+                         * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest
                          * @static
-                         * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest} message GetIdentitiesTokenInfosRequest
+                         * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest} message GetTokenDirectPurchasePricesRequest
                          * @param {$protobuf.IConversionOptions} [options] Conversion options
                          * @returns {Object.} Plain object
                          */
-                        GetIdentitiesTokenInfosRequest.toObject = function toObject(message, options) {
+                        GetTokenDirectPurchasePricesRequest.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.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.toObject(message.v0, options);
+                                object.v0 = $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.toObject(message.v0, options);
                                 if (options.oneofs)
                                     object.version = "v0";
                             }
@@ -49214,37 +55607,36 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Converts this GetIdentitiesTokenInfosRequest to JSON.
+                         * Converts this GetTokenDirectPurchasePricesRequest to JSON.
                          * @function toJSON
-                         * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest
+                         * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest
                          * @instance
                          * @returns {Object.} JSON object
                          */
-                        GetIdentitiesTokenInfosRequest.prototype.toJSON = function toJSON() {
+                        GetTokenDirectPurchasePricesRequest.prototype.toJSON = function toJSON() {
                             return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
                         };
 
-                        GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0 = (function() {
+                        GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0 = (function() {
 
                             /**
-                             * Properties of a GetIdentitiesTokenInfosRequestV0.
-                             * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest
-                             * @interface IGetIdentitiesTokenInfosRequestV0
-                             * @property {Uint8Array|null} [tokenId] GetIdentitiesTokenInfosRequestV0 tokenId
-                             * @property {Array.|null} [identityIds] GetIdentitiesTokenInfosRequestV0 identityIds
-                             * @property {boolean|null} [prove] GetIdentitiesTokenInfosRequestV0 prove
+                             * Properties of a GetTokenDirectPurchasePricesRequestV0.
+                             * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest
+                             * @interface IGetTokenDirectPurchasePricesRequestV0
+                             * @property {Array.|null} [tokenIds] GetTokenDirectPurchasePricesRequestV0 tokenIds
+                             * @property {boolean|null} [prove] GetTokenDirectPurchasePricesRequestV0 prove
                              */
 
                             /**
-                             * Constructs a new GetIdentitiesTokenInfosRequestV0.
-                             * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest
-                             * @classdesc Represents a GetIdentitiesTokenInfosRequestV0.
-                             * @implements IGetIdentitiesTokenInfosRequestV0
+                             * Constructs a new GetTokenDirectPurchasePricesRequestV0.
+                             * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest
+                             * @classdesc Represents a GetTokenDirectPurchasePricesRequestV0.
+                             * @implements IGetTokenDirectPurchasePricesRequestV0
                              * @constructor
-                             * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.IGetIdentitiesTokenInfosRequestV0=} [properties] Properties to set
+                             * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.IGetTokenDirectPurchasePricesRequestV0=} [properties] Properties to set
                              */
-                            function GetIdentitiesTokenInfosRequestV0(properties) {
-                                this.identityIds = [];
+                            function GetTokenDirectPurchasePricesRequestV0(properties) {
+                                this.tokenIds = [];
                                 if (properties)
                                     for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
                                         if (properties[keys[i]] != null)
@@ -49252,103 +55644,90 @@ $root.org = (function() {
                             }
 
                             /**
-                             * GetIdentitiesTokenInfosRequestV0 tokenId.
-                             * @member {Uint8Array} tokenId
-                             * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0
-                             * @instance
-                             */
-                            GetIdentitiesTokenInfosRequestV0.prototype.tokenId = $util.newBuffer([]);
-
-                            /**
-                             * GetIdentitiesTokenInfosRequestV0 identityIds.
-                             * @member {Array.} identityIds
-                             * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0
+                             * GetTokenDirectPurchasePricesRequestV0 tokenIds.
+                             * @member {Array.} tokenIds
+                             * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0
                              * @instance
                              */
-                            GetIdentitiesTokenInfosRequestV0.prototype.identityIds = $util.emptyArray;
+                            GetTokenDirectPurchasePricesRequestV0.prototype.tokenIds = $util.emptyArray;
 
                             /**
-                             * GetIdentitiesTokenInfosRequestV0 prove.
+                             * GetTokenDirectPurchasePricesRequestV0 prove.
                              * @member {boolean} prove
-                             * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0
                              * @instance
                              */
-                            GetIdentitiesTokenInfosRequestV0.prototype.prove = false;
+                            GetTokenDirectPurchasePricesRequestV0.prototype.prove = false;
 
                             /**
-                             * Creates a new GetIdentitiesTokenInfosRequestV0 instance using the specified properties.
+                             * Creates a new GetTokenDirectPurchasePricesRequestV0 instance using the specified properties.
                              * @function create
-                             * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.IGetIdentitiesTokenInfosRequestV0=} [properties] Properties to set
-                             * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0} GetIdentitiesTokenInfosRequestV0 instance
+                             * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.IGetTokenDirectPurchasePricesRequestV0=} [properties] Properties to set
+                             * @returns {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0} GetTokenDirectPurchasePricesRequestV0 instance
                              */
-                            GetIdentitiesTokenInfosRequestV0.create = function create(properties) {
-                                return new GetIdentitiesTokenInfosRequestV0(properties);
+                            GetTokenDirectPurchasePricesRequestV0.create = function create(properties) {
+                                return new GetTokenDirectPurchasePricesRequestV0(properties);
                             };
 
                             /**
-                             * Encodes the specified GetIdentitiesTokenInfosRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.verify|verify} messages.
+                             * Encodes the specified GetTokenDirectPurchasePricesRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.verify|verify} messages.
                              * @function encode
-                             * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.IGetIdentitiesTokenInfosRequestV0} message GetIdentitiesTokenInfosRequestV0 message or plain object to encode
+                             * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.IGetTokenDirectPurchasePricesRequestV0} message GetTokenDirectPurchasePricesRequestV0 message or plain object to encode
                              * @param {$protobuf.Writer} [writer] Writer to encode to
                              * @returns {$protobuf.Writer} Writer
                              */
-                            GetIdentitiesTokenInfosRequestV0.encode = function encode(message, writer) {
+                            GetTokenDirectPurchasePricesRequestV0.encode = function encode(message, writer) {
                                 if (!writer)
                                     writer = $Writer.create();
-                                if (message.tokenId != null && Object.hasOwnProperty.call(message, "tokenId"))
-                                    writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.tokenId);
-                                if (message.identityIds != null && message.identityIds.length)
-                                    for (var i = 0; i < message.identityIds.length; ++i)
-                                        writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.identityIds[i]);
+                                if (message.tokenIds != null && message.tokenIds.length)
+                                    for (var i = 0; i < message.tokenIds.length; ++i)
+                                        writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.tokenIds[i]);
                                 if (message.prove != null && Object.hasOwnProperty.call(message, "prove"))
-                                    writer.uint32(/* id 3, wireType 0 =*/24).bool(message.prove);
+                                    writer.uint32(/* id 2, wireType 0 =*/16).bool(message.prove);
                                 return writer;
                             };
 
                             /**
-                             * Encodes the specified GetIdentitiesTokenInfosRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.verify|verify} messages.
+                             * Encodes the specified GetTokenDirectPurchasePricesRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.verify|verify} messages.
                              * @function encodeDelimited
-                             * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.IGetIdentitiesTokenInfosRequestV0} message GetIdentitiesTokenInfosRequestV0 message or plain object to encode
+                             * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.IGetTokenDirectPurchasePricesRequestV0} message GetTokenDirectPurchasePricesRequestV0 message or plain object to encode
                              * @param {$protobuf.Writer} [writer] Writer to encode to
                              * @returns {$protobuf.Writer} Writer
                              */
-                            GetIdentitiesTokenInfosRequestV0.encodeDelimited = function encodeDelimited(message, writer) {
+                            GetTokenDirectPurchasePricesRequestV0.encodeDelimited = function encodeDelimited(message, writer) {
                                 return this.encode(message, writer).ldelim();
                             };
 
                             /**
-                             * Decodes a GetIdentitiesTokenInfosRequestV0 message from the specified reader or buffer.
+                             * Decodes a GetTokenDirectPurchasePricesRequestV0 message from the specified reader or buffer.
                              * @function decode
-                             * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0
                              * @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.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0} GetIdentitiesTokenInfosRequestV0
+                             * @returns {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0} GetTokenDirectPurchasePricesRequestV0
                              * @throws {Error} If the payload is not a reader or valid buffer
                              * @throws {$protobuf.util.ProtocolError} If required fields are missing
                              */
-                            GetIdentitiesTokenInfosRequestV0.decode = function decode(reader, length) {
+                            GetTokenDirectPurchasePricesRequestV0.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.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0();
+                                var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0();
                                 while (reader.pos < end) {
                                     var tag = reader.uint32();
                                     switch (tag >>> 3) {
                                     case 1:
-                                        message.tokenId = reader.bytes();
+                                        if (!(message.tokenIds && message.tokenIds.length))
+                                            message.tokenIds = [];
+                                        message.tokenIds.push(reader.bytes());
                                         break;
                                     case 2:
-                                        if (!(message.identityIds && message.identityIds.length))
-                                            message.identityIds = [];
-                                        message.identityIds.push(reader.bytes());
-                                        break;
-                                    case 3:
                                         message.prove = reader.bool();
                                         break;
                                     default:
@@ -49360,41 +55739,38 @@ $root.org = (function() {
                             };
 
                             /**
-                             * Decodes a GetIdentitiesTokenInfosRequestV0 message from the specified reader or buffer, length delimited.
+                             * Decodes a GetTokenDirectPurchasePricesRequestV0 message from the specified reader or buffer, length delimited.
                              * @function decodeDelimited
-                             * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0
                              * @static
                              * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                             * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0} GetIdentitiesTokenInfosRequestV0
+                             * @returns {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0} GetTokenDirectPurchasePricesRequestV0
                              * @throws {Error} If the payload is not a reader or valid buffer
                              * @throws {$protobuf.util.ProtocolError} If required fields are missing
                              */
-                            GetIdentitiesTokenInfosRequestV0.decodeDelimited = function decodeDelimited(reader) {
+                            GetTokenDirectPurchasePricesRequestV0.decodeDelimited = function decodeDelimited(reader) {
                                 if (!(reader instanceof $Reader))
                                     reader = new $Reader(reader);
                                 return this.decode(reader, reader.uint32());
                             };
 
                             /**
-                             * Verifies a GetIdentitiesTokenInfosRequestV0 message.
+                             * Verifies a GetTokenDirectPurchasePricesRequestV0 message.
                              * @function verify
-                             * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0
                              * @static
                              * @param {Object.} message Plain object to verify
                              * @returns {string|null} `null` if valid, otherwise the reason why it is not
                              */
-                            GetIdentitiesTokenInfosRequestV0.verify = function verify(message) {
+                            GetTokenDirectPurchasePricesRequestV0.verify = function verify(message) {
                                 if (typeof message !== "object" || message === null)
                                     return "object expected";
-                                if (message.tokenId != null && message.hasOwnProperty("tokenId"))
-                                    if (!(message.tokenId && typeof message.tokenId.length === "number" || $util.isString(message.tokenId)))
-                                        return "tokenId: buffer 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.tokenIds != null && message.hasOwnProperty("tokenIds")) {
+                                    if (!Array.isArray(message.tokenIds))
+                                        return "tokenIds: array expected";
+                                    for (var i = 0; i < message.tokenIds.length; ++i)
+                                        if (!(message.tokenIds[i] && typeof message.tokenIds[i].length === "number" || $util.isString(message.tokenIds[i])))
+                                            return "tokenIds: buffer[] expected";
                                 }
                                 if (message.prove != null && message.hasOwnProperty("prove"))
                                     if (typeof message.prove !== "boolean")
@@ -49403,31 +55779,26 @@ $root.org = (function() {
                             };
 
                             /**
-                             * Creates a GetIdentitiesTokenInfosRequestV0 message from a plain object. Also converts values to their respective internal types.
+                             * Creates a GetTokenDirectPurchasePricesRequestV0 message from a plain object. Also converts values to their respective internal types.
                              * @function fromObject
-                             * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0
                              * @static
                              * @param {Object.} object Plain object
-                             * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0} GetIdentitiesTokenInfosRequestV0
+                             * @returns {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0} GetTokenDirectPurchasePricesRequestV0
                              */
-                            GetIdentitiesTokenInfosRequestV0.fromObject = function fromObject(object) {
-                                if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0)
+                            GetTokenDirectPurchasePricesRequestV0.fromObject = function fromObject(object) {
+                                if (object instanceof $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0)
                                     return object;
-                                var message = new $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0();
-                                if (object.tokenId != null)
-                                    if (typeof object.tokenId === "string")
-                                        $util.base64.decode(object.tokenId, message.tokenId = $util.newBuffer($util.base64.length(object.tokenId)), 0);
-                                    else if (object.tokenId.length >= 0)
-                                        message.tokenId = object.tokenId;
-                                if (object.identityIds) {
-                                    if (!Array.isArray(object.identityIds))
-                                        throw TypeError(".org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.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];
+                                var message = new $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0();
+                                if (object.tokenIds) {
+                                    if (!Array.isArray(object.tokenIds))
+                                        throw TypeError(".org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.tokenIds: array expected");
+                                    message.tokenIds = [];
+                                    for (var i = 0; i < object.tokenIds.length; ++i)
+                                        if (typeof object.tokenIds[i] === "string")
+                                            $util.base64.decode(object.tokenIds[i], message.tokenIds[i] = $util.newBuffer($util.base64.length(object.tokenIds[i])), 0);
+                                        else if (object.tokenIds[i].length >= 0)
+                                            message.tokenIds[i] = object.tokenIds[i];
                                 }
                                 if (object.prove != null)
                                     message.prove = Boolean(object.prove);
@@ -49435,36 +55806,26 @@ $root.org = (function() {
                             };
 
                             /**
-                             * Creates a plain object from a GetIdentitiesTokenInfosRequestV0 message. Also converts values to other types if specified.
+                             * Creates a plain object from a GetTokenDirectPurchasePricesRequestV0 message. Also converts values to other types if specified.
                              * @function toObject
-                             * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0} message GetIdentitiesTokenInfosRequestV0
+                             * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0} message GetTokenDirectPurchasePricesRequestV0
                              * @param {$protobuf.IConversionOptions} [options] Conversion options
                              * @returns {Object.} Plain object
                              */
-                            GetIdentitiesTokenInfosRequestV0.toObject = function toObject(message, options) {
+                            GetTokenDirectPurchasePricesRequestV0.toObject = function toObject(message, options) {
                                 if (!options)
                                     options = {};
                                 var object = {};
                                 if (options.arrays || options.defaults)
-                                    object.identityIds = [];
-                                if (options.defaults) {
-                                    if (options.bytes === String)
-                                        object.tokenId = "";
-                                    else {
-                                        object.tokenId = [];
-                                        if (options.bytes !== Array)
-                                            object.tokenId = $util.newBuffer(object.tokenId);
-                                    }
+                                    object.tokenIds = [];
+                                if (options.defaults)
                                     object.prove = false;
-                                }
-                                if (message.tokenId != null && message.hasOwnProperty("tokenId"))
-                                    object.tokenId = options.bytes === String ? $util.base64.encode(message.tokenId, 0, message.tokenId.length) : options.bytes === Array ? Array.prototype.slice.call(message.tokenId) : message.tokenId;
-                                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 (message.tokenIds && message.tokenIds.length) {
+                                    object.tokenIds = [];
+                                    for (var j = 0; j < message.tokenIds.length; ++j)
+                                        object.tokenIds[j] = options.bytes === String ? $util.base64.encode(message.tokenIds[j], 0, message.tokenIds[j].length) : options.bytes === Array ? Array.prototype.slice.call(message.tokenIds[j]) : message.tokenIds[j];
                                 }
                                 if (message.prove != null && message.hasOwnProperty("prove"))
                                     object.prove = message.prove;
@@ -49472,40 +55833,40 @@ $root.org = (function() {
                             };
 
                             /**
-                             * Converts this GetIdentitiesTokenInfosRequestV0 to JSON.
+                             * Converts this GetTokenDirectPurchasePricesRequestV0 to JSON.
                              * @function toJSON
-                             * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0
                              * @instance
                              * @returns {Object.} JSON object
                              */
-                            GetIdentitiesTokenInfosRequestV0.prototype.toJSON = function toJSON() {
+                            GetTokenDirectPurchasePricesRequestV0.prototype.toJSON = function toJSON() {
                                 return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
                             };
 
-                            return GetIdentitiesTokenInfosRequestV0;
+                            return GetTokenDirectPurchasePricesRequestV0;
                         })();
 
-                        return GetIdentitiesTokenInfosRequest;
+                        return GetTokenDirectPurchasePricesRequest;
                     })();
 
-                    v0.GetIdentitiesTokenInfosResponse = (function() {
+                    v0.GetTokenDirectPurchasePricesResponse = (function() {
 
                         /**
-                         * Properties of a GetIdentitiesTokenInfosResponse.
+                         * Properties of a GetTokenDirectPurchasePricesResponse.
                          * @memberof org.dash.platform.dapi.v0
-                         * @interface IGetIdentitiesTokenInfosResponse
-                         * @property {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.IGetIdentitiesTokenInfosResponseV0|null} [v0] GetIdentitiesTokenInfosResponse v0
+                         * @interface IGetTokenDirectPurchasePricesResponse
+                         * @property {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.IGetTokenDirectPurchasePricesResponseV0|null} [v0] GetTokenDirectPurchasePricesResponse v0
                          */
 
                         /**
-                         * Constructs a new GetIdentitiesTokenInfosResponse.
+                         * Constructs a new GetTokenDirectPurchasePricesResponse.
                          * @memberof org.dash.platform.dapi.v0
-                         * @classdesc Represents a GetIdentitiesTokenInfosResponse.
-                         * @implements IGetIdentitiesTokenInfosResponse
+                         * @classdesc Represents a GetTokenDirectPurchasePricesResponse.
+                         * @implements IGetTokenDirectPurchasePricesResponse
                          * @constructor
-                         * @param {org.dash.platform.dapi.v0.IGetIdentitiesTokenInfosResponse=} [properties] Properties to set
+                         * @param {org.dash.platform.dapi.v0.IGetTokenDirectPurchasePricesResponse=} [properties] Properties to set
                          */
-                        function GetIdentitiesTokenInfosResponse(properties) {
+                        function GetTokenDirectPurchasePricesResponse(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
                                     if (properties[keys[i]] != null)
@@ -49513,89 +55874,89 @@ $root.org = (function() {
                         }
 
                         /**
-                         * GetIdentitiesTokenInfosResponse v0.
-                         * @member {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.IGetIdentitiesTokenInfosResponseV0|null|undefined} v0
-                         * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse
+                         * GetTokenDirectPurchasePricesResponse v0.
+                         * @member {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.IGetTokenDirectPurchasePricesResponseV0|null|undefined} v0
+                         * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse
                          * @instance
                          */
-                        GetIdentitiesTokenInfosResponse.prototype.v0 = null;
+                        GetTokenDirectPurchasePricesResponse.prototype.v0 = null;
 
                         // OneOf field names bound to virtual getters and setters
                         var $oneOfFields;
 
                         /**
-                         * GetIdentitiesTokenInfosResponse version.
+                         * GetTokenDirectPurchasePricesResponse version.
                          * @member {"v0"|undefined} version
-                         * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse
+                         * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse
                          * @instance
                          */
-                        Object.defineProperty(GetIdentitiesTokenInfosResponse.prototype, "version", {
+                        Object.defineProperty(GetTokenDirectPurchasePricesResponse.prototype, "version", {
                             get: $util.oneOfGetter($oneOfFields = ["v0"]),
                             set: $util.oneOfSetter($oneOfFields)
                         });
 
                         /**
-                         * Creates a new GetIdentitiesTokenInfosResponse instance using the specified properties.
+                         * Creates a new GetTokenDirectPurchasePricesResponse instance using the specified properties.
                          * @function create
-                         * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse
+                         * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse
                          * @static
-                         * @param {org.dash.platform.dapi.v0.IGetIdentitiesTokenInfosResponse=} [properties] Properties to set
-                         * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse} GetIdentitiesTokenInfosResponse instance
+                         * @param {org.dash.platform.dapi.v0.IGetTokenDirectPurchasePricesResponse=} [properties] Properties to set
+                         * @returns {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse} GetTokenDirectPurchasePricesResponse instance
                          */
-                        GetIdentitiesTokenInfosResponse.create = function create(properties) {
-                            return new GetIdentitiesTokenInfosResponse(properties);
+                        GetTokenDirectPurchasePricesResponse.create = function create(properties) {
+                            return new GetTokenDirectPurchasePricesResponse(properties);
                         };
 
                         /**
-                         * Encodes the specified GetIdentitiesTokenInfosResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.verify|verify} messages.
+                         * Encodes the specified GetTokenDirectPurchasePricesResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.verify|verify} messages.
                          * @function encode
-                         * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse
+                         * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse
                          * @static
-                         * @param {org.dash.platform.dapi.v0.IGetIdentitiesTokenInfosResponse} message GetIdentitiesTokenInfosResponse message or plain object to encode
+                         * @param {org.dash.platform.dapi.v0.IGetTokenDirectPurchasePricesResponse} message GetTokenDirectPurchasePricesResponse message or plain object to encode
                          * @param {$protobuf.Writer} [writer] Writer to encode to
                          * @returns {$protobuf.Writer} Writer
                          */
-                        GetIdentitiesTokenInfosResponse.encode = function encode(message, writer) {
+                        GetTokenDirectPurchasePricesResponse.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.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+                                $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
                             return writer;
                         };
 
                         /**
-                         * Encodes the specified GetIdentitiesTokenInfosResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.verify|verify} messages.
+                         * Encodes the specified GetTokenDirectPurchasePricesResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.verify|verify} messages.
                          * @function encodeDelimited
-                         * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse
+                         * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse
                          * @static
-                         * @param {org.dash.platform.dapi.v0.IGetIdentitiesTokenInfosResponse} message GetIdentitiesTokenInfosResponse message or plain object to encode
+                         * @param {org.dash.platform.dapi.v0.IGetTokenDirectPurchasePricesResponse} message GetTokenDirectPurchasePricesResponse message or plain object to encode
                          * @param {$protobuf.Writer} [writer] Writer to encode to
                          * @returns {$protobuf.Writer} Writer
                          */
-                        GetIdentitiesTokenInfosResponse.encodeDelimited = function encodeDelimited(message, writer) {
+                        GetTokenDirectPurchasePricesResponse.encodeDelimited = function encodeDelimited(message, writer) {
                             return this.encode(message, writer).ldelim();
                         };
 
                         /**
-                         * Decodes a GetIdentitiesTokenInfosResponse message from the specified reader or buffer.
+                         * Decodes a GetTokenDirectPurchasePricesResponse message from the specified reader or buffer.
                          * @function decode
-                         * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse
+                         * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse
                          * @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.GetIdentitiesTokenInfosResponse} GetIdentitiesTokenInfosResponse
+                         * @returns {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse} GetTokenDirectPurchasePricesResponse
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        GetIdentitiesTokenInfosResponse.decode = function decode(reader, length) {
+                        GetTokenDirectPurchasePricesResponse.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.GetIdentitiesTokenInfosResponse();
+                            var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
                                 switch (tag >>> 3) {
                                 case 1:
-                                    message.v0 = $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.decode(reader, reader.uint32());
+                                    message.v0 = $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.decode(reader, reader.uint32());
                                     break;
                                 default:
                                     reader.skipType(tag & 7);
@@ -49606,37 +55967,37 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Decodes a GetIdentitiesTokenInfosResponse message from the specified reader or buffer, length delimited.
+                         * Decodes a GetTokenDirectPurchasePricesResponse message from the specified reader or buffer, length delimited.
                          * @function decodeDelimited
-                         * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse
+                         * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse
                          * @static
                          * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                         * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse} GetIdentitiesTokenInfosResponse
+                         * @returns {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse} GetTokenDirectPurchasePricesResponse
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        GetIdentitiesTokenInfosResponse.decodeDelimited = function decodeDelimited(reader) {
+                        GetTokenDirectPurchasePricesResponse.decodeDelimited = function decodeDelimited(reader) {
                             if (!(reader instanceof $Reader))
                                 reader = new $Reader(reader);
                             return this.decode(reader, reader.uint32());
                         };
 
                         /**
-                         * Verifies a GetIdentitiesTokenInfosResponse message.
+                         * Verifies a GetTokenDirectPurchasePricesResponse message.
                          * @function verify
-                         * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse
+                         * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse
                          * @static
                          * @param {Object.} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        GetIdentitiesTokenInfosResponse.verify = function verify(message) {
+                        GetTokenDirectPurchasePricesResponse.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.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.verify(message.v0);
+                                    var error = $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.verify(message.v0);
                                     if (error)
                                         return "v0." + error;
                                 }
@@ -49645,40 +56006,40 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Creates a GetIdentitiesTokenInfosResponse message from a plain object. Also converts values to their respective internal types.
+                         * Creates a GetTokenDirectPurchasePricesResponse message from a plain object. Also converts values to their respective internal types.
                          * @function fromObject
-                         * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse
+                         * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse
                          * @static
                          * @param {Object.} object Plain object
-                         * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse} GetIdentitiesTokenInfosResponse
+                         * @returns {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse} GetTokenDirectPurchasePricesResponse
                          */
-                        GetIdentitiesTokenInfosResponse.fromObject = function fromObject(object) {
-                            if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse)
+                        GetTokenDirectPurchasePricesResponse.fromObject = function fromObject(object) {
+                            if (object instanceof $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse)
                                 return object;
-                            var message = new $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse();
+                            var message = new $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse();
                             if (object.v0 != null) {
                                 if (typeof object.v0 !== "object")
-                                    throw TypeError(".org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.v0: object expected");
-                                message.v0 = $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.fromObject(object.v0);
+                                    throw TypeError(".org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.v0: object expected");
+                                message.v0 = $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.fromObject(object.v0);
                             }
                             return message;
                         };
 
                         /**
-                         * Creates a plain object from a GetIdentitiesTokenInfosResponse message. Also converts values to other types if specified.
+                         * Creates a plain object from a GetTokenDirectPurchasePricesResponse message. Also converts values to other types if specified.
                          * @function toObject
-                         * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse
+                         * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse
                          * @static
-                         * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse} message GetIdentitiesTokenInfosResponse
+                         * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse} message GetTokenDirectPurchasePricesResponse
                          * @param {$protobuf.IConversionOptions} [options] Conversion options
                          * @returns {Object.} Plain object
                          */
-                        GetIdentitiesTokenInfosResponse.toObject = function toObject(message, options) {
+                        GetTokenDirectPurchasePricesResponse.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.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.toObject(message.v0, options);
+                                object.v0 = $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.toObject(message.v0, options);
                                 if (options.oneofs)
                                     object.version = "v0";
                             }
@@ -49686,36 +56047,36 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Converts this GetIdentitiesTokenInfosResponse to JSON.
+                         * Converts this GetTokenDirectPurchasePricesResponse to JSON.
                          * @function toJSON
-                         * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse
+                         * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse
                          * @instance
                          * @returns {Object.} JSON object
                          */
-                        GetIdentitiesTokenInfosResponse.prototype.toJSON = function toJSON() {
+                        GetTokenDirectPurchasePricesResponse.prototype.toJSON = function toJSON() {
                             return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
                         };
 
-                        GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0 = (function() {
+                        GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0 = (function() {
 
                             /**
-                             * Properties of a GetIdentitiesTokenInfosResponseV0.
-                             * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse
-                             * @interface IGetIdentitiesTokenInfosResponseV0
-                             * @property {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IIdentityTokenInfos|null} [identityTokenInfos] GetIdentitiesTokenInfosResponseV0 identityTokenInfos
-                             * @property {org.dash.platform.dapi.v0.IProof|null} [proof] GetIdentitiesTokenInfosResponseV0 proof
-                             * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetIdentitiesTokenInfosResponseV0 metadata
+                             * Properties of a GetTokenDirectPurchasePricesResponseV0.
+                             * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse
+                             * @interface IGetTokenDirectPurchasePricesResponseV0
+                             * @property {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.ITokenDirectPurchasePrices|null} [tokenDirectPurchasePrices] GetTokenDirectPurchasePricesResponseV0 tokenDirectPurchasePrices
+                             * @property {org.dash.platform.dapi.v0.IProof|null} [proof] GetTokenDirectPurchasePricesResponseV0 proof
+                             * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetTokenDirectPurchasePricesResponseV0 metadata
                              */
 
                             /**
-                             * Constructs a new GetIdentitiesTokenInfosResponseV0.
-                             * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse
-                             * @classdesc Represents a GetIdentitiesTokenInfosResponseV0.
-                             * @implements IGetIdentitiesTokenInfosResponseV0
+                             * Constructs a new GetTokenDirectPurchasePricesResponseV0.
+                             * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse
+                             * @classdesc Represents a GetTokenDirectPurchasePricesResponseV0.
+                             * @implements IGetTokenDirectPurchasePricesResponseV0
                              * @constructor
-                             * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.IGetIdentitiesTokenInfosResponseV0=} [properties] Properties to set
+                             * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.IGetTokenDirectPurchasePricesResponseV0=} [properties] Properties to set
                              */
-                            function GetIdentitiesTokenInfosResponseV0(properties) {
+                            function GetTokenDirectPurchasePricesResponseV0(properties) {
                                 if (properties)
                                     for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
                                         if (properties[keys[i]] != null)
@@ -49723,69 +56084,69 @@ $root.org = (function() {
                             }
 
                             /**
-                             * GetIdentitiesTokenInfosResponseV0 identityTokenInfos.
-                             * @member {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IIdentityTokenInfos|null|undefined} identityTokenInfos
-                             * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0
+                             * GetTokenDirectPurchasePricesResponseV0 tokenDirectPurchasePrices.
+                             * @member {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.ITokenDirectPurchasePrices|null|undefined} tokenDirectPurchasePrices
+                             * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0
                              * @instance
                              */
-                            GetIdentitiesTokenInfosResponseV0.prototype.identityTokenInfos = null;
+                            GetTokenDirectPurchasePricesResponseV0.prototype.tokenDirectPurchasePrices = null;
 
                             /**
-                             * GetIdentitiesTokenInfosResponseV0 proof.
+                             * GetTokenDirectPurchasePricesResponseV0 proof.
                              * @member {org.dash.platform.dapi.v0.IProof|null|undefined} proof
-                             * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0
                              * @instance
                              */
-                            GetIdentitiesTokenInfosResponseV0.prototype.proof = null;
+                            GetTokenDirectPurchasePricesResponseV0.prototype.proof = null;
 
                             /**
-                             * GetIdentitiesTokenInfosResponseV0 metadata.
+                             * GetTokenDirectPurchasePricesResponseV0 metadata.
                              * @member {org.dash.platform.dapi.v0.IResponseMetadata|null|undefined} metadata
-                             * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0
                              * @instance
                              */
-                            GetIdentitiesTokenInfosResponseV0.prototype.metadata = null;
+                            GetTokenDirectPurchasePricesResponseV0.prototype.metadata = null;
 
                             // OneOf field names bound to virtual getters and setters
                             var $oneOfFields;
 
                             /**
-                             * GetIdentitiesTokenInfosResponseV0 result.
-                             * @member {"identityTokenInfos"|"proof"|undefined} result
-                             * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0
+                             * GetTokenDirectPurchasePricesResponseV0 result.
+                             * @member {"tokenDirectPurchasePrices"|"proof"|undefined} result
+                             * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0
                              * @instance
                              */
-                            Object.defineProperty(GetIdentitiesTokenInfosResponseV0.prototype, "result", {
-                                get: $util.oneOfGetter($oneOfFields = ["identityTokenInfos", "proof"]),
+                            Object.defineProperty(GetTokenDirectPurchasePricesResponseV0.prototype, "result", {
+                                get: $util.oneOfGetter($oneOfFields = ["tokenDirectPurchasePrices", "proof"]),
                                 set: $util.oneOfSetter($oneOfFields)
                             });
 
                             /**
-                             * Creates a new GetIdentitiesTokenInfosResponseV0 instance using the specified properties.
+                             * Creates a new GetTokenDirectPurchasePricesResponseV0 instance using the specified properties.
                              * @function create
-                             * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.IGetIdentitiesTokenInfosResponseV0=} [properties] Properties to set
-                             * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0} GetIdentitiesTokenInfosResponseV0 instance
+                             * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.IGetTokenDirectPurchasePricesResponseV0=} [properties] Properties to set
+                             * @returns {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0} GetTokenDirectPurchasePricesResponseV0 instance
                              */
-                            GetIdentitiesTokenInfosResponseV0.create = function create(properties) {
-                                return new GetIdentitiesTokenInfosResponseV0(properties);
+                            GetTokenDirectPurchasePricesResponseV0.create = function create(properties) {
+                                return new GetTokenDirectPurchasePricesResponseV0(properties);
                             };
 
                             /**
-                             * Encodes the specified GetIdentitiesTokenInfosResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.verify|verify} messages.
+                             * Encodes the specified GetTokenDirectPurchasePricesResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.verify|verify} messages.
                              * @function encode
-                             * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.IGetIdentitiesTokenInfosResponseV0} message GetIdentitiesTokenInfosResponseV0 message or plain object to encode
+                             * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.IGetTokenDirectPurchasePricesResponseV0} message GetTokenDirectPurchasePricesResponseV0 message or plain object to encode
                              * @param {$protobuf.Writer} [writer] Writer to encode to
                              * @returns {$protobuf.Writer} Writer
                              */
-                            GetIdentitiesTokenInfosResponseV0.encode = function encode(message, writer) {
+                            GetTokenDirectPurchasePricesResponseV0.encode = function encode(message, writer) {
                                 if (!writer)
                                     writer = $Writer.create();
-                                if (message.identityTokenInfos != null && Object.hasOwnProperty.call(message, "identityTokenInfos"))
-                                    $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos.encode(message.identityTokenInfos, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+                                if (message.tokenDirectPurchasePrices != null && Object.hasOwnProperty.call(message, "tokenDirectPurchasePrices"))
+                                    $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices.encode(message.tokenDirectPurchasePrices, 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"))
@@ -49794,38 +56155,38 @@ $root.org = (function() {
                             };
 
                             /**
-                             * Encodes the specified GetIdentitiesTokenInfosResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.verify|verify} messages.
+                             * Encodes the specified GetTokenDirectPurchasePricesResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.verify|verify} messages.
                              * @function encodeDelimited
-                             * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.IGetIdentitiesTokenInfosResponseV0} message GetIdentitiesTokenInfosResponseV0 message or plain object to encode
+                             * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.IGetTokenDirectPurchasePricesResponseV0} message GetTokenDirectPurchasePricesResponseV0 message or plain object to encode
                              * @param {$protobuf.Writer} [writer] Writer to encode to
                              * @returns {$protobuf.Writer} Writer
                              */
-                            GetIdentitiesTokenInfosResponseV0.encodeDelimited = function encodeDelimited(message, writer) {
+                            GetTokenDirectPurchasePricesResponseV0.encodeDelimited = function encodeDelimited(message, writer) {
                                 return this.encode(message, writer).ldelim();
                             };
 
                             /**
-                             * Decodes a GetIdentitiesTokenInfosResponseV0 message from the specified reader or buffer.
+                             * Decodes a GetTokenDirectPurchasePricesResponseV0 message from the specified reader or buffer.
                              * @function decode
-                             * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0
                              * @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.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0} GetIdentitiesTokenInfosResponseV0
+                             * @returns {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0} GetTokenDirectPurchasePricesResponseV0
                              * @throws {Error} If the payload is not a reader or valid buffer
                              * @throws {$protobuf.util.ProtocolError} If required fields are missing
                              */
-                            GetIdentitiesTokenInfosResponseV0.decode = function decode(reader, length) {
+                            GetTokenDirectPurchasePricesResponseV0.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.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0();
+                                var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0();
                                 while (reader.pos < end) {
                                     var tag = reader.uint32();
                                     switch (tag >>> 3) {
                                     case 1:
-                                        message.identityTokenInfos = $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos.decode(reader, reader.uint32());
+                                        message.tokenDirectPurchasePrices = $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices.decode(reader, reader.uint32());
                                         break;
                                     case 2:
                                         message.proof = $root.org.dash.platform.dapi.v0.Proof.decode(reader, reader.uint32());
@@ -49842,39 +56203,39 @@ $root.org = (function() {
                             };
 
                             /**
-                             * Decodes a GetIdentitiesTokenInfosResponseV0 message from the specified reader or buffer, length delimited.
+                             * Decodes a GetTokenDirectPurchasePricesResponseV0 message from the specified reader or buffer, length delimited.
                              * @function decodeDelimited
-                             * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0
                              * @static
                              * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                             * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0} GetIdentitiesTokenInfosResponseV0
+                             * @returns {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0} GetTokenDirectPurchasePricesResponseV0
                              * @throws {Error} If the payload is not a reader or valid buffer
                              * @throws {$protobuf.util.ProtocolError} If required fields are missing
                              */
-                            GetIdentitiesTokenInfosResponseV0.decodeDelimited = function decodeDelimited(reader) {
+                            GetTokenDirectPurchasePricesResponseV0.decodeDelimited = function decodeDelimited(reader) {
                                 if (!(reader instanceof $Reader))
                                     reader = new $Reader(reader);
                                 return this.decode(reader, reader.uint32());
                             };
 
                             /**
-                             * Verifies a GetIdentitiesTokenInfosResponseV0 message.
+                             * Verifies a GetTokenDirectPurchasePricesResponseV0 message.
                              * @function verify
-                             * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0
                              * @static
                              * @param {Object.} message Plain object to verify
                              * @returns {string|null} `null` if valid, otherwise the reason why it is not
                              */
-                            GetIdentitiesTokenInfosResponseV0.verify = function verify(message) {
+                            GetTokenDirectPurchasePricesResponseV0.verify = function verify(message) {
                                 if (typeof message !== "object" || message === null)
                                     return "object expected";
                                 var properties = {};
-                                if (message.identityTokenInfos != null && message.hasOwnProperty("identityTokenInfos")) {
+                                if (message.tokenDirectPurchasePrices != null && message.hasOwnProperty("tokenDirectPurchasePrices")) {
                                     properties.result = 1;
                                     {
-                                        var error = $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos.verify(message.identityTokenInfos);
+                                        var error = $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices.verify(message.tokenDirectPurchasePrices);
                                         if (error)
-                                            return "identityTokenInfos." + error;
+                                            return "tokenDirectPurchasePrices." + error;
                                     }
                                 }
                                 if (message.proof != null && message.hasOwnProperty("proof")) {
@@ -49896,54 +56257,54 @@ $root.org = (function() {
                             };
 
                             /**
-                             * Creates a GetIdentitiesTokenInfosResponseV0 message from a plain object. Also converts values to their respective internal types.
+                             * Creates a GetTokenDirectPurchasePricesResponseV0 message from a plain object. Also converts values to their respective internal types.
                              * @function fromObject
-                             * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0
                              * @static
                              * @param {Object.} object Plain object
-                             * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0} GetIdentitiesTokenInfosResponseV0
+                             * @returns {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0} GetTokenDirectPurchasePricesResponseV0
                              */
-                            GetIdentitiesTokenInfosResponseV0.fromObject = function fromObject(object) {
-                                if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0)
-                                    return object;
-                                var message = new $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0();
-                                if (object.identityTokenInfos != null) {
-                                    if (typeof object.identityTokenInfos !== "object")
-                                        throw TypeError(".org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.identityTokenInfos: object expected");
-                                    message.identityTokenInfos = $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos.fromObject(object.identityTokenInfos);
+                            GetTokenDirectPurchasePricesResponseV0.fromObject = function fromObject(object) {
+                                if (object instanceof $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0)
+                                    return object;
+                                var message = new $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0();
+                                if (object.tokenDirectPurchasePrices != null) {
+                                    if (typeof object.tokenDirectPurchasePrices !== "object")
+                                        throw TypeError(".org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.tokenDirectPurchasePrices: object expected");
+                                    message.tokenDirectPurchasePrices = $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices.fromObject(object.tokenDirectPurchasePrices);
                                 }
                                 if (object.proof != null) {
                                     if (typeof object.proof !== "object")
-                                        throw TypeError(".org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.proof: object expected");
+                                        throw TypeError(".org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.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.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.metadata: object expected");
+                                        throw TypeError(".org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.metadata: object expected");
                                     message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.fromObject(object.metadata);
                                 }
                                 return message;
                             };
 
                             /**
-                             * Creates a plain object from a GetIdentitiesTokenInfosResponseV0 message. Also converts values to other types if specified.
+                             * Creates a plain object from a GetTokenDirectPurchasePricesResponseV0 message. Also converts values to other types if specified.
                              * @function toObject
-                             * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0} message GetIdentitiesTokenInfosResponseV0
+                             * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0} message GetTokenDirectPurchasePricesResponseV0
                              * @param {$protobuf.IConversionOptions} [options] Conversion options
                              * @returns {Object.} Plain object
                              */
-                            GetIdentitiesTokenInfosResponseV0.toObject = function toObject(message, options) {
+                            GetTokenDirectPurchasePricesResponseV0.toObject = function toObject(message, options) {
                                 if (!options)
                                     options = {};
                                 var object = {};
                                 if (options.defaults)
                                     object.metadata = null;
-                                if (message.identityTokenInfos != null && message.hasOwnProperty("identityTokenInfos")) {
-                                    object.identityTokenInfos = $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos.toObject(message.identityTokenInfos, options);
+                                if (message.tokenDirectPurchasePrices != null && message.hasOwnProperty("tokenDirectPurchasePrices")) {
+                                    object.tokenDirectPurchasePrices = $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices.toObject(message.tokenDirectPurchasePrices, options);
                                     if (options.oneofs)
-                                        object.result = "identityTokenInfos";
+                                        object.result = "tokenDirectPurchasePrices";
                                 }
                                 if (message.proof != null && message.hasOwnProperty("proof")) {
                                     object.proof = $root.org.dash.platform.dapi.v0.Proof.toObject(message.proof, options);
@@ -49956,34 +56317,35 @@ $root.org = (function() {
                             };
 
                             /**
-                             * Converts this GetIdentitiesTokenInfosResponseV0 to JSON.
+                             * Converts this GetTokenDirectPurchasePricesResponseV0 to JSON.
                              * @function toJSON
-                             * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0
                              * @instance
                              * @returns {Object.} JSON object
                              */
-                            GetIdentitiesTokenInfosResponseV0.prototype.toJSON = function toJSON() {
+                            GetTokenDirectPurchasePricesResponseV0.prototype.toJSON = function toJSON() {
                                 return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
                             };
 
-                            GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry = (function() {
+                            GetTokenDirectPurchasePricesResponseV0.PriceForQuantity = (function() {
 
                                 /**
-                                 * Properties of a TokenIdentityInfoEntry.
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0
-                                 * @interface ITokenIdentityInfoEntry
-                                 * @property {boolean|null} [frozen] TokenIdentityInfoEntry frozen
+                                 * Properties of a PriceForQuantity.
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0
+                                 * @interface IPriceForQuantity
+                                 * @property {number|Long|null} [quantity] PriceForQuantity quantity
+                                 * @property {number|Long|null} [price] PriceForQuantity price
                                  */
 
                                 /**
-                                 * Constructs a new TokenIdentityInfoEntry.
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0
-                                 * @classdesc Represents a TokenIdentityInfoEntry.
-                                 * @implements ITokenIdentityInfoEntry
+                                 * Constructs a new PriceForQuantity.
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0
+                                 * @classdesc Represents a PriceForQuantity.
+                                 * @implements IPriceForQuantity
                                  * @constructor
-                                 * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.ITokenIdentityInfoEntry=} [properties] Properties to set
+                                 * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.IPriceForQuantity=} [properties] Properties to set
                                  */
-                                function TokenIdentityInfoEntry(properties) {
+                                function PriceForQuantity(properties) {
                                     if (properties)
                                         for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
                                             if (properties[keys[i]] != null)
@@ -49991,75 +56353,88 @@ $root.org = (function() {
                                 }
 
                                 /**
-                                 * TokenIdentityInfoEntry frozen.
-                                 * @member {boolean} frozen
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry
+                                 * PriceForQuantity quantity.
+                                 * @member {number|Long} quantity
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity
                                  * @instance
                                  */
-                                TokenIdentityInfoEntry.prototype.frozen = false;
+                                PriceForQuantity.prototype.quantity = $util.Long ? $util.Long.fromBits(0,0,true) : 0;
 
                                 /**
-                                 * Creates a new TokenIdentityInfoEntry instance using the specified properties.
+                                 * PriceForQuantity price.
+                                 * @member {number|Long} price
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity
+                                 * @instance
+                                 */
+                                PriceForQuantity.prototype.price = $util.Long ? $util.Long.fromBits(0,0,true) : 0;
+
+                                /**
+                                 * Creates a new PriceForQuantity instance using the specified properties.
                                  * @function create
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity
                                  * @static
-                                 * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.ITokenIdentityInfoEntry=} [properties] Properties to set
-                                 * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry} TokenIdentityInfoEntry instance
+                                 * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.IPriceForQuantity=} [properties] Properties to set
+                                 * @returns {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity} PriceForQuantity instance
                                  */
-                                TokenIdentityInfoEntry.create = function create(properties) {
-                                    return new TokenIdentityInfoEntry(properties);
+                                PriceForQuantity.create = function create(properties) {
+                                    return new PriceForQuantity(properties);
                                 };
 
                                 /**
-                                 * Encodes the specified TokenIdentityInfoEntry message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry.verify|verify} messages.
+                                 * Encodes the specified PriceForQuantity message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity.verify|verify} messages.
                                  * @function encode
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity
                                  * @static
-                                 * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.ITokenIdentityInfoEntry} message TokenIdentityInfoEntry message or plain object to encode
+                                 * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.IPriceForQuantity} message PriceForQuantity message or plain object to encode
                                  * @param {$protobuf.Writer} [writer] Writer to encode to
                                  * @returns {$protobuf.Writer} Writer
                                  */
-                                TokenIdentityInfoEntry.encode = function encode(message, writer) {
+                                PriceForQuantity.encode = function encode(message, writer) {
                                     if (!writer)
                                         writer = $Writer.create();
-                                    if (message.frozen != null && Object.hasOwnProperty.call(message, "frozen"))
-                                        writer.uint32(/* id 1, wireType 0 =*/8).bool(message.frozen);
+                                    if (message.quantity != null && Object.hasOwnProperty.call(message, "quantity"))
+                                        writer.uint32(/* id 1, wireType 0 =*/8).uint64(message.quantity);
+                                    if (message.price != null && Object.hasOwnProperty.call(message, "price"))
+                                        writer.uint32(/* id 2, wireType 0 =*/16).uint64(message.price);
                                     return writer;
                                 };
 
                                 /**
-                                 * Encodes the specified TokenIdentityInfoEntry message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry.verify|verify} messages.
+                                 * Encodes the specified PriceForQuantity message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity.verify|verify} messages.
                                  * @function encodeDelimited
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity
                                  * @static
-                                 * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.ITokenIdentityInfoEntry} message TokenIdentityInfoEntry message or plain object to encode
+                                 * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.IPriceForQuantity} message PriceForQuantity message or plain object to encode
                                  * @param {$protobuf.Writer} [writer] Writer to encode to
                                  * @returns {$protobuf.Writer} Writer
                                  */
-                                TokenIdentityInfoEntry.encodeDelimited = function encodeDelimited(message, writer) {
+                                PriceForQuantity.encodeDelimited = function encodeDelimited(message, writer) {
                                     return this.encode(message, writer).ldelim();
                                 };
 
                                 /**
-                                 * Decodes a TokenIdentityInfoEntry message from the specified reader or buffer.
+                                 * Decodes a PriceForQuantity message from the specified reader or buffer.
                                  * @function decode
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity
                                  * @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.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry} TokenIdentityInfoEntry
+                                 * @returns {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity} PriceForQuantity
                                  * @throws {Error} If the payload is not a reader or valid buffer
                                  * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                  */
-                                TokenIdentityInfoEntry.decode = function decode(reader, length) {
+                                PriceForQuantity.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.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry();
+                                    var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity();
                                     while (reader.pos < end) {
                                         var tag = reader.uint32();
                                         switch (tag >>> 3) {
                                         case 1:
-                                            message.frozen = reader.bool();
+                                            message.quantity = reader.uint64();
+                                            break;
+                                        case 2:
+                                            message.price = reader.uint64();
                                             break;
                                         default:
                                             reader.skipType(tag & 7);
@@ -50070,108 +56445,145 @@ $root.org = (function() {
                                 };
 
                                 /**
-                                 * Decodes a TokenIdentityInfoEntry message from the specified reader or buffer, length delimited.
+                                 * Decodes a PriceForQuantity message from the specified reader or buffer, length delimited.
                                  * @function decodeDelimited
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity
                                  * @static
                                  * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                                 * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry} TokenIdentityInfoEntry
+                                 * @returns {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity} PriceForQuantity
                                  * @throws {Error} If the payload is not a reader or valid buffer
                                  * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                  */
-                                TokenIdentityInfoEntry.decodeDelimited = function decodeDelimited(reader) {
+                                PriceForQuantity.decodeDelimited = function decodeDelimited(reader) {
                                     if (!(reader instanceof $Reader))
                                         reader = new $Reader(reader);
                                     return this.decode(reader, reader.uint32());
                                 };
 
                                 /**
-                                 * Verifies a TokenIdentityInfoEntry message.
+                                 * Verifies a PriceForQuantity message.
                                  * @function verify
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity
                                  * @static
                                  * @param {Object.} message Plain object to verify
                                  * @returns {string|null} `null` if valid, otherwise the reason why it is not
                                  */
-                                TokenIdentityInfoEntry.verify = function verify(message) {
+                                PriceForQuantity.verify = function verify(message) {
                                     if (typeof message !== "object" || message === null)
                                         return "object expected";
-                                    if (message.frozen != null && message.hasOwnProperty("frozen"))
-                                        if (typeof message.frozen !== "boolean")
-                                            return "frozen: boolean expected";
+                                    if (message.quantity != null && message.hasOwnProperty("quantity"))
+                                        if (!$util.isInteger(message.quantity) && !(message.quantity && $util.isInteger(message.quantity.low) && $util.isInteger(message.quantity.high)))
+                                            return "quantity: integer|Long expected";
+                                    if (message.price != null && message.hasOwnProperty("price"))
+                                        if (!$util.isInteger(message.price) && !(message.price && $util.isInteger(message.price.low) && $util.isInteger(message.price.high)))
+                                            return "price: integer|Long expected";
                                     return null;
                                 };
 
                                 /**
-                                 * Creates a TokenIdentityInfoEntry message from a plain object. Also converts values to their respective internal types.
+                                 * Creates a PriceForQuantity message from a plain object. Also converts values to their respective internal types.
                                  * @function fromObject
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity
                                  * @static
                                  * @param {Object.} object Plain object
-                                 * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry} TokenIdentityInfoEntry
+                                 * @returns {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity} PriceForQuantity
                                  */
-                                TokenIdentityInfoEntry.fromObject = function fromObject(object) {
-                                    if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry)
+                                PriceForQuantity.fromObject = function fromObject(object) {
+                                    if (object instanceof $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity)
                                         return object;
-                                    var message = new $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry();
-                                    if (object.frozen != null)
-                                        message.frozen = Boolean(object.frozen);
+                                    var message = new $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity();
+                                    if (object.quantity != null)
+                                        if ($util.Long)
+                                            (message.quantity = $util.Long.fromValue(object.quantity)).unsigned = true;
+                                        else if (typeof object.quantity === "string")
+                                            message.quantity = parseInt(object.quantity, 10);
+                                        else if (typeof object.quantity === "number")
+                                            message.quantity = object.quantity;
+                                        else if (typeof object.quantity === "object")
+                                            message.quantity = new $util.LongBits(object.quantity.low >>> 0, object.quantity.high >>> 0).toNumber(true);
+                                    if (object.price != null)
+                                        if ($util.Long)
+                                            (message.price = $util.Long.fromValue(object.price)).unsigned = true;
+                                        else if (typeof object.price === "string")
+                                            message.price = parseInt(object.price, 10);
+                                        else if (typeof object.price === "number")
+                                            message.price = object.price;
+                                        else if (typeof object.price === "object")
+                                            message.price = new $util.LongBits(object.price.low >>> 0, object.price.high >>> 0).toNumber(true);
                                     return message;
                                 };
 
                                 /**
-                                 * Creates a plain object from a TokenIdentityInfoEntry message. Also converts values to other types if specified.
+                                 * Creates a plain object from a PriceForQuantity message. Also converts values to other types if specified.
                                  * @function toObject
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity
                                  * @static
-                                 * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry} message TokenIdentityInfoEntry
+                                 * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity} message PriceForQuantity
                                  * @param {$protobuf.IConversionOptions} [options] Conversion options
                                  * @returns {Object.} Plain object
                                  */
-                                TokenIdentityInfoEntry.toObject = function toObject(message, options) {
+                                PriceForQuantity.toObject = function toObject(message, options) {
                                     if (!options)
                                         options = {};
                                     var object = {};
-                                    if (options.defaults)
-                                        object.frozen = false;
-                                    if (message.frozen != null && message.hasOwnProperty("frozen"))
-                                        object.frozen = message.frozen;
+                                    if (options.defaults) {
+                                        if ($util.Long) {
+                                            var long = new $util.Long(0, 0, true);
+                                            object.quantity = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;
+                                        } else
+                                            object.quantity = options.longs === String ? "0" : 0;
+                                        if ($util.Long) {
+                                            var long = new $util.Long(0, 0, true);
+                                            object.price = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;
+                                        } else
+                                            object.price = options.longs === String ? "0" : 0;
+                                    }
+                                    if (message.quantity != null && message.hasOwnProperty("quantity"))
+                                        if (typeof message.quantity === "number")
+                                            object.quantity = options.longs === String ? String(message.quantity) : message.quantity;
+                                        else
+                                            object.quantity = options.longs === String ? $util.Long.prototype.toString.call(message.quantity) : options.longs === Number ? new $util.LongBits(message.quantity.low >>> 0, message.quantity.high >>> 0).toNumber(true) : message.quantity;
+                                    if (message.price != null && message.hasOwnProperty("price"))
+                                        if (typeof message.price === "number")
+                                            object.price = options.longs === String ? String(message.price) : message.price;
+                                        else
+                                            object.price = options.longs === String ? $util.Long.prototype.toString.call(message.price) : options.longs === Number ? new $util.LongBits(message.price.low >>> 0, message.price.high >>> 0).toNumber(true) : message.price;
                                     return object;
                                 };
 
                                 /**
-                                 * Converts this TokenIdentityInfoEntry to JSON.
+                                 * Converts this PriceForQuantity to JSON.
                                  * @function toJSON
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity
                                  * @instance
                                  * @returns {Object.} JSON object
                                  */
-                                TokenIdentityInfoEntry.prototype.toJSON = function toJSON() {
+                                PriceForQuantity.prototype.toJSON = function toJSON() {
                                     return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
                                 };
 
-                                return TokenIdentityInfoEntry;
+                                return PriceForQuantity;
                             })();
 
-                            GetIdentitiesTokenInfosResponseV0.TokenInfoEntry = (function() {
+                            GetTokenDirectPurchasePricesResponseV0.PricingSchedule = (function() {
 
                                 /**
-                                 * Properties of a TokenInfoEntry.
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0
-                                 * @interface ITokenInfoEntry
-                                 * @property {Uint8Array|null} [identityId] TokenInfoEntry identityId
-                                 * @property {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.ITokenIdentityInfoEntry|null} [info] TokenInfoEntry info
+                                 * Properties of a PricingSchedule.
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0
+                                 * @interface IPricingSchedule
+                                 * @property {Array.|null} [priceForQuantity] PricingSchedule priceForQuantity
                                  */
 
                                 /**
-                                 * Constructs a new TokenInfoEntry.
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0
-                                 * @classdesc Represents a TokenInfoEntry.
-                                 * @implements ITokenInfoEntry
+                                 * Constructs a new PricingSchedule.
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0
+                                 * @classdesc Represents a PricingSchedule.
+                                 * @implements IPricingSchedule
                                  * @constructor
-                                 * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.ITokenInfoEntry=} [properties] Properties to set
+                                 * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.IPricingSchedule=} [properties] Properties to set
                                  */
-                                function TokenInfoEntry(properties) {
+                                function PricingSchedule(properties) {
+                                    this.priceForQuantity = [];
                                     if (properties)
                                         for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
                                             if (properties[keys[i]] != null)
@@ -50179,88 +56591,324 @@ $root.org = (function() {
                                 }
 
                                 /**
-                                 * TokenInfoEntry identityId.
-                                 * @member {Uint8Array} identityId
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry
+                                 * PricingSchedule priceForQuantity.
+                                 * @member {Array.} priceForQuantity
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule
                                  * @instance
                                  */
-                                TokenInfoEntry.prototype.identityId = $util.newBuffer([]);
+                                PricingSchedule.prototype.priceForQuantity = $util.emptyArray;
 
                                 /**
-                                 * TokenInfoEntry info.
-                                 * @member {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.ITokenIdentityInfoEntry|null|undefined} info
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry
+                                 * Creates a new PricingSchedule instance using the specified properties.
+                                 * @function create
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule
+                                 * @static
+                                 * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.IPricingSchedule=} [properties] Properties to set
+                                 * @returns {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule} PricingSchedule instance
+                                 */
+                                PricingSchedule.create = function create(properties) {
+                                    return new PricingSchedule(properties);
+                                };
+
+                                /**
+                                 * Encodes the specified PricingSchedule message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule.verify|verify} messages.
+                                 * @function encode
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule
+                                 * @static
+                                 * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.IPricingSchedule} message PricingSchedule message or plain object to encode
+                                 * @param {$protobuf.Writer} [writer] Writer to encode to
+                                 * @returns {$protobuf.Writer} Writer
+                                 */
+                                PricingSchedule.encode = function encode(message, writer) {
+                                    if (!writer)
+                                        writer = $Writer.create();
+                                    if (message.priceForQuantity != null && message.priceForQuantity.length)
+                                        for (var i = 0; i < message.priceForQuantity.length; ++i)
+                                            $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity.encode(message.priceForQuantity[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+                                    return writer;
+                                };
+
+                                /**
+                                 * Encodes the specified PricingSchedule message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule.verify|verify} messages.
+                                 * @function encodeDelimited
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule
+                                 * @static
+                                 * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.IPricingSchedule} message PricingSchedule message or plain object to encode
+                                 * @param {$protobuf.Writer} [writer] Writer to encode to
+                                 * @returns {$protobuf.Writer} Writer
+                                 */
+                                PricingSchedule.encodeDelimited = function encodeDelimited(message, writer) {
+                                    return this.encode(message, writer).ldelim();
+                                };
+
+                                /**
+                                 * Decodes a PricingSchedule message from the specified reader or buffer.
+                                 * @function decode
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule
+                                 * @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.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule} PricingSchedule
+                                 * @throws {Error} If the payload is not a reader or valid buffer
+                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
+                                 */
+                                PricingSchedule.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.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule();
+                                    while (reader.pos < end) {
+                                        var tag = reader.uint32();
+                                        switch (tag >>> 3) {
+                                        case 1:
+                                            if (!(message.priceForQuantity && message.priceForQuantity.length))
+                                                message.priceForQuantity = [];
+                                            message.priceForQuantity.push($root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity.decode(reader, reader.uint32()));
+                                            break;
+                                        default:
+                                            reader.skipType(tag & 7);
+                                            break;
+                                        }
+                                    }
+                                    return message;
+                                };
+
+                                /**
+                                 * Decodes a PricingSchedule message from the specified reader or buffer, length delimited.
+                                 * @function decodeDelimited
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule
+                                 * @static
+                                 * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+                                 * @returns {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule} PricingSchedule
+                                 * @throws {Error} If the payload is not a reader or valid buffer
+                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
+                                 */
+                                PricingSchedule.decodeDelimited = function decodeDelimited(reader) {
+                                    if (!(reader instanceof $Reader))
+                                        reader = new $Reader(reader);
+                                    return this.decode(reader, reader.uint32());
+                                };
+
+                                /**
+                                 * Verifies a PricingSchedule message.
+                                 * @function verify
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule
+                                 * @static
+                                 * @param {Object.} message Plain object to verify
+                                 * @returns {string|null} `null` if valid, otherwise the reason why it is not
+                                 */
+                                PricingSchedule.verify = function verify(message) {
+                                    if (typeof message !== "object" || message === null)
+                                        return "object expected";
+                                    if (message.priceForQuantity != null && message.hasOwnProperty("priceForQuantity")) {
+                                        if (!Array.isArray(message.priceForQuantity))
+                                            return "priceForQuantity: array expected";
+                                        for (var i = 0; i < message.priceForQuantity.length; ++i) {
+                                            var error = $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity.verify(message.priceForQuantity[i]);
+                                            if (error)
+                                                return "priceForQuantity." + error;
+                                        }
+                                    }
+                                    return null;
+                                };
+
+                                /**
+                                 * Creates a PricingSchedule message from a plain object. Also converts values to their respective internal types.
+                                 * @function fromObject
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule
+                                 * @static
+                                 * @param {Object.} object Plain object
+                                 * @returns {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule} PricingSchedule
+                                 */
+                                PricingSchedule.fromObject = function fromObject(object) {
+                                    if (object instanceof $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule)
+                                        return object;
+                                    var message = new $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule();
+                                    if (object.priceForQuantity) {
+                                        if (!Array.isArray(object.priceForQuantity))
+                                            throw TypeError(".org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule.priceForQuantity: array expected");
+                                        message.priceForQuantity = [];
+                                        for (var i = 0; i < object.priceForQuantity.length; ++i) {
+                                            if (typeof object.priceForQuantity[i] !== "object")
+                                                throw TypeError(".org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule.priceForQuantity: object expected");
+                                            message.priceForQuantity[i] = $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity.fromObject(object.priceForQuantity[i]);
+                                        }
+                                    }
+                                    return message;
+                                };
+
+                                /**
+                                 * Creates a plain object from a PricingSchedule message. Also converts values to other types if specified.
+                                 * @function toObject
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule
+                                 * @static
+                                 * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule} message PricingSchedule
+                                 * @param {$protobuf.IConversionOptions} [options] Conversion options
+                                 * @returns {Object.} Plain object
+                                 */
+                                PricingSchedule.toObject = function toObject(message, options) {
+                                    if (!options)
+                                        options = {};
+                                    var object = {};
+                                    if (options.arrays || options.defaults)
+                                        object.priceForQuantity = [];
+                                    if (message.priceForQuantity && message.priceForQuantity.length) {
+                                        object.priceForQuantity = [];
+                                        for (var j = 0; j < message.priceForQuantity.length; ++j)
+                                            object.priceForQuantity[j] = $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity.toObject(message.priceForQuantity[j], options);
+                                    }
+                                    return object;
+                                };
+
+                                /**
+                                 * Converts this PricingSchedule to JSON.
+                                 * @function toJSON
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule
                                  * @instance
+                                 * @returns {Object.} JSON object
                                  */
-                                TokenInfoEntry.prototype.info = null;
+                                PricingSchedule.prototype.toJSON = function toJSON() {
+                                    return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+                                };
+
+                                return PricingSchedule;
+                            })();
+
+                            GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry = (function() {
 
                                 /**
-                                 * Creates a new TokenInfoEntry instance using the specified properties.
+                                 * Properties of a TokenDirectPurchasePriceEntry.
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0
+                                 * @interface ITokenDirectPurchasePriceEntry
+                                 * @property {Uint8Array|null} [tokenId] TokenDirectPurchasePriceEntry tokenId
+                                 * @property {number|Long|null} [fixedPrice] TokenDirectPurchasePriceEntry fixedPrice
+                                 * @property {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.IPricingSchedule|null} [variablePrice] TokenDirectPurchasePriceEntry variablePrice
+                                 */
+
+                                /**
+                                 * Constructs a new TokenDirectPurchasePriceEntry.
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0
+                                 * @classdesc Represents a TokenDirectPurchasePriceEntry.
+                                 * @implements ITokenDirectPurchasePriceEntry
+                                 * @constructor
+                                 * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.ITokenDirectPurchasePriceEntry=} [properties] Properties to set
+                                 */
+                                function TokenDirectPurchasePriceEntry(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]];
+                                }
+
+                                /**
+                                 * TokenDirectPurchasePriceEntry tokenId.
+                                 * @member {Uint8Array} tokenId
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry
+                                 * @instance
+                                 */
+                                TokenDirectPurchasePriceEntry.prototype.tokenId = $util.newBuffer([]);
+
+                                /**
+                                 * TokenDirectPurchasePriceEntry fixedPrice.
+                                 * @member {number|Long} fixedPrice
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry
+                                 * @instance
+                                 */
+                                TokenDirectPurchasePriceEntry.prototype.fixedPrice = $util.Long ? $util.Long.fromBits(0,0,true) : 0;
+
+                                /**
+                                 * TokenDirectPurchasePriceEntry variablePrice.
+                                 * @member {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.IPricingSchedule|null|undefined} variablePrice
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry
+                                 * @instance
+                                 */
+                                TokenDirectPurchasePriceEntry.prototype.variablePrice = null;
+
+                                // OneOf field names bound to virtual getters and setters
+                                var $oneOfFields;
+
+                                /**
+                                 * TokenDirectPurchasePriceEntry price.
+                                 * @member {"fixedPrice"|"variablePrice"|undefined} price
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry
+                                 * @instance
+                                 */
+                                Object.defineProperty(TokenDirectPurchasePriceEntry.prototype, "price", {
+                                    get: $util.oneOfGetter($oneOfFields = ["fixedPrice", "variablePrice"]),
+                                    set: $util.oneOfSetter($oneOfFields)
+                                });
+
+                                /**
+                                 * Creates a new TokenDirectPurchasePriceEntry instance using the specified properties.
                                  * @function create
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry
                                  * @static
-                                 * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.ITokenInfoEntry=} [properties] Properties to set
-                                 * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry} TokenInfoEntry instance
+                                 * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.ITokenDirectPurchasePriceEntry=} [properties] Properties to set
+                                 * @returns {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry} TokenDirectPurchasePriceEntry instance
                                  */
-                                TokenInfoEntry.create = function create(properties) {
-                                    return new TokenInfoEntry(properties);
+                                TokenDirectPurchasePriceEntry.create = function create(properties) {
+                                    return new TokenDirectPurchasePriceEntry(properties);
                                 };
 
                                 /**
-                                 * Encodes the specified TokenInfoEntry message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry.verify|verify} messages.
+                                 * Encodes the specified TokenDirectPurchasePriceEntry message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.verify|verify} messages.
                                  * @function encode
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry
                                  * @static
-                                 * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.ITokenInfoEntry} message TokenInfoEntry message or plain object to encode
+                                 * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.ITokenDirectPurchasePriceEntry} message TokenDirectPurchasePriceEntry message or plain object to encode
                                  * @param {$protobuf.Writer} [writer] Writer to encode to
                                  * @returns {$protobuf.Writer} Writer
                                  */
-                                TokenInfoEntry.encode = function encode(message, writer) {
+                                TokenDirectPurchasePriceEntry.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.info != null && Object.hasOwnProperty.call(message, "info"))
-                                        $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry.encode(message.info, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+                                    if (message.tokenId != null && Object.hasOwnProperty.call(message, "tokenId"))
+                                        writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.tokenId);
+                                    if (message.fixedPrice != null && Object.hasOwnProperty.call(message, "fixedPrice"))
+                                        writer.uint32(/* id 2, wireType 0 =*/16).uint64(message.fixedPrice);
+                                    if (message.variablePrice != null && Object.hasOwnProperty.call(message, "variablePrice"))
+                                        $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule.encode(message.variablePrice, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
                                     return writer;
                                 };
 
                                 /**
-                                 * Encodes the specified TokenInfoEntry message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry.verify|verify} messages.
+                                 * Encodes the specified TokenDirectPurchasePriceEntry message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.verify|verify} messages.
                                  * @function encodeDelimited
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry
                                  * @static
-                                 * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.ITokenInfoEntry} message TokenInfoEntry message or plain object to encode
+                                 * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.ITokenDirectPurchasePriceEntry} message TokenDirectPurchasePriceEntry message or plain object to encode
                                  * @param {$protobuf.Writer} [writer] Writer to encode to
                                  * @returns {$protobuf.Writer} Writer
                                  */
-                                TokenInfoEntry.encodeDelimited = function encodeDelimited(message, writer) {
+                                TokenDirectPurchasePriceEntry.encodeDelimited = function encodeDelimited(message, writer) {
                                     return this.encode(message, writer).ldelim();
                                 };
 
                                 /**
-                                 * Decodes a TokenInfoEntry message from the specified reader or buffer.
+                                 * Decodes a TokenDirectPurchasePriceEntry message from the specified reader or buffer.
                                  * @function decode
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry
                                  * @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.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry} TokenInfoEntry
+                                 * @returns {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry} TokenDirectPurchasePriceEntry
                                  * @throws {Error} If the payload is not a reader or valid buffer
                                  * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                  */
-                                TokenInfoEntry.decode = function decode(reader, length) {
+                                TokenDirectPurchasePriceEntry.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.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry();
+                                    var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry();
                                     while (reader.pos < end) {
                                         var tag = reader.uint32();
                                         switch (tag >>> 3) {
                                         case 1:
-                                            message.identityId = reader.bytes();
+                                            message.tokenId = reader.bytes();
                                             break;
                                         case 2:
-                                            message.info = $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry.decode(reader, reader.uint32());
+                                            message.fixedPrice = reader.uint64();
+                                            break;
+                                        case 3:
+                                            message.variablePrice = $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule.decode(reader, reader.uint32());
                                             break;
                                         default:
                                             reader.skipType(tag & 7);
@@ -50271,131 +56919,160 @@ $root.org = (function() {
                                 };
 
                                 /**
-                                 * Decodes a TokenInfoEntry message from the specified reader or buffer, length delimited.
+                                 * Decodes a TokenDirectPurchasePriceEntry message from the specified reader or buffer, length delimited.
                                  * @function decodeDelimited
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry
                                  * @static
                                  * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                                 * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry} TokenInfoEntry
+                                 * @returns {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry} TokenDirectPurchasePriceEntry
                                  * @throws {Error} If the payload is not a reader or valid buffer
                                  * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                  */
-                                TokenInfoEntry.decodeDelimited = function decodeDelimited(reader) {
+                                TokenDirectPurchasePriceEntry.decodeDelimited = function decodeDelimited(reader) {
                                     if (!(reader instanceof $Reader))
                                         reader = new $Reader(reader);
                                     return this.decode(reader, reader.uint32());
                                 };
 
                                 /**
-                                 * Verifies a TokenInfoEntry message.
+                                 * Verifies a TokenDirectPurchasePriceEntry message.
                                  * @function verify
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry
                                  * @static
                                  * @param {Object.} message Plain object to verify
                                  * @returns {string|null} `null` if valid, otherwise the reason why it is not
                                  */
-                                TokenInfoEntry.verify = function verify(message) {
+                                TokenDirectPurchasePriceEntry.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.info != null && message.hasOwnProperty("info")) {
-                                        var error = $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry.verify(message.info);
-                                        if (error)
-                                            return "info." + error;
+                                    var properties = {};
+                                    if (message.tokenId != null && message.hasOwnProperty("tokenId"))
+                                        if (!(message.tokenId && typeof message.tokenId.length === "number" || $util.isString(message.tokenId)))
+                                            return "tokenId: buffer expected";
+                                    if (message.fixedPrice != null && message.hasOwnProperty("fixedPrice")) {
+                                        properties.price = 1;
+                                        if (!$util.isInteger(message.fixedPrice) && !(message.fixedPrice && $util.isInteger(message.fixedPrice.low) && $util.isInteger(message.fixedPrice.high)))
+                                            return "fixedPrice: integer|Long expected";
+                                    }
+                                    if (message.variablePrice != null && message.hasOwnProperty("variablePrice")) {
+                                        if (properties.price === 1)
+                                            return "price: multiple values";
+                                        properties.price = 1;
+                                        {
+                                            var error = $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule.verify(message.variablePrice);
+                                            if (error)
+                                                return "variablePrice." + error;
+                                        }
                                     }
                                     return null;
                                 };
 
                                 /**
-                                 * Creates a TokenInfoEntry message from a plain object. Also converts values to their respective internal types.
+                                 * Creates a TokenDirectPurchasePriceEntry message from a plain object. Also converts values to their respective internal types.
                                  * @function fromObject
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry
                                  * @static
                                  * @param {Object.} object Plain object
-                                 * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry} TokenInfoEntry
+                                 * @returns {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry} TokenDirectPurchasePriceEntry
                                  */
-                                TokenInfoEntry.fromObject = function fromObject(object) {
-                                    if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry)
+                                TokenDirectPurchasePriceEntry.fromObject = function fromObject(object) {
+                                    if (object instanceof $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry)
                                         return object;
-                                    var message = new $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry();
-                                    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.info != null) {
-                                        if (typeof object.info !== "object")
-                                            throw TypeError(".org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry.info: object expected");
-                                        message.info = $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry.fromObject(object.info);
+                                    var message = new $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry();
+                                    if (object.tokenId != null)
+                                        if (typeof object.tokenId === "string")
+                                            $util.base64.decode(object.tokenId, message.tokenId = $util.newBuffer($util.base64.length(object.tokenId)), 0);
+                                        else if (object.tokenId.length >= 0)
+                                            message.tokenId = object.tokenId;
+                                    if (object.fixedPrice != null)
+                                        if ($util.Long)
+                                            (message.fixedPrice = $util.Long.fromValue(object.fixedPrice)).unsigned = true;
+                                        else if (typeof object.fixedPrice === "string")
+                                            message.fixedPrice = parseInt(object.fixedPrice, 10);
+                                        else if (typeof object.fixedPrice === "number")
+                                            message.fixedPrice = object.fixedPrice;
+                                        else if (typeof object.fixedPrice === "object")
+                                            message.fixedPrice = new $util.LongBits(object.fixedPrice.low >>> 0, object.fixedPrice.high >>> 0).toNumber(true);
+                                    if (object.variablePrice != null) {
+                                        if (typeof object.variablePrice !== "object")
+                                            throw TypeError(".org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.variablePrice: object expected");
+                                        message.variablePrice = $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule.fromObject(object.variablePrice);
                                     }
                                     return message;
                                 };
 
                                 /**
-                                 * Creates a plain object from a TokenInfoEntry message. Also converts values to other types if specified.
+                                 * Creates a plain object from a TokenDirectPurchasePriceEntry message. Also converts values to other types if specified.
                                  * @function toObject
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry
                                  * @static
-                                 * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry} message TokenInfoEntry
+                                 * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry} message TokenDirectPurchasePriceEntry
                                  * @param {$protobuf.IConversionOptions} [options] Conversion options
                                  * @returns {Object.} Plain object
                                  */
-                                TokenInfoEntry.toObject = function toObject(message, options) {
+                                TokenDirectPurchasePriceEntry.toObject = function toObject(message, options) {
                                     if (!options)
                                         options = {};
                                     var object = {};
-                                    if (options.defaults) {
+                                    if (options.defaults)
                                         if (options.bytes === String)
-                                            object.identityId = "";
+                                            object.tokenId = "";
                                         else {
-                                            object.identityId = [];
+                                            object.tokenId = [];
                                             if (options.bytes !== Array)
-                                                object.identityId = $util.newBuffer(object.identityId);
+                                                object.tokenId = $util.newBuffer(object.tokenId);
                                         }
-                                        object.info = null;
+                                    if (message.tokenId != null && message.hasOwnProperty("tokenId"))
+                                        object.tokenId = options.bytes === String ? $util.base64.encode(message.tokenId, 0, message.tokenId.length) : options.bytes === Array ? Array.prototype.slice.call(message.tokenId) : message.tokenId;
+                                    if (message.fixedPrice != null && message.hasOwnProperty("fixedPrice")) {
+                                        if (typeof message.fixedPrice === "number")
+                                            object.fixedPrice = options.longs === String ? String(message.fixedPrice) : message.fixedPrice;
+                                        else
+                                            object.fixedPrice = options.longs === String ? $util.Long.prototype.toString.call(message.fixedPrice) : options.longs === Number ? new $util.LongBits(message.fixedPrice.low >>> 0, message.fixedPrice.high >>> 0).toNumber(true) : message.fixedPrice;
+                                        if (options.oneofs)
+                                            object.price = "fixedPrice";
+                                    }
+                                    if (message.variablePrice != null && message.hasOwnProperty("variablePrice")) {
+                                        object.variablePrice = $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule.toObject(message.variablePrice, options);
+                                        if (options.oneofs)
+                                            object.price = "variablePrice";
                                     }
-                                    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.info != null && message.hasOwnProperty("info"))
-                                        object.info = $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry.toObject(message.info, options);
                                     return object;
                                 };
 
                                 /**
-                                 * Converts this TokenInfoEntry to JSON.
+                                 * Converts this TokenDirectPurchasePriceEntry to JSON.
                                  * @function toJSON
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry
                                  * @instance
                                  * @returns {Object.} JSON object
                                  */
-                                TokenInfoEntry.prototype.toJSON = function toJSON() {
+                                TokenDirectPurchasePriceEntry.prototype.toJSON = function toJSON() {
                                     return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
                                 };
 
-                                return TokenInfoEntry;
+                                return TokenDirectPurchasePriceEntry;
                             })();
 
-                            GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos = (function() {
+                            GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices = (function() {
 
                                 /**
-                                 * Properties of an IdentityTokenInfos.
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0
-                                 * @interface IIdentityTokenInfos
-                                 * @property {Array.|null} [tokenInfos] IdentityTokenInfos tokenInfos
+                                 * Properties of a TokenDirectPurchasePrices.
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0
+                                 * @interface ITokenDirectPurchasePrices
+                                 * @property {Array.|null} [tokenDirectPurchasePrice] TokenDirectPurchasePrices tokenDirectPurchasePrice
                                  */
 
                                 /**
-                                 * Constructs a new IdentityTokenInfos.
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0
-                                 * @classdesc Represents an IdentityTokenInfos.
-                                 * @implements IIdentityTokenInfos
+                                 * Constructs a new TokenDirectPurchasePrices.
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0
+                                 * @classdesc Represents a TokenDirectPurchasePrices.
+                                 * @implements ITokenDirectPurchasePrices
                                  * @constructor
-                                 * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IIdentityTokenInfos=} [properties] Properties to set
+                                 * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.ITokenDirectPurchasePrices=} [properties] Properties to set
                                  */
-                                function IdentityTokenInfos(properties) {
-                                    this.tokenInfos = [];
+                                function TokenDirectPurchasePrices(properties) {
+                                    this.tokenDirectPurchasePrice = [];
                                     if (properties)
                                         for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
                                             if (properties[keys[i]] != null)
@@ -50403,78 +57080,78 @@ $root.org = (function() {
                                 }
 
                                 /**
-                                 * IdentityTokenInfos tokenInfos.
-                                 * @member {Array.} tokenInfos
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos
+                                 * TokenDirectPurchasePrices tokenDirectPurchasePrice.
+                                 * @member {Array.} tokenDirectPurchasePrice
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices
                                  * @instance
                                  */
-                                IdentityTokenInfos.prototype.tokenInfos = $util.emptyArray;
+                                TokenDirectPurchasePrices.prototype.tokenDirectPurchasePrice = $util.emptyArray;
 
                                 /**
-                                 * Creates a new IdentityTokenInfos instance using the specified properties.
+                                 * Creates a new TokenDirectPurchasePrices instance using the specified properties.
                                  * @function create
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices
                                  * @static
-                                 * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IIdentityTokenInfos=} [properties] Properties to set
-                                 * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos} IdentityTokenInfos instance
+                                 * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.ITokenDirectPurchasePrices=} [properties] Properties to set
+                                 * @returns {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices} TokenDirectPurchasePrices instance
                                  */
-                                IdentityTokenInfos.create = function create(properties) {
-                                    return new IdentityTokenInfos(properties);
+                                TokenDirectPurchasePrices.create = function create(properties) {
+                                    return new TokenDirectPurchasePrices(properties);
                                 };
 
                                 /**
-                                 * Encodes the specified IdentityTokenInfos message. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos.verify|verify} messages.
+                                 * Encodes the specified TokenDirectPurchasePrices message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices.verify|verify} messages.
                                  * @function encode
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices
                                  * @static
-                                 * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IIdentityTokenInfos} message IdentityTokenInfos message or plain object to encode
+                                 * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.ITokenDirectPurchasePrices} message TokenDirectPurchasePrices message or plain object to encode
                                  * @param {$protobuf.Writer} [writer] Writer to encode to
                                  * @returns {$protobuf.Writer} Writer
                                  */
-                                IdentityTokenInfos.encode = function encode(message, writer) {
+                                TokenDirectPurchasePrices.encode = function encode(message, writer) {
                                     if (!writer)
                                         writer = $Writer.create();
-                                    if (message.tokenInfos != null && message.tokenInfos.length)
-                                        for (var i = 0; i < message.tokenInfos.length; ++i)
-                                            $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry.encode(message.tokenInfos[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+                                    if (message.tokenDirectPurchasePrice != null && message.tokenDirectPurchasePrice.length)
+                                        for (var i = 0; i < message.tokenDirectPurchasePrice.length; ++i)
+                                            $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.encode(message.tokenDirectPurchasePrice[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
                                     return writer;
                                 };
 
                                 /**
-                                 * Encodes the specified IdentityTokenInfos message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos.verify|verify} messages.
+                                 * Encodes the specified TokenDirectPurchasePrices message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices.verify|verify} messages.
                                  * @function encodeDelimited
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices
                                  * @static
-                                 * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IIdentityTokenInfos} message IdentityTokenInfos message or plain object to encode
+                                 * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.ITokenDirectPurchasePrices} message TokenDirectPurchasePrices message or plain object to encode
                                  * @param {$protobuf.Writer} [writer] Writer to encode to
                                  * @returns {$protobuf.Writer} Writer
                                  */
-                                IdentityTokenInfos.encodeDelimited = function encodeDelimited(message, writer) {
+                                TokenDirectPurchasePrices.encodeDelimited = function encodeDelimited(message, writer) {
                                     return this.encode(message, writer).ldelim();
                                 };
 
                                 /**
-                                 * Decodes an IdentityTokenInfos message from the specified reader or buffer.
+                                 * Decodes a TokenDirectPurchasePrices message from the specified reader or buffer.
                                  * @function decode
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices
                                  * @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.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos} IdentityTokenInfos
+                                 * @returns {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices} TokenDirectPurchasePrices
                                  * @throws {Error} If the payload is not a reader or valid buffer
                                  * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                  */
-                                IdentityTokenInfos.decode = function decode(reader, length) {
+                                TokenDirectPurchasePrices.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.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos();
+                                    var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices();
                                     while (reader.pos < end) {
                                         var tag = reader.uint32();
                                         switch (tag >>> 3) {
                                         case 1:
-                                            if (!(message.tokenInfos && message.tokenInfos.length))
-                                                message.tokenInfos = [];
-                                            message.tokenInfos.push($root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry.decode(reader, reader.uint32()));
+                                            if (!(message.tokenDirectPurchasePrice && message.tokenDirectPurchasePrice.length))
+                                                message.tokenDirectPurchasePrice = [];
+                                            message.tokenDirectPurchasePrice.push($root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.decode(reader, reader.uint32()));
                                             break;
                                         default:
                                             reader.skipType(tag & 7);
@@ -50485,130 +57162,560 @@ $root.org = (function() {
                                 };
 
                                 /**
-                                 * Decodes an IdentityTokenInfos message from the specified reader or buffer, length delimited.
+                                 * Decodes a TokenDirectPurchasePrices message from the specified reader or buffer, length delimited.
                                  * @function decodeDelimited
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices
                                  * @static
                                  * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                                 * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos} IdentityTokenInfos
+                                 * @returns {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices} TokenDirectPurchasePrices
                                  * @throws {Error} If the payload is not a reader or valid buffer
                                  * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                  */
-                                IdentityTokenInfos.decodeDelimited = function decodeDelimited(reader) {
+                                TokenDirectPurchasePrices.decodeDelimited = function decodeDelimited(reader) {
                                     if (!(reader instanceof $Reader))
                                         reader = new $Reader(reader);
                                     return this.decode(reader, reader.uint32());
                                 };
 
-                                /**
-                                 * Verifies an IdentityTokenInfos message.
-                                 * @function verify
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos
-                                 * @static
-                                 * @param {Object.} message Plain object to verify
-                                 * @returns {string|null} `null` if valid, otherwise the reason why it is not
-                                 */
-                                IdentityTokenInfos.verify = function verify(message) {
-                                    if (typeof message !== "object" || message === null)
-                                        return "object expected";
-                                    if (message.tokenInfos != null && message.hasOwnProperty("tokenInfos")) {
-                                        if (!Array.isArray(message.tokenInfos))
-                                            return "tokenInfos: array expected";
-                                        for (var i = 0; i < message.tokenInfos.length; ++i) {
-                                            var error = $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry.verify(message.tokenInfos[i]);
-                                            if (error)
-                                                return "tokenInfos." + error;
-                                        }
-                                    }
-                                    return null;
-                                };
+                                /**
+                                 * Verifies a TokenDirectPurchasePrices message.
+                                 * @function verify
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices
+                                 * @static
+                                 * @param {Object.} message Plain object to verify
+                                 * @returns {string|null} `null` if valid, otherwise the reason why it is not
+                                 */
+                                TokenDirectPurchasePrices.verify = function verify(message) {
+                                    if (typeof message !== "object" || message === null)
+                                        return "object expected";
+                                    if (message.tokenDirectPurchasePrice != null && message.hasOwnProperty("tokenDirectPurchasePrice")) {
+                                        if (!Array.isArray(message.tokenDirectPurchasePrice))
+                                            return "tokenDirectPurchasePrice: array expected";
+                                        for (var i = 0; i < message.tokenDirectPurchasePrice.length; ++i) {
+                                            var error = $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.verify(message.tokenDirectPurchasePrice[i]);
+                                            if (error)
+                                                return "tokenDirectPurchasePrice." + error;
+                                        }
+                                    }
+                                    return null;
+                                };
+
+                                /**
+                                 * Creates a TokenDirectPurchasePrices message from a plain object. Also converts values to their respective internal types.
+                                 * @function fromObject
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices
+                                 * @static
+                                 * @param {Object.} object Plain object
+                                 * @returns {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices} TokenDirectPurchasePrices
+                                 */
+                                TokenDirectPurchasePrices.fromObject = function fromObject(object) {
+                                    if (object instanceof $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices)
+                                        return object;
+                                    var message = new $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices();
+                                    if (object.tokenDirectPurchasePrice) {
+                                        if (!Array.isArray(object.tokenDirectPurchasePrice))
+                                            throw TypeError(".org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices.tokenDirectPurchasePrice: array expected");
+                                        message.tokenDirectPurchasePrice = [];
+                                        for (var i = 0; i < object.tokenDirectPurchasePrice.length; ++i) {
+                                            if (typeof object.tokenDirectPurchasePrice[i] !== "object")
+                                                throw TypeError(".org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices.tokenDirectPurchasePrice: object expected");
+                                            message.tokenDirectPurchasePrice[i] = $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.fromObject(object.tokenDirectPurchasePrice[i]);
+                                        }
+                                    }
+                                    return message;
+                                };
+
+                                /**
+                                 * Creates a plain object from a TokenDirectPurchasePrices message. Also converts values to other types if specified.
+                                 * @function toObject
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices
+                                 * @static
+                                 * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices} message TokenDirectPurchasePrices
+                                 * @param {$protobuf.IConversionOptions} [options] Conversion options
+                                 * @returns {Object.} Plain object
+                                 */
+                                TokenDirectPurchasePrices.toObject = function toObject(message, options) {
+                                    if (!options)
+                                        options = {};
+                                    var object = {};
+                                    if (options.arrays || options.defaults)
+                                        object.tokenDirectPurchasePrice = [];
+                                    if (message.tokenDirectPurchasePrice && message.tokenDirectPurchasePrice.length) {
+                                        object.tokenDirectPurchasePrice = [];
+                                        for (var j = 0; j < message.tokenDirectPurchasePrice.length; ++j)
+                                            object.tokenDirectPurchasePrice[j] = $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.toObject(message.tokenDirectPurchasePrice[j], options);
+                                    }
+                                    return object;
+                                };
+
+                                /**
+                                 * Converts this TokenDirectPurchasePrices to JSON.
+                                 * @function toJSON
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices
+                                 * @instance
+                                 * @returns {Object.} JSON object
+                                 */
+                                TokenDirectPurchasePrices.prototype.toJSON = function toJSON() {
+                                    return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+                                };
+
+                                return TokenDirectPurchasePrices;
+                            })();
+
+                            return GetTokenDirectPurchasePricesResponseV0;
+                        })();
+
+                        return GetTokenDirectPurchasePricesResponse;
+                    })();
+
+                    v0.GetTokenContractInfoRequest = (function() {
+
+                        /**
+                         * Properties of a GetTokenContractInfoRequest.
+                         * @memberof org.dash.platform.dapi.v0
+                         * @interface IGetTokenContractInfoRequest
+                         * @property {org.dash.platform.dapi.v0.GetTokenContractInfoRequest.IGetTokenContractInfoRequestV0|null} [v0] GetTokenContractInfoRequest v0
+                         */
+
+                        /**
+                         * Constructs a new GetTokenContractInfoRequest.
+                         * @memberof org.dash.platform.dapi.v0
+                         * @classdesc Represents a GetTokenContractInfoRequest.
+                         * @implements IGetTokenContractInfoRequest
+                         * @constructor
+                         * @param {org.dash.platform.dapi.v0.IGetTokenContractInfoRequest=} [properties] Properties to set
+                         */
+                        function GetTokenContractInfoRequest(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]];
+                        }
+
+                        /**
+                         * GetTokenContractInfoRequest v0.
+                         * @member {org.dash.platform.dapi.v0.GetTokenContractInfoRequest.IGetTokenContractInfoRequestV0|null|undefined} v0
+                         * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoRequest
+                         * @instance
+                         */
+                        GetTokenContractInfoRequest.prototype.v0 = null;
+
+                        // OneOf field names bound to virtual getters and setters
+                        var $oneOfFields;
+
+                        /**
+                         * GetTokenContractInfoRequest version.
+                         * @member {"v0"|undefined} version
+                         * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoRequest
+                         * @instance
+                         */
+                        Object.defineProperty(GetTokenContractInfoRequest.prototype, "version", {
+                            get: $util.oneOfGetter($oneOfFields = ["v0"]),
+                            set: $util.oneOfSetter($oneOfFields)
+                        });
+
+                        /**
+                         * Creates a new GetTokenContractInfoRequest instance using the specified properties.
+                         * @function create
+                         * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoRequest
+                         * @static
+                         * @param {org.dash.platform.dapi.v0.IGetTokenContractInfoRequest=} [properties] Properties to set
+                         * @returns {org.dash.platform.dapi.v0.GetTokenContractInfoRequest} GetTokenContractInfoRequest instance
+                         */
+                        GetTokenContractInfoRequest.create = function create(properties) {
+                            return new GetTokenContractInfoRequest(properties);
+                        };
+
+                        /**
+                         * Encodes the specified GetTokenContractInfoRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenContractInfoRequest.verify|verify} messages.
+                         * @function encode
+                         * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoRequest
+                         * @static
+                         * @param {org.dash.platform.dapi.v0.IGetTokenContractInfoRequest} message GetTokenContractInfoRequest message or plain object to encode
+                         * @param {$protobuf.Writer} [writer] Writer to encode to
+                         * @returns {$protobuf.Writer} Writer
+                         */
+                        GetTokenContractInfoRequest.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.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+                            return writer;
+                        };
+
+                        /**
+                         * Encodes the specified GetTokenContractInfoRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenContractInfoRequest.verify|verify} messages.
+                         * @function encodeDelimited
+                         * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoRequest
+                         * @static
+                         * @param {org.dash.platform.dapi.v0.IGetTokenContractInfoRequest} message GetTokenContractInfoRequest message or plain object to encode
+                         * @param {$protobuf.Writer} [writer] Writer to encode to
+                         * @returns {$protobuf.Writer} Writer
+                         */
+                        GetTokenContractInfoRequest.encodeDelimited = function encodeDelimited(message, writer) {
+                            return this.encode(message, writer).ldelim();
+                        };
+
+                        /**
+                         * Decodes a GetTokenContractInfoRequest message from the specified reader or buffer.
+                         * @function decode
+                         * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoRequest
+                         * @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.GetTokenContractInfoRequest} GetTokenContractInfoRequest
+                         * @throws {Error} If the payload is not a reader or valid buffer
+                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
+                         */
+                        GetTokenContractInfoRequest.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.GetTokenContractInfoRequest();
+                            while (reader.pos < end) {
+                                var tag = reader.uint32();
+                                switch (tag >>> 3) {
+                                case 1:
+                                    message.v0 = $root.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0.decode(reader, reader.uint32());
+                                    break;
+                                default:
+                                    reader.skipType(tag & 7);
+                                    break;
+                                }
+                            }
+                            return message;
+                        };
+
+                        /**
+                         * Decodes a GetTokenContractInfoRequest message from the specified reader or buffer, length delimited.
+                         * @function decodeDelimited
+                         * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoRequest
+                         * @static
+                         * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+                         * @returns {org.dash.platform.dapi.v0.GetTokenContractInfoRequest} GetTokenContractInfoRequest
+                         * @throws {Error} If the payload is not a reader or valid buffer
+                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
+                         */
+                        GetTokenContractInfoRequest.decodeDelimited = function decodeDelimited(reader) {
+                            if (!(reader instanceof $Reader))
+                                reader = new $Reader(reader);
+                            return this.decode(reader, reader.uint32());
+                        };
+
+                        /**
+                         * Verifies a GetTokenContractInfoRequest message.
+                         * @function verify
+                         * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoRequest
+                         * @static
+                         * @param {Object.} message Plain object to verify
+                         * @returns {string|null} `null` if valid, otherwise the reason why it is not
+                         */
+                        GetTokenContractInfoRequest.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.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0.verify(message.v0);
+                                    if (error)
+                                        return "v0." + error;
+                                }
+                            }
+                            return null;
+                        };
+
+                        /**
+                         * Creates a GetTokenContractInfoRequest message from a plain object. Also converts values to their respective internal types.
+                         * @function fromObject
+                         * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoRequest
+                         * @static
+                         * @param {Object.} object Plain object
+                         * @returns {org.dash.platform.dapi.v0.GetTokenContractInfoRequest} GetTokenContractInfoRequest
+                         */
+                        GetTokenContractInfoRequest.fromObject = function fromObject(object) {
+                            if (object instanceof $root.org.dash.platform.dapi.v0.GetTokenContractInfoRequest)
+                                return object;
+                            var message = new $root.org.dash.platform.dapi.v0.GetTokenContractInfoRequest();
+                            if (object.v0 != null) {
+                                if (typeof object.v0 !== "object")
+                                    throw TypeError(".org.dash.platform.dapi.v0.GetTokenContractInfoRequest.v0: object expected");
+                                message.v0 = $root.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0.fromObject(object.v0);
+                            }
+                            return message;
+                        };
+
+                        /**
+                         * Creates a plain object from a GetTokenContractInfoRequest message. Also converts values to other types if specified.
+                         * @function toObject
+                         * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoRequest
+                         * @static
+                         * @param {org.dash.platform.dapi.v0.GetTokenContractInfoRequest} message GetTokenContractInfoRequest
+                         * @param {$protobuf.IConversionOptions} [options] Conversion options
+                         * @returns {Object.} Plain object
+                         */
+                        GetTokenContractInfoRequest.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.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0.toObject(message.v0, options);
+                                if (options.oneofs)
+                                    object.version = "v0";
+                            }
+                            return object;
+                        };
+
+                        /**
+                         * Converts this GetTokenContractInfoRequest to JSON.
+                         * @function toJSON
+                         * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoRequest
+                         * @instance
+                         * @returns {Object.} JSON object
+                         */
+                        GetTokenContractInfoRequest.prototype.toJSON = function toJSON() {
+                            return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+                        };
+
+                        GetTokenContractInfoRequest.GetTokenContractInfoRequestV0 = (function() {
+
+                            /**
+                             * Properties of a GetTokenContractInfoRequestV0.
+                             * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoRequest
+                             * @interface IGetTokenContractInfoRequestV0
+                             * @property {Uint8Array|null} [tokenId] GetTokenContractInfoRequestV0 tokenId
+                             * @property {boolean|null} [prove] GetTokenContractInfoRequestV0 prove
+                             */
+
+                            /**
+                             * Constructs a new GetTokenContractInfoRequestV0.
+                             * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoRequest
+                             * @classdesc Represents a GetTokenContractInfoRequestV0.
+                             * @implements IGetTokenContractInfoRequestV0
+                             * @constructor
+                             * @param {org.dash.platform.dapi.v0.GetTokenContractInfoRequest.IGetTokenContractInfoRequestV0=} [properties] Properties to set
+                             */
+                            function GetTokenContractInfoRequestV0(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]];
+                            }
+
+                            /**
+                             * GetTokenContractInfoRequestV0 tokenId.
+                             * @member {Uint8Array} tokenId
+                             * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0
+                             * @instance
+                             */
+                            GetTokenContractInfoRequestV0.prototype.tokenId = $util.newBuffer([]);
+
+                            /**
+                             * GetTokenContractInfoRequestV0 prove.
+                             * @member {boolean} prove
+                             * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0
+                             * @instance
+                             */
+                            GetTokenContractInfoRequestV0.prototype.prove = false;
+
+                            /**
+                             * Creates a new GetTokenContractInfoRequestV0 instance using the specified properties.
+                             * @function create
+                             * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0
+                             * @static
+                             * @param {org.dash.platform.dapi.v0.GetTokenContractInfoRequest.IGetTokenContractInfoRequestV0=} [properties] Properties to set
+                             * @returns {org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0} GetTokenContractInfoRequestV0 instance
+                             */
+                            GetTokenContractInfoRequestV0.create = function create(properties) {
+                                return new GetTokenContractInfoRequestV0(properties);
+                            };
+
+                            /**
+                             * Encodes the specified GetTokenContractInfoRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0.verify|verify} messages.
+                             * @function encode
+                             * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0
+                             * @static
+                             * @param {org.dash.platform.dapi.v0.GetTokenContractInfoRequest.IGetTokenContractInfoRequestV0} message GetTokenContractInfoRequestV0 message or plain object to encode
+                             * @param {$protobuf.Writer} [writer] Writer to encode to
+                             * @returns {$protobuf.Writer} Writer
+                             */
+                            GetTokenContractInfoRequestV0.encode = function encode(message, writer) {
+                                if (!writer)
+                                    writer = $Writer.create();
+                                if (message.tokenId != null && Object.hasOwnProperty.call(message, "tokenId"))
+                                    writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.tokenId);
+                                if (message.prove != null && Object.hasOwnProperty.call(message, "prove"))
+                                    writer.uint32(/* id 2, wireType 0 =*/16).bool(message.prove);
+                                return writer;
+                            };
+
+                            /**
+                             * Encodes the specified GetTokenContractInfoRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0.verify|verify} messages.
+                             * @function encodeDelimited
+                             * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0
+                             * @static
+                             * @param {org.dash.platform.dapi.v0.GetTokenContractInfoRequest.IGetTokenContractInfoRequestV0} message GetTokenContractInfoRequestV0 message or plain object to encode
+                             * @param {$protobuf.Writer} [writer] Writer to encode to
+                             * @returns {$protobuf.Writer} Writer
+                             */
+                            GetTokenContractInfoRequestV0.encodeDelimited = function encodeDelimited(message, writer) {
+                                return this.encode(message, writer).ldelim();
+                            };
 
-                                /**
-                                 * Creates an IdentityTokenInfos message from a plain object. Also converts values to their respective internal types.
-                                 * @function fromObject
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos
-                                 * @static
-                                 * @param {Object.} object Plain object
-                                 * @returns {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos} IdentityTokenInfos
-                                 */
-                                IdentityTokenInfos.fromObject = function fromObject(object) {
-                                    if (object instanceof $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos)
-                                        return object;
-                                    var message = new $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos();
-                                    if (object.tokenInfos) {
-                                        if (!Array.isArray(object.tokenInfos))
-                                            throw TypeError(".org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos.tokenInfos: array expected");
-                                        message.tokenInfos = [];
-                                        for (var i = 0; i < object.tokenInfos.length; ++i) {
-                                            if (typeof object.tokenInfos[i] !== "object")
-                                                throw TypeError(".org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos.tokenInfos: object expected");
-                                            message.tokenInfos[i] = $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry.fromObject(object.tokenInfos[i]);
-                                        }
+                            /**
+                             * Decodes a GetTokenContractInfoRequestV0 message from the specified reader or buffer.
+                             * @function decode
+                             * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0
+                             * @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.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0} GetTokenContractInfoRequestV0
+                             * @throws {Error} If the payload is not a reader or valid buffer
+                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
+                             */
+                            GetTokenContractInfoRequestV0.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.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0();
+                                while (reader.pos < end) {
+                                    var tag = reader.uint32();
+                                    switch (tag >>> 3) {
+                                    case 1:
+                                        message.tokenId = reader.bytes();
+                                        break;
+                                    case 2:
+                                        message.prove = reader.bool();
+                                        break;
+                                    default:
+                                        reader.skipType(tag & 7);
+                                        break;
                                     }
-                                    return message;
-                                };
+                                }
+                                return message;
+                            };
 
-                                /**
-                                 * Creates a plain object from an IdentityTokenInfos message. Also converts values to other types if specified.
-                                 * @function toObject
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos
-                                 * @static
-                                 * @param {org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos} message IdentityTokenInfos
-                                 * @param {$protobuf.IConversionOptions} [options] Conversion options
-                                 * @returns {Object.} Plain object
-                                 */
-                                IdentityTokenInfos.toObject = function toObject(message, options) {
-                                    if (!options)
-                                        options = {};
-                                    var object = {};
-                                    if (options.arrays || options.defaults)
-                                        object.tokenInfos = [];
-                                    if (message.tokenInfos && message.tokenInfos.length) {
-                                        object.tokenInfos = [];
-                                        for (var j = 0; j < message.tokenInfos.length; ++j)
-                                            object.tokenInfos[j] = $root.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry.toObject(message.tokenInfos[j], options);
-                                    }
+                            /**
+                             * Decodes a GetTokenContractInfoRequestV0 message from the specified reader or buffer, length delimited.
+                             * @function decodeDelimited
+                             * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0
+                             * @static
+                             * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+                             * @returns {org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0} GetTokenContractInfoRequestV0
+                             * @throws {Error} If the payload is not a reader or valid buffer
+                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
+                             */
+                            GetTokenContractInfoRequestV0.decodeDelimited = function decodeDelimited(reader) {
+                                if (!(reader instanceof $Reader))
+                                    reader = new $Reader(reader);
+                                return this.decode(reader, reader.uint32());
+                            };
+
+                            /**
+                             * Verifies a GetTokenContractInfoRequestV0 message.
+                             * @function verify
+                             * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0
+                             * @static
+                             * @param {Object.} message Plain object to verify
+                             * @returns {string|null} `null` if valid, otherwise the reason why it is not
+                             */
+                            GetTokenContractInfoRequestV0.verify = function verify(message) {
+                                if (typeof message !== "object" || message === null)
+                                    return "object expected";
+                                if (message.tokenId != null && message.hasOwnProperty("tokenId"))
+                                    if (!(message.tokenId && typeof message.tokenId.length === "number" || $util.isString(message.tokenId)))
+                                        return "tokenId: buffer expected";
+                                if (message.prove != null && message.hasOwnProperty("prove"))
+                                    if (typeof message.prove !== "boolean")
+                                        return "prove: boolean expected";
+                                return null;
+                            };
+
+                            /**
+                             * Creates a GetTokenContractInfoRequestV0 message from a plain object. Also converts values to their respective internal types.
+                             * @function fromObject
+                             * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0
+                             * @static
+                             * @param {Object.} object Plain object
+                             * @returns {org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0} GetTokenContractInfoRequestV0
+                             */
+                            GetTokenContractInfoRequestV0.fromObject = function fromObject(object) {
+                                if (object instanceof $root.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0)
                                     return object;
-                                };
+                                var message = new $root.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0();
+                                if (object.tokenId != null)
+                                    if (typeof object.tokenId === "string")
+                                        $util.base64.decode(object.tokenId, message.tokenId = $util.newBuffer($util.base64.length(object.tokenId)), 0);
+                                    else if (object.tokenId.length >= 0)
+                                        message.tokenId = object.tokenId;
+                                if (object.prove != null)
+                                    message.prove = Boolean(object.prove);
+                                return message;
+                            };
 
-                                /**
-                                 * Converts this IdentityTokenInfos to JSON.
-                                 * @function toJSON
-                                 * @memberof org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos
-                                 * @instance
-                                 * @returns {Object.} JSON object
-                                 */
-                                IdentityTokenInfos.prototype.toJSON = function toJSON() {
-                                    return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
-                                };
+                            /**
+                             * Creates a plain object from a GetTokenContractInfoRequestV0 message. Also converts values to other types if specified.
+                             * @function toObject
+                             * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0
+                             * @static
+                             * @param {org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0} message GetTokenContractInfoRequestV0
+                             * @param {$protobuf.IConversionOptions} [options] Conversion options
+                             * @returns {Object.} Plain object
+                             */
+                            GetTokenContractInfoRequestV0.toObject = function toObject(message, options) {
+                                if (!options)
+                                    options = {};
+                                var object = {};
+                                if (options.defaults) {
+                                    if (options.bytes === String)
+                                        object.tokenId = "";
+                                    else {
+                                        object.tokenId = [];
+                                        if (options.bytes !== Array)
+                                            object.tokenId = $util.newBuffer(object.tokenId);
+                                    }
+                                    object.prove = false;
+                                }
+                                if (message.tokenId != null && message.hasOwnProperty("tokenId"))
+                                    object.tokenId = options.bytes === String ? $util.base64.encode(message.tokenId, 0, message.tokenId.length) : options.bytes === Array ? Array.prototype.slice.call(message.tokenId) : message.tokenId;
+                                if (message.prove != null && message.hasOwnProperty("prove"))
+                                    object.prove = message.prove;
+                                return object;
+                            };
 
-                                return IdentityTokenInfos;
-                            })();
+                            /**
+                             * Converts this GetTokenContractInfoRequestV0 to JSON.
+                             * @function toJSON
+                             * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0
+                             * @instance
+                             * @returns {Object.} JSON object
+                             */
+                            GetTokenContractInfoRequestV0.prototype.toJSON = function toJSON() {
+                                return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+                            };
 
-                            return GetIdentitiesTokenInfosResponseV0;
+                            return GetTokenContractInfoRequestV0;
                         })();
 
-                        return GetIdentitiesTokenInfosResponse;
+                        return GetTokenContractInfoRequest;
                     })();
 
-                    v0.GetTokenStatusesRequest = (function() {
+                    v0.GetTokenContractInfoResponse = (function() {
 
                         /**
-                         * Properties of a GetTokenStatusesRequest.
+                         * Properties of a GetTokenContractInfoResponse.
                          * @memberof org.dash.platform.dapi.v0
-                         * @interface IGetTokenStatusesRequest
-                         * @property {org.dash.platform.dapi.v0.GetTokenStatusesRequest.IGetTokenStatusesRequestV0|null} [v0] GetTokenStatusesRequest v0
+                         * @interface IGetTokenContractInfoResponse
+                         * @property {org.dash.platform.dapi.v0.GetTokenContractInfoResponse.IGetTokenContractInfoResponseV0|null} [v0] GetTokenContractInfoResponse v0
                          */
 
                         /**
-                         * Constructs a new GetTokenStatusesRequest.
+                         * Constructs a new GetTokenContractInfoResponse.
                          * @memberof org.dash.platform.dapi.v0
-                         * @classdesc Represents a GetTokenStatusesRequest.
-                         * @implements IGetTokenStatusesRequest
+                         * @classdesc Represents a GetTokenContractInfoResponse.
+                         * @implements IGetTokenContractInfoResponse
                          * @constructor
-                         * @param {org.dash.platform.dapi.v0.IGetTokenStatusesRequest=} [properties] Properties to set
+                         * @param {org.dash.platform.dapi.v0.IGetTokenContractInfoResponse=} [properties] Properties to set
                          */
-                        function GetTokenStatusesRequest(properties) {
+                        function GetTokenContractInfoResponse(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
                                     if (properties[keys[i]] != null)
@@ -50616,89 +57723,89 @@ $root.org = (function() {
                         }
 
                         /**
-                         * GetTokenStatusesRequest v0.
-                         * @member {org.dash.platform.dapi.v0.GetTokenStatusesRequest.IGetTokenStatusesRequestV0|null|undefined} v0
-                         * @memberof org.dash.platform.dapi.v0.GetTokenStatusesRequest
+                         * GetTokenContractInfoResponse v0.
+                         * @member {org.dash.platform.dapi.v0.GetTokenContractInfoResponse.IGetTokenContractInfoResponseV0|null|undefined} v0
+                         * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoResponse
                          * @instance
                          */
-                        GetTokenStatusesRequest.prototype.v0 = null;
+                        GetTokenContractInfoResponse.prototype.v0 = null;
 
                         // OneOf field names bound to virtual getters and setters
                         var $oneOfFields;
 
                         /**
-                         * GetTokenStatusesRequest version.
+                         * GetTokenContractInfoResponse version.
                          * @member {"v0"|undefined} version
-                         * @memberof org.dash.platform.dapi.v0.GetTokenStatusesRequest
+                         * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoResponse
                          * @instance
                          */
-                        Object.defineProperty(GetTokenStatusesRequest.prototype, "version", {
+                        Object.defineProperty(GetTokenContractInfoResponse.prototype, "version", {
                             get: $util.oneOfGetter($oneOfFields = ["v0"]),
                             set: $util.oneOfSetter($oneOfFields)
                         });
 
                         /**
-                         * Creates a new GetTokenStatusesRequest instance using the specified properties.
+                         * Creates a new GetTokenContractInfoResponse instance using the specified properties.
                          * @function create
-                         * @memberof org.dash.platform.dapi.v0.GetTokenStatusesRequest
+                         * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoResponse
                          * @static
-                         * @param {org.dash.platform.dapi.v0.IGetTokenStatusesRequest=} [properties] Properties to set
-                         * @returns {org.dash.platform.dapi.v0.GetTokenStatusesRequest} GetTokenStatusesRequest instance
+                         * @param {org.dash.platform.dapi.v0.IGetTokenContractInfoResponse=} [properties] Properties to set
+                         * @returns {org.dash.platform.dapi.v0.GetTokenContractInfoResponse} GetTokenContractInfoResponse instance
                          */
-                        GetTokenStatusesRequest.create = function create(properties) {
-                            return new GetTokenStatusesRequest(properties);
+                        GetTokenContractInfoResponse.create = function create(properties) {
+                            return new GetTokenContractInfoResponse(properties);
                         };
 
                         /**
-                         * Encodes the specified GetTokenStatusesRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenStatusesRequest.verify|verify} messages.
+                         * Encodes the specified GetTokenContractInfoResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenContractInfoResponse.verify|verify} messages.
                          * @function encode
-                         * @memberof org.dash.platform.dapi.v0.GetTokenStatusesRequest
+                         * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoResponse
                          * @static
-                         * @param {org.dash.platform.dapi.v0.IGetTokenStatusesRequest} message GetTokenStatusesRequest message or plain object to encode
+                         * @param {org.dash.platform.dapi.v0.IGetTokenContractInfoResponse} message GetTokenContractInfoResponse message or plain object to encode
                          * @param {$protobuf.Writer} [writer] Writer to encode to
                          * @returns {$protobuf.Writer} Writer
                          */
-                        GetTokenStatusesRequest.encode = function encode(message, writer) {
+                        GetTokenContractInfoResponse.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.GetTokenStatusesRequest.GetTokenStatusesRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+                                $root.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
                             return writer;
                         };
 
                         /**
-                         * Encodes the specified GetTokenStatusesRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenStatusesRequest.verify|verify} messages.
+                         * Encodes the specified GetTokenContractInfoResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenContractInfoResponse.verify|verify} messages.
                          * @function encodeDelimited
-                         * @memberof org.dash.platform.dapi.v0.GetTokenStatusesRequest
+                         * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoResponse
                          * @static
-                         * @param {org.dash.platform.dapi.v0.IGetTokenStatusesRequest} message GetTokenStatusesRequest message or plain object to encode
+                         * @param {org.dash.platform.dapi.v0.IGetTokenContractInfoResponse} message GetTokenContractInfoResponse message or plain object to encode
                          * @param {$protobuf.Writer} [writer] Writer to encode to
                          * @returns {$protobuf.Writer} Writer
                          */
-                        GetTokenStatusesRequest.encodeDelimited = function encodeDelimited(message, writer) {
+                        GetTokenContractInfoResponse.encodeDelimited = function encodeDelimited(message, writer) {
                             return this.encode(message, writer).ldelim();
                         };
 
                         /**
-                         * Decodes a GetTokenStatusesRequest message from the specified reader or buffer.
+                         * Decodes a GetTokenContractInfoResponse message from the specified reader or buffer.
                          * @function decode
-                         * @memberof org.dash.platform.dapi.v0.GetTokenStatusesRequest
+                         * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoResponse
                          * @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.GetTokenStatusesRequest} GetTokenStatusesRequest
+                         * @returns {org.dash.platform.dapi.v0.GetTokenContractInfoResponse} GetTokenContractInfoResponse
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        GetTokenStatusesRequest.decode = function decode(reader, length) {
+                        GetTokenContractInfoResponse.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.GetTokenStatusesRequest();
+                            var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetTokenContractInfoResponse();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
                                 switch (tag >>> 3) {
                                 case 1:
-                                    message.v0 = $root.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0.decode(reader, reader.uint32());
+                                    message.v0 = $root.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.decode(reader, reader.uint32());
                                     break;
                                 default:
                                     reader.skipType(tag & 7);
@@ -50709,37 +57816,37 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Decodes a GetTokenStatusesRequest message from the specified reader or buffer, length delimited.
+                         * Decodes a GetTokenContractInfoResponse message from the specified reader or buffer, length delimited.
                          * @function decodeDelimited
-                         * @memberof org.dash.platform.dapi.v0.GetTokenStatusesRequest
+                         * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoResponse
                          * @static
                          * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                         * @returns {org.dash.platform.dapi.v0.GetTokenStatusesRequest} GetTokenStatusesRequest
+                         * @returns {org.dash.platform.dapi.v0.GetTokenContractInfoResponse} GetTokenContractInfoResponse
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        GetTokenStatusesRequest.decodeDelimited = function decodeDelimited(reader) {
+                        GetTokenContractInfoResponse.decodeDelimited = function decodeDelimited(reader) {
                             if (!(reader instanceof $Reader))
                                 reader = new $Reader(reader);
                             return this.decode(reader, reader.uint32());
                         };
 
                         /**
-                         * Verifies a GetTokenStatusesRequest message.
+                         * Verifies a GetTokenContractInfoResponse message.
                          * @function verify
-                         * @memberof org.dash.platform.dapi.v0.GetTokenStatusesRequest
+                         * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoResponse
                          * @static
                          * @param {Object.} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        GetTokenStatusesRequest.verify = function verify(message) {
+                        GetTokenContractInfoResponse.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.GetTokenStatusesRequest.GetTokenStatusesRequestV0.verify(message.v0);
+                                    var error = $root.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.verify(message.v0);
                                     if (error)
                                         return "v0." + error;
                                 }
@@ -50748,40 +57855,40 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Creates a GetTokenStatusesRequest message from a plain object. Also converts values to their respective internal types.
+                         * Creates a GetTokenContractInfoResponse message from a plain object. Also converts values to their respective internal types.
                          * @function fromObject
-                         * @memberof org.dash.platform.dapi.v0.GetTokenStatusesRequest
+                         * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoResponse
                          * @static
                          * @param {Object.} object Plain object
-                         * @returns {org.dash.platform.dapi.v0.GetTokenStatusesRequest} GetTokenStatusesRequest
+                         * @returns {org.dash.platform.dapi.v0.GetTokenContractInfoResponse} GetTokenContractInfoResponse
                          */
-                        GetTokenStatusesRequest.fromObject = function fromObject(object) {
-                            if (object instanceof $root.org.dash.platform.dapi.v0.GetTokenStatusesRequest)
+                        GetTokenContractInfoResponse.fromObject = function fromObject(object) {
+                            if (object instanceof $root.org.dash.platform.dapi.v0.GetTokenContractInfoResponse)
                                 return object;
-                            var message = new $root.org.dash.platform.dapi.v0.GetTokenStatusesRequest();
+                            var message = new $root.org.dash.platform.dapi.v0.GetTokenContractInfoResponse();
                             if (object.v0 != null) {
                                 if (typeof object.v0 !== "object")
-                                    throw TypeError(".org.dash.platform.dapi.v0.GetTokenStatusesRequest.v0: object expected");
-                                message.v0 = $root.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0.fromObject(object.v0);
+                                    throw TypeError(".org.dash.platform.dapi.v0.GetTokenContractInfoResponse.v0: object expected");
+                                message.v0 = $root.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.fromObject(object.v0);
                             }
                             return message;
                         };
 
                         /**
-                         * Creates a plain object from a GetTokenStatusesRequest message. Also converts values to other types if specified.
+                         * Creates a plain object from a GetTokenContractInfoResponse message. Also converts values to other types if specified.
                          * @function toObject
-                         * @memberof org.dash.platform.dapi.v0.GetTokenStatusesRequest
+                         * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoResponse
                          * @static
-                         * @param {org.dash.platform.dapi.v0.GetTokenStatusesRequest} message GetTokenStatusesRequest
+                         * @param {org.dash.platform.dapi.v0.GetTokenContractInfoResponse} message GetTokenContractInfoResponse
                          * @param {$protobuf.IConversionOptions} [options] Conversion options
                          * @returns {Object.} Plain object
                          */
-                        GetTokenStatusesRequest.toObject = function toObject(message, options) {
+                        GetTokenContractInfoResponse.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.GetTokenStatusesRequest.GetTokenStatusesRequestV0.toObject(message.v0, options);
+                                object.v0 = $root.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.toObject(message.v0, options);
                                 if (options.oneofs)
                                     object.version = "v0";
                             }
@@ -50789,36 +57896,36 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Converts this GetTokenStatusesRequest to JSON.
+                         * Converts this GetTokenContractInfoResponse to JSON.
                          * @function toJSON
-                         * @memberof org.dash.platform.dapi.v0.GetTokenStatusesRequest
+                         * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoResponse
                          * @instance
                          * @returns {Object.} JSON object
                          */
-                        GetTokenStatusesRequest.prototype.toJSON = function toJSON() {
+                        GetTokenContractInfoResponse.prototype.toJSON = function toJSON() {
                             return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
                         };
 
-                        GetTokenStatusesRequest.GetTokenStatusesRequestV0 = (function() {
+                        GetTokenContractInfoResponse.GetTokenContractInfoResponseV0 = (function() {
 
                             /**
-                             * Properties of a GetTokenStatusesRequestV0.
-                             * @memberof org.dash.platform.dapi.v0.GetTokenStatusesRequest
-                             * @interface IGetTokenStatusesRequestV0
-                             * @property {Array.|null} [tokenIds] GetTokenStatusesRequestV0 tokenIds
-                             * @property {boolean|null} [prove] GetTokenStatusesRequestV0 prove
+                             * Properties of a GetTokenContractInfoResponseV0.
+                             * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoResponse
+                             * @interface IGetTokenContractInfoResponseV0
+                             * @property {org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.ITokenContractInfoData|null} [data] GetTokenContractInfoResponseV0 data
+                             * @property {org.dash.platform.dapi.v0.IProof|null} [proof] GetTokenContractInfoResponseV0 proof
+                             * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetTokenContractInfoResponseV0 metadata
                              */
 
                             /**
-                             * Constructs a new GetTokenStatusesRequestV0.
-                             * @memberof org.dash.platform.dapi.v0.GetTokenStatusesRequest
-                             * @classdesc Represents a GetTokenStatusesRequestV0.
-                             * @implements IGetTokenStatusesRequestV0
+                             * Constructs a new GetTokenContractInfoResponseV0.
+                             * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoResponse
+                             * @classdesc Represents a GetTokenContractInfoResponseV0.
+                             * @implements IGetTokenContractInfoResponseV0
                              * @constructor
-                             * @param {org.dash.platform.dapi.v0.GetTokenStatusesRequest.IGetTokenStatusesRequestV0=} [properties] Properties to set
+                             * @param {org.dash.platform.dapi.v0.GetTokenContractInfoResponse.IGetTokenContractInfoResponseV0=} [properties] Properties to set
                              */
-                            function GetTokenStatusesRequestV0(properties) {
-                                this.tokenIds = [];
+                            function GetTokenContractInfoResponseV0(properties) {
                                 if (properties)
                                     for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
                                         if (properties[keys[i]] != null)
@@ -50826,91 +57933,115 @@ $root.org = (function() {
                             }
 
                             /**
-                             * GetTokenStatusesRequestV0 tokenIds.
-                             * @member {Array.} tokenIds
-                             * @memberof org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0
+                             * GetTokenContractInfoResponseV0 data.
+                             * @member {org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.ITokenContractInfoData|null|undefined} data
+                             * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0
                              * @instance
                              */
-                            GetTokenStatusesRequestV0.prototype.tokenIds = $util.emptyArray;
+                            GetTokenContractInfoResponseV0.prototype.data = null;
 
                             /**
-                             * GetTokenStatusesRequestV0 prove.
-                             * @member {boolean} prove
-                             * @memberof org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0
+                             * GetTokenContractInfoResponseV0 proof.
+                             * @member {org.dash.platform.dapi.v0.IProof|null|undefined} proof
+                             * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0
                              * @instance
                              */
-                            GetTokenStatusesRequestV0.prototype.prove = false;
+                            GetTokenContractInfoResponseV0.prototype.proof = null;
 
                             /**
-                             * Creates a new GetTokenStatusesRequestV0 instance using the specified properties.
+                             * GetTokenContractInfoResponseV0 metadata.
+                             * @member {org.dash.platform.dapi.v0.IResponseMetadata|null|undefined} metadata
+                             * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0
+                             * @instance
+                             */
+                            GetTokenContractInfoResponseV0.prototype.metadata = null;
+
+                            // OneOf field names bound to virtual getters and setters
+                            var $oneOfFields;
+
+                            /**
+                             * GetTokenContractInfoResponseV0 result.
+                             * @member {"data"|"proof"|undefined} result
+                             * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0
+                             * @instance
+                             */
+                            Object.defineProperty(GetTokenContractInfoResponseV0.prototype, "result", {
+                                get: $util.oneOfGetter($oneOfFields = ["data", "proof"]),
+                                set: $util.oneOfSetter($oneOfFields)
+                            });
+
+                            /**
+                             * Creates a new GetTokenContractInfoResponseV0 instance using the specified properties.
                              * @function create
-                             * @memberof org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetTokenStatusesRequest.IGetTokenStatusesRequestV0=} [properties] Properties to set
-                             * @returns {org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0} GetTokenStatusesRequestV0 instance
+                             * @param {org.dash.platform.dapi.v0.GetTokenContractInfoResponse.IGetTokenContractInfoResponseV0=} [properties] Properties to set
+                             * @returns {org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0} GetTokenContractInfoResponseV0 instance
                              */
-                            GetTokenStatusesRequestV0.create = function create(properties) {
-                                return new GetTokenStatusesRequestV0(properties);
+                            GetTokenContractInfoResponseV0.create = function create(properties) {
+                                return new GetTokenContractInfoResponseV0(properties);
                             };
 
                             /**
-                             * Encodes the specified GetTokenStatusesRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0.verify|verify} messages.
+                             * Encodes the specified GetTokenContractInfoResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.verify|verify} messages.
                              * @function encode
-                             * @memberof org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetTokenStatusesRequest.IGetTokenStatusesRequestV0} message GetTokenStatusesRequestV0 message or plain object to encode
+                             * @param {org.dash.platform.dapi.v0.GetTokenContractInfoResponse.IGetTokenContractInfoResponseV0} message GetTokenContractInfoResponseV0 message or plain object to encode
                              * @param {$protobuf.Writer} [writer] Writer to encode to
                              * @returns {$protobuf.Writer} Writer
                              */
-                            GetTokenStatusesRequestV0.encode = function encode(message, writer) {
+                            GetTokenContractInfoResponseV0.encode = function encode(message, writer) {
                                 if (!writer)
                                     writer = $Writer.create();
-                                if (message.tokenIds != null && message.tokenIds.length)
-                                    for (var i = 0; i < message.tokenIds.length; ++i)
-                                        writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.tokenIds[i]);
-                                if (message.prove != null && Object.hasOwnProperty.call(message, "prove"))
-                                    writer.uint32(/* id 2, wireType 0 =*/16).bool(message.prove);
+                                if (message.data != null && Object.hasOwnProperty.call(message, "data"))
+                                    $root.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData.encode(message.data, 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 GetTokenStatusesRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0.verify|verify} messages.
+                             * Encodes the specified GetTokenContractInfoResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.verify|verify} messages.
                              * @function encodeDelimited
-                             * @memberof org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetTokenStatusesRequest.IGetTokenStatusesRequestV0} message GetTokenStatusesRequestV0 message or plain object to encode
+                             * @param {org.dash.platform.dapi.v0.GetTokenContractInfoResponse.IGetTokenContractInfoResponseV0} message GetTokenContractInfoResponseV0 message or plain object to encode
                              * @param {$protobuf.Writer} [writer] Writer to encode to
                              * @returns {$protobuf.Writer} Writer
                              */
-                            GetTokenStatusesRequestV0.encodeDelimited = function encodeDelimited(message, writer) {
+                            GetTokenContractInfoResponseV0.encodeDelimited = function encodeDelimited(message, writer) {
                                 return this.encode(message, writer).ldelim();
                             };
 
                             /**
-                             * Decodes a GetTokenStatusesRequestV0 message from the specified reader or buffer.
+                             * Decodes a GetTokenContractInfoResponseV0 message from the specified reader or buffer.
                              * @function decode
-                             * @memberof org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0
                              * @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.GetTokenStatusesRequest.GetTokenStatusesRequestV0} GetTokenStatusesRequestV0
+                             * @returns {org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0} GetTokenContractInfoResponseV0
                              * @throws {Error} If the payload is not a reader or valid buffer
                              * @throws {$protobuf.util.ProtocolError} If required fields are missing
                              */
-                            GetTokenStatusesRequestV0.decode = function decode(reader, length) {
+                            GetTokenContractInfoResponseV0.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.GetTokenStatusesRequest.GetTokenStatusesRequestV0();
+                                var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0();
                                 while (reader.pos < end) {
                                     var tag = reader.uint32();
                                     switch (tag >>> 3) {
                                     case 1:
-                                        if (!(message.tokenIds && message.tokenIds.length))
-                                            message.tokenIds = [];
-                                        message.tokenIds.push(reader.bytes());
+                                        message.data = $root.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData.decode(reader, reader.uint32());
                                         break;
                                     case 2:
-                                        message.prove = reader.bool();
+                                        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);
@@ -50921,134 +58052,373 @@ $root.org = (function() {
                             };
 
                             /**
-                             * Decodes a GetTokenStatusesRequestV0 message from the specified reader or buffer, length delimited.
+                             * Decodes a GetTokenContractInfoResponseV0 message from the specified reader or buffer, length delimited.
                              * @function decodeDelimited
-                             * @memberof org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0
                              * @static
                              * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                             * @returns {org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0} GetTokenStatusesRequestV0
+                             * @returns {org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0} GetTokenContractInfoResponseV0
                              * @throws {Error} If the payload is not a reader or valid buffer
                              * @throws {$protobuf.util.ProtocolError} If required fields are missing
                              */
-                            GetTokenStatusesRequestV0.decodeDelimited = function decodeDelimited(reader) {
+                            GetTokenContractInfoResponseV0.decodeDelimited = function decodeDelimited(reader) {
                                 if (!(reader instanceof $Reader))
                                     reader = new $Reader(reader);
                                 return this.decode(reader, reader.uint32());
                             };
 
-                            /**
-                             * Verifies a GetTokenStatusesRequestV0 message.
-                             * @function verify
-                             * @memberof org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0
-                             * @static
-                             * @param {Object.} message Plain object to verify
-                             * @returns {string|null} `null` if valid, otherwise the reason why it is not
-                             */
-                            GetTokenStatusesRequestV0.verify = function verify(message) {
-                                if (typeof message !== "object" || message === null)
-                                    return "object expected";
-                                if (message.tokenIds != null && message.hasOwnProperty("tokenIds")) {
-                                    if (!Array.isArray(message.tokenIds))
-                                        return "tokenIds: array expected";
-                                    for (var i = 0; i < message.tokenIds.length; ++i)
-                                        if (!(message.tokenIds[i] && typeof message.tokenIds[i].length === "number" || $util.isString(message.tokenIds[i])))
-                                            return "tokenIds: buffer[] expected";
-                                }
-                                if (message.prove != null && message.hasOwnProperty("prove"))
-                                    if (typeof message.prove !== "boolean")
-                                        return "prove: boolean expected";
-                                return null;
-                            };
+                            /**
+                             * Verifies a GetTokenContractInfoResponseV0 message.
+                             * @function verify
+                             * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0
+                             * @static
+                             * @param {Object.} message Plain object to verify
+                             * @returns {string|null} `null` if valid, otherwise the reason why it is not
+                             */
+                            GetTokenContractInfoResponseV0.verify = function verify(message) {
+                                if (typeof message !== "object" || message === null)
+                                    return "object expected";
+                                var properties = {};
+                                if (message.data != null && message.hasOwnProperty("data")) {
+                                    properties.result = 1;
+                                    {
+                                        var error = $root.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData.verify(message.data);
+                                        if (error)
+                                            return "data." + 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 GetTokenContractInfoResponseV0 message from a plain object. Also converts values to their respective internal types.
+                             * @function fromObject
+                             * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0
+                             * @static
+                             * @param {Object.} object Plain object
+                             * @returns {org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0} GetTokenContractInfoResponseV0
+                             */
+                            GetTokenContractInfoResponseV0.fromObject = function fromObject(object) {
+                                if (object instanceof $root.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0)
+                                    return object;
+                                var message = new $root.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0();
+                                if (object.data != null) {
+                                    if (typeof object.data !== "object")
+                                        throw TypeError(".org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.data: object expected");
+                                    message.data = $root.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData.fromObject(object.data);
+                                }
+                                if (object.proof != null) {
+                                    if (typeof object.proof !== "object")
+                                        throw TypeError(".org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.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.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.metadata: object expected");
+                                    message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.fromObject(object.metadata);
+                                }
+                                return message;
+                            };
+
+                            /**
+                             * Creates a plain object from a GetTokenContractInfoResponseV0 message. Also converts values to other types if specified.
+                             * @function toObject
+                             * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0
+                             * @static
+                             * @param {org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0} message GetTokenContractInfoResponseV0
+                             * @param {$protobuf.IConversionOptions} [options] Conversion options
+                             * @returns {Object.} Plain object
+                             */
+                            GetTokenContractInfoResponseV0.toObject = function toObject(message, options) {
+                                if (!options)
+                                    options = {};
+                                var object = {};
+                                if (options.defaults)
+                                    object.metadata = null;
+                                if (message.data != null && message.hasOwnProperty("data")) {
+                                    object.data = $root.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData.toObject(message.data, options);
+                                    if (options.oneofs)
+                                        object.result = "data";
+                                }
+                                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 GetTokenContractInfoResponseV0 to JSON.
+                             * @function toJSON
+                             * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0
+                             * @instance
+                             * @returns {Object.} JSON object
+                             */
+                            GetTokenContractInfoResponseV0.prototype.toJSON = function toJSON() {
+                                return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+                            };
+
+                            GetTokenContractInfoResponseV0.TokenContractInfoData = (function() {
+
+                                /**
+                                 * Properties of a TokenContractInfoData.
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0
+                                 * @interface ITokenContractInfoData
+                                 * @property {Uint8Array|null} [contractId] TokenContractInfoData contractId
+                                 * @property {number|null} [tokenContractPosition] TokenContractInfoData tokenContractPosition
+                                 */
+
+                                /**
+                                 * Constructs a new TokenContractInfoData.
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0
+                                 * @classdesc Represents a TokenContractInfoData.
+                                 * @implements ITokenContractInfoData
+                                 * @constructor
+                                 * @param {org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.ITokenContractInfoData=} [properties] Properties to set
+                                 */
+                                function TokenContractInfoData(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]];
+                                }
+
+                                /**
+                                 * TokenContractInfoData contractId.
+                                 * @member {Uint8Array} contractId
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData
+                                 * @instance
+                                 */
+                                TokenContractInfoData.prototype.contractId = $util.newBuffer([]);
+
+                                /**
+                                 * TokenContractInfoData tokenContractPosition.
+                                 * @member {number} tokenContractPosition
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData
+                                 * @instance
+                                 */
+                                TokenContractInfoData.prototype.tokenContractPosition = 0;
+
+                                /**
+                                 * Creates a new TokenContractInfoData instance using the specified properties.
+                                 * @function create
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData
+                                 * @static
+                                 * @param {org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.ITokenContractInfoData=} [properties] Properties to set
+                                 * @returns {org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData} TokenContractInfoData instance
+                                 */
+                                TokenContractInfoData.create = function create(properties) {
+                                    return new TokenContractInfoData(properties);
+                                };
+
+                                /**
+                                 * Encodes the specified TokenContractInfoData message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData.verify|verify} messages.
+                                 * @function encode
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData
+                                 * @static
+                                 * @param {org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.ITokenContractInfoData} message TokenContractInfoData message or plain object to encode
+                                 * @param {$protobuf.Writer} [writer] Writer to encode to
+                                 * @returns {$protobuf.Writer} Writer
+                                 */
+                                TokenContractInfoData.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.tokenContractPosition != null && Object.hasOwnProperty.call(message, "tokenContractPosition"))
+                                        writer.uint32(/* id 2, wireType 0 =*/16).uint32(message.tokenContractPosition);
+                                    return writer;
+                                };
+
+                                /**
+                                 * Encodes the specified TokenContractInfoData message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData.verify|verify} messages.
+                                 * @function encodeDelimited
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData
+                                 * @static
+                                 * @param {org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.ITokenContractInfoData} message TokenContractInfoData message or plain object to encode
+                                 * @param {$protobuf.Writer} [writer] Writer to encode to
+                                 * @returns {$protobuf.Writer} Writer
+                                 */
+                                TokenContractInfoData.encodeDelimited = function encodeDelimited(message, writer) {
+                                    return this.encode(message, writer).ldelim();
+                                };
+
+                                /**
+                                 * Decodes a TokenContractInfoData message from the specified reader or buffer.
+                                 * @function decode
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData
+                                 * @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.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData} TokenContractInfoData
+                                 * @throws {Error} If the payload is not a reader or valid buffer
+                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
+                                 */
+                                TokenContractInfoData.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.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData();
+                                    while (reader.pos < end) {
+                                        var tag = reader.uint32();
+                                        switch (tag >>> 3) {
+                                        case 1:
+                                            message.contractId = reader.bytes();
+                                            break;
+                                        case 2:
+                                            message.tokenContractPosition = reader.uint32();
+                                            break;
+                                        default:
+                                            reader.skipType(tag & 7);
+                                            break;
+                                        }
+                                    }
+                                    return message;
+                                };
+
+                                /**
+                                 * Decodes a TokenContractInfoData message from the specified reader or buffer, length delimited.
+                                 * @function decodeDelimited
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData
+                                 * @static
+                                 * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+                                 * @returns {org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData} TokenContractInfoData
+                                 * @throws {Error} If the payload is not a reader or valid buffer
+                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
+                                 */
+                                TokenContractInfoData.decodeDelimited = function decodeDelimited(reader) {
+                                    if (!(reader instanceof $Reader))
+                                        reader = new $Reader(reader);
+                                    return this.decode(reader, reader.uint32());
+                                };
+
+                                /**
+                                 * Verifies a TokenContractInfoData message.
+                                 * @function verify
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData
+                                 * @static
+                                 * @param {Object.} message Plain object to verify
+                                 * @returns {string|null} `null` if valid, otherwise the reason why it is not
+                                 */
+                                TokenContractInfoData.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.tokenContractPosition != null && message.hasOwnProperty("tokenContractPosition"))
+                                        if (!$util.isInteger(message.tokenContractPosition))
+                                            return "tokenContractPosition: integer expected";
+                                    return null;
+                                };
+
+                                /**
+                                 * Creates a TokenContractInfoData message from a plain object. Also converts values to their respective internal types.
+                                 * @function fromObject
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData
+                                 * @static
+                                 * @param {Object.} object Plain object
+                                 * @returns {org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData} TokenContractInfoData
+                                 */
+                                TokenContractInfoData.fromObject = function fromObject(object) {
+                                    if (object instanceof $root.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData)
+                                        return object;
+                                    var message = new $root.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData();
+                                    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.tokenContractPosition != null)
+                                        message.tokenContractPosition = object.tokenContractPosition >>> 0;
+                                    return message;
+                                };
 
-                            /**
-                             * Creates a GetTokenStatusesRequestV0 message from a plain object. Also converts values to their respective internal types.
-                             * @function fromObject
-                             * @memberof org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0
-                             * @static
-                             * @param {Object.} object Plain object
-                             * @returns {org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0} GetTokenStatusesRequestV0
-                             */
-                            GetTokenStatusesRequestV0.fromObject = function fromObject(object) {
-                                if (object instanceof $root.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0)
+                                /**
+                                 * Creates a plain object from a TokenContractInfoData message. Also converts values to other types if specified.
+                                 * @function toObject
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData
+                                 * @static
+                                 * @param {org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData} message TokenContractInfoData
+                                 * @param {$protobuf.IConversionOptions} [options] Conversion options
+                                 * @returns {Object.} Plain object
+                                 */
+                                TokenContractInfoData.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.tokenContractPosition = 0;
+                                    }
+                                    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.tokenContractPosition != null && message.hasOwnProperty("tokenContractPosition"))
+                                        object.tokenContractPosition = message.tokenContractPosition;
                                     return object;
-                                var message = new $root.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0();
-                                if (object.tokenIds) {
-                                    if (!Array.isArray(object.tokenIds))
-                                        throw TypeError(".org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0.tokenIds: array expected");
-                                    message.tokenIds = [];
-                                    for (var i = 0; i < object.tokenIds.length; ++i)
-                                        if (typeof object.tokenIds[i] === "string")
-                                            $util.base64.decode(object.tokenIds[i], message.tokenIds[i] = $util.newBuffer($util.base64.length(object.tokenIds[i])), 0);
-                                        else if (object.tokenIds[i].length >= 0)
-                                            message.tokenIds[i] = object.tokenIds[i];
-                                }
-                                if (object.prove != null)
-                                    message.prove = Boolean(object.prove);
-                                return message;
-                            };
+                                };
 
-                            /**
-                             * Creates a plain object from a GetTokenStatusesRequestV0 message. Also converts values to other types if specified.
-                             * @function toObject
-                             * @memberof org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0
-                             * @static
-                             * @param {org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0} message GetTokenStatusesRequestV0
-                             * @param {$protobuf.IConversionOptions} [options] Conversion options
-                             * @returns {Object.} Plain object
-                             */
-                            GetTokenStatusesRequestV0.toObject = function toObject(message, options) {
-                                if (!options)
-                                    options = {};
-                                var object = {};
-                                if (options.arrays || options.defaults)
-                                    object.tokenIds = [];
-                                if (options.defaults)
-                                    object.prove = false;
-                                if (message.tokenIds && message.tokenIds.length) {
-                                    object.tokenIds = [];
-                                    for (var j = 0; j < message.tokenIds.length; ++j)
-                                        object.tokenIds[j] = options.bytes === String ? $util.base64.encode(message.tokenIds[j], 0, message.tokenIds[j].length) : options.bytes === Array ? Array.prototype.slice.call(message.tokenIds[j]) : message.tokenIds[j];
-                                }
-                                if (message.prove != null && message.hasOwnProperty("prove"))
-                                    object.prove = message.prove;
-                                return object;
-                            };
+                                /**
+                                 * Converts this TokenContractInfoData to JSON.
+                                 * @function toJSON
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData
+                                 * @instance
+                                 * @returns {Object.} JSON object
+                                 */
+                                TokenContractInfoData.prototype.toJSON = function toJSON() {
+                                    return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+                                };
 
-                            /**
-                             * Converts this GetTokenStatusesRequestV0 to JSON.
-                             * @function toJSON
-                             * @memberof org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0
-                             * @instance
-                             * @returns {Object.} JSON object
-                             */
-                            GetTokenStatusesRequestV0.prototype.toJSON = function toJSON() {
-                                return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
-                            };
+                                return TokenContractInfoData;
+                            })();
 
-                            return GetTokenStatusesRequestV0;
+                            return GetTokenContractInfoResponseV0;
                         })();
 
-                        return GetTokenStatusesRequest;
+                        return GetTokenContractInfoResponse;
                     })();
 
-                    v0.GetTokenStatusesResponse = (function() {
+                    v0.GetTokenPreProgrammedDistributionsRequest = (function() {
 
                         /**
-                         * Properties of a GetTokenStatusesResponse.
+                         * Properties of a GetTokenPreProgrammedDistributionsRequest.
                          * @memberof org.dash.platform.dapi.v0
-                         * @interface IGetTokenStatusesResponse
-                         * @property {org.dash.platform.dapi.v0.GetTokenStatusesResponse.IGetTokenStatusesResponseV0|null} [v0] GetTokenStatusesResponse v0
+                         * @interface IGetTokenPreProgrammedDistributionsRequest
+                         * @property {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.IGetTokenPreProgrammedDistributionsRequestV0|null} [v0] GetTokenPreProgrammedDistributionsRequest v0
                          */
 
                         /**
-                         * Constructs a new GetTokenStatusesResponse.
+                         * Constructs a new GetTokenPreProgrammedDistributionsRequest.
                          * @memberof org.dash.platform.dapi.v0
-                         * @classdesc Represents a GetTokenStatusesResponse.
-                         * @implements IGetTokenStatusesResponse
+                         * @classdesc Represents a GetTokenPreProgrammedDistributionsRequest.
+                         * @implements IGetTokenPreProgrammedDistributionsRequest
                          * @constructor
-                         * @param {org.dash.platform.dapi.v0.IGetTokenStatusesResponse=} [properties] Properties to set
+                         * @param {org.dash.platform.dapi.v0.IGetTokenPreProgrammedDistributionsRequest=} [properties] Properties to set
                          */
-                        function GetTokenStatusesResponse(properties) {
+                        function GetTokenPreProgrammedDistributionsRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
                                     if (properties[keys[i]] != null)
@@ -51056,89 +58426,89 @@ $root.org = (function() {
                         }
 
                         /**
-                         * GetTokenStatusesResponse v0.
-                         * @member {org.dash.platform.dapi.v0.GetTokenStatusesResponse.IGetTokenStatusesResponseV0|null|undefined} v0
-                         * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse
+                         * GetTokenPreProgrammedDistributionsRequest v0.
+                         * @member {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.IGetTokenPreProgrammedDistributionsRequestV0|null|undefined} v0
+                         * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest
                          * @instance
                          */
-                        GetTokenStatusesResponse.prototype.v0 = null;
+                        GetTokenPreProgrammedDistributionsRequest.prototype.v0 = null;
 
                         // OneOf field names bound to virtual getters and setters
                         var $oneOfFields;
 
                         /**
-                         * GetTokenStatusesResponse version.
+                         * GetTokenPreProgrammedDistributionsRequest version.
                          * @member {"v0"|undefined} version
-                         * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse
+                         * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest
                          * @instance
                          */
-                        Object.defineProperty(GetTokenStatusesResponse.prototype, "version", {
+                        Object.defineProperty(GetTokenPreProgrammedDistributionsRequest.prototype, "version", {
                             get: $util.oneOfGetter($oneOfFields = ["v0"]),
                             set: $util.oneOfSetter($oneOfFields)
                         });
 
                         /**
-                         * Creates a new GetTokenStatusesResponse instance using the specified properties.
+                         * Creates a new GetTokenPreProgrammedDistributionsRequest instance using the specified properties.
                          * @function create
-                         * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse
+                         * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest
                          * @static
-                         * @param {org.dash.platform.dapi.v0.IGetTokenStatusesResponse=} [properties] Properties to set
-                         * @returns {org.dash.platform.dapi.v0.GetTokenStatusesResponse} GetTokenStatusesResponse instance
+                         * @param {org.dash.platform.dapi.v0.IGetTokenPreProgrammedDistributionsRequest=} [properties] Properties to set
+                         * @returns {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest} GetTokenPreProgrammedDistributionsRequest instance
                          */
-                        GetTokenStatusesResponse.create = function create(properties) {
-                            return new GetTokenStatusesResponse(properties);
+                        GetTokenPreProgrammedDistributionsRequest.create = function create(properties) {
+                            return new GetTokenPreProgrammedDistributionsRequest(properties);
                         };
 
                         /**
-                         * Encodes the specified GetTokenStatusesResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenStatusesResponse.verify|verify} messages.
+                         * Encodes the specified GetTokenPreProgrammedDistributionsRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.verify|verify} messages.
                          * @function encode
-                         * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse
+                         * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest
                          * @static
-                         * @param {org.dash.platform.dapi.v0.IGetTokenStatusesResponse} message GetTokenStatusesResponse message or plain object to encode
+                         * @param {org.dash.platform.dapi.v0.IGetTokenPreProgrammedDistributionsRequest} message GetTokenPreProgrammedDistributionsRequest message or plain object to encode
                          * @param {$protobuf.Writer} [writer] Writer to encode to
                          * @returns {$protobuf.Writer} Writer
                          */
-                        GetTokenStatusesResponse.encode = function encode(message, writer) {
+                        GetTokenPreProgrammedDistributionsRequest.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.GetTokenStatusesResponse.GetTokenStatusesResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+                                $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
                             return writer;
                         };
 
                         /**
-                         * Encodes the specified GetTokenStatusesResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenStatusesResponse.verify|verify} messages.
+                         * Encodes the specified GetTokenPreProgrammedDistributionsRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.verify|verify} messages.
                          * @function encodeDelimited
-                         * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse
+                         * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest
                          * @static
-                         * @param {org.dash.platform.dapi.v0.IGetTokenStatusesResponse} message GetTokenStatusesResponse message or plain object to encode
+                         * @param {org.dash.platform.dapi.v0.IGetTokenPreProgrammedDistributionsRequest} message GetTokenPreProgrammedDistributionsRequest message or plain object to encode
                          * @param {$protobuf.Writer} [writer] Writer to encode to
                          * @returns {$protobuf.Writer} Writer
                          */
-                        GetTokenStatusesResponse.encodeDelimited = function encodeDelimited(message, writer) {
+                        GetTokenPreProgrammedDistributionsRequest.encodeDelimited = function encodeDelimited(message, writer) {
                             return this.encode(message, writer).ldelim();
                         };
 
                         /**
-                         * Decodes a GetTokenStatusesResponse message from the specified reader or buffer.
+                         * Decodes a GetTokenPreProgrammedDistributionsRequest message from the specified reader or buffer.
                          * @function decode
-                         * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse
+                         * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest
                          * @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.GetTokenStatusesResponse} GetTokenStatusesResponse
+                         * @returns {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest} GetTokenPreProgrammedDistributionsRequest
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        GetTokenStatusesResponse.decode = function decode(reader, length) {
+                        GetTokenPreProgrammedDistributionsRequest.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.GetTokenStatusesResponse();
+                            var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
                                 switch (tag >>> 3) {
                                 case 1:
-                                    message.v0 = $root.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.decode(reader, reader.uint32());
+                                    message.v0 = $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.decode(reader, reader.uint32());
                                     break;
                                 default:
                                     reader.skipType(tag & 7);
@@ -51149,37 +58519,37 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Decodes a GetTokenStatusesResponse message from the specified reader or buffer, length delimited.
+                         * Decodes a GetTokenPreProgrammedDistributionsRequest message from the specified reader or buffer, length delimited.
                          * @function decodeDelimited
-                         * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse
+                         * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest
                          * @static
                          * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                         * @returns {org.dash.platform.dapi.v0.GetTokenStatusesResponse} GetTokenStatusesResponse
+                         * @returns {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest} GetTokenPreProgrammedDistributionsRequest
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        GetTokenStatusesResponse.decodeDelimited = function decodeDelimited(reader) {
+                        GetTokenPreProgrammedDistributionsRequest.decodeDelimited = function decodeDelimited(reader) {
                             if (!(reader instanceof $Reader))
                                 reader = new $Reader(reader);
                             return this.decode(reader, reader.uint32());
                         };
 
                         /**
-                         * Verifies a GetTokenStatusesResponse message.
+                         * Verifies a GetTokenPreProgrammedDistributionsRequest message.
                          * @function verify
-                         * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse
+                         * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest
                          * @static
                          * @param {Object.} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        GetTokenStatusesResponse.verify = function verify(message) {
+                        GetTokenPreProgrammedDistributionsRequest.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.GetTokenStatusesResponse.GetTokenStatusesResponseV0.verify(message.v0);
+                                    var error = $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.verify(message.v0);
                                     if (error)
                                         return "v0." + error;
                                 }
@@ -51188,40 +58558,40 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Creates a GetTokenStatusesResponse message from a plain object. Also converts values to their respective internal types.
+                         * Creates a GetTokenPreProgrammedDistributionsRequest message from a plain object. Also converts values to their respective internal types.
                          * @function fromObject
-                         * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse
+                         * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest
                          * @static
                          * @param {Object.} object Plain object
-                         * @returns {org.dash.platform.dapi.v0.GetTokenStatusesResponse} GetTokenStatusesResponse
+                         * @returns {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest} GetTokenPreProgrammedDistributionsRequest
                          */
-                        GetTokenStatusesResponse.fromObject = function fromObject(object) {
-                            if (object instanceof $root.org.dash.platform.dapi.v0.GetTokenStatusesResponse)
+                        GetTokenPreProgrammedDistributionsRequest.fromObject = function fromObject(object) {
+                            if (object instanceof $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest)
                                 return object;
-                            var message = new $root.org.dash.platform.dapi.v0.GetTokenStatusesResponse();
+                            var message = new $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest();
                             if (object.v0 != null) {
                                 if (typeof object.v0 !== "object")
-                                    throw TypeError(".org.dash.platform.dapi.v0.GetTokenStatusesResponse.v0: object expected");
-                                message.v0 = $root.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.fromObject(object.v0);
+                                    throw TypeError(".org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.v0: object expected");
+                                message.v0 = $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.fromObject(object.v0);
                             }
                             return message;
                         };
 
                         /**
-                         * Creates a plain object from a GetTokenStatusesResponse message. Also converts values to other types if specified.
+                         * Creates a plain object from a GetTokenPreProgrammedDistributionsRequest message. Also converts values to other types if specified.
                          * @function toObject
-                         * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse
+                         * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest
                          * @static
-                         * @param {org.dash.platform.dapi.v0.GetTokenStatusesResponse} message GetTokenStatusesResponse
+                         * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest} message GetTokenPreProgrammedDistributionsRequest
                          * @param {$protobuf.IConversionOptions} [options] Conversion options
                          * @returns {Object.} Plain object
                          */
-                        GetTokenStatusesResponse.toObject = function toObject(message, options) {
+                        GetTokenPreProgrammedDistributionsRequest.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.GetTokenStatusesResponse.GetTokenStatusesResponseV0.toObject(message.v0, options);
+                                object.v0 = $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.toObject(message.v0, options);
                                 if (options.oneofs)
                                     object.version = "v0";
                             }
@@ -51229,36 +58599,37 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Converts this GetTokenStatusesResponse to JSON.
+                         * Converts this GetTokenPreProgrammedDistributionsRequest to JSON.
                          * @function toJSON
-                         * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse
+                         * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest
                          * @instance
                          * @returns {Object.} JSON object
                          */
-                        GetTokenStatusesResponse.prototype.toJSON = function toJSON() {
+                        GetTokenPreProgrammedDistributionsRequest.prototype.toJSON = function toJSON() {
                             return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
                         };
 
-                        GetTokenStatusesResponse.GetTokenStatusesResponseV0 = (function() {
+                        GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0 = (function() {
 
                             /**
-                             * Properties of a GetTokenStatusesResponseV0.
-                             * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse
-                             * @interface IGetTokenStatusesResponseV0
-                             * @property {org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.ITokenStatuses|null} [tokenStatuses] GetTokenStatusesResponseV0 tokenStatuses
-                             * @property {org.dash.platform.dapi.v0.IProof|null} [proof] GetTokenStatusesResponseV0 proof
-                             * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetTokenStatusesResponseV0 metadata
+                             * Properties of a GetTokenPreProgrammedDistributionsRequestV0.
+                             * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest
+                             * @interface IGetTokenPreProgrammedDistributionsRequestV0
+                             * @property {Uint8Array|null} [tokenId] GetTokenPreProgrammedDistributionsRequestV0 tokenId
+                             * @property {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.IStartAtInfo|null} [startAtInfo] GetTokenPreProgrammedDistributionsRequestV0 startAtInfo
+                             * @property {number|null} [limit] GetTokenPreProgrammedDistributionsRequestV0 limit
+                             * @property {boolean|null} [prove] GetTokenPreProgrammedDistributionsRequestV0 prove
                              */
 
                             /**
-                             * Constructs a new GetTokenStatusesResponseV0.
-                             * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse
-                             * @classdesc Represents a GetTokenStatusesResponseV0.
-                             * @implements IGetTokenStatusesResponseV0
+                             * Constructs a new GetTokenPreProgrammedDistributionsRequestV0.
+                             * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest
+                             * @classdesc Represents a GetTokenPreProgrammedDistributionsRequestV0.
+                             * @implements IGetTokenPreProgrammedDistributionsRequestV0
                              * @constructor
-                             * @param {org.dash.platform.dapi.v0.GetTokenStatusesResponse.IGetTokenStatusesResponseV0=} [properties] Properties to set
+                             * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.IGetTokenPreProgrammedDistributionsRequestV0=} [properties] Properties to set
                              */
-                            function GetTokenStatusesResponseV0(properties) {
+                            function GetTokenPreProgrammedDistributionsRequestV0(properties) {
                                 if (properties)
                                     for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
                                         if (properties[keys[i]] != null)
@@ -51266,115 +58637,114 @@ $root.org = (function() {
                             }
 
                             /**
-                             * GetTokenStatusesResponseV0 tokenStatuses.
-                             * @member {org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.ITokenStatuses|null|undefined} tokenStatuses
-                             * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0
+                             * GetTokenPreProgrammedDistributionsRequestV0 tokenId.
+                             * @member {Uint8Array} tokenId
+                             * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0
                              * @instance
                              */
-                            GetTokenStatusesResponseV0.prototype.tokenStatuses = null;
+                            GetTokenPreProgrammedDistributionsRequestV0.prototype.tokenId = $util.newBuffer([]);
 
                             /**
-                             * GetTokenStatusesResponseV0 proof.
-                             * @member {org.dash.platform.dapi.v0.IProof|null|undefined} proof
-                             * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0
+                             * GetTokenPreProgrammedDistributionsRequestV0 startAtInfo.
+                             * @member {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.IStartAtInfo|null|undefined} startAtInfo
+                             * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0
                              * @instance
                              */
-                            GetTokenStatusesResponseV0.prototype.proof = null;
+                            GetTokenPreProgrammedDistributionsRequestV0.prototype.startAtInfo = null;
 
                             /**
-                             * GetTokenStatusesResponseV0 metadata.
-                             * @member {org.dash.platform.dapi.v0.IResponseMetadata|null|undefined} metadata
-                             * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0
+                             * GetTokenPreProgrammedDistributionsRequestV0 limit.
+                             * @member {number} limit
+                             * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0
                              * @instance
                              */
-                            GetTokenStatusesResponseV0.prototype.metadata = null;
-
-                            // OneOf field names bound to virtual getters and setters
-                            var $oneOfFields;
+                            GetTokenPreProgrammedDistributionsRequestV0.prototype.limit = 0;
 
                             /**
-                             * GetTokenStatusesResponseV0 result.
-                             * @member {"tokenStatuses"|"proof"|undefined} result
-                             * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0
+                             * GetTokenPreProgrammedDistributionsRequestV0 prove.
+                             * @member {boolean} prove
+                             * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0
                              * @instance
                              */
-                            Object.defineProperty(GetTokenStatusesResponseV0.prototype, "result", {
-                                get: $util.oneOfGetter($oneOfFields = ["tokenStatuses", "proof"]),
-                                set: $util.oneOfSetter($oneOfFields)
-                            });
+                            GetTokenPreProgrammedDistributionsRequestV0.prototype.prove = false;
 
                             /**
-                             * Creates a new GetTokenStatusesResponseV0 instance using the specified properties.
+                             * Creates a new GetTokenPreProgrammedDistributionsRequestV0 instance using the specified properties.
                              * @function create
-                             * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetTokenStatusesResponse.IGetTokenStatusesResponseV0=} [properties] Properties to set
-                             * @returns {org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0} GetTokenStatusesResponseV0 instance
+                             * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.IGetTokenPreProgrammedDistributionsRequestV0=} [properties] Properties to set
+                             * @returns {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0} GetTokenPreProgrammedDistributionsRequestV0 instance
                              */
-                            GetTokenStatusesResponseV0.create = function create(properties) {
-                                return new GetTokenStatusesResponseV0(properties);
+                            GetTokenPreProgrammedDistributionsRequestV0.create = function create(properties) {
+                                return new GetTokenPreProgrammedDistributionsRequestV0(properties);
                             };
 
                             /**
-                             * Encodes the specified GetTokenStatusesResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.verify|verify} messages.
+                             * Encodes the specified GetTokenPreProgrammedDistributionsRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.verify|verify} messages.
                              * @function encode
-                             * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetTokenStatusesResponse.IGetTokenStatusesResponseV0} message GetTokenStatusesResponseV0 message or plain object to encode
+                             * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.IGetTokenPreProgrammedDistributionsRequestV0} message GetTokenPreProgrammedDistributionsRequestV0 message or plain object to encode
                              * @param {$protobuf.Writer} [writer] Writer to encode to
                              * @returns {$protobuf.Writer} Writer
                              */
-                            GetTokenStatusesResponseV0.encode = function encode(message, writer) {
+                            GetTokenPreProgrammedDistributionsRequestV0.encode = function encode(message, writer) {
                                 if (!writer)
                                     writer = $Writer.create();
-                                if (message.tokenStatuses != null && Object.hasOwnProperty.call(message, "tokenStatuses"))
-                                    $root.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses.encode(message.tokenStatuses, 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.tokenId != null && Object.hasOwnProperty.call(message, "tokenId"))
+                                    writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.tokenId);
+                                if (message.startAtInfo != null && Object.hasOwnProperty.call(message, "startAtInfo"))
+                                    $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.encode(message.startAtInfo, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+                                if (message.limit != null && Object.hasOwnProperty.call(message, "limit"))
+                                    writer.uint32(/* id 3, wireType 0 =*/24).uint32(message.limit);
+                                if (message.prove != null && Object.hasOwnProperty.call(message, "prove"))
+                                    writer.uint32(/* id 4, wireType 0 =*/32).bool(message.prove);
                                 return writer;
                             };
 
                             /**
-                             * Encodes the specified GetTokenStatusesResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.verify|verify} messages.
+                             * Encodes the specified GetTokenPreProgrammedDistributionsRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.verify|verify} messages.
                              * @function encodeDelimited
-                             * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetTokenStatusesResponse.IGetTokenStatusesResponseV0} message GetTokenStatusesResponseV0 message or plain object to encode
+                             * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.IGetTokenPreProgrammedDistributionsRequestV0} message GetTokenPreProgrammedDistributionsRequestV0 message or plain object to encode
                              * @param {$protobuf.Writer} [writer] Writer to encode to
                              * @returns {$protobuf.Writer} Writer
                              */
-                            GetTokenStatusesResponseV0.encodeDelimited = function encodeDelimited(message, writer) {
+                            GetTokenPreProgrammedDistributionsRequestV0.encodeDelimited = function encodeDelimited(message, writer) {
                                 return this.encode(message, writer).ldelim();
                             };
 
                             /**
-                             * Decodes a GetTokenStatusesResponseV0 message from the specified reader or buffer.
+                             * Decodes a GetTokenPreProgrammedDistributionsRequestV0 message from the specified reader or buffer.
                              * @function decode
-                             * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0
                              * @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.GetTokenStatusesResponse.GetTokenStatusesResponseV0} GetTokenStatusesResponseV0
+                             * @returns {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0} GetTokenPreProgrammedDistributionsRequestV0
                              * @throws {Error} If the payload is not a reader or valid buffer
                              * @throws {$protobuf.util.ProtocolError} If required fields are missing
                              */
-                            GetTokenStatusesResponseV0.decode = function decode(reader, length) {
+                            GetTokenPreProgrammedDistributionsRequestV0.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.GetTokenStatusesResponse.GetTokenStatusesResponseV0();
+                                var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0();
                                 while (reader.pos < end) {
                                     var tag = reader.uint32();
                                     switch (tag >>> 3) {
                                     case 1:
-                                        message.tokenStatuses = $root.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses.decode(reader, reader.uint32());
+                                        message.tokenId = reader.bytes();
                                         break;
                                     case 2:
-                                        message.proof = $root.org.dash.platform.dapi.v0.Proof.decode(reader, reader.uint32());
+                                        message.startAtInfo = $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.decode(reader, reader.uint32());
                                         break;
                                     case 3:
-                                        message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.decode(reader, reader.uint32());
+                                        message.limit = reader.uint32();
+                                        break;
+                                    case 4:
+                                        message.prove = reader.bool();
                                         break;
                                     default:
                                         reader.skipType(tag & 7);
@@ -51385,149 +58755,145 @@ $root.org = (function() {
                             };
 
                             /**
-                             * Decodes a GetTokenStatusesResponseV0 message from the specified reader or buffer, length delimited.
+                             * Decodes a GetTokenPreProgrammedDistributionsRequestV0 message from the specified reader or buffer, length delimited.
                              * @function decodeDelimited
-                             * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0
                              * @static
                              * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                             * @returns {org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0} GetTokenStatusesResponseV0
+                             * @returns {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0} GetTokenPreProgrammedDistributionsRequestV0
                              * @throws {Error} If the payload is not a reader or valid buffer
                              * @throws {$protobuf.util.ProtocolError} If required fields are missing
                              */
-                            GetTokenStatusesResponseV0.decodeDelimited = function decodeDelimited(reader) {
+                            GetTokenPreProgrammedDistributionsRequestV0.decodeDelimited = function decodeDelimited(reader) {
                                 if (!(reader instanceof $Reader))
                                     reader = new $Reader(reader);
                                 return this.decode(reader, reader.uint32());
                             };
 
                             /**
-                             * Verifies a GetTokenStatusesResponseV0 message.
+                             * Verifies a GetTokenPreProgrammedDistributionsRequestV0 message.
                              * @function verify
-                             * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0
                              * @static
                              * @param {Object.} message Plain object to verify
                              * @returns {string|null} `null` if valid, otherwise the reason why it is not
                              */
-                            GetTokenStatusesResponseV0.verify = function verify(message) {
+                            GetTokenPreProgrammedDistributionsRequestV0.verify = function verify(message) {
                                 if (typeof message !== "object" || message === null)
                                     return "object expected";
-                                var properties = {};
-                                if (message.tokenStatuses != null && message.hasOwnProperty("tokenStatuses")) {
-                                    properties.result = 1;
-                                    {
-                                        var error = $root.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses.verify(message.tokenStatuses);
-                                        if (error)
-                                            return "tokenStatuses." + 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 (message.tokenId != null && message.hasOwnProperty("tokenId"))
+                                    if (!(message.tokenId && typeof message.tokenId.length === "number" || $util.isString(message.tokenId)))
+                                        return "tokenId: buffer expected";
+                                if (message.startAtInfo != null && message.hasOwnProperty("startAtInfo")) {
+                                    var error = $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.verify(message.startAtInfo);
                                     if (error)
-                                        return "metadata." + error;
+                                        return "startAtInfo." + error;
                                 }
+                                if (message.limit != null && message.hasOwnProperty("limit"))
+                                    if (!$util.isInteger(message.limit))
+                                        return "limit: integer expected";
+                                if (message.prove != null && message.hasOwnProperty("prove"))
+                                    if (typeof message.prove !== "boolean")
+                                        return "prove: boolean expected";
                                 return null;
                             };
 
                             /**
-                             * Creates a GetTokenStatusesResponseV0 message from a plain object. Also converts values to their respective internal types.
+                             * Creates a GetTokenPreProgrammedDistributionsRequestV0 message from a plain object. Also converts values to their respective internal types.
                              * @function fromObject
-                             * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0
                              * @static
                              * @param {Object.} object Plain object
-                             * @returns {org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0} GetTokenStatusesResponseV0
+                             * @returns {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0} GetTokenPreProgrammedDistributionsRequestV0
                              */
-                            GetTokenStatusesResponseV0.fromObject = function fromObject(object) {
-                                if (object instanceof $root.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0)
+                            GetTokenPreProgrammedDistributionsRequestV0.fromObject = function fromObject(object) {
+                                if (object instanceof $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0)
                                     return object;
-                                var message = new $root.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0();
-                                if (object.tokenStatuses != null) {
-                                    if (typeof object.tokenStatuses !== "object")
-                                        throw TypeError(".org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.tokenStatuses: object expected");
-                                    message.tokenStatuses = $root.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses.fromObject(object.tokenStatuses);
-                                }
-                                if (object.proof != null) {
-                                    if (typeof object.proof !== "object")
-                                        throw TypeError(".org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.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.GetTokenStatusesResponse.GetTokenStatusesResponseV0.metadata: object expected");
-                                    message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.fromObject(object.metadata);
+                                var message = new $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0();
+                                if (object.tokenId != null)
+                                    if (typeof object.tokenId === "string")
+                                        $util.base64.decode(object.tokenId, message.tokenId = $util.newBuffer($util.base64.length(object.tokenId)), 0);
+                                    else if (object.tokenId.length >= 0)
+                                        message.tokenId = object.tokenId;
+                                if (object.startAtInfo != null) {
+                                    if (typeof object.startAtInfo !== "object")
+                                        throw TypeError(".org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.startAtInfo: object expected");
+                                    message.startAtInfo = $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.fromObject(object.startAtInfo);
                                 }
+                                if (object.limit != null)
+                                    message.limit = object.limit >>> 0;
+                                if (object.prove != null)
+                                    message.prove = Boolean(object.prove);
                                 return message;
                             };
 
                             /**
-                             * Creates a plain object from a GetTokenStatusesResponseV0 message. Also converts values to other types if specified.
+                             * Creates a plain object from a GetTokenPreProgrammedDistributionsRequestV0 message. Also converts values to other types if specified.
                              * @function toObject
-                             * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0} message GetTokenStatusesResponseV0
+                             * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0} message GetTokenPreProgrammedDistributionsRequestV0
                              * @param {$protobuf.IConversionOptions} [options] Conversion options
                              * @returns {Object.} Plain object
                              */
-                            GetTokenStatusesResponseV0.toObject = function toObject(message, options) {
+                            GetTokenPreProgrammedDistributionsRequestV0.toObject = function toObject(message, options) {
                                 if (!options)
                                     options = {};
                                 var object = {};
-                                if (options.defaults)
-                                    object.metadata = null;
-                                if (message.tokenStatuses != null && message.hasOwnProperty("tokenStatuses")) {
-                                    object.tokenStatuses = $root.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses.toObject(message.tokenStatuses, options);
-                                    if (options.oneofs)
-                                        object.result = "tokenStatuses";
-                                }
-                                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.defaults) {
+                                    if (options.bytes === String)
+                                        object.tokenId = "";
+                                    else {
+                                        object.tokenId = [];
+                                        if (options.bytes !== Array)
+                                            object.tokenId = $util.newBuffer(object.tokenId);
+                                    }
+                                    object.startAtInfo = null;
+                                    object.limit = 0;
+                                    object.prove = false;
                                 }
-                                if (message.metadata != null && message.hasOwnProperty("metadata"))
-                                    object.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.toObject(message.metadata, options);
+                                if (message.tokenId != null && message.hasOwnProperty("tokenId"))
+                                    object.tokenId = options.bytes === String ? $util.base64.encode(message.tokenId, 0, message.tokenId.length) : options.bytes === Array ? Array.prototype.slice.call(message.tokenId) : message.tokenId;
+                                if (message.startAtInfo != null && message.hasOwnProperty("startAtInfo"))
+                                    object.startAtInfo = $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.toObject(message.startAtInfo, options);
+                                if (message.limit != null && message.hasOwnProperty("limit"))
+                                    object.limit = message.limit;
+                                if (message.prove != null && message.hasOwnProperty("prove"))
+                                    object.prove = message.prove;
                                 return object;
                             };
 
                             /**
-                             * Converts this GetTokenStatusesResponseV0 to JSON.
+                             * Converts this GetTokenPreProgrammedDistributionsRequestV0 to JSON.
                              * @function toJSON
-                             * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0
                              * @instance
                              * @returns {Object.} JSON object
                              */
-                            GetTokenStatusesResponseV0.prototype.toJSON = function toJSON() {
+                            GetTokenPreProgrammedDistributionsRequestV0.prototype.toJSON = function toJSON() {
                                 return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
                             };
 
-                            GetTokenStatusesResponseV0.TokenStatusEntry = (function() {
+                            GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo = (function() {
 
                                 /**
-                                 * Properties of a TokenStatusEntry.
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0
-                                 * @interface ITokenStatusEntry
-                                 * @property {Uint8Array|null} [tokenId] TokenStatusEntry tokenId
-                                 * @property {boolean|null} [paused] TokenStatusEntry paused
+                                 * Properties of a StartAtInfo.
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0
+                                 * @interface IStartAtInfo
+                                 * @property {number|Long|null} [startTimeMs] StartAtInfo startTimeMs
+                                 * @property {Uint8Array|null} [startRecipient] StartAtInfo startRecipient
+                                 * @property {boolean|null} [startRecipientIncluded] StartAtInfo startRecipientIncluded
                                  */
 
                                 /**
-                                 * Constructs a new TokenStatusEntry.
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0
-                                 * @classdesc Represents a TokenStatusEntry.
-                                 * @implements ITokenStatusEntry
+                                 * Constructs a new StartAtInfo.
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0
+                                 * @classdesc Represents a StartAtInfo.
+                                 * @implements IStartAtInfo
                                  * @constructor
-                                 * @param {org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.ITokenStatusEntry=} [properties] Properties to set
+                                 * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.IStartAtInfo=} [properties] Properties to set
                                  */
-                                function TokenStatusEntry(properties) {
+                                function StartAtInfo(properties) {
                                     if (properties)
                                         for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
                                             if (properties[keys[i]] != null)
@@ -51535,88 +58901,101 @@ $root.org = (function() {
                                 }
 
                                 /**
-                                 * TokenStatusEntry tokenId.
-                                 * @member {Uint8Array} tokenId
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry
+                                 * StartAtInfo startTimeMs.
+                                 * @member {number|Long} startTimeMs
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo
                                  * @instance
                                  */
-                                TokenStatusEntry.prototype.tokenId = $util.newBuffer([]);
+                                StartAtInfo.prototype.startTimeMs = $util.Long ? $util.Long.fromBits(0,0,true) : 0;
 
                                 /**
-                                 * TokenStatusEntry paused.
-                                 * @member {boolean} paused
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry
+                                 * StartAtInfo startRecipient.
+                                 * @member {Uint8Array} startRecipient
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo
                                  * @instance
                                  */
-                                TokenStatusEntry.prototype.paused = false;
+                                StartAtInfo.prototype.startRecipient = $util.newBuffer([]);
 
                                 /**
-                                 * Creates a new TokenStatusEntry instance using the specified properties.
+                                 * StartAtInfo startRecipientIncluded.
+                                 * @member {boolean} startRecipientIncluded
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo
+                                 * @instance
+                                 */
+                                StartAtInfo.prototype.startRecipientIncluded = false;
+
+                                /**
+                                 * Creates a new StartAtInfo instance using the specified properties.
                                  * @function create
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo
                                  * @static
-                                 * @param {org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.ITokenStatusEntry=} [properties] Properties to set
-                                 * @returns {org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry} TokenStatusEntry instance
+                                 * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.IStartAtInfo=} [properties] Properties to set
+                                 * @returns {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo} StartAtInfo instance
                                  */
-                                TokenStatusEntry.create = function create(properties) {
-                                    return new TokenStatusEntry(properties);
+                                StartAtInfo.create = function create(properties) {
+                                    return new StartAtInfo(properties);
                                 };
 
                                 /**
-                                 * Encodes the specified TokenStatusEntry message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry.verify|verify} messages.
+                                 * Encodes the specified StartAtInfo message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.verify|verify} messages.
                                  * @function encode
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo
                                  * @static
-                                 * @param {org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.ITokenStatusEntry} message TokenStatusEntry message or plain object to encode
+                                 * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.IStartAtInfo} message StartAtInfo message or plain object to encode
                                  * @param {$protobuf.Writer} [writer] Writer to encode to
                                  * @returns {$protobuf.Writer} Writer
                                  */
-                                TokenStatusEntry.encode = function encode(message, writer) {
+                                StartAtInfo.encode = function encode(message, writer) {
                                     if (!writer)
                                         writer = $Writer.create();
-                                    if (message.tokenId != null && Object.hasOwnProperty.call(message, "tokenId"))
-                                        writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.tokenId);
-                                    if (message.paused != null && Object.hasOwnProperty.call(message, "paused"))
-                                        writer.uint32(/* id 2, wireType 0 =*/16).bool(message.paused);
+                                    if (message.startTimeMs != null && Object.hasOwnProperty.call(message, "startTimeMs"))
+                                        writer.uint32(/* id 1, wireType 0 =*/8).uint64(message.startTimeMs);
+                                    if (message.startRecipient != null && Object.hasOwnProperty.call(message, "startRecipient"))
+                                        writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.startRecipient);
+                                    if (message.startRecipientIncluded != null && Object.hasOwnProperty.call(message, "startRecipientIncluded"))
+                                        writer.uint32(/* id 3, wireType 0 =*/24).bool(message.startRecipientIncluded);
                                     return writer;
                                 };
 
                                 /**
-                                 * Encodes the specified TokenStatusEntry message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry.verify|verify} messages.
+                                 * Encodes the specified StartAtInfo message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.verify|verify} messages.
                                  * @function encodeDelimited
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo
                                  * @static
-                                 * @param {org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.ITokenStatusEntry} message TokenStatusEntry message or plain object to encode
+                                 * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.IStartAtInfo} message StartAtInfo message or plain object to encode
                                  * @param {$protobuf.Writer} [writer] Writer to encode to
                                  * @returns {$protobuf.Writer} Writer
                                  */
-                                TokenStatusEntry.encodeDelimited = function encodeDelimited(message, writer) {
+                                StartAtInfo.encodeDelimited = function encodeDelimited(message, writer) {
                                     return this.encode(message, writer).ldelim();
                                 };
 
                                 /**
-                                 * Decodes a TokenStatusEntry message from the specified reader or buffer.
+                                 * Decodes a StartAtInfo message from the specified reader or buffer.
                                  * @function decode
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo
                                  * @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.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry} TokenStatusEntry
+                                 * @returns {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo} StartAtInfo
                                  * @throws {Error} If the payload is not a reader or valid buffer
                                  * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                  */
-                                TokenStatusEntry.decode = function decode(reader, length) {
+                                StartAtInfo.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.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry();
+                                    var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo();
                                     while (reader.pos < end) {
                                         var tag = reader.uint32();
                                         switch (tag >>> 3) {
                                         case 1:
-                                            message.tokenId = reader.bytes();
+                                            message.startTimeMs = reader.uint64();
                                             break;
                                         case 2:
-                                            message.paused = reader.bool();
+                                            message.startRecipient = reader.bytes();
+                                            break;
+                                        case 3:
+                                            message.startRecipientIncluded = reader.bool();
                                             break;
                                         default:
                                             reader.skipType(tag & 7);
@@ -51627,339 +59006,153 @@ $root.org = (function() {
                                 };
 
                                 /**
-                                 * Decodes a TokenStatusEntry message from the specified reader or buffer, length delimited.
+                                 * Decodes a StartAtInfo message from the specified reader or buffer, length delimited.
                                  * @function decodeDelimited
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo
                                  * @static
                                  * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                                 * @returns {org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry} TokenStatusEntry
+                                 * @returns {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo} StartAtInfo
                                  * @throws {Error} If the payload is not a reader or valid buffer
                                  * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                  */
-                                TokenStatusEntry.decodeDelimited = function decodeDelimited(reader) {
+                                StartAtInfo.decodeDelimited = function decodeDelimited(reader) {
                                     if (!(reader instanceof $Reader))
                                         reader = new $Reader(reader);
                                     return this.decode(reader, reader.uint32());
                                 };
 
                                 /**
-                                 * Verifies a TokenStatusEntry message.
+                                 * Verifies a StartAtInfo message.
                                  * @function verify
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo
                                  * @static
                                  * @param {Object.} message Plain object to verify
                                  * @returns {string|null} `null` if valid, otherwise the reason why it is not
                                  */
-                                TokenStatusEntry.verify = function verify(message) {
+                                StartAtInfo.verify = function verify(message) {
                                     if (typeof message !== "object" || message === null)
                                         return "object expected";
-                                    if (message.tokenId != null && message.hasOwnProperty("tokenId"))
-                                        if (!(message.tokenId && typeof message.tokenId.length === "number" || $util.isString(message.tokenId)))
-                                            return "tokenId: buffer expected";
-                                    if (message.paused != null && message.hasOwnProperty("paused"))
-                                        if (typeof message.paused !== "boolean")
-                                            return "paused: boolean expected";
+                                    if (message.startTimeMs != null && message.hasOwnProperty("startTimeMs"))
+                                        if (!$util.isInteger(message.startTimeMs) && !(message.startTimeMs && $util.isInteger(message.startTimeMs.low) && $util.isInteger(message.startTimeMs.high)))
+                                            return "startTimeMs: integer|Long expected";
+                                    if (message.startRecipient != null && message.hasOwnProperty("startRecipient"))
+                                        if (!(message.startRecipient && typeof message.startRecipient.length === "number" || $util.isString(message.startRecipient)))
+                                            return "startRecipient: buffer expected";
+                                    if (message.startRecipientIncluded != null && message.hasOwnProperty("startRecipientIncluded"))
+                                        if (typeof message.startRecipientIncluded !== "boolean")
+                                            return "startRecipientIncluded: boolean expected";
                                     return null;
                                 };
 
                                 /**
-                                 * Creates a TokenStatusEntry message from a plain object. Also converts values to their respective internal types.
+                                 * Creates a StartAtInfo message from a plain object. Also converts values to their respective internal types.
                                  * @function fromObject
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo
                                  * @static
                                  * @param {Object.} object Plain object
-                                 * @returns {org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry} TokenStatusEntry
+                                 * @returns {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo} StartAtInfo
                                  */
-                                TokenStatusEntry.fromObject = function fromObject(object) {
-                                    if (object instanceof $root.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry)
+                                StartAtInfo.fromObject = function fromObject(object) {
+                                    if (object instanceof $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo)
                                         return object;
-                                    var message = new $root.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry();
-                                    if (object.tokenId != null)
-                                        if (typeof object.tokenId === "string")
-                                            $util.base64.decode(object.tokenId, message.tokenId = $util.newBuffer($util.base64.length(object.tokenId)), 0);
-                                        else if (object.tokenId.length >= 0)
-                                            message.tokenId = object.tokenId;
-                                    if (object.paused != null)
-                                        message.paused = Boolean(object.paused);
+                                    var message = new $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo();
+                                    if (object.startTimeMs != null)
+                                        if ($util.Long)
+                                            (message.startTimeMs = $util.Long.fromValue(object.startTimeMs)).unsigned = true;
+                                        else if (typeof object.startTimeMs === "string")
+                                            message.startTimeMs = parseInt(object.startTimeMs, 10);
+                                        else if (typeof object.startTimeMs === "number")
+                                            message.startTimeMs = object.startTimeMs;
+                                        else if (typeof object.startTimeMs === "object")
+                                            message.startTimeMs = new $util.LongBits(object.startTimeMs.low >>> 0, object.startTimeMs.high >>> 0).toNumber(true);
+                                    if (object.startRecipient != null)
+                                        if (typeof object.startRecipient === "string")
+                                            $util.base64.decode(object.startRecipient, message.startRecipient = $util.newBuffer($util.base64.length(object.startRecipient)), 0);
+                                        else if (object.startRecipient.length >= 0)
+                                            message.startRecipient = object.startRecipient;
+                                    if (object.startRecipientIncluded != null)
+                                        message.startRecipientIncluded = Boolean(object.startRecipientIncluded);
                                     return message;
                                 };
 
                                 /**
-                                 * Creates a plain object from a TokenStatusEntry message. Also converts values to other types if specified.
+                                 * Creates a plain object from a StartAtInfo message. Also converts values to other types if specified.
                                  * @function toObject
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo
                                  * @static
-                                 * @param {org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry} message TokenStatusEntry
+                                 * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo} message StartAtInfo
                                  * @param {$protobuf.IConversionOptions} [options] Conversion options
                                  * @returns {Object.} Plain object
                                  */
-                                TokenStatusEntry.toObject = function toObject(message, options) {
+                                StartAtInfo.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.startTimeMs = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;
+                                        } else
+                                            object.startTimeMs = options.longs === String ? "0" : 0;
                                         if (options.bytes === String)
-                                            object.tokenId = "";
+                                            object.startRecipient = "";
                                         else {
-                                            object.tokenId = [];
+                                            object.startRecipient = [];
                                             if (options.bytes !== Array)
-                                                object.tokenId = $util.newBuffer(object.tokenId);
-                                        }
-                                        object.paused = false;
-                                    }
-                                    if (message.tokenId != null && message.hasOwnProperty("tokenId"))
-                                        object.tokenId = options.bytes === String ? $util.base64.encode(message.tokenId, 0, message.tokenId.length) : options.bytes === Array ? Array.prototype.slice.call(message.tokenId) : message.tokenId;
-                                    if (message.paused != null && message.hasOwnProperty("paused"))
-                                        object.paused = message.paused;
-                                    return object;
-                                };
-
-                                /**
-                                 * Converts this TokenStatusEntry to JSON.
-                                 * @function toJSON
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry
-                                 * @instance
-                                 * @returns {Object.} JSON object
-                                 */
-                                TokenStatusEntry.prototype.toJSON = function toJSON() {
-                                    return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
-                                };
-
-                                return TokenStatusEntry;
-                            })();
-
-                            GetTokenStatusesResponseV0.TokenStatuses = (function() {
-
-                                /**
-                                 * Properties of a TokenStatuses.
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0
-                                 * @interface ITokenStatuses
-                                 * @property {Array.|null} [tokenStatuses] TokenStatuses tokenStatuses
-                                 */
-
-                                /**
-                                 * Constructs a new TokenStatuses.
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0
-                                 * @classdesc Represents a TokenStatuses.
-                                 * @implements ITokenStatuses
-                                 * @constructor
-                                 * @param {org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.ITokenStatuses=} [properties] Properties to set
-                                 */
-                                function TokenStatuses(properties) {
-                                    this.tokenStatuses = [];
-                                    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]];
-                                }
-
-                                /**
-                                 * TokenStatuses tokenStatuses.
-                                 * @member {Array.} tokenStatuses
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses
-                                 * @instance
-                                 */
-                                TokenStatuses.prototype.tokenStatuses = $util.emptyArray;
-
-                                /**
-                                 * Creates a new TokenStatuses instance using the specified properties.
-                                 * @function create
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses
-                                 * @static
-                                 * @param {org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.ITokenStatuses=} [properties] Properties to set
-                                 * @returns {org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses} TokenStatuses instance
-                                 */
-                                TokenStatuses.create = function create(properties) {
-                                    return new TokenStatuses(properties);
-                                };
-
-                                /**
-                                 * Encodes the specified TokenStatuses message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses.verify|verify} messages.
-                                 * @function encode
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses
-                                 * @static
-                                 * @param {org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.ITokenStatuses} message TokenStatuses message or plain object to encode
-                                 * @param {$protobuf.Writer} [writer] Writer to encode to
-                                 * @returns {$protobuf.Writer} Writer
-                                 */
-                                TokenStatuses.encode = function encode(message, writer) {
-                                    if (!writer)
-                                        writer = $Writer.create();
-                                    if (message.tokenStatuses != null && message.tokenStatuses.length)
-                                        for (var i = 0; i < message.tokenStatuses.length; ++i)
-                                            $root.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry.encode(message.tokenStatuses[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
-                                    return writer;
-                                };
-
-                                /**
-                                 * Encodes the specified TokenStatuses message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses.verify|verify} messages.
-                                 * @function encodeDelimited
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses
-                                 * @static
-                                 * @param {org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.ITokenStatuses} message TokenStatuses message or plain object to encode
-                                 * @param {$protobuf.Writer} [writer] Writer to encode to
-                                 * @returns {$protobuf.Writer} Writer
-                                 */
-                                TokenStatuses.encodeDelimited = function encodeDelimited(message, writer) {
-                                    return this.encode(message, writer).ldelim();
-                                };
-
-                                /**
-                                 * Decodes a TokenStatuses message from the specified reader or buffer.
-                                 * @function decode
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses
-                                 * @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.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses} TokenStatuses
-                                 * @throws {Error} If the payload is not a reader or valid buffer
-                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
-                                 */
-                                TokenStatuses.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.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses();
-                                    while (reader.pos < end) {
-                                        var tag = reader.uint32();
-                                        switch (tag >>> 3) {
-                                        case 1:
-                                            if (!(message.tokenStatuses && message.tokenStatuses.length))
-                                                message.tokenStatuses = [];
-                                            message.tokenStatuses.push($root.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry.decode(reader, reader.uint32()));
-                                            break;
-                                        default:
-                                            reader.skipType(tag & 7);
-                                            break;
-                                        }
-                                    }
-                                    return message;
-                                };
-
-                                /**
-                                 * Decodes a TokenStatuses message from the specified reader or buffer, length delimited.
-                                 * @function decodeDelimited
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses
-                                 * @static
-                                 * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                                 * @returns {org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses} TokenStatuses
-                                 * @throws {Error} If the payload is not a reader or valid buffer
-                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
-                                 */
-                                TokenStatuses.decodeDelimited = function decodeDelimited(reader) {
-                                    if (!(reader instanceof $Reader))
-                                        reader = new $Reader(reader);
-                                    return this.decode(reader, reader.uint32());
-                                };
-
-                                /**
-                                 * Verifies a TokenStatuses message.
-                                 * @function verify
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses
-                                 * @static
-                                 * @param {Object.} message Plain object to verify
-                                 * @returns {string|null} `null` if valid, otherwise the reason why it is not
-                                 */
-                                TokenStatuses.verify = function verify(message) {
-                                    if (typeof message !== "object" || message === null)
-                                        return "object expected";
-                                    if (message.tokenStatuses != null && message.hasOwnProperty("tokenStatuses")) {
-                                        if (!Array.isArray(message.tokenStatuses))
-                                            return "tokenStatuses: array expected";
-                                        for (var i = 0; i < message.tokenStatuses.length; ++i) {
-                                            var error = $root.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry.verify(message.tokenStatuses[i]);
-                                            if (error)
-                                                return "tokenStatuses." + error;
-                                        }
-                                    }
-                                    return null;
-                                };
-
-                                /**
-                                 * Creates a TokenStatuses message from a plain object. Also converts values to their respective internal types.
-                                 * @function fromObject
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses
-                                 * @static
-                                 * @param {Object.} object Plain object
-                                 * @returns {org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses} TokenStatuses
-                                 */
-                                TokenStatuses.fromObject = function fromObject(object) {
-                                    if (object instanceof $root.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses)
-                                        return object;
-                                    var message = new $root.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses();
-                                    if (object.tokenStatuses) {
-                                        if (!Array.isArray(object.tokenStatuses))
-                                            throw TypeError(".org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses.tokenStatuses: array expected");
-                                        message.tokenStatuses = [];
-                                        for (var i = 0; i < object.tokenStatuses.length; ++i) {
-                                            if (typeof object.tokenStatuses[i] !== "object")
-                                                throw TypeError(".org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses.tokenStatuses: object expected");
-                                            message.tokenStatuses[i] = $root.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry.fromObject(object.tokenStatuses[i]);
+                                                object.startRecipient = $util.newBuffer(object.startRecipient);
                                         }
+                                        object.startRecipientIncluded = false;
                                     }
-                                    return message;
-                                };
-
-                                /**
-                                 * Creates a plain object from a TokenStatuses message. Also converts values to other types if specified.
-                                 * @function toObject
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses
-                                 * @static
-                                 * @param {org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses} message TokenStatuses
-                                 * @param {$protobuf.IConversionOptions} [options] Conversion options
-                                 * @returns {Object.} Plain object
-                                 */
-                                TokenStatuses.toObject = function toObject(message, options) {
-                                    if (!options)
-                                        options = {};
-                                    var object = {};
-                                    if (options.arrays || options.defaults)
-                                        object.tokenStatuses = [];
-                                    if (message.tokenStatuses && message.tokenStatuses.length) {
-                                        object.tokenStatuses = [];
-                                        for (var j = 0; j < message.tokenStatuses.length; ++j)
-                                            object.tokenStatuses[j] = $root.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry.toObject(message.tokenStatuses[j], options);
-                                    }
+                                    if (message.startTimeMs != null && message.hasOwnProperty("startTimeMs"))
+                                        if (typeof message.startTimeMs === "number")
+                                            object.startTimeMs = options.longs === String ? String(message.startTimeMs) : message.startTimeMs;
+                                        else
+                                            object.startTimeMs = options.longs === String ? $util.Long.prototype.toString.call(message.startTimeMs) : options.longs === Number ? new $util.LongBits(message.startTimeMs.low >>> 0, message.startTimeMs.high >>> 0).toNumber(true) : message.startTimeMs;
+                                    if (message.startRecipient != null && message.hasOwnProperty("startRecipient"))
+                                        object.startRecipient = options.bytes === String ? $util.base64.encode(message.startRecipient, 0, message.startRecipient.length) : options.bytes === Array ? Array.prototype.slice.call(message.startRecipient) : message.startRecipient;
+                                    if (message.startRecipientIncluded != null && message.hasOwnProperty("startRecipientIncluded"))
+                                        object.startRecipientIncluded = message.startRecipientIncluded;
                                     return object;
                                 };
 
                                 /**
-                                 * Converts this TokenStatuses to JSON.
+                                 * Converts this StartAtInfo to JSON.
                                  * @function toJSON
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo
                                  * @instance
                                  * @returns {Object.} JSON object
                                  */
-                                TokenStatuses.prototype.toJSON = function toJSON() {
+                                StartAtInfo.prototype.toJSON = function toJSON() {
                                     return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
                                 };
 
-                                return TokenStatuses;
+                                return StartAtInfo;
                             })();
 
-                            return GetTokenStatusesResponseV0;
+                            return GetTokenPreProgrammedDistributionsRequestV0;
                         })();
 
-                        return GetTokenStatusesResponse;
+                        return GetTokenPreProgrammedDistributionsRequest;
                     })();
 
-                    v0.GetTokenDirectPurchasePricesResponse = (function() {
+                    v0.GetTokenPreProgrammedDistributionsResponse = (function() {
 
                         /**
-                         * Properties of a GetTokenDirectPurchasePricesResponse.
+                         * Properties of a GetTokenPreProgrammedDistributionsResponse.
                          * @memberof org.dash.platform.dapi.v0
-                         * @interface IGetTokenDirectPurchasePricesResponse
-                         * @property {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.IGetTokenDirectPurchasePricesResponseV0|null} [v0] GetTokenDirectPurchasePricesResponse v0
+                         * @interface IGetTokenPreProgrammedDistributionsResponse
+                         * @property {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.IGetTokenPreProgrammedDistributionsResponseV0|null} [v0] GetTokenPreProgrammedDistributionsResponse v0
                          */
 
                         /**
-                         * Constructs a new GetTokenDirectPurchasePricesResponse.
+                         * Constructs a new GetTokenPreProgrammedDistributionsResponse.
                          * @memberof org.dash.platform.dapi.v0
-                         * @classdesc Represents a GetTokenDirectPurchasePricesResponse.
-                         * @implements IGetTokenDirectPurchasePricesResponse
+                         * @classdesc Represents a GetTokenPreProgrammedDistributionsResponse.
+                         * @implements IGetTokenPreProgrammedDistributionsResponse
                          * @constructor
-                         * @param {org.dash.platform.dapi.v0.IGetTokenDirectPurchasePricesResponse=} [properties] Properties to set
+                         * @param {org.dash.platform.dapi.v0.IGetTokenPreProgrammedDistributionsResponse=} [properties] Properties to set
                          */
-                        function GetTokenDirectPurchasePricesResponse(properties) {
+                        function GetTokenPreProgrammedDistributionsResponse(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
                                     if (properties[keys[i]] != null)
@@ -51967,89 +59160,89 @@ $root.org = (function() {
                         }
 
                         /**
-                         * GetTokenDirectPurchasePricesResponse v0.
-                         * @member {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.IGetTokenDirectPurchasePricesResponseV0|null|undefined} v0
-                         * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse
+                         * GetTokenPreProgrammedDistributionsResponse v0.
+                         * @member {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.IGetTokenPreProgrammedDistributionsResponseV0|null|undefined} v0
+                         * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse
                          * @instance
                          */
-                        GetTokenDirectPurchasePricesResponse.prototype.v0 = null;
+                        GetTokenPreProgrammedDistributionsResponse.prototype.v0 = null;
 
                         // OneOf field names bound to virtual getters and setters
                         var $oneOfFields;
 
                         /**
-                         * GetTokenDirectPurchasePricesResponse version.
+                         * GetTokenPreProgrammedDistributionsResponse version.
                          * @member {"v0"|undefined} version
-                         * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse
+                         * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse
                          * @instance
                          */
-                        Object.defineProperty(GetTokenDirectPurchasePricesResponse.prototype, "version", {
+                        Object.defineProperty(GetTokenPreProgrammedDistributionsResponse.prototype, "version", {
                             get: $util.oneOfGetter($oneOfFields = ["v0"]),
                             set: $util.oneOfSetter($oneOfFields)
                         });
 
                         /**
-                         * Creates a new GetTokenDirectPurchasePricesResponse instance using the specified properties.
+                         * Creates a new GetTokenPreProgrammedDistributionsResponse instance using the specified properties.
                          * @function create
-                         * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse
+                         * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse
                          * @static
-                         * @param {org.dash.platform.dapi.v0.IGetTokenDirectPurchasePricesResponse=} [properties] Properties to set
-                         * @returns {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse} GetTokenDirectPurchasePricesResponse instance
+                         * @param {org.dash.platform.dapi.v0.IGetTokenPreProgrammedDistributionsResponse=} [properties] Properties to set
+                         * @returns {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse} GetTokenPreProgrammedDistributionsResponse instance
                          */
-                        GetTokenDirectPurchasePricesResponse.create = function create(properties) {
-                            return new GetTokenDirectPurchasePricesResponse(properties);
+                        GetTokenPreProgrammedDistributionsResponse.create = function create(properties) {
+                            return new GetTokenPreProgrammedDistributionsResponse(properties);
                         };
 
                         /**
-                         * Encodes the specified GetTokenDirectPurchasePricesResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.verify|verify} messages.
+                         * Encodes the specified GetTokenPreProgrammedDistributionsResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.verify|verify} messages.
                          * @function encode
-                         * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse
+                         * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse
                          * @static
-                         * @param {org.dash.platform.dapi.v0.IGetTokenDirectPurchasePricesResponse} message GetTokenDirectPurchasePricesResponse message or plain object to encode
+                         * @param {org.dash.platform.dapi.v0.IGetTokenPreProgrammedDistributionsResponse} message GetTokenPreProgrammedDistributionsResponse message or plain object to encode
                          * @param {$protobuf.Writer} [writer] Writer to encode to
                          * @returns {$protobuf.Writer} Writer
                          */
-                        GetTokenDirectPurchasePricesResponse.encode = function encode(message, writer) {
+                        GetTokenPreProgrammedDistributionsResponse.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.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+                                $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
                             return writer;
                         };
 
                         /**
-                         * Encodes the specified GetTokenDirectPurchasePricesResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.verify|verify} messages.
+                         * Encodes the specified GetTokenPreProgrammedDistributionsResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.verify|verify} messages.
                          * @function encodeDelimited
-                         * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse
+                         * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse
                          * @static
-                         * @param {org.dash.platform.dapi.v0.IGetTokenDirectPurchasePricesResponse} message GetTokenDirectPurchasePricesResponse message or plain object to encode
+                         * @param {org.dash.platform.dapi.v0.IGetTokenPreProgrammedDistributionsResponse} message GetTokenPreProgrammedDistributionsResponse message or plain object to encode
                          * @param {$protobuf.Writer} [writer] Writer to encode to
                          * @returns {$protobuf.Writer} Writer
                          */
-                        GetTokenDirectPurchasePricesResponse.encodeDelimited = function encodeDelimited(message, writer) {
+                        GetTokenPreProgrammedDistributionsResponse.encodeDelimited = function encodeDelimited(message, writer) {
                             return this.encode(message, writer).ldelim();
                         };
 
                         /**
-                         * Decodes a GetTokenDirectPurchasePricesResponse message from the specified reader or buffer.
+                         * Decodes a GetTokenPreProgrammedDistributionsResponse message from the specified reader or buffer.
                          * @function decode
-                         * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse
+                         * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse
                          * @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.GetTokenDirectPurchasePricesResponse} GetTokenDirectPurchasePricesResponse
+                         * @returns {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse} GetTokenPreProgrammedDistributionsResponse
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        GetTokenDirectPurchasePricesResponse.decode = function decode(reader, length) {
+                        GetTokenPreProgrammedDistributionsResponse.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.GetTokenDirectPurchasePricesResponse();
+                            var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
                                 switch (tag >>> 3) {
                                 case 1:
-                                    message.v0 = $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.decode(reader, reader.uint32());
+                                    message.v0 = $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.decode(reader, reader.uint32());
                                     break;
                                 default:
                                     reader.skipType(tag & 7);
@@ -52060,37 +59253,37 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Decodes a GetTokenDirectPurchasePricesResponse message from the specified reader or buffer, length delimited.
+                         * Decodes a GetTokenPreProgrammedDistributionsResponse message from the specified reader or buffer, length delimited.
                          * @function decodeDelimited
-                         * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse
+                         * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse
                          * @static
                          * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                         * @returns {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse} GetTokenDirectPurchasePricesResponse
+                         * @returns {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse} GetTokenPreProgrammedDistributionsResponse
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        GetTokenDirectPurchasePricesResponse.decodeDelimited = function decodeDelimited(reader) {
+                        GetTokenPreProgrammedDistributionsResponse.decodeDelimited = function decodeDelimited(reader) {
                             if (!(reader instanceof $Reader))
                                 reader = new $Reader(reader);
                             return this.decode(reader, reader.uint32());
                         };
 
                         /**
-                         * Verifies a GetTokenDirectPurchasePricesResponse message.
+                         * Verifies a GetTokenPreProgrammedDistributionsResponse message.
                          * @function verify
-                         * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse
+                         * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse
                          * @static
                          * @param {Object.} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        GetTokenDirectPurchasePricesResponse.verify = function verify(message) {
+                        GetTokenPreProgrammedDistributionsResponse.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.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.verify(message.v0);
+                                    var error = $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.verify(message.v0);
                                     if (error)
                                         return "v0." + error;
                                 }
@@ -52099,40 +59292,40 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Creates a GetTokenDirectPurchasePricesResponse message from a plain object. Also converts values to their respective internal types.
+                         * Creates a GetTokenPreProgrammedDistributionsResponse message from a plain object. Also converts values to their respective internal types.
                          * @function fromObject
-                         * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse
+                         * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse
                          * @static
                          * @param {Object.} object Plain object
-                         * @returns {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse} GetTokenDirectPurchasePricesResponse
+                         * @returns {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse} GetTokenPreProgrammedDistributionsResponse
                          */
-                        GetTokenDirectPurchasePricesResponse.fromObject = function fromObject(object) {
-                            if (object instanceof $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse)
+                        GetTokenPreProgrammedDistributionsResponse.fromObject = function fromObject(object) {
+                            if (object instanceof $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse)
                                 return object;
-                            var message = new $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse();
+                            var message = new $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse();
                             if (object.v0 != null) {
                                 if (typeof object.v0 !== "object")
-                                    throw TypeError(".org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.v0: object expected");
-                                message.v0 = $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.fromObject(object.v0);
+                                    throw TypeError(".org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.v0: object expected");
+                                message.v0 = $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.fromObject(object.v0);
                             }
                             return message;
                         };
 
                         /**
-                         * Creates a plain object from a GetTokenDirectPurchasePricesResponse message. Also converts values to other types if specified.
+                         * Creates a plain object from a GetTokenPreProgrammedDistributionsResponse message. Also converts values to other types if specified.
                          * @function toObject
-                         * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse
+                         * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse
                          * @static
-                         * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse} message GetTokenDirectPurchasePricesResponse
+                         * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse} message GetTokenPreProgrammedDistributionsResponse
                          * @param {$protobuf.IConversionOptions} [options] Conversion options
                          * @returns {Object.} Plain object
                          */
-                        GetTokenDirectPurchasePricesResponse.toObject = function toObject(message, options) {
+                        GetTokenPreProgrammedDistributionsResponse.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.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.toObject(message.v0, options);
+                                object.v0 = $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.toObject(message.v0, options);
                                 if (options.oneofs)
                                     object.version = "v0";
                             }
@@ -52140,36 +59333,36 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Converts this GetTokenDirectPurchasePricesResponse to JSON.
+                         * Converts this GetTokenPreProgrammedDistributionsResponse to JSON.
                          * @function toJSON
-                         * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse
+                         * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse
                          * @instance
                          * @returns {Object.} JSON object
                          */
-                        GetTokenDirectPurchasePricesResponse.prototype.toJSON = function toJSON() {
+                        GetTokenPreProgrammedDistributionsResponse.prototype.toJSON = function toJSON() {
                             return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
                         };
 
-                        GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0 = (function() {
+                        GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0 = (function() {
 
                             /**
-                             * Properties of a GetTokenDirectPurchasePricesResponseV0.
-                             * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse
-                             * @interface IGetTokenDirectPurchasePricesResponseV0
-                             * @property {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.ITokenDirectPurchasePrices|null} [tokenDirectPurchasePrices] GetTokenDirectPurchasePricesResponseV0 tokenDirectPurchasePrices
-                             * @property {org.dash.platform.dapi.v0.IProof|null} [proof] GetTokenDirectPurchasePricesResponseV0 proof
-                             * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetTokenDirectPurchasePricesResponseV0 metadata
+                             * Properties of a GetTokenPreProgrammedDistributionsResponseV0.
+                             * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse
+                             * @interface IGetTokenPreProgrammedDistributionsResponseV0
+                             * @property {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.ITokenDistributions|null} [tokenDistributions] GetTokenPreProgrammedDistributionsResponseV0 tokenDistributions
+                             * @property {org.dash.platform.dapi.v0.IProof|null} [proof] GetTokenPreProgrammedDistributionsResponseV0 proof
+                             * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetTokenPreProgrammedDistributionsResponseV0 metadata
                              */
 
                             /**
-                             * Constructs a new GetTokenDirectPurchasePricesResponseV0.
-                             * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse
-                             * @classdesc Represents a GetTokenDirectPurchasePricesResponseV0.
-                             * @implements IGetTokenDirectPurchasePricesResponseV0
+                             * Constructs a new GetTokenPreProgrammedDistributionsResponseV0.
+                             * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse
+                             * @classdesc Represents a GetTokenPreProgrammedDistributionsResponseV0.
+                             * @implements IGetTokenPreProgrammedDistributionsResponseV0
                              * @constructor
-                             * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.IGetTokenDirectPurchasePricesResponseV0=} [properties] Properties to set
+                             * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.IGetTokenPreProgrammedDistributionsResponseV0=} [properties] Properties to set
                              */
-                            function GetTokenDirectPurchasePricesResponseV0(properties) {
+                            function GetTokenPreProgrammedDistributionsResponseV0(properties) {
                                 if (properties)
                                     for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
                                         if (properties[keys[i]] != null)
@@ -52177,69 +59370,69 @@ $root.org = (function() {
                             }
 
                             /**
-                             * GetTokenDirectPurchasePricesResponseV0 tokenDirectPurchasePrices.
-                             * @member {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.ITokenDirectPurchasePrices|null|undefined} tokenDirectPurchasePrices
-                             * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0
+                             * GetTokenPreProgrammedDistributionsResponseV0 tokenDistributions.
+                             * @member {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.ITokenDistributions|null|undefined} tokenDistributions
+                             * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0
                              * @instance
                              */
-                            GetTokenDirectPurchasePricesResponseV0.prototype.tokenDirectPurchasePrices = null;
+                            GetTokenPreProgrammedDistributionsResponseV0.prototype.tokenDistributions = null;
 
                             /**
-                             * GetTokenDirectPurchasePricesResponseV0 proof.
+                             * GetTokenPreProgrammedDistributionsResponseV0 proof.
                              * @member {org.dash.platform.dapi.v0.IProof|null|undefined} proof
-                             * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0
                              * @instance
                              */
-                            GetTokenDirectPurchasePricesResponseV0.prototype.proof = null;
+                            GetTokenPreProgrammedDistributionsResponseV0.prototype.proof = null;
 
                             /**
-                             * GetTokenDirectPurchasePricesResponseV0 metadata.
+                             * GetTokenPreProgrammedDistributionsResponseV0 metadata.
                              * @member {org.dash.platform.dapi.v0.IResponseMetadata|null|undefined} metadata
-                             * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0
                              * @instance
                              */
-                            GetTokenDirectPurchasePricesResponseV0.prototype.metadata = null;
+                            GetTokenPreProgrammedDistributionsResponseV0.prototype.metadata = null;
 
                             // OneOf field names bound to virtual getters and setters
                             var $oneOfFields;
 
                             /**
-                             * GetTokenDirectPurchasePricesResponseV0 result.
-                             * @member {"tokenDirectPurchasePrices"|"proof"|undefined} result
-                             * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0
+                             * GetTokenPreProgrammedDistributionsResponseV0 result.
+                             * @member {"tokenDistributions"|"proof"|undefined} result
+                             * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0
                              * @instance
                              */
-                            Object.defineProperty(GetTokenDirectPurchasePricesResponseV0.prototype, "result", {
-                                get: $util.oneOfGetter($oneOfFields = ["tokenDirectPurchasePrices", "proof"]),
+                            Object.defineProperty(GetTokenPreProgrammedDistributionsResponseV0.prototype, "result", {
+                                get: $util.oneOfGetter($oneOfFields = ["tokenDistributions", "proof"]),
                                 set: $util.oneOfSetter($oneOfFields)
                             });
 
                             /**
-                             * Creates a new GetTokenDirectPurchasePricesResponseV0 instance using the specified properties.
+                             * Creates a new GetTokenPreProgrammedDistributionsResponseV0 instance using the specified properties.
                              * @function create
-                             * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.IGetTokenDirectPurchasePricesResponseV0=} [properties] Properties to set
-                             * @returns {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0} GetTokenDirectPurchasePricesResponseV0 instance
+                             * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.IGetTokenPreProgrammedDistributionsResponseV0=} [properties] Properties to set
+                             * @returns {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0} GetTokenPreProgrammedDistributionsResponseV0 instance
                              */
-                            GetTokenDirectPurchasePricesResponseV0.create = function create(properties) {
-                                return new GetTokenDirectPurchasePricesResponseV0(properties);
+                            GetTokenPreProgrammedDistributionsResponseV0.create = function create(properties) {
+                                return new GetTokenPreProgrammedDistributionsResponseV0(properties);
                             };
 
                             /**
-                             * Encodes the specified GetTokenDirectPurchasePricesResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.verify|verify} messages.
+                             * Encodes the specified GetTokenPreProgrammedDistributionsResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.verify|verify} messages.
                              * @function encode
-                             * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.IGetTokenDirectPurchasePricesResponseV0} message GetTokenDirectPurchasePricesResponseV0 message or plain object to encode
+                             * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.IGetTokenPreProgrammedDistributionsResponseV0} message GetTokenPreProgrammedDistributionsResponseV0 message or plain object to encode
                              * @param {$protobuf.Writer} [writer] Writer to encode to
                              * @returns {$protobuf.Writer} Writer
                              */
-                            GetTokenDirectPurchasePricesResponseV0.encode = function encode(message, writer) {
+                            GetTokenPreProgrammedDistributionsResponseV0.encode = function encode(message, writer) {
                                 if (!writer)
                                     writer = $Writer.create();
-                                if (message.tokenDirectPurchasePrices != null && Object.hasOwnProperty.call(message, "tokenDirectPurchasePrices"))
-                                    $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices.encode(message.tokenDirectPurchasePrices, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+                                if (message.tokenDistributions != null && Object.hasOwnProperty.call(message, "tokenDistributions"))
+                                    $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions.encode(message.tokenDistributions, 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"))
@@ -52248,38 +59441,38 @@ $root.org = (function() {
                             };
 
                             /**
-                             * Encodes the specified GetTokenDirectPurchasePricesResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.verify|verify} messages.
+                             * Encodes the specified GetTokenPreProgrammedDistributionsResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.verify|verify} messages.
                              * @function encodeDelimited
-                             * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.IGetTokenDirectPurchasePricesResponseV0} message GetTokenDirectPurchasePricesResponseV0 message or plain object to encode
+                             * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.IGetTokenPreProgrammedDistributionsResponseV0} message GetTokenPreProgrammedDistributionsResponseV0 message or plain object to encode
                              * @param {$protobuf.Writer} [writer] Writer to encode to
                              * @returns {$protobuf.Writer} Writer
                              */
-                            GetTokenDirectPurchasePricesResponseV0.encodeDelimited = function encodeDelimited(message, writer) {
+                            GetTokenPreProgrammedDistributionsResponseV0.encodeDelimited = function encodeDelimited(message, writer) {
                                 return this.encode(message, writer).ldelim();
                             };
 
                             /**
-                             * Decodes a GetTokenDirectPurchasePricesResponseV0 message from the specified reader or buffer.
+                             * Decodes a GetTokenPreProgrammedDistributionsResponseV0 message from the specified reader or buffer.
                              * @function decode
-                             * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0
                              * @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.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0} GetTokenDirectPurchasePricesResponseV0
+                             * @returns {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0} GetTokenPreProgrammedDistributionsResponseV0
                              * @throws {Error} If the payload is not a reader or valid buffer
                              * @throws {$protobuf.util.ProtocolError} If required fields are missing
                              */
-                            GetTokenDirectPurchasePricesResponseV0.decode = function decode(reader, length) {
+                            GetTokenPreProgrammedDistributionsResponseV0.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.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0();
+                                var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0();
                                 while (reader.pos < end) {
                                     var tag = reader.uint32();
                                     switch (tag >>> 3) {
                                     case 1:
-                                        message.tokenDirectPurchasePrices = $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices.decode(reader, reader.uint32());
+                                        message.tokenDistributions = $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions.decode(reader, reader.uint32());
                                         break;
                                     case 2:
                                         message.proof = $root.org.dash.platform.dapi.v0.Proof.decode(reader, reader.uint32());
@@ -52296,39 +59489,39 @@ $root.org = (function() {
                             };
 
                             /**
-                             * Decodes a GetTokenDirectPurchasePricesResponseV0 message from the specified reader or buffer, length delimited.
+                             * Decodes a GetTokenPreProgrammedDistributionsResponseV0 message from the specified reader or buffer, length delimited.
                              * @function decodeDelimited
-                             * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0
                              * @static
                              * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                             * @returns {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0} GetTokenDirectPurchasePricesResponseV0
+                             * @returns {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0} GetTokenPreProgrammedDistributionsResponseV0
                              * @throws {Error} If the payload is not a reader or valid buffer
                              * @throws {$protobuf.util.ProtocolError} If required fields are missing
                              */
-                            GetTokenDirectPurchasePricesResponseV0.decodeDelimited = function decodeDelimited(reader) {
+                            GetTokenPreProgrammedDistributionsResponseV0.decodeDelimited = function decodeDelimited(reader) {
                                 if (!(reader instanceof $Reader))
                                     reader = new $Reader(reader);
                                 return this.decode(reader, reader.uint32());
                             };
 
                             /**
-                             * Verifies a GetTokenDirectPurchasePricesResponseV0 message.
+                             * Verifies a GetTokenPreProgrammedDistributionsResponseV0 message.
                              * @function verify
-                             * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0
                              * @static
                              * @param {Object.} message Plain object to verify
                              * @returns {string|null} `null` if valid, otherwise the reason why it is not
                              */
-                            GetTokenDirectPurchasePricesResponseV0.verify = function verify(message) {
+                            GetTokenPreProgrammedDistributionsResponseV0.verify = function verify(message) {
                                 if (typeof message !== "object" || message === null)
                                     return "object expected";
                                 var properties = {};
-                                if (message.tokenDirectPurchasePrices != null && message.hasOwnProperty("tokenDirectPurchasePrices")) {
+                                if (message.tokenDistributions != null && message.hasOwnProperty("tokenDistributions")) {
                                     properties.result = 1;
                                     {
-                                        var error = $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices.verify(message.tokenDirectPurchasePrices);
+                                        var error = $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions.verify(message.tokenDistributions);
                                         if (error)
-                                            return "tokenDirectPurchasePrices." + error;
+                                            return "tokenDistributions." + error;
                                     }
                                 }
                                 if (message.proof != null && message.hasOwnProperty("proof")) {
@@ -52350,54 +59543,54 @@ $root.org = (function() {
                             };
 
                             /**
-                             * Creates a GetTokenDirectPurchasePricesResponseV0 message from a plain object. Also converts values to their respective internal types.
+                             * Creates a GetTokenPreProgrammedDistributionsResponseV0 message from a plain object. Also converts values to their respective internal types.
                              * @function fromObject
-                             * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0
                              * @static
                              * @param {Object.} object Plain object
-                             * @returns {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0} GetTokenDirectPurchasePricesResponseV0
+                             * @returns {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0} GetTokenPreProgrammedDistributionsResponseV0
                              */
-                            GetTokenDirectPurchasePricesResponseV0.fromObject = function fromObject(object) {
-                                if (object instanceof $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0)
+                            GetTokenPreProgrammedDistributionsResponseV0.fromObject = function fromObject(object) {
+                                if (object instanceof $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0)
                                     return object;
-                                var message = new $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0();
-                                if (object.tokenDirectPurchasePrices != null) {
-                                    if (typeof object.tokenDirectPurchasePrices !== "object")
-                                        throw TypeError(".org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.tokenDirectPurchasePrices: object expected");
-                                    message.tokenDirectPurchasePrices = $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices.fromObject(object.tokenDirectPurchasePrices);
+                                var message = new $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0();
+                                if (object.tokenDistributions != null) {
+                                    if (typeof object.tokenDistributions !== "object")
+                                        throw TypeError(".org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.tokenDistributions: object expected");
+                                    message.tokenDistributions = $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions.fromObject(object.tokenDistributions);
                                 }
                                 if (object.proof != null) {
                                     if (typeof object.proof !== "object")
-                                        throw TypeError(".org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.proof: object expected");
+                                        throw TypeError(".org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.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.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.metadata: object expected");
+                                        throw TypeError(".org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.metadata: object expected");
                                     message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.fromObject(object.metadata);
                                 }
                                 return message;
                             };
 
                             /**
-                             * Creates a plain object from a GetTokenDirectPurchasePricesResponseV0 message. Also converts values to other types if specified.
+                             * Creates a plain object from a GetTokenPreProgrammedDistributionsResponseV0 message. Also converts values to other types if specified.
                              * @function toObject
-                             * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0} message GetTokenDirectPurchasePricesResponseV0
+                             * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0} message GetTokenPreProgrammedDistributionsResponseV0
                              * @param {$protobuf.IConversionOptions} [options] Conversion options
                              * @returns {Object.} Plain object
                              */
-                            GetTokenDirectPurchasePricesResponseV0.toObject = function toObject(message, options) {
+                            GetTokenPreProgrammedDistributionsResponseV0.toObject = function toObject(message, options) {
                                 if (!options)
                                     options = {};
                                 var object = {};
                                 if (options.defaults)
                                     object.metadata = null;
-                                if (message.tokenDirectPurchasePrices != null && message.hasOwnProperty("tokenDirectPurchasePrices")) {
-                                    object.tokenDirectPurchasePrices = $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices.toObject(message.tokenDirectPurchasePrices, options);
+                                if (message.tokenDistributions != null && message.hasOwnProperty("tokenDistributions")) {
+                                    object.tokenDistributions = $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions.toObject(message.tokenDistributions, options);
                                     if (options.oneofs)
-                                        object.result = "tokenDirectPurchasePrices";
+                                        object.result = "tokenDistributions";
                                 }
                                 if (message.proof != null && message.hasOwnProperty("proof")) {
                                     object.proof = $root.org.dash.platform.dapi.v0.Proof.toObject(message.proof, options);
@@ -52410,35 +59603,35 @@ $root.org = (function() {
                             };
 
                             /**
-                             * Converts this GetTokenDirectPurchasePricesResponseV0 to JSON.
+                             * Converts this GetTokenPreProgrammedDistributionsResponseV0 to JSON.
                              * @function toJSON
-                             * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0
                              * @instance
                              * @returns {Object.} JSON object
                              */
-                            GetTokenDirectPurchasePricesResponseV0.prototype.toJSON = function toJSON() {
+                            GetTokenPreProgrammedDistributionsResponseV0.prototype.toJSON = function toJSON() {
                                 return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
                             };
 
-                            GetTokenDirectPurchasePricesResponseV0.PriceForQuantity = (function() {
+                            GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry = (function() {
 
                                 /**
-                                 * Properties of a PriceForQuantity.
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0
-                                 * @interface IPriceForQuantity
-                                 * @property {number|Long|null} [quantity] PriceForQuantity quantity
-                                 * @property {number|Long|null} [price] PriceForQuantity price
+                                 * Properties of a TokenDistributionEntry.
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0
+                                 * @interface ITokenDistributionEntry
+                                 * @property {Uint8Array|null} [recipientId] TokenDistributionEntry recipientId
+                                 * @property {number|Long|null} [amount] TokenDistributionEntry amount
                                  */
 
                                 /**
-                                 * Constructs a new PriceForQuantity.
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0
-                                 * @classdesc Represents a PriceForQuantity.
-                                 * @implements IPriceForQuantity
+                                 * Constructs a new TokenDistributionEntry.
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0
+                                 * @classdesc Represents a TokenDistributionEntry.
+                                 * @implements ITokenDistributionEntry
                                  * @constructor
-                                 * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.IPriceForQuantity=} [properties] Properties to set
+                                 * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.ITokenDistributionEntry=} [properties] Properties to set
                                  */
-                                function PriceForQuantity(properties) {
+                                function TokenDistributionEntry(properties) {
                                     if (properties)
                                         for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
                                             if (properties[keys[i]] != null)
@@ -52446,316 +59639,88 @@ $root.org = (function() {
                                 }
 
                                 /**
-                                 * PriceForQuantity quantity.
-                                 * @member {number|Long} quantity
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity
-                                 * @instance
-                                 */
-                                PriceForQuantity.prototype.quantity = $util.Long ? $util.Long.fromBits(0,0,true) : 0;
-
-                                /**
-                                 * PriceForQuantity price.
-                                 * @member {number|Long} price
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity
-                                 * @instance
-                                 */
-                                PriceForQuantity.prototype.price = $util.Long ? $util.Long.fromBits(0,0,true) : 0;
-
-                                /**
-                                 * Creates a new PriceForQuantity instance using the specified properties.
-                                 * @function create
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity
-                                 * @static
-                                 * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.IPriceForQuantity=} [properties] Properties to set
-                                 * @returns {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity} PriceForQuantity instance
-                                 */
-                                PriceForQuantity.create = function create(properties) {
-                                    return new PriceForQuantity(properties);
-                                };
-
-                                /**
-                                 * Encodes the specified PriceForQuantity message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity.verify|verify} messages.
-                                 * @function encode
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity
-                                 * @static
-                                 * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.IPriceForQuantity} message PriceForQuantity message or plain object to encode
-                                 * @param {$protobuf.Writer} [writer] Writer to encode to
-                                 * @returns {$protobuf.Writer} Writer
-                                 */
-                                PriceForQuantity.encode = function encode(message, writer) {
-                                    if (!writer)
-                                        writer = $Writer.create();
-                                    if (message.quantity != null && Object.hasOwnProperty.call(message, "quantity"))
-                                        writer.uint32(/* id 1, wireType 0 =*/8).uint64(message.quantity);
-                                    if (message.price != null && Object.hasOwnProperty.call(message, "price"))
-                                        writer.uint32(/* id 2, wireType 0 =*/16).uint64(message.price);
-                                    return writer;
-                                };
-
-                                /**
-                                 * Encodes the specified PriceForQuantity message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity.verify|verify} messages.
-                                 * @function encodeDelimited
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity
-                                 * @static
-                                 * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.IPriceForQuantity} message PriceForQuantity message or plain object to encode
-                                 * @param {$protobuf.Writer} [writer] Writer to encode to
-                                 * @returns {$protobuf.Writer} Writer
-                                 */
-                                PriceForQuantity.encodeDelimited = function encodeDelimited(message, writer) {
-                                    return this.encode(message, writer).ldelim();
-                                };
-
-                                /**
-                                 * Decodes a PriceForQuantity message from the specified reader or buffer.
-                                 * @function decode
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity
-                                 * @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.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity} PriceForQuantity
-                                 * @throws {Error} If the payload is not a reader or valid buffer
-                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
-                                 */
-                                PriceForQuantity.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.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity();
-                                    while (reader.pos < end) {
-                                        var tag = reader.uint32();
-                                        switch (tag >>> 3) {
-                                        case 1:
-                                            message.quantity = reader.uint64();
-                                            break;
-                                        case 2:
-                                            message.price = reader.uint64();
-                                            break;
-                                        default:
-                                            reader.skipType(tag & 7);
-                                            break;
-                                        }
-                                    }
-                                    return message;
-                                };
-
-                                /**
-                                 * Decodes a PriceForQuantity message from the specified reader or buffer, length delimited.
-                                 * @function decodeDelimited
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity
-                                 * @static
-                                 * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                                 * @returns {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity} PriceForQuantity
-                                 * @throws {Error} If the payload is not a reader or valid buffer
-                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
-                                 */
-                                PriceForQuantity.decodeDelimited = function decodeDelimited(reader) {
-                                    if (!(reader instanceof $Reader))
-                                        reader = new $Reader(reader);
-                                    return this.decode(reader, reader.uint32());
-                                };
-
-                                /**
-                                 * Verifies a PriceForQuantity message.
-                                 * @function verify
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity
-                                 * @static
-                                 * @param {Object.} message Plain object to verify
-                                 * @returns {string|null} `null` if valid, otherwise the reason why it is not
-                                 */
-                                PriceForQuantity.verify = function verify(message) {
-                                    if (typeof message !== "object" || message === null)
-                                        return "object expected";
-                                    if (message.quantity != null && message.hasOwnProperty("quantity"))
-                                        if (!$util.isInteger(message.quantity) && !(message.quantity && $util.isInteger(message.quantity.low) && $util.isInteger(message.quantity.high)))
-                                            return "quantity: integer|Long expected";
-                                    if (message.price != null && message.hasOwnProperty("price"))
-                                        if (!$util.isInteger(message.price) && !(message.price && $util.isInteger(message.price.low) && $util.isInteger(message.price.high)))
-                                            return "price: integer|Long expected";
-                                    return null;
-                                };
-
-                                /**
-                                 * Creates a PriceForQuantity message from a plain object. Also converts values to their respective internal types.
-                                 * @function fromObject
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity
-                                 * @static
-                                 * @param {Object.} object Plain object
-                                 * @returns {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity} PriceForQuantity
-                                 */
-                                PriceForQuantity.fromObject = function fromObject(object) {
-                                    if (object instanceof $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity)
-                                        return object;
-                                    var message = new $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity();
-                                    if (object.quantity != null)
-                                        if ($util.Long)
-                                            (message.quantity = $util.Long.fromValue(object.quantity)).unsigned = true;
-                                        else if (typeof object.quantity === "string")
-                                            message.quantity = parseInt(object.quantity, 10);
-                                        else if (typeof object.quantity === "number")
-                                            message.quantity = object.quantity;
-                                        else if (typeof object.quantity === "object")
-                                            message.quantity = new $util.LongBits(object.quantity.low >>> 0, object.quantity.high >>> 0).toNumber(true);
-                                    if (object.price != null)
-                                        if ($util.Long)
-                                            (message.price = $util.Long.fromValue(object.price)).unsigned = true;
-                                        else if (typeof object.price === "string")
-                                            message.price = parseInt(object.price, 10);
-                                        else if (typeof object.price === "number")
-                                            message.price = object.price;
-                                        else if (typeof object.price === "object")
-                                            message.price = new $util.LongBits(object.price.low >>> 0, object.price.high >>> 0).toNumber(true);
-                                    return message;
-                                };
-
-                                /**
-                                 * Creates a plain object from a PriceForQuantity message. Also converts values to other types if specified.
-                                 * @function toObject
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity
-                                 * @static
-                                 * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity} message PriceForQuantity
-                                 * @param {$protobuf.IConversionOptions} [options] Conversion options
-                                 * @returns {Object.} Plain object
-                                 */
-                                PriceForQuantity.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.quantity = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;
-                                        } else
-                                            object.quantity = options.longs === String ? "0" : 0;
-                                        if ($util.Long) {
-                                            var long = new $util.Long(0, 0, true);
-                                            object.price = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;
-                                        } else
-                                            object.price = options.longs === String ? "0" : 0;
-                                    }
-                                    if (message.quantity != null && message.hasOwnProperty("quantity"))
-                                        if (typeof message.quantity === "number")
-                                            object.quantity = options.longs === String ? String(message.quantity) : message.quantity;
-                                        else
-                                            object.quantity = options.longs === String ? $util.Long.prototype.toString.call(message.quantity) : options.longs === Number ? new $util.LongBits(message.quantity.low >>> 0, message.quantity.high >>> 0).toNumber(true) : message.quantity;
-                                    if (message.price != null && message.hasOwnProperty("price"))
-                                        if (typeof message.price === "number")
-                                            object.price = options.longs === String ? String(message.price) : message.price;
-                                        else
-                                            object.price = options.longs === String ? $util.Long.prototype.toString.call(message.price) : options.longs === Number ? new $util.LongBits(message.price.low >>> 0, message.price.high >>> 0).toNumber(true) : message.price;
-                                    return object;
-                                };
-
-                                /**
-                                 * Converts this PriceForQuantity to JSON.
-                                 * @function toJSON
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity
+                                 * TokenDistributionEntry recipientId.
+                                 * @member {Uint8Array} recipientId
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry
                                  * @instance
-                                 * @returns {Object.} JSON object
-                                 */
-                                PriceForQuantity.prototype.toJSON = function toJSON() {
-                                    return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
-                                };
-
-                                return PriceForQuantity;
-                            })();
-
-                            GetTokenDirectPurchasePricesResponseV0.PricingSchedule = (function() {
-
-                                /**
-                                 * Properties of a PricingSchedule.
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0
-                                 * @interface IPricingSchedule
-                                 * @property {Array.|null} [priceForQuantity] PricingSchedule priceForQuantity
-                                 */
-
-                                /**
-                                 * Constructs a new PricingSchedule.
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0
-                                 * @classdesc Represents a PricingSchedule.
-                                 * @implements IPricingSchedule
-                                 * @constructor
-                                 * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.IPricingSchedule=} [properties] Properties to set
                                  */
-                                function PricingSchedule(properties) {
-                                    this.priceForQuantity = [];
-                                    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]];
-                                }
+                                TokenDistributionEntry.prototype.recipientId = $util.newBuffer([]);
 
                                 /**
-                                 * PricingSchedule priceForQuantity.
-                                 * @member {Array.} priceForQuantity
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule
+                                 * TokenDistributionEntry amount.
+                                 * @member {number|Long} amount
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry
                                  * @instance
                                  */
-                                PricingSchedule.prototype.priceForQuantity = $util.emptyArray;
+                                TokenDistributionEntry.prototype.amount = $util.Long ? $util.Long.fromBits(0,0,true) : 0;
 
                                 /**
-                                 * Creates a new PricingSchedule instance using the specified properties.
+                                 * Creates a new TokenDistributionEntry instance using the specified properties.
                                  * @function create
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry
                                  * @static
-                                 * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.IPricingSchedule=} [properties] Properties to set
-                                 * @returns {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule} PricingSchedule instance
+                                 * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.ITokenDistributionEntry=} [properties] Properties to set
+                                 * @returns {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry} TokenDistributionEntry instance
                                  */
-                                PricingSchedule.create = function create(properties) {
-                                    return new PricingSchedule(properties);
+                                TokenDistributionEntry.create = function create(properties) {
+                                    return new TokenDistributionEntry(properties);
                                 };
 
                                 /**
-                                 * Encodes the specified PricingSchedule message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule.verify|verify} messages.
+                                 * Encodes the specified TokenDistributionEntry message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry.verify|verify} messages.
                                  * @function encode
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry
                                  * @static
-                                 * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.IPricingSchedule} message PricingSchedule message or plain object to encode
+                                 * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.ITokenDistributionEntry} message TokenDistributionEntry message or plain object to encode
                                  * @param {$protobuf.Writer} [writer] Writer to encode to
                                  * @returns {$protobuf.Writer} Writer
                                  */
-                                PricingSchedule.encode = function encode(message, writer) {
+                                TokenDistributionEntry.encode = function encode(message, writer) {
                                     if (!writer)
                                         writer = $Writer.create();
-                                    if (message.priceForQuantity != null && message.priceForQuantity.length)
-                                        for (var i = 0; i < message.priceForQuantity.length; ++i)
-                                            $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity.encode(message.priceForQuantity[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+                                    if (message.recipientId != null && Object.hasOwnProperty.call(message, "recipientId"))
+                                        writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.recipientId);
+                                    if (message.amount != null && Object.hasOwnProperty.call(message, "amount"))
+                                        writer.uint32(/* id 2, wireType 0 =*/16).uint64(message.amount);
                                     return writer;
                                 };
 
                                 /**
-                                 * Encodes the specified PricingSchedule message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule.verify|verify} messages.
+                                 * Encodes the specified TokenDistributionEntry message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry.verify|verify} messages.
                                  * @function encodeDelimited
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry
                                  * @static
-                                 * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.IPricingSchedule} message PricingSchedule message or plain object to encode
+                                 * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.ITokenDistributionEntry} message TokenDistributionEntry message or plain object to encode
                                  * @param {$protobuf.Writer} [writer] Writer to encode to
                                  * @returns {$protobuf.Writer} Writer
                                  */
-                                PricingSchedule.encodeDelimited = function encodeDelimited(message, writer) {
+                                TokenDistributionEntry.encodeDelimited = function encodeDelimited(message, writer) {
                                     return this.encode(message, writer).ldelim();
                                 };
 
                                 /**
-                                 * Decodes a PricingSchedule message from the specified reader or buffer.
+                                 * Decodes a TokenDistributionEntry message from the specified reader or buffer.
                                  * @function decode
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry
                                  * @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.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule} PricingSchedule
+                                 * @returns {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry} TokenDistributionEntry
                                  * @throws {Error} If the payload is not a reader or valid buffer
                                  * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                  */
-                                PricingSchedule.decode = function decode(reader, length) {
+                                TokenDistributionEntry.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.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule();
+                                    var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry();
                                     while (reader.pos < end) {
                                         var tag = reader.uint32();
                                         switch (tag >>> 3) {
                                         case 1:
-                                            if (!(message.priceForQuantity && message.priceForQuantity.length))
-                                                message.priceForQuantity = [];
-                                            message.priceForQuantity.push($root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity.decode(reader, reader.uint32()));
+                                            message.recipientId = reader.bytes();
+                                            break;
+                                        case 2:
+                                            message.amount = reader.uint64();
                                             break;
                                         default:
                                             reader.skipType(tag & 7);
@@ -52766,126 +59731,141 @@ $root.org = (function() {
                                 };
 
                                 /**
-                                 * Decodes a PricingSchedule message from the specified reader or buffer, length delimited.
+                                 * Decodes a TokenDistributionEntry message from the specified reader or buffer, length delimited.
                                  * @function decodeDelimited
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry
                                  * @static
                                  * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                                 * @returns {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule} PricingSchedule
+                                 * @returns {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry} TokenDistributionEntry
                                  * @throws {Error} If the payload is not a reader or valid buffer
                                  * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                  */
-                                PricingSchedule.decodeDelimited = function decodeDelimited(reader) {
+                                TokenDistributionEntry.decodeDelimited = function decodeDelimited(reader) {
                                     if (!(reader instanceof $Reader))
                                         reader = new $Reader(reader);
                                     return this.decode(reader, reader.uint32());
                                 };
 
                                 /**
-                                 * Verifies a PricingSchedule message.
+                                 * Verifies a TokenDistributionEntry message.
                                  * @function verify
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry
                                  * @static
                                  * @param {Object.} message Plain object to verify
                                  * @returns {string|null} `null` if valid, otherwise the reason why it is not
                                  */
-                                PricingSchedule.verify = function verify(message) {
+                                TokenDistributionEntry.verify = function verify(message) {
                                     if (typeof message !== "object" || message === null)
                                         return "object expected";
-                                    if (message.priceForQuantity != null && message.hasOwnProperty("priceForQuantity")) {
-                                        if (!Array.isArray(message.priceForQuantity))
-                                            return "priceForQuantity: array expected";
-                                        for (var i = 0; i < message.priceForQuantity.length; ++i) {
-                                            var error = $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity.verify(message.priceForQuantity[i]);
-                                            if (error)
-                                                return "priceForQuantity." + error;
-                                        }
-                                    }
+                                    if (message.recipientId != null && message.hasOwnProperty("recipientId"))
+                                        if (!(message.recipientId && typeof message.recipientId.length === "number" || $util.isString(message.recipientId)))
+                                            return "recipientId: buffer expected";
+                                    if (message.amount != null && message.hasOwnProperty("amount"))
+                                        if (!$util.isInteger(message.amount) && !(message.amount && $util.isInteger(message.amount.low) && $util.isInteger(message.amount.high)))
+                                            return "amount: integer|Long expected";
                                     return null;
                                 };
 
                                 /**
-                                 * Creates a PricingSchedule message from a plain object. Also converts values to their respective internal types.
+                                 * Creates a TokenDistributionEntry message from a plain object. Also converts values to their respective internal types.
                                  * @function fromObject
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry
                                  * @static
                                  * @param {Object.} object Plain object
-                                 * @returns {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule} PricingSchedule
+                                 * @returns {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry} TokenDistributionEntry
                                  */
-                                PricingSchedule.fromObject = function fromObject(object) {
-                                    if (object instanceof $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule)
+                                TokenDistributionEntry.fromObject = function fromObject(object) {
+                                    if (object instanceof $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry)
                                         return object;
-                                    var message = new $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule();
-                                    if (object.priceForQuantity) {
-                                        if (!Array.isArray(object.priceForQuantity))
-                                            throw TypeError(".org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule.priceForQuantity: array expected");
-                                        message.priceForQuantity = [];
-                                        for (var i = 0; i < object.priceForQuantity.length; ++i) {
-                                            if (typeof object.priceForQuantity[i] !== "object")
-                                                throw TypeError(".org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule.priceForQuantity: object expected");
-                                            message.priceForQuantity[i] = $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity.fromObject(object.priceForQuantity[i]);
-                                        }
-                                    }
+                                    var message = new $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry();
+                                    if (object.recipientId != null)
+                                        if (typeof object.recipientId === "string")
+                                            $util.base64.decode(object.recipientId, message.recipientId = $util.newBuffer($util.base64.length(object.recipientId)), 0);
+                                        else if (object.recipientId.length >= 0)
+                                            message.recipientId = object.recipientId;
+                                    if (object.amount != null)
+                                        if ($util.Long)
+                                            (message.amount = $util.Long.fromValue(object.amount)).unsigned = true;
+                                        else if (typeof object.amount === "string")
+                                            message.amount = parseInt(object.amount, 10);
+                                        else if (typeof object.amount === "number")
+                                            message.amount = object.amount;
+                                        else if (typeof object.amount === "object")
+                                            message.amount = new $util.LongBits(object.amount.low >>> 0, object.amount.high >>> 0).toNumber(true);
                                     return message;
                                 };
 
                                 /**
-                                 * Creates a plain object from a PricingSchedule message. Also converts values to other types if specified.
+                                 * Creates a plain object from a TokenDistributionEntry message. Also converts values to other types if specified.
                                  * @function toObject
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry
                                  * @static
-                                 * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule} message PricingSchedule
+                                 * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry} message TokenDistributionEntry
                                  * @param {$protobuf.IConversionOptions} [options] Conversion options
                                  * @returns {Object.} Plain object
                                  */
-                                PricingSchedule.toObject = function toObject(message, options) {
+                                TokenDistributionEntry.toObject = function toObject(message, options) {
                                     if (!options)
                                         options = {};
                                     var object = {};
-                                    if (options.arrays || options.defaults)
-                                        object.priceForQuantity = [];
-                                    if (message.priceForQuantity && message.priceForQuantity.length) {
-                                        object.priceForQuantity = [];
-                                        for (var j = 0; j < message.priceForQuantity.length; ++j)
-                                            object.priceForQuantity[j] = $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity.toObject(message.priceForQuantity[j], options);
+                                    if (options.defaults) {
+                                        if (options.bytes === String)
+                                            object.recipientId = "";
+                                        else {
+                                            object.recipientId = [];
+                                            if (options.bytes !== Array)
+                                                object.recipientId = $util.newBuffer(object.recipientId);
+                                        }
+                                        if ($util.Long) {
+                                            var long = new $util.Long(0, 0, true);
+                                            object.amount = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;
+                                        } else
+                                            object.amount = options.longs === String ? "0" : 0;
                                     }
+                                    if (message.recipientId != null && message.hasOwnProperty("recipientId"))
+                                        object.recipientId = options.bytes === String ? $util.base64.encode(message.recipientId, 0, message.recipientId.length) : options.bytes === Array ? Array.prototype.slice.call(message.recipientId) : message.recipientId;
+                                    if (message.amount != null && message.hasOwnProperty("amount"))
+                                        if (typeof message.amount === "number")
+                                            object.amount = options.longs === String ? String(message.amount) : message.amount;
+                                        else
+                                            object.amount = options.longs === String ? $util.Long.prototype.toString.call(message.amount) : options.longs === Number ? new $util.LongBits(message.amount.low >>> 0, message.amount.high >>> 0).toNumber(true) : message.amount;
                                     return object;
                                 };
 
                                 /**
-                                 * Converts this PricingSchedule to JSON.
+                                 * Converts this TokenDistributionEntry to JSON.
                                  * @function toJSON
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry
                                  * @instance
                                  * @returns {Object.} JSON object
                                  */
-                                PricingSchedule.prototype.toJSON = function toJSON() {
+                                TokenDistributionEntry.prototype.toJSON = function toJSON() {
                                     return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
                                 };
 
-                                return PricingSchedule;
+                                return TokenDistributionEntry;
                             })();
 
-                            GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry = (function() {
+                            GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry = (function() {
 
                                 /**
-                                 * Properties of a TokenDirectPurchasePriceEntry.
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0
-                                 * @interface ITokenDirectPurchasePriceEntry
-                                 * @property {Uint8Array|null} [tokenId] TokenDirectPurchasePriceEntry tokenId
-                                 * @property {number|Long|null} [fixedPrice] TokenDirectPurchasePriceEntry fixedPrice
-                                 * @property {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.IPricingSchedule|null} [variablePrice] TokenDirectPurchasePriceEntry variablePrice
+                                 * Properties of a TokenTimedDistributionEntry.
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0
+                                 * @interface ITokenTimedDistributionEntry
+                                 * @property {number|Long|null} [timestamp] TokenTimedDistributionEntry timestamp
+                                 * @property {Array.|null} [distributions] TokenTimedDistributionEntry distributions
                                  */
 
                                 /**
-                                 * Constructs a new TokenDirectPurchasePriceEntry.
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0
-                                 * @classdesc Represents a TokenDirectPurchasePriceEntry.
-                                 * @implements ITokenDirectPurchasePriceEntry
+                                 * Constructs a new TokenTimedDistributionEntry.
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0
+                                 * @classdesc Represents a TokenTimedDistributionEntry.
+                                 * @implements ITokenTimedDistributionEntry
                                  * @constructor
-                                 * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.ITokenDirectPurchasePriceEntry=} [properties] Properties to set
+                                 * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.ITokenTimedDistributionEntry=} [properties] Properties to set
                                  */
-                                function TokenDirectPurchasePriceEntry(properties) {
+                                function TokenTimedDistributionEntry(properties) {
+                                    this.distributions = [];
                                     if (properties)
                                         for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
                                             if (properties[keys[i]] != null)
@@ -52893,115 +59873,91 @@ $root.org = (function() {
                                 }
 
                                 /**
-                                 * TokenDirectPurchasePriceEntry tokenId.
-                                 * @member {Uint8Array} tokenId
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry
-                                 * @instance
-                                 */
-                                TokenDirectPurchasePriceEntry.prototype.tokenId = $util.newBuffer([]);
-
-                                /**
-                                 * TokenDirectPurchasePriceEntry fixedPrice.
-                                 * @member {number|Long} fixedPrice
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry
-                                 * @instance
-                                 */
-                                TokenDirectPurchasePriceEntry.prototype.fixedPrice = $util.Long ? $util.Long.fromBits(0,0,true) : 0;
-
-                                /**
-                                 * TokenDirectPurchasePriceEntry variablePrice.
-                                 * @member {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.IPricingSchedule|null|undefined} variablePrice
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry
+                                 * TokenTimedDistributionEntry timestamp.
+                                 * @member {number|Long} timestamp
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry
                                  * @instance
                                  */
-                                TokenDirectPurchasePriceEntry.prototype.variablePrice = null;
-
-                                // OneOf field names bound to virtual getters and setters
-                                var $oneOfFields;
+                                TokenTimedDistributionEntry.prototype.timestamp = $util.Long ? $util.Long.fromBits(0,0,true) : 0;
 
                                 /**
-                                 * TokenDirectPurchasePriceEntry price.
-                                 * @member {"fixedPrice"|"variablePrice"|undefined} price
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry
+                                 * TokenTimedDistributionEntry distributions.
+                                 * @member {Array.} distributions
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry
                                  * @instance
                                  */
-                                Object.defineProperty(TokenDirectPurchasePriceEntry.prototype, "price", {
-                                    get: $util.oneOfGetter($oneOfFields = ["fixedPrice", "variablePrice"]),
-                                    set: $util.oneOfSetter($oneOfFields)
-                                });
+                                TokenTimedDistributionEntry.prototype.distributions = $util.emptyArray;
 
                                 /**
-                                 * Creates a new TokenDirectPurchasePriceEntry instance using the specified properties.
+                                 * Creates a new TokenTimedDistributionEntry instance using the specified properties.
                                  * @function create
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry
                                  * @static
-                                 * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.ITokenDirectPurchasePriceEntry=} [properties] Properties to set
-                                 * @returns {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry} TokenDirectPurchasePriceEntry instance
+                                 * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.ITokenTimedDistributionEntry=} [properties] Properties to set
+                                 * @returns {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry} TokenTimedDistributionEntry instance
                                  */
-                                TokenDirectPurchasePriceEntry.create = function create(properties) {
-                                    return new TokenDirectPurchasePriceEntry(properties);
+                                TokenTimedDistributionEntry.create = function create(properties) {
+                                    return new TokenTimedDistributionEntry(properties);
                                 };
 
                                 /**
-                                 * Encodes the specified TokenDirectPurchasePriceEntry message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.verify|verify} messages.
+                                 * Encodes the specified TokenTimedDistributionEntry message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry.verify|verify} messages.
                                  * @function encode
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry
                                  * @static
-                                 * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.ITokenDirectPurchasePriceEntry} message TokenDirectPurchasePriceEntry message or plain object to encode
+                                 * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.ITokenTimedDistributionEntry} message TokenTimedDistributionEntry message or plain object to encode
                                  * @param {$protobuf.Writer} [writer] Writer to encode to
                                  * @returns {$protobuf.Writer} Writer
                                  */
-                                TokenDirectPurchasePriceEntry.encode = function encode(message, writer) {
+                                TokenTimedDistributionEntry.encode = function encode(message, writer) {
                                     if (!writer)
                                         writer = $Writer.create();
-                                    if (message.tokenId != null && Object.hasOwnProperty.call(message, "tokenId"))
-                                        writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.tokenId);
-                                    if (message.fixedPrice != null && Object.hasOwnProperty.call(message, "fixedPrice"))
-                                        writer.uint32(/* id 2, wireType 0 =*/16).uint64(message.fixedPrice);
-                                    if (message.variablePrice != null && Object.hasOwnProperty.call(message, "variablePrice"))
-                                        $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule.encode(message.variablePrice, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+                                    if (message.timestamp != null && Object.hasOwnProperty.call(message, "timestamp"))
+                                        writer.uint32(/* id 1, wireType 0 =*/8).uint64(message.timestamp);
+                                    if (message.distributions != null && message.distributions.length)
+                                        for (var i = 0; i < message.distributions.length; ++i)
+                                            $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry.encode(message.distributions[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
                                     return writer;
                                 };
 
                                 /**
-                                 * Encodes the specified TokenDirectPurchasePriceEntry message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.verify|verify} messages.
+                                 * Encodes the specified TokenTimedDistributionEntry message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry.verify|verify} messages.
                                  * @function encodeDelimited
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry
                                  * @static
-                                 * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.ITokenDirectPurchasePriceEntry} message TokenDirectPurchasePriceEntry message or plain object to encode
+                                 * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.ITokenTimedDistributionEntry} message TokenTimedDistributionEntry message or plain object to encode
                                  * @param {$protobuf.Writer} [writer] Writer to encode to
                                  * @returns {$protobuf.Writer} Writer
                                  */
-                                TokenDirectPurchasePriceEntry.encodeDelimited = function encodeDelimited(message, writer) {
+                                TokenTimedDistributionEntry.encodeDelimited = function encodeDelimited(message, writer) {
                                     return this.encode(message, writer).ldelim();
                                 };
 
                                 /**
-                                 * Decodes a TokenDirectPurchasePriceEntry message from the specified reader or buffer.
+                                 * Decodes a TokenTimedDistributionEntry message from the specified reader or buffer.
                                  * @function decode
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry
                                  * @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.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry} TokenDirectPurchasePriceEntry
+                                 * @returns {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry} TokenTimedDistributionEntry
                                  * @throws {Error} If the payload is not a reader or valid buffer
                                  * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                  */
-                                TokenDirectPurchasePriceEntry.decode = function decode(reader, length) {
+                                TokenTimedDistributionEntry.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.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry();
+                                    var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry();
                                     while (reader.pos < end) {
                                         var tag = reader.uint32();
                                         switch (tag >>> 3) {
                                         case 1:
-                                            message.tokenId = reader.bytes();
+                                            message.timestamp = reader.uint64();
                                             break;
                                         case 2:
-                                            message.fixedPrice = reader.uint64();
-                                            break;
-                                        case 3:
-                                            message.variablePrice = $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule.decode(reader, reader.uint32());
+                                            if (!(message.distributions && message.distributions.length))
+                                                message.distributions = [];
+                                            message.distributions.push($root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry.decode(reader, reader.uint32()));
                                             break;
                                         default:
                                             reader.skipType(tag & 7);
@@ -53012,160 +59968,148 @@ $root.org = (function() {
                                 };
 
                                 /**
-                                 * Decodes a TokenDirectPurchasePriceEntry message from the specified reader or buffer, length delimited.
+                                 * Decodes a TokenTimedDistributionEntry message from the specified reader or buffer, length delimited.
                                  * @function decodeDelimited
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry
                                  * @static
                                  * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                                 * @returns {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry} TokenDirectPurchasePriceEntry
+                                 * @returns {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry} TokenTimedDistributionEntry
                                  * @throws {Error} If the payload is not a reader or valid buffer
                                  * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                  */
-                                TokenDirectPurchasePriceEntry.decodeDelimited = function decodeDelimited(reader) {
+                                TokenTimedDistributionEntry.decodeDelimited = function decodeDelimited(reader) {
                                     if (!(reader instanceof $Reader))
                                         reader = new $Reader(reader);
                                     return this.decode(reader, reader.uint32());
                                 };
 
                                 /**
-                                 * Verifies a TokenDirectPurchasePriceEntry message.
+                                 * Verifies a TokenTimedDistributionEntry message.
                                  * @function verify
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry
                                  * @static
                                  * @param {Object.} message Plain object to verify
                                  * @returns {string|null} `null` if valid, otherwise the reason why it is not
                                  */
-                                TokenDirectPurchasePriceEntry.verify = function verify(message) {
+                                TokenTimedDistributionEntry.verify = function verify(message) {
                                     if (typeof message !== "object" || message === null)
                                         return "object expected";
-                                    var properties = {};
-                                    if (message.tokenId != null && message.hasOwnProperty("tokenId"))
-                                        if (!(message.tokenId && typeof message.tokenId.length === "number" || $util.isString(message.tokenId)))
-                                            return "tokenId: buffer expected";
-                                    if (message.fixedPrice != null && message.hasOwnProperty("fixedPrice")) {
-                                        properties.price = 1;
-                                        if (!$util.isInteger(message.fixedPrice) && !(message.fixedPrice && $util.isInteger(message.fixedPrice.low) && $util.isInteger(message.fixedPrice.high)))
-                                            return "fixedPrice: integer|Long expected";
-                                    }
-                                    if (message.variablePrice != null && message.hasOwnProperty("variablePrice")) {
-                                        if (properties.price === 1)
-                                            return "price: multiple values";
-                                        properties.price = 1;
-                                        {
-                                            var error = $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule.verify(message.variablePrice);
+                                    if (message.timestamp != null && message.hasOwnProperty("timestamp"))
+                                        if (!$util.isInteger(message.timestamp) && !(message.timestamp && $util.isInteger(message.timestamp.low) && $util.isInteger(message.timestamp.high)))
+                                            return "timestamp: integer|Long expected";
+                                    if (message.distributions != null && message.hasOwnProperty("distributions")) {
+                                        if (!Array.isArray(message.distributions))
+                                            return "distributions: array expected";
+                                        for (var i = 0; i < message.distributions.length; ++i) {
+                                            var error = $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry.verify(message.distributions[i]);
                                             if (error)
-                                                return "variablePrice." + error;
+                                                return "distributions." + error;
                                         }
                                     }
                                     return null;
                                 };
 
                                 /**
-                                 * Creates a TokenDirectPurchasePriceEntry message from a plain object. Also converts values to their respective internal types.
+                                 * Creates a TokenTimedDistributionEntry message from a plain object. Also converts values to their respective internal types.
                                  * @function fromObject
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry
                                  * @static
                                  * @param {Object.} object Plain object
-                                 * @returns {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry} TokenDirectPurchasePriceEntry
+                                 * @returns {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry} TokenTimedDistributionEntry
                                  */
-                                TokenDirectPurchasePriceEntry.fromObject = function fromObject(object) {
-                                    if (object instanceof $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry)
+                                TokenTimedDistributionEntry.fromObject = function fromObject(object) {
+                                    if (object instanceof $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry)
                                         return object;
-                                    var message = new $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry();
-                                    if (object.tokenId != null)
-                                        if (typeof object.tokenId === "string")
-                                            $util.base64.decode(object.tokenId, message.tokenId = $util.newBuffer($util.base64.length(object.tokenId)), 0);
-                                        else if (object.tokenId.length >= 0)
-                                            message.tokenId = object.tokenId;
-                                    if (object.fixedPrice != null)
+                                    var message = new $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry();
+                                    if (object.timestamp != null)
                                         if ($util.Long)
-                                            (message.fixedPrice = $util.Long.fromValue(object.fixedPrice)).unsigned = true;
-                                        else if (typeof object.fixedPrice === "string")
-                                            message.fixedPrice = parseInt(object.fixedPrice, 10);
-                                        else if (typeof object.fixedPrice === "number")
-                                            message.fixedPrice = object.fixedPrice;
-                                        else if (typeof object.fixedPrice === "object")
-                                            message.fixedPrice = new $util.LongBits(object.fixedPrice.low >>> 0, object.fixedPrice.high >>> 0).toNumber(true);
-                                    if (object.variablePrice != null) {
-                                        if (typeof object.variablePrice !== "object")
-                                            throw TypeError(".org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.variablePrice: object expected");
-                                        message.variablePrice = $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule.fromObject(object.variablePrice);
+                                            (message.timestamp = $util.Long.fromValue(object.timestamp)).unsigned = true;
+                                        else if (typeof object.timestamp === "string")
+                                            message.timestamp = parseInt(object.timestamp, 10);
+                                        else if (typeof object.timestamp === "number")
+                                            message.timestamp = object.timestamp;
+                                        else if (typeof object.timestamp === "object")
+                                            message.timestamp = new $util.LongBits(object.timestamp.low >>> 0, object.timestamp.high >>> 0).toNumber(true);
+                                    if (object.distributions) {
+                                        if (!Array.isArray(object.distributions))
+                                            throw TypeError(".org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry.distributions: array expected");
+                                        message.distributions = [];
+                                        for (var i = 0; i < object.distributions.length; ++i) {
+                                            if (typeof object.distributions[i] !== "object")
+                                                throw TypeError(".org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry.distributions: object expected");
+                                            message.distributions[i] = $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry.fromObject(object.distributions[i]);
+                                        }
                                     }
                                     return message;
                                 };
 
                                 /**
-                                 * Creates a plain object from a TokenDirectPurchasePriceEntry message. Also converts values to other types if specified.
+                                 * Creates a plain object from a TokenTimedDistributionEntry message. Also converts values to other types if specified.
                                  * @function toObject
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry
                                  * @static
-                                 * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry} message TokenDirectPurchasePriceEntry
+                                 * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry} message TokenTimedDistributionEntry
                                  * @param {$protobuf.IConversionOptions} [options] Conversion options
                                  * @returns {Object.} Plain object
                                  */
-                                TokenDirectPurchasePriceEntry.toObject = function toObject(message, options) {
+                                TokenTimedDistributionEntry.toObject = function toObject(message, options) {
                                     if (!options)
                                         options = {};
                                     var object = {};
+                                    if (options.arrays || options.defaults)
+                                        object.distributions = [];
                                     if (options.defaults)
-                                        if (options.bytes === String)
-                                            object.tokenId = "";
-                                        else {
-                                            object.tokenId = [];
-                                            if (options.bytes !== Array)
-                                                object.tokenId = $util.newBuffer(object.tokenId);
-                                        }
-                                    if (message.tokenId != null && message.hasOwnProperty("tokenId"))
-                                        object.tokenId = options.bytes === String ? $util.base64.encode(message.tokenId, 0, message.tokenId.length) : options.bytes === Array ? Array.prototype.slice.call(message.tokenId) : message.tokenId;
-                                    if (message.fixedPrice != null && message.hasOwnProperty("fixedPrice")) {
-                                        if (typeof message.fixedPrice === "number")
-                                            object.fixedPrice = options.longs === String ? String(message.fixedPrice) : message.fixedPrice;
+                                        if ($util.Long) {
+                                            var long = new $util.Long(0, 0, true);
+                                            object.timestamp = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;
+                                        } else
+                                            object.timestamp = options.longs === String ? "0" : 0;
+                                    if (message.timestamp != null && message.hasOwnProperty("timestamp"))
+                                        if (typeof message.timestamp === "number")
+                                            object.timestamp = options.longs === String ? String(message.timestamp) : message.timestamp;
                                         else
-                                            object.fixedPrice = options.longs === String ? $util.Long.prototype.toString.call(message.fixedPrice) : options.longs === Number ? new $util.LongBits(message.fixedPrice.low >>> 0, message.fixedPrice.high >>> 0).toNumber(true) : message.fixedPrice;
-                                        if (options.oneofs)
-                                            object.price = "fixedPrice";
-                                    }
-                                    if (message.variablePrice != null && message.hasOwnProperty("variablePrice")) {
-                                        object.variablePrice = $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule.toObject(message.variablePrice, options);
-                                        if (options.oneofs)
-                                            object.price = "variablePrice";
+                                            object.timestamp = options.longs === String ? $util.Long.prototype.toString.call(message.timestamp) : options.longs === Number ? new $util.LongBits(message.timestamp.low >>> 0, message.timestamp.high >>> 0).toNumber(true) : message.timestamp;
+                                    if (message.distributions && message.distributions.length) {
+                                        object.distributions = [];
+                                        for (var j = 0; j < message.distributions.length; ++j)
+                                            object.distributions[j] = $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry.toObject(message.distributions[j], options);
                                     }
                                     return object;
                                 };
 
                                 /**
-                                 * Converts this TokenDirectPurchasePriceEntry to JSON.
+                                 * Converts this TokenTimedDistributionEntry to JSON.
                                  * @function toJSON
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry
                                  * @instance
                                  * @returns {Object.} JSON object
                                  */
-                                TokenDirectPurchasePriceEntry.prototype.toJSON = function toJSON() {
+                                TokenTimedDistributionEntry.prototype.toJSON = function toJSON() {
                                     return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
                                 };
 
-                                return TokenDirectPurchasePriceEntry;
+                                return TokenTimedDistributionEntry;
                             })();
 
-                            GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices = (function() {
+                            GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions = (function() {
 
                                 /**
-                                 * Properties of a TokenDirectPurchasePrices.
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0
-                                 * @interface ITokenDirectPurchasePrices
-                                 * @property {Array.|null} [tokenDirectPurchasePrice] TokenDirectPurchasePrices tokenDirectPurchasePrice
+                                 * Properties of a TokenDistributions.
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0
+                                 * @interface ITokenDistributions
+                                 * @property {Array.|null} [tokenDistributions] TokenDistributions tokenDistributions
                                  */
 
                                 /**
-                                 * Constructs a new TokenDirectPurchasePrices.
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0
-                                 * @classdesc Represents a TokenDirectPurchasePrices.
-                                 * @implements ITokenDirectPurchasePrices
+                                 * Constructs a new TokenDistributions.
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0
+                                 * @classdesc Represents a TokenDistributions.
+                                 * @implements ITokenDistributions
                                  * @constructor
-                                 * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.ITokenDirectPurchasePrices=} [properties] Properties to set
+                                 * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.ITokenDistributions=} [properties] Properties to set
                                  */
-                                function TokenDirectPurchasePrices(properties) {
-                                    this.tokenDirectPurchasePrice = [];
+                                function TokenDistributions(properties) {
+                                    this.tokenDistributions = [];
                                     if (properties)
                                         for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
                                             if (properties[keys[i]] != null)
@@ -53173,78 +60117,78 @@ $root.org = (function() {
                                 }
 
                                 /**
-                                 * TokenDirectPurchasePrices tokenDirectPurchasePrice.
-                                 * @member {Array.} tokenDirectPurchasePrice
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices
+                                 * TokenDistributions tokenDistributions.
+                                 * @member {Array.} tokenDistributions
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions
                                  * @instance
                                  */
-                                TokenDirectPurchasePrices.prototype.tokenDirectPurchasePrice = $util.emptyArray;
+                                TokenDistributions.prototype.tokenDistributions = $util.emptyArray;
 
                                 /**
-                                 * Creates a new TokenDirectPurchasePrices instance using the specified properties.
+                                 * Creates a new TokenDistributions instance using the specified properties.
                                  * @function create
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions
                                  * @static
-                                 * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.ITokenDirectPurchasePrices=} [properties] Properties to set
-                                 * @returns {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices} TokenDirectPurchasePrices instance
+                                 * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.ITokenDistributions=} [properties] Properties to set
+                                 * @returns {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions} TokenDistributions instance
                                  */
-                                TokenDirectPurchasePrices.create = function create(properties) {
-                                    return new TokenDirectPurchasePrices(properties);
+                                TokenDistributions.create = function create(properties) {
+                                    return new TokenDistributions(properties);
                                 };
 
                                 /**
-                                 * Encodes the specified TokenDirectPurchasePrices message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices.verify|verify} messages.
+                                 * Encodes the specified TokenDistributions message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions.verify|verify} messages.
                                  * @function encode
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions
                                  * @static
-                                 * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.ITokenDirectPurchasePrices} message TokenDirectPurchasePrices message or plain object to encode
+                                 * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.ITokenDistributions} message TokenDistributions message or plain object to encode
                                  * @param {$protobuf.Writer} [writer] Writer to encode to
                                  * @returns {$protobuf.Writer} Writer
                                  */
-                                TokenDirectPurchasePrices.encode = function encode(message, writer) {
+                                TokenDistributions.encode = function encode(message, writer) {
                                     if (!writer)
                                         writer = $Writer.create();
-                                    if (message.tokenDirectPurchasePrice != null && message.tokenDirectPurchasePrice.length)
-                                        for (var i = 0; i < message.tokenDirectPurchasePrice.length; ++i)
-                                            $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.encode(message.tokenDirectPurchasePrice[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+                                    if (message.tokenDistributions != null && message.tokenDistributions.length)
+                                        for (var i = 0; i < message.tokenDistributions.length; ++i)
+                                            $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry.encode(message.tokenDistributions[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
                                     return writer;
                                 };
 
                                 /**
-                                 * Encodes the specified TokenDirectPurchasePrices message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices.verify|verify} messages.
+                                 * Encodes the specified TokenDistributions message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions.verify|verify} messages.
                                  * @function encodeDelimited
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions
                                  * @static
-                                 * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.ITokenDirectPurchasePrices} message TokenDirectPurchasePrices message or plain object to encode
+                                 * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.ITokenDistributions} message TokenDistributions message or plain object to encode
                                  * @param {$protobuf.Writer} [writer] Writer to encode to
                                  * @returns {$protobuf.Writer} Writer
                                  */
-                                TokenDirectPurchasePrices.encodeDelimited = function encodeDelimited(message, writer) {
+                                TokenDistributions.encodeDelimited = function encodeDelimited(message, writer) {
                                     return this.encode(message, writer).ldelim();
                                 };
 
                                 /**
-                                 * Decodes a TokenDirectPurchasePrices message from the specified reader or buffer.
+                                 * Decodes a TokenDistributions message from the specified reader or buffer.
                                  * @function decode
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions
                                  * @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.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices} TokenDirectPurchasePrices
+                                 * @returns {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions} TokenDistributions
                                  * @throws {Error} If the payload is not a reader or valid buffer
                                  * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                  */
-                                TokenDirectPurchasePrices.decode = function decode(reader, length) {
+                                TokenDistributions.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.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices();
+                                    var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions();
                                     while (reader.pos < end) {
                                         var tag = reader.uint32();
                                         switch (tag >>> 3) {
                                         case 1:
-                                            if (!(message.tokenDirectPurchasePrice && message.tokenDirectPurchasePrice.length))
-                                                message.tokenDirectPurchasePrice = [];
-                                            message.tokenDirectPurchasePrice.push($root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.decode(reader, reader.uint32()));
+                                            if (!(message.tokenDistributions && message.tokenDistributions.length))
+                                                message.tokenDistributions = [];
+                                            message.tokenDistributions.push($root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry.decode(reader, reader.uint32()));
                                             break;
                                         default:
                                             reader.skipType(tag & 7);
@@ -53255,570 +60199,130 @@ $root.org = (function() {
                                 };
 
                                 /**
-                                 * Decodes a TokenDirectPurchasePrices message from the specified reader or buffer, length delimited.
+                                 * Decodes a TokenDistributions message from the specified reader or buffer, length delimited.
                                  * @function decodeDelimited
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions
                                  * @static
                                  * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                                 * @returns {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices} TokenDirectPurchasePrices
+                                 * @returns {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions} TokenDistributions
                                  * @throws {Error} If the payload is not a reader or valid buffer
                                  * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                  */
-                                TokenDirectPurchasePrices.decodeDelimited = function decodeDelimited(reader) {
+                                TokenDistributions.decodeDelimited = function decodeDelimited(reader) {
                                     if (!(reader instanceof $Reader))
                                         reader = new $Reader(reader);
                                     return this.decode(reader, reader.uint32());
                                 };
 
                                 /**
-                                 * Verifies a TokenDirectPurchasePrices message.
+                                 * Verifies a TokenDistributions message.
                                  * @function verify
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions
                                  * @static
                                  * @param {Object.} message Plain object to verify
                                  * @returns {string|null} `null` if valid, otherwise the reason why it is not
                                  */
-                                TokenDirectPurchasePrices.verify = function verify(message) {
+                                TokenDistributions.verify = function verify(message) {
                                     if (typeof message !== "object" || message === null)
                                         return "object expected";
-                                    if (message.tokenDirectPurchasePrice != null && message.hasOwnProperty("tokenDirectPurchasePrice")) {
-                                        if (!Array.isArray(message.tokenDirectPurchasePrice))
-                                            return "tokenDirectPurchasePrice: array expected";
-                                        for (var i = 0; i < message.tokenDirectPurchasePrice.length; ++i) {
-                                            var error = $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.verify(message.tokenDirectPurchasePrice[i]);
+                                    if (message.tokenDistributions != null && message.hasOwnProperty("tokenDistributions")) {
+                                        if (!Array.isArray(message.tokenDistributions))
+                                            return "tokenDistributions: array expected";
+                                        for (var i = 0; i < message.tokenDistributions.length; ++i) {
+                                            var error = $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry.verify(message.tokenDistributions[i]);
                                             if (error)
-                                                return "tokenDirectPurchasePrice." + error;
+                                                return "tokenDistributions." + error;
                                         }
                                     }
                                     return null;
                                 };
 
                                 /**
-                                 * Creates a TokenDirectPurchasePrices message from a plain object. Also converts values to their respective internal types.
+                                 * Creates a TokenDistributions message from a plain object. Also converts values to their respective internal types.
                                  * @function fromObject
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions
                                  * @static
                                  * @param {Object.} object Plain object
-                                 * @returns {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices} TokenDirectPurchasePrices
+                                 * @returns {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions} TokenDistributions
                                  */
-                                TokenDirectPurchasePrices.fromObject = function fromObject(object) {
-                                    if (object instanceof $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices)
+                                TokenDistributions.fromObject = function fromObject(object) {
+                                    if (object instanceof $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions)
                                         return object;
-                                    var message = new $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices();
-                                    if (object.tokenDirectPurchasePrice) {
-                                        if (!Array.isArray(object.tokenDirectPurchasePrice))
-                                            throw TypeError(".org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices.tokenDirectPurchasePrice: array expected");
-                                        message.tokenDirectPurchasePrice = [];
-                                        for (var i = 0; i < object.tokenDirectPurchasePrice.length; ++i) {
-                                            if (typeof object.tokenDirectPurchasePrice[i] !== "object")
-                                                throw TypeError(".org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices.tokenDirectPurchasePrice: object expected");
-                                            message.tokenDirectPurchasePrice[i] = $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.fromObject(object.tokenDirectPurchasePrice[i]);
+                                    var message = new $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions();
+                                    if (object.tokenDistributions) {
+                                        if (!Array.isArray(object.tokenDistributions))
+                                            throw TypeError(".org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions.tokenDistributions: array expected");
+                                        message.tokenDistributions = [];
+                                        for (var i = 0; i < object.tokenDistributions.length; ++i) {
+                                            if (typeof object.tokenDistributions[i] !== "object")
+                                                throw TypeError(".org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions.tokenDistributions: object expected");
+                                            message.tokenDistributions[i] = $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry.fromObject(object.tokenDistributions[i]);
                                         }
                                     }
                                     return message;
                                 };
 
                                 /**
-                                 * Creates a plain object from a TokenDirectPurchasePrices message. Also converts values to other types if specified.
+                                 * Creates a plain object from a TokenDistributions message. Also converts values to other types if specified.
                                  * @function toObject
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions
                                  * @static
-                                 * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices} message TokenDirectPurchasePrices
+                                 * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions} message TokenDistributions
                                  * @param {$protobuf.IConversionOptions} [options] Conversion options
                                  * @returns {Object.} Plain object
                                  */
-                                TokenDirectPurchasePrices.toObject = function toObject(message, options) {
+                                TokenDistributions.toObject = function toObject(message, options) {
                                     if (!options)
                                         options = {};
                                     var object = {};
                                     if (options.arrays || options.defaults)
-                                        object.tokenDirectPurchasePrice = [];
-                                    if (message.tokenDirectPurchasePrice && message.tokenDirectPurchasePrice.length) {
-                                        object.tokenDirectPurchasePrice = [];
-                                        for (var j = 0; j < message.tokenDirectPurchasePrice.length; ++j)
-                                            object.tokenDirectPurchasePrice[j] = $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.toObject(message.tokenDirectPurchasePrice[j], options);
+                                        object.tokenDistributions = [];
+                                    if (message.tokenDistributions && message.tokenDistributions.length) {
+                                        object.tokenDistributions = [];
+                                        for (var j = 0; j < message.tokenDistributions.length; ++j)
+                                            object.tokenDistributions[j] = $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry.toObject(message.tokenDistributions[j], options);
                                     }
                                     return object;
                                 };
 
                                 /**
-                                 * Converts this TokenDirectPurchasePrices to JSON.
+                                 * Converts this TokenDistributions to JSON.
                                  * @function toJSON
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions
                                  * @instance
                                  * @returns {Object.} JSON object
                                  */
-                                TokenDirectPurchasePrices.prototype.toJSON = function toJSON() {
+                                TokenDistributions.prototype.toJSON = function toJSON() {
                                     return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
                                 };
 
-                                return TokenDirectPurchasePrices;
+                                return TokenDistributions;
                             })();
 
-                            return GetTokenDirectPurchasePricesResponseV0;
-                        })();
-
-                        return GetTokenDirectPurchasePricesResponse;
-                    })();
-
-                    v0.GetTokenDirectPurchasePricesRequest = (function() {
-
-                        /**
-                         * Properties of a GetTokenDirectPurchasePricesRequest.
-                         * @memberof org.dash.platform.dapi.v0
-                         * @interface IGetTokenDirectPurchasePricesRequest
-                         * @property {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.IGetTokenDirectPurchasePricesRequestV0|null} [v0] GetTokenDirectPurchasePricesRequest v0
-                         */
-
-                        /**
-                         * Constructs a new GetTokenDirectPurchasePricesRequest.
-                         * @memberof org.dash.platform.dapi.v0
-                         * @classdesc Represents a GetTokenDirectPurchasePricesRequest.
-                         * @implements IGetTokenDirectPurchasePricesRequest
-                         * @constructor
-                         * @param {org.dash.platform.dapi.v0.IGetTokenDirectPurchasePricesRequest=} [properties] Properties to set
-                         */
-                        function GetTokenDirectPurchasePricesRequest(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]];
-                        }
-
-                        /**
-                         * GetTokenDirectPurchasePricesRequest v0.
-                         * @member {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.IGetTokenDirectPurchasePricesRequestV0|null|undefined} v0
-                         * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest
-                         * @instance
-                         */
-                        GetTokenDirectPurchasePricesRequest.prototype.v0 = null;
-
-                        // OneOf field names bound to virtual getters and setters
-                        var $oneOfFields;
-
-                        /**
-                         * GetTokenDirectPurchasePricesRequest version.
-                         * @member {"v0"|undefined} version
-                         * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest
-                         * @instance
-                         */
-                        Object.defineProperty(GetTokenDirectPurchasePricesRequest.prototype, "version", {
-                            get: $util.oneOfGetter($oneOfFields = ["v0"]),
-                            set: $util.oneOfSetter($oneOfFields)
-                        });
-
-                        /**
-                         * Creates a new GetTokenDirectPurchasePricesRequest instance using the specified properties.
-                         * @function create
-                         * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest
-                         * @static
-                         * @param {org.dash.platform.dapi.v0.IGetTokenDirectPurchasePricesRequest=} [properties] Properties to set
-                         * @returns {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest} GetTokenDirectPurchasePricesRequest instance
-                         */
-                        GetTokenDirectPurchasePricesRequest.create = function create(properties) {
-                            return new GetTokenDirectPurchasePricesRequest(properties);
-                        };
-
-                        /**
-                         * Encodes the specified GetTokenDirectPurchasePricesRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.verify|verify} messages.
-                         * @function encode
-                         * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest
-                         * @static
-                         * @param {org.dash.platform.dapi.v0.IGetTokenDirectPurchasePricesRequest} message GetTokenDirectPurchasePricesRequest message or plain object to encode
-                         * @param {$protobuf.Writer} [writer] Writer to encode to
-                         * @returns {$protobuf.Writer} Writer
-                         */
-                        GetTokenDirectPurchasePricesRequest.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.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
-                            return writer;
-                        };
-
-                        /**
-                         * Encodes the specified GetTokenDirectPurchasePricesRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.verify|verify} messages.
-                         * @function encodeDelimited
-                         * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest
-                         * @static
-                         * @param {org.dash.platform.dapi.v0.IGetTokenDirectPurchasePricesRequest} message GetTokenDirectPurchasePricesRequest message or plain object to encode
-                         * @param {$protobuf.Writer} [writer] Writer to encode to
-                         * @returns {$protobuf.Writer} Writer
-                         */
-                        GetTokenDirectPurchasePricesRequest.encodeDelimited = function encodeDelimited(message, writer) {
-                            return this.encode(message, writer).ldelim();
-                        };
-
-                        /**
-                         * Decodes a GetTokenDirectPurchasePricesRequest message from the specified reader or buffer.
-                         * @function decode
-                         * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest
-                         * @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.GetTokenDirectPurchasePricesRequest} GetTokenDirectPurchasePricesRequest
-                         * @throws {Error} If the payload is not a reader or valid buffer
-                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
-                         */
-                        GetTokenDirectPurchasePricesRequest.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.GetTokenDirectPurchasePricesRequest();
-                            while (reader.pos < end) {
-                                var tag = reader.uint32();
-                                switch (tag >>> 3) {
-                                case 1:
-                                    message.v0 = $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.decode(reader, reader.uint32());
-                                    break;
-                                default:
-                                    reader.skipType(tag & 7);
-                                    break;
-                                }
-                            }
-                            return message;
-                        };
-
-                        /**
-                         * Decodes a GetTokenDirectPurchasePricesRequest message from the specified reader or buffer, length delimited.
-                         * @function decodeDelimited
-                         * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest
-                         * @static
-                         * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                         * @returns {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest} GetTokenDirectPurchasePricesRequest
-                         * @throws {Error} If the payload is not a reader or valid buffer
-                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
-                         */
-                        GetTokenDirectPurchasePricesRequest.decodeDelimited = function decodeDelimited(reader) {
-                            if (!(reader instanceof $Reader))
-                                reader = new $Reader(reader);
-                            return this.decode(reader, reader.uint32());
-                        };
-
-                        /**
-                         * Verifies a GetTokenDirectPurchasePricesRequest message.
-                         * @function verify
-                         * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest
-                         * @static
-                         * @param {Object.} message Plain object to verify
-                         * @returns {string|null} `null` if valid, otherwise the reason why it is not
-                         */
-                        GetTokenDirectPurchasePricesRequest.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.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.verify(message.v0);
-                                    if (error)
-                                        return "v0." + error;
-                                }
-                            }
-                            return null;
-                        };
-
-                        /**
-                         * Creates a GetTokenDirectPurchasePricesRequest message from a plain object. Also converts values to their respective internal types.
-                         * @function fromObject
-                         * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest
-                         * @static
-                         * @param {Object.} object Plain object
-                         * @returns {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest} GetTokenDirectPurchasePricesRequest
-                         */
-                        GetTokenDirectPurchasePricesRequest.fromObject = function fromObject(object) {
-                            if (object instanceof $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest)
-                                return object;
-                            var message = new $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest();
-                            if (object.v0 != null) {
-                                if (typeof object.v0 !== "object")
-                                    throw TypeError(".org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.v0: object expected");
-                                message.v0 = $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.fromObject(object.v0);
-                            }
-                            return message;
-                        };
-
-                        /**
-                         * Creates a plain object from a GetTokenDirectPurchasePricesRequest message. Also converts values to other types if specified.
-                         * @function toObject
-                         * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest
-                         * @static
-                         * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest} message GetTokenDirectPurchasePricesRequest
-                         * @param {$protobuf.IConversionOptions} [options] Conversion options
-                         * @returns {Object.} Plain object
-                         */
-                        GetTokenDirectPurchasePricesRequest.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.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.toObject(message.v0, options);
-                                if (options.oneofs)
-                                    object.version = "v0";
-                            }
-                            return object;
-                        };
-
-                        /**
-                         * Converts this GetTokenDirectPurchasePricesRequest to JSON.
-                         * @function toJSON
-                         * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest
-                         * @instance
-                         * @returns {Object.} JSON object
-                         */
-                        GetTokenDirectPurchasePricesRequest.prototype.toJSON = function toJSON() {
-                            return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
-                        };
-
-                        GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0 = (function() {
-
-                            /**
-                             * Properties of a GetTokenDirectPurchasePricesRequestV0.
-                             * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest
-                             * @interface IGetTokenDirectPurchasePricesRequestV0
-                             * @property {Array.|null} [tokenIds] GetTokenDirectPurchasePricesRequestV0 tokenIds
-                             * @property {boolean|null} [prove] GetTokenDirectPurchasePricesRequestV0 prove
-                             */
-
-                            /**
-                             * Constructs a new GetTokenDirectPurchasePricesRequestV0.
-                             * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest
-                             * @classdesc Represents a GetTokenDirectPurchasePricesRequestV0.
-                             * @implements IGetTokenDirectPurchasePricesRequestV0
-                             * @constructor
-                             * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.IGetTokenDirectPurchasePricesRequestV0=} [properties] Properties to set
-                             */
-                            function GetTokenDirectPurchasePricesRequestV0(properties) {
-                                this.tokenIds = [];
-                                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]];
-                            }
-
-                            /**
-                             * GetTokenDirectPurchasePricesRequestV0 tokenIds.
-                             * @member {Array.} tokenIds
-                             * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0
-                             * @instance
-                             */
-                            GetTokenDirectPurchasePricesRequestV0.prototype.tokenIds = $util.emptyArray;
-
-                            /**
-                             * GetTokenDirectPurchasePricesRequestV0 prove.
-                             * @member {boolean} prove
-                             * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0
-                             * @instance
-                             */
-                            GetTokenDirectPurchasePricesRequestV0.prototype.prove = false;
-
-                            /**
-                             * Creates a new GetTokenDirectPurchasePricesRequestV0 instance using the specified properties.
-                             * @function create
-                             * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0
-                             * @static
-                             * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.IGetTokenDirectPurchasePricesRequestV0=} [properties] Properties to set
-                             * @returns {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0} GetTokenDirectPurchasePricesRequestV0 instance
-                             */
-                            GetTokenDirectPurchasePricesRequestV0.create = function create(properties) {
-                                return new GetTokenDirectPurchasePricesRequestV0(properties);
-                            };
-
-                            /**
-                             * Encodes the specified GetTokenDirectPurchasePricesRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.verify|verify} messages.
-                             * @function encode
-                             * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0
-                             * @static
-                             * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.IGetTokenDirectPurchasePricesRequestV0} message GetTokenDirectPurchasePricesRequestV0 message or plain object to encode
-                             * @param {$protobuf.Writer} [writer] Writer to encode to
-                             * @returns {$protobuf.Writer} Writer
-                             */
-                            GetTokenDirectPurchasePricesRequestV0.encode = function encode(message, writer) {
-                                if (!writer)
-                                    writer = $Writer.create();
-                                if (message.tokenIds != null && message.tokenIds.length)
-                                    for (var i = 0; i < message.tokenIds.length; ++i)
-                                        writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.tokenIds[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 GetTokenDirectPurchasePricesRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.verify|verify} messages.
-                             * @function encodeDelimited
-                             * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0
-                             * @static
-                             * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.IGetTokenDirectPurchasePricesRequestV0} message GetTokenDirectPurchasePricesRequestV0 message or plain object to encode
-                             * @param {$protobuf.Writer} [writer] Writer to encode to
-                             * @returns {$protobuf.Writer} Writer
-                             */
-                            GetTokenDirectPurchasePricesRequestV0.encodeDelimited = function encodeDelimited(message, writer) {
-                                return this.encode(message, writer).ldelim();
-                            };
-
-                            /**
-                             * Decodes a GetTokenDirectPurchasePricesRequestV0 message from the specified reader or buffer.
-                             * @function decode
-                             * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0
-                             * @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.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0} GetTokenDirectPurchasePricesRequestV0
-                             * @throws {Error} If the payload is not a reader or valid buffer
-                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
-                             */
-                            GetTokenDirectPurchasePricesRequestV0.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.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0();
-                                while (reader.pos < end) {
-                                    var tag = reader.uint32();
-                                    switch (tag >>> 3) {
-                                    case 1:
-                                        if (!(message.tokenIds && message.tokenIds.length))
-                                            message.tokenIds = [];
-                                        message.tokenIds.push(reader.bytes());
-                                        break;
-                                    case 2:
-                                        message.prove = reader.bool();
-                                        break;
-                                    default:
-                                        reader.skipType(tag & 7);
-                                        break;
-                                    }
-                                }
-                                return message;
-                            };
-
-                            /**
-                             * Decodes a GetTokenDirectPurchasePricesRequestV0 message from the specified reader or buffer, length delimited.
-                             * @function decodeDelimited
-                             * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0
-                             * @static
-                             * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                             * @returns {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0} GetTokenDirectPurchasePricesRequestV0
-                             * @throws {Error} If the payload is not a reader or valid buffer
-                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
-                             */
-                            GetTokenDirectPurchasePricesRequestV0.decodeDelimited = function decodeDelimited(reader) {
-                                if (!(reader instanceof $Reader))
-                                    reader = new $Reader(reader);
-                                return this.decode(reader, reader.uint32());
-                            };
-
-                            /**
-                             * Verifies a GetTokenDirectPurchasePricesRequestV0 message.
-                             * @function verify
-                             * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0
-                             * @static
-                             * @param {Object.} message Plain object to verify
-                             * @returns {string|null} `null` if valid, otherwise the reason why it is not
-                             */
-                            GetTokenDirectPurchasePricesRequestV0.verify = function verify(message) {
-                                if (typeof message !== "object" || message === null)
-                                    return "object expected";
-                                if (message.tokenIds != null && message.hasOwnProperty("tokenIds")) {
-                                    if (!Array.isArray(message.tokenIds))
-                                        return "tokenIds: array expected";
-                                    for (var i = 0; i < message.tokenIds.length; ++i)
-                                        if (!(message.tokenIds[i] && typeof message.tokenIds[i].length === "number" || $util.isString(message.tokenIds[i])))
-                                            return "tokenIds: buffer[] expected";
-                                }
-                                if (message.prove != null && message.hasOwnProperty("prove"))
-                                    if (typeof message.prove !== "boolean")
-                                        return "prove: boolean expected";
-                                return null;
-                            };
-
-                            /**
-                             * Creates a GetTokenDirectPurchasePricesRequestV0 message from a plain object. Also converts values to their respective internal types.
-                             * @function fromObject
-                             * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0
-                             * @static
-                             * @param {Object.} object Plain object
-                             * @returns {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0} GetTokenDirectPurchasePricesRequestV0
-                             */
-                            GetTokenDirectPurchasePricesRequestV0.fromObject = function fromObject(object) {
-                                if (object instanceof $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0)
-                                    return object;
-                                var message = new $root.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0();
-                                if (object.tokenIds) {
-                                    if (!Array.isArray(object.tokenIds))
-                                        throw TypeError(".org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.tokenIds: array expected");
-                                    message.tokenIds = [];
-                                    for (var i = 0; i < object.tokenIds.length; ++i)
-                                        if (typeof object.tokenIds[i] === "string")
-                                            $util.base64.decode(object.tokenIds[i], message.tokenIds[i] = $util.newBuffer($util.base64.length(object.tokenIds[i])), 0);
-                                        else if (object.tokenIds[i].length >= 0)
-                                            message.tokenIds[i] = object.tokenIds[i];
-                                }
-                                if (object.prove != null)
-                                    message.prove = Boolean(object.prove);
-                                return message;
-                            };
-
-                            /**
-                             * Creates a plain object from a GetTokenDirectPurchasePricesRequestV0 message. Also converts values to other types if specified.
-                             * @function toObject
-                             * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0
-                             * @static
-                             * @param {org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0} message GetTokenDirectPurchasePricesRequestV0
-                             * @param {$protobuf.IConversionOptions} [options] Conversion options
-                             * @returns {Object.} Plain object
-                             */
-                            GetTokenDirectPurchasePricesRequestV0.toObject = function toObject(message, options) {
-                                if (!options)
-                                    options = {};
-                                var object = {};
-                                if (options.arrays || options.defaults)
-                                    object.tokenIds = [];
-                                if (options.defaults)
-                                    object.prove = false;
-                                if (message.tokenIds && message.tokenIds.length) {
-                                    object.tokenIds = [];
-                                    for (var j = 0; j < message.tokenIds.length; ++j)
-                                        object.tokenIds[j] = options.bytes === String ? $util.base64.encode(message.tokenIds[j], 0, message.tokenIds[j].length) : options.bytes === Array ? Array.prototype.slice.call(message.tokenIds[j]) : message.tokenIds[j];
-                                }
-                                if (message.prove != null && message.hasOwnProperty("prove"))
-                                    object.prove = message.prove;
-                                return object;
-                            };
-
-                            /**
-                             * Converts this GetTokenDirectPurchasePricesRequestV0 to JSON.
-                             * @function toJSON
-                             * @memberof org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0
-                             * @instance
-                             * @returns {Object.} JSON object
-                             */
-                            GetTokenDirectPurchasePricesRequestV0.prototype.toJSON = function toJSON() {
-                                return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
-                            };
-
-                            return GetTokenDirectPurchasePricesRequestV0;
+                            return GetTokenPreProgrammedDistributionsResponseV0;
                         })();
 
-                        return GetTokenDirectPurchasePricesRequest;
+                        return GetTokenPreProgrammedDistributionsResponse;
                     })();
 
-                    v0.GetTokenPreProgrammedDistributionsRequest = (function() {
+                    v0.GetTokenPerpetualDistributionLastClaimRequest = (function() {
 
                         /**
-                         * Properties of a GetTokenPreProgrammedDistributionsRequest.
+                         * Properties of a GetTokenPerpetualDistributionLastClaimRequest.
                          * @memberof org.dash.platform.dapi.v0
-                         * @interface IGetTokenPreProgrammedDistributionsRequest
-                         * @property {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.IGetTokenPreProgrammedDistributionsRequestV0|null} [v0] GetTokenPreProgrammedDistributionsRequest v0
+                         * @interface IGetTokenPerpetualDistributionLastClaimRequest
+                         * @property {org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.IGetTokenPerpetualDistributionLastClaimRequestV0|null} [v0] GetTokenPerpetualDistributionLastClaimRequest v0
                          */
 
                         /**
-                         * Constructs a new GetTokenPreProgrammedDistributionsRequest.
+                         * Constructs a new GetTokenPerpetualDistributionLastClaimRequest.
                          * @memberof org.dash.platform.dapi.v0
-                         * @classdesc Represents a GetTokenPreProgrammedDistributionsRequest.
-                         * @implements IGetTokenPreProgrammedDistributionsRequest
+                         * @classdesc Represents a GetTokenPerpetualDistributionLastClaimRequest.
+                         * @implements IGetTokenPerpetualDistributionLastClaimRequest
                          * @constructor
-                         * @param {org.dash.platform.dapi.v0.IGetTokenPreProgrammedDistributionsRequest=} [properties] Properties to set
+                         * @param {org.dash.platform.dapi.v0.IGetTokenPerpetualDistributionLastClaimRequest=} [properties] Properties to set
                          */
-                        function GetTokenPreProgrammedDistributionsRequest(properties) {
+                        function GetTokenPerpetualDistributionLastClaimRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
                                     if (properties[keys[i]] != null)
@@ -53826,89 +60330,89 @@ $root.org = (function() {
                         }
 
                         /**
-                         * GetTokenPreProgrammedDistributionsRequest v0.
-                         * @member {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.IGetTokenPreProgrammedDistributionsRequestV0|null|undefined} v0
-                         * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest
+                         * GetTokenPerpetualDistributionLastClaimRequest v0.
+                         * @member {org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.IGetTokenPerpetualDistributionLastClaimRequestV0|null|undefined} v0
+                         * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest
                          * @instance
                          */
-                        GetTokenPreProgrammedDistributionsRequest.prototype.v0 = null;
+                        GetTokenPerpetualDistributionLastClaimRequest.prototype.v0 = null;
 
                         // OneOf field names bound to virtual getters and setters
                         var $oneOfFields;
 
                         /**
-                         * GetTokenPreProgrammedDistributionsRequest version.
+                         * GetTokenPerpetualDistributionLastClaimRequest version.
                          * @member {"v0"|undefined} version
-                         * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest
+                         * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest
                          * @instance
                          */
-                        Object.defineProperty(GetTokenPreProgrammedDistributionsRequest.prototype, "version", {
+                        Object.defineProperty(GetTokenPerpetualDistributionLastClaimRequest.prototype, "version", {
                             get: $util.oneOfGetter($oneOfFields = ["v0"]),
                             set: $util.oneOfSetter($oneOfFields)
                         });
 
                         /**
-                         * Creates a new GetTokenPreProgrammedDistributionsRequest instance using the specified properties.
+                         * Creates a new GetTokenPerpetualDistributionLastClaimRequest instance using the specified properties.
                          * @function create
-                         * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest
+                         * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest
                          * @static
-                         * @param {org.dash.platform.dapi.v0.IGetTokenPreProgrammedDistributionsRequest=} [properties] Properties to set
-                         * @returns {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest} GetTokenPreProgrammedDistributionsRequest instance
+                         * @param {org.dash.platform.dapi.v0.IGetTokenPerpetualDistributionLastClaimRequest=} [properties] Properties to set
+                         * @returns {org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest} GetTokenPerpetualDistributionLastClaimRequest instance
                          */
-                        GetTokenPreProgrammedDistributionsRequest.create = function create(properties) {
-                            return new GetTokenPreProgrammedDistributionsRequest(properties);
+                        GetTokenPerpetualDistributionLastClaimRequest.create = function create(properties) {
+                            return new GetTokenPerpetualDistributionLastClaimRequest(properties);
                         };
 
                         /**
-                         * Encodes the specified GetTokenPreProgrammedDistributionsRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.verify|verify} messages.
+                         * Encodes the specified GetTokenPerpetualDistributionLastClaimRequest message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.verify|verify} messages.
                          * @function encode
-                         * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest
+                         * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest
                          * @static
-                         * @param {org.dash.platform.dapi.v0.IGetTokenPreProgrammedDistributionsRequest} message GetTokenPreProgrammedDistributionsRequest message or plain object to encode
+                         * @param {org.dash.platform.dapi.v0.IGetTokenPerpetualDistributionLastClaimRequest} message GetTokenPerpetualDistributionLastClaimRequest message or plain object to encode
                          * @param {$protobuf.Writer} [writer] Writer to encode to
                          * @returns {$protobuf.Writer} Writer
                          */
-                        GetTokenPreProgrammedDistributionsRequest.encode = function encode(message, writer) {
+                        GetTokenPerpetualDistributionLastClaimRequest.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.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+                                $root.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
                             return writer;
                         };
 
                         /**
-                         * Encodes the specified GetTokenPreProgrammedDistributionsRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.verify|verify} messages.
+                         * Encodes the specified GetTokenPerpetualDistributionLastClaimRequest message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.verify|verify} messages.
                          * @function encodeDelimited
-                         * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest
+                         * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest
                          * @static
-                         * @param {org.dash.platform.dapi.v0.IGetTokenPreProgrammedDistributionsRequest} message GetTokenPreProgrammedDistributionsRequest message or plain object to encode
+                         * @param {org.dash.platform.dapi.v0.IGetTokenPerpetualDistributionLastClaimRequest} message GetTokenPerpetualDistributionLastClaimRequest message or plain object to encode
                          * @param {$protobuf.Writer} [writer] Writer to encode to
                          * @returns {$protobuf.Writer} Writer
                          */
-                        GetTokenPreProgrammedDistributionsRequest.encodeDelimited = function encodeDelimited(message, writer) {
+                        GetTokenPerpetualDistributionLastClaimRequest.encodeDelimited = function encodeDelimited(message, writer) {
                             return this.encode(message, writer).ldelim();
                         };
 
                         /**
-                         * Decodes a GetTokenPreProgrammedDistributionsRequest message from the specified reader or buffer.
+                         * Decodes a GetTokenPerpetualDistributionLastClaimRequest message from the specified reader or buffer.
                          * @function decode
-                         * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest
+                         * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest
                          * @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.GetTokenPreProgrammedDistributionsRequest} GetTokenPreProgrammedDistributionsRequest
+                         * @returns {org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest} GetTokenPerpetualDistributionLastClaimRequest
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        GetTokenPreProgrammedDistributionsRequest.decode = function decode(reader, length) {
+                        GetTokenPerpetualDistributionLastClaimRequest.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.GetTokenPreProgrammedDistributionsRequest();
+                            var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
                                 switch (tag >>> 3) {
                                 case 1:
-                                    message.v0 = $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.decode(reader, reader.uint32());
+                                    message.v0 = $root.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0.decode(reader, reader.uint32());
                                     break;
                                 default:
                                     reader.skipType(tag & 7);
@@ -53919,37 +60423,37 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Decodes a GetTokenPreProgrammedDistributionsRequest message from the specified reader or buffer, length delimited.
+                         * Decodes a GetTokenPerpetualDistributionLastClaimRequest message from the specified reader or buffer, length delimited.
                          * @function decodeDelimited
-                         * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest
+                         * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest
                          * @static
                          * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                         * @returns {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest} GetTokenPreProgrammedDistributionsRequest
+                         * @returns {org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest} GetTokenPerpetualDistributionLastClaimRequest
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        GetTokenPreProgrammedDistributionsRequest.decodeDelimited = function decodeDelimited(reader) {
+                        GetTokenPerpetualDistributionLastClaimRequest.decodeDelimited = function decodeDelimited(reader) {
                             if (!(reader instanceof $Reader))
                                 reader = new $Reader(reader);
                             return this.decode(reader, reader.uint32());
                         };
 
                         /**
-                         * Verifies a GetTokenPreProgrammedDistributionsRequest message.
+                         * Verifies a GetTokenPerpetualDistributionLastClaimRequest message.
                          * @function verify
-                         * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest
+                         * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest
                          * @static
                          * @param {Object.} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        GetTokenPreProgrammedDistributionsRequest.verify = function verify(message) {
+                        GetTokenPerpetualDistributionLastClaimRequest.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.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.verify(message.v0);
+                                    var error = $root.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0.verify(message.v0);
                                     if (error)
                                         return "v0." + error;
                                 }
@@ -53958,40 +60462,40 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Creates a GetTokenPreProgrammedDistributionsRequest message from a plain object. Also converts values to their respective internal types.
+                         * Creates a GetTokenPerpetualDistributionLastClaimRequest message from a plain object. Also converts values to their respective internal types.
                          * @function fromObject
-                         * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest
+                         * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest
                          * @static
                          * @param {Object.} object Plain object
-                         * @returns {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest} GetTokenPreProgrammedDistributionsRequest
+                         * @returns {org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest} GetTokenPerpetualDistributionLastClaimRequest
                          */
-                        GetTokenPreProgrammedDistributionsRequest.fromObject = function fromObject(object) {
-                            if (object instanceof $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest)
+                        GetTokenPerpetualDistributionLastClaimRequest.fromObject = function fromObject(object) {
+                            if (object instanceof $root.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest)
                                 return object;
-                            var message = new $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest();
+                            var message = new $root.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest();
                             if (object.v0 != null) {
                                 if (typeof object.v0 !== "object")
-                                    throw TypeError(".org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.v0: object expected");
-                                message.v0 = $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.fromObject(object.v0);
+                                    throw TypeError(".org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.v0: object expected");
+                                message.v0 = $root.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0.fromObject(object.v0);
                             }
                             return message;
                         };
 
                         /**
-                         * Creates a plain object from a GetTokenPreProgrammedDistributionsRequest message. Also converts values to other types if specified.
+                         * Creates a plain object from a GetTokenPerpetualDistributionLastClaimRequest message. Also converts values to other types if specified.
                          * @function toObject
-                         * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest
+                         * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest
                          * @static
-                         * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest} message GetTokenPreProgrammedDistributionsRequest
+                         * @param {org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest} message GetTokenPerpetualDistributionLastClaimRequest
                          * @param {$protobuf.IConversionOptions} [options] Conversion options
                          * @returns {Object.} Plain object
                          */
-                        GetTokenPreProgrammedDistributionsRequest.toObject = function toObject(message, options) {
+                        GetTokenPerpetualDistributionLastClaimRequest.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.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.toObject(message.v0, options);
+                                object.v0 = $root.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0.toObject(message.v0, options);
                                 if (options.oneofs)
                                     object.version = "v0";
                             }
@@ -53999,37 +60503,35 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Converts this GetTokenPreProgrammedDistributionsRequest to JSON.
+                         * Converts this GetTokenPerpetualDistributionLastClaimRequest to JSON.
                          * @function toJSON
-                         * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest
+                         * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest
                          * @instance
                          * @returns {Object.} JSON object
                          */
-                        GetTokenPreProgrammedDistributionsRequest.prototype.toJSON = function toJSON() {
+                        GetTokenPerpetualDistributionLastClaimRequest.prototype.toJSON = function toJSON() {
                             return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
                         };
 
-                        GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0 = (function() {
+                        GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo = (function() {
 
                             /**
-                             * Properties of a GetTokenPreProgrammedDistributionsRequestV0.
-                             * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest
-                             * @interface IGetTokenPreProgrammedDistributionsRequestV0
-                             * @property {Uint8Array|null} [tokenId] GetTokenPreProgrammedDistributionsRequestV0 tokenId
-                             * @property {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.IStartAtInfo|null} [startAtInfo] GetTokenPreProgrammedDistributionsRequestV0 startAtInfo
-                             * @property {number|null} [limit] GetTokenPreProgrammedDistributionsRequestV0 limit
-                             * @property {boolean|null} [prove] GetTokenPreProgrammedDistributionsRequestV0 prove
+                             * Properties of a ContractTokenInfo.
+                             * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest
+                             * @interface IContractTokenInfo
+                             * @property {Uint8Array|null} [contractId] ContractTokenInfo contractId
+                             * @property {number|null} [tokenContractPosition] ContractTokenInfo tokenContractPosition
                              */
 
                             /**
-                             * Constructs a new GetTokenPreProgrammedDistributionsRequestV0.
-                             * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest
-                             * @classdesc Represents a GetTokenPreProgrammedDistributionsRequestV0.
-                             * @implements IGetTokenPreProgrammedDistributionsRequestV0
+                             * Constructs a new ContractTokenInfo.
+                             * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest
+                             * @classdesc Represents a ContractTokenInfo.
+                             * @implements IContractTokenInfo
                              * @constructor
-                             * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.IGetTokenPreProgrammedDistributionsRequestV0=} [properties] Properties to set
+                             * @param {org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.IContractTokenInfo=} [properties] Properties to set
                              */
-                            function GetTokenPreProgrammedDistributionsRequestV0(properties) {
+                            function ContractTokenInfo(properties) {
                                 if (properties)
                                     for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
                                         if (properties[keys[i]] != null)
@@ -54037,114 +60539,88 @@ $root.org = (function() {
                             }
 
                             /**
-                             * GetTokenPreProgrammedDistributionsRequestV0 tokenId.
-                             * @member {Uint8Array} tokenId
-                             * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0
-                             * @instance
-                             */
-                            GetTokenPreProgrammedDistributionsRequestV0.prototype.tokenId = $util.newBuffer([]);
-
-                            /**
-                             * GetTokenPreProgrammedDistributionsRequestV0 startAtInfo.
-                             * @member {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.IStartAtInfo|null|undefined} startAtInfo
-                             * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0
-                             * @instance
-                             */
-                            GetTokenPreProgrammedDistributionsRequestV0.prototype.startAtInfo = null;
-
-                            /**
-                             * GetTokenPreProgrammedDistributionsRequestV0 limit.
-                             * @member {number} limit
-                             * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0
+                             * ContractTokenInfo contractId.
+                             * @member {Uint8Array} contractId
+                             * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo
                              * @instance
                              */
-                            GetTokenPreProgrammedDistributionsRequestV0.prototype.limit = 0;
+                            ContractTokenInfo.prototype.contractId = $util.newBuffer([]);
 
                             /**
-                             * GetTokenPreProgrammedDistributionsRequestV0 prove.
-                             * @member {boolean} prove
-                             * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0
+                             * ContractTokenInfo tokenContractPosition.
+                             * @member {number} tokenContractPosition
+                             * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo
                              * @instance
                              */
-                            GetTokenPreProgrammedDistributionsRequestV0.prototype.prove = false;
+                            ContractTokenInfo.prototype.tokenContractPosition = 0;
 
                             /**
-                             * Creates a new GetTokenPreProgrammedDistributionsRequestV0 instance using the specified properties.
+                             * Creates a new ContractTokenInfo instance using the specified properties.
                              * @function create
-                             * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.IGetTokenPreProgrammedDistributionsRequestV0=} [properties] Properties to set
-                             * @returns {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0} GetTokenPreProgrammedDistributionsRequestV0 instance
+                             * @param {org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.IContractTokenInfo=} [properties] Properties to set
+                             * @returns {org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo} ContractTokenInfo instance
                              */
-                            GetTokenPreProgrammedDistributionsRequestV0.create = function create(properties) {
-                                return new GetTokenPreProgrammedDistributionsRequestV0(properties);
+                            ContractTokenInfo.create = function create(properties) {
+                                return new ContractTokenInfo(properties);
                             };
 
                             /**
-                             * Encodes the specified GetTokenPreProgrammedDistributionsRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.verify|verify} messages.
+                             * Encodes the specified ContractTokenInfo message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo.verify|verify} messages.
                              * @function encode
-                             * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.IGetTokenPreProgrammedDistributionsRequestV0} message GetTokenPreProgrammedDistributionsRequestV0 message or plain object to encode
+                             * @param {org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.IContractTokenInfo} message ContractTokenInfo message or plain object to encode
                              * @param {$protobuf.Writer} [writer] Writer to encode to
                              * @returns {$protobuf.Writer} Writer
                              */
-                            GetTokenPreProgrammedDistributionsRequestV0.encode = function encode(message, writer) {
+                            ContractTokenInfo.encode = function encode(message, writer) {
                                 if (!writer)
                                     writer = $Writer.create();
-                                if (message.tokenId != null && Object.hasOwnProperty.call(message, "tokenId"))
-                                    writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.tokenId);
-                                if (message.startAtInfo != null && Object.hasOwnProperty.call(message, "startAtInfo"))
-                                    $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.encode(message.startAtInfo, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
-                                if (message.limit != null && Object.hasOwnProperty.call(message, "limit"))
-                                    writer.uint32(/* id 3, wireType 0 =*/24).uint32(message.limit);
-                                if (message.prove != null && Object.hasOwnProperty.call(message, "prove"))
-                                    writer.uint32(/* id 4, wireType 0 =*/32).bool(message.prove);
+                                if (message.contractId != null && Object.hasOwnProperty.call(message, "contractId"))
+                                    writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.contractId);
+                                if (message.tokenContractPosition != null && Object.hasOwnProperty.call(message, "tokenContractPosition"))
+                                    writer.uint32(/* id 2, wireType 0 =*/16).uint32(message.tokenContractPosition);
                                 return writer;
                             };
 
                             /**
-                             * Encodes the specified GetTokenPreProgrammedDistributionsRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.verify|verify} messages.
+                             * Encodes the specified ContractTokenInfo message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo.verify|verify} messages.
                              * @function encodeDelimited
-                             * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.IGetTokenPreProgrammedDistributionsRequestV0} message GetTokenPreProgrammedDistributionsRequestV0 message or plain object to encode
+                             * @param {org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.IContractTokenInfo} message ContractTokenInfo message or plain object to encode
                              * @param {$protobuf.Writer} [writer] Writer to encode to
                              * @returns {$protobuf.Writer} Writer
                              */
-                            GetTokenPreProgrammedDistributionsRequestV0.encodeDelimited = function encodeDelimited(message, writer) {
+                            ContractTokenInfo.encodeDelimited = function encodeDelimited(message, writer) {
                                 return this.encode(message, writer).ldelim();
                             };
 
                             /**
-                             * Decodes a GetTokenPreProgrammedDistributionsRequestV0 message from the specified reader or buffer.
+                             * Decodes a ContractTokenInfo message from the specified reader or buffer.
                              * @function decode
-                             * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo
                              * @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.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0} GetTokenPreProgrammedDistributionsRequestV0
+                             * @returns {org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo} ContractTokenInfo
                              * @throws {Error} If the payload is not a reader or valid buffer
                              * @throws {$protobuf.util.ProtocolError} If required fields are missing
                              */
-                            GetTokenPreProgrammedDistributionsRequestV0.decode = function decode(reader, length) {
+                            ContractTokenInfo.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.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0();
+                                var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo();
                                 while (reader.pos < end) {
                                     var tag = reader.uint32();
                                     switch (tag >>> 3) {
                                     case 1:
-                                        message.tokenId = reader.bytes();
+                                        message.contractId = reader.bytes();
                                         break;
                                     case 2:
-                                        message.startAtInfo = $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.decode(reader, reader.uint32());
-                                        break;
-                                    case 3:
-                                        message.limit = reader.uint32();
-                                        break;
-                                    case 4:
-                                        message.prove = reader.bool();
+                                        message.tokenContractPosition = reader.uint32();
                                         break;
                                     default:
                                         reader.skipType(tag & 7);
@@ -54155,404 +60631,405 @@ $root.org = (function() {
                             };
 
                             /**
-                             * Decodes a GetTokenPreProgrammedDistributionsRequestV0 message from the specified reader or buffer, length delimited.
+                             * Decodes a ContractTokenInfo message from the specified reader or buffer, length delimited.
                              * @function decodeDelimited
-                             * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo
                              * @static
                              * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                             * @returns {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0} GetTokenPreProgrammedDistributionsRequestV0
+                             * @returns {org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo} ContractTokenInfo
                              * @throws {Error} If the payload is not a reader or valid buffer
                              * @throws {$protobuf.util.ProtocolError} If required fields are missing
                              */
-                            GetTokenPreProgrammedDistributionsRequestV0.decodeDelimited = function decodeDelimited(reader) {
+                            ContractTokenInfo.decodeDelimited = function decodeDelimited(reader) {
                                 if (!(reader instanceof $Reader))
                                     reader = new $Reader(reader);
                                 return this.decode(reader, reader.uint32());
                             };
 
                             /**
-                             * Verifies a GetTokenPreProgrammedDistributionsRequestV0 message.
+                             * Verifies a ContractTokenInfo message.
                              * @function verify
-                             * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo
                              * @static
                              * @param {Object.} message Plain object to verify
                              * @returns {string|null} `null` if valid, otherwise the reason why it is not
                              */
-                            GetTokenPreProgrammedDistributionsRequestV0.verify = function verify(message) {
+                            ContractTokenInfo.verify = function verify(message) {
                                 if (typeof message !== "object" || message === null)
                                     return "object expected";
-                                if (message.tokenId != null && message.hasOwnProperty("tokenId"))
-                                    if (!(message.tokenId && typeof message.tokenId.length === "number" || $util.isString(message.tokenId)))
-                                        return "tokenId: buffer expected";
-                                if (message.startAtInfo != null && message.hasOwnProperty("startAtInfo")) {
-                                    var error = $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.verify(message.startAtInfo);
-                                    if (error)
-                                        return "startAtInfo." + error;
-                                }
-                                if (message.limit != null && message.hasOwnProperty("limit"))
-                                    if (!$util.isInteger(message.limit))
-                                        return "limit: integer expected";
-                                if (message.prove != null && message.hasOwnProperty("prove"))
-                                    if (typeof message.prove !== "boolean")
-                                        return "prove: boolean 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.tokenContractPosition != null && message.hasOwnProperty("tokenContractPosition"))
+                                    if (!$util.isInteger(message.tokenContractPosition))
+                                        return "tokenContractPosition: integer expected";
                                 return null;
                             };
 
                             /**
-                             * Creates a GetTokenPreProgrammedDistributionsRequestV0 message from a plain object. Also converts values to their respective internal types.
+                             * Creates a ContractTokenInfo message from a plain object. Also converts values to their respective internal types.
                              * @function fromObject
-                             * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo
                              * @static
                              * @param {Object.} object Plain object
-                             * @returns {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0} GetTokenPreProgrammedDistributionsRequestV0
+                             * @returns {org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo} ContractTokenInfo
                              */
-                            GetTokenPreProgrammedDistributionsRequestV0.fromObject = function fromObject(object) {
-                                if (object instanceof $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0)
+                            ContractTokenInfo.fromObject = function fromObject(object) {
+                                if (object instanceof $root.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo)
                                     return object;
-                                var message = new $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0();
-                                if (object.tokenId != null)
-                                    if (typeof object.tokenId === "string")
-                                        $util.base64.decode(object.tokenId, message.tokenId = $util.newBuffer($util.base64.length(object.tokenId)), 0);
-                                    else if (object.tokenId.length >= 0)
-                                        message.tokenId = object.tokenId;
-                                if (object.startAtInfo != null) {
-                                    if (typeof object.startAtInfo !== "object")
-                                        throw TypeError(".org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.startAtInfo: object expected");
-                                    message.startAtInfo = $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.fromObject(object.startAtInfo);
-                                }
-                                if (object.limit != null)
-                                    message.limit = object.limit >>> 0;
-                                if (object.prove != null)
-                                    message.prove = Boolean(object.prove);
+                                var message = new $root.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo();
+                                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.tokenContractPosition != null)
+                                    message.tokenContractPosition = object.tokenContractPosition >>> 0;
                                 return message;
                             };
 
                             /**
-                             * Creates a plain object from a GetTokenPreProgrammedDistributionsRequestV0 message. Also converts values to other types if specified.
+                             * Creates a plain object from a ContractTokenInfo message. Also converts values to other types if specified.
                              * @function toObject
-                             * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0} message GetTokenPreProgrammedDistributionsRequestV0
+                             * @param {org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo} message ContractTokenInfo
                              * @param {$protobuf.IConversionOptions} [options] Conversion options
                              * @returns {Object.} Plain object
                              */
-                            GetTokenPreProgrammedDistributionsRequestV0.toObject = function toObject(message, options) {
+                            ContractTokenInfo.toObject = function toObject(message, options) {
                                 if (!options)
                                     options = {};
                                 var object = {};
                                 if (options.defaults) {
                                     if (options.bytes === String)
-                                        object.tokenId = "";
+                                        object.contractId = "";
                                     else {
-                                        object.tokenId = [];
+                                        object.contractId = [];
                                         if (options.bytes !== Array)
-                                            object.tokenId = $util.newBuffer(object.tokenId);
+                                            object.contractId = $util.newBuffer(object.contractId);
                                     }
-                                    object.startAtInfo = null;
-                                    object.limit = 0;
-                                    object.prove = false;
+                                    object.tokenContractPosition = 0;
                                 }
-                                if (message.tokenId != null && message.hasOwnProperty("tokenId"))
-                                    object.tokenId = options.bytes === String ? $util.base64.encode(message.tokenId, 0, message.tokenId.length) : options.bytes === Array ? Array.prototype.slice.call(message.tokenId) : message.tokenId;
-                                if (message.startAtInfo != null && message.hasOwnProperty("startAtInfo"))
-                                    object.startAtInfo = $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.toObject(message.startAtInfo, options);
-                                if (message.limit != null && message.hasOwnProperty("limit"))
-                                    object.limit = message.limit;
-                                if (message.prove != null && message.hasOwnProperty("prove"))
-                                    object.prove = message.prove;
+                                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.tokenContractPosition != null && message.hasOwnProperty("tokenContractPosition"))
+                                    object.tokenContractPosition = message.tokenContractPosition;
                                 return object;
                             };
 
                             /**
-                             * Converts this GetTokenPreProgrammedDistributionsRequestV0 to JSON.
+                             * Converts this ContractTokenInfo to JSON.
                              * @function toJSON
-                             * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0
+                             * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo
                              * @instance
                              * @returns {Object.} JSON object
                              */
-                            GetTokenPreProgrammedDistributionsRequestV0.prototype.toJSON = function toJSON() {
+                            ContractTokenInfo.prototype.toJSON = function toJSON() {
                                 return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
                             };
 
-                            GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo = (function() {
+                            return ContractTokenInfo;
+                        })();
 
-                                /**
-                                 * Properties of a StartAtInfo.
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0
-                                 * @interface IStartAtInfo
-                                 * @property {number|Long|null} [startTimeMs] StartAtInfo startTimeMs
-                                 * @property {Uint8Array|null} [startRecipient] StartAtInfo startRecipient
-                                 * @property {boolean|null} [startRecipientIncluded] StartAtInfo startRecipientIncluded
-                                 */
+                        GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0 = (function() {
 
-                                /**
-                                 * Constructs a new StartAtInfo.
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0
-                                 * @classdesc Represents a StartAtInfo.
-                                 * @implements IStartAtInfo
-                                 * @constructor
-                                 * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.IStartAtInfo=} [properties] Properties to set
-                                 */
-                                function StartAtInfo(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]];
-                                }
+                            /**
+                             * Properties of a GetTokenPerpetualDistributionLastClaimRequestV0.
+                             * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest
+                             * @interface IGetTokenPerpetualDistributionLastClaimRequestV0
+                             * @property {Uint8Array|null} [tokenId] GetTokenPerpetualDistributionLastClaimRequestV0 tokenId
+                             * @property {org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.IContractTokenInfo|null} [contractInfo] GetTokenPerpetualDistributionLastClaimRequestV0 contractInfo
+                             * @property {Uint8Array|null} [identityId] GetTokenPerpetualDistributionLastClaimRequestV0 identityId
+                             * @property {boolean|null} [prove] GetTokenPerpetualDistributionLastClaimRequestV0 prove
+                             */
 
-                                /**
-                                 * StartAtInfo startTimeMs.
-                                 * @member {number|Long} startTimeMs
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo
-                                 * @instance
-                                 */
-                                StartAtInfo.prototype.startTimeMs = $util.Long ? $util.Long.fromBits(0,0,true) : 0;
+                            /**
+                             * Constructs a new GetTokenPerpetualDistributionLastClaimRequestV0.
+                             * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest
+                             * @classdesc Represents a GetTokenPerpetualDistributionLastClaimRequestV0.
+                             * @implements IGetTokenPerpetualDistributionLastClaimRequestV0
+                             * @constructor
+                             * @param {org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.IGetTokenPerpetualDistributionLastClaimRequestV0=} [properties] Properties to set
+                             */
+                            function GetTokenPerpetualDistributionLastClaimRequestV0(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]];
+                            }
 
-                                /**
-                                 * StartAtInfo startRecipient.
-                                 * @member {Uint8Array} startRecipient
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo
-                                 * @instance
-                                 */
-                                StartAtInfo.prototype.startRecipient = $util.newBuffer([]);
+                            /**
+                             * GetTokenPerpetualDistributionLastClaimRequestV0 tokenId.
+                             * @member {Uint8Array} tokenId
+                             * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0
+                             * @instance
+                             */
+                            GetTokenPerpetualDistributionLastClaimRequestV0.prototype.tokenId = $util.newBuffer([]);
 
-                                /**
-                                 * StartAtInfo startRecipientIncluded.
-                                 * @member {boolean} startRecipientIncluded
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo
-                                 * @instance
-                                 */
-                                StartAtInfo.prototype.startRecipientIncluded = false;
+                            /**
+                             * GetTokenPerpetualDistributionLastClaimRequestV0 contractInfo.
+                             * @member {org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.IContractTokenInfo|null|undefined} contractInfo
+                             * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0
+                             * @instance
+                             */
+                            GetTokenPerpetualDistributionLastClaimRequestV0.prototype.contractInfo = null;
 
-                                /**
-                                 * Creates a new StartAtInfo instance using the specified properties.
-                                 * @function create
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo
-                                 * @static
-                                 * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.IStartAtInfo=} [properties] Properties to set
-                                 * @returns {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo} StartAtInfo instance
-                                 */
-                                StartAtInfo.create = function create(properties) {
-                                    return new StartAtInfo(properties);
-                                };
+                            /**
+                             * GetTokenPerpetualDistributionLastClaimRequestV0 identityId.
+                             * @member {Uint8Array} identityId
+                             * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0
+                             * @instance
+                             */
+                            GetTokenPerpetualDistributionLastClaimRequestV0.prototype.identityId = $util.newBuffer([]);
 
-                                /**
-                                 * Encodes the specified StartAtInfo message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.verify|verify} messages.
-                                 * @function encode
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo
-                                 * @static
-                                 * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.IStartAtInfo} message StartAtInfo message or plain object to encode
-                                 * @param {$protobuf.Writer} [writer] Writer to encode to
-                                 * @returns {$protobuf.Writer} Writer
-                                 */
-                                StartAtInfo.encode = function encode(message, writer) {
-                                    if (!writer)
-                                        writer = $Writer.create();
-                                    if (message.startTimeMs != null && Object.hasOwnProperty.call(message, "startTimeMs"))
-                                        writer.uint32(/* id 1, wireType 0 =*/8).uint64(message.startTimeMs);
-                                    if (message.startRecipient != null && Object.hasOwnProperty.call(message, "startRecipient"))
-                                        writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.startRecipient);
-                                    if (message.startRecipientIncluded != null && Object.hasOwnProperty.call(message, "startRecipientIncluded"))
-                                        writer.uint32(/* id 3, wireType 0 =*/24).bool(message.startRecipientIncluded);
-                                    return writer;
-                                };
+                            /**
+                             * GetTokenPerpetualDistributionLastClaimRequestV0 prove.
+                             * @member {boolean} prove
+                             * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0
+                             * @instance
+                             */
+                            GetTokenPerpetualDistributionLastClaimRequestV0.prototype.prove = false;
 
-                                /**
-                                 * Encodes the specified StartAtInfo message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.verify|verify} messages.
-                                 * @function encodeDelimited
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo
-                                 * @static
-                                 * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.IStartAtInfo} message StartAtInfo message or plain object to encode
-                                 * @param {$protobuf.Writer} [writer] Writer to encode to
-                                 * @returns {$protobuf.Writer} Writer
-                                 */
-                                StartAtInfo.encodeDelimited = function encodeDelimited(message, writer) {
-                                    return this.encode(message, writer).ldelim();
-                                };
+                            /**
+                             * Creates a new GetTokenPerpetualDistributionLastClaimRequestV0 instance using the specified properties.
+                             * @function create
+                             * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0
+                             * @static
+                             * @param {org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.IGetTokenPerpetualDistributionLastClaimRequestV0=} [properties] Properties to set
+                             * @returns {org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0} GetTokenPerpetualDistributionLastClaimRequestV0 instance
+                             */
+                            GetTokenPerpetualDistributionLastClaimRequestV0.create = function create(properties) {
+                                return new GetTokenPerpetualDistributionLastClaimRequestV0(properties);
+                            };
 
-                                /**
-                                 * Decodes a StartAtInfo message from the specified reader or buffer.
-                                 * @function decode
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo
-                                 * @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.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo} StartAtInfo
-                                 * @throws {Error} If the payload is not a reader or valid buffer
-                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
-                                 */
-                                StartAtInfo.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.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo();
-                                    while (reader.pos < end) {
-                                        var tag = reader.uint32();
-                                        switch (tag >>> 3) {
-                                        case 1:
-                                            message.startTimeMs = reader.uint64();
-                                            break;
-                                        case 2:
-                                            message.startRecipient = reader.bytes();
-                                            break;
-                                        case 3:
-                                            message.startRecipientIncluded = reader.bool();
-                                            break;
-                                        default:
-                                            reader.skipType(tag & 7);
-                                            break;
-                                        }
-                                    }
-                                    return message;
-                                };
+                            /**
+                             * Encodes the specified GetTokenPerpetualDistributionLastClaimRequestV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0.verify|verify} messages.
+                             * @function encode
+                             * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0
+                             * @static
+                             * @param {org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.IGetTokenPerpetualDistributionLastClaimRequestV0} message GetTokenPerpetualDistributionLastClaimRequestV0 message or plain object to encode
+                             * @param {$protobuf.Writer} [writer] Writer to encode to
+                             * @returns {$protobuf.Writer} Writer
+                             */
+                            GetTokenPerpetualDistributionLastClaimRequestV0.encode = function encode(message, writer) {
+                                if (!writer)
+                                    writer = $Writer.create();
+                                if (message.tokenId != null && Object.hasOwnProperty.call(message, "tokenId"))
+                                    writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.tokenId);
+                                if (message.contractInfo != null && Object.hasOwnProperty.call(message, "contractInfo"))
+                                    $root.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo.encode(message.contractInfo, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+                                if (message.identityId != null && Object.hasOwnProperty.call(message, "identityId"))
+                                    writer.uint32(/* id 4, wireType 2 =*/34).bytes(message.identityId);
+                                if (message.prove != null && Object.hasOwnProperty.call(message, "prove"))
+                                    writer.uint32(/* id 5, wireType 0 =*/40).bool(message.prove);
+                                return writer;
+                            };
 
-                                /**
-                                 * Decodes a StartAtInfo message from the specified reader or buffer, length delimited.
-                                 * @function decodeDelimited
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo
-                                 * @static
-                                 * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                                 * @returns {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo} StartAtInfo
-                                 * @throws {Error} If the payload is not a reader or valid buffer
-                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
-                                 */
-                                StartAtInfo.decodeDelimited = function decodeDelimited(reader) {
-                                    if (!(reader instanceof $Reader))
-                                        reader = new $Reader(reader);
-                                    return this.decode(reader, reader.uint32());
-                                };
+                            /**
+                             * Encodes the specified GetTokenPerpetualDistributionLastClaimRequestV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0.verify|verify} messages.
+                             * @function encodeDelimited
+                             * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0
+                             * @static
+                             * @param {org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.IGetTokenPerpetualDistributionLastClaimRequestV0} message GetTokenPerpetualDistributionLastClaimRequestV0 message or plain object to encode
+                             * @param {$protobuf.Writer} [writer] Writer to encode to
+                             * @returns {$protobuf.Writer} Writer
+                             */
+                            GetTokenPerpetualDistributionLastClaimRequestV0.encodeDelimited = function encodeDelimited(message, writer) {
+                                return this.encode(message, writer).ldelim();
+                            };
 
-                                /**
-                                 * Verifies a StartAtInfo message.
-                                 * @function verify
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo
-                                 * @static
-                                 * @param {Object.} message Plain object to verify
-                                 * @returns {string|null} `null` if valid, otherwise the reason why it is not
-                                 */
-                                StartAtInfo.verify = function verify(message) {
-                                    if (typeof message !== "object" || message === null)
-                                        return "object expected";
-                                    if (message.startTimeMs != null && message.hasOwnProperty("startTimeMs"))
-                                        if (!$util.isInteger(message.startTimeMs) && !(message.startTimeMs && $util.isInteger(message.startTimeMs.low) && $util.isInteger(message.startTimeMs.high)))
-                                            return "startTimeMs: integer|Long expected";
-                                    if (message.startRecipient != null && message.hasOwnProperty("startRecipient"))
-                                        if (!(message.startRecipient && typeof message.startRecipient.length === "number" || $util.isString(message.startRecipient)))
-                                            return "startRecipient: buffer expected";
-                                    if (message.startRecipientIncluded != null && message.hasOwnProperty("startRecipientIncluded"))
-                                        if (typeof message.startRecipientIncluded !== "boolean")
-                                            return "startRecipientIncluded: boolean expected";
-                                    return null;
-                                };
+                            /**
+                             * Decodes a GetTokenPerpetualDistributionLastClaimRequestV0 message from the specified reader or buffer.
+                             * @function decode
+                             * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0
+                             * @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.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0} GetTokenPerpetualDistributionLastClaimRequestV0
+                             * @throws {Error} If the payload is not a reader or valid buffer
+                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
+                             */
+                            GetTokenPerpetualDistributionLastClaimRequestV0.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.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0();
+                                while (reader.pos < end) {
+                                    var tag = reader.uint32();
+                                    switch (tag >>> 3) {
+                                    case 1:
+                                        message.tokenId = reader.bytes();
+                                        break;
+                                    case 2:
+                                        message.contractInfo = $root.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo.decode(reader, reader.uint32());
+                                        break;
+                                    case 4:
+                                        message.identityId = reader.bytes();
+                                        break;
+                                    case 5:
+                                        message.prove = reader.bool();
+                                        break;
+                                    default:
+                                        reader.skipType(tag & 7);
+                                        break;
+                                    }
+                                }
+                                return message;
+                            };
 
-                                /**
-                                 * Creates a StartAtInfo message from a plain object. Also converts values to their respective internal types.
-                                 * @function fromObject
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo
-                                 * @static
-                                 * @param {Object.} object Plain object
-                                 * @returns {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo} StartAtInfo
-                                 */
-                                StartAtInfo.fromObject = function fromObject(object) {
-                                    if (object instanceof $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo)
-                                        return object;
-                                    var message = new $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo();
-                                    if (object.startTimeMs != null)
-                                        if ($util.Long)
-                                            (message.startTimeMs = $util.Long.fromValue(object.startTimeMs)).unsigned = true;
-                                        else if (typeof object.startTimeMs === "string")
-                                            message.startTimeMs = parseInt(object.startTimeMs, 10);
-                                        else if (typeof object.startTimeMs === "number")
-                                            message.startTimeMs = object.startTimeMs;
-                                        else if (typeof object.startTimeMs === "object")
-                                            message.startTimeMs = new $util.LongBits(object.startTimeMs.low >>> 0, object.startTimeMs.high >>> 0).toNumber(true);
-                                    if (object.startRecipient != null)
-                                        if (typeof object.startRecipient === "string")
-                                            $util.base64.decode(object.startRecipient, message.startRecipient = $util.newBuffer($util.base64.length(object.startRecipient)), 0);
-                                        else if (object.startRecipient.length >= 0)
-                                            message.startRecipient = object.startRecipient;
-                                    if (object.startRecipientIncluded != null)
-                                        message.startRecipientIncluded = Boolean(object.startRecipientIncluded);
-                                    return message;
-                                };
+                            /**
+                             * Decodes a GetTokenPerpetualDistributionLastClaimRequestV0 message from the specified reader or buffer, length delimited.
+                             * @function decodeDelimited
+                             * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0
+                             * @static
+                             * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+                             * @returns {org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0} GetTokenPerpetualDistributionLastClaimRequestV0
+                             * @throws {Error} If the payload is not a reader or valid buffer
+                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
+                             */
+                            GetTokenPerpetualDistributionLastClaimRequestV0.decodeDelimited = function decodeDelimited(reader) {
+                                if (!(reader instanceof $Reader))
+                                    reader = new $Reader(reader);
+                                return this.decode(reader, reader.uint32());
+                            };
 
-                                /**
-                                 * Creates a plain object from a StartAtInfo message. Also converts values to other types if specified.
-                                 * @function toObject
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo
-                                 * @static
-                                 * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo} message StartAtInfo
-                                 * @param {$protobuf.IConversionOptions} [options] Conversion options
-                                 * @returns {Object.} Plain object
-                                 */
-                                StartAtInfo.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.startTimeMs = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;
-                                        } else
-                                            object.startTimeMs = options.longs === String ? "0" : 0;
-                                        if (options.bytes === String)
-                                            object.startRecipient = "";
-                                        else {
-                                            object.startRecipient = [];
-                                            if (options.bytes !== Array)
-                                                object.startRecipient = $util.newBuffer(object.startRecipient);
-                                        }
-                                        object.startRecipientIncluded = false;
-                                    }
-                                    if (message.startTimeMs != null && message.hasOwnProperty("startTimeMs"))
-                                        if (typeof message.startTimeMs === "number")
-                                            object.startTimeMs = options.longs === String ? String(message.startTimeMs) : message.startTimeMs;
-                                        else
-                                            object.startTimeMs = options.longs === String ? $util.Long.prototype.toString.call(message.startTimeMs) : options.longs === Number ? new $util.LongBits(message.startTimeMs.low >>> 0, message.startTimeMs.high >>> 0).toNumber(true) : message.startTimeMs;
-                                    if (message.startRecipient != null && message.hasOwnProperty("startRecipient"))
-                                        object.startRecipient = options.bytes === String ? $util.base64.encode(message.startRecipient, 0, message.startRecipient.length) : options.bytes === Array ? Array.prototype.slice.call(message.startRecipient) : message.startRecipient;
-                                    if (message.startRecipientIncluded != null && message.hasOwnProperty("startRecipientIncluded"))
-                                        object.startRecipientIncluded = message.startRecipientIncluded;
+                            /**
+                             * Verifies a GetTokenPerpetualDistributionLastClaimRequestV0 message.
+                             * @function verify
+                             * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0
+                             * @static
+                             * @param {Object.} message Plain object to verify
+                             * @returns {string|null} `null` if valid, otherwise the reason why it is not
+                             */
+                            GetTokenPerpetualDistributionLastClaimRequestV0.verify = function verify(message) {
+                                if (typeof message !== "object" || message === null)
+                                    return "object expected";
+                                if (message.tokenId != null && message.hasOwnProperty("tokenId"))
+                                    if (!(message.tokenId && typeof message.tokenId.length === "number" || $util.isString(message.tokenId)))
+                                        return "tokenId: buffer expected";
+                                if (message.contractInfo != null && message.hasOwnProperty("contractInfo")) {
+                                    var error = $root.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo.verify(message.contractInfo);
+                                    if (error)
+                                        return "contractInfo." + error;
+                                }
+                                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.prove != null && message.hasOwnProperty("prove"))
+                                    if (typeof message.prove !== "boolean")
+                                        return "prove: boolean expected";
+                                return null;
+                            };
+
+                            /**
+                             * Creates a GetTokenPerpetualDistributionLastClaimRequestV0 message from a plain object. Also converts values to their respective internal types.
+                             * @function fromObject
+                             * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0
+                             * @static
+                             * @param {Object.} object Plain object
+                             * @returns {org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0} GetTokenPerpetualDistributionLastClaimRequestV0
+                             */
+                            GetTokenPerpetualDistributionLastClaimRequestV0.fromObject = function fromObject(object) {
+                                if (object instanceof $root.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0)
                                     return object;
-                                };
+                                var message = new $root.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0();
+                                if (object.tokenId != null)
+                                    if (typeof object.tokenId === "string")
+                                        $util.base64.decode(object.tokenId, message.tokenId = $util.newBuffer($util.base64.length(object.tokenId)), 0);
+                                    else if (object.tokenId.length >= 0)
+                                        message.tokenId = object.tokenId;
+                                if (object.contractInfo != null) {
+                                    if (typeof object.contractInfo !== "object")
+                                        throw TypeError(".org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0.contractInfo: object expected");
+                                    message.contractInfo = $root.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo.fromObject(object.contractInfo);
+                                }
+                                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.prove != null)
+                                    message.prove = Boolean(object.prove);
+                                return message;
+                            };
 
-                                /**
-                                 * Converts this StartAtInfo to JSON.
-                                 * @function toJSON
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo
-                                 * @instance
-                                 * @returns {Object.} JSON object
-                                 */
-                                StartAtInfo.prototype.toJSON = function toJSON() {
-                                    return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
-                                };
+                            /**
+                             * Creates a plain object from a GetTokenPerpetualDistributionLastClaimRequestV0 message. Also converts values to other types if specified.
+                             * @function toObject
+                             * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0
+                             * @static
+                             * @param {org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0} message GetTokenPerpetualDistributionLastClaimRequestV0
+                             * @param {$protobuf.IConversionOptions} [options] Conversion options
+                             * @returns {Object.} Plain object
+                             */
+                            GetTokenPerpetualDistributionLastClaimRequestV0.toObject = function toObject(message, options) {
+                                if (!options)
+                                    options = {};
+                                var object = {};
+                                if (options.defaults) {
+                                    if (options.bytes === String)
+                                        object.tokenId = "";
+                                    else {
+                                        object.tokenId = [];
+                                        if (options.bytes !== Array)
+                                            object.tokenId = $util.newBuffer(object.tokenId);
+                                    }
+                                    object.contractInfo = null;
+                                    if (options.bytes === String)
+                                        object.identityId = "";
+                                    else {
+                                        object.identityId = [];
+                                        if (options.bytes !== Array)
+                                            object.identityId = $util.newBuffer(object.identityId);
+                                    }
+                                    object.prove = false;
+                                }
+                                if (message.tokenId != null && message.hasOwnProperty("tokenId"))
+                                    object.tokenId = options.bytes === String ? $util.base64.encode(message.tokenId, 0, message.tokenId.length) : options.bytes === Array ? Array.prototype.slice.call(message.tokenId) : message.tokenId;
+                                if (message.contractInfo != null && message.hasOwnProperty("contractInfo"))
+                                    object.contractInfo = $root.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo.toObject(message.contractInfo, 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.prove != null && message.hasOwnProperty("prove"))
+                                    object.prove = message.prove;
+                                return object;
+                            };
 
-                                return StartAtInfo;
-                            })();
+                            /**
+                             * Converts this GetTokenPerpetualDistributionLastClaimRequestV0 to JSON.
+                             * @function toJSON
+                             * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0
+                             * @instance
+                             * @returns {Object.} JSON object
+                             */
+                            GetTokenPerpetualDistributionLastClaimRequestV0.prototype.toJSON = function toJSON() {
+                                return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+                            };
 
-                            return GetTokenPreProgrammedDistributionsRequestV0;
+                            return GetTokenPerpetualDistributionLastClaimRequestV0;
                         })();
 
-                        return GetTokenPreProgrammedDistributionsRequest;
+                        return GetTokenPerpetualDistributionLastClaimRequest;
                     })();
 
-                    v0.GetTokenPreProgrammedDistributionsResponse = (function() {
+                    v0.GetTokenPerpetualDistributionLastClaimResponse = (function() {
 
                         /**
-                         * Properties of a GetTokenPreProgrammedDistributionsResponse.
+                         * Properties of a GetTokenPerpetualDistributionLastClaimResponse.
                          * @memberof org.dash.platform.dapi.v0
-                         * @interface IGetTokenPreProgrammedDistributionsResponse
-                         * @property {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.IGetTokenPreProgrammedDistributionsResponseV0|null} [v0] GetTokenPreProgrammedDistributionsResponse v0
+                         * @interface IGetTokenPerpetualDistributionLastClaimResponse
+                         * @property {org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.IGetTokenPerpetualDistributionLastClaimResponseV0|null} [v0] GetTokenPerpetualDistributionLastClaimResponse v0
                          */
 
                         /**
-                         * Constructs a new GetTokenPreProgrammedDistributionsResponse.
+                         * Constructs a new GetTokenPerpetualDistributionLastClaimResponse.
                          * @memberof org.dash.platform.dapi.v0
-                         * @classdesc Represents a GetTokenPreProgrammedDistributionsResponse.
-                         * @implements IGetTokenPreProgrammedDistributionsResponse
+                         * @classdesc Represents a GetTokenPerpetualDistributionLastClaimResponse.
+                         * @implements IGetTokenPerpetualDistributionLastClaimResponse
                          * @constructor
-                         * @param {org.dash.platform.dapi.v0.IGetTokenPreProgrammedDistributionsResponse=} [properties] Properties to set
+                         * @param {org.dash.platform.dapi.v0.IGetTokenPerpetualDistributionLastClaimResponse=} [properties] Properties to set
                          */
-                        function GetTokenPreProgrammedDistributionsResponse(properties) {
+                        function GetTokenPerpetualDistributionLastClaimResponse(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
                                     if (properties[keys[i]] != null)
@@ -54560,89 +61037,89 @@ $root.org = (function() {
                         }
 
                         /**
-                         * GetTokenPreProgrammedDistributionsResponse v0.
-                         * @member {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.IGetTokenPreProgrammedDistributionsResponseV0|null|undefined} v0
-                         * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse
+                         * GetTokenPerpetualDistributionLastClaimResponse v0.
+                         * @member {org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.IGetTokenPerpetualDistributionLastClaimResponseV0|null|undefined} v0
+                         * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse
                          * @instance
                          */
-                        GetTokenPreProgrammedDistributionsResponse.prototype.v0 = null;
+                        GetTokenPerpetualDistributionLastClaimResponse.prototype.v0 = null;
 
                         // OneOf field names bound to virtual getters and setters
                         var $oneOfFields;
 
                         /**
-                         * GetTokenPreProgrammedDistributionsResponse version.
+                         * GetTokenPerpetualDistributionLastClaimResponse version.
                          * @member {"v0"|undefined} version
-                         * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse
+                         * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse
                          * @instance
                          */
-                        Object.defineProperty(GetTokenPreProgrammedDistributionsResponse.prototype, "version", {
+                        Object.defineProperty(GetTokenPerpetualDistributionLastClaimResponse.prototype, "version", {
                             get: $util.oneOfGetter($oneOfFields = ["v0"]),
                             set: $util.oneOfSetter($oneOfFields)
                         });
 
                         /**
-                         * Creates a new GetTokenPreProgrammedDistributionsResponse instance using the specified properties.
+                         * Creates a new GetTokenPerpetualDistributionLastClaimResponse instance using the specified properties.
                          * @function create
-                         * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse
+                         * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse
                          * @static
-                         * @param {org.dash.platform.dapi.v0.IGetTokenPreProgrammedDistributionsResponse=} [properties] Properties to set
-                         * @returns {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse} GetTokenPreProgrammedDistributionsResponse instance
+                         * @param {org.dash.platform.dapi.v0.IGetTokenPerpetualDistributionLastClaimResponse=} [properties] Properties to set
+                         * @returns {org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse} GetTokenPerpetualDistributionLastClaimResponse instance
                          */
-                        GetTokenPreProgrammedDistributionsResponse.create = function create(properties) {
-                            return new GetTokenPreProgrammedDistributionsResponse(properties);
+                        GetTokenPerpetualDistributionLastClaimResponse.create = function create(properties) {
+                            return new GetTokenPerpetualDistributionLastClaimResponse(properties);
                         };
 
                         /**
-                         * Encodes the specified GetTokenPreProgrammedDistributionsResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.verify|verify} messages.
+                         * Encodes the specified GetTokenPerpetualDistributionLastClaimResponse message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.verify|verify} messages.
                          * @function encode
-                         * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse
+                         * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse
                          * @static
-                         * @param {org.dash.platform.dapi.v0.IGetTokenPreProgrammedDistributionsResponse} message GetTokenPreProgrammedDistributionsResponse message or plain object to encode
+                         * @param {org.dash.platform.dapi.v0.IGetTokenPerpetualDistributionLastClaimResponse} message GetTokenPerpetualDistributionLastClaimResponse message or plain object to encode
                          * @param {$protobuf.Writer} [writer] Writer to encode to
                          * @returns {$protobuf.Writer} Writer
                          */
-                        GetTokenPreProgrammedDistributionsResponse.encode = function encode(message, writer) {
+                        GetTokenPerpetualDistributionLastClaimResponse.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.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+                                $root.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.encode(message.v0, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
                             return writer;
                         };
 
                         /**
-                         * Encodes the specified GetTokenPreProgrammedDistributionsResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.verify|verify} messages.
+                         * Encodes the specified GetTokenPerpetualDistributionLastClaimResponse message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.verify|verify} messages.
                          * @function encodeDelimited
-                         * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse
+                         * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse
                          * @static
-                         * @param {org.dash.platform.dapi.v0.IGetTokenPreProgrammedDistributionsResponse} message GetTokenPreProgrammedDistributionsResponse message or plain object to encode
+                         * @param {org.dash.platform.dapi.v0.IGetTokenPerpetualDistributionLastClaimResponse} message GetTokenPerpetualDistributionLastClaimResponse message or plain object to encode
                          * @param {$protobuf.Writer} [writer] Writer to encode to
                          * @returns {$protobuf.Writer} Writer
                          */
-                        GetTokenPreProgrammedDistributionsResponse.encodeDelimited = function encodeDelimited(message, writer) {
+                        GetTokenPerpetualDistributionLastClaimResponse.encodeDelimited = function encodeDelimited(message, writer) {
                             return this.encode(message, writer).ldelim();
                         };
 
                         /**
-                         * Decodes a GetTokenPreProgrammedDistributionsResponse message from the specified reader or buffer.
+                         * Decodes a GetTokenPerpetualDistributionLastClaimResponse message from the specified reader or buffer.
                          * @function decode
-                         * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse
+                         * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse
                          * @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.GetTokenPreProgrammedDistributionsResponse} GetTokenPreProgrammedDistributionsResponse
+                         * @returns {org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse} GetTokenPerpetualDistributionLastClaimResponse
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        GetTokenPreProgrammedDistributionsResponse.decode = function decode(reader, length) {
+                        GetTokenPerpetualDistributionLastClaimResponse.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.GetTokenPreProgrammedDistributionsResponse();
+                            var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
                                 switch (tag >>> 3) {
                                 case 1:
-                                    message.v0 = $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.decode(reader, reader.uint32());
+                                    message.v0 = $root.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.decode(reader, reader.uint32());
                                     break;
                                 default:
                                     reader.skipType(tag & 7);
@@ -54653,37 +61130,37 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Decodes a GetTokenPreProgrammedDistributionsResponse message from the specified reader or buffer, length delimited.
+                         * Decodes a GetTokenPerpetualDistributionLastClaimResponse message from the specified reader or buffer, length delimited.
                          * @function decodeDelimited
-                         * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse
+                         * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse
                          * @static
                          * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                         * @returns {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse} GetTokenPreProgrammedDistributionsResponse
+                         * @returns {org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse} GetTokenPerpetualDistributionLastClaimResponse
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        GetTokenPreProgrammedDistributionsResponse.decodeDelimited = function decodeDelimited(reader) {
+                        GetTokenPerpetualDistributionLastClaimResponse.decodeDelimited = function decodeDelimited(reader) {
                             if (!(reader instanceof $Reader))
                                 reader = new $Reader(reader);
                             return this.decode(reader, reader.uint32());
                         };
 
                         /**
-                         * Verifies a GetTokenPreProgrammedDistributionsResponse message.
+                         * Verifies a GetTokenPerpetualDistributionLastClaimResponse message.
                          * @function verify
-                         * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse
+                         * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse
                          * @static
                          * @param {Object.} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        GetTokenPreProgrammedDistributionsResponse.verify = function verify(message) {
+                        GetTokenPerpetualDistributionLastClaimResponse.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.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.verify(message.v0);
+                                    var error = $root.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.verify(message.v0);
                                     if (error)
                                         return "v0." + error;
                                 }
@@ -54692,40 +61169,40 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Creates a GetTokenPreProgrammedDistributionsResponse message from a plain object. Also converts values to their respective internal types.
+                         * Creates a GetTokenPerpetualDistributionLastClaimResponse message from a plain object. Also converts values to their respective internal types.
                          * @function fromObject
-                         * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse
+                         * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse
                          * @static
                          * @param {Object.} object Plain object
-                         * @returns {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse} GetTokenPreProgrammedDistributionsResponse
+                         * @returns {org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse} GetTokenPerpetualDistributionLastClaimResponse
                          */
-                        GetTokenPreProgrammedDistributionsResponse.fromObject = function fromObject(object) {
-                            if (object instanceof $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse)
+                        GetTokenPerpetualDistributionLastClaimResponse.fromObject = function fromObject(object) {
+                            if (object instanceof $root.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse)
                                 return object;
-                            var message = new $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse();
+                            var message = new $root.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse();
                             if (object.v0 != null) {
                                 if (typeof object.v0 !== "object")
-                                    throw TypeError(".org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.v0: object expected");
-                                message.v0 = $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.fromObject(object.v0);
+                                    throw TypeError(".org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.v0: object expected");
+                                message.v0 = $root.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.fromObject(object.v0);
                             }
                             return message;
                         };
 
                         /**
-                         * Creates a plain object from a GetTokenPreProgrammedDistributionsResponse message. Also converts values to other types if specified.
+                         * Creates a plain object from a GetTokenPerpetualDistributionLastClaimResponse message. Also converts values to other types if specified.
                          * @function toObject
-                         * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse
+                         * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse
                          * @static
-                         * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse} message GetTokenPreProgrammedDistributionsResponse
+                         * @param {org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse} message GetTokenPerpetualDistributionLastClaimResponse
                          * @param {$protobuf.IConversionOptions} [options] Conversion options
                          * @returns {Object.} Plain object
                          */
-                        GetTokenPreProgrammedDistributionsResponse.toObject = function toObject(message, options) {
+                        GetTokenPerpetualDistributionLastClaimResponse.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.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.toObject(message.v0, options);
+                                object.v0 = $root.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.toObject(message.v0, options);
                                 if (options.oneofs)
                                     object.version = "v0";
                             }
@@ -54733,36 +61210,36 @@ $root.org = (function() {
                         };
 
                         /**
-                         * Converts this GetTokenPreProgrammedDistributionsResponse to JSON.
+                         * Converts this GetTokenPerpetualDistributionLastClaimResponse to JSON.
                          * @function toJSON
-                         * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse
+                         * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse
                          * @instance
                          * @returns {Object.} JSON object
                          */
-                        GetTokenPreProgrammedDistributionsResponse.prototype.toJSON = function toJSON() {
+                        GetTokenPerpetualDistributionLastClaimResponse.prototype.toJSON = function toJSON() {
                             return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
                         };
 
-                        GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0 = (function() {
+                        GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0 = (function() {
 
                             /**
-                             * Properties of a GetTokenPreProgrammedDistributionsResponseV0.
-                             * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse
-                             * @interface IGetTokenPreProgrammedDistributionsResponseV0
-                             * @property {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.ITokenDistributions|null} [tokenDistributions] GetTokenPreProgrammedDistributionsResponseV0 tokenDistributions
-                             * @property {org.dash.platform.dapi.v0.IProof|null} [proof] GetTokenPreProgrammedDistributionsResponseV0 proof
-                             * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetTokenPreProgrammedDistributionsResponseV0 metadata
+                             * Properties of a GetTokenPerpetualDistributionLastClaimResponseV0.
+                             * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse
+                             * @interface IGetTokenPerpetualDistributionLastClaimResponseV0
+                             * @property {org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.ILastClaimInfo|null} [lastClaim] GetTokenPerpetualDistributionLastClaimResponseV0 lastClaim
+                             * @property {org.dash.platform.dapi.v0.IProof|null} [proof] GetTokenPerpetualDistributionLastClaimResponseV0 proof
+                             * @property {org.dash.platform.dapi.v0.IResponseMetadata|null} [metadata] GetTokenPerpetualDistributionLastClaimResponseV0 metadata
                              */
 
                             /**
-                             * Constructs a new GetTokenPreProgrammedDistributionsResponseV0.
-                             * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse
-                             * @classdesc Represents a GetTokenPreProgrammedDistributionsResponseV0.
-                             * @implements IGetTokenPreProgrammedDistributionsResponseV0
+                             * Constructs a new GetTokenPerpetualDistributionLastClaimResponseV0.
+                             * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse
+                             * @classdesc Represents a GetTokenPerpetualDistributionLastClaimResponseV0.
+                             * @implements IGetTokenPerpetualDistributionLastClaimResponseV0
                              * @constructor
-                             * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.IGetTokenPreProgrammedDistributionsResponseV0=} [properties] Properties to set
+                             * @param {org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.IGetTokenPerpetualDistributionLastClaimResponseV0=} [properties] Properties to set
                              */
-                            function GetTokenPreProgrammedDistributionsResponseV0(properties) {
+                            function GetTokenPerpetualDistributionLastClaimResponseV0(properties) {
                                 if (properties)
                                     for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
                                         if (properties[keys[i]] != null)
@@ -54770,69 +61247,69 @@ $root.org = (function() {
                             }
 
                             /**
-                             * GetTokenPreProgrammedDistributionsResponseV0 tokenDistributions.
-                             * @member {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.ITokenDistributions|null|undefined} tokenDistributions
-                             * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0
+                             * GetTokenPerpetualDistributionLastClaimResponseV0 lastClaim.
+                             * @member {org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.ILastClaimInfo|null|undefined} lastClaim
+                             * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0
                              * @instance
                              */
-                            GetTokenPreProgrammedDistributionsResponseV0.prototype.tokenDistributions = null;
+                            GetTokenPerpetualDistributionLastClaimResponseV0.prototype.lastClaim = null;
 
                             /**
-                             * GetTokenPreProgrammedDistributionsResponseV0 proof.
+                             * GetTokenPerpetualDistributionLastClaimResponseV0 proof.
                              * @member {org.dash.platform.dapi.v0.IProof|null|undefined} proof
-                             * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0
                              * @instance
                              */
-                            GetTokenPreProgrammedDistributionsResponseV0.prototype.proof = null;
+                            GetTokenPerpetualDistributionLastClaimResponseV0.prototype.proof = null;
 
                             /**
-                             * GetTokenPreProgrammedDistributionsResponseV0 metadata.
+                             * GetTokenPerpetualDistributionLastClaimResponseV0 metadata.
                              * @member {org.dash.platform.dapi.v0.IResponseMetadata|null|undefined} metadata
-                             * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0
                              * @instance
                              */
-                            GetTokenPreProgrammedDistributionsResponseV0.prototype.metadata = null;
+                            GetTokenPerpetualDistributionLastClaimResponseV0.prototype.metadata = null;
 
                             // OneOf field names bound to virtual getters and setters
                             var $oneOfFields;
 
                             /**
-                             * GetTokenPreProgrammedDistributionsResponseV0 result.
-                             * @member {"tokenDistributions"|"proof"|undefined} result
-                             * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0
+                             * GetTokenPerpetualDistributionLastClaimResponseV0 result.
+                             * @member {"lastClaim"|"proof"|undefined} result
+                             * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0
                              * @instance
                              */
-                            Object.defineProperty(GetTokenPreProgrammedDistributionsResponseV0.prototype, "result", {
-                                get: $util.oneOfGetter($oneOfFields = ["tokenDistributions", "proof"]),
+                            Object.defineProperty(GetTokenPerpetualDistributionLastClaimResponseV0.prototype, "result", {
+                                get: $util.oneOfGetter($oneOfFields = ["lastClaim", "proof"]),
                                 set: $util.oneOfSetter($oneOfFields)
                             });
 
                             /**
-                             * Creates a new GetTokenPreProgrammedDistributionsResponseV0 instance using the specified properties.
+                             * Creates a new GetTokenPerpetualDistributionLastClaimResponseV0 instance using the specified properties.
                              * @function create
-                             * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.IGetTokenPreProgrammedDistributionsResponseV0=} [properties] Properties to set
-                             * @returns {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0} GetTokenPreProgrammedDistributionsResponseV0 instance
+                             * @param {org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.IGetTokenPerpetualDistributionLastClaimResponseV0=} [properties] Properties to set
+                             * @returns {org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0} GetTokenPerpetualDistributionLastClaimResponseV0 instance
                              */
-                            GetTokenPreProgrammedDistributionsResponseV0.create = function create(properties) {
-                                return new GetTokenPreProgrammedDistributionsResponseV0(properties);
+                            GetTokenPerpetualDistributionLastClaimResponseV0.create = function create(properties) {
+                                return new GetTokenPerpetualDistributionLastClaimResponseV0(properties);
                             };
 
                             /**
-                             * Encodes the specified GetTokenPreProgrammedDistributionsResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.verify|verify} messages.
+                             * Encodes the specified GetTokenPerpetualDistributionLastClaimResponseV0 message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.verify|verify} messages.
                              * @function encode
-                             * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.IGetTokenPreProgrammedDistributionsResponseV0} message GetTokenPreProgrammedDistributionsResponseV0 message or plain object to encode
+                             * @param {org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.IGetTokenPerpetualDistributionLastClaimResponseV0} message GetTokenPerpetualDistributionLastClaimResponseV0 message or plain object to encode
                              * @param {$protobuf.Writer} [writer] Writer to encode to
                              * @returns {$protobuf.Writer} Writer
                              */
-                            GetTokenPreProgrammedDistributionsResponseV0.encode = function encode(message, writer) {
+                            GetTokenPerpetualDistributionLastClaimResponseV0.encode = function encode(message, writer) {
                                 if (!writer)
                                     writer = $Writer.create();
-                                if (message.tokenDistributions != null && Object.hasOwnProperty.call(message, "tokenDistributions"))
-                                    $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions.encode(message.tokenDistributions, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+                                if (message.lastClaim != null && Object.hasOwnProperty.call(message, "lastClaim"))
+                                    $root.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo.encode(message.lastClaim, 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"))
@@ -54841,431 +61318,199 @@ $root.org = (function() {
                             };
 
                             /**
-                             * Encodes the specified GetTokenPreProgrammedDistributionsResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.verify|verify} messages.
+                             * Encodes the specified GetTokenPerpetualDistributionLastClaimResponseV0 message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.verify|verify} messages.
                              * @function encodeDelimited
-                             * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0
                              * @static
-                             * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.IGetTokenPreProgrammedDistributionsResponseV0} message GetTokenPreProgrammedDistributionsResponseV0 message or plain object to encode
+                             * @param {org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.IGetTokenPerpetualDistributionLastClaimResponseV0} message GetTokenPerpetualDistributionLastClaimResponseV0 message or plain object to encode
                              * @param {$protobuf.Writer} [writer] Writer to encode to
                              * @returns {$protobuf.Writer} Writer
                              */
-                            GetTokenPreProgrammedDistributionsResponseV0.encodeDelimited = function encodeDelimited(message, writer) {
+                            GetTokenPerpetualDistributionLastClaimResponseV0.encodeDelimited = function encodeDelimited(message, writer) {
                                 return this.encode(message, writer).ldelim();
                             };
 
                             /**
-                             * Decodes a GetTokenPreProgrammedDistributionsResponseV0 message from the specified reader or buffer.
+                             * Decodes a GetTokenPerpetualDistributionLastClaimResponseV0 message from the specified reader or buffer.
                              * @function decode
-                             * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0
+                             * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0
                              * @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.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0} GetTokenPreProgrammedDistributionsResponseV0
+                             * @returns {org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0} GetTokenPerpetualDistributionLastClaimResponseV0
                              * @throws {Error} If the payload is not a reader or valid buffer
                              * @throws {$protobuf.util.ProtocolError} If required fields are missing
                              */
-                            GetTokenPreProgrammedDistributionsResponseV0.decode = function decode(reader, length) {
+                            GetTokenPerpetualDistributionLastClaimResponseV0.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.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0();
+                                var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0();
                                 while (reader.pos < end) {
                                     var tag = reader.uint32();
-                                    switch (tag >>> 3) {
-                                    case 1:
-                                        message.tokenDistributions = $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions.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 GetTokenPreProgrammedDistributionsResponseV0 message from the specified reader or buffer, length delimited.
-                             * @function decodeDelimited
-                             * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0
-                             * @static
-                             * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                             * @returns {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0} GetTokenPreProgrammedDistributionsResponseV0
-                             * @throws {Error} If the payload is not a reader or valid buffer
-                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
-                             */
-                            GetTokenPreProgrammedDistributionsResponseV0.decodeDelimited = function decodeDelimited(reader) {
-                                if (!(reader instanceof $Reader))
-                                    reader = new $Reader(reader);
-                                return this.decode(reader, reader.uint32());
-                            };
-
-                            /**
-                             * Verifies a GetTokenPreProgrammedDistributionsResponseV0 message.
-                             * @function verify
-                             * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0
-                             * @static
-                             * @param {Object.} message Plain object to verify
-                             * @returns {string|null} `null` if valid, otherwise the reason why it is not
-                             */
-                            GetTokenPreProgrammedDistributionsResponseV0.verify = function verify(message) {
-                                if (typeof message !== "object" || message === null)
-                                    return "object expected";
-                                var properties = {};
-                                if (message.tokenDistributions != null && message.hasOwnProperty("tokenDistributions")) {
-                                    properties.result = 1;
-                                    {
-                                        var error = $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions.verify(message.tokenDistributions);
-                                        if (error)
-                                            return "tokenDistributions." + 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 GetTokenPreProgrammedDistributionsResponseV0 message from a plain object. Also converts values to their respective internal types.
-                             * @function fromObject
-                             * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0
-                             * @static
-                             * @param {Object.} object Plain object
-                             * @returns {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0} GetTokenPreProgrammedDistributionsResponseV0
-                             */
-                            GetTokenPreProgrammedDistributionsResponseV0.fromObject = function fromObject(object) {
-                                if (object instanceof $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0)
-                                    return object;
-                                var message = new $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0();
-                                if (object.tokenDistributions != null) {
-                                    if (typeof object.tokenDistributions !== "object")
-                                        throw TypeError(".org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.tokenDistributions: object expected");
-                                    message.tokenDistributions = $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions.fromObject(object.tokenDistributions);
-                                }
-                                if (object.proof != null) {
-                                    if (typeof object.proof !== "object")
-                                        throw TypeError(".org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.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.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.metadata: object expected");
-                                    message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.fromObject(object.metadata);
-                                }
-                                return message;
-                            };
-
-                            /**
-                             * Creates a plain object from a GetTokenPreProgrammedDistributionsResponseV0 message. Also converts values to other types if specified.
-                             * @function toObject
-                             * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0
-                             * @static
-                             * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0} message GetTokenPreProgrammedDistributionsResponseV0
-                             * @param {$protobuf.IConversionOptions} [options] Conversion options
-                             * @returns {Object.} Plain object
-                             */
-                            GetTokenPreProgrammedDistributionsResponseV0.toObject = function toObject(message, options) {
-                                if (!options)
-                                    options = {};
-                                var object = {};
-                                if (options.defaults)
-                                    object.metadata = null;
-                                if (message.tokenDistributions != null && message.hasOwnProperty("tokenDistributions")) {
-                                    object.tokenDistributions = $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions.toObject(message.tokenDistributions, options);
-                                    if (options.oneofs)
-                                        object.result = "tokenDistributions";
-                                }
-                                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 GetTokenPreProgrammedDistributionsResponseV0 to JSON.
-                             * @function toJSON
-                             * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0
-                             * @instance
-                             * @returns {Object.} JSON object
-                             */
-                            GetTokenPreProgrammedDistributionsResponseV0.prototype.toJSON = function toJSON() {
-                                return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
-                            };
-
-                            GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry = (function() {
-
-                                /**
-                                 * Properties of a TokenDistributionEntry.
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0
-                                 * @interface ITokenDistributionEntry
-                                 * @property {Uint8Array|null} [recipientId] TokenDistributionEntry recipientId
-                                 * @property {number|Long|null} [amount] TokenDistributionEntry amount
-                                 */
-
-                                /**
-                                 * Constructs a new TokenDistributionEntry.
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0
-                                 * @classdesc Represents a TokenDistributionEntry.
-                                 * @implements ITokenDistributionEntry
-                                 * @constructor
-                                 * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.ITokenDistributionEntry=} [properties] Properties to set
-                                 */
-                                function TokenDistributionEntry(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]];
-                                }
-
-                                /**
-                                 * TokenDistributionEntry recipientId.
-                                 * @member {Uint8Array} recipientId
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry
-                                 * @instance
-                                 */
-                                TokenDistributionEntry.prototype.recipientId = $util.newBuffer([]);
-
-                                /**
-                                 * TokenDistributionEntry amount.
-                                 * @member {number|Long} amount
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry
-                                 * @instance
-                                 */
-                                TokenDistributionEntry.prototype.amount = $util.Long ? $util.Long.fromBits(0,0,true) : 0;
-
-                                /**
-                                 * Creates a new TokenDistributionEntry instance using the specified properties.
-                                 * @function create
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry
-                                 * @static
-                                 * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.ITokenDistributionEntry=} [properties] Properties to set
-                                 * @returns {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry} TokenDistributionEntry instance
-                                 */
-                                TokenDistributionEntry.create = function create(properties) {
-                                    return new TokenDistributionEntry(properties);
-                                };
-
-                                /**
-                                 * Encodes the specified TokenDistributionEntry message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry.verify|verify} messages.
-                                 * @function encode
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry
-                                 * @static
-                                 * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.ITokenDistributionEntry} message TokenDistributionEntry message or plain object to encode
-                                 * @param {$protobuf.Writer} [writer] Writer to encode to
-                                 * @returns {$protobuf.Writer} Writer
-                                 */
-                                TokenDistributionEntry.encode = function encode(message, writer) {
-                                    if (!writer)
-                                        writer = $Writer.create();
-                                    if (message.recipientId != null && Object.hasOwnProperty.call(message, "recipientId"))
-                                        writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.recipientId);
-                                    if (message.amount != null && Object.hasOwnProperty.call(message, "amount"))
-                                        writer.uint32(/* id 2, wireType 0 =*/16).uint64(message.amount);
-                                    return writer;
-                                };
-
-                                /**
-                                 * Encodes the specified TokenDistributionEntry message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry.verify|verify} messages.
-                                 * @function encodeDelimited
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry
-                                 * @static
-                                 * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.ITokenDistributionEntry} message TokenDistributionEntry message or plain object to encode
-                                 * @param {$protobuf.Writer} [writer] Writer to encode to
-                                 * @returns {$protobuf.Writer} Writer
-                                 */
-                                TokenDistributionEntry.encodeDelimited = function encodeDelimited(message, writer) {
-                                    return this.encode(message, writer).ldelim();
-                                };
-
-                                /**
-                                 * Decodes a TokenDistributionEntry message from the specified reader or buffer.
-                                 * @function decode
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry
-                                 * @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.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry} TokenDistributionEntry
-                                 * @throws {Error} If the payload is not a reader or valid buffer
-                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
-                                 */
-                                TokenDistributionEntry.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.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry();
-                                    while (reader.pos < end) {
-                                        var tag = reader.uint32();
-                                        switch (tag >>> 3) {
-                                        case 1:
-                                            message.recipientId = reader.bytes();
-                                            break;
-                                        case 2:
-                                            message.amount = reader.uint64();
-                                            break;
-                                        default:
-                                            reader.skipType(tag & 7);
-                                            break;
-                                        }
-                                    }
-                                    return message;
-                                };
-
-                                /**
-                                 * Decodes a TokenDistributionEntry message from the specified reader or buffer, length delimited.
-                                 * @function decodeDelimited
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry
-                                 * @static
-                                 * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                                 * @returns {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry} TokenDistributionEntry
-                                 * @throws {Error} If the payload is not a reader or valid buffer
-                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
-                                 */
-                                TokenDistributionEntry.decodeDelimited = function decodeDelimited(reader) {
-                                    if (!(reader instanceof $Reader))
-                                        reader = new $Reader(reader);
-                                    return this.decode(reader, reader.uint32());
-                                };
-
-                                /**
-                                 * Verifies a TokenDistributionEntry message.
-                                 * @function verify
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry
-                                 * @static
-                                 * @param {Object.} message Plain object to verify
-                                 * @returns {string|null} `null` if valid, otherwise the reason why it is not
-                                 */
-                                TokenDistributionEntry.verify = function verify(message) {
-                                    if (typeof message !== "object" || message === null)
-                                        return "object expected";
-                                    if (message.recipientId != null && message.hasOwnProperty("recipientId"))
-                                        if (!(message.recipientId && typeof message.recipientId.length === "number" || $util.isString(message.recipientId)))
-                                            return "recipientId: buffer expected";
-                                    if (message.amount != null && message.hasOwnProperty("amount"))
-                                        if (!$util.isInteger(message.amount) && !(message.amount && $util.isInteger(message.amount.low) && $util.isInteger(message.amount.high)))
-                                            return "amount: integer|Long expected";
-                                    return null;
-                                };
-
-                                /**
-                                 * Creates a TokenDistributionEntry message from a plain object. Also converts values to their respective internal types.
-                                 * @function fromObject
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry
-                                 * @static
-                                 * @param {Object.} object Plain object
-                                 * @returns {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry} TokenDistributionEntry
-                                 */
-                                TokenDistributionEntry.fromObject = function fromObject(object) {
-                                    if (object instanceof $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry)
-                                        return object;
-                                    var message = new $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry();
-                                    if (object.recipientId != null)
-                                        if (typeof object.recipientId === "string")
-                                            $util.base64.decode(object.recipientId, message.recipientId = $util.newBuffer($util.base64.length(object.recipientId)), 0);
-                                        else if (object.recipientId.length >= 0)
-                                            message.recipientId = object.recipientId;
-                                    if (object.amount != null)
-                                        if ($util.Long)
-                                            (message.amount = $util.Long.fromValue(object.amount)).unsigned = true;
-                                        else if (typeof object.amount === "string")
-                                            message.amount = parseInt(object.amount, 10);
-                                        else if (typeof object.amount === "number")
-                                            message.amount = object.amount;
-                                        else if (typeof object.amount === "object")
-                                            message.amount = new $util.LongBits(object.amount.low >>> 0, object.amount.high >>> 0).toNumber(true);
-                                    return message;
-                                };
+                                    switch (tag >>> 3) {
+                                    case 1:
+                                        message.lastClaim = $root.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo.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;
+                            };
 
-                                /**
-                                 * Creates a plain object from a TokenDistributionEntry message. Also converts values to other types if specified.
-                                 * @function toObject
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry
-                                 * @static
-                                 * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry} message TokenDistributionEntry
-                                 * @param {$protobuf.IConversionOptions} [options] Conversion options
-                                 * @returns {Object.} Plain object
-                                 */
-                                TokenDistributionEntry.toObject = function toObject(message, options) {
-                                    if (!options)
-                                        options = {};
-                                    var object = {};
-                                    if (options.defaults) {
-                                        if (options.bytes === String)
-                                            object.recipientId = "";
-                                        else {
-                                            object.recipientId = [];
-                                            if (options.bytes !== Array)
-                                                object.recipientId = $util.newBuffer(object.recipientId);
-                                        }
-                                        if ($util.Long) {
-                                            var long = new $util.Long(0, 0, true);
-                                            object.amount = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;
-                                        } else
-                                            object.amount = options.longs === String ? "0" : 0;
+                            /**
+                             * Decodes a GetTokenPerpetualDistributionLastClaimResponseV0 message from the specified reader or buffer, length delimited.
+                             * @function decodeDelimited
+                             * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0
+                             * @static
+                             * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+                             * @returns {org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0} GetTokenPerpetualDistributionLastClaimResponseV0
+                             * @throws {Error} If the payload is not a reader or valid buffer
+                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
+                             */
+                            GetTokenPerpetualDistributionLastClaimResponseV0.decodeDelimited = function decodeDelimited(reader) {
+                                if (!(reader instanceof $Reader))
+                                    reader = new $Reader(reader);
+                                return this.decode(reader, reader.uint32());
+                            };
+
+                            /**
+                             * Verifies a GetTokenPerpetualDistributionLastClaimResponseV0 message.
+                             * @function verify
+                             * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0
+                             * @static
+                             * @param {Object.} message Plain object to verify
+                             * @returns {string|null} `null` if valid, otherwise the reason why it is not
+                             */
+                            GetTokenPerpetualDistributionLastClaimResponseV0.verify = function verify(message) {
+                                if (typeof message !== "object" || message === null)
+                                    return "object expected";
+                                var properties = {};
+                                if (message.lastClaim != null && message.hasOwnProperty("lastClaim")) {
+                                    properties.result = 1;
+                                    {
+                                        var error = $root.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo.verify(message.lastClaim);
+                                        if (error)
+                                            return "lastClaim." + error;
                                     }
-                                    if (message.recipientId != null && message.hasOwnProperty("recipientId"))
-                                        object.recipientId = options.bytes === String ? $util.base64.encode(message.recipientId, 0, message.recipientId.length) : options.bytes === Array ? Array.prototype.slice.call(message.recipientId) : message.recipientId;
-                                    if (message.amount != null && message.hasOwnProperty("amount"))
-                                        if (typeof message.amount === "number")
-                                            object.amount = options.longs === String ? String(message.amount) : message.amount;
-                                        else
-                                            object.amount = options.longs === String ? $util.Long.prototype.toString.call(message.amount) : options.longs === Number ? new $util.LongBits(message.amount.low >>> 0, message.amount.high >>> 0).toNumber(true) : message.amount;
+                                }
+                                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 GetTokenPerpetualDistributionLastClaimResponseV0 message from a plain object. Also converts values to their respective internal types.
+                             * @function fromObject
+                             * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0
+                             * @static
+                             * @param {Object.} object Plain object
+                             * @returns {org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0} GetTokenPerpetualDistributionLastClaimResponseV0
+                             */
+                            GetTokenPerpetualDistributionLastClaimResponseV0.fromObject = function fromObject(object) {
+                                if (object instanceof $root.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0)
                                     return object;
-                                };
+                                var message = new $root.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0();
+                                if (object.lastClaim != null) {
+                                    if (typeof object.lastClaim !== "object")
+                                        throw TypeError(".org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.lastClaim: object expected");
+                                    message.lastClaim = $root.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo.fromObject(object.lastClaim);
+                                }
+                                if (object.proof != null) {
+                                    if (typeof object.proof !== "object")
+                                        throw TypeError(".org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.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.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.metadata: object expected");
+                                    message.metadata = $root.org.dash.platform.dapi.v0.ResponseMetadata.fromObject(object.metadata);
+                                }
+                                return message;
+                            };
 
-                                /**
-                                 * Converts this TokenDistributionEntry to JSON.
-                                 * @function toJSON
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry
-                                 * @instance
-                                 * @returns {Object.} JSON object
-                                 */
-                                TokenDistributionEntry.prototype.toJSON = function toJSON() {
-                                    return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
-                                };
+                            /**
+                             * Creates a plain object from a GetTokenPerpetualDistributionLastClaimResponseV0 message. Also converts values to other types if specified.
+                             * @function toObject
+                             * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0
+                             * @static
+                             * @param {org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0} message GetTokenPerpetualDistributionLastClaimResponseV0
+                             * @param {$protobuf.IConversionOptions} [options] Conversion options
+                             * @returns {Object.} Plain object
+                             */
+                            GetTokenPerpetualDistributionLastClaimResponseV0.toObject = function toObject(message, options) {
+                                if (!options)
+                                    options = {};
+                                var object = {};
+                                if (options.defaults)
+                                    object.metadata = null;
+                                if (message.lastClaim != null && message.hasOwnProperty("lastClaim")) {
+                                    object.lastClaim = $root.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo.toObject(message.lastClaim, options);
+                                    if (options.oneofs)
+                                        object.result = "lastClaim";
+                                }
+                                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;
+                            };
 
-                                return TokenDistributionEntry;
-                            })();
+                            /**
+                             * Converts this GetTokenPerpetualDistributionLastClaimResponseV0 to JSON.
+                             * @function toJSON
+                             * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0
+                             * @instance
+                             * @returns {Object.} JSON object
+                             */
+                            GetTokenPerpetualDistributionLastClaimResponseV0.prototype.toJSON = function toJSON() {
+                                return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+                            };
 
-                            GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry = (function() {
+                            GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo = (function() {
 
                                 /**
-                                 * Properties of a TokenTimedDistributionEntry.
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0
-                                 * @interface ITokenTimedDistributionEntry
-                                 * @property {number|Long|null} [timestamp] TokenTimedDistributionEntry timestamp
-                                 * @property {Array.|null} [distributions] TokenTimedDistributionEntry distributions
+                                 * Properties of a LastClaimInfo.
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0
+                                 * @interface ILastClaimInfo
+                                 * @property {number|Long|null} [timestampMs] LastClaimInfo timestampMs
+                                 * @property {number|Long|null} [blockHeight] LastClaimInfo blockHeight
+                                 * @property {number|null} [epoch] LastClaimInfo epoch
+                                 * @property {Uint8Array|null} [rawBytes] LastClaimInfo rawBytes
                                  */
 
                                 /**
-                                 * Constructs a new TokenTimedDistributionEntry.
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0
-                                 * @classdesc Represents a TokenTimedDistributionEntry.
-                                 * @implements ITokenTimedDistributionEntry
+                                 * Constructs a new LastClaimInfo.
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0
+                                 * @classdesc Represents a LastClaimInfo.
+                                 * @implements ILastClaimInfo
                                  * @constructor
-                                 * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.ITokenTimedDistributionEntry=} [properties] Properties to set
+                                 * @param {org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.ILastClaimInfo=} [properties] Properties to set
                                  */
-                                function TokenTimedDistributionEntry(properties) {
-                                    this.distributions = [];
+                                function LastClaimInfo(properties) {
                                     if (properties)
                                         for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
                                             if (properties[keys[i]] != null)
@@ -55273,322 +61518,128 @@ $root.org = (function() {
                                 }
 
                                 /**
-                                 * TokenTimedDistributionEntry timestamp.
-                                 * @member {number|Long} timestamp
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry
+                                 * LastClaimInfo timestampMs.
+                                 * @member {number|Long} timestampMs
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo
                                  * @instance
                                  */
-                                TokenTimedDistributionEntry.prototype.timestamp = $util.Long ? $util.Long.fromBits(0,0,true) : 0;
+                                LastClaimInfo.prototype.timestampMs = $util.Long ? $util.Long.fromBits(0,0,true) : 0;
 
                                 /**
-                                 * TokenTimedDistributionEntry distributions.
-                                 * @member {Array.} distributions
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry
+                                 * LastClaimInfo blockHeight.
+                                 * @member {number|Long} blockHeight
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo
                                  * @instance
                                  */
-                                TokenTimedDistributionEntry.prototype.distributions = $util.emptyArray;
-
-                                /**
-                                 * Creates a new TokenTimedDistributionEntry instance using the specified properties.
-                                 * @function create
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry
-                                 * @static
-                                 * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.ITokenTimedDistributionEntry=} [properties] Properties to set
-                                 * @returns {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry} TokenTimedDistributionEntry instance
-                                 */
-                                TokenTimedDistributionEntry.create = function create(properties) {
-                                    return new TokenTimedDistributionEntry(properties);
-                                };
-
-                                /**
-                                 * Encodes the specified TokenTimedDistributionEntry message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry.verify|verify} messages.
-                                 * @function encode
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry
-                                 * @static
-                                 * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.ITokenTimedDistributionEntry} message TokenTimedDistributionEntry message or plain object to encode
-                                 * @param {$protobuf.Writer} [writer] Writer to encode to
-                                 * @returns {$protobuf.Writer} Writer
-                                 */
-                                TokenTimedDistributionEntry.encode = function encode(message, writer) {
-                                    if (!writer)
-                                        writer = $Writer.create();
-                                    if (message.timestamp != null && Object.hasOwnProperty.call(message, "timestamp"))
-                                        writer.uint32(/* id 1, wireType 0 =*/8).uint64(message.timestamp);
-                                    if (message.distributions != null && message.distributions.length)
-                                        for (var i = 0; i < message.distributions.length; ++i)
-                                            $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry.encode(message.distributions[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
-                                    return writer;
-                                };
-
-                                /**
-                                 * Encodes the specified TokenTimedDistributionEntry message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry.verify|verify} messages.
-                                 * @function encodeDelimited
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry
-                                 * @static
-                                 * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.ITokenTimedDistributionEntry} message TokenTimedDistributionEntry message or plain object to encode
-                                 * @param {$protobuf.Writer} [writer] Writer to encode to
-                                 * @returns {$protobuf.Writer} Writer
-                                 */
-                                TokenTimedDistributionEntry.encodeDelimited = function encodeDelimited(message, writer) {
-                                    return this.encode(message, writer).ldelim();
-                                };
-
-                                /**
-                                 * Decodes a TokenTimedDistributionEntry message from the specified reader or buffer.
-                                 * @function decode
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry
-                                 * @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.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry} TokenTimedDistributionEntry
-                                 * @throws {Error} If the payload is not a reader or valid buffer
-                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
-                                 */
-                                TokenTimedDistributionEntry.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.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry();
-                                    while (reader.pos < end) {
-                                        var tag = reader.uint32();
-                                        switch (tag >>> 3) {
-                                        case 1:
-                                            message.timestamp = reader.uint64();
-                                            break;
-                                        case 2:
-                                            if (!(message.distributions && message.distributions.length))
-                                                message.distributions = [];
-                                            message.distributions.push($root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry.decode(reader, reader.uint32()));
-                                            break;
-                                        default:
-                                            reader.skipType(tag & 7);
-                                            break;
-                                        }
-                                    }
-                                    return message;
-                                };
-
-                                /**
-                                 * Decodes a TokenTimedDistributionEntry message from the specified reader or buffer, length delimited.
-                                 * @function decodeDelimited
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry
-                                 * @static
-                                 * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                                 * @returns {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry} TokenTimedDistributionEntry
-                                 * @throws {Error} If the payload is not a reader or valid buffer
-                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
-                                 */
-                                TokenTimedDistributionEntry.decodeDelimited = function decodeDelimited(reader) {
-                                    if (!(reader instanceof $Reader))
-                                        reader = new $Reader(reader);
-                                    return this.decode(reader, reader.uint32());
-                                };
-
-                                /**
-                                 * Verifies a TokenTimedDistributionEntry message.
-                                 * @function verify
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry
-                                 * @static
-                                 * @param {Object.} message Plain object to verify
-                                 * @returns {string|null} `null` if valid, otherwise the reason why it is not
-                                 */
-                                TokenTimedDistributionEntry.verify = function verify(message) {
-                                    if (typeof message !== "object" || message === null)
-                                        return "object expected";
-                                    if (message.timestamp != null && message.hasOwnProperty("timestamp"))
-                                        if (!$util.isInteger(message.timestamp) && !(message.timestamp && $util.isInteger(message.timestamp.low) && $util.isInteger(message.timestamp.high)))
-                                            return "timestamp: integer|Long expected";
-                                    if (message.distributions != null && message.hasOwnProperty("distributions")) {
-                                        if (!Array.isArray(message.distributions))
-                                            return "distributions: array expected";
-                                        for (var i = 0; i < message.distributions.length; ++i) {
-                                            var error = $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry.verify(message.distributions[i]);
-                                            if (error)
-                                                return "distributions." + error;
-                                        }
-                                    }
-                                    return null;
-                                };
-
-                                /**
-                                 * Creates a TokenTimedDistributionEntry message from a plain object. Also converts values to their respective internal types.
-                                 * @function fromObject
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry
-                                 * @static
-                                 * @param {Object.} object Plain object
-                                 * @returns {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry} TokenTimedDistributionEntry
-                                 */
-                                TokenTimedDistributionEntry.fromObject = function fromObject(object) {
-                                    if (object instanceof $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry)
-                                        return object;
-                                    var message = new $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry();
-                                    if (object.timestamp != null)
-                                        if ($util.Long)
-                                            (message.timestamp = $util.Long.fromValue(object.timestamp)).unsigned = true;
-                                        else if (typeof object.timestamp === "string")
-                                            message.timestamp = parseInt(object.timestamp, 10);
-                                        else if (typeof object.timestamp === "number")
-                                            message.timestamp = object.timestamp;
-                                        else if (typeof object.timestamp === "object")
-                                            message.timestamp = new $util.LongBits(object.timestamp.low >>> 0, object.timestamp.high >>> 0).toNumber(true);
-                                    if (object.distributions) {
-                                        if (!Array.isArray(object.distributions))
-                                            throw TypeError(".org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry.distributions: array expected");
-                                        message.distributions = [];
-                                        for (var i = 0; i < object.distributions.length; ++i) {
-                                            if (typeof object.distributions[i] !== "object")
-                                                throw TypeError(".org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry.distributions: object expected");
-                                            message.distributions[i] = $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry.fromObject(object.distributions[i]);
-                                        }
-                                    }
-                                    return message;
-                                };
-
-                                /**
-                                 * Creates a plain object from a TokenTimedDistributionEntry message. Also converts values to other types if specified.
-                                 * @function toObject
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry
-                                 * @static
-                                 * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry} message TokenTimedDistributionEntry
-                                 * @param {$protobuf.IConversionOptions} [options] Conversion options
-                                 * @returns {Object.} Plain object
-                                 */
-                                TokenTimedDistributionEntry.toObject = function toObject(message, options) {
-                                    if (!options)
-                                        options = {};
-                                    var object = {};
-                                    if (options.arrays || options.defaults)
-                                        object.distributions = [];
-                                    if (options.defaults)
-                                        if ($util.Long) {
-                                            var long = new $util.Long(0, 0, true);
-                                            object.timestamp = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;
-                                        } else
-                                            object.timestamp = options.longs === String ? "0" : 0;
-                                    if (message.timestamp != null && message.hasOwnProperty("timestamp"))
-                                        if (typeof message.timestamp === "number")
-                                            object.timestamp = options.longs === String ? String(message.timestamp) : message.timestamp;
-                                        else
-                                            object.timestamp = options.longs === String ? $util.Long.prototype.toString.call(message.timestamp) : options.longs === Number ? new $util.LongBits(message.timestamp.low >>> 0, message.timestamp.high >>> 0).toNumber(true) : message.timestamp;
-                                    if (message.distributions && message.distributions.length) {
-                                        object.distributions = [];
-                                        for (var j = 0; j < message.distributions.length; ++j)
-                                            object.distributions[j] = $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry.toObject(message.distributions[j], options);
-                                    }
-                                    return object;
-                                };
+                                LastClaimInfo.prototype.blockHeight = $util.Long ? $util.Long.fromBits(0,0,true) : 0;
 
                                 /**
-                                 * Converts this TokenTimedDistributionEntry to JSON.
-                                 * @function toJSON
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry
+                                 * LastClaimInfo epoch.
+                                 * @member {number} epoch
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo
                                  * @instance
-                                 * @returns {Object.} JSON object
                                  */
-                                TokenTimedDistributionEntry.prototype.toJSON = function toJSON() {
-                                    return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
-                                };
-
-                                return TokenTimedDistributionEntry;
-                            })();
-
-                            GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions = (function() {
+                                LastClaimInfo.prototype.epoch = 0;
 
                                 /**
-                                 * Properties of a TokenDistributions.
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0
-                                 * @interface ITokenDistributions
-                                 * @property {Array.|null} [tokenDistributions] TokenDistributions tokenDistributions
+                                 * LastClaimInfo rawBytes.
+                                 * @member {Uint8Array} rawBytes
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo
+                                 * @instance
                                  */
+                                LastClaimInfo.prototype.rawBytes = $util.newBuffer([]);
 
-                                /**
-                                 * Constructs a new TokenDistributions.
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0
-                                 * @classdesc Represents a TokenDistributions.
-                                 * @implements ITokenDistributions
-                                 * @constructor
-                                 * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.ITokenDistributions=} [properties] Properties to set
-                                 */
-                                function TokenDistributions(properties) {
-                                    this.tokenDistributions = [];
-                                    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]];
-                                }
+                                // OneOf field names bound to virtual getters and setters
+                                var $oneOfFields;
 
                                 /**
-                                 * TokenDistributions tokenDistributions.
-                                 * @member {Array.} tokenDistributions
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions
+                                 * LastClaimInfo paidAt.
+                                 * @member {"timestampMs"|"blockHeight"|"epoch"|"rawBytes"|undefined} paidAt
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo
                                  * @instance
                                  */
-                                TokenDistributions.prototype.tokenDistributions = $util.emptyArray;
+                                Object.defineProperty(LastClaimInfo.prototype, "paidAt", {
+                                    get: $util.oneOfGetter($oneOfFields = ["timestampMs", "blockHeight", "epoch", "rawBytes"]),
+                                    set: $util.oneOfSetter($oneOfFields)
+                                });
 
                                 /**
-                                 * Creates a new TokenDistributions instance using the specified properties.
+                                 * Creates a new LastClaimInfo instance using the specified properties.
                                  * @function create
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo
                                  * @static
-                                 * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.ITokenDistributions=} [properties] Properties to set
-                                 * @returns {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions} TokenDistributions instance
+                                 * @param {org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.ILastClaimInfo=} [properties] Properties to set
+                                 * @returns {org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo} LastClaimInfo instance
                                  */
-                                TokenDistributions.create = function create(properties) {
-                                    return new TokenDistributions(properties);
+                                LastClaimInfo.create = function create(properties) {
+                                    return new LastClaimInfo(properties);
                                 };
 
                                 /**
-                                 * Encodes the specified TokenDistributions message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions.verify|verify} messages.
+                                 * Encodes the specified LastClaimInfo message. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo.verify|verify} messages.
                                  * @function encode
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo
                                  * @static
-                                 * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.ITokenDistributions} message TokenDistributions message or plain object to encode
+                                 * @param {org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.ILastClaimInfo} message LastClaimInfo message or plain object to encode
                                  * @param {$protobuf.Writer} [writer] Writer to encode to
                                  * @returns {$protobuf.Writer} Writer
                                  */
-                                TokenDistributions.encode = function encode(message, writer) {
+                                LastClaimInfo.encode = function encode(message, writer) {
                                     if (!writer)
                                         writer = $Writer.create();
-                                    if (message.tokenDistributions != null && message.tokenDistributions.length)
-                                        for (var i = 0; i < message.tokenDistributions.length; ++i)
-                                            $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry.encode(message.tokenDistributions[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+                                    if (message.timestampMs != null && Object.hasOwnProperty.call(message, "timestampMs"))
+                                        writer.uint32(/* id 1, wireType 0 =*/8).uint64(message.timestampMs);
+                                    if (message.blockHeight != null && Object.hasOwnProperty.call(message, "blockHeight"))
+                                        writer.uint32(/* id 2, wireType 0 =*/16).uint64(message.blockHeight);
+                                    if (message.epoch != null && Object.hasOwnProperty.call(message, "epoch"))
+                                        writer.uint32(/* id 3, wireType 0 =*/24).uint32(message.epoch);
+                                    if (message.rawBytes != null && Object.hasOwnProperty.call(message, "rawBytes"))
+                                        writer.uint32(/* id 4, wireType 2 =*/34).bytes(message.rawBytes);
                                     return writer;
                                 };
 
                                 /**
-                                 * Encodes the specified TokenDistributions message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions.verify|verify} messages.
+                                 * Encodes the specified LastClaimInfo message, length delimited. Does not implicitly {@link org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo.verify|verify} messages.
                                  * @function encodeDelimited
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo
                                  * @static
-                                 * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.ITokenDistributions} message TokenDistributions message or plain object to encode
+                                 * @param {org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.ILastClaimInfo} message LastClaimInfo message or plain object to encode
                                  * @param {$protobuf.Writer} [writer] Writer to encode to
                                  * @returns {$protobuf.Writer} Writer
                                  */
-                                TokenDistributions.encodeDelimited = function encodeDelimited(message, writer) {
+                                LastClaimInfo.encodeDelimited = function encodeDelimited(message, writer) {
                                     return this.encode(message, writer).ldelim();
                                 };
 
                                 /**
-                                 * Decodes a TokenDistributions message from the specified reader or buffer.
+                                 * Decodes a LastClaimInfo message from the specified reader or buffer.
                                  * @function decode
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo
                                  * @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.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions} TokenDistributions
+                                 * @returns {org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo} LastClaimInfo
                                  * @throws {Error} If the payload is not a reader or valid buffer
                                  * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                  */
-                                TokenDistributions.decode = function decode(reader, length) {
+                                LastClaimInfo.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.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions();
+                                    var end = length === undefined ? reader.len : reader.pos + length, message = new $root.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo();
                                     while (reader.pos < end) {
                                         var tag = reader.uint32();
                                         switch (tag >>> 3) {
                                         case 1:
-                                            if (!(message.tokenDistributions && message.tokenDistributions.length))
-                                                message.tokenDistributions = [];
-                                            message.tokenDistributions.push($root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry.decode(reader, reader.uint32()));
+                                            message.timestampMs = reader.uint64();
+                                            break;
+                                        case 2:
+                                            message.blockHeight = reader.uint64();
+                                            break;
+                                        case 3:
+                                            message.epoch = reader.uint32();
+                                            break;
+                                        case 4:
+                                            message.rawBytes = reader.bytes();
                                             break;
                                         default:
                                             reader.skipType(tag & 7);
@@ -55599,110 +61650,162 @@ $root.org = (function() {
                                 };
 
                                 /**
-                                 * Decodes a TokenDistributions message from the specified reader or buffer, length delimited.
+                                 * Decodes a LastClaimInfo message from the specified reader or buffer, length delimited.
                                  * @function decodeDelimited
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo
                                  * @static
                                  * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-                                 * @returns {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions} TokenDistributions
+                                 * @returns {org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo} LastClaimInfo
                                  * @throws {Error} If the payload is not a reader or valid buffer
                                  * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                  */
-                                TokenDistributions.decodeDelimited = function decodeDelimited(reader) {
+                                LastClaimInfo.decodeDelimited = function decodeDelimited(reader) {
                                     if (!(reader instanceof $Reader))
                                         reader = new $Reader(reader);
                                     return this.decode(reader, reader.uint32());
                                 };
 
                                 /**
-                                 * Verifies a TokenDistributions message.
+                                 * Verifies a LastClaimInfo message.
                                  * @function verify
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo
                                  * @static
                                  * @param {Object.} message Plain object to verify
                                  * @returns {string|null} `null` if valid, otherwise the reason why it is not
                                  */
-                                TokenDistributions.verify = function verify(message) {
+                                LastClaimInfo.verify = function verify(message) {
                                     if (typeof message !== "object" || message === null)
                                         return "object expected";
-                                    if (message.tokenDistributions != null && message.hasOwnProperty("tokenDistributions")) {
-                                        if (!Array.isArray(message.tokenDistributions))
-                                            return "tokenDistributions: array expected";
-                                        for (var i = 0; i < message.tokenDistributions.length; ++i) {
-                                            var error = $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry.verify(message.tokenDistributions[i]);
-                                            if (error)
-                                                return "tokenDistributions." + error;
-                                        }
+                                    var properties = {};
+                                    if (message.timestampMs != null && message.hasOwnProperty("timestampMs")) {
+                                        properties.paidAt = 1;
+                                        if (!$util.isInteger(message.timestampMs) && !(message.timestampMs && $util.isInteger(message.timestampMs.low) && $util.isInteger(message.timestampMs.high)))
+                                            return "timestampMs: integer|Long expected";
+                                    }
+                                    if (message.blockHeight != null && message.hasOwnProperty("blockHeight")) {
+                                        if (properties.paidAt === 1)
+                                            return "paidAt: multiple values";
+                                        properties.paidAt = 1;
+                                        if (!$util.isInteger(message.blockHeight) && !(message.blockHeight && $util.isInteger(message.blockHeight.low) && $util.isInteger(message.blockHeight.high)))
+                                            return "blockHeight: integer|Long expected";
+                                    }
+                                    if (message.epoch != null && message.hasOwnProperty("epoch")) {
+                                        if (properties.paidAt === 1)
+                                            return "paidAt: multiple values";
+                                        properties.paidAt = 1;
+                                        if (!$util.isInteger(message.epoch))
+                                            return "epoch: integer expected";
+                                    }
+                                    if (message.rawBytes != null && message.hasOwnProperty("rawBytes")) {
+                                        if (properties.paidAt === 1)
+                                            return "paidAt: multiple values";
+                                        properties.paidAt = 1;
+                                        if (!(message.rawBytes && typeof message.rawBytes.length === "number" || $util.isString(message.rawBytes)))
+                                            return "rawBytes: buffer expected";
                                     }
                                     return null;
                                 };
 
                                 /**
-                                 * Creates a TokenDistributions message from a plain object. Also converts values to their respective internal types.
+                                 * Creates a LastClaimInfo message from a plain object. Also converts values to their respective internal types.
                                  * @function fromObject
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo
                                  * @static
                                  * @param {Object.} object Plain object
-                                 * @returns {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions} TokenDistributions
+                                 * @returns {org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo} LastClaimInfo
                                  */
-                                TokenDistributions.fromObject = function fromObject(object) {
-                                    if (object instanceof $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions)
+                                LastClaimInfo.fromObject = function fromObject(object) {
+                                    if (object instanceof $root.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo)
                                         return object;
-                                    var message = new $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions();
-                                    if (object.tokenDistributions) {
-                                        if (!Array.isArray(object.tokenDistributions))
-                                            throw TypeError(".org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions.tokenDistributions: array expected");
-                                        message.tokenDistributions = [];
-                                        for (var i = 0; i < object.tokenDistributions.length; ++i) {
-                                            if (typeof object.tokenDistributions[i] !== "object")
-                                                throw TypeError(".org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions.tokenDistributions: object expected");
-                                            message.tokenDistributions[i] = $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry.fromObject(object.tokenDistributions[i]);
-                                        }
-                                    }
+                                    var message = new $root.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo();
+                                    if (object.timestampMs != null)
+                                        if ($util.Long)
+                                            (message.timestampMs = $util.Long.fromValue(object.timestampMs)).unsigned = true;
+                                        else if (typeof object.timestampMs === "string")
+                                            message.timestampMs = parseInt(object.timestampMs, 10);
+                                        else if (typeof object.timestampMs === "number")
+                                            message.timestampMs = object.timestampMs;
+                                        else if (typeof object.timestampMs === "object")
+                                            message.timestampMs = new $util.LongBits(object.timestampMs.low >>> 0, object.timestampMs.high >>> 0).toNumber(true);
+                                    if (object.blockHeight != null)
+                                        if ($util.Long)
+                                            (message.blockHeight = $util.Long.fromValue(object.blockHeight)).unsigned = true;
+                                        else if (typeof object.blockHeight === "string")
+                                            message.blockHeight = parseInt(object.blockHeight, 10);
+                                        else if (typeof object.blockHeight === "number")
+                                            message.blockHeight = object.blockHeight;
+                                        else if (typeof object.blockHeight === "object")
+                                            message.blockHeight = new $util.LongBits(object.blockHeight.low >>> 0, object.blockHeight.high >>> 0).toNumber(true);
+                                    if (object.epoch != null)
+                                        message.epoch = object.epoch >>> 0;
+                                    if (object.rawBytes != null)
+                                        if (typeof object.rawBytes === "string")
+                                            $util.base64.decode(object.rawBytes, message.rawBytes = $util.newBuffer($util.base64.length(object.rawBytes)), 0);
+                                        else if (object.rawBytes.length >= 0)
+                                            message.rawBytes = object.rawBytes;
                                     return message;
                                 };
 
                                 /**
-                                 * Creates a plain object from a TokenDistributions message. Also converts values to other types if specified.
+                                 * Creates a plain object from a LastClaimInfo message. Also converts values to other types if specified.
                                  * @function toObject
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo
                                  * @static
-                                 * @param {org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions} message TokenDistributions
+                                 * @param {org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo} message LastClaimInfo
                                  * @param {$protobuf.IConversionOptions} [options] Conversion options
                                  * @returns {Object.} Plain object
                                  */
-                                TokenDistributions.toObject = function toObject(message, options) {
+                                LastClaimInfo.toObject = function toObject(message, options) {
                                     if (!options)
                                         options = {};
                                     var object = {};
-                                    if (options.arrays || options.defaults)
-                                        object.tokenDistributions = [];
-                                    if (message.tokenDistributions && message.tokenDistributions.length) {
-                                        object.tokenDistributions = [];
-                                        for (var j = 0; j < message.tokenDistributions.length; ++j)
-                                            object.tokenDistributions[j] = $root.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry.toObject(message.tokenDistributions[j], options);
+                                    if (message.timestampMs != null && message.hasOwnProperty("timestampMs")) {
+                                        if (typeof message.timestampMs === "number")
+                                            object.timestampMs = options.longs === String ? String(message.timestampMs) : message.timestampMs;
+                                        else
+                                            object.timestampMs = options.longs === String ? $util.Long.prototype.toString.call(message.timestampMs) : options.longs === Number ? new $util.LongBits(message.timestampMs.low >>> 0, message.timestampMs.high >>> 0).toNumber(true) : message.timestampMs;
+                                        if (options.oneofs)
+                                            object.paidAt = "timestampMs";
+                                    }
+                                    if (message.blockHeight != null && message.hasOwnProperty("blockHeight")) {
+                                        if (typeof message.blockHeight === "number")
+                                            object.blockHeight = options.longs === String ? String(message.blockHeight) : message.blockHeight;
+                                        else
+                                            object.blockHeight = options.longs === String ? $util.Long.prototype.toString.call(message.blockHeight) : options.longs === Number ? new $util.LongBits(message.blockHeight.low >>> 0, message.blockHeight.high >>> 0).toNumber(true) : message.blockHeight;
+                                        if (options.oneofs)
+                                            object.paidAt = "blockHeight";
+                                    }
+                                    if (message.epoch != null && message.hasOwnProperty("epoch")) {
+                                        object.epoch = message.epoch;
+                                        if (options.oneofs)
+                                            object.paidAt = "epoch";
+                                    }
+                                    if (message.rawBytes != null && message.hasOwnProperty("rawBytes")) {
+                                        object.rawBytes = options.bytes === String ? $util.base64.encode(message.rawBytes, 0, message.rawBytes.length) : options.bytes === Array ? Array.prototype.slice.call(message.rawBytes) : message.rawBytes;
+                                        if (options.oneofs)
+                                            object.paidAt = "rawBytes";
                                     }
                                     return object;
                                 };
 
                                 /**
-                                 * Converts this TokenDistributions to JSON.
+                                 * Converts this LastClaimInfo to JSON.
                                  * @function toJSON
-                                 * @memberof org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions
+                                 * @memberof org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo
                                  * @instance
                                  * @returns {Object.} JSON object
                                  */
-                                TokenDistributions.prototype.toJSON = function toJSON() {
+                                LastClaimInfo.prototype.toJSON = function toJSON() {
                                     return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
                                 };
 
-                                return TokenDistributions;
+                                return LastClaimInfo;
                             })();
 
-                            return GetTokenPreProgrammedDistributionsResponseV0;
+                            return GetTokenPerpetualDistributionLastClaimResponseV0;
                         })();
 
-                        return GetTokenPreProgrammedDistributionsResponse;
+                        return GetTokenPerpetualDistributionLastClaimResponse;
                     })();
 
                     v0.GetTokenTotalSupplyRequest = (function() {
@@ -61829,6 +67932,7 @@ $root.org = (function() {
                                  * @memberof org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0
                                  * @interface IBurnEvent
                                  * @property {number|Long|null} [amount] BurnEvent amount
+                                 * @property {Uint8Array|null} [burnFromId] BurnEvent burnFromId
                                  * @property {string|null} [publicNote] BurnEvent publicNote
                                  */
 
@@ -61855,6 +67959,14 @@ $root.org = (function() {
                                  */
                                 BurnEvent.prototype.amount = $util.Long ? $util.Long.fromBits(0,0,true) : 0;
 
+                                /**
+                                 * BurnEvent burnFromId.
+                                 * @member {Uint8Array} burnFromId
+                                 * @memberof org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.BurnEvent
+                                 * @instance
+                                 */
+                                BurnEvent.prototype.burnFromId = $util.newBuffer([]);
+
                                 /**
                                  * BurnEvent publicNote.
                                  * @member {string} publicNote
@@ -61889,8 +68001,10 @@ $root.org = (function() {
                                         writer = $Writer.create();
                                     if (message.amount != null && Object.hasOwnProperty.call(message, "amount"))
                                         writer.uint32(/* id 1, wireType 0 =*/8).uint64(message.amount);
+                                    if (message.burnFromId != null && Object.hasOwnProperty.call(message, "burnFromId"))
+                                        writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.burnFromId);
                                     if (message.publicNote != null && Object.hasOwnProperty.call(message, "publicNote"))
-                                        writer.uint32(/* id 2, wireType 2 =*/18).string(message.publicNote);
+                                        writer.uint32(/* id 3, wireType 2 =*/26).string(message.publicNote);
                                     return writer;
                                 };
 
@@ -61929,6 +68043,9 @@ $root.org = (function() {
                                             message.amount = reader.uint64();
                                             break;
                                         case 2:
+                                            message.burnFromId = reader.bytes();
+                                            break;
+                                        case 3:
                                             message.publicNote = reader.string();
                                             break;
                                         default:
@@ -61969,6 +68086,9 @@ $root.org = (function() {
                                     if (message.amount != null && message.hasOwnProperty("amount"))
                                         if (!$util.isInteger(message.amount) && !(message.amount && $util.isInteger(message.amount.low) && $util.isInteger(message.amount.high)))
                                             return "amount: integer|Long expected";
+                                    if (message.burnFromId != null && message.hasOwnProperty("burnFromId"))
+                                        if (!(message.burnFromId && typeof message.burnFromId.length === "number" || $util.isString(message.burnFromId)))
+                                            return "burnFromId: buffer expected";
                                     if (message.publicNote != null && message.hasOwnProperty("publicNote"))
                                         if (!$util.isString(message.publicNote))
                                             return "publicNote: string expected";
@@ -61996,6 +68116,11 @@ $root.org = (function() {
                                             message.amount = object.amount;
                                         else if (typeof object.amount === "object")
                                             message.amount = new $util.LongBits(object.amount.low >>> 0, object.amount.high >>> 0).toNumber(true);
+                                    if (object.burnFromId != null)
+                                        if (typeof object.burnFromId === "string")
+                                            $util.base64.decode(object.burnFromId, message.burnFromId = $util.newBuffer($util.base64.length(object.burnFromId)), 0);
+                                        else if (object.burnFromId.length >= 0)
+                                            message.burnFromId = object.burnFromId;
                                     if (object.publicNote != null)
                                         message.publicNote = String(object.publicNote);
                                     return message;
@@ -62020,6 +68145,13 @@ $root.org = (function() {
                                             object.amount = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;
                                         } else
                                             object.amount = options.longs === String ? "0" : 0;
+                                        if (options.bytes === String)
+                                            object.burnFromId = "";
+                                        else {
+                                            object.burnFromId = [];
+                                            if (options.bytes !== Array)
+                                                object.burnFromId = $util.newBuffer(object.burnFromId);
+                                        }
                                         object.publicNote = "";
                                     }
                                     if (message.amount != null && message.hasOwnProperty("amount"))
@@ -62027,6 +68159,8 @@ $root.org = (function() {
                                             object.amount = options.longs === String ? String(message.amount) : message.amount;
                                         else
                                             object.amount = options.longs === String ? $util.Long.prototype.toString.call(message.amount) : options.longs === Number ? new $util.LongBits(message.amount.low >>> 0, message.amount.high >>> 0).toNumber(true) : message.amount;
+                                    if (message.burnFromId != null && message.hasOwnProperty("burnFromId"))
+                                        object.burnFromId = options.bytes === String ? $util.base64.encode(message.burnFromId, 0, message.burnFromId.length) : options.bytes === Array ? Array.prototype.slice.call(message.burnFromId) : message.burnFromId;
                                     if (message.publicNote != null && message.hasOwnProperty("publicNote"))
                                         object.publicNote = message.publicNote;
                                     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 ad8743c421..59e21a649c 100644
--- a/packages/dapi-grpc/clients/platform/v0/nodejs/platform_protoc.js
+++ b/packages/dapi-grpc/clients/platform/v0/nodejs/platform_protoc.js
@@ -139,6 +139,16 @@ goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlock
 goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodesProposedBlocks', null, { proto });
 goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.ResultCase', null, { proto });
 goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.VersionCase', null, { proto });
+goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest', null, { proto });
+goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0', null, { proto });
+goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.VersionCase', null, { proto });
+goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse', null, { proto });
+goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0', null, { proto });
+goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer', null, { proto });
+goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo', null, { proto });
+goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos', null, { proto });
+goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.ResultCase', null, { proto });
+goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.VersionCase', null, { proto });
 goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetGroupActionSignersRequest', null, { proto });
 goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetGroupActionSignersRequest.ActionStatus', null, { proto });
 goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetGroupActionSignersRequest.GetGroupActionSignersRequestV0', null, { proto });
@@ -258,6 +268,15 @@ goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse',
 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.GetIdentityByNonUniquePublicKeyHashRequest', null, { proto });
+goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0', null, { proto });
+goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.VersionCase', null, { proto });
+goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse', null, { proto });
+goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0', null, { proto });
+goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse', null, { proto });
+goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse', null, { proto });
+goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.ResultCase', null, { proto });
+goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.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 });
@@ -362,6 +381,14 @@ goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusRe
 goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash', null, { proto });
 goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software', null, { proto });
 goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetStatusResponse.VersionCase', null, { proto });
+goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest', null, { proto });
+goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0', null, { proto });
+goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.VersionCase', null, { proto });
+goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse', null, { proto });
+goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0', null, { proto });
+goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.ResultCase', null, { proto });
+goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData', null, { proto });
+goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.VersionCase', null, { proto });
 goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest', null, { proto });
 goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0', null, { proto });
 goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.VersionCase', null, { proto });
@@ -374,6 +401,16 @@ goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesR
 goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.PriceCase', null, { proto });
 goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices', null, { proto });
 goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.VersionCase', null, { proto });
+goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest', null, { proto });
+goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo', null, { proto });
+goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0', null, { proto });
+goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.VersionCase', null, { proto });
+goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse', null, { proto });
+goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0', null, { proto });
+goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo', null, { proto });
+goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo.PaidAtCase', null, { proto });
+goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.ResultCase', null, { proto });
+goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.VersionCase', null, { proto });
 goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest', null, { proto });
 goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0', null, { proto });
 goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo', null, { proto });
@@ -2159,6 +2196,132 @@ if (goog.DEBUG && !COMPILED) {
    */
   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.GetIdentityByNonUniquePublicKeyHashRequest = function(opt_data) {
+  jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.oneofGroups_);
+};
+goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest, jspb.Message);
+if (goog.DEBUG && !COMPILED) {
+  /**
+   * @public
+   * @override
+   */
+  proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest';
+}
+/**
+ * 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.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0 = function(opt_data) {
+  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
+};
+goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0, jspb.Message);
+if (goog.DEBUG && !COMPILED) {
+  /**
+   * @public
+   * @override
+   */
+  proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0';
+}
+/**
+ * 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.GetIdentityByNonUniquePublicKeyHashResponse = function(opt_data) {
+  jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.oneofGroups_);
+};
+goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse, jspb.Message);
+if (goog.DEBUG && !COMPILED) {
+  /**
+   * @public
+   * @override
+   */
+  proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse';
+}
+/**
+ * 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.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0 = function(opt_data) {
+  jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.oneofGroups_);
+};
+goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0, jspb.Message);
+if (goog.DEBUG && !COMPILED) {
+  /**
+   * @public
+   * @override
+   */
+  proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0';
+}
+/**
+ * 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.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse = function(opt_data) {
+  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
+};
+goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse, jspb.Message);
+if (goog.DEBUG && !COMPILED) {
+  /**
+   * @public
+   * @override
+   */
+  proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse';
+}
+/**
+ * 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.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse = function(opt_data) {
+  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
+};
+goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse, jspb.Message);
+if (goog.DEBUG && !COMPILED) {
+  /**
+   * @public
+   * @override
+   */
+  proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse';
+}
 /**
  * Generated by JsPbCodeGenerator.
  * @param {Array=} opt_data Optional initial data array, typically from a
@@ -2747,6 +2910,153 @@ if (goog.DEBUG && !COMPILED) {
    */
   proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.displayName = 'proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo';
 }
+/**
+ * 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.GetFinalizedEpochInfosRequest = function(opt_data) {
+  jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.oneofGroups_);
+};
+goog.inherits(proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest, jspb.Message);
+if (goog.DEBUG && !COMPILED) {
+  /**
+   * @public
+   * @override
+   */
+  proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.displayName = 'proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest';
+}
+/**
+ * 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.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0 = function(opt_data) {
+  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
+};
+goog.inherits(proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0, jspb.Message);
+if (goog.DEBUG && !COMPILED) {
+  /**
+   * @public
+   * @override
+   */
+  proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0.displayName = 'proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0';
+}
+/**
+ * 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.GetFinalizedEpochInfosResponse = function(opt_data) {
+  jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.oneofGroups_);
+};
+goog.inherits(proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse, jspb.Message);
+if (goog.DEBUG && !COMPILED) {
+  /**
+   * @public
+   * @override
+   */
+  proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.displayName = 'proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse';
+}
+/**
+ * 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.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0 = function(opt_data) {
+  jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.oneofGroups_);
+};
+goog.inherits(proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0, jspb.Message);
+if (goog.DEBUG && !COMPILED) {
+  /**
+   * @public
+   * @override
+   */
+  proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.displayName = 'proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0';
+}
+/**
+ * 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.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos = function(opt_data) {
+  jspb.Message.initialize(this, opt_data, 0, -1, proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos.repeatedFields_, null);
+};
+goog.inherits(proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos, jspb.Message);
+if (goog.DEBUG && !COMPILED) {
+  /**
+   * @public
+   * @override
+   */
+  proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos.displayName = 'proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos';
+}
+/**
+ * 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.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo = function(opt_data) {
+  jspb.Message.initialize(this, opt_data, 0, -1, proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo.repeatedFields_, null);
+};
+goog.inherits(proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo, jspb.Message);
+if (goog.DEBUG && !COMPILED) {
+  /**
+   * @public
+   * @override
+   */
+  proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo.displayName = 'proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo';
+}
+/**
+ * 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.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer = function(opt_data) {
+  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
+};
+goog.inherits(proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer, jspb.Message);
+if (goog.DEBUG && !COMPILED) {
+  /**
+   * @public
+   * @override
+   */
+  proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer.displayName = 'proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer';
+}
 /**
  * Generated by JsPbCodeGenerator.
  * @param {Array=} opt_data Optional initial data array, typically from a
@@ -4868,6 +5178,48 @@ if (goog.DEBUG && !COMPILED) {
    */
   proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses.displayName = 'proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses';
 }
+/**
+ * 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.GetTokenDirectPurchasePricesRequest = function(opt_data) {
+  jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.oneofGroups_);
+};
+goog.inherits(proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest, jspb.Message);
+if (goog.DEBUG && !COMPILED) {
+  /**
+   * @public
+   * @override
+   */
+  proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.displayName = 'proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest';
+}
+/**
+ * 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.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0 = function(opt_data) {
+  jspb.Message.initialize(this, opt_data, 0, -1, proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.repeatedFields_, null);
+};
+goog.inherits(proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0, jspb.Message);
+if (goog.DEBUG && !COMPILED) {
+  /**
+   * @public
+   * @override
+   */
+  proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.displayName = 'proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0';
+}
 /**
  * Generated by JsPbCodeGenerator.
  * @param {Array=} opt_data Optional initial data array, typically from a
@@ -5004,16 +5356,16 @@ if (goog.DEBUG && !COMPILED) {
  * @extends {jspb.Message}
  * @constructor
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest = function(opt_data) {
-  jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.oneofGroups_);
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest = function(opt_data) {
+  jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.oneofGroups_);
 };
-goog.inherits(proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest, jspb.Message);
+goog.inherits(proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest, jspb.Message);
 if (goog.DEBUG && !COMPILED) {
   /**
    * @public
    * @override
    */
-  proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.displayName = 'proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest';
+  proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.displayName = 'proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest';
 }
 /**
  * Generated by JsPbCodeGenerator.
@@ -5025,16 +5377,79 @@ if (goog.DEBUG && !COMPILED) {
  * @extends {jspb.Message}
  * @constructor
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0 = function(opt_data) {
-  jspb.Message.initialize(this, opt_data, 0, -1, proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.repeatedFields_, null);
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0 = function(opt_data) {
+  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
 };
-goog.inherits(proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0, jspb.Message);
+goog.inherits(proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0, jspb.Message);
 if (goog.DEBUG && !COMPILED) {
   /**
    * @public
    * @override
    */
-  proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.displayName = 'proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0';
+  proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0.displayName = 'proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0';
+}
+/**
+ * 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.GetTokenContractInfoResponse = function(opt_data) {
+  jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.oneofGroups_);
+};
+goog.inherits(proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse, jspb.Message);
+if (goog.DEBUG && !COMPILED) {
+  /**
+   * @public
+   * @override
+   */
+  proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.displayName = 'proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse';
+}
+/**
+ * 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.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0 = function(opt_data) {
+  jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.oneofGroups_);
+};
+goog.inherits(proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0, jspb.Message);
+if (goog.DEBUG && !COMPILED) {
+  /**
+   * @public
+   * @override
+   */
+  proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.displayName = 'proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0';
+}
+/**
+ * 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.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData = function(opt_data) {
+  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
+};
+goog.inherits(proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData, jspb.Message);
+if (goog.DEBUG && !COMPILED) {
+  /**
+   * @public
+   * @override
+   */
+  proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData.displayName = 'proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData';
 }
 /**
  * Generated by JsPbCodeGenerator.
@@ -5204,6 +5619,132 @@ if (goog.DEBUG && !COMPILED) {
    */
   proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions.displayName = 'proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions';
 }
+/**
+ * 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.GetTokenPerpetualDistributionLastClaimRequest = function(opt_data) {
+  jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.oneofGroups_);
+};
+goog.inherits(proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest, jspb.Message);
+if (goog.DEBUG && !COMPILED) {
+  /**
+   * @public
+   * @override
+   */
+  proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.displayName = 'proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest';
+}
+/**
+ * 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.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo = function(opt_data) {
+  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
+};
+goog.inherits(proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo, jspb.Message);
+if (goog.DEBUG && !COMPILED) {
+  /**
+   * @public
+   * @override
+   */
+  proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo.displayName = 'proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo';
+}
+/**
+ * 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.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0 = function(opt_data) {
+  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
+};
+goog.inherits(proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0, jspb.Message);
+if (goog.DEBUG && !COMPILED) {
+  /**
+   * @public
+   * @override
+   */
+  proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0.displayName = 'proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0';
+}
+/**
+ * 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.GetTokenPerpetualDistributionLastClaimResponse = function(opt_data) {
+  jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.oneofGroups_);
+};
+goog.inherits(proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse, jspb.Message);
+if (goog.DEBUG && !COMPILED) {
+  /**
+   * @public
+   * @override
+   */
+  proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.displayName = 'proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse';
+}
+/**
+ * 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.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0 = function(opt_data) {
+  jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.oneofGroups_);
+};
+goog.inherits(proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0, jspb.Message);
+if (goog.DEBUG && !COMPILED) {
+  /**
+   * @public
+   * @override
+   */
+  proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.displayName = 'proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0';
+}
+/**
+ * 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.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo = function(opt_data) {
+  jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo.oneofGroups_);
+};
+goog.inherits(proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo, jspb.Message);
+if (goog.DEBUG && !COMPILED) {
+  /**
+   * @public
+   * @override
+   */
+  proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo.displayName = 'proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo';
+}
 /**
  * Generated by JsPbCodeGenerator.
  * @param {Array=} opt_data Optional initial data array, typically from a
@@ -23759,21 +24300,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.GetIdentityByNonUniquePublicKeyHashRequest.oneofGroups_ = [[1]];
 
 /**
  * @enum {number}
  */
-proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.VersionCase = {
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.VersionCase = {
   VERSION_NOT_SET: 0,
   V0: 1
 };
 
 /**
- * @return {proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.VersionCase}
+ * @return {proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.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.GetIdentityByNonUniquePublicKeyHashRequest.prototype.getVersionCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.oneofGroups_[0]));
 };
 
 
@@ -23791,8 +24332,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.GetIdentityByNonUniquePublicKeyHashRequest.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.toObject(opt_includeInstance, this);
 };
 
 
@@ -23801,13 +24342,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.GetIdentityByNonUniquePublicKeyHashRequest} 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.GetIdentityByNonUniquePublicKeyHashRequest.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.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0.toObject(includeInstance, f)
   };
 
   if (includeInstance) {
@@ -23821,23 +24362,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.GetIdentityByNonUniquePublicKeyHashRequest}
  */
-proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.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.GetIdentityByNonUniquePublicKeyHashRequest;
+  return proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.deserializeBinaryFromReader(msg, 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.GetIdentityByNonUniquePublicKeyHashRequest} 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.GetIdentityByNonUniquePublicKeyHashRequest}
  */
-proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -23845,8 +24386,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.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0.deserializeBinaryFromReader);
       msg.setV0(value);
       break;
     default:
@@ -23862,9 +24403,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.GetIdentityByNonUniquePublicKeyHashRequest.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -23872,18 +24413,18 @@ 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.GetIdentityByNonUniquePublicKeyHashRequest} 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.GetIdentityByNonUniquePublicKeyHashRequest.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.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0.serializeBinaryToWriter
     );
   }
 };
@@ -23905,8 +24446,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.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0.toObject(opt_includeInstance, this);
 };
 
 
@@ -23915,14 +24456,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.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0} 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.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0.toObject = function(includeInstance, msg) {
   var f, obj = {
-    stateTransitionHash: msg.getStateTransitionHash_asB64(),
-    prove: jspb.Message.getBooleanFieldWithDefault(msg, 2, false)
+    publicKeyHash: msg.getPublicKeyHash_asB64(),
+    startAfter: msg.getStartAfter_asB64(),
+    prove: jspb.Message.getBooleanFieldWithDefault(msg, 3, false)
   };
 
   if (includeInstance) {
@@ -23936,23 +24478,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.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0}
  */
-proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0.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.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0;
+  return proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0.deserializeBinaryFromReader(msg, 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.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0} 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.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0}
  */
-proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -23961,9 +24503,13 @@ proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForState
     switch (field) {
     case 1:
       var value = /** @type {!Uint8Array} */ (reader.readBytes());
-      msg.setStateTransitionHash(value);
+      msg.setPublicKeyHash(value);
       break;
     case 2:
+      var value = /** @type {!Uint8Array} */ (reader.readBytes());
+      msg.setStartAfter(value);
+      break;
+    case 3:
       var value = /** @type {boolean} */ (reader.readBool());
       msg.setProve(value);
       break;
@@ -23980,9 +24526,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.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0.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.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -23990,23 +24536,30 @@ 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.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0} 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.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getStateTransitionHash_asU8();
+  f = message.getPublicKeyHash_asU8();
   if (f.length > 0) {
     writer.writeBytes(
       1,
       f
     );
   }
+  f = /** @type {!(string|Uint8Array)} */ (jspb.Message.getField(message, 2));
+  if (f != null) {
+    writer.writeBytes(
+      2,
+      f
+    );
+  }
   f = message.getProve();
   if (f) {
     writer.writeBool(
-      2,
+      3,
       f
     );
   }
@@ -24014,89 +24567,149 @@ proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForState
 
 
 /**
- * optional bytes state_transition_hash = 1;
+ * optional bytes public_key_hash = 1;
  * @return {string}
  */
-proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.prototype.getStateTransitionHash = function() {
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0.prototype.getPublicKeyHash = function() {
   return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
 };
 
 
 /**
- * optional bytes state_transition_hash = 1;
- * This is a type-conversion wrapper around `getStateTransitionHash()`
+ * optional bytes public_key_hash = 1;
+ * This is a type-conversion wrapper around `getPublicKeyHash()`
  * @return {string}
  */
-proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.prototype.getStateTransitionHash_asB64 = function() {
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0.prototype.getPublicKeyHash_asB64 = function() {
   return /** @type {string} */ (jspb.Message.bytesAsB64(
-      this.getStateTransitionHash()));
+      this.getPublicKeyHash()));
 };
 
 
 /**
- * optional bytes state_transition_hash = 1;
+ * 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 `getStateTransitionHash()`
+ * This is a type-conversion wrapper around `getPublicKeyHash()`
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.prototype.getStateTransitionHash_asU8 = function() {
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0.prototype.getPublicKeyHash_asU8 = function() {
   return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
-      this.getStateTransitionHash()));
+      this.getPublicKeyHash()));
 };
 
 
 /**
  * @param {!(string|Uint8Array)} value
- * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.prototype.setStateTransitionHash = function(value) {
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0.prototype.setPublicKeyHash = function(value) {
   return jspb.Message.setProto3BytesField(this, 1, value);
 };
 
 
 /**
- * optional bool prove = 2;
+ * optional bytes start_after = 2;
+ * @return {string}
+ */
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0.prototype.getStartAfter = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
+};
+
+
+/**
+ * optional bytes start_after = 2;
+ * This is a type-conversion wrapper around `getStartAfter()`
+ * @return {string}
+ */
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0.prototype.getStartAfter_asB64 = function() {
+  return /** @type {string} */ (jspb.Message.bytesAsB64(
+      this.getStartAfter()));
+};
+
+
+/**
+ * optional bytes start_after = 2;
+ * 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.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0.prototype.getStartAfter_asU8 = function() {
+  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
+      this.getStartAfter()));
+};
+
+
+/**
+ * @param {!(string|Uint8Array)} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0.prototype.setStartAfter = function(value) {
+  return jspb.Message.setField(this, 2, value);
+};
+
+
+/**
+ * Clears the field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0.prototype.clearStartAfter = function() {
+  return jspb.Message.setField(this, 2, undefined);
+};
+
+
+/**
+ * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.prototype.getProve = function() {
-  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0.prototype.hasStartAfter = function() {
+  return jspb.Message.getField(this, 2) != null;
+};
+
+
+/**
+ * optional bool prove = 3;
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0.prototype.getProve = function() {
+  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 3, false));
 };
 
 
 /**
  * @param {boolean} value
- * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.prototype.setProve = function(value) {
-  return jspb.Message.setProto3BooleanField(this, 2, value);
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0.prototype.setProve = function(value) {
+  return jspb.Message.setProto3BooleanField(this, 3, value);
 };
 
 
 /**
- * optional WaitForStateTransitionResultRequestV0 v0 = 1;
- * @return {?proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0}
+ * optional GetIdentityByNonUniquePublicKeyHashRequestV0 v0 = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0}
  */
-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));
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.prototype.getV0 = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0, 1));
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest} returns this
+ * @param {?proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest} 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);
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.prototype.setV0 = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.oneofGroups_[0], value);
 };
 
 
 /**
  * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest} returns this
  */
-proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.prototype.clearV0 = function() {
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.prototype.clearV0 = function() {
   return this.setV0(undefined);
 };
 
@@ -24105,7 +24718,7 @@ proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.prototype.cl
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.prototype.hasV0 = function() {
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.prototype.hasV0 = function() {
   return jspb.Message.getField(this, 1) != null;
 };
 
@@ -24119,21 +24732,21 @@ proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.prototype.ha
  * @private {!Array>}
  * @const
  */
-proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.oneofGroups_ = [[1]];
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.oneofGroups_ = [[1]];
 
 /**
  * @enum {number}
  */
-proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.VersionCase = {
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.VersionCase = {
   VERSION_NOT_SET: 0,
   V0: 1
 };
 
 /**
- * @return {proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.VersionCase}
+ * @return {proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.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.GetIdentityByNonUniquePublicKeyHashResponse.prototype.getVersionCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.oneofGroups_[0]));
 };
 
 
@@ -24151,8 +24764,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.GetIdentityByNonUniquePublicKeyHashResponse.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.toObject(opt_includeInstance, this);
 };
 
 
@@ -24161,13 +24774,13 @@ 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.GetIdentityByNonUniquePublicKeyHashResponse} 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.GetIdentityByNonUniquePublicKeyHashResponse.toObject = function(includeInstance, msg) {
   var f, obj = {
-    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.toObject(includeInstance, f)
+    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.toObject(includeInstance, f)
   };
 
   if (includeInstance) {
@@ -24181,23 +24794,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.GetIdentityByNonUniquePublicKeyHashResponse}
  */
-proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.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.GetIdentityByNonUniquePublicKeyHashResponse;
+  return proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.deserializeBinaryFromReader(msg, 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.GetIdentityByNonUniquePublicKeyHashResponse} 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.GetIdentityByNonUniquePublicKeyHashResponse}
  */
-proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -24205,8 +24818,8 @@ 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);
+      var value = new proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.deserializeBinaryFromReader);
       msg.setV0(value);
       break;
     default:
@@ -24222,9 +24835,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.GetIdentityByNonUniquePublicKeyHashResponse.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -24232,18 +24845,18 @@ 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.GetIdentityByNonUniquePublicKeyHashResponse} 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.GetIdentityByNonUniquePublicKeyHashResponse.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
+      proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.serializeBinaryToWriter
     );
   }
 };
@@ -24258,22 +24871,22 @@ proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.serializeBi
  * @private {!Array>}
  * @const
  */
-proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.oneofGroups_ = [[1,2]];
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.oneofGroups_ = [[1,2]];
 
 /**
  * @enum {number}
  */
-proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.ResultCase = {
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.ResultCase = {
   RESULT_NOT_SET: 0,
-  ERROR: 1,
+  IDENTITY: 1,
   PROOF: 2
 };
 
 /**
- * @return {proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.ResultCase}
+ * @return {proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.ResultCase}
  */
-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.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.prototype.getResultCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.oneofGroups_[0]));
 };
 
 
@@ -24291,8 +24904,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.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.toObject(opt_includeInstance, this);
 };
 
 
@@ -24301,14 +24914,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.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0} 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.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.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),
+    identity: (f = msg.getIdentity()) && proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse.toObject(includeInstance, f),
+    proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse.toObject(includeInstance, f),
     metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f)
   };
 
@@ -24323,23 +24936,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.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0}
  */
-proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.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.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0;
+  return proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.deserializeBinaryFromReader(msg, 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.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0} 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.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0}
  */
-proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -24347,13 +24960,13 @@ 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 = new proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse.deserializeBinaryFromReader);
+      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);
+      var value = new proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse.deserializeBinaryFromReader);
       msg.setProof(value);
       break;
     case 3:
@@ -24374,9 +24987,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.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.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.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -24384,18 +24997,18 @@ 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.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0} 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.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getError();
+  f = message.getIdentity();
   if (f != null) {
     writer.writeMessage(
       1,
       f,
-      proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse.serializeBinaryToWriter
     );
   }
   f = message.getProof();
@@ -24403,7 +25016,7 @@ proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStat
     writer.writeMessage(
       2,
       f,
-      proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse.serializeBinaryToWriter
     );
   }
   f = message.getMetadata();
@@ -24417,105 +25030,166 @@ proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStat
 };
 
 
+
+
+
+if (jspb.Message.GENERATE_TO_OBJECT) {
 /**
- * optional StateTransitionBroadcastError error = 1;
- * @return {?proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError}
+ * 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.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.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse.toObject(opt_includeInstance, this);
 };
 
 
 /**
- * @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);
+ * 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.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse} msg The msg instance to transform.
+ * @return {!Object}
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse.toObject = function(includeInstance, msg) {
+  var f, obj = {
+    identity: msg.getIdentity_asB64()
+  };
+
+  if (includeInstance) {
+    obj.$jspbMessageInstance = msg;
+  }
+  return obj;
 };
+}
 
 
 /**
- * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} returns this
+ * Deserializes binary data (in protobuf wire format).
+ * @param {jspb.ByteSource} bytes The bytes to deserialize.
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse}
  */
-proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.clearError = function() {
-  return this.setError(undefined);
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse.deserializeBinary = function(bytes) {
+  var reader = new jspb.BinaryReader(bytes);
+  var msg = new proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse;
+  return proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse.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.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse} msg The message object to deserialize into.
+ * @param {!jspb.BinaryReader} reader The BinaryReader to use.
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse}
  */
-proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.hasError = function() {
-  return jspb.Message.getField(this, 1) != null;
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse.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;
+    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.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));
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse.prototype.serializeBinary = function() {
+  var writer = new jspb.BinaryWriter();
+  proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse.serializeBinaryToWriter(this, writer);
+  return writer.getResultBuffer();
 };
 
 
 /**
- * @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.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.setProof = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.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.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse} message
+ * @param {!jspb.BinaryWriter} writer
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse.serializeBinaryToWriter = function(message, writer) {
+  var f = undefined;
+  f = /** @type {!(string|Uint8Array)} */ (jspb.Message.getField(message, 1));
+  if (f != null) {
+    writer.writeBytes(
+      1,
+      f
+    );
+  }
 };
 
 
 /**
- * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} returns this
+ * optional bytes identity = 1;
+ * @return {string}
  */
-proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.clearProof = function() {
-  return this.setProof(undefined);
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse.prototype.getIdentity = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
 };
 
 
 /**
- * Returns whether this field is set.
- * @return {boolean}
+ * optional bytes identity = 1;
+ * This is a type-conversion wrapper around `getIdentity()`
+ * @return {string}
  */
-proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.hasProof = function() {
-  return jspb.Message.getField(this, 2) != null;
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse.prototype.getIdentity_asB64 = function() {
+  return /** @type {string} */ (jspb.Message.bytesAsB64(
+      this.getIdentity()));
 };
 
 
 /**
- * optional ResponseMetadata metadata = 3;
- * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata}
+ * 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.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));
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse.prototype.getIdentity_asU8 = function() {
+  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
+      this.getIdentity()));
 };
 
 
 /**
- * @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);
+ * @param {!(string|Uint8Array)} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse.prototype.setIdentity = function(value) {
+  return jspb.Message.setField(this, 1, value);
 };
 
 
 /**
- * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} returns this
+ * Clears the field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse} returns this
  */
-proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.clearMetadata = function() {
-  return this.setMetadata(undefined);
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse.prototype.clearIdentity = function() {
+  return jspb.Message.setField(this, 1, undefined);
 };
 
 
@@ -24523,35 +25197,369 @@ 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() {
-  return jspb.Message.getField(this, 3) != null;
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse.prototype.hasIdentity = function() {
+  return jspb.Message.getField(this, 1) != null;
 };
 
 
+
+
+
+if (jspb.Message.GENERATE_TO_OBJECT) {
 /**
- * optional WaitForStateTransitionResultResponseV0 v0 = 1;
- * @return {?proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0}
+ * 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.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.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse.toObject(opt_includeInstance, this);
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse} 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.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse} msg The msg instance to transform.
+ * @return {!Object}
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse.toObject = function(includeInstance, msg) {
+  var f, obj = {
+    grovedbIdentityPublicKeyHashProof: (f = msg.getGrovedbIdentityPublicKeyHashProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f),
+    identityProofBytes: msg.getIdentityProofBytes_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.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse}
+ */
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse.deserializeBinary = function(bytes) {
+  var reader = new jspb.BinaryReader(bytes);
+  var msg = new proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse;
+  return proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse.deserializeBinaryFromReader(msg, reader);
+};
+
+
+/**
+ * Deserializes binary data (in protobuf wire format) from the
+ * given reader into the given message object.
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse} msg The message object to deserialize into.
+ * @param {!jspb.BinaryReader} reader The BinaryReader to use.
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse}
+ */
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse.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.setGrovedbIdentityPublicKeyHashProof(value);
+      break;
+    case 2:
+      var value = /** @type {!Uint8Array} */ (reader.readBytes());
+      msg.setIdentityProofBytes(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.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse.prototype.serializeBinary = function() {
+  var writer = new jspb.BinaryWriter();
+  proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse.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.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse} message
+ * @param {!jspb.BinaryWriter} writer
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse.serializeBinaryToWriter = function(message, writer) {
+  var f = undefined;
+  f = message.getGrovedbIdentityPublicKeyHashProof();
+  if (f != null) {
+    writer.writeMessage(
+      1,
+      f,
+      proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter
+    );
+  }
+  f = /** @type {!(string|Uint8Array)} */ (jspb.Message.getField(message, 2));
+  if (f != null) {
+    writer.writeBytes(
+      2,
+      f
+    );
+  }
+};
+
+
+/**
+ * optional Proof grovedb_identity_public_key_hash_proof = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.Proof}
+ */
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse.prototype.getGrovedbIdentityPublicKeyHashProof = 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.Proof|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse} 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.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse.prototype.setGrovedbIdentityPublicKeyHashProof = function(value) {
+  return jspb.Message.setWrapperField(this, 1, 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.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse} returns this
  */
-proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.prototype.clearV0 = function() {
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse.prototype.clearGrovedbIdentityPublicKeyHashProof = function() {
+  return this.setGrovedbIdentityPublicKeyHashProof(undefined);
+};
+
+
+/**
+ * Returns whether this field is set.
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse.prototype.hasGrovedbIdentityPublicKeyHashProof = function() {
+  return jspb.Message.getField(this, 1) != null;
+};
+
+
+/**
+ * optional bytes identity_proof_bytes = 2;
+ * @return {string}
+ */
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse.prototype.getIdentityProofBytes = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
+};
+
+
+/**
+ * optional bytes identity_proof_bytes = 2;
+ * This is a type-conversion wrapper around `getIdentityProofBytes()`
+ * @return {string}
+ */
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse.prototype.getIdentityProofBytes_asB64 = function() {
+  return /** @type {string} */ (jspb.Message.bytesAsB64(
+      this.getIdentityProofBytes()));
+};
+
+
+/**
+ * optional bytes identity_proof_bytes = 2;
+ * Note that Uint8Array is not supported on all browsers.
+ * @see http://caniuse.com/Uint8Array
+ * This is a type-conversion wrapper around `getIdentityProofBytes()`
+ * @return {!Uint8Array}
+ */
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse.prototype.getIdentityProofBytes_asU8 = function() {
+  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
+      this.getIdentityProofBytes()));
+};
+
+
+/**
+ * @param {!(string|Uint8Array)} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse.prototype.setIdentityProofBytes = function(value) {
+  return jspb.Message.setField(this, 2, value);
+};
+
+
+/**
+ * Clears the field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse.prototype.clearIdentityProofBytes = function() {
+  return jspb.Message.setField(this, 2, undefined);
+};
+
+
+/**
+ * Returns whether this field is set.
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse.prototype.hasIdentityProofBytes = function() {
+  return jspb.Message.getField(this, 2) != null;
+};
+
+
+/**
+ * optional IdentityResponse identity = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse}
+ */
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.prototype.getIdentity = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse, 1));
+};
+
+
+/**
+ * @param {?proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.prototype.setIdentity = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.oneofGroups_[0], value);
+};
+
+
+/**
+ * Clears the message field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.prototype.clearIdentity = function() {
+  return this.setIdentity(undefined);
+};
+
+
+/**
+ * Returns whether this field is set.
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.prototype.hasIdentity = function() {
+  return jspb.Message.getField(this, 1) != null;
+};
+
+
+/**
+ * optional IdentityProvedResponse proof = 2;
+ * @return {?proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse}
+ */
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.prototype.getProof = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse, 2));
+};
+
+
+/**
+ * @param {?proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.prototype.setProof = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.oneofGroups_[0], value);
+};
+
+
+/**
+ * Clears the message field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.prototype.clearProof = function() {
+  return this.setProof(undefined);
+};
+
+
+/**
+ * Returns whether this field is set.
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.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.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.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.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.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.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.prototype.clearMetadata = function() {
+  return this.setMetadata(undefined);
+};
+
+
+/**
+ * Returns whether this field is set.
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.prototype.hasMetadata = function() {
+  return jspb.Message.getField(this, 3) != null;
+};
+
+
+/**
+ * optional GetIdentityByNonUniquePublicKeyHashResponseV0 v0 = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0}
+ */
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.prototype.getV0 = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0, 1));
+};
+
+
+/**
+ * @param {?proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.prototype.setV0 = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.oneofGroups_[0], value);
+};
+
+
+/**
+ * Clears the message field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.prototype.clearV0 = function() {
   return this.setV0(undefined);
 };
 
@@ -24560,7 +25568,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.GetIdentityByNonUniquePublicKeyHashResponse.prototype.hasV0 = function() {
   return jspb.Message.getField(this, 1) != null;
 };
 
@@ -24574,21 +25582,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.WaitForStateTransitionResultRequest.oneofGroups_ = [[1]];
 
 /**
  * @enum {number}
  */
-proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.VersionCase = {
+proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.VersionCase = {
   VERSION_NOT_SET: 0,
   V0: 1
 };
 
 /**
- * @return {proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.VersionCase}
+ * @return {proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.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.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]));
 };
 
 
@@ -24606,8 +25614,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.WaitForStateTransitionResultRequest.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.toObject(opt_includeInstance, this);
 };
 
 
@@ -24616,13 +25624,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.WaitForStateTransitionResultRequest} 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.WaitForStateTransitionResultRequest.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.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.toObject(includeInstance, f)
   };
 
   if (includeInstance) {
@@ -24636,23 +25644,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.WaitForStateTransitionResultRequest}
  */
-proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.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.GetConsensusParamsRequest;
-  return proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.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.GetConsensusParamsRequest} 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.GetConsensusParamsRequest}
+ * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest}
  */
-proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -24660,8 +25668,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.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.deserializeBinaryFromReader);
       msg.setV0(value);
       break;
     default:
@@ -24677,9 +25685,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.WaitForStateTransitionResultRequest.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -24687,18 +25695,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.WaitForStateTransitionResultRequest} 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.WaitForStateTransitionResultRequest.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.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.serializeBinaryToWriter
     );
   }
 };
@@ -24720,8 +25728,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.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.toObject(opt_includeInstance, this);
 };
 
 
@@ -24730,13 +25738,13 @@ 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.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.GetConsensusParamsRequest.GetConsensusParamsRequestV0.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.toObject = function(includeInstance, msg) {
   var f, obj = {
-    height: jspb.Message.getFieldWithDefault(msg, 1, 0),
+    stateTransitionHash: msg.getStateTransitionHash_asB64(),
     prove: jspb.Message.getBooleanFieldWithDefault(msg, 2, false)
   };
 
@@ -24751,23 +25759,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.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0}
  */
-proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.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.GetConsensusParamsRequest.GetConsensusParamsRequestV0;
-  return proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.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.GetConsensusParamsRequest.GetConsensusParamsRequestV0} 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.GetConsensusParamsRequest.GetConsensusParamsRequestV0}
+ * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0}
  */
-proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -24775,8 +25783,8 @@ 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 = /** @type {!Uint8Array} */ (reader.readBytes());
+      msg.setStateTransitionHash(value);
       break;
     case 2:
       var value = /** @type {boolean} */ (reader.readBool());
@@ -24795,9 +25803,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.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.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.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -24805,15 +25813,15 @@ 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.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0} 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.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getHeight();
-  if (f !== 0) {
-    writer.writeInt32(
+  f = message.getStateTransitionHash_asU8();
+  if (f.length > 0) {
+    writer.writeBytes(
       1,
       f
     );
@@ -24829,20 +25837,44 @@ proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequ
 
 
 /**
- * optional int32 height = 1;
- * @return {number}
+ * optional bytes state_transition_hash = 1;
+ * @return {string}
  */
-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.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.prototype.getStateTransitionHash = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
 };
 
 
 /**
- * @param {number} value
- * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0} returns this
+ * optional bytes state_transition_hash = 1;
+ * This is a type-conversion wrapper around `getStateTransitionHash()`
+ * @return {string}
  */
-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.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);
 };
 
 
@@ -24850,44 +25882,44 @@ proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequ
  * optional bool prove = 2;
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.prototype.getProve = function() {
+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.GetConsensusParamsRequest.GetConsensusParamsRequestV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.prototype.setProve = function(value) {
+proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.prototype.setProve = function(value) {
   return jspb.Message.setProto3BooleanField(this, 2, value);
 };
 
 
 /**
- * optional GetConsensusParamsRequestV0 v0 = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0}
+ * optional WaitForStateTransitionResultRequestV0 v0 = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0}
  */
-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.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.GetConsensusParamsRequest.GetConsensusParamsRequestV0|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest} 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.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.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.GetConsensusParamsRequest} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest} returns this
  */
-proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.prototype.clearV0 = function() {
+proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.prototype.clearV0 = function() {
   return this.setV0(undefined);
 };
 
@@ -24896,7 +25928,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.WaitForStateTransitionResultRequest.prototype.hasV0 = function() {
   return jspb.Message.getField(this, 1) != null;
 };
 
@@ -24910,21 +25942,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.WaitForStateTransitionResultResponse.oneofGroups_ = [[1]];
 
 /**
  * @enum {number}
  */
-proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.VersionCase = {
+proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.VersionCase = {
   VERSION_NOT_SET: 0,
   V0: 1
 };
 
 /**
- * @return {proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.VersionCase}
+ * @return {proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.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.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]));
 };
 
 
@@ -24942,8 +25974,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.WaitForStateTransitionResultResponse.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.toObject(opt_includeInstance, this);
 };
 
 
@@ -24952,13 +25984,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.WaitForStateTransitionResultResponse} 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.WaitForStateTransitionResultResponse.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.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.toObject(includeInstance, f)
   };
 
   if (includeInstance) {
@@ -24972,23 +26004,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.WaitForStateTransitionResultResponse}
  */
-proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.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.GetConsensusParamsResponse;
-  return proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.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.GetConsensusParamsResponse} 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.GetConsensusParamsResponse}
+ * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse}
  */
-proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -24996,8 +26028,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.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.deserializeBinaryFromReader);
       msg.setV0(value);
       break;
     default:
@@ -25013,9 +26045,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.WaitForStateTransitionResultResponse.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -25023,24 +26055,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.WaitForStateTransitionResultResponse} 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.WaitForStateTransitionResultResponse.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.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.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.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.oneofGroups_ = [[1,2]];
+
+/**
+ * @enum {number}
+ */
+proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.ResultCase = {
+  RESULT_NOT_SET: 0,
+  ERROR: 1,
+  PROOF: 2
+};
+
+/**
+ * @return {proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.ResultCase}
+ */
+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]));
+};
+
 
 
 if (jspb.Message.GENERATE_TO_OBJECT) {
@@ -25056,8 +26114,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.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.toObject(opt_includeInstance, this);
 };
 
 
@@ -25066,15 +26124,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.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.GetConsensusParamsResponse.ConsensusParamsBlock.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.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, "")
+    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) {
@@ -25088,23 +26146,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.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0}
  */
-proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.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.GetConsensusParamsResponse.ConsensusParamsBlock;
-  return proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.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.GetConsensusParamsResponse.ConsensusParamsBlock} 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.GetConsensusParamsResponse.ConsensusParamsBlock}
+ * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0}
  */
-proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -25112,16 +26170,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.StateTransitionBroadcastError;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.deserializeBinaryFromReader);
+      msg.setError(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();
@@ -25136,9 +26197,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.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.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.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -25146,91 +26207,213 @@ 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.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} 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.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getMaxBytes();
-  if (f.length > 0) {
-    writer.writeString(
+  f = message.getError();
+  if (f != null) {
+    writer.writeMessage(
       1,
-      f
+      f,
+      proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.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}
+ * optional StateTransitionBroadcastError error = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError}
  */
-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.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} value
- * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock} returns this
+ * @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 message field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} returns this
  */
-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.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.clearError = function() {
+  return this.setError(undefined);
 };
 
 
 /**
- * optional string max_gas = 2;
- * @return {string}
+ * Returns whether this field is set.
+ * @return {boolean}
  */
-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.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.hasError = function() {
+  return jspb.Message.getField(this, 1) != null;
 };
 
 
 /**
- * @param {string} value
- * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock} returns this
+ * optional Proof proof = 2;
+ * @return {?proto.org.dash.platform.dapi.v0.Proof}
  */
-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.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));
 };
 
 
 /**
- * optional string time_iota_ms = 3;
- * @return {string}
+ * @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.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.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} returns this
  */
-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.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.clearProof = function() {
+  return this.setProof(undefined);
 };
 
 
 /**
- * @param {string} value
- * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock} returns this
+ * Returns whether this field is set.
+ * @return {boolean}
  */
-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.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.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.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));
+};
+
+
+/**
+ * @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);
+};
+
+
+/**
+ * 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.GetConsensusParamsRequest.VersionCase = {
+  VERSION_NOT_SET: 0,
+  V0: 1
+};
+
+/**
+ * @return {proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.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]));
+};
+
 
 
 if (jspb.Message.GENERATE_TO_OBJECT) {
@@ -25246,8 +26429,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.GetConsensusParamsRequest.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.toObject(opt_includeInstance, this);
 };
 
 
@@ -25256,15 +26439,13 @@ 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.GetConsensusParamsRequest} 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.GetConsensusParamsRequest.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, "")
+    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.toObject(includeInstance, f)
   };
 
   if (includeInstance) {
@@ -25278,23 +26459,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.GetConsensusParamsRequest}
  */
-proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.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.GetConsensusParamsResponse.ConsensusParamsEvidence;
-  return proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.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.GetConsensusParamsResponse.ConsensusParamsEvidence} 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.GetConsensusParamsResponse.ConsensusParamsEvidence}
+ * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest}
  */
-proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -25302,16 +26483,9 @@ 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);
-      break;
-    case 2:
-      var value = /** @type {string} */ (reader.readString());
-      msg.setMaxAgeDuration(value);
-      break;
-    case 3:
-      var value = /** @type {string} */ (reader.readString());
-      msg.setMaxBytes(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();
@@ -25326,9 +26500,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.GetConsensusParamsRequest.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.GetConsensusParamsRequest.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -25336,90 +26510,23 @@ 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.GetConsensusParamsRequest} 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.GetConsensusParamsRequest.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getMaxAgeNumBlocks();
-  if (f.length > 0) {
-    writer.writeString(
+  f = message.getV0();
+  if (f != null) {
+    writer.writeMessage(
       1,
-      f
-    );
-  }
-  f = message.getMaxAgeDuration();
-  if (f.length > 0) {
-    writer.writeString(
-      2,
-      f
-    );
-  }
-  f = message.getMaxBytes();
-  if (f.length > 0) {
-    writer.writeString(
-      3,
-      f
+      f,
+      proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.serializeBinaryToWriter
     );
   }
 };
 
 
-/**
- * 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, ""));
-};
-
-
-/**
- * @param {string} value
- * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence} returns this
- */
-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);
-};
-
-
 
 
 
@@ -25436,8 +26543,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-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.GetConsensusParamsRequest.GetConsensusParamsRequestV0.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.toObject(opt_includeInstance, this);
 };
 
 
@@ -25446,14 +26553,14 @@ proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsRes
  * @param {boolean|undefined} includeInstance 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.
+ * @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.GetConsensusParamsResponse.GetConsensusParamsResponseV0.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.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)
+    height: jspb.Message.getFieldWithDefault(msg, 1, 0),
+    prove: jspb.Message.getBooleanFieldWithDefault(msg, 2, false)
   };
 
   if (includeInstance) {
@@ -25467,23 +26574,23 @@ proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsRes
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0}
  */
-proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.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.GetConsensusParamsResponse.GetConsensusParamsResponseV0;
-  return proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.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.GetConsensusParamsResponse.GetConsensusParamsResponseV0} 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.GetConsensusParamsResponse.GetConsensusParamsResponseV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0}
  */
-proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -25491,14 +26598,12 @@ proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsRes
     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);
+      var value = /** @type {number} */ (reader.readInt32());
+      msg.setHeight(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);
+      var value = /** @type {boolean} */ (reader.readBool());
+      msg.setProve(value);
       break;
     default:
       reader.skipField();
@@ -25513,9 +26618,9 @@ proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsRes
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.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.GetConsensusParamsResponse.GetConsensusParamsResponseV0.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -25523,93 +26628,90 @@ proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsRes
 /**
  * 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 {!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.GetConsensusParamsResponse.GetConsensusParamsResponseV0.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getBlock();
-  if (f != null) {
-    writer.writeMessage(
+  f = message.getHeight();
+  if (f !== 0) {
+    writer.writeInt32(
       1,
-      f,
-      proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.serializeBinaryToWriter
+      f
     );
   }
-  f = message.getEvidence();
-  if (f != null) {
-    writer.writeMessage(
+  f = message.getProve();
+  if (f) {
+    writer.writeBool(
       2,
-      f,
-      proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.serializeBinaryToWriter
+      f
     );
   }
 };
 
 
 /**
- * optional ConsensusParamsBlock block = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock}
+ * optional int32 height = 1;
+ * @return {number}
  */
-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.GetConsensusParamsRequest.GetConsensusParamsRequestV0.prototype.getHeight = function() {
+  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
 };
 
 
 /**
- * @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);
+ * @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.GetConsensusParamsResponse.GetConsensusParamsResponseV0} returns this
+ * optional bool prove = 2;
+ * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.prototype.clearBlock = function() {
-  return this.setBlock(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.GetConsensusParamsResponse.GetConsensusParamsResponseV0.prototype.hasBlock = 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 ConsensusParamsEvidence evidence = 2;
- * @return {?proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence}
+ * optional GetConsensusParamsRequestV0 v0 = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0}
  */
-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.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.GetConsensusParamsResponse.ConsensusParamsEvidence|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0} 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.GetConsensusParamsResponse.GetConsensusParamsResponseV0.prototype.setEvidence = function(value) {
-  return jspb.Message.setWrapperField(this, 2, 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.GetConsensusParamsResponse.GetConsensusParamsResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest} returns this
  */
-proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.prototype.clearEvidence = function() {
-  return this.setEvidence(undefined);
+proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.prototype.clearV0 = function() {
+  return this.setV0(undefined);
 };
 
 
@@ -25617,72 +26719,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.GetConsensusParamsRequest.prototype.hasV0 = function() {
+  return jspb.Message.getField(this, 1) != null;
 };
 
 
+
 /**
- * optional GetConsensusParamsResponseV0 v0 = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0}
+ * 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.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.GetConsensusParamsResponse.oneofGroups_ = [[1]];
 
+/**
+ * @enum {number}
+ */
+proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.VersionCase = {
+  VERSION_NOT_SET: 0,
+  V0: 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;
-};
-
-
-
-/**
- * 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.GetProtocolVersionUpgradeStateRequest.oneofGroups_ = [[1]];
-
-/**
- * @enum {number}
- */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.VersionCase = {
-  VERSION_NOT_SET: 0,
-  V0: 1
-};
-
-/**
- * @return {proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.VersionCase}
+ * @return {proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.VersionCase}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.prototype.getVersionCase = function() {
-  return /** @type {proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.oneofGroups_[0]));
+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]));
 };
 
 
@@ -25700,8 +26765,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.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);
 };
 
 
@@ -25710,13 +26775,13 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.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.GetProtocolVersionUpgradeStateRequest} 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.GetProtocolVersionUpgradeStateRequest.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.toObject = function(includeInstance, msg) {
   var f, obj = {
-    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.toObject(includeInstance, f)
+    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.toObject(includeInstance, f)
   };
 
   if (includeInstance) {
@@ -25730,23 +26795,23 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.toObject =
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest}
+ * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.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.GetProtocolVersionUpgradeStateRequest;
-  return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.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.GetProtocolVersionUpgradeStateRequest} 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.GetProtocolVersionUpgradeStateRequest}
+ * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -25754,8 +26819,8 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.deserializ
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.deserializeBinaryFromReader);
+      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:
@@ -25771,9 +26836,9 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.deserializ
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -25781,18 +26846,18 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.prototype.
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest} 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.GetProtocolVersionUpgradeStateRequest.serializeBinaryToWriter = function(message, writer) {
+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.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.serializeBinaryToWriter
     );
   }
 };
@@ -25814,8 +26879,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.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);
 };
 
 
@@ -25824,13 +26889,15 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtoco
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0} 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.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.toObject = function(includeInstance, msg) {
   var f, obj = {
-    prove: jspb.Message.getBooleanFieldWithDefault(msg, 1, false)
+    maxBytes: jspb.Message.getFieldWithDefault(msg, 1, ""),
+    maxGas: jspb.Message.getFieldWithDefault(msg, 2, ""),
+    timeIotaMs: jspb.Message.getFieldWithDefault(msg, 3, "")
   };
 
   if (includeInstance) {
@@ -25844,23 +26911,23 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtoco
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.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.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0;
-  return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.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.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0} 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.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -25868,8 +26935,16 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtoco
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = /** @type {boolean} */ (reader.readBool());
-      msg.setProve(value);
+      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();
@@ -25884,9 +26959,9 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtoco
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.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.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -25894,102 +26969,90 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtoco
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0} 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.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getProve();
-  if (f) {
-    writer.writeBool(
+  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 bool prove = 1;
- * @return {boolean}
+ * optional string max_bytes = 1;
+ * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.prototype.getProve = function() {
-  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 1, false));
+proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.prototype.getMaxBytes = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
 };
 
 
 /**
- * @param {boolean} value
- * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0} returns this
+ * @param {string} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock} returns this
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.prototype.setProve = function(value) {
-  return jspb.Message.setProto3BooleanField(this, 1, value);
+proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.prototype.setMaxBytes = function(value) {
+  return jspb.Message.setProto3StringField(this, 1, value);
 };
 
 
 /**
- * optional GetProtocolVersionUpgradeStateRequestV0 v0 = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0}
+ * optional string max_gas = 2;
+ * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.prototype.getV0 = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0, 1));
-};
-
-
-/**
- * @param {?proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest} returns this
-*/
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.prototype.setV0 = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.oneofGroups_[0], value);
+proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.prototype.getMaxGas = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
 };
 
 
 /**
- * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest} returns this
+ * @param {string} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock} returns this
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.prototype.clearV0 = function() {
-  return this.setV0(undefined);
+proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.prototype.setMaxGas = function(value) {
+  return jspb.Message.setProto3StringField(this, 2, value);
 };
 
 
 /**
- * Returns whether this field is set.
- * @return {boolean}
+ * optional string time_iota_ms = 3;
+ * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.prototype.hasV0 = function() {
-  return jspb.Message.getField(this, 1) != null;
+proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.prototype.getTimeIotaMs = 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.GetProtocolVersionUpgradeStateResponse.oneofGroups_ = [[1]];
-
 /**
- * @enum {number}
+ * @param {string} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock} returns this
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.VersionCase = {
-  VERSION_NOT_SET: 0,
-  V0: 1
+proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.prototype.setTimeIotaMs = function(value) {
+  return jspb.Message.setProto3StringField(this, 3, value);
 };
 
-/**
- * @return {proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.VersionCase}
- */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.prototype.getVersionCase = function() {
-  return /** @type {proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.oneofGroups_[0]));
-};
+
 
 
 
@@ -26006,8 +27069,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.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);
 };
 
 
@@ -26016,13 +27079,15 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.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.GetProtocolVersionUpgradeStateResponse} 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.GetProtocolVersionUpgradeStateResponse.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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.toObject(includeInstance, f)
+    maxAgeNumBlocks: jspb.Message.getFieldWithDefault(msg, 1, ""),
+    maxAgeDuration: jspb.Message.getFieldWithDefault(msg, 2, ""),
+    maxBytes: jspb.Message.getFieldWithDefault(msg, 3, "")
   };
 
   if (includeInstance) {
@@ -26036,23 +27101,23 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.toObject
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse}
+ * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.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.GetProtocolVersionUpgradeStateResponse;
-  return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.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.GetProtocolVersionUpgradeStateResponse} 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.GetProtocolVersionUpgradeStateResponse}
+ * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -26060,9 +27125,16 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.deseriali
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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();
@@ -26077,9 +27149,9 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.deseriali
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.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.GetProtocolVersionUpgradeStateResponse.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -26087,52 +27159,93 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.prototype
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse} 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.GetProtocolVersionUpgradeStateResponse.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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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, ""));
+};
+
 
 /**
- * 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
+ * @param {string} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence} returns this
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.oneofGroups_ = [[1,2]];
+proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.prototype.setMaxAgeNumBlocks = function(value) {
+  return jspb.Message.setProto3StringField(this, 1, value);
+};
+
 
 /**
- * @enum {number}
+ * optional string max_age_duration = 2;
+ * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.ResultCase = {
-  RESULT_NOT_SET: 0,
-  VERSIONS: 1,
-  PROOF: 2
+proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.prototype.getMaxAgeDuration = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
 };
 
+
 /**
- * @return {proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.ResultCase}
+ * @param {string} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence} returns this
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.prototype.getResultCase = function() {
-  return /** @type {proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.oneofGroups_[0]));
+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);
 };
 
 
 
+
+
 if (jspb.Message.GENERATE_TO_OBJECT) {
 /**
  * Creates an object representation of this proto.
@@ -26146,8 +27259,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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);
 };
 
 
@@ -26156,15 +27269,14 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtoc
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0} 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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.toObject = function(includeInstance, msg) {
   var f, obj = {
-    versions: (f = msg.getVersions()) && proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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)
+    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) {
@@ -26178,23 +27290,23 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtoc
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0;
-  return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0} 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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -26202,19 +27314,14 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtoc
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.deserializeBinaryFromReader);
-      msg.setVersions(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 = 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.GetConsensusParamsResponse.ConsensusParamsEvidence;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.deserializeBinaryFromReader);
+      msg.setEvidence(value);
       break;
     default:
       reader.skipField();
@@ -26229,9 +27336,9 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtoc
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -26239,199 +27346,167 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtoc
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0} 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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getVersions();
+  f = message.getBlock();
   if (f != null) {
     writer.writeMessage(
       1,
       f,
-      proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.serializeBinaryToWriter
     );
   }
-  f = message.getProof();
+  f = message.getEvidence();
   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.GetConsensusParamsResponse.ConsensusParamsEvidence.serializeBinaryToWriter
     );
   }
 };
 
 
-
 /**
- * List of repeated fields within this message type.
- * @private {!Array}
- * @const
+ * optional ConsensusParamsBlock block = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.repeatedFields_ = [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.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);
+};
+
 
-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.GetConsensusParamsResponse.GetConsensusParamsResponseV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.prototype.clearBlock = function() {
+  return this.setBlock(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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions} 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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.toObject = function(includeInstance, msg) {
-  var f, obj = {
-    versionsList: jspb.Message.toObjectList(msg.getVersionsList(),
-    proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.toObject, includeInstance)
-  };
-
-  if (includeInstance) {
-    obj.$jspbMessageInstance = msg;
-  }
-  return obj;
+proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.prototype.hasBlock = 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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions}
+ * optional ConsensusParamsEvidence evidence = 2;
+ * @return {?proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.deserializeBinary = function(bytes) {
-  var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions;
-  return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.deserializeBinaryFromReader(msg, reader);
+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));
 };
 
 
 /**
- * Deserializes binary data (in protobuf wire format) from the
- * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions} msg The message object to deserialize into.
- * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions}
+ * @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);
+};
+
+
+/**
+ * Clears the message field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.deserializeBinaryFromReader);
-      msg.addVersions(value);
-      break;
-    default:
-      reader.skipField();
-      break;
-    }
-  }
-  return msg;
+proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.prototype.clearEvidence = function() {
+  return this.setEvidence(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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.prototype.serializeBinary = function() {
-  var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.serializeBinaryToWriter(this, writer);
-  return writer.getResultBuffer();
+proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.prototype.hasEvidence = function() {
+  return jspb.Message.getField(this, 2) != null;
 };
 
 
 /**
- * Serializes the given message to binary data (in protobuf wire
- * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions} message
- * @param {!jspb.BinaryWriter} writer
- * @suppress {unusedLocalVariables} f is only used for nested messages
+ * optional GetConsensusParamsResponseV0 v0 = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.serializeBinaryToWriter = function(message, writer) {
-  var f = undefined;
-  f = message.getVersionsList();
-  if (f.length > 0) {
-    writer.writeRepeatedMessage(
-      1,
-      f,
-      proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.serializeBinaryToWriter
-    );
-  }
+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));
 };
 
 
 /**
- * repeated VersionEntry versions = 1;
- * @return {!Array}
- */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.prototype.getVersionsList = function() {
-  return /** @type{!Array} */ (
-    jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry, 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);
 };
 
 
 /**
- * @param {!Array} value
- * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions} returns this
-*/
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.prototype.setVersionsList = function(value) {
-  return jspb.Message.setRepeatedWrapperField(this, 1, 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);
 };
 
 
 /**
- * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry=} opt_value
- * @param {number=} opt_index
- * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry}
+ * Returns whether this field is set.
+ * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.prototype.addVersions = function(opt_value, opt_index) {
-  return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry, opt_index);
+proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.prototype.hasV0 = function() {
+  return jspb.Message.getField(this, 1) != null;
 };
 
 
+
 /**
- * Clears the list making it empty but non-null.
- * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions} 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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.prototype.clearVersionsList = function() {
-  return this.setVersionsList([]);
-};
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.oneofGroups_ = [[1]];
 
+/**
+ * @enum {number}
+ */
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.VersionCase = {
+  VERSION_NOT_SET: 0,
+  V0: 1
+};
 
+/**
+ * @return {proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.VersionCase}
+ */
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.prototype.getVersionCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.oneofGroups_[0]));
+};
 
 
 
@@ -26448,8 +27523,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.toObject(opt_includeInstance, this);
 };
 
 
@@ -26458,14 +27533,13 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtoc
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.toObject = function(includeInstance, msg) {
   var f, obj = {
-    versionNumber: jspb.Message.getFieldWithDefault(msg, 1, 0),
-    voteCount: jspb.Message.getFieldWithDefault(msg, 2, 0)
+    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.toObject(includeInstance, f)
   };
 
   if (includeInstance) {
@@ -26479,23 +27553,23 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtoc
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry}
+ * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry;
-  return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest;
+  return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry}
+ * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -26503,12 +27577,9 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtoc
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = /** @type {number} */ (reader.readUint32());
-      msg.setVersionNumber(value);
-      break;
-    case 2:
-      var value = /** @type {number} */ (reader.readUint32());
-      msg.setVoteCount(value);
+      var value = new proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.deserializeBinaryFromReader);
+      msg.setV0(value);
       break;
     default:
       reader.skipField();
@@ -26523,9 +27594,9 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtoc
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -26533,200 +27604,177 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtoc
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getVersionNumber();
-  if (f !== 0) {
-    writer.writeUint32(
+  f = message.getV0();
+  if (f != null) {
+    writer.writeMessage(
       1,
-      f
-    );
-  }
-  f = message.getVoteCount();
-  if (f !== 0) {
-    writer.writeUint32(
-      2,
-      f
+      f,
+      proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.serializeBinaryToWriter
     );
   }
 };
 
 
-/**
- * optional uint32 version_number = 1;
- * @return {number}
- */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.prototype.getVersionNumber = function() {
-  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
-};
-
-
-/**
- * @param {number} value
- * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry} returns this
- */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.prototype.setVersionNumber = function(value) {
-  return jspb.Message.setProto3IntField(this, 1, value);
-};
-
 
-/**
- * optional uint32 vote_count = 2;
- * @return {number}
- */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.prototype.getVoteCount = function() {
-  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
-};
 
 
+if (jspb.Message.GENERATE_TO_OBJECT) {
 /**
- * @param {number} value
- * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry} 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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.prototype.setVoteCount = function(value) {
-  return jspb.Message.setProto3IntField(this, 2, value);
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.toObject(opt_includeInstance, this);
 };
 
 
 /**
- * optional Versions versions = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions}
+ * 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.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0} msg The msg instance to transform.
+ * @return {!Object}
+ * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.prototype.getVersions = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions, 1));
-};
-
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.toObject = function(includeInstance, msg) {
+  var f, obj = {
+    prove: jspb.Message.getBooleanFieldWithDefault(msg, 1, false)
+  };
 
-/**
- * @param {?proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0} returns this
-*/
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.prototype.setVersions = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.oneofGroups_[0], value);
+  if (includeInstance) {
+    obj.$jspbMessageInstance = msg;
+  }
+  return obj;
 };
+}
 
 
 /**
- * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0} returns this
+ * Deserializes binary data (in protobuf wire format).
+ * @param {jspb.ByteSource} bytes The bytes to deserialize.
+ * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.prototype.clearVersions = function() {
-  return this.setVersions(undefined);
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.deserializeBinary = function(bytes) {
+  var reader = new jspb.BinaryReader(bytes);
+  var msg = new proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0;
+  return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.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.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0} msg The message object to deserialize into.
+ * @param {!jspb.BinaryReader} reader The BinaryReader to use.
+ * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.prototype.hasVersions = function() {
-  return jspb.Message.getField(this, 1) != null;
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.deserializeBinaryFromReader = function(msg, reader) {
+  while (reader.nextField()) {
+    if (reader.isEndGroup()) {
+      break;
+    }
+    var field = reader.getFieldNumber();
+    switch (field) {
+    case 1:
+      var value = /** @type {boolean} */ (reader.readBool());
+      msg.setProve(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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0} returns this
-*/
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.prototype.setProof = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.oneofGroups_[0], value);
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.prototype.serializeBinary = function() {
+  var writer = new jspb.BinaryWriter();
+  proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.serializeBinaryToWriter(this, writer);
+  return writer.getResultBuffer();
 };
 
 
 /**
- * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0} 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.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0} message
+ * @param {!jspb.BinaryWriter} writer
+ * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.prototype.clearProof = function() {
-  return this.setProof(undefined);
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.serializeBinaryToWriter = function(message, writer) {
+  var f = undefined;
+  f = message.getProve();
+  if (f) {
+    writer.writeBool(
+      1,
+      f
+    );
+  }
 };
 
 
 /**
- * Returns whether this field is set.
+ * optional bool prove = 1;
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0} returns this
-*/
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0} returns this
- */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.prototype.clearMetadata = function() {
-  return this.setMetadata(undefined);
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.prototype.getProve = function() {
+  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 1, false));
 };
 
 
 /**
- * Returns whether this field is set.
- * @return {boolean}
+ * @param {boolean} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.prototype.hasMetadata = function() {
-  return jspb.Message.getField(this, 3) != null;
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.prototype.setProve = function(value) {
+  return jspb.Message.setProto3BooleanField(this, 1, value);
 };
 
 
 /**
- * optional GetProtocolVersionUpgradeStateResponseV0 v0 = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0}
+ * optional GetProtocolVersionUpgradeStateRequestV0 v0 = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.prototype.getV0 = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0, 1));
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.prototype.getV0 = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0, 1));
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse} returns this
+ * @param {?proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest} returns this
 */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.prototype.setV0 = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.oneofGroups_[0], value);
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.prototype.setV0 = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.oneofGroups_[0], value);
 };
 
 
 /**
  * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest} returns this
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.prototype.clearV0 = function() {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.prototype.clearV0 = function() {
   return this.setV0(undefined);
 };
 
@@ -26735,7 +27783,7 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.prototype
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.prototype.hasV0 = function() {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.prototype.hasV0 = function() {
   return jspb.Message.getField(this, 1) != null;
 };
 
@@ -26749,21 +27797,21 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.prototype
  * @private {!Array>}
  * @const
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.oneofGroups_ = [[1]];
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.oneofGroups_ = [[1]];
 
 /**
  * @enum {number}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.VersionCase = {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.VersionCase = {
   VERSION_NOT_SET: 0,
   V0: 1
 };
 
 /**
- * @return {proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.VersionCase}
+ * @return {proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.VersionCase}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.prototype.getVersionCase = function() {
-  return /** @type {proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.oneofGroups_[0]));
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.prototype.getVersionCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.oneofGroups_[0]));
 };
 
 
@@ -26781,8 +27829,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.toObject(opt_includeInstance, this);
 };
 
 
@@ -26791,13 +27839,13 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.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.GetProtocolVersionUpgradeVoteStatusRequest} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.toObject = function(includeInstance, msg) {
   var f, obj = {
-    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.toObject(includeInstance, f)
+    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.toObject(includeInstance, f)
   };
 
   if (includeInstance) {
@@ -26811,23 +27859,23 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.toObj
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest}
+ * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest;
-  return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse;
+  return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest}
+ * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -26835,8 +27883,8 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.deser
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.deserializeBinaryFromReader);
+      var value = new proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.deserializeBinaryFromReader);
       msg.setV0(value);
       break;
     default:
@@ -26852,9 +27900,9 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.deser
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -26862,24 +27910,50 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.proto
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
   f = message.getV0();
   if (f != null) {
     writer.writeMessage(
       1,
       f,
-      proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.oneofGroups_ = [[1,2]];
+
+/**
+ * @enum {number}
+ */
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.ResultCase = {
+  RESULT_NOT_SET: 0,
+  VERSIONS: 1,
+  PROOF: 2
+};
+
+/**
+ * @return {proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.ResultCase}
+ */
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.prototype.getResultCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.oneofGroups_[0]));
+};
+
 
 
 if (jspb.Message.GENERATE_TO_OBJECT) {
@@ -26895,8 +27969,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.toObject(opt_includeInstance, this);
 };
 
 
@@ -26905,15 +27979,15 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetPr
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.toObject = function(includeInstance, msg) {
   var f, obj = {
-    startProTxHash: msg.getStartProTxHash_asB64(),
-    count: jspb.Message.getFieldWithDefault(msg, 2, 0),
-    prove: jspb.Message.getBooleanFieldWithDefault(msg, 3, false)
+    versions: (f = msg.getVersions()) && proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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)
   };
 
   if (includeInstance) {
@@ -26927,23 +28001,23 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetPr
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0;
-  return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0;
+  return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -26951,16 +28025,19 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetPr
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = /** @type {!Uint8Array} */ (reader.readBytes());
-      msg.setStartProTxHash(value);
+      var value = new proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.deserializeBinaryFromReader);
+      msg.setVersions(value);
       break;
     case 2:
-      var value = /** @type {number} */ (reader.readUint32());
-      msg.setCount(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 {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();
@@ -26975,9 +28052,9 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetPr
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -26985,176 +28062,46 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetPr
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getStartProTxHash_asU8();
-  if (f.length > 0) {
-    writer.writeBytes(
+  f = message.getVersions();
+  if (f != null) {
+    writer.writeMessage(
       1,
-      f
+      f,
+      proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.serializeBinaryToWriter
     );
   }
-  f = message.getCount();
-  if (f !== 0) {
-    writer.writeUint32(
-      2,
-      f
+  f = message.getProof();
+  if (f != null) {
+    writer.writeMessage(
+      2,
+      f,
+      proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter
     );
   }
-  f = message.getProve();
-  if (f) {
-    writer.writeBool(
+  f = message.getMetadata();
+  if (f != null) {
+    writer.writeMessage(
       3,
-      f
+      f,
+      proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter
     );
   }
 };
 
 
-/**
- * optional bytes start_pro_tx_hash = 1;
- * @return {string}
- */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.prototype.getStartProTxHash = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
-};
-
-
-/**
- * optional bytes start_pro_tx_hash = 1;
- * This is a type-conversion wrapper around `getStartProTxHash()`
- * @return {string}
- */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.prototype.getStartProTxHash_asB64 = function() {
-  return /** @type {string} */ (jspb.Message.bytesAsB64(
-      this.getStartProTxHash()));
-};
-
-
-/**
- * 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 `getStartProTxHash()`
- * @return {!Uint8Array}
- */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.prototype.getStartProTxHash_asU8 = function() {
-  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
-      this.getStartProTxHash()));
-};
-
-
-/**
- * @param {!(string|Uint8Array)} value
- * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0} returns this
- */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.prototype.setStartProTxHash = function(value) {
-  return jspb.Message.setProto3BytesField(this, 1, value);
-};
-
-
-/**
- * optional uint32 count = 2;
- * @return {number}
- */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.prototype.getCount = function() {
-  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
-};
-
-
-/**
- * @param {number} value
- * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0} returns this
- */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.prototype.setCount = function(value) {
-  return jspb.Message.setProto3IntField(this, 2, value);
-};
-
-
-/**
- * optional bool prove = 3;
- * @return {boolean}
- */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.prototype.getProve = function() {
-  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 3, false));
-};
-
-
-/**
- * @param {boolean} value
- * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0} returns this
- */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.prototype.setProve = function(value) {
-  return jspb.Message.setProto3BooleanField(this, 3, value);
-};
-
-
-/**
- * optional GetProtocolVersionUpgradeVoteStatusRequestV0 v0 = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0}
- */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.prototype.getV0 = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0, 1));
-};
-
-
-/**
- * @param {?proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest} returns this
-*/
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.prototype.setV0 = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.oneofGroups_[0], value);
-};
-
-
-/**
- * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest} returns this
- */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.prototype.clearV0 = function() {
-  return this.setV0(undefined);
-};
-
-
-/**
- * Returns whether this field is set.
- * @return {boolean}
- */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.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.GetProtocolVersionUpgradeVoteStatusResponse.oneofGroups_ = [[1]];
-
-/**
- * @enum {number}
- */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.VersionCase = {
-  VERSION_NOT_SET: 0,
-  V0: 1
-};
-
-/**
- * @return {proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.VersionCase}
- */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.prototype.getVersionCase = function() {
-  return /** @type {proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.oneofGroups_[0]));
-};
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.repeatedFields_ = [1];
 
 
 
@@ -27171,8 +28118,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.toObject(opt_includeInstance, this);
 };
 
 
@@ -27181,13 +28128,14 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.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.GetProtocolVersionUpgradeVoteStatusResponse} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.toObject = function(includeInstance, msg) {
   var f, obj = {
-    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.toObject(includeInstance, f)
+    versionsList: jspb.Message.toObjectList(msg.getVersionsList(),
+    proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.toObject, includeInstance)
   };
 
   if (includeInstance) {
@@ -27201,23 +28149,23 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.toOb
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse}
+ * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse;
-  return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions;
+  return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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.GetProtocolVersionUpgradeVoteStatusResponse} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse}
+ * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -27225,9 +28173,9 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.dese
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.deserializeBinaryFromReader);
-      msg.setV0(value);
+      var value = new proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.deserializeBinaryFromReader);
+      msg.addVersions(value);
       break;
     default:
       reader.skipField();
@@ -27242,9 +28190,9 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.dese
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -27252,52 +28200,64 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.prot
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.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 VersionEntry versions = 1;
+ * @return {!Array}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.oneofGroups_ = [[1,2]];
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.prototype.getVersionsList = function() {
+  return /** @type{!Array} */ (
+    jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry, 1));
+};
+
 
 /**
- * @enum {number}
+ * @param {!Array} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.prototype.setVersionsList = function(value) {
+  return jspb.Message.setRepeatedWrapperField(this, 1, value);
+};
+
+
+/**
+ * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry=} opt_value
+ * @param {number=} opt_index
+ * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.ResultCase = {
-  RESULT_NOT_SET: 0,
-  VERSIONS: 1,
-  PROOF: 2
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.prototype.addVersions = function(opt_value, opt_index) {
+  return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry, opt_index);
 };
 
+
 /**
- * @return {proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.ResultCase}
+ * Clears the list making it empty but non-null.
+ * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions} returns this
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.prototype.getResultCase = function() {
-  return /** @type {proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.oneofGroups_[0]));
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.prototype.clearVersionsList = function() {
+  return this.setVersionsList([]);
 };
 
 
 
+
+
 if (jspb.Message.GENERATE_TO_OBJECT) {
 /**
  * Creates an object representation of this proto.
@@ -27311,8 +28271,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.toObject(opt_includeInstance, this);
 };
 
 
@@ -27321,15 +28281,14 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetP
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.toObject = function(includeInstance, msg) {
   var f, obj = {
-    versions: (f = msg.getVersions()) && proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.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)
+    versionNumber: jspb.Message.getFieldWithDefault(msg, 1, 0),
+    voteCount: jspb.Message.getFieldWithDefault(msg, 2, 0)
   };
 
   if (includeInstance) {
@@ -27343,23 +28302,23 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetP
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0;
-  return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry;
+  return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -27367,19 +28326,12 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetP
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.deserializeBinaryFromReader);
-      msg.setVersions(value);
+      var value = /** @type {number} */ (reader.readUint32());
+      msg.setVersionNumber(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.setVoteCount(value);
       break;
     default:
       reader.skipField();
@@ -27394,9 +28346,9 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetP
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -27404,481 +28356,163 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetP
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getVersions();
-  if (f != null) {
-    writer.writeMessage(
+  f = message.getVersionNumber();
+  if (f !== 0) {
+    writer.writeUint32(
       1,
-      f,
-      proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.serializeBinaryToWriter
+      f
     );
   }
-  f = message.getProof();
-  if (f != null) {
-    writer.writeMessage(
+  f = message.getVoteCount();
+  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
     );
   }
 };
 
 
-
 /**
- * List of repeated fields within this message type.
- * @private {!Array}
- * @const
+ * optional uint32 version_number = 1;
+ * @return {number}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.repeatedFields_ = [1];
-
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.prototype.getVersionNumber = function() {
+  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry} returns this
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.prototype.setVersionNumber = function(value) {
+  return jspb.Message.setProto3IntField(this, 1, 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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals} msg The msg instance to transform.
- * @return {!Object}
- * @suppress {unusedLocalVariables} f is only used for nested messages
+ * optional uint32 vote_count = 2;
+ * @return {number}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.toObject = function(includeInstance, msg) {
-  var f, obj = {
-    versionSignalsList: jspb.Message.toObjectList(msg.getVersionSignalsList(),
-    proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.toObject, includeInstance)
-  };
-
-  if (includeInstance) {
-    obj.$jspbMessageInstance = msg;
-  }
-  return obj;
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.prototype.getVoteCount = function() {
+  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
 };
-}
 
 
 /**
- * Deserializes binary data (in protobuf wire format).
- * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals}
+ * @param {number} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry} returns this
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.deserializeBinary = function(bytes) {
-  var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals;
-  return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.deserializeBinaryFromReader(msg, reader);
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.prototype.setVoteCount = function(value) {
+  return jspb.Message.setProto3IntField(this, 2, value);
 };
 
 
 /**
- * Deserializes binary data (in protobuf wire format) from the
- * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals} msg The message object to deserialize into.
- * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals}
+ * optional Versions versions = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.deserializeBinaryFromReader);
-      msg.addVersionSignals(value);
-      break;
-    default:
-      reader.skipField();
-      break;
-    }
-  }
-  return msg;
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.prototype.getVersions = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions, 1));
 };
 
 
 /**
- * Serializes the message to binary data (in protobuf wire format).
- * @return {!Uint8Array}
+ * @param {?proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.prototype.setVersions = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.oneofGroups_[0], value);
+};
+
+
+/**
+ * Clears the message field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.prototype.serializeBinary = function() {
-  var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.serializeBinaryToWriter(this, writer);
-  return writer.getResultBuffer();
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.prototype.clearVersions = function() {
+  return this.setVersions(undefined);
 };
 
 
 /**
- * Serializes the given message to binary data (in protobuf wire
- * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals} 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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.serializeBinaryToWriter = function(message, writer) {
-  var f = undefined;
-  f = message.getVersionSignalsList();
-  if (f.length > 0) {
-    writer.writeRepeatedMessage(
-      1,
-      f,
-      proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.serializeBinaryToWriter
-    );
-  }
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.prototype.hasVersions = function() {
+  return jspb.Message.getField(this, 1) != null;
 };
 
 
 /**
- * repeated VersionSignal version_signals = 1;
- * @return {!Array}
+ * optional Proof proof = 2;
+ * @return {?proto.org.dash.platform.dapi.v0.Proof}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.prototype.getVersionSignalsList = function() {
-  return /** @type{!Array} */ (
-    jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal, 1));
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals} returns this
+ * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0} returns this
 */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.prototype.setVersionSignalsList = function(value) {
-  return jspb.Message.setRepeatedWrapperField(this, 1, value);
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.prototype.setProof = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.oneofGroups_[0], value);
 };
 
 
 /**
- * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal=} opt_value
- * @param {number=} opt_index
- * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal}
+ * Clears the message field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.prototype.addVersionSignals = function(opt_value, opt_index) {
-  return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal, opt_index);
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.prototype.clearProof = function() {
+  return this.setProof(undefined);
 };
 
 
 /**
- * Clears the list making it empty but non-null.
- * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals} returns this
+ * Returns whether this field is set.
+ * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.prototype.clearVersionSignalsList = function() {
-  return this.setVersionSignalsList([]);
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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 (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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal} msg The msg instance to transform.
- * @return {!Object}
- * @suppress {unusedLocalVariables} f is only used for nested messages
- */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.toObject = function(includeInstance, msg) {
-  var f, obj = {
-    proTxHash: msg.getProTxHash_asB64(),
-    version: jspb.Message.getFieldWithDefault(msg, 2, 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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal}
- */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.deserializeBinary = function(bytes) {
-  var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal;
-  return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal} msg The message object to deserialize into.
- * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal}
- */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.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.setProTxHash(value);
-      break;
-    case 2:
-      var value = /** @type {number} */ (reader.readUint32());
-      msg.setVersion(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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.prototype.serializeBinary = function() {
-  var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal} message
- * @param {!jspb.BinaryWriter} writer
- * @suppress {unusedLocalVariables} f is only used for nested messages
- */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.serializeBinaryToWriter = function(message, writer) {
-  var f = undefined;
-  f = message.getProTxHash_asU8();
-  if (f.length > 0) {
-    writer.writeBytes(
-      1,
-      f
-    );
-  }
-  f = message.getVersion();
-  if (f !== 0) {
-    writer.writeUint32(
-      2,
-      f
-    );
-  }
-};
-
-
-/**
- * optional bytes pro_tx_hash = 1;
- * @return {string}
- */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.prototype.getProTxHash = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
-};
-
-
-/**
- * optional bytes pro_tx_hash = 1;
- * This is a type-conversion wrapper around `getProTxHash()`
- * @return {string}
- */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.prototype.getProTxHash_asU8 = function() {
-  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
-      this.getProTxHash()));
-};
-
-
-/**
- * @param {!(string|Uint8Array)} value
- * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal} returns this
- */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.prototype.setProTxHash = function(value) {
-  return jspb.Message.setProto3BytesField(this, 1, value);
-};
-
-
-/**
- * optional uint32 version = 2;
- * @return {number}
- */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.prototype.getVersion = function() {
-  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
-};
-
-
-/**
- * @param {number} value
- * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal} returns this
- */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.prototype.setVersion = function(value) {
-  return jspb.Message.setProto3IntField(this, 2, value);
-};
-
-
-/**
- * optional VersionSignals versions = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals}
- */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.prototype.getVersions = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals, 1));
-};
-
-
-/**
- * @param {?proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0} returns this
-*/
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.prototype.setVersions = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.oneofGroups_[0], value);
-};
-
-
-/**
- * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0} returns this
- */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.prototype.clearVersions = function() {
-  return this.setVersions(undefined);
-};
-
-
-/**
- * Returns whether this field is set.
- * @return {boolean}
- */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0} returns this
-*/
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.prototype.setProof = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.oneofGroups_[0], value);
-};
-
-
-/**
- * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0} returns this
- */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.prototype.clearProof = function() {
-  return this.setProof(undefined);
-};
-
-
-/**
- * Returns whether this field is set.
- * @return {boolean}
- */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0} returns this
-*/
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.prototype.setMetadata = function(value) {
-  return jspb.Message.setWrapperField(this, 3, value);
+ * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.prototype.clearMetadata = function() {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.prototype.clearMetadata = function() {
   return this.setMetadata(undefined);
 };
 
@@ -27887,35 +28521,35 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetP
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.prototype.hasMetadata = function() {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.prototype.hasMetadata = function() {
   return jspb.Message.getField(this, 3) != null;
 };
 
 
 /**
- * optional GetProtocolVersionUpgradeVoteStatusResponseV0 v0 = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0}
+ * optional GetProtocolVersionUpgradeStateResponseV0 v0 = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.prototype.getV0 = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0, 1));
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.prototype.getV0 = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0, 1));
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse} returns this
+ * @param {?proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse} returns this
 */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.prototype.setV0 = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.oneofGroups_[0], value);
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.prototype.setV0 = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.oneofGroups_[0], value);
 };
 
 
 /**
  * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse} returns this
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.prototype.clearV0 = function() {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.prototype.clearV0 = function() {
   return this.setV0(undefined);
 };
 
@@ -27924,7 +28558,7 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.prot
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.prototype.hasV0 = function() {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.prototype.hasV0 = function() {
   return jspb.Message.getField(this, 1) != null;
 };
 
@@ -27938,21 +28572,21 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.prot
  * @private {!Array>}
  * @const
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.oneofGroups_ = [[1]];
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.oneofGroups_ = [[1]];
 
 /**
  * @enum {number}
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.VersionCase = {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.VersionCase = {
   VERSION_NOT_SET: 0,
   V0: 1
 };
 
 /**
- * @return {proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.VersionCase}
+ * @return {proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.VersionCase}
  */
-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]));
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.prototype.getVersionCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.oneofGroups_[0]));
 };
 
 
@@ -27970,8 +28604,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.toObject(opt_includeInstance, this);
 };
 
 
@@ -27980,13 +28614,13 @@ proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.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.GetEpochsInfoRequest} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.toObject = function(includeInstance, msg) {
   var f, obj = {
-    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.toObject(includeInstance, f)
+    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.toObject(includeInstance, f)
   };
 
   if (includeInstance) {
@@ -28000,23 +28634,23 @@ proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.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.GetEpochsInfoRequest}
+ * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest}
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest;
-  return proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest;
+  return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest}
+ * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest}
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -28024,8 +28658,8 @@ proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.deserializeBinaryFromReader
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.deserializeBinaryFromReader);
+      var value = new proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.deserializeBinaryFromReader);
       msg.setV0(value);
       break;
     default:
@@ -28041,9 +28675,9 @@ proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.deserializeBinaryFromReader
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -28051,18 +28685,18 @@ proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.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.GetEpochsInfoRequest} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
   f = message.getV0();
   if (f != null) {
     writer.writeMessage(
       1,
       f,
-      proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.serializeBinaryToWriter
     );
   }
 };
@@ -28084,8 +28718,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-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);
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.toObject(opt_includeInstance, this);
 };
 
 
@@ -28094,16 +28728,15 @@ proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.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.GetEpochsInfoRequest.GetEpochsInfoRequestV0} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.toObject = function(includeInstance, msg) {
   var f, obj = {
-    startEpoch: (f = msg.getStartEpoch()) && google_protobuf_wrappers_pb.UInt32Value.toObject(includeInstance, f),
+    startProTxHash: msg.getStartProTxHash_asB64(),
     count: jspb.Message.getFieldWithDefault(msg, 2, 0),
-    ascending: jspb.Message.getBooleanFieldWithDefault(msg, 3, false),
-    prove: jspb.Message.getBooleanFieldWithDefault(msg, 4, false)
+    prove: jspb.Message.getBooleanFieldWithDefault(msg, 3, false)
   };
 
   if (includeInstance) {
@@ -28117,23 +28750,23 @@ proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.toOb
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0}
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0;
-  return proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0;
+  return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0}
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -28141,19 +28774,14 @@ proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.dese
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new google_protobuf_wrappers_pb.UInt32Value;
-      reader.readMessage(value,google_protobuf_wrappers_pb.UInt32Value.deserializeBinaryFromReader);
-      msg.setStartEpoch(value);
+      var value = /** @type {!Uint8Array} */ (reader.readBytes());
+      msg.setStartProTxHash(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;
@@ -28170,9 +28798,9 @@ proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.dese
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -28180,18 +28808,17 @@ proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.prot
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getStartEpoch();
-  if (f != null) {
-    writer.writeMessage(
+  f = message.getStartProTxHash_asU8();
+  if (f.length > 0) {
+    writer.writeBytes(
       1,
-      f,
-      google_protobuf_wrappers_pb.UInt32Value.serializeBinaryToWriter
+      f
     );
   }
   f = message.getCount();
@@ -28201,17 +28828,10 @@ proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.seri
       f
     );
   }
-  f = message.getAscending();
-  if (f) {
-    writer.writeBool(
-      3,
-      f
-    );
-  }
   f = message.getProve();
   if (f) {
     writer.writeBool(
-      4,
+      3,
       f
     );
   }
@@ -28219,39 +28839,44 @@ proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.seri
 
 
 /**
- * optional google.protobuf.UInt32Value start_epoch = 1;
- * @return {?proto.google.protobuf.UInt32Value}
+ * optional bytes start_pro_tx_hash = 1;
+ * @return {string}
  */
-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));
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.prototype.getStartProTxHash = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 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);
+ * optional bytes start_pro_tx_hash = 1;
+ * This is a type-conversion wrapper around `getStartProTxHash()`
+ * @return {string}
+ */
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.prototype.getStartProTxHash_asB64 = function() {
+  return /** @type {string} */ (jspb.Message.bytesAsB64(
+      this.getStartProTxHash()));
 };
 
 
 /**
- * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0} returns this
+ * 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 `getStartProTxHash()`
+ * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.prototype.clearStartEpoch = function() {
-  return this.setStartEpoch(undefined);
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.prototype.getStartProTxHash_asU8 = function() {
+  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
+      this.getStartProTxHash()));
 };
 
 
 /**
- * Returns whether this field is set.
- * @return {boolean}
+ * @param {!(string|Uint8Array)} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.prototype.hasStartEpoch = function() {
-  return jspb.Message.getField(this, 1) != null;
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.prototype.setStartProTxHash = function(value) {
+  return jspb.Message.setProto3BytesField(this, 1, value);
 };
 
 
@@ -28259,80 +28884,62 @@ proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.prot
  * optional uint32 count = 2;
  * @return {number}
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.prototype.getCount = function() {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.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
+ * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.prototype.setCount = function(value) {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.prototype.setCount = function(value) {
   return jspb.Message.setProto3IntField(this, 2, value);
 };
 
 
 /**
- * optional bool ascending = 3;
+ * optional bool prove = 3;
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.prototype.getAscending = function() {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.prototype.getProve = function() {
   return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 3, false));
 };
 
 
 /**
  * @param {boolean} value
- * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.prototype.setAscending = function(value) {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.prototype.setProve = function(value) {
   return jspb.Message.setProto3BooleanField(this, 3, value);
 };
 
 
 /**
- * optional bool prove = 4;
- * @return {boolean}
- */
-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.GetEpochsInfoRequest.GetEpochsInfoRequestV0} returns this
- */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.prototype.setProve = function(value) {
-  return jspb.Message.setProto3BooleanField(this, 4, value);
-};
-
-
-/**
- * optional GetEpochsInfoRequestV0 v0 = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0}
+ * optional GetProtocolVersionUpgradeVoteStatusRequestV0 v0 = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0}
  */
-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));
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.prototype.getV0 = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0, 1));
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest} returns this
+ * @param {?proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest} returns this
 */
-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);
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.prototype.setV0 = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.oneofGroups_[0], value);
 };
 
 
 /**
  * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest} returns this
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.prototype.clearV0 = function() {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.prototype.clearV0 = function() {
   return this.setV0(undefined);
 };
 
@@ -28341,7 +28948,7 @@ proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.prototype.clearV0 = functio
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.prototype.hasV0 = function() {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.prototype.hasV0 = function() {
   return jspb.Message.getField(this, 1) != null;
 };
 
@@ -28355,21 +28962,21 @@ proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.prototype.hasV0 = function(
  * @private {!Array>}
  * @const
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.oneofGroups_ = [[1]];
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.oneofGroups_ = [[1]];
 
 /**
  * @enum {number}
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.VersionCase = {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.VersionCase = {
   VERSION_NOT_SET: 0,
   V0: 1
 };
 
 /**
- * @return {proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.VersionCase}
+ * @return {proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.VersionCase}
  */
-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]));
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.prototype.getVersionCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.oneofGroups_[0]));
 };
 
 
@@ -28387,8 +28994,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.toObject(opt_includeInstance, this);
 };
 
 
@@ -28397,13 +29004,13 @@ proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.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.GetEpochsInfoResponse} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.toObject = function(includeInstance, msg) {
   var f, obj = {
-    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.toObject(includeInstance, f)
+    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.toObject(includeInstance, f)
   };
 
   if (includeInstance) {
@@ -28417,23 +29024,23 @@ proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.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.GetEpochsInfoResponse}
+ * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse}
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse;
-  return proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse;
+  return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse}
+ * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse}
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -28441,8 +29048,8 @@ proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.deserializeBinaryFromReade
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.deserializeBinaryFromReader);
+      var value = new proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.deserializeBinaryFromReader);
       msg.setV0(value);
       break;
     default:
@@ -28458,9 +29065,9 @@ proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.deserializeBinaryFromReade
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -28468,18 +29075,18 @@ proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.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.GetEpochsInfoResponse} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
   f = message.getV0();
   if (f != null) {
     writer.writeMessage(
       1,
       f,
-      proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.serializeBinaryToWriter
     );
   }
 };
@@ -28494,22 +29101,22 @@ proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.serializeBinaryToWriter =
  * @private {!Array>}
  * @const
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.oneofGroups_ = [[1,2]];
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.oneofGroups_ = [[1,2]];
 
 /**
  * @enum {number}
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.ResultCase = {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.ResultCase = {
   RESULT_NOT_SET: 0,
-  EPOCHS: 1,
+  VERSIONS: 1,
   PROOF: 2
 };
 
 /**
- * @return {proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.ResultCase}
+ * @return {proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.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]));
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.prototype.getResultCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.oneofGroups_[0]));
 };
 
 
@@ -28527,8 +29134,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-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);
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.toObject(opt_includeInstance, this);
 };
 
 
@@ -28537,13 +29144,13 @@ proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.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.GetEpochsInfoResponse.GetEpochsInfoResponseV0} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.toObject = function(includeInstance, msg) {
   var f, obj = {
-    epochs: (f = msg.getEpochs()) && proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.toObject(includeInstance, f),
+    versions: (f = msg.getVersions()) && proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.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)
   };
@@ -28559,23 +29166,23 @@ proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.to
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0}
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0;
-  return proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0;
+  return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * 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} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0}
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -28583,9 +29190,9 @@ proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.de
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      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);
+      var value = new proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.deserializeBinaryFromReader);
+      msg.setVersions(value);
       break;
     case 2:
       var value = new proto.org.dash.platform.dapi.v0.Proof;
@@ -28610,9 +29217,9 @@ proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.de
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -28620,18 +29227,18 @@ proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.pr
 /**
  * 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} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getEpochs();
+  f = message.getVersions();
   if (f != null) {
     writer.writeMessage(
       1,
       f,
-      proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.serializeBinaryToWriter
     );
   }
   f = message.getProof();
@@ -28659,7 +29266,7 @@ proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.se
  * @private {!Array}
  * @const
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.repeatedFields_ = [1];
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.repeatedFields_ = [1];
 
 
 
@@ -28676,8 +29283,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     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);
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.toObject(opt_includeInstance, this);
 };
 
 
@@ -28686,14 +29293,14 @@ proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.Ep
  * @param {boolean|undefined} includeInstance 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.
+ * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.toObject = function(includeInstance, msg) {
   var f, obj = {
-    epochInfosList: jspb.Message.toObjectList(msg.getEpochInfosList(),
-    proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.toObject, includeInstance)
+    versionSignalsList: jspb.Message.toObjectList(msg.getVersionSignalsList(),
+    proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.toObject, includeInstance)
   };
 
   if (includeInstance) {
@@ -28707,23 +29314,23 @@ proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.Ep
 /**
  * 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}
+ * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals}
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.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);
+  var msg = new proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals;
+  return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.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.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals} 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}
+ * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals}
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -28731,9 +29338,9 @@ proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.Ep
     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);
+      var value = new proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.deserializeBinaryFromReader);
+      msg.addVersionSignals(value);
       break;
     default:
       reader.skipField();
@@ -28748,9 +29355,9 @@ proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.Ep
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -28758,58 +29365,58 @@ proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.Ep
 /**
  * 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 {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getEpochInfosList();
+  f = message.getVersionSignalsList();
   if (f.length > 0) {
     writer.writeRepeatedMessage(
       1,
       f,
-      proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.serializeBinaryToWriter
     );
   }
 };
 
 
 /**
- * repeated EpochInfo epoch_infos = 1;
- * @return {!Array}
+ * repeated VersionSignal version_signals = 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));
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.prototype.getVersionSignalsList = function() {
+  return /** @type{!Array} */ (
+    jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal, 1));
 };
 
 
 /**
- * @param {!Array} value
- * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos} returns this
+ * @param {!Array} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals} returns this
 */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.prototype.setEpochInfosList = function(value) {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.prototype.setVersionSignalsList = function(value) {
   return jspb.Message.setRepeatedWrapperField(this, 1, value);
 };
 
 
 /**
- * @param {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo=} opt_value
+ * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal=} opt_value
  * @param {number=} opt_index
- * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo}
+ * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal}
  */
-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);
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.prototype.addVersionSignals = function(opt_value, opt_index) {
+  return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal, opt_index);
 };
 
 
 /**
  * Clears the list making it empty but non-null.
- * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals} returns this
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.prototype.clearEpochInfosList = function() {
-  return this.setEpochInfosList([]);
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.prototype.clearVersionSignalsList = function() {
+  return this.setVersionSignalsList([]);
 };
 
 
@@ -28829,8 +29436,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-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);
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.toObject(opt_includeInstance, this);
 };
 
 
@@ -28839,18 +29446,14 @@ proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.Ep
  * @param {boolean|undefined} includeInstance 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.EpochInfo} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.toObject = function(includeInstance, msg) {
   var f, obj = {
-    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),
-    protocolVersion: jspb.Message.getFieldWithDefault(msg, 6, 0)
+    proTxHash: msg.getProTxHash_asB64(),
+    version: jspb.Message.getFieldWithDefault(msg, 2, 0)
   };
 
   if (includeInstance) {
@@ -28864,23 +29467,23 @@ proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.Ep
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo}
+ * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal}
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  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);
+  var msg = new proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal;
+  return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.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.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo}
+ * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal}
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -28888,28 +29491,12 @@ proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.Ep
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = /** @type {number} */ (reader.readUint32());
-      msg.setNumber(value);
+      var value = /** @type {!Uint8Array} */ (reader.readBytes());
+      msg.setProTxHash(value);
       break;
     case 2:
-      var value = /** @type {string} */ (reader.readUint64String());
-      msg.setFirstBlockHeight(value);
-      break;
-    case 3:
-      var value = /** @type {number} */ (reader.readUint32());
-      msg.setFirstCoreBlockHeight(value);
-      break;
-    case 4:
-      var value = /** @type {string} */ (reader.readUint64String());
-      msg.setStartTime(value);
-      break;
-    case 5:
-      var value = /** @type {number} */ (reader.readDouble());
-      msg.setFeeMultiplier(value);
-      break;
-    case 6:
       var value = /** @type {number} */ (reader.readUint32());
-      msg.setProtocolVersion(value);
+      msg.setVersion(value);
       break;
     default:
       reader.skipField();
@@ -28924,9 +29511,9 @@ proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.Ep
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -28934,51 +29521,23 @@ proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.Ep
 /**
  * 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.EpochInfo} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getNumber();
-  if (f !== 0) {
-    writer.writeUint32(
+  f = message.getProTxHash_asU8();
+  if (f.length > 0) {
+    writer.writeBytes(
       1,
       f
     );
   }
-  f = message.getFirstBlockHeight();
-  if (parseInt(f, 10) !== 0) {
-    writer.writeUint64String(
-      2,
-      f
-    );
-  }
-  f = message.getFirstCoreBlockHeight();
-  if (f !== 0) {
-    writer.writeUint32(
-      3,
-      f
-    );
-  }
-  f = message.getStartTime();
-  if (parseInt(f, 10) !== 0) {
-    writer.writeUint64String(
-      4,
-      f
-    );
-  }
-  f = message.getFeeMultiplier();
-  if (f !== 0.0) {
-    writer.writeDouble(
-      5,
-      f
-    );
-  }
-  f = message.getProtocolVersion();
+  f = message.getVersion();
   if (f !== 0) {
     writer.writeUint32(
-      6,
+      2,
       f
     );
   }
@@ -28986,138 +29545,90 @@ proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.Ep
 
 
 /**
- * optional uint32 number = 1;
- * @return {number}
- */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.prototype.getNumber = function() {
-  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
-};
-
-
-/**
- * @param {number} value
- * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo} returns this
- */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.prototype.setNumber = function(value) {
-  return jspb.Message.setProto3IntField(this, 1, value);
-};
-
-
-/**
- * optional uint64 first_block_height = 2;
+ * optional bytes pro_tx_hash = 1;
  * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.prototype.getFirstBlockHeight = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "0"));
-};
-
-
-/**
- * @param {string} value
- * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo} returns this
- */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.prototype.setFirstBlockHeight = function(value) {
-  return jspb.Message.setProto3StringIntField(this, 2, value);
-};
-
-
-/**
- * optional uint32 first_core_block_height = 3;
- * @return {number}
- */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.prototype.getFirstCoreBlockHeight = function() {
-  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));
-};
-
-
-/**
- * @param {number} value
- * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo} returns this
- */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.prototype.setFirstCoreBlockHeight = function(value) {
-  return jspb.Message.setProto3IntField(this, 3, value);
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.prototype.getProTxHash = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
 };
 
 
 /**
- * optional uint64 start_time = 4;
+ * optional bytes pro_tx_hash = 1;
+ * This is a type-conversion wrapper around `getProTxHash()`
  * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.prototype.getStartTime = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, "0"));
-};
-
-
-/**
- * @param {string} value
- * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo} returns this
- */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.prototype.setStartTime = function(value) {
-  return jspb.Message.setProto3StringIntField(this, 4, value);
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.prototype.getProTxHash_asB64 = function() {
+  return /** @type {string} */ (jspb.Message.bytesAsB64(
+      this.getProTxHash()));
 };
 
 
 /**
- * optional double fee_multiplier = 5;
- * @return {number}
+ * 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.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.prototype.getFeeMultiplier = function() {
-  return /** @type {number} */ (jspb.Message.getFloatingPointFieldWithDefault(this, 5, 0.0));
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.prototype.getProTxHash_asU8 = function() {
+  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
+      this.getProTxHash()));
 };
 
 
 /**
- * @param {number} value
- * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo} returns this
+ * @param {!(string|Uint8Array)} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal} returns this
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.prototype.setFeeMultiplier = function(value) {
-  return jspb.Message.setProto3FloatField(this, 5, value);
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.prototype.setProTxHash = function(value) {
+  return jspb.Message.setProto3BytesField(this, 1, value);
 };
 
 
 /**
- * optional uint32 protocol_version = 6;
+ * optional uint32 version = 2;
  * @return {number}
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.prototype.getProtocolVersion = function() {
-  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 6, 0));
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.prototype.getVersion = function() {
+  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
 };
 
 
 /**
  * @param {number} value
- * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal} returns this
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.prototype.setProtocolVersion = function(value) {
-  return jspb.Message.setProto3IntField(this, 6, value);
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.prototype.setVersion = function(value) {
+  return jspb.Message.setProto3IntField(this, 2, value);
 };
 
 
 /**
- * optional EpochInfos epochs = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos}
+ * optional VersionSignals versions = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals}
  */
-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));
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.prototype.getVersions = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals, 1));
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0} returns this
+ * @param {?proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0} 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);
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.prototype.setVersions = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.oneofGroups_[0], value);
 };
 
 
 /**
  * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.prototype.clearEpochs = function() {
-  return this.setEpochs(undefined);
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.prototype.clearVersions = function() {
+  return this.setVersions(undefined);
 };
 
 
@@ -29125,7 +29636,7 @@ proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.pr
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.prototype.hasEpochs = function() {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.prototype.hasVersions = function() {
   return jspb.Message.getField(this, 1) != null;
 };
 
@@ -29134,7 +29645,7 @@ proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.pr
  * optional Proof proof = 2;
  * @return {?proto.org.dash.platform.dapi.v0.Proof}
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.prototype.getProof = function() {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.prototype.getProof = function() {
   return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ (
     jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2));
 };
@@ -29142,18 +29653,18 @@ proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.pr
 
 /**
  * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0} returns this
 */
-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);
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.prototype.setProof = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.oneofGroups_[0], value);
 };
 
 
 /**
  * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.prototype.clearProof = function() {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.prototype.clearProof = function() {
   return this.setProof(undefined);
 };
 
@@ -29162,7 +29673,7 @@ proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.pr
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.prototype.hasProof = function() {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.prototype.hasProof = function() {
   return jspb.Message.getField(this, 2) != null;
 };
 
@@ -29171,7 +29682,7 @@ proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.pr
  * optional ResponseMetadata metadata = 3;
  * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata}
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.prototype.getMetadata = function() {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.prototype.getMetadata = function() {
   return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ (
     jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3));
 };
@@ -29179,18 +29690,18 @@ proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.pr
 
 /**
  * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0} returns this
 */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.prototype.setMetadata = function(value) {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.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.GetEpochsInfoResponse.GetEpochsInfoResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.prototype.clearMetadata = function() {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.prototype.clearMetadata = function() {
   return this.setMetadata(undefined);
 };
 
@@ -29199,35 +29710,35 @@ proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.pr
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.prototype.hasMetadata = function() {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.prototype.hasMetadata = function() {
   return jspb.Message.getField(this, 3) != null;
 };
 
 
 /**
- * optional GetEpochsInfoResponseV0 v0 = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0}
+ * optional GetProtocolVersionUpgradeVoteStatusResponseV0 v0 = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0}
  */
-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));
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.prototype.getV0 = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0, 1));
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse} returns this
+ * @param {?proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse} returns this
 */
-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);
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.prototype.setV0 = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.oneofGroups_[0], value);
 };
 
 
 /**
  * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse} returns this
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.prototype.clearV0 = function() {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.prototype.clearV0 = function() {
   return this.setV0(undefined);
 };
 
@@ -29236,7 +29747,7 @@ proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.prototype.clearV0 = functi
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.prototype.hasV0 = function() {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.prototype.hasV0 = function() {
   return jspb.Message.getField(this, 1) != null;
 };
 
@@ -29250,21 +29761,21 @@ proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.prototype.hasV0 = function
  * @private {!Array>}
  * @const
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.oneofGroups_ = [[1]];
+proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.oneofGroups_ = [[1]];
 
 /**
  * @enum {number}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.VersionCase = {
+proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.VersionCase = {
   VERSION_NOT_SET: 0,
   V0: 1
 };
 
 /**
- * @return {proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.VersionCase}
+ * @return {proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.VersionCase}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.prototype.getVersionCase = function() {
-  return /** @type {proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.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]));
 };
 
 
@@ -29282,8 +29793,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.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);
 };
 
 
@@ -29292,13 +29803,13 @@ proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.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.GetContestedResourcesRequest} 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.GetContestedResourcesRequest.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.GetContestedResourcesRequest.GetContestedResourcesRequestV0.toObject(includeInstance, f)
+    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.toObject(includeInstance, f)
   };
 
   if (includeInstance) {
@@ -29312,23 +29823,23 @@ proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.toObject = function
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest}
+ * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.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.GetContestedResourcesRequest;
-  return proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.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.GetContestedResourcesRequest} 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.GetContestedResourcesRequest}
+ * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -29336,8 +29847,8 @@ proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.deserializeBinaryFr
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.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:
@@ -29353,9 +29864,9 @@ proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.deserializeBinaryFr
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -29363,31 +29874,24 @@ proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.prototype.serialize
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest} 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.GetContestedResourcesRequest.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.GetContestedResourcesRequest.GetContestedResourcesRequestV0.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.serializeBinaryToWriter
     );
   }
 };
 
 
 
-/**
- * List of repeated fields within this message type.
- * @private {!Array}
- * @const
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.repeatedFields_ = [4,5];
-
 
 
 if (jspb.Message.GENERATE_TO_OBJECT) {
@@ -29403,8 +29907,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.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);
 };
 
 
@@ -29413,21 +29917,16 @@ proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourc
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0} 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.GetContestedResourcesRequest.GetContestedResourcesRequestV0.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.toObject = function(includeInstance, msg) {
   var f, obj = {
-    contractId: msg.getContractId_asB64(),
-    documentTypeName: jspb.Message.getFieldWithDefault(msg, 2, ""),
-    indexName: jspb.Message.getFieldWithDefault(msg, 3, ""),
-    startIndexValuesList: msg.getStartIndexValuesList_asB64(),
-    endIndexValuesList: msg.getEndIndexValuesList_asB64(),
-    startAtValueInfo: (f = msg.getStartAtValueInfo()) && proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.toObject(includeInstance, f),
-    count: jspb.Message.getFieldWithDefault(msg, 7, 0),
-    orderAscending: jspb.Message.getBooleanFieldWithDefault(msg, 8, false),
-    prove: jspb.Message.getBooleanFieldWithDefault(msg, 9, 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) {
@@ -29441,23 +29940,23 @@ proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourc
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.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.GetContestedResourcesRequest.GetContestedResourcesRequestV0;
-  return proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.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.GetContestedResourcesRequest.GetContestedResourcesRequestV0} 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.GetContestedResourcesRequest.GetContestedResourcesRequestV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -29465,39 +29964,19 @@ proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourc
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = /** @type {!Uint8Array} */ (reader.readBytes());
-      msg.setContractId(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 {string} */ (reader.readString());
-      msg.setDocumentTypeName(value);
-      break;
-    case 3:
-      var value = /** @type {string} */ (reader.readString());
-      msg.setIndexName(value);
-      break;
-    case 4:
-      var value = /** @type {!Uint8Array} */ (reader.readBytes());
-      msg.addStartIndexValues(value);
-      break;
-    case 5:
-      var value = /** @type {!Uint8Array} */ (reader.readBytes());
-      msg.addEndIndexValues(value);
-      break;
-    case 6:
-      var value = new proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.deserializeBinaryFromReader);
-      msg.setStartAtValueInfo(value);
-      break;
-    case 7:
       var value = /** @type {number} */ (reader.readUint32());
       msg.setCount(value);
       break;
-    case 8:
+    case 3:
       var value = /** @type {boolean} */ (reader.readBool());
-      msg.setOrderAscending(value);
+      msg.setAscending(value);
       break;
-    case 9:
+    case 4:
       var value = /** @type {boolean} */ (reader.readBool());
       msg.setProve(value);
       break;
@@ -29514,9 +29993,9 @@ proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourc
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.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.GetContestedResourcesRequest.GetContestedResourcesRequestV0.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -29524,79 +30003,197 @@ proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourc
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0} 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.GetContestedResourcesRequest.GetContestedResourcesRequestV0.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getContractId_asU8();
-  if (f.length > 0) {
-    writer.writeBytes(
-      1,
-      f
-    );
-  }
-  f = message.getDocumentTypeName();
-  if (f.length > 0) {
-    writer.writeString(
-      2,
-      f
-    );
-  }
-  f = message.getIndexName();
-  if (f.length > 0) {
-    writer.writeString(
-      3,
-      f
-    );
-  }
-  f = message.getStartIndexValuesList_asU8();
-  if (f.length > 0) {
-    writer.writeRepeatedBytes(
-      4,
-      f
-    );
-  }
-  f = message.getEndIndexValuesList_asU8();
-  if (f.length > 0) {
-    writer.writeRepeatedBytes(
-      5,
-      f
-    );
-  }
-  f = message.getStartAtValueInfo();
+  f = message.getStartEpoch();
   if (f != null) {
     writer.writeMessage(
-      6,
+      1,
       f,
-      proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.serializeBinaryToWriter
+      google_protobuf_wrappers_pb.UInt32Value.serializeBinaryToWriter
     );
   }
-  f = /** @type {number} */ (jspb.Message.getField(message, 7));
-  if (f != null) {
+  f = message.getCount();
+  if (f !== 0) {
     writer.writeUint32(
-      7,
+      2,
       f
     );
   }
-  f = message.getOrderAscending();
+  f = message.getAscending();
   if (f) {
     writer.writeBool(
-      8,
+      3,
       f
     );
   }
   f = message.getProve();
   if (f) {
     writer.writeBool(
-      9,
+      4,
       f
     );
   }
 };
 
 
+/**
+ * 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.GetEpochsInfoRequest.GetEpochsInfoRequestV0.prototype.getAscending = function() {
+  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 3, false));
+};
+
+
+/**
+ * @param {boolean} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.prototype.setAscending = function(value) {
+  return jspb.Message.setProto3BooleanField(this, 3, value);
+};
+
+
+/**
+ * optional bool prove = 4;
+ * @return {boolean}
+ */
+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.GetEpochsInfoRequest.GetEpochsInfoRequestV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.prototype.setProve = function(value) {
+  return jspb.Message.setProto3BooleanField(this, 4, value);
+};
+
+
+/**
+ * optional GetEpochsInfoRequestV0 v0 = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0}
+ */
+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.GetEpochsInfoRequest.GetEpochsInfoRequestV0|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest} returns this
+*/
+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.GetEpochsInfoRequest} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.prototype.clearV0 = function() {
+  return this.setV0(undefined);
+};
+
+
+/**
+ * Returns whether this field is set.
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.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.GetEpochsInfoResponse.oneofGroups_ = [[1]];
+
+/**
+ * @enum {number}
+ */
+proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.VersionCase = {
+  VERSION_NOT_SET: 0,
+  V0: 1
+};
+
+/**
+ * @return {proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.VersionCase}
+ */
+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]));
+};
 
 
 
@@ -29613,8 +30210,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.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);
 };
 
 
@@ -29623,14 +30220,13 @@ proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourc
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo} 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.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.toObject = function(includeInstance, msg) {
   var f, obj = {
-    startValue: msg.getStartValue_asB64(),
-    startValueIncluded: jspb.Message.getBooleanFieldWithDefault(msg, 2, false)
+    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.toObject(includeInstance, f)
   };
 
   if (includeInstance) {
@@ -29644,23 +30240,23 @@ proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourc
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo}
+ * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.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.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo;
-  return proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.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.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo} 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.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo}
+ * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -29668,12 +30264,9 @@ proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourc
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = /** @type {!Uint8Array} */ (reader.readBytes());
-      msg.setStartValue(value);
-      break;
-    case 2:
-      var value = /** @type {boolean} */ (reader.readBool());
-      msg.setStartValueIncluded(value);
+      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:
       reader.skipField();
@@ -29688,9 +30281,9 @@ proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourc
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -29698,464 +30291,202 @@ proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourc
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo} 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.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getStartValue_asU8();
-  if (f.length > 0) {
-    writer.writeBytes(
+  f = message.getV0();
+  if (f != null) {
+    writer.writeMessage(
       1,
-      f
-    );
-  }
-  f = message.getStartValueIncluded();
-  if (f) {
-    writer.writeBool(
-      2,
-      f
+      f,
+      proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.serializeBinaryToWriter
     );
   }
 };
 
 
-/**
- * optional bytes start_value = 1;
- * @return {string}
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.prototype.getStartValue = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
-};
-
 
 /**
- * optional bytes start_value = 1;
- * This is a type-conversion wrapper around `getStartValue()`
- * @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.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.prototype.getStartValue_asB64 = function() {
-  return /** @type {string} */ (jspb.Message.bytesAsB64(
-      this.getStartValue()));
-};
-
+proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.oneofGroups_ = [[1,2]];
 
 /**
- * optional bytes start_value = 1;
- * Note that Uint8Array is not supported on all browsers.
- * @see http://caniuse.com/Uint8Array
- * This is a type-conversion wrapper around `getStartValue()`
- * @return {!Uint8Array}
+ * @enum {number}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.prototype.getStartValue_asU8 = function() {
-  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
-      this.getStartValue()));
+proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.ResultCase = {
+  RESULT_NOT_SET: 0,
+  EPOCHS: 1,
+  PROOF: 2
 };
 
-
 /**
- * @param {!(string|Uint8Array)} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo} returns this
+ * @return {proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.ResultCase}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.prototype.setStartValue = function(value) {
-  return jspb.Message.setProto3BytesField(this, 1, value);
+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) {
 /**
- * optional bool start_value_included = 2;
- * @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.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.prototype.getStartValueIncluded = function() {
-  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));
+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);
 };
 
 
 /**
- * @param {boolean} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo} 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} msg The msg instance to transform.
+ * @return {!Object}
+ * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.prototype.setStartValueIncluded = function(value) {
-  return jspb.Message.setProto3BooleanField(this, 2, value);
+proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.toObject = function(includeInstance, msg) {
+  var f, obj = {
+    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) {
+    obj.$jspbMessageInstance = msg;
+  }
+  return obj;
 };
+}
 
 
 /**
- * optional bytes contract_id = 1;
- * @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}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.getContractId = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
+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.GetEpochsInfoResponse.GetEpochsInfoResponseV0;
+  return proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
- * optional bytes contract_id = 1;
- * This is a type-conversion wrapper around `getContractId()`
- * @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.GetEpochsInfoResponse.GetEpochsInfoResponseV0} msg The message object to deserialize into.
+ * @param {!jspb.BinaryReader} reader The BinaryReader to use.
+ * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.getContractId_asB64 = function() {
-  return /** @type {string} */ (jspb.Message.bytesAsB64(
-      this.getContractId()));
+proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.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.EpochInfos;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.deserializeBinaryFromReader);
+      msg.setEpochs(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 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()`
+ * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.getContractId_asU8 = function() {
-  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
-      this.getContractId()));
+proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.prototype.serializeBinary = function() {
+  var writer = new jspb.BinaryWriter();
+  proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.serializeBinaryToWriter(this, writer);
+  return writer.getResultBuffer();
 };
 
 
 /**
- * @param {!(string|Uint8Array)} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0} 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} message
+ * @param {!jspb.BinaryWriter} writer
+ * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.setContractId = function(value) {
-  return jspb.Message.setProto3BytesField(this, 1, value);
+proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.serializeBinaryToWriter = function(message, writer) {
+  var f = undefined;
+  f = message.getEpochs();
+  if (f != null) {
+    writer.writeMessage(
+      1,
+      f,
+      proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.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 string document_type_name = 2;
- * @return {string}
+ * List of repeated fields within this message type.
+ * @private {!Array}
+ * @const
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.getDocumentTypeName = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
-};
+proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.repeatedFields_ = [1];
+
 
 
-/**
- * @param {string} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0} returns this
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.setDocumentTypeName = function(value) {
-  return jspb.Message.setProto3StringField(this, 2, value);
-};
-
-
-/**
- * optional string index_name = 3;
- * @return {string}
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.getIndexName = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, ""));
-};
-
-
-/**
- * @param {string} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0} returns this
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.setIndexName = function(value) {
-  return jspb.Message.setProto3StringField(this, 3, value);
-};
-
-
-/**
- * repeated bytes start_index_values = 4;
- * @return {!Array}
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.getStartIndexValuesList = function() {
-  return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 4));
-};
-
-
-/**
- * repeated bytes start_index_values = 4;
- * This is a type-conversion wrapper around `getStartIndexValuesList()`
- * @return {!Array}
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.getStartIndexValuesList_asB64 = function() {
-  return /** @type {!Array} */ (jspb.Message.bytesListAsB64(
-      this.getStartIndexValuesList()));
-};
-
-
-/**
- * repeated bytes start_index_values = 4;
- * Note that Uint8Array is not supported on all browsers.
- * @see http://caniuse.com/Uint8Array
- * This is a type-conversion wrapper around `getStartIndexValuesList()`
- * @return {!Array}
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.getStartIndexValuesList_asU8 = function() {
-  return /** @type {!Array} */ (jspb.Message.bytesListAsU8(
-      this.getStartIndexValuesList()));
-};
-
-
-/**
- * @param {!(Array|Array)} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0} returns this
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.setStartIndexValuesList = function(value) {
-  return jspb.Message.setField(this, 4, value || []);
-};
-
-
-/**
- * @param {!(string|Uint8Array)} value
- * @param {number=} opt_index
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0} returns this
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.addStartIndexValues = function(value, opt_index) {
-  return jspb.Message.addToRepeatedField(this, 4, value, opt_index);
-};
-
-
-/**
- * Clears the list making it empty but non-null.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0} returns this
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.clearStartIndexValuesList = function() {
-  return this.setStartIndexValuesList([]);
-};
-
-
-/**
- * repeated bytes end_index_values = 5;
- * @return {!Array}
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.getEndIndexValuesList = function() {
-  return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 5));
-};
-
-
-/**
- * repeated bytes end_index_values = 5;
- * This is a type-conversion wrapper around `getEndIndexValuesList()`
- * @return {!Array}
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.getEndIndexValuesList_asB64 = function() {
-  return /** @type {!Array} */ (jspb.Message.bytesListAsB64(
-      this.getEndIndexValuesList()));
-};
-
-
-/**
- * repeated bytes end_index_values = 5;
- * Note that Uint8Array is not supported on all browsers.
- * @see http://caniuse.com/Uint8Array
- * This is a type-conversion wrapper around `getEndIndexValuesList()`
- * @return {!Array}
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.getEndIndexValuesList_asU8 = function() {
-  return /** @type {!Array} */ (jspb.Message.bytesListAsU8(
-      this.getEndIndexValuesList()));
-};
-
-
-/**
- * @param {!(Array|Array)} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0} returns this
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.setEndIndexValuesList = function(value) {
-  return jspb.Message.setField(this, 5, value || []);
-};
-
-
-/**
- * @param {!(string|Uint8Array)} value
- * @param {number=} opt_index
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0} returns this
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.addEndIndexValues = function(value, opt_index) {
-  return jspb.Message.addToRepeatedField(this, 5, value, opt_index);
-};
-
-
-/**
- * Clears the list making it empty but non-null.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0} returns this
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.clearEndIndexValuesList = function() {
-  return this.setEndIndexValuesList([]);
-};
-
-
-/**
- * optional StartAtValueInfo start_at_value_info = 6;
- * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo}
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.getStartAtValueInfo = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo, 6));
-};
-
-
-/**
- * @param {?proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0} returns this
-*/
-proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.setStartAtValueInfo = function(value) {
-  return jspb.Message.setWrapperField(this, 6, value);
-};
-
-
-/**
- * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0} returns this
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.clearStartAtValueInfo = function() {
-  return this.setStartAtValueInfo(undefined);
-};
-
-
-/**
- * Returns whether this field is set.
- * @return {boolean}
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.hasStartAtValueInfo = function() {
-  return jspb.Message.getField(this, 6) != null;
-};
-
-
-/**
- * optional uint32 count = 7;
- * @return {number}
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.getCount = function() {
-  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 7, 0));
-};
-
-
-/**
- * @param {number} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0} returns this
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.setCount = function(value) {
-  return jspb.Message.setField(this, 7, value);
-};
-
-
-/**
- * Clears the field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0} returns this
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.clearCount = function() {
-  return jspb.Message.setField(this, 7, undefined);
-};
-
-
-/**
- * Returns whether this field is set.
- * @return {boolean}
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.hasCount = function() {
-  return jspb.Message.getField(this, 7) != null;
-};
-
-
-/**
- * optional bool order_ascending = 8;
- * @return {boolean}
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.getOrderAscending = function() {
-  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 8, false));
-};
-
-
-/**
- * @param {boolean} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0} returns this
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.setOrderAscending = function(value) {
-  return jspb.Message.setProto3BooleanField(this, 8, value);
-};
-
-
-/**
- * optional bool prove = 9;
- * @return {boolean}
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.getProve = function() {
-  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 9, false));
-};
-
-
-/**
- * @param {boolean} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0} returns this
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.setProve = function(value) {
-  return jspb.Message.setProto3BooleanField(this, 9, value);
-};
-
-
-/**
- * optional GetContestedResourcesRequestV0 v0 = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0}
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.prototype.getV0 = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0, 1));
-};
-
-
-/**
- * @param {?proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest} returns this
-*/
-proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.prototype.setV0 = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.oneofGroups_[0], value);
-};
-
-
-/**
- * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest} returns this
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.prototype.clearV0 = function() {
-  return this.setV0(undefined);
-};
-
-
-/**
- * Returns whether this field is set.
- * @return {boolean}
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.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.GetContestedResourcesResponse.oneofGroups_ = [[1]];
-
-/**
- * @enum {number}
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.VersionCase = {
-  VERSION_NOT_SET: 0,
-  V0: 1
-};
-
-/**
- * @return {proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.VersionCase}
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.prototype.getVersionCase = function() {
-  return /** @type {proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.oneofGroups_[0]));
-};
-
-
-
-if (jspb.Message.GENERATE_TO_OBJECT) {
+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.
@@ -30168,8 +30499,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.toObject(opt_includeInstance, this);
+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);
 };
 
 
@@ -30178,13 +30509,14 @@ proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.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.GetContestedResourcesResponse} msg The msg instance to transform.
+ * @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.GetContestedResourcesResponse.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.toObject = function(includeInstance, msg) {
   var f, obj = {
-    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.toObject(includeInstance, f)
+    epochInfosList: jspb.Message.toObjectList(msg.getEpochInfosList(),
+    proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.toObject, includeInstance)
   };
 
   if (includeInstance) {
@@ -30198,23 +30530,23 @@ proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.toObject = functio
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse}
+ * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.deserializeBinary = function(bytes) {
+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.GetContestedResourcesResponse;
-  return proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.deserializeBinaryFromReader(msg, reader);
+  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);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse} msg The message object to deserialize into.
+ * @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.GetContestedResourcesResponse}
+ * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -30222,9 +30554,9 @@ proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.deserializeBinaryF
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.deserializeBinaryFromReader);
-      msg.setV0(value);
+      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();
@@ -30239,9 +30571,9 @@ proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.deserializeBinaryF
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -30249,52 +30581,64 @@ proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.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.GetContestedResourcesResponse} message
+ * @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.GetContestedResourcesResponse.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getV0();
-  if (f != null) {
-    writer.writeMessage(
+  f = message.getEpochInfosList();
+  if (f.length > 0) {
+    writer.writeRepeatedMessage(
       1,
       f,
-      proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.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 EpochInfo epoch_infos = 1;
+ * @return {!Array}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.oneofGroups_ = [[1,2]];
+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));
+};
+
 
 /**
- * @enum {number}
+ * @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.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ResultCase = {
-  RESULT_NOT_SET: 0,
-  CONTESTED_RESOURCE_VALUES: 1,
-  PROOF: 2
+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);
 };
 
+
 /**
- * @return {proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ResultCase}
+ * 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.GetContestedResourcesResponse.GetContestedResourcesResponseV0.prototype.getResultCase = function() {
-  return /** @type {proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.oneofGroups_[0]));
+proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.prototype.clearEpochInfosList = function() {
+  return this.setEpochInfosList([]);
 };
 
 
 
+
+
 if (jspb.Message.GENERATE_TO_OBJECT) {
 /**
  * Creates an object representation of this proto.
@@ -30308,8 +30652,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.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);
 };
 
 
@@ -30318,15 +30662,18 @@ proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResour
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0} 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.GetContestedResourcesResponse.GetContestedResourcesResponseV0.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.toObject = function(includeInstance, msg) {
   var f, obj = {
-    contestedResourceValues: (f = msg.getContestedResourceValues()) && proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.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)
+    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),
+    protocolVersion: jspb.Message.getFieldWithDefault(msg, 6, 0)
   };
 
   if (includeInstance) {
@@ -30340,23 +30687,23 @@ proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResour
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.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.GetContestedResourcesResponse.GetContestedResourcesResponseV0;
-  return proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.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.GetContestedResourcesResponse.GetContestedResourcesResponseV0} 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.GetContestedResourcesResponse.GetContestedResourcesResponseV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -30364,19 +30711,28 @@ proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResour
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.deserializeBinaryFromReader);
-      msg.setContestedResourceValues(value);
+      var value = /** @type {number} */ (reader.readUint32());
+      msg.setNumber(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.readUint64String());
+      msg.setFirstBlockHeight(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.setFirstCoreBlockHeight(value);
+      break;
+    case 4:
+      var value = /** @type {string} */ (reader.readUint64String());
+      msg.setStartTime(value);
+      break;
+    case 5:
+      var value = /** @type {number} */ (reader.readDouble());
+      msg.setFeeMultiplier(value);
+      break;
+    case 6:
+      var value = /** @type {number} */ (reader.readUint32());
+      msg.setProtocolVersion(value);
       break;
     default:
       reader.skipField();
@@ -30391,9 +30747,9 @@ proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResour
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.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.GetContestedResourcesResponse.GetContestedResourcesResponseV0.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -30401,244 +30757,190 @@ proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResour
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0} 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.GetContestedResourcesResponse.GetContestedResourcesResponseV0.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getContestedResourceValues();
-  if (f != null) {
-    writer.writeMessage(
+  f = message.getNumber();
+  if (f !== 0) {
+    writer.writeUint32(
       1,
-      f,
-      proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.serializeBinaryToWriter
+      f
     );
   }
-  f = message.getProof();
-  if (f != null) {
-    writer.writeMessage(
+  f = message.getFirstBlockHeight();
+  if (parseInt(f, 10) !== 0) {
+    writer.writeUint64String(
       2,
-      f,
-      proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter
+      f
     );
   }
-  f = message.getMetadata();
-  if (f != null) {
-    writer.writeMessage(
+  f = message.getFirstCoreBlockHeight();
+  if (f !== 0) {
+    writer.writeUint32(
       3,
-      f,
-      proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter
+      f
     );
   }
-};
-
-
-
-/**
- * List of repeated fields within this message type.
- * @private {!Array}
- * @const
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.repeatedFields_ = [1];
-
+  f = message.getStartTime();
+  if (parseInt(f, 10) !== 0) {
+    writer.writeUint64String(
+      4,
+      f
+    );
+  }
+  f = message.getFeeMultiplier();
+  if (f !== 0.0) {
+    writer.writeDouble(
+      5,
+      f
+    );
+  }
+  f = message.getProtocolVersion();
+  if (f !== 0) {
+    writer.writeUint32(
+      6,
+      f
+    );
+  }
+};
 
 
-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 uint32 number = 1;
+ * @return {number}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.prototype.getNumber = function() {
+  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
 };
 
 
 /**
- * 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.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues} msg The msg instance to transform.
- * @return {!Object}
- * @suppress {unusedLocalVariables} f is only used for nested messages
+ * @param {number} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.toObject = function(includeInstance, msg) {
-  var f, obj = {
-    contestedResourceValuesList: msg.getContestedResourceValuesList_asB64()
-  };
-
-  if (includeInstance) {
-    obj.$jspbMessageInstance = msg;
-  }
-  return obj;
+proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.prototype.setNumber = function(value) {
+  return jspb.Message.setProto3IntField(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.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues}
+ * optional uint64 first_block_height = 2;
+ * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.deserializeBinary = function(bytes) {
-  var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues;
-  return proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.deserializeBinaryFromReader(msg, reader);
+proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.prototype.getFirstBlockHeight = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "0"));
 };
 
 
 /**
- * Deserializes binary data (in protobuf wire format) from the
- * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues} msg The message object to deserialize into.
- * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues}
+ * @param {string} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.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.addContestedResourceValues(value);
-      break;
-    default:
-      reader.skipField();
-      break;
-    }
-  }
-  return msg;
+proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.prototype.setFirstBlockHeight = function(value) {
+  return jspb.Message.setProto3StringIntField(this, 2, value);
 };
 
 
 /**
- * Serializes the message to binary data (in protobuf wire format).
- * @return {!Uint8Array}
+ * optional uint32 first_core_block_height = 3;
+ * @return {number}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.prototype.serializeBinary = function() {
-  var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.serializeBinaryToWriter(this, writer);
-  return writer.getResultBuffer();
+proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.prototype.getFirstCoreBlockHeight = function() {
+  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));
 };
 
 
 /**
- * Serializes the given message to binary data (in protobuf wire
- * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues} message
- * @param {!jspb.BinaryWriter} writer
- * @suppress {unusedLocalVariables} f is only used for nested messages
+ * @param {number} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.serializeBinaryToWriter = function(message, writer) {
-  var f = undefined;
-  f = message.getContestedResourceValuesList_asU8();
-  if (f.length > 0) {
-    writer.writeRepeatedBytes(
-      1,
-      f
-    );
-  }
+proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.prototype.setFirstCoreBlockHeight = function(value) {
+  return jspb.Message.setProto3IntField(this, 3, value);
 };
 
 
 /**
- * repeated bytes contested_resource_values = 1;
- * @return {!Array}
+ * optional uint64 start_time = 4;
+ * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.prototype.getContestedResourceValuesList = function() {
-  return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1));
+proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.prototype.getStartTime = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, "0"));
 };
 
 
 /**
- * repeated bytes contested_resource_values = 1;
- * This is a type-conversion wrapper around `getContestedResourceValuesList()`
- * @return {!Array}
+ * @param {string} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.prototype.getContestedResourceValuesList_asB64 = function() {
-  return /** @type {!Array} */ (jspb.Message.bytesListAsB64(
-      this.getContestedResourceValuesList()));
+proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.prototype.setStartTime = function(value) {
+  return jspb.Message.setProto3StringIntField(this, 4, value);
 };
 
 
 /**
- * repeated bytes contested_resource_values = 1;
- * Note that Uint8Array is not supported on all browsers.
- * @see http://caniuse.com/Uint8Array
- * This is a type-conversion wrapper around `getContestedResourceValuesList()`
- * @return {!Array}
+ * optional double fee_multiplier = 5;
+ * @return {number}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.prototype.getContestedResourceValuesList_asU8 = function() {
-  return /** @type {!Array} */ (jspb.Message.bytesListAsU8(
-      this.getContestedResourceValuesList()));
+proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.prototype.getFeeMultiplier = function() {
+  return /** @type {number} */ (jspb.Message.getFloatingPointFieldWithDefault(this, 5, 0.0));
 };
 
 
 /**
- * @param {!(Array|Array)} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues} returns this
+ * @param {number} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.prototype.setContestedResourceValuesList = function(value) {
-  return jspb.Message.setField(this, 1, value || []);
+proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.prototype.setFeeMultiplier = function(value) {
+  return jspb.Message.setProto3FloatField(this, 5, value);
 };
 
 
 /**
- * @param {!(string|Uint8Array)} value
- * @param {number=} opt_index
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues} returns this
+ * optional uint32 protocol_version = 6;
+ * @return {number}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.prototype.addContestedResourceValues = function(value, opt_index) {
-  return jspb.Message.addToRepeatedField(this, 1, value, opt_index);
+proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.prototype.getProtocolVersion = function() {
+  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 6, 0));
 };
 
 
 /**
- * Clears the list making it empty but non-null.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues} returns this
+ * @param {number} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.prototype.clearContestedResourceValuesList = function() {
-  return this.setContestedResourceValuesList([]);
+proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.prototype.setProtocolVersion = function(value) {
+  return jspb.Message.setProto3IntField(this, 6, value);
 };
 
 
 /**
- * optional ContestedResourceValues contested_resource_values = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues}
+ * optional EpochInfos epochs = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.prototype.getContestedResourceValues = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues, 1));
+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));
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0} returns this
+ * @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.GetContestedResourcesResponse.GetContestedResourcesResponseV0.prototype.setContestedResourceValues = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.oneofGroups_[0], value);
+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.GetContestedResourcesResponse.GetContestedResourcesResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.prototype.clearContestedResourceValues = function() {
-  return this.setContestedResourceValues(undefined);
+proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.prototype.clearEpochs = function() {
+  return this.setEpochs(undefined);
 };
 
 
@@ -30646,7 +30948,7 @@ proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResour
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.prototype.hasContestedResourceValues = function() {
+proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.prototype.hasEpochs = function() {
   return jspb.Message.getField(this, 1) != null;
 };
 
@@ -30655,7 +30957,7 @@ proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResour
  * optional Proof proof = 2;
  * @return {?proto.org.dash.platform.dapi.v0.Proof}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.prototype.getProof = function() {
+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));
 };
@@ -30663,18 +30965,18 @@ proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResour
 
 /**
  * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0} returns this
 */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.prototype.setProof = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.oneofGroups_[0], 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.GetContestedResourcesResponse.GetContestedResourcesResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.prototype.clearProof = function() {
+proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.prototype.clearProof = function() {
   return this.setProof(undefined);
 };
 
@@ -30683,7 +30985,7 @@ proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResour
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.prototype.hasProof = function() {
+proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.prototype.hasProof = function() {
   return jspb.Message.getField(this, 2) != null;
 };
 
@@ -30692,7 +30994,7 @@ proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResour
  * optional ResponseMetadata metadata = 3;
  * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.prototype.getMetadata = function() {
+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));
 };
@@ -30700,18 +31002,18 @@ proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResour
 
 /**
  * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0} returns this
 */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.prototype.setMetadata = function(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.GetContestedResourcesResponse.GetContestedResourcesResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.prototype.clearMetadata = function() {
+proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.prototype.clearMetadata = function() {
   return this.setMetadata(undefined);
 };
 
@@ -30720,35 +31022,35 @@ proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResour
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.prototype.hasMetadata = function() {
+proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.prototype.hasMetadata = function() {
   return jspb.Message.getField(this, 3) != null;
 };
 
 
 /**
- * optional GetContestedResourcesResponseV0 v0 = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0}
+ * optional GetEpochsInfoResponseV0 v0 = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.prototype.getV0 = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0, 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.GetContestedResourcesResponse.GetContestedResourcesResponseV0|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse} 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.GetContestedResourcesResponse.prototype.setV0 = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.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.GetContestedResourcesResponse} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.prototype.clearV0 = function() {
+proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.prototype.clearV0 = function() {
   return this.setV0(undefined);
 };
 
@@ -30757,7 +31059,7 @@ proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.prototype.clearV0
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.prototype.hasV0 = function() {
+proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.prototype.hasV0 = function() {
   return jspb.Message.getField(this, 1) != null;
 };
 
@@ -30771,21 +31073,21 @@ proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.prototype.hasV0 =
  * @private {!Array>}
  * @const
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.oneofGroups_ = [[1]];
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.oneofGroups_ = [[1]];
 
 /**
  * @enum {number}
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.VersionCase = {
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.VersionCase = {
   VERSION_NOT_SET: 0,
   V0: 1
 };
 
 /**
- * @return {proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.VersionCase}
+ * @return {proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.VersionCase}
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.prototype.getVersionCase = function() {
-  return /** @type {proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.oneofGroups_[0]));
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.prototype.getVersionCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.oneofGroups_[0]));
 };
 
 
@@ -30803,8 +31105,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.toObject(opt_includeInstance, this);
 };
 
 
@@ -30813,13 +31115,13 @@ proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.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.GetVotePollsByEndDateRequest} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.toObject = function(includeInstance, msg) {
   var f, obj = {
-    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.toObject(includeInstance, f)
+    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0.toObject(includeInstance, f)
   };
 
   if (includeInstance) {
@@ -30833,23 +31135,23 @@ proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.toObject = function
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest}
+ * @return {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest}
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest;
-  return proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest;
+  return proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest}
+ * @return {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest}
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -30857,8 +31159,8 @@ proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.deserializeBinaryFr
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.deserializeBinaryFromReader);
+      var value = new proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0.deserializeBinaryFromReader);
       msg.setV0(value);
       break;
     default:
@@ -30874,9 +31176,9 @@ proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.deserializeBinaryFr
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -30884,18 +31186,18 @@ proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.prototype.serialize
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
   f = message.getV0();
   if (f != null) {
     writer.writeMessage(
       1,
       f,
-      proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0.serializeBinaryToWriter
     );
   }
 };
@@ -30917,8 +31219,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0.toObject(opt_includeInstance, this);
 };
 
 
@@ -30927,18 +31229,17 @@ proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDa
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0.toObject = function(includeInstance, msg) {
   var f, obj = {
-    startTimeInfo: (f = msg.getStartTimeInfo()) && proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.toObject(includeInstance, f),
-    endTimeInfo: (f = msg.getEndTimeInfo()) && proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.toObject(includeInstance, f),
-    limit: jspb.Message.getFieldWithDefault(msg, 3, 0),
-    offset: jspb.Message.getFieldWithDefault(msg, 4, 0),
-    ascending: jspb.Message.getBooleanFieldWithDefault(msg, 5, false),
-    prove: jspb.Message.getBooleanFieldWithDefault(msg, 6, false)
+    startEpochIndex: jspb.Message.getFieldWithDefault(msg, 1, 0),
+    startEpochIndexIncluded: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),
+    endEpochIndex: jspb.Message.getFieldWithDefault(msg, 3, 0),
+    endEpochIndexIncluded: jspb.Message.getBooleanFieldWithDefault(msg, 4, false),
+    prove: jspb.Message.getBooleanFieldWithDefault(msg, 5, false)
   };
 
   if (includeInstance) {
@@ -30952,23 +31253,23 @@ proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDa
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0}
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0;
-  return proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0;
+  return proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0}
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -30976,28 +31277,22 @@ proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDa
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.deserializeBinaryFromReader);
-      msg.setStartTimeInfo(value);
+      var value = /** @type {number} */ (reader.readUint32());
+      msg.setStartEpochIndex(value);
       break;
     case 2:
-      var value = new proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.deserializeBinaryFromReader);
-      msg.setEndTimeInfo(value);
+      var value = /** @type {boolean} */ (reader.readBool());
+      msg.setStartEpochIndexIncluded(value);
       break;
     case 3:
       var value = /** @type {number} */ (reader.readUint32());
-      msg.setLimit(value);
+      msg.setEndEpochIndex(value);
       break;
     case 4:
-      var value = /** @type {number} */ (reader.readUint32());
-      msg.setOffset(value);
-      break;
-    case 5:
       var value = /** @type {boolean} */ (reader.readBool());
-      msg.setAscending(value);
+      msg.setEndEpochIndexIncluded(value);
       break;
-    case 6:
+    case 5:
       var value = /** @type {boolean} */ (reader.readBool());
       msg.setProve(value);
       break;
@@ -31014,9 +31309,9 @@ proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDa
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -31024,59 +31319,202 @@ proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDa
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getStartTimeInfo();
-  if (f != null) {
-    writer.writeMessage(
+  f = message.getStartEpochIndex();
+  if (f !== 0) {
+    writer.writeUint32(
       1,
-      f,
-      proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.serializeBinaryToWriter
+      f
     );
   }
-  f = message.getEndTimeInfo();
-  if (f != null) {
-    writer.writeMessage(
+  f = message.getStartEpochIndexIncluded();
+  if (f) {
+    writer.writeBool(
       2,
-      f,
-      proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.serializeBinaryToWriter
-    );
-  }
-  f = /** @type {number} */ (jspb.Message.getField(message, 3));
-  if (f != null) {
-    writer.writeUint32(
-      3,
       f
     );
   }
-  f = /** @type {number} */ (jspb.Message.getField(message, 4));
-  if (f != null) {
+  f = message.getEndEpochIndex();
+  if (f !== 0) {
     writer.writeUint32(
-      4,
+      3,
       f
     );
   }
-  f = message.getAscending();
+  f = message.getEndEpochIndexIncluded();
   if (f) {
     writer.writeBool(
-      5,
+      4,
       f
     );
   }
   f = message.getProve();
   if (f) {
     writer.writeBool(
-      6,
+      5,
       f
     );
   }
 };
 
 
+/**
+ * optional uint32 start_epoch_index = 1;
+ * @return {number}
+ */
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0.prototype.getStartEpochIndex = function() {
+  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
+};
+
+
+/**
+ * @param {number} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0.prototype.setStartEpochIndex = function(value) {
+  return jspb.Message.setProto3IntField(this, 1, value);
+};
+
+
+/**
+ * optional bool start_epoch_index_included = 2;
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0.prototype.getStartEpochIndexIncluded = function() {
+  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));
+};
+
+
+/**
+ * @param {boolean} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0.prototype.setStartEpochIndexIncluded = function(value) {
+  return jspb.Message.setProto3BooleanField(this, 2, value);
+};
+
+
+/**
+ * optional uint32 end_epoch_index = 3;
+ * @return {number}
+ */
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0.prototype.getEndEpochIndex = function() {
+  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));
+};
+
+
+/**
+ * @param {number} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0.prototype.setEndEpochIndex = function(value) {
+  return jspb.Message.setProto3IntField(this, 3, value);
+};
+
+
+/**
+ * optional bool end_epoch_index_included = 4;
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0.prototype.getEndEpochIndexIncluded = function() {
+  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 4, false));
+};
+
+
+/**
+ * @param {boolean} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0.prototype.setEndEpochIndexIncluded = function(value) {
+  return jspb.Message.setProto3BooleanField(this, 4, value);
+};
+
+
+/**
+ * optional bool prove = 5;
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0.prototype.getProve = function() {
+  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 5, false));
+};
+
+
+/**
+ * @param {boolean} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0.prototype.setProve = function(value) {
+  return jspb.Message.setProto3BooleanField(this, 5, value);
+};
+
+
+/**
+ * optional GetFinalizedEpochInfosRequestV0 v0 = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0}
+ */
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.prototype.getV0 = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0, 1));
+};
+
+
+/**
+ * @param {?proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.prototype.setV0 = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.oneofGroups_[0], value);
+};
+
+
+/**
+ * Clears the message field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.prototype.clearV0 = function() {
+  return this.setV0(undefined);
+};
+
+
+/**
+ * Returns whether this field is set.
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.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.GetFinalizedEpochInfosResponse.oneofGroups_ = [[1]];
+
+/**
+ * @enum {number}
+ */
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.VersionCase = {
+  VERSION_NOT_SET: 0,
+  V0: 1
+};
+
+/**
+ * @return {proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.VersionCase}
+ */
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.prototype.getVersionCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.oneofGroups_[0]));
+};
 
 
 
@@ -31093,8 +31531,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.toObject(opt_includeInstance, this);
 };
 
 
@@ -31103,14 +31541,13 @@ proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDa
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.toObject = function(includeInstance, msg) {
   var f, obj = {
-    startTimeMs: jspb.Message.getFieldWithDefault(msg, 1, "0"),
-    startTimeIncluded: jspb.Message.getBooleanFieldWithDefault(msg, 2, false)
+    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.toObject(includeInstance, f)
   };
 
   if (includeInstance) {
@@ -31124,23 +31561,23 @@ proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDa
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo}
+ * @return {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse}
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo;
-  return proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse;
+  return proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo}
+ * @return {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse}
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -31148,12 +31585,9 @@ proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDa
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = /** @type {string} */ (reader.readUint64String());
-      msg.setStartTimeMs(value);
-      break;
-    case 2:
-      var value = /** @type {boolean} */ (reader.readBool());
-      msg.setStartTimeIncluded(value);
+      var value = new proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.deserializeBinaryFromReader);
+      msg.setV0(value);
       break;
     default:
       reader.skipField();
@@ -31168,9 +31602,9 @@ proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDa
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -31178,68 +31612,52 @@ proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDa
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getStartTimeMs();
-  if (parseInt(f, 10) !== 0) {
-    writer.writeUint64String(
+  f = message.getV0();
+  if (f != null) {
+    writer.writeMessage(
       1,
-      f
-    );
-  }
-  f = message.getStartTimeIncluded();
-  if (f) {
-    writer.writeBool(
-      2,
-      f
+      f,
+      proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.serializeBinaryToWriter
     );
   }
 };
 
 
+
 /**
- * optional uint64 start_time_ms = 1;
- * @return {string}
- */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.prototype.getStartTimeMs = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "0"));
-};
-
-
-/**
- * @param {string} value
- * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo} 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.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.prototype.setStartTimeMs = function(value) {
-  return jspb.Message.setProto3StringIntField(this, 1, value);
-};
-
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.oneofGroups_ = [[1,2]];
 
 /**
- * optional bool start_time_included = 2;
- * @return {boolean}
+ * @enum {number}
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.prototype.getStartTimeIncluded = function() {
-  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.ResultCase = {
+  RESULT_NOT_SET: 0,
+  EPOCHS: 1,
+  PROOF: 2
 };
 
-
 /**
- * @param {boolean} value
- * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo} returns this
+ * @return {proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.ResultCase}
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.prototype.setStartTimeIncluded = function(value) {
-  return jspb.Message.setProto3BooleanField(this, 2, value);
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.prototype.getResultCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.oneofGroups_[0]));
 };
 
 
 
-
-
 if (jspb.Message.GENERATE_TO_OBJECT) {
 /**
  * Creates an object representation of this proto.
@@ -31253,8 +31671,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.toObject(opt_includeInstance, this);
 };
 
 
@@ -31263,14 +31681,15 @@ proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDa
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.toObject = function(includeInstance, msg) {
   var f, obj = {
-    endTimeMs: jspb.Message.getFieldWithDefault(msg, 1, "0"),
-    endTimeIncluded: jspb.Message.getBooleanFieldWithDefault(msg, 2, false)
+    epochs: (f = msg.getEpochs()) && proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos.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) {
@@ -31284,23 +31703,23 @@ proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDa
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo}
+ * @return {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0}
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo;
-  return proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0;
+  return proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo}
+ * @return {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0}
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -31308,12 +31727,19 @@ proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDa
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = /** @type {string} */ (reader.readUint64String());
-      msg.setEndTimeMs(value);
+      var value = new proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos.deserializeBinaryFromReader);
+      msg.setEpochs(value);
       break;
     case 2:
-      var value = /** @type {boolean} */ (reader.readBool());
-      msg.setEndTimeIncluded(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();
@@ -31328,9 +31754,9 @@ proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDa
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -31338,309 +31764,46 @@ proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDa
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getEndTimeMs();
-  if (parseInt(f, 10) !== 0) {
-    writer.writeUint64String(
+  f = message.getEpochs();
+  if (f != null) {
+    writer.writeMessage(
       1,
-      f
+      f,
+      proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos.serializeBinaryToWriter
     );
   }
-  f = message.getEndTimeIncluded();
-  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 uint64 end_time_ms = 1;
- * @return {string}
- */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.prototype.getEndTimeMs = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "0"));
-};
-
-
-/**
- * @param {string} value
- * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo} returns this
- */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.prototype.setEndTimeMs = function(value) {
-  return jspb.Message.setProto3StringIntField(this, 1, value);
-};
-
-
-/**
- * optional bool end_time_included = 2;
- * @return {boolean}
- */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.prototype.getEndTimeIncluded = function() {
-  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));
-};
-
-
-/**
- * @param {boolean} value
- * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo} returns this
- */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.prototype.setEndTimeIncluded = function(value) {
-  return jspb.Message.setProto3BooleanField(this, 2, value);
-};
-
-
-/**
- * optional StartAtTimeInfo start_time_info = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo}
- */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prototype.getStartTimeInfo = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo, 1));
-};
-
-
-/**
- * @param {?proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0} returns this
-*/
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prototype.setStartTimeInfo = function(value) {
-  return jspb.Message.setWrapperField(this, 1, value);
-};
-
-
-/**
- * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0} returns this
- */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prototype.clearStartTimeInfo = function() {
-  return this.setStartTimeInfo(undefined);
-};
-
-
-/**
- * Returns whether this field is set.
- * @return {boolean}
- */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prototype.hasStartTimeInfo = function() {
-  return jspb.Message.getField(this, 1) != null;
-};
-
-
-/**
- * optional EndAtTimeInfo end_time_info = 2;
- * @return {?proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo}
- */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prototype.getEndTimeInfo = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo, 2));
-};
-
-
-/**
- * @param {?proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0} returns this
-*/
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prototype.setEndTimeInfo = function(value) {
-  return jspb.Message.setWrapperField(this, 2, value);
-};
-
-
-/**
- * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0} returns this
- */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prototype.clearEndTimeInfo = function() {
-  return this.setEndTimeInfo(undefined);
-};
-
-
-/**
- * Returns whether this field is set.
- * @return {boolean}
- */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prototype.hasEndTimeInfo = function() {
-  return jspb.Message.getField(this, 2) != null;
-};
-
-
-/**
- * optional uint32 limit = 3;
- * @return {number}
- */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prototype.getLimit = function() {
-  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));
-};
-
-
-/**
- * @param {number} value
- * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0} returns this
- */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prototype.setLimit = function(value) {
-  return jspb.Message.setField(this, 3, value);
-};
-
-
-/**
- * Clears the field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0} returns this
- */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prototype.clearLimit = function() {
-  return jspb.Message.setField(this, 3, undefined);
-};
-
-
-/**
- * Returns whether this field is set.
- * @return {boolean}
- */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prototype.hasLimit = function() {
-  return jspb.Message.getField(this, 3) != null;
-};
-
-
-/**
- * optional uint32 offset = 4;
- * @return {number}
- */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prototype.getOffset = function() {
-  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0));
-};
-
-
-/**
- * @param {number} value
- * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0} returns this
- */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prototype.setOffset = function(value) {
-  return jspb.Message.setField(this, 4, value);
-};
-
-
-/**
- * Clears the field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0} returns this
- */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prototype.clearOffset = function() {
-  return jspb.Message.setField(this, 4, undefined);
-};
-
-
-/**
- * Returns whether this field is set.
- * @return {boolean}
- */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prototype.hasOffset = function() {
-  return jspb.Message.getField(this, 4) != null;
-};
-
-
-/**
- * optional bool ascending = 5;
- * @return {boolean}
- */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prototype.getAscending = function() {
-  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 5, false));
-};
-
-
-/**
- * @param {boolean} value
- * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0} returns this
- */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prototype.setAscending = function(value) {
-  return jspb.Message.setProto3BooleanField(this, 5, value);
-};
-
-
-/**
- * optional bool prove = 6;
- * @return {boolean}
- */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prototype.getProve = function() {
-  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 6, false));
-};
-
-
-/**
- * @param {boolean} value
- * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0} returns this
- */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prototype.setProve = function(value) {
-  return jspb.Message.setProto3BooleanField(this, 6, value);
-};
-
-
-/**
- * optional GetVotePollsByEndDateRequestV0 v0 = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0}
- */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.prototype.getV0 = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0, 1));
-};
-
-
-/**
- * @param {?proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest} returns this
-*/
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.prototype.setV0 = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.oneofGroups_[0], value);
-};
-
-
-/**
- * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest} returns this
- */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.prototype.clearV0 = function() {
-  return this.setV0(undefined);
-};
-
-
-/**
- * Returns whether this field is set.
- * @return {boolean}
- */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.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.GetVotePollsByEndDateResponse.oneofGroups_ = [[1]];
-
-/**
- * @enum {number}
- */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.VersionCase = {
-  VERSION_NOT_SET: 0,
-  V0: 1
-};
-
-/**
- * @return {proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.VersionCase}
- */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.prototype.getVersionCase = function() {
-  return /** @type {proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.oneofGroups_[0]));
-};
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos.repeatedFields_ = [1];
 
 
 
@@ -31657,8 +31820,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos.toObject(opt_includeInstance, this);
 };
 
 
@@ -31667,13 +31830,14 @@ proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.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.GetVotePollsByEndDateResponse} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos.toObject = function(includeInstance, msg) {
   var f, obj = {
-    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.toObject(includeInstance, f)
+    finalizedEpochInfosList: jspb.Message.toObjectList(msg.getFinalizedEpochInfosList(),
+    proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo.toObject, includeInstance)
   };
 
   if (includeInstance) {
@@ -31687,23 +31851,23 @@ proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.toObject = functio
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse}
+ * @return {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos}
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse;
-  return proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos;
+  return proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse}
+ * @return {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos}
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -31711,9 +31875,9 @@ proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.deserializeBinaryF
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.deserializeBinaryFromReader);
-      msg.setV0(value);
+      var value = new proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo.deserializeBinaryFromReader);
+      msg.addFinalizedEpochInfos(value);
       break;
     default:
       reader.skipField();
@@ -31728,9 +31892,9 @@ proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.deserializeBinaryF
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -31738,52 +31902,71 @@ proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.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.GetVotePollsByEndDateResponse} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getV0();
-  if (f != null) {
-    writer.writeMessage(
+  f = message.getFinalizedEpochInfosList();
+  if (f.length > 0) {
+    writer.writeRepeatedMessage(
       1,
       f,
-      proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo.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 FinalizedEpochInfo finalized_epoch_infos = 1;
+ * @return {!Array}
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.oneofGroups_ = [[1,2]];
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos.prototype.getFinalizedEpochInfosList = function() {
+  return /** @type{!Array} */ (
+    jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo, 1));
+};
+
 
 /**
- * @enum {number}
+ * @param {!Array} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos.prototype.setFinalizedEpochInfosList = function(value) {
+  return jspb.Message.setRepeatedWrapperField(this, 1, value);
+};
+
+
+/**
+ * @param {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo=} opt_value
+ * @param {number=} opt_index
+ * @return {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo}
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.ResultCase = {
-  RESULT_NOT_SET: 0,
-  VOTE_POLLS_BY_TIMESTAMPS: 1,
-  PROOF: 2
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos.prototype.addFinalizedEpochInfos = function(opt_value, opt_index) {
+  return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo, opt_index);
 };
 
+
 /**
- * @return {proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.ResultCase}
+ * Clears the list making it empty but non-null.
+ * @return {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos} returns this
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.prototype.getResultCase = function() {
-  return /** @type {proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.oneofGroups_[0]));
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos.prototype.clearFinalizedEpochInfosList = function() {
+  return this.setFinalizedEpochInfosList([]);
 };
 
 
 
+/**
+ * List of repeated fields within this message type.
+ * @private {!Array}
+ * @const
+ */
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo.repeatedFields_ = [13];
+
+
+
 if (jspb.Message.GENERATE_TO_OBJECT) {
 /**
  * Creates an object representation of this proto.
@@ -31797,8 +31980,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo.toObject(opt_includeInstance, this);
 };
 
 
@@ -31807,15 +31990,26 @@ proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndD
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo.toObject = function(includeInstance, msg) {
   var f, obj = {
-    votePollsByTimestamps: (f = msg.getVotePollsByTimestamps()) && proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.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)
+    number: jspb.Message.getFieldWithDefault(msg, 1, 0),
+    firstBlockHeight: jspb.Message.getFieldWithDefault(msg, 2, "0"),
+    firstCoreBlockHeight: jspb.Message.getFieldWithDefault(msg, 3, 0),
+    firstBlockTime: jspb.Message.getFieldWithDefault(msg, 4, "0"),
+    feeMultiplier: jspb.Message.getFloatingPointFieldWithDefault(msg, 5, 0.0),
+    protocolVersion: jspb.Message.getFieldWithDefault(msg, 6, 0),
+    totalBlocksInEpoch: jspb.Message.getFieldWithDefault(msg, 7, "0"),
+    nextEpochStartCoreBlockHeight: jspb.Message.getFieldWithDefault(msg, 8, 0),
+    totalProcessingFees: jspb.Message.getFieldWithDefault(msg, 9, "0"),
+    totalDistributedStorageFees: jspb.Message.getFieldWithDefault(msg, 10, "0"),
+    totalCreatedStorageFees: jspb.Message.getFieldWithDefault(msg, 11, "0"),
+    coreBlockRewards: jspb.Message.getFieldWithDefault(msg, 12, "0"),
+    blockProposersList: jspb.Message.toObjectList(msg.getBlockProposersList(),
+    proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer.toObject, includeInstance)
   };
 
   if (includeInstance) {
@@ -31829,23 +32023,23 @@ proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndD
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo}
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0;
-  return proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo;
+  return proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo}
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -31853,19 +32047,57 @@ proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndD
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.deserializeBinaryFromReader);
-      msg.setVotePollsByTimestamps(value);
+      var value = /** @type {number} */ (reader.readUint32());
+      msg.setNumber(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.readUint64String());
+      msg.setFirstBlockHeight(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.setFirstCoreBlockHeight(value);
+      break;
+    case 4:
+      var value = /** @type {string} */ (reader.readUint64String());
+      msg.setFirstBlockTime(value);
+      break;
+    case 5:
+      var value = /** @type {number} */ (reader.readDouble());
+      msg.setFeeMultiplier(value);
+      break;
+    case 6:
+      var value = /** @type {number} */ (reader.readUint32());
+      msg.setProtocolVersion(value);
+      break;
+    case 7:
+      var value = /** @type {string} */ (reader.readUint64String());
+      msg.setTotalBlocksInEpoch(value);
+      break;
+    case 8:
+      var value = /** @type {number} */ (reader.readUint32());
+      msg.setNextEpochStartCoreBlockHeight(value);
+      break;
+    case 9:
+      var value = /** @type {string} */ (reader.readUint64String());
+      msg.setTotalProcessingFees(value);
+      break;
+    case 10:
+      var value = /** @type {string} */ (reader.readUint64String());
+      msg.setTotalDistributedStorageFees(value);
+      break;
+    case 11:
+      var value = /** @type {string} */ (reader.readUint64String());
+      msg.setTotalCreatedStorageFees(value);
+      break;
+    case 12:
+      var value = /** @type {string} */ (reader.readUint64String());
+      msg.setCoreBlockRewards(value);
+      break;
+    case 13:
+      var value = new proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer.deserializeBinaryFromReader);
+      msg.addBlockProposers(value);
       break;
     default:
       reader.skipField();
@@ -31880,9 +32112,9 @@ proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndD
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -31890,256 +32122,361 @@ proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndD
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getVotePollsByTimestamps();
-  if (f != null) {
-    writer.writeMessage(
+  f = message.getNumber();
+  if (f !== 0) {
+    writer.writeUint32(
       1,
-      f,
-      proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.serializeBinaryToWriter
+      f
     );
   }
-  f = message.getProof();
-  if (f != null) {
-    writer.writeMessage(
+  f = message.getFirstBlockHeight();
+  if (parseInt(f, 10) !== 0) {
+    writer.writeUint64String(
       2,
-      f,
-      proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter
+      f
     );
   }
-  f = message.getMetadata();
-  if (f != null) {
-    writer.writeMessage(
+  f = message.getFirstCoreBlockHeight();
+  if (f !== 0) {
+    writer.writeUint32(
       3,
+      f
+    );
+  }
+  f = message.getFirstBlockTime();
+  if (parseInt(f, 10) !== 0) {
+    writer.writeUint64String(
+      4,
+      f
+    );
+  }
+  f = message.getFeeMultiplier();
+  if (f !== 0.0) {
+    writer.writeDouble(
+      5,
+      f
+    );
+  }
+  f = message.getProtocolVersion();
+  if (f !== 0) {
+    writer.writeUint32(
+      6,
+      f
+    );
+  }
+  f = message.getTotalBlocksInEpoch();
+  if (parseInt(f, 10) !== 0) {
+    writer.writeUint64String(
+      7,
+      f
+    );
+  }
+  f = message.getNextEpochStartCoreBlockHeight();
+  if (f !== 0) {
+    writer.writeUint32(
+      8,
+      f
+    );
+  }
+  f = message.getTotalProcessingFees();
+  if (parseInt(f, 10) !== 0) {
+    writer.writeUint64String(
+      9,
+      f
+    );
+  }
+  f = message.getTotalDistributedStorageFees();
+  if (parseInt(f, 10) !== 0) {
+    writer.writeUint64String(
+      10,
+      f
+    );
+  }
+  f = message.getTotalCreatedStorageFees();
+  if (parseInt(f, 10) !== 0) {
+    writer.writeUint64String(
+      11,
+      f
+    );
+  }
+  f = message.getCoreBlockRewards();
+  if (parseInt(f, 10) !== 0) {
+    writer.writeUint64String(
+      12,
+      f
+    );
+  }
+  f = message.getBlockProposersList();
+  if (f.length > 0) {
+    writer.writeRepeatedMessage(
+      13,
       f,
-      proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer.serializeBinaryToWriter
     );
   }
 };
 
 
+/**
+ * optional uint32 number = 1;
+ * @return {number}
+ */
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo.prototype.getNumber = function() {
+  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
+};
+
 
 /**
- * List of repeated fields within this message type.
- * @private {!Array}
- * @const
+ * @param {number} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo} returns this
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.repeatedFields_ = [2];
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo.prototype.setNumber = function(value) {
+  return jspb.Message.setProto3IntField(this, 1, value);
+};
+
 
+/**
+ * optional uint64 first_block_height = 2;
+ * @return {string}
+ */
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo.prototype.getFirstBlockHeight = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "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 {string} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo} returns this
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo.prototype.setFirstBlockHeight = function(value) {
+  return jspb.Message.setProto3StringIntField(this, 2, 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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp} msg The msg instance to transform.
- * @return {!Object}
- * @suppress {unusedLocalVariables} f is only used for nested messages
+ * optional uint32 first_core_block_height = 3;
+ * @return {number}
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.toObject = function(includeInstance, msg) {
-  var f, obj = {
-    timestamp: jspb.Message.getFieldWithDefault(msg, 1, "0"),
-    serializedVotePollsList: msg.getSerializedVotePollsList_asB64()
-  };
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo.prototype.getFirstCoreBlockHeight = function() {
+  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));
+};
 
-  if (includeInstance) {
-    obj.$jspbMessageInstance = msg;
-  }
-  return obj;
+
+/**
+ * @param {number} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo.prototype.setFirstCoreBlockHeight = function(value) {
+  return jspb.Message.setProto3IntField(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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp}
+ * optional uint64 first_block_time = 4;
+ * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.deserializeBinary = function(bytes) {
-  var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp;
-  return proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.deserializeBinaryFromReader(msg, reader);
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo.prototype.getFirstBlockTime = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, "0"));
 };
 
 
 /**
- * Deserializes binary data (in protobuf wire format) from the
- * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp} msg The message object to deserialize into.
- * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp}
+ * @param {string} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo} returns this
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.deserializeBinaryFromReader = function(msg, reader) {
-  while (reader.nextField()) {
-    if (reader.isEndGroup()) {
-      break;
-    }
-    var field = reader.getFieldNumber();
-    switch (field) {
-    case 1:
-      var value = /** @type {string} */ (reader.readUint64String());
-      msg.setTimestamp(value);
-      break;
-    case 2:
-      var value = /** @type {!Uint8Array} */ (reader.readBytes());
-      msg.addSerializedVotePolls(value);
-      break;
-    default:
-      reader.skipField();
-      break;
-    }
-  }
-  return msg;
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo.prototype.setFirstBlockTime = function(value) {
+  return jspb.Message.setProto3StringIntField(this, 4, value);
 };
 
 
 /**
- * Serializes the message to binary data (in protobuf wire format).
- * @return {!Uint8Array}
+ * optional double fee_multiplier = 5;
+ * @return {number}
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.prototype.serializeBinary = function() {
-  var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.serializeBinaryToWriter(this, writer);
-  return writer.getResultBuffer();
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo.prototype.getFeeMultiplier = function() {
+  return /** @type {number} */ (jspb.Message.getFloatingPointFieldWithDefault(this, 5, 0.0));
 };
 
 
 /**
- * Serializes the given message to binary data (in protobuf wire
- * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp} message
- * @param {!jspb.BinaryWriter} writer
- * @suppress {unusedLocalVariables} f is only used for nested messages
+ * @param {number} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo} returns this
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.serializeBinaryToWriter = function(message, writer) {
-  var f = undefined;
-  f = message.getTimestamp();
-  if (parseInt(f, 10) !== 0) {
-    writer.writeUint64String(
-      1,
-      f
-    );
-  }
-  f = message.getSerializedVotePollsList_asU8();
-  if (f.length > 0) {
-    writer.writeRepeatedBytes(
-      2,
-      f
-    );
-  }
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo.prototype.setFeeMultiplier = function(value) {
+  return jspb.Message.setProto3FloatField(this, 5, value);
 };
 
 
 /**
- * optional uint64 timestamp = 1;
+ * optional uint32 protocol_version = 6;
+ * @return {number}
+ */
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo.prototype.getProtocolVersion = function() {
+  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 6, 0));
+};
+
+
+/**
+ * @param {number} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo.prototype.setProtocolVersion = function(value) {
+  return jspb.Message.setProto3IntField(this, 6, value);
+};
+
+
+/**
+ * optional uint64 total_blocks_in_epoch = 7;
  * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.prototype.getTimestamp = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "0"));
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo.prototype.getTotalBlocksInEpoch = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 7, "0"));
 };
 
 
 /**
  * @param {string} value
- * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo} returns this
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.prototype.setTimestamp = function(value) {
-  return jspb.Message.setProto3StringIntField(this, 1, value);
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo.prototype.setTotalBlocksInEpoch = function(value) {
+  return jspb.Message.setProto3StringIntField(this, 7, value);
 };
 
 
 /**
- * repeated bytes serialized_vote_polls = 2;
- * @return {!Array}
+ * optional uint32 next_epoch_start_core_block_height = 8;
+ * @return {number}
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.prototype.getSerializedVotePollsList = function() {
-  return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 2));
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo.prototype.getNextEpochStartCoreBlockHeight = function() {
+  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 8, 0));
 };
 
 
 /**
- * repeated bytes serialized_vote_polls = 2;
- * This is a type-conversion wrapper around `getSerializedVotePollsList()`
- * @return {!Array}
+ * @param {number} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo} returns this
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.prototype.getSerializedVotePollsList_asB64 = function() {
-  return /** @type {!Array} */ (jspb.Message.bytesListAsB64(
-      this.getSerializedVotePollsList()));
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo.prototype.setNextEpochStartCoreBlockHeight = function(value) {
+  return jspb.Message.setProto3IntField(this, 8, value);
 };
 
 
 /**
- * repeated bytes serialized_vote_polls = 2;
- * Note that Uint8Array is not supported on all browsers.
- * @see http://caniuse.com/Uint8Array
- * This is a type-conversion wrapper around `getSerializedVotePollsList()`
- * @return {!Array}
+ * optional uint64 total_processing_fees = 9;
+ * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.prototype.getSerializedVotePollsList_asU8 = function() {
-  return /** @type {!Array} */ (jspb.Message.bytesListAsU8(
-      this.getSerializedVotePollsList()));
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo.prototype.getTotalProcessingFees = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 9, "0"));
 };
 
 
 /**
- * @param {!(Array|Array)} value
- * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp} returns this
+ * @param {string} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo} returns this
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.prototype.setSerializedVotePollsList = function(value) {
-  return jspb.Message.setField(this, 2, value || []);
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo.prototype.setTotalProcessingFees = function(value) {
+  return jspb.Message.setProto3StringIntField(this, 9, value);
 };
 
 
 /**
- * @param {!(string|Uint8Array)} value
- * @param {number=} opt_index
- * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp} returns this
+ * optional uint64 total_distributed_storage_fees = 10;
+ * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.prototype.addSerializedVotePolls = function(value, opt_index) {
-  return jspb.Message.addToRepeatedField(this, 2, value, opt_index);
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo.prototype.getTotalDistributedStorageFees = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 10, "0"));
 };
 
 
 /**
- * Clears the list making it empty but non-null.
- * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp} returns this
+ * @param {string} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo} returns this
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.prototype.clearSerializedVotePollsList = function() {
-  return this.setSerializedVotePollsList([]);
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo.prototype.setTotalDistributedStorageFees = function(value) {
+  return jspb.Message.setProto3StringIntField(this, 10, value);
 };
 
 
+/**
+ * optional uint64 total_created_storage_fees = 11;
+ * @return {string}
+ */
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo.prototype.getTotalCreatedStorageFees = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 11, "0"));
+};
+
 
 /**
- * List of repeated fields within this message type.
- * @private {!Array}
- * @const
+ * @param {string} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo} returns this
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.repeatedFields_ = [1];
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo.prototype.setTotalCreatedStorageFees = function(value) {
+  return jspb.Message.setProto3StringIntField(this, 11, value);
+};
+
+
+/**
+ * optional uint64 core_block_rewards = 12;
+ * @return {string}
+ */
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo.prototype.getCoreBlockRewards = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 12, "0"));
+};
+
+
+/**
+ * @param {string} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo.prototype.setCoreBlockRewards = function(value) {
+  return jspb.Message.setProto3StringIntField(this, 12, value);
+};
+
+
+/**
+ * repeated BlockProposer block_proposers = 13;
+ * @return {!Array}
+ */
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo.prototype.getBlockProposersList = function() {
+  return /** @type{!Array} */ (
+    jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer, 13));
+};
+
+
+/**
+ * @param {!Array} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo.prototype.setBlockProposersList = function(value) {
+  return jspb.Message.setRepeatedWrapperField(this, 13, value);
+};
+
+
+/**
+ * @param {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer=} opt_value
+ * @param {number=} opt_index
+ * @return {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer}
+ */
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo.prototype.addBlockProposers = function(opt_value, opt_index) {
+  return jspb.Message.addToRepeatedWrapperField(this, 13, opt_value, proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer, opt_index);
+};
+
+
+/**
+ * Clears the list making it empty but non-null.
+ * @return {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo.prototype.clearBlockProposersList = function() {
+  return this.setBlockProposersList([]);
+};
+
+
 
 
 
@@ -32156,8 +32493,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer.toObject(opt_includeInstance, this);
 };
 
 
@@ -32166,15 +32503,14 @@ proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndD
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer.toObject = function(includeInstance, msg) {
   var f, obj = {
-    votePollsByTimestampsList: jspb.Message.toObjectList(msg.getVotePollsByTimestampsList(),
-    proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.toObject, includeInstance),
-    finishedResults: jspb.Message.getBooleanFieldWithDefault(msg, 2, false)
+    proposerId: msg.getProposerId_asB64(),
+    blockCount: jspb.Message.getFieldWithDefault(msg, 2, 0)
   };
 
   if (includeInstance) {
@@ -32188,23 +32524,23 @@ proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndD
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps}
+ * @return {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer}
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps;
-  return proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer;
+  return proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps}
+ * @return {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer}
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -32212,13 +32548,12 @@ proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndD
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.deserializeBinaryFromReader);
-      msg.addVotePollsByTimestamps(value);
+      var value = /** @type {!Uint8Array} */ (reader.readBytes());
+      msg.setProposerId(value);
       break;
     case 2:
-      var value = /** @type {boolean} */ (reader.readBool());
-      msg.setFinishedResults(value);
+      var value = /** @type {number} */ (reader.readUint32());
+      msg.setBlockCount(value);
       break;
     default:
       reader.skipField();
@@ -32233,9 +32568,9 @@ proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndD
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -32243,23 +32578,22 @@ proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndD
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getVotePollsByTimestampsList();
+  f = message.getProposerId_asU8();
   if (f.length > 0) {
-    writer.writeRepeatedMessage(
+    writer.writeBytes(
       1,
-      f,
-      proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.serializeBinaryToWriter
+      f
     );
   }
-  f = message.getFinishedResults();
-  if (f) {
-    writer.writeBool(
+  f = message.getBlockCount();
+  if (f !== 0) {
+    writer.writeUint32(
       2,
       f
     );
@@ -32268,86 +32602,90 @@ proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndD
 
 
 /**
- * repeated SerializedVotePollsByTimestamp vote_polls_by_timestamps = 1;
- * @return {!Array}
+ * optional bytes proposer_id = 1;
+ * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.prototype.getVotePollsByTimestampsList = function() {
-  return /** @type{!Array} */ (
-    jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp, 1));
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer.prototype.getProposerId = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
 };
 
 
 /**
- * @param {!Array} value
- * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps} returns this
-*/
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.prototype.setVotePollsByTimestampsList = function(value) {
-  return jspb.Message.setRepeatedWrapperField(this, 1, value);
+ * optional bytes proposer_id = 1;
+ * This is a type-conversion wrapper around `getProposerId()`
+ * @return {string}
+ */
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer.prototype.getProposerId_asB64 = function() {
+  return /** @type {string} */ (jspb.Message.bytesAsB64(
+      this.getProposerId()));
 };
 
 
 /**
- * @param {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp=} opt_value
- * @param {number=} opt_index
- * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp}
+ * optional bytes proposer_id = 1;
+ * Note that Uint8Array is not supported on all browsers.
+ * @see http://caniuse.com/Uint8Array
+ * This is a type-conversion wrapper around `getProposerId()`
+ * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.prototype.addVotePollsByTimestamps = function(opt_value, opt_index) {
-  return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp, opt_index);
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer.prototype.getProposerId_asU8 = function() {
+  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
+      this.getProposerId()));
 };
 
 
 /**
- * Clears the list making it empty but non-null.
- * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps} returns this
+ * @param {!(string|Uint8Array)} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer} returns this
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.prototype.clearVotePollsByTimestampsList = function() {
-  return this.setVotePollsByTimestampsList([]);
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer.prototype.setProposerId = function(value) {
+  return jspb.Message.setProto3BytesField(this, 1, value);
 };
 
 
 /**
- * optional bool finished_results = 2;
- * @return {boolean}
+ * optional uint32 block_count = 2;
+ * @return {number}
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.prototype.getFinishedResults = function() {
-  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer.prototype.getBlockCount = function() {
+  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
 };
 
 
 /**
- * @param {boolean} value
- * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps} returns this
+ * @param {number} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer} returns this
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.prototype.setFinishedResults = function(value) {
-  return jspb.Message.setProto3BooleanField(this, 2, value);
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer.prototype.setBlockCount = function(value) {
+  return jspb.Message.setProto3IntField(this, 2, value);
 };
 
 
 /**
- * optional SerializedVotePollsByTimestamps vote_polls_by_timestamps = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps}
+ * optional FinalizedEpochInfos epochs = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos}
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.prototype.getVotePollsByTimestamps = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps, 1));
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.prototype.getEpochs = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos, 1));
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0} returns this
+ * @param {?proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0} returns this
 */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.prototype.setVotePollsByTimestamps = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.oneofGroups_[0], value);
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.prototype.setEpochs = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.oneofGroups_[0], value);
 };
 
 
 /**
  * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.prototype.clearVotePollsByTimestamps = function() {
-  return this.setVotePollsByTimestamps(undefined);
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.prototype.clearEpochs = function() {
+  return this.setEpochs(undefined);
 };
 
 
@@ -32355,7 +32693,7 @@ proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndD
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.prototype.hasVotePollsByTimestamps = function() {
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.prototype.hasEpochs = function() {
   return jspb.Message.getField(this, 1) != null;
 };
 
@@ -32364,7 +32702,7 @@ proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndD
  * optional Proof proof = 2;
  * @return {?proto.org.dash.platform.dapi.v0.Proof}
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.prototype.getProof = function() {
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.prototype.getProof = function() {
   return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ (
     jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2));
 };
@@ -32372,18 +32710,18 @@ proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndD
 
 /**
  * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0} returns this
 */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.prototype.setProof = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.oneofGroups_[0], value);
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.prototype.setProof = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.oneofGroups_[0], value);
 };
 
 
 /**
  * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.prototype.clearProof = function() {
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.prototype.clearProof = function() {
   return this.setProof(undefined);
 };
 
@@ -32392,7 +32730,7 @@ proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndD
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.prototype.hasProof = function() {
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.prototype.hasProof = function() {
   return jspb.Message.getField(this, 2) != null;
 };
 
@@ -32401,7 +32739,7 @@ proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndD
  * optional ResponseMetadata metadata = 3;
  * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata}
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.prototype.getMetadata = function() {
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.prototype.getMetadata = function() {
   return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ (
     jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3));
 };
@@ -32409,18 +32747,18 @@ proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndD
 
 /**
  * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0} returns this
 */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.prototype.setMetadata = function(value) {
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.prototype.clearMetadata = function() {
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.prototype.clearMetadata = function() {
   return this.setMetadata(undefined);
 };
 
@@ -32429,35 +32767,35 @@ proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndD
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.prototype.hasMetadata = function() {
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.prototype.hasMetadata = function() {
   return jspb.Message.getField(this, 3) != null;
 };
 
 
 /**
- * optional GetVotePollsByEndDateResponseV0 v0 = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0}
+ * optional GetFinalizedEpochInfosResponseV0 v0 = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0}
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.prototype.getV0 = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0, 1));
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.prototype.getV0 = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0, 1));
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse} returns this
+ * @param {?proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse} returns this
 */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.prototype.setV0 = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.oneofGroups_[0], value);
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.prototype.setV0 = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.oneofGroups_[0], value);
 };
 
 
 /**
  * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse} returns this
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.prototype.clearV0 = function() {
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.prototype.clearV0 = function() {
   return this.setV0(undefined);
 };
 
@@ -32466,7 +32804,7 @@ proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.prototype.clearV0
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.prototype.hasV0 = function() {
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.prototype.hasV0 = function() {
   return jspb.Message.getField(this, 1) != null;
 };
 
@@ -32480,21 +32818,21 @@ proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.prototype.hasV0 =
  * @private {!Array>}
  * @const
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.oneofGroups_ = [[1]];
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.oneofGroups_ = [[1]];
 
 /**
  * @enum {number}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.VersionCase = {
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.VersionCase = {
   VERSION_NOT_SET: 0,
   V0: 1
 };
 
 /**
- * @return {proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.VersionCase}
+ * @return {proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.VersionCase}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.prototype.getVersionCase = function() {
-  return /** @type {proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.oneofGroups_[0]));
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.prototype.getVersionCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.oneofGroups_[0]));
 };
 
 
@@ -32512,8 +32850,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.toObject(opt_includeInstance, this);
 };
 
 
@@ -32522,13 +32860,13 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.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.GetContestedResourceVoteStateRequest} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.toObject = function(includeInstance, msg) {
   var f, obj = {
-    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.toObject(includeInstance, f)
+    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.toObject(includeInstance, f)
   };
 
   if (includeInstance) {
@@ -32542,23 +32880,23 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.toObject =
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest}
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest;
-  return proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest;
+  return proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest}
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -32566,8 +32904,8 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.deserialize
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.deserializeBinaryFromReader);
+      var value = new proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.deserializeBinaryFromReader);
       msg.setV0(value);
       break;
     default:
@@ -32583,9 +32921,9 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.deserialize
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -32593,18 +32931,18 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.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.GetContestedResourceVoteStateRequest} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
   f = message.getV0();
   if (f != null) {
     writer.writeMessage(
       1,
       f,
-      proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.serializeBinaryToWriter
     );
   }
 };
@@ -32616,7 +32954,7 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.serializeBi
  * @private {!Array}
  * @const
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.repeatedFields_ = [4];
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.repeatedFields_ = [4,5];
 
 
 
@@ -32633,8 +32971,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.toObject(opt_includeInstance, this);
 };
 
 
@@ -32643,20 +32981,20 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetConteste
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.toObject = function(includeInstance, msg) {
   var f, obj = {
     contractId: msg.getContractId_asB64(),
     documentTypeName: jspb.Message.getFieldWithDefault(msg, 2, ""),
     indexName: jspb.Message.getFieldWithDefault(msg, 3, ""),
-    indexValuesList: msg.getIndexValuesList_asB64(),
-    resultType: jspb.Message.getFieldWithDefault(msg, 5, 0),
-    allowIncludeLockedAndAbstainingVoteTally: jspb.Message.getBooleanFieldWithDefault(msg, 6, false),
-    startAtIdentifierInfo: (f = msg.getStartAtIdentifierInfo()) && proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.toObject(includeInstance, f),
-    count: jspb.Message.getFieldWithDefault(msg, 8, 0),
+    startIndexValuesList: msg.getStartIndexValuesList_asB64(),
+    endIndexValuesList: msg.getEndIndexValuesList_asB64(),
+    startAtValueInfo: (f = msg.getStartAtValueInfo()) && proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.toObject(includeInstance, f),
+    count: jspb.Message.getFieldWithDefault(msg, 7, 0),
+    orderAscending: jspb.Message.getBooleanFieldWithDefault(msg, 8, false),
     prove: jspb.Message.getBooleanFieldWithDefault(msg, 9, false)
   };
 
@@ -32671,23 +33009,23 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetConteste
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0;
-  return proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0;
+  return proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -32708,25 +33046,25 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetConteste
       break;
     case 4:
       var value = /** @type {!Uint8Array} */ (reader.readBytes());
-      msg.addIndexValues(value);
+      msg.addStartIndexValues(value);
       break;
     case 5:
-      var value = /** @type {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.ResultType} */ (reader.readEnum());
-      msg.setResultType(value);
+      var value = /** @type {!Uint8Array} */ (reader.readBytes());
+      msg.addEndIndexValues(value);
       break;
     case 6:
-      var value = /** @type {boolean} */ (reader.readBool());
-      msg.setAllowIncludeLockedAndAbstainingVoteTally(value);
+      var value = new proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.deserializeBinaryFromReader);
+      msg.setStartAtValueInfo(value);
       break;
     case 7:
-      var value = new proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.deserializeBinaryFromReader);
-      msg.setStartAtIdentifierInfo(value);
-      break;
-    case 8:
       var value = /** @type {number} */ (reader.readUint32());
       msg.setCount(value);
       break;
+    case 8:
+      var value = /** @type {boolean} */ (reader.readBool());
+      msg.setOrderAscending(value);
+      break;
     case 9:
       var value = /** @type {boolean} */ (reader.readBool());
       msg.setProve(value);
@@ -32744,9 +33082,9 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetConteste
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -32754,11 +33092,11 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetConteste
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
   f = message.getContractId_asU8();
   if (f.length > 0) {
@@ -32781,38 +33119,38 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetConteste
       f
     );
   }
-  f = message.getIndexValuesList_asU8();
+  f = message.getStartIndexValuesList_asU8();
   if (f.length > 0) {
     writer.writeRepeatedBytes(
       4,
       f
     );
   }
-  f = message.getResultType();
-  if (f !== 0.0) {
-    writer.writeEnum(
+  f = message.getEndIndexValuesList_asU8();
+  if (f.length > 0) {
+    writer.writeRepeatedBytes(
       5,
       f
     );
   }
-  f = message.getAllowIncludeLockedAndAbstainingVoteTally();
-  if (f) {
-    writer.writeBool(
-      6,
-      f
-    );
-  }
-  f = message.getStartAtIdentifierInfo();
+  f = message.getStartAtValueInfo();
   if (f != null) {
     writer.writeMessage(
-      7,
+      6,
       f,
-      proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.serializeBinaryToWriter
     );
   }
-  f = /** @type {number} */ (jspb.Message.getField(message, 8));
+  f = /** @type {number} */ (jspb.Message.getField(message, 7));
   if (f != null) {
     writer.writeUint32(
+      7,
+      f
+    );
+  }
+  f = message.getOrderAscending();
+  if (f) {
+    writer.writeBool(
       8,
       f
     );
@@ -32827,15 +33165,6 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetConteste
 };
 
 
-/**
- * @enum {number}
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.ResultType = {
-  DOCUMENTS: 0,
-  VOTE_TALLY: 1,
-  DOCUMENTS_AND_VOTE_TALLY: 2
-};
-
 
 
 
@@ -32852,8 +33181,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.toObject(opt_includeInstance, this);
 };
 
 
@@ -32862,14 +33191,14 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetConteste
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.toObject = function(includeInstance, msg) {
   var f, obj = {
-    startIdentifier: msg.getStartIdentifier_asB64(),
-    startIdentifierIncluded: jspb.Message.getBooleanFieldWithDefault(msg, 2, false)
+    startValue: msg.getStartValue_asB64(),
+    startValueIncluded: jspb.Message.getBooleanFieldWithDefault(msg, 2, false)
   };
 
   if (includeInstance) {
@@ -32883,23 +33212,23 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetConteste
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo}
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo;
-  return proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo;
+  return proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo}
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -32908,11 +33237,11 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetConteste
     switch (field) {
     case 1:
       var value = /** @type {!Uint8Array} */ (reader.readBytes());
-      msg.setStartIdentifier(value);
+      msg.setStartValue(value);
       break;
     case 2:
       var value = /** @type {boolean} */ (reader.readBool());
-      msg.setStartIdentifierIncluded(value);
+      msg.setStartValueIncluded(value);
       break;
     default:
       reader.skipField();
@@ -32927,9 +33256,9 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetConteste
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -32937,20 +33266,20 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetConteste
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getStartIdentifier_asU8();
+  f = message.getStartValue_asU8();
   if (f.length > 0) {
     writer.writeBytes(
       1,
       f
     );
   }
-  f = message.getStartIdentifierIncluded();
+  f = message.getStartValueIncluded();
   if (f) {
     writer.writeBool(
       2,
@@ -32961,61 +33290,61 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetConteste
 
 
 /**
- * optional bytes start_identifier = 1;
+ * optional bytes start_value = 1;
  * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.prototype.getStartIdentifier = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.prototype.getStartValue = function() {
   return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
 };
 
 
 /**
- * optional bytes start_identifier = 1;
- * This is a type-conversion wrapper around `getStartIdentifier()`
+ * optional bytes start_value = 1;
+ * This is a type-conversion wrapper around `getStartValue()`
  * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.prototype.getStartIdentifier_asB64 = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.prototype.getStartValue_asB64 = function() {
   return /** @type {string} */ (jspb.Message.bytesAsB64(
-      this.getStartIdentifier()));
+      this.getStartValue()));
 };
 
 
 /**
- * optional bytes start_identifier = 1;
+ * optional bytes start_value = 1;
  * Note that Uint8Array is not supported on all browsers.
  * @see http://caniuse.com/Uint8Array
- * This is a type-conversion wrapper around `getStartIdentifier()`
+ * This is a type-conversion wrapper around `getStartValue()`
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.prototype.getStartIdentifier_asU8 = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.prototype.getStartValue_asU8 = function() {
   return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
-      this.getStartIdentifier()));
+      this.getStartValue()));
 };
 
 
 /**
  * @param {!(string|Uint8Array)} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.prototype.setStartIdentifier = function(value) {
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.prototype.setStartValue = function(value) {
   return jspb.Message.setProto3BytesField(this, 1, value);
 };
 
 
 /**
- * optional bool start_identifier_included = 2;
+ * optional bool start_value_included = 2;
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.prototype.getStartIdentifierIncluded = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.prototype.getStartValueIncluded = function() {
   return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));
 };
 
 
 /**
  * @param {boolean} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.prototype.setStartIdentifierIncluded = function(value) {
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.prototype.setStartValueIncluded = function(value) {
   return jspb.Message.setProto3BooleanField(this, 2, value);
 };
 
@@ -33024,7 +33353,7 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetConteste
  * optional bytes contract_id = 1;
  * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.getContractId = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.getContractId = function() {
   return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
 };
 
@@ -33034,7 +33363,7 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetConteste
  * This is a type-conversion wrapper around `getContractId()`
  * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.getContractId_asB64 = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.getContractId_asB64 = function() {
   return /** @type {string} */ (jspb.Message.bytesAsB64(
       this.getContractId()));
 };
@@ -33047,7 +33376,7 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetConteste
  * This is a type-conversion wrapper around `getContractId()`
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.getContractId_asU8 = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.getContractId_asU8 = function() {
   return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
       this.getContractId()));
 };
@@ -33055,9 +33384,9 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetConteste
 
 /**
  * @param {!(string|Uint8Array)} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.setContractId = function(value) {
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.setContractId = function(value) {
   return jspb.Message.setProto3BytesField(this, 1, value);
 };
 
@@ -33066,16 +33395,16 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetConteste
  * optional string document_type_name = 2;
  * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.getDocumentTypeName = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.getDocumentTypeName = function() {
   return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
 };
 
 
 /**
  * @param {string} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.setDocumentTypeName = function(value) {
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.setDocumentTypeName = function(value) {
   return jspb.Message.setProto3StringField(this, 2, value);
 };
 
@@ -33084,58 +33413,58 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetConteste
  * optional string index_name = 3;
  * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.getIndexName = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.getIndexName = function() {
   return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, ""));
 };
 
 
 /**
  * @param {string} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.setIndexName = function(value) {
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.setIndexName = function(value) {
   return jspb.Message.setProto3StringField(this, 3, value);
 };
 
 
 /**
- * repeated bytes index_values = 4;
+ * repeated bytes start_index_values = 4;
  * @return {!Array}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.getIndexValuesList = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.getStartIndexValuesList = function() {
   return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 4));
 };
 
 
 /**
- * repeated bytes index_values = 4;
- * This is a type-conversion wrapper around `getIndexValuesList()`
+ * repeated bytes start_index_values = 4;
+ * This is a type-conversion wrapper around `getStartIndexValuesList()`
  * @return {!Array}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.getIndexValuesList_asB64 = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.getStartIndexValuesList_asB64 = function() {
   return /** @type {!Array} */ (jspb.Message.bytesListAsB64(
-      this.getIndexValuesList()));
+      this.getStartIndexValuesList()));
 };
 
 
 /**
- * repeated bytes index_values = 4;
+ * repeated bytes start_index_values = 4;
  * Note that Uint8Array is not supported on all browsers.
  * @see http://caniuse.com/Uint8Array
- * This is a type-conversion wrapper around `getIndexValuesList()`
+ * This is a type-conversion wrapper around `getStartIndexValuesList()`
  * @return {!Array}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.getIndexValuesList_asU8 = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.getStartIndexValuesList_asU8 = function() {
   return /** @type {!Array} */ (jspb.Message.bytesListAsU8(
-      this.getIndexValuesList()));
+      this.getStartIndexValuesList()));
 };
 
 
 /**
  * @param {!(Array|Array)} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.setIndexValuesList = function(value) {
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.setStartIndexValuesList = function(value) {
   return jspb.Message.setField(this, 4, value || []);
 };
 
@@ -33143,83 +33472,108 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetConteste
 /**
  * @param {!(string|Uint8Array)} value
  * @param {number=} opt_index
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.addIndexValues = function(value, opt_index) {
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.addStartIndexValues = function(value, opt_index) {
   return jspb.Message.addToRepeatedField(this, 4, value, opt_index);
 };
 
 
 /**
  * Clears the list making it empty but non-null.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.clearIndexValuesList = function() {
-  return this.setIndexValuesList([]);
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.clearStartIndexValuesList = function() {
+  return this.setStartIndexValuesList([]);
 };
 
 
 /**
- * optional ResultType result_type = 5;
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.ResultType}
+ * repeated bytes end_index_values = 5;
+ * @return {!Array}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.getResultType = function() {
-  return /** @type {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.ResultType} */ (jspb.Message.getFieldWithDefault(this, 5, 0));
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.getEndIndexValuesList = function() {
+  return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 5));
 };
 
 
 /**
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.ResultType} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} returns this
+ * repeated bytes end_index_values = 5;
+ * This is a type-conversion wrapper around `getEndIndexValuesList()`
+ * @return {!Array}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.setResultType = function(value) {
-  return jspb.Message.setProto3EnumField(this, 5, value);
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.getEndIndexValuesList_asB64 = function() {
+  return /** @type {!Array} */ (jspb.Message.bytesListAsB64(
+      this.getEndIndexValuesList()));
 };
 
 
 /**
- * optional bool allow_include_locked_and_abstaining_vote_tally = 6;
- * @return {boolean}
+ * repeated bytes end_index_values = 5;
+ * Note that Uint8Array is not supported on all browsers.
+ * @see http://caniuse.com/Uint8Array
+ * This is a type-conversion wrapper around `getEndIndexValuesList()`
+ * @return {!Array}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.getAllowIncludeLockedAndAbstainingVoteTally = function() {
-  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 6, false));
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.getEndIndexValuesList_asU8 = function() {
+  return /** @type {!Array} */ (jspb.Message.bytesListAsU8(
+      this.getEndIndexValuesList()));
 };
 
 
 /**
- * @param {boolean} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} returns this
+ * @param {!(Array|Array)} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.setAllowIncludeLockedAndAbstainingVoteTally = function(value) {
-  return jspb.Message.setProto3BooleanField(this, 6, value);
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.setEndIndexValuesList = function(value) {
+  return jspb.Message.setField(this, 5, value || []);
 };
 
 
 /**
- * optional StartAtIdentifierInfo start_at_identifier_info = 7;
- * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo}
+ * @param {!(string|Uint8Array)} value
+ * @param {number=} opt_index
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.getStartAtIdentifierInfo = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo, 7));
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.addEndIndexValues = function(value, opt_index) {
+  return jspb.Message.addToRepeatedField(this, 5, value, opt_index);
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} returns this
+ * Clears the list making it empty but non-null.
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.clearEndIndexValuesList = function() {
+  return this.setEndIndexValuesList([]);
+};
+
+
+/**
+ * optional StartAtValueInfo start_at_value_info = 6;
+ * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo}
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.getStartAtValueInfo = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo, 6));
+};
+
+
+/**
+ * @param {?proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0} returns this
 */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.setStartAtIdentifierInfo = function(value) {
-  return jspb.Message.setWrapperField(this, 7, value);
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.setStartAtValueInfo = function(value) {
+  return jspb.Message.setWrapperField(this, 6, value);
 };
 
 
 /**
  * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.clearStartAtIdentifierInfo = function() {
-  return this.setStartAtIdentifierInfo(undefined);
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.clearStartAtValueInfo = function() {
+  return this.setStartAtValueInfo(undefined);
 };
 
 
@@ -33227,35 +33581,35 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetConteste
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.hasStartAtIdentifierInfo = function() {
-  return jspb.Message.getField(this, 7) != null;
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.hasStartAtValueInfo = function() {
+  return jspb.Message.getField(this, 6) != null;
 };
 
 
 /**
- * optional uint32 count = 8;
+ * optional uint32 count = 7;
  * @return {number}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.getCount = function() {
-  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 8, 0));
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.getCount = function() {
+  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 7, 0));
 };
 
 
 /**
  * @param {number} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.setCount = function(value) {
-  return jspb.Message.setField(this, 8, value);
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.setCount = function(value) {
+  return jspb.Message.setField(this, 7, value);
 };
 
 
 /**
  * Clears the field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.clearCount = function() {
-  return jspb.Message.setField(this, 8, undefined);
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.clearCount = function() {
+  return jspb.Message.setField(this, 7, undefined);
 };
 
 
@@ -33263,8 +33617,26 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetConteste
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.hasCount = function() {
-  return jspb.Message.getField(this, 8) != null;
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.hasCount = function() {
+  return jspb.Message.getField(this, 7) != null;
+};
+
+
+/**
+ * optional bool order_ascending = 8;
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.getOrderAscending = function() {
+  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 8, false));
+};
+
+
+/**
+ * @param {boolean} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.setOrderAscending = function(value) {
+  return jspb.Message.setProto3BooleanField(this, 8, value);
 };
 
 
@@ -33272,44 +33644,44 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetConteste
  * optional bool prove = 9;
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.getProve = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.getProve = function() {
   return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 9, false));
 };
 
 
 /**
  * @param {boolean} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.setProve = function(value) {
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.setProve = function(value) {
   return jspb.Message.setProto3BooleanField(this, 9, value);
 };
 
 
 /**
- * optional GetContestedResourceVoteStateRequestV0 v0 = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0}
+ * optional GetContestedResourcesRequestV0 v0 = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.prototype.getV0 = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0, 1));
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.prototype.getV0 = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0, 1));
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest} returns this
+ * @param {?proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest} returns this
 */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.prototype.setV0 = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.oneofGroups_[0], value);
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.prototype.setV0 = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.oneofGroups_[0], value);
 };
 
 
 /**
  * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.prototype.clearV0 = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.prototype.clearV0 = function() {
   return this.setV0(undefined);
 };
 
@@ -33318,7 +33690,7 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.prototype.c
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.prototype.hasV0 = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.prototype.hasV0 = function() {
   return jspb.Message.getField(this, 1) != null;
 };
 
@@ -33332,21 +33704,21 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.prototype.h
  * @private {!Array>}
  * @const
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.oneofGroups_ = [[1]];
+proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.oneofGroups_ = [[1]];
 
 /**
  * @enum {number}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.VersionCase = {
+proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.VersionCase = {
   VERSION_NOT_SET: 0,
   V0: 1
 };
 
 /**
- * @return {proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.VersionCase}
+ * @return {proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.VersionCase}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.prototype.getVersionCase = function() {
-  return /** @type {proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.oneofGroups_[0]));
+proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.prototype.getVersionCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.oneofGroups_[0]));
 };
 
 
@@ -33364,8 +33736,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.toObject(opt_includeInstance, this);
 };
 
 
@@ -33374,13 +33746,13 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.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.GetContestedResourceVoteStateResponse} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.toObject = function(includeInstance, msg) {
   var f, obj = {
-    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.toObject(includeInstance, f)
+    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.toObject(includeInstance, f)
   };
 
   if (includeInstance) {
@@ -33394,23 +33766,23 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.toObject =
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse}
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse;
-  return proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse;
+  return proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse}
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -33418,8 +33790,8 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.deserializ
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.deserializeBinaryFromReader);
+      var value = new proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.deserializeBinaryFromReader);
       msg.setV0(value);
       break;
     default:
@@ -33435,9 +33807,9 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.deserializ
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -33445,18 +33817,18 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.prototype.
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
   f = message.getV0();
   if (f != null) {
     writer.writeMessage(
       1,
       f,
-      proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.serializeBinaryToWriter
     );
   }
 };
@@ -33471,22 +33843,22 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.serializeB
  * @private {!Array>}
  * @const
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.oneofGroups_ = [[1,2]];
+proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.oneofGroups_ = [[1,2]];
 
 /**
  * @enum {number}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ResultCase = {
+proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ResultCase = {
   RESULT_NOT_SET: 0,
-  CONTESTED_RESOURCE_CONTENDERS: 1,
+  CONTESTED_RESOURCE_VALUES: 1,
   PROOF: 2
 };
 
 /**
- * @return {proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ResultCase}
+ * @return {proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ResultCase}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.prototype.getResultCase = function() {
-  return /** @type {proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.oneofGroups_[0]));
+proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.prototype.getResultCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.oneofGroups_[0]));
 };
 
 
@@ -33504,8 +33876,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.toObject(opt_includeInstance, this);
 };
 
 
@@ -33514,13 +33886,13 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContest
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.toObject = function(includeInstance, msg) {
   var f, obj = {
-    contestedResourceContenders: (f = msg.getContestedResourceContenders()) && proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.toObject(includeInstance, f),
+    contestedResourceValues: (f = msg.getContestedResourceValues()) && proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.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)
   };
@@ -33536,23 +33908,23 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContest
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0;
-  return proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0;
+  return proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -33560,9 +33932,9 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContest
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.deserializeBinaryFromReader);
-      msg.setContestedResourceContenders(value);
+      var value = new proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.deserializeBinaryFromReader);
+      msg.setContestedResourceValues(value);
       break;
     case 2:
       var value = new proto.org.dash.platform.dapi.v0.Proof;
@@ -33587,9 +33959,9 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContest
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -33597,18 +33969,18 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContest
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getContestedResourceContenders();
+  f = message.getContestedResourceValues();
   if (f != null) {
     writer.writeMessage(
       1,
       f,
-      proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.serializeBinaryToWriter
     );
   }
   f = message.getProof();
@@ -33631,6 +34003,13 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContest
 
 
 
+/**
+ * List of repeated fields within this message type.
+ * @private {!Array}
+ * @const
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.repeatedFields_ = [1];
+
 
 
 if (jspb.Message.GENERATE_TO_OBJECT) {
@@ -33646,8 +34025,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.toObject(opt_includeInstance, this);
 };
 
 
@@ -33656,18 +34035,13 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContest
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.toObject = function(includeInstance, msg) {
   var f, obj = {
-    finishedVoteOutcome: jspb.Message.getFieldWithDefault(msg, 1, 0),
-    wonByIdentityId: msg.getWonByIdentityId_asB64(),
-    finishedAtBlockHeight: jspb.Message.getFieldWithDefault(msg, 3, "0"),
-    finishedAtCoreBlockHeight: jspb.Message.getFieldWithDefault(msg, 4, 0),
-    finishedAtBlockTimeMs: jspb.Message.getFieldWithDefault(msg, 5, "0"),
-    finishedAtEpoch: jspb.Message.getFieldWithDefault(msg, 6, 0)
+    contestedResourceValuesList: msg.getContestedResourceValuesList_asB64()
   };
 
   if (includeInstance) {
@@ -33681,23 +34055,23 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContest
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo}
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo;
-  return proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues;
+  return proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo}
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -33705,28 +34079,8 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContest
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = /** @type {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.FinishedVoteOutcome} */ (reader.readEnum());
-      msg.setFinishedVoteOutcome(value);
-      break;
-    case 2:
       var value = /** @type {!Uint8Array} */ (reader.readBytes());
-      msg.setWonByIdentityId(value);
-      break;
-    case 3:
-      var value = /** @type {string} */ (reader.readUint64String());
-      msg.setFinishedAtBlockHeight(value);
-      break;
-    case 4:
-      var value = /** @type {number} */ (reader.readUint32());
-      msg.setFinishedAtCoreBlockHeight(value);
-      break;
-    case 5:
-      var value = /** @type {string} */ (reader.readUint64String());
-      msg.setFinishedAtBlockTimeMs(value);
-      break;
-    case 6:
-      var value = /** @type {number} */ (reader.readUint32());
-      msg.setFinishedAtEpoch(value);
+      msg.addContestedResourceValues(value);
       break;
     default:
       reader.skipField();
@@ -33741,9 +34095,9 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContest
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -33751,132 +34105,108 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContest
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getFinishedVoteOutcome();
-  if (f !== 0.0) {
-    writer.writeEnum(
+  f = message.getContestedResourceValuesList_asU8();
+  if (f.length > 0) {
+    writer.writeRepeatedBytes(
       1,
       f
     );
   }
-  f = /** @type {!(string|Uint8Array)} */ (jspb.Message.getField(message, 2));
-  if (f != null) {
-    writer.writeBytes(
-      2,
-      f
-    );
-  }
-  f = message.getFinishedAtBlockHeight();
-  if (parseInt(f, 10) !== 0) {
-    writer.writeUint64String(
-      3,
-      f
-    );
-  }
-  f = message.getFinishedAtCoreBlockHeight();
-  if (f !== 0) {
-    writer.writeUint32(
-      4,
-      f
-    );
-  }
-  f = message.getFinishedAtBlockTimeMs();
-  if (parseInt(f, 10) !== 0) {
-    writer.writeUint64String(
-      5,
-      f
-    );
-  }
-  f = message.getFinishedAtEpoch();
-  if (f !== 0) {
-    writer.writeUint32(
-      6,
-      f
-    );
-  }
 };
 
 
 /**
- * @enum {number}
+ * repeated bytes contested_resource_values = 1;
+ * @return {!Array}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.FinishedVoteOutcome = {
-  TOWARDS_IDENTITY: 0,
-  LOCKED: 1,
-  NO_PREVIOUS_WINNER: 2
+proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.prototype.getContestedResourceValuesList = function() {
+  return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1));
 };
 
+
 /**
- * optional FinishedVoteOutcome finished_vote_outcome = 1;
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.FinishedVoteOutcome}
+ * repeated bytes contested_resource_values = 1;
+ * This is a type-conversion wrapper around `getContestedResourceValuesList()`
+ * @return {!Array}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.prototype.getFinishedVoteOutcome = function() {
-  return /** @type {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.FinishedVoteOutcome} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
+proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.prototype.getContestedResourceValuesList_asB64 = function() {
+  return /** @type {!Array} */ (jspb.Message.bytesListAsB64(
+      this.getContestedResourceValuesList()));
 };
 
 
 /**
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.FinishedVoteOutcome} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo} returns this
+ * repeated bytes contested_resource_values = 1;
+ * Note that Uint8Array is not supported on all browsers.
+ * @see http://caniuse.com/Uint8Array
+ * This is a type-conversion wrapper around `getContestedResourceValuesList()`
+ * @return {!Array}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.prototype.setFinishedVoteOutcome = function(value) {
-  return jspb.Message.setProto3EnumField(this, 1, value);
+proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.prototype.getContestedResourceValuesList_asU8 = function() {
+  return /** @type {!Array} */ (jspb.Message.bytesListAsU8(
+      this.getContestedResourceValuesList()));
 };
 
 
 /**
- * optional bytes won_by_identity_id = 2;
- * @return {string}
+ * @param {!(Array|Array)} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.prototype.getWonByIdentityId = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
+proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.prototype.setContestedResourceValuesList = function(value) {
+  return jspb.Message.setField(this, 1, value || []);
 };
 
 
 /**
- * optional bytes won_by_identity_id = 2;
- * This is a type-conversion wrapper around `getWonByIdentityId()`
- * @return {string}
+ * @param {!(string|Uint8Array)} value
+ * @param {number=} opt_index
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.prototype.getWonByIdentityId_asB64 = function() {
-  return /** @type {string} */ (jspb.Message.bytesAsB64(
-      this.getWonByIdentityId()));
+proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.prototype.addContestedResourceValues = function(value, opt_index) {
+  return jspb.Message.addToRepeatedField(this, 1, value, opt_index);
 };
 
 
 /**
- * optional bytes won_by_identity_id = 2;
- * Note that Uint8Array is not supported on all browsers.
- * @see http://caniuse.com/Uint8Array
- * This is a type-conversion wrapper around `getWonByIdentityId()`
- * @return {!Uint8Array}
+ * Clears the list making it empty but non-null.
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.prototype.getWonByIdentityId_asU8 = function() {
-  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
-      this.getWonByIdentityId()));
+proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.prototype.clearContestedResourceValuesList = function() {
+  return this.setContestedResourceValuesList([]);
 };
 
 
 /**
- * @param {!(string|Uint8Array)} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo} returns this
+ * optional ContestedResourceValues contested_resource_values = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.prototype.setWonByIdentityId = function(value) {
-  return jspb.Message.setField(this, 2, value);
+proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.prototype.getContestedResourceValues = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues, 1));
 };
 
 
 /**
- * Clears the field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo} returns this
+ * @param {?proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.prototype.setContestedResourceValues = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.oneofGroups_[0], value);
+};
+
+
+/**
+ * Clears the message field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.prototype.clearWonByIdentityId = function() {
-  return jspb.Message.setField(this, 2, undefined);
+proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.prototype.clearContestedResourceValues = function() {
+  return this.setContestedResourceValues(undefined);
 };
 
 
@@ -33884,90 +34214,147 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContest
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.prototype.hasWonByIdentityId = function() {
-  return jspb.Message.getField(this, 2) != null;
+proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.prototype.hasContestedResourceValues = function() {
+  return jspb.Message.getField(this, 1) != null;
 };
 
 
 /**
- * optional uint64 finished_at_block_height = 3;
- * @return {string}
+ * optional Proof proof = 2;
+ * @return {?proto.org.dash.platform.dapi.v0.Proof}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.prototype.getFinishedAtBlockHeight = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "0"));
+proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.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} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo} returns this
+ * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.prototype.setProof = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.oneofGroups_[0], value);
+};
+
+
+/**
+ * Clears the message field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.prototype.setFinishedAtBlockHeight = function(value) {
-  return jspb.Message.setProto3StringIntField(this, 3, value);
+proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.prototype.clearProof = function() {
+  return this.setProof(undefined);
 };
 
 
 /**
- * optional uint32 finished_at_core_block_height = 4;
- * @return {number}
+ * Returns whether this field is set.
+ * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.prototype.getFinishedAtCoreBlockHeight = function() {
-  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0));
+proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.prototype.hasProof = function() {
+  return jspb.Message.getField(this, 2) != null;
 };
 
 
 /**
- * @param {number} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo} returns this
+ * optional ResponseMetadata metadata = 3;
+ * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.prototype.setFinishedAtCoreBlockHeight = function(value) {
-  return jspb.Message.setProto3IntField(this, 4, value);
+proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.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 uint64 finished_at_block_time_ms = 5;
- * @return {string}
+ * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.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.GetContestedResourcesResponse.GetContestedResourcesResponseV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.prototype.getFinishedAtBlockTimeMs = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, "0"));
+proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.prototype.clearMetadata = function() {
+  return this.setMetadata(undefined);
 };
 
 
 /**
- * @param {string} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo} returns this
+ * Returns whether this field is set.
+ * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.prototype.setFinishedAtBlockTimeMs = function(value) {
-  return jspb.Message.setProto3StringIntField(this, 5, value);
+proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.prototype.hasMetadata = function() {
+  return jspb.Message.getField(this, 3) != null;
 };
 
 
 /**
- * optional uint32 finished_at_epoch = 6;
- * @return {number}
+ * optional GetContestedResourcesResponseV0 v0 = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.prototype.getFinishedAtEpoch = function() {
-  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 6, 0));
+proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.prototype.getV0 = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0, 1));
 };
 
 
 /**
- * @param {number} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo} returns this
+ * @param {?proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.prototype.setV0 = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.oneofGroups_[0], value);
+};
+
+
+/**
+ * Clears the message field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.prototype.setFinishedAtEpoch = function(value) {
-  return jspb.Message.setProto3IntField(this, 6, value);
+proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.prototype.clearV0 = function() {
+  return this.setV0(undefined);
+};
+
+
+/**
+ * Returns whether this field is set.
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.repeatedFields_ = [1];
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.oneofGroups_ = [[1]];
+
+/**
+ * @enum {number}
+ */
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.VersionCase = {
+  VERSION_NOT_SET: 0,
+  V0: 1
+};
+
+/**
+ * @return {proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.VersionCase}
+ */
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.prototype.getVersionCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.oneofGroups_[0]));
+};
 
 
 
@@ -33984,8 +34371,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.toObject(opt_includeInstance, this);
 };
 
 
@@ -33994,17 +34381,13 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContest
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.toObject = function(includeInstance, msg) {
   var f, obj = {
-    contendersList: jspb.Message.toObjectList(msg.getContendersList(),
-    proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.toObject, includeInstance),
-    abstainVoteTally: jspb.Message.getFieldWithDefault(msg, 2, 0),
-    lockVoteTally: jspb.Message.getFieldWithDefault(msg, 3, 0),
-    finishedVoteInfo: (f = msg.getFinishedVoteInfo()) && proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.toObject(includeInstance, f)
+    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.toObject(includeInstance, f)
   };
 
   if (includeInstance) {
@@ -34018,23 +34401,23 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContest
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders}
+ * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders;
-  return proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest;
+  return proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders}
+ * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -34042,22 +34425,9 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContest
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.deserializeBinaryFromReader);
-      msg.addContenders(value);
-      break;
-    case 2:
-      var value = /** @type {number} */ (reader.readUint32());
-      msg.setAbstainVoteTally(value);
-      break;
-    case 3:
-      var value = /** @type {number} */ (reader.readUint32());
-      msg.setLockVoteTally(value);
-      break;
-    case 4:
-      var value = new proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.deserializeBinaryFromReader);
-      msg.setFinishedVoteInfo(value);
+      var value = new proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.deserializeBinaryFromReader);
+      msg.setV0(value);
       break;
     default:
       reader.skipField();
@@ -34072,9 +34442,9 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContest
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -34082,189 +34452,196 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContest
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getContendersList();
-  if (f.length > 0) {
-    writer.writeRepeatedMessage(
-      1,
-      f,
-      proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.serializeBinaryToWriter
-    );
-  }
-  f = /** @type {number} */ (jspb.Message.getField(message, 2));
-  if (f != null) {
-    writer.writeUint32(
-      2,
-      f
-    );
-  }
-  f = /** @type {number} */ (jspb.Message.getField(message, 3));
-  if (f != null) {
-    writer.writeUint32(
-      3,
-      f
-    );
-  }
-  f = message.getFinishedVoteInfo();
+  f = message.getV0();
   if (f != null) {
     writer.writeMessage(
-      4,
+      1,
       f,
-      proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.serializeBinaryToWriter
     );
   }
 };
 
 
-/**
- * repeated Contender contenders = 1;
- * @return {!Array}
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.prototype.getContendersList = function() {
-  return /** @type{!Array} */ (
-    jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender, 1));
-};
-
 
-/**
- * @param {!Array} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders} returns this
-*/
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.prototype.setContendersList = function(value) {
-  return jspb.Message.setRepeatedWrapperField(this, 1, value);
-};
 
 
+if (jspb.Message.GENERATE_TO_OBJECT) {
 /**
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender=} opt_value
- * @param {number=} opt_index
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender}
+ * 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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.prototype.addContenders = function(opt_value, opt_index) {
-  return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender, opt_index);
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.toObject(opt_includeInstance, this);
 };
 
 
 /**
- * Clears the list making it empty but non-null.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders} 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.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0} msg The msg instance to transform.
+ * @return {!Object}
+ * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.prototype.clearContendersList = function() {
-  return this.setContendersList([]);
-};
-
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.toObject = function(includeInstance, msg) {
+  var f, obj = {
+    startTimeInfo: (f = msg.getStartTimeInfo()) && proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.toObject(includeInstance, f),
+    endTimeInfo: (f = msg.getEndTimeInfo()) && proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.toObject(includeInstance, f),
+    limit: jspb.Message.getFieldWithDefault(msg, 3, 0),
+    offset: jspb.Message.getFieldWithDefault(msg, 4, 0),
+    ascending: jspb.Message.getBooleanFieldWithDefault(msg, 5, false),
+    prove: jspb.Message.getBooleanFieldWithDefault(msg, 6, false)
+  };
 
-/**
- * optional uint32 abstain_vote_tally = 2;
- * @return {number}
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.prototype.getAbstainVoteTally = function() {
-  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
+  if (includeInstance) {
+    obj.$jspbMessageInstance = msg;
+  }
+  return obj;
 };
+}
 
 
 /**
- * @param {number} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders} returns this
+ * Deserializes binary data (in protobuf wire format).
+ * @param {jspb.ByteSource} bytes The bytes to deserialize.
+ * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.prototype.setAbstainVoteTally = function(value) {
-  return jspb.Message.setField(this, 2, value);
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.deserializeBinary = function(bytes) {
+  var reader = new jspb.BinaryReader(bytes);
+  var msg = new proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0;
+  return proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
- * Clears the field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders} 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.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0} msg The message object to deserialize into.
+ * @param {!jspb.BinaryReader} reader The BinaryReader to use.
+ * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.prototype.clearAbstainVoteTally = function() {
-  return jspb.Message.setField(this, 2, undefined);
-};
-
-
-/**
- * Returns whether this field is set.
- * @return {boolean}
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.prototype.hasAbstainVoteTally = function() {
-  return jspb.Message.getField(this, 2) != null;
-};
-
-
-/**
- * optional uint32 lock_vote_tally = 3;
- * @return {number}
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.prototype.getLockVoteTally = function() {
-  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));
-};
-
-
-/**
- * @param {number} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders} returns this
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.prototype.setLockVoteTally = function(value) {
-  return jspb.Message.setField(this, 3, value);
-};
-
-
-/**
- * Clears the field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders} returns this
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.prototype.clearLockVoteTally = function() {
-  return jspb.Message.setField(this, 3, undefined);
-};
-
-
-/**
- * Returns whether this field is set.
- * @return {boolean}
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.prototype.hasLockVoteTally = function() {
-  return jspb.Message.getField(this, 3) != null;
-};
-
-
-/**
- * optional FinishedVoteInfo finished_vote_info = 4;
- * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo}
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.prototype.getFinishedVoteInfo = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo, 4));
-};
-
-
-/**
- * @param {?proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders} returns this
-*/
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.prototype.setFinishedVoteInfo = function(value) {
-  return jspb.Message.setWrapperField(this, 4, value);
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.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.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.deserializeBinaryFromReader);
+      msg.setStartTimeInfo(value);
+      break;
+    case 2:
+      var value = new proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.deserializeBinaryFromReader);
+      msg.setEndTimeInfo(value);
+      break;
+    case 3:
+      var value = /** @type {number} */ (reader.readUint32());
+      msg.setLimit(value);
+      break;
+    case 4:
+      var value = /** @type {number} */ (reader.readUint32());
+      msg.setOffset(value);
+      break;
+    case 5:
+      var value = /** @type {boolean} */ (reader.readBool());
+      msg.setAscending(value);
+      break;
+    case 6:
+      var value = /** @type {boolean} */ (reader.readBool());
+      msg.setProve(value);
+      break;
+    default:
+      reader.skipField();
+      break;
+    }
+  }
+  return msg;
 };
 
 
 /**
- * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders} returns this
+ * Serializes the message to binary data (in protobuf wire format).
+ * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.prototype.clearFinishedVoteInfo = function() {
-  return this.setFinishedVoteInfo(undefined);
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prototype.serializeBinary = function() {
+  var writer = new jspb.BinaryWriter();
+  proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.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.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0} message
+ * @param {!jspb.BinaryWriter} writer
+ * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.prototype.hasFinishedVoteInfo = function() {
-  return jspb.Message.getField(this, 4) != null;
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.serializeBinaryToWriter = function(message, writer) {
+  var f = undefined;
+  f = message.getStartTimeInfo();
+  if (f != null) {
+    writer.writeMessage(
+      1,
+      f,
+      proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.serializeBinaryToWriter
+    );
+  }
+  f = message.getEndTimeInfo();
+  if (f != null) {
+    writer.writeMessage(
+      2,
+      f,
+      proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.serializeBinaryToWriter
+    );
+  }
+  f = /** @type {number} */ (jspb.Message.getField(message, 3));
+  if (f != null) {
+    writer.writeUint32(
+      3,
+      f
+    );
+  }
+  f = /** @type {number} */ (jspb.Message.getField(message, 4));
+  if (f != null) {
+    writer.writeUint32(
+      4,
+      f
+    );
+  }
+  f = message.getAscending();
+  if (f) {
+    writer.writeBool(
+      5,
+      f
+    );
+  }
+  f = message.getProve();
+  if (f) {
+    writer.writeBool(
+      6,
+      f
+    );
+  }
 };
 
 
@@ -34284,8 +34661,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.toObject(opt_includeInstance, this);
 };
 
 
@@ -34294,15 +34671,14 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContest
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.toObject = function(includeInstance, msg) {
   var f, obj = {
-    identifier: msg.getIdentifier_asB64(),
-    voteCount: jspb.Message.getFieldWithDefault(msg, 2, 0),
-    document: msg.getDocument_asB64()
+    startTimeMs: jspb.Message.getFieldWithDefault(msg, 1, "0"),
+    startTimeIncluded: jspb.Message.getBooleanFieldWithDefault(msg, 2, false)
   };
 
   if (includeInstance) {
@@ -34316,23 +34692,23 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContest
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender}
+ * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender;
-  return proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo;
+  return proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender}
+ * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -34340,16 +34716,12 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContest
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = /** @type {!Uint8Array} */ (reader.readBytes());
-      msg.setIdentifier(value);
+      var value = /** @type {string} */ (reader.readUint64String());
+      msg.setStartTimeMs(value);
       break;
     case 2:
-      var value = /** @type {number} */ (reader.readUint32());
-      msg.setVoteCount(value);
-      break;
-    case 3:
-      var value = /** @type {!Uint8Array} */ (reader.readBytes());
-      msg.setDocument(value);
+      var value = /** @type {boolean} */ (reader.readBool());
+      msg.setStartTimeIncluded(value);
       break;
     default:
       reader.skipField();
@@ -34364,9 +34736,9 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContest
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -34374,199 +34746,250 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContest
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getIdentifier_asU8();
-  if (f.length > 0) {
-    writer.writeBytes(
+  f = message.getStartTimeMs();
+  if (parseInt(f, 10) !== 0) {
+    writer.writeUint64String(
       1,
       f
     );
   }
-  f = /** @type {number} */ (jspb.Message.getField(message, 2));
-  if (f != null) {
-    writer.writeUint32(
+  f = message.getStartTimeIncluded();
+  if (f) {
+    writer.writeBool(
       2,
       f
     );
   }
-  f = /** @type {!(string|Uint8Array)} */ (jspb.Message.getField(message, 3));
-  if (f != null) {
-    writer.writeBytes(
-      3,
-      f
-    );
-  }
 };
 
 
 /**
- * optional bytes identifier = 1;
+ * optional uint64 start_time_ms = 1;
  * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.prototype.getIdentifier = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.prototype.getStartTimeMs = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "0"));
 };
 
 
 /**
- * optional bytes identifier = 1;
- * This is a type-conversion wrapper around `getIdentifier()`
- * @return {string}
+ * @param {string} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.prototype.getIdentifier_asB64 = function() {
-  return /** @type {string} */ (jspb.Message.bytesAsB64(
-      this.getIdentifier()));
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.prototype.setStartTimeMs = function(value) {
+  return jspb.Message.setProto3StringIntField(this, 1, value);
 };
 
 
 /**
- * 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}
+ * optional bool start_time_included = 2;
+ * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.prototype.getIdentifier_asU8 = function() {
-  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
-      this.getIdentifier()));
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.prototype.getStartTimeIncluded = function() {
+  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));
 };
 
 
 /**
- * @param {!(string|Uint8Array)} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender} returns this
+ * @param {boolean} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.prototype.setIdentifier = function(value) {
-  return jspb.Message.setProto3BytesField(this, 1, value);
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.prototype.setStartTimeIncluded = function(value) {
+  return jspb.Message.setProto3BooleanField(this, 2, value);
 };
 
 
+
+
+
+if (jspb.Message.GENERATE_TO_OBJECT) {
 /**
- * optional uint32 vote_count = 2;
- * @return {number}
+ * 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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.prototype.getVoteCount = function() {
-  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.toObject(opt_includeInstance, this);
 };
 
 
 /**
- * @param {number} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender} 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.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo} msg The msg instance to transform.
+ * @return {!Object}
+ * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.prototype.setVoteCount = function(value) {
-  return jspb.Message.setField(this, 2, value);
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.toObject = function(includeInstance, msg) {
+  var f, obj = {
+    endTimeMs: jspb.Message.getFieldWithDefault(msg, 1, "0"),
+    endTimeIncluded: jspb.Message.getBooleanFieldWithDefault(msg, 2, false)
+  };
+
+  if (includeInstance) {
+    obj.$jspbMessageInstance = msg;
+  }
+  return obj;
 };
+}
 
 
 /**
- * Clears the field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender} returns this
+ * Deserializes binary data (in protobuf wire format).
+ * @param {jspb.ByteSource} bytes The bytes to deserialize.
+ * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.prototype.clearVoteCount = function() {
-  return jspb.Message.setField(this, 2, undefined);
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.deserializeBinary = function(bytes) {
+  var reader = new jspb.BinaryReader(bytes);
+  var msg = new proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo;
+  return proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.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.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo} msg The message object to deserialize into.
+ * @param {!jspb.BinaryReader} reader The BinaryReader to use.
+ * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.prototype.hasVoteCount = function() {
-  return jspb.Message.getField(this, 2) != null;
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.deserializeBinaryFromReader = function(msg, reader) {
+  while (reader.nextField()) {
+    if (reader.isEndGroup()) {
+      break;
+    }
+    var field = reader.getFieldNumber();
+    switch (field) {
+    case 1:
+      var value = /** @type {string} */ (reader.readUint64String());
+      msg.setEndTimeMs(value);
+      break;
+    case 2:
+      var value = /** @type {boolean} */ (reader.readBool());
+      msg.setEndTimeIncluded(value);
+      break;
+    default:
+      reader.skipField();
+      break;
+    }
+  }
+  return msg;
 };
 
 
 /**
- * optional bytes document = 3;
- * @return {string}
+ * Serializes the message to binary data (in protobuf wire format).
+ * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.prototype.getDocument = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, ""));
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.prototype.serializeBinary = function() {
+  var writer = new jspb.BinaryWriter();
+  proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.serializeBinaryToWriter(this, writer);
+  return writer.getResultBuffer();
 };
 
 
 /**
- * optional bytes document = 3;
- * This is a type-conversion wrapper around `getDocument()`
- * @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.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo} message
+ * @param {!jspb.BinaryWriter} writer
+ * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.prototype.getDocument_asB64 = function() {
-  return /** @type {string} */ (jspb.Message.bytesAsB64(
-      this.getDocument()));
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.serializeBinaryToWriter = function(message, writer) {
+  var f = undefined;
+  f = message.getEndTimeMs();
+  if (parseInt(f, 10) !== 0) {
+    writer.writeUint64String(
+      1,
+      f
+    );
+  }
+  f = message.getEndTimeIncluded();
+  if (f) {
+    writer.writeBool(
+      2,
+      f
+    );
+  }
 };
 
 
 /**
- * optional bytes document = 3;
- * Note that Uint8Array is not supported on all browsers.
- * @see http://caniuse.com/Uint8Array
- * This is a type-conversion wrapper around `getDocument()`
- * @return {!Uint8Array}
+ * optional uint64 end_time_ms = 1;
+ * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.prototype.getDocument_asU8 = function() {
-  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
-      this.getDocument()));
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.prototype.getEndTimeMs = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "0"));
 };
 
 
 /**
- * @param {!(string|Uint8Array)} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender} returns this
+ * @param {string} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.prototype.setDocument = function(value) {
-  return jspb.Message.setField(this, 3, value);
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.prototype.setEndTimeMs = function(value) {
+  return jspb.Message.setProto3StringIntField(this, 1, value);
 };
 
 
 /**
- * Clears the field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender} returns this
+ * optional bool end_time_included = 2;
+ * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.prototype.clearDocument = function() {
-  return jspb.Message.setField(this, 3, undefined);
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.prototype.getEndTimeIncluded = 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.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.prototype.hasDocument = function() {
-  return jspb.Message.getField(this, 3) != null;
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.prototype.setEndTimeIncluded = function(value) {
+  return jspb.Message.setProto3BooleanField(this, 2, value);
 };
 
 
 /**
- * optional ContestedResourceContenders contested_resource_contenders = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders}
+ * optional StartAtTimeInfo start_time_info = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.prototype.getContestedResourceContenders = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders, 1));
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prototype.getStartTimeInfo = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo, 1));
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0} returns this
+ * @param {?proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0} returns this
 */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.prototype.setContestedResourceContenders = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.oneofGroups_[0], value);
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prototype.setStartTimeInfo = function(value) {
+  return jspb.Message.setWrapperField(this, 1, value);
 };
 
 
 /**
  * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.prototype.clearContestedResourceContenders = function() {
-  return this.setContestedResourceContenders(undefined);
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prototype.clearStartTimeInfo = function() {
+  return this.setStartTimeInfo(undefined);
 };
 
 
@@ -34574,36 +34997,36 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContest
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.prototype.hasContestedResourceContenders = function() {
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prototype.hasStartTimeInfo = function() {
   return jspb.Message.getField(this, 1) != null;
 };
 
 
 /**
- * optional Proof proof = 2;
- * @return {?proto.org.dash.platform.dapi.v0.Proof}
+ * optional EndAtTimeInfo end_time_info = 2;
+ * @return {?proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.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.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prototype.getEndTimeInfo = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo, 2));
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0} returns this
+ * @param {?proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0} returns this
 */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.prototype.setProof = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.oneofGroups_[0], value);
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prototype.setEndTimeInfo = function(value) {
+  return jspb.Message.setWrapperField(this, 2, value);
 };
 
 
 /**
  * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.prototype.clearProof = function() {
-  return this.setProof(undefined);
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prototype.clearEndTimeInfo = function() {
+  return this.setEndTimeInfo(undefined);
 };
 
 
@@ -34611,36 +35034,35 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContest
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.prototype.hasProof = function() {
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prototype.hasEndTimeInfo = function() {
   return jspb.Message.getField(this, 2) != null;
 };
 
 
 /**
- * optional ResponseMetadata metadata = 3;
- * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata}
+ * optional uint32 limit = 3;
+ * @return {number}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.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.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prototype.getLimit = function() {
+  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0} returns this
-*/
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.prototype.setMetadata = function(value) {
-  return jspb.Message.setWrapperField(this, 3, value);
+ * @param {number} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prototype.setLimit = function(value) {
+  return jspb.Message.setField(this, 3, value);
 };
 
 
 /**
- * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0} returns this
+ * Clears the field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.prototype.clearMetadata = function() {
-  return this.setMetadata(undefined);
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prototype.clearLimit = function() {
+  return jspb.Message.setField(this, 3, undefined);
 };
 
 
@@ -34648,35 +35070,107 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContest
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.prototype.hasMetadata = function() {
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prototype.hasLimit = function() {
   return jspb.Message.getField(this, 3) != null;
 };
 
 
 /**
- * optional GetContestedResourceVoteStateResponseV0 v0 = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0}
+ * optional uint32 offset = 4;
+ * @return {number}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.prototype.getV0 = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0, 1));
-};
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prototype.getOffset = function() {
+  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0));
+};
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse} returns this
+ * @param {number} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prototype.setOffset = function(value) {
+  return jspb.Message.setField(this, 4, value);
+};
+
+
+/**
+ * Clears the field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prototype.clearOffset = function() {
+  return jspb.Message.setField(this, 4, undefined);
+};
+
+
+/**
+ * Returns whether this field is set.
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prototype.hasOffset = function() {
+  return jspb.Message.getField(this, 4) != null;
+};
+
+
+/**
+ * optional bool ascending = 5;
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prototype.getAscending = function() {
+  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 5, false));
+};
+
+
+/**
+ * @param {boolean} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prototype.setAscending = function(value) {
+  return jspb.Message.setProto3BooleanField(this, 5, value);
+};
+
+
+/**
+ * optional bool prove = 6;
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prototype.getProve = function() {
+  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 6, false));
+};
+
+
+/**
+ * @param {boolean} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prototype.setProve = function(value) {
+  return jspb.Message.setProto3BooleanField(this, 6, value);
+};
+
+
+/**
+ * optional GetVotePollsByEndDateRequestV0 v0 = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0}
+ */
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.prototype.getV0 = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0, 1));
+};
+
+
+/**
+ * @param {?proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest} returns this
 */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.prototype.setV0 = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.oneofGroups_[0], value);
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.prototype.setV0 = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.oneofGroups_[0], value);
 };
 
 
 /**
  * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.prototype.clearV0 = function() {
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.prototype.clearV0 = function() {
   return this.setV0(undefined);
 };
 
@@ -34685,7 +35179,7 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.prototype.
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.prototype.hasV0 = function() {
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.prototype.hasV0 = function() {
   return jspb.Message.getField(this, 1) != null;
 };
 
@@ -34699,21 +35193,21 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.prototype.
  * @private {!Array>}
  * @const
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.oneofGroups_ = [[1]];
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.oneofGroups_ = [[1]];
 
 /**
  * @enum {number}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.VersionCase = {
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.VersionCase = {
   VERSION_NOT_SET: 0,
   V0: 1
 };
 
 /**
- * @return {proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.VersionCase}
+ * @return {proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.VersionCase}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.prototype.getVersionCase = function() {
-  return /** @type {proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.oneofGroups_[0]));
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.prototype.getVersionCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.oneofGroups_[0]));
 };
 
 
@@ -34731,8 +35225,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.toObject(opt_includeInstance, this);
 };
 
 
@@ -34741,13 +35235,13 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.pro
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.toObject = function(includeInstance, msg) {
   var f, obj = {
-    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.toObject(includeInstance, f)
+    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.toObject(includeInstance, f)
   };
 
   if (includeInstance) {
@@ -34761,23 +35255,23 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.toO
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest}
+ * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest;
-  return proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse;
+  return proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest}
+ * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -34785,8 +35279,8 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.des
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.deserializeBinaryFromReader);
+      var value = new proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.deserializeBinaryFromReader);
       msg.setV0(value);
       break;
     default:
@@ -34802,9 +35296,9 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.des
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -34812,18 +35306,18 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.pro
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
   f = message.getV0();
   if (f != null) {
     writer.writeMessage(
       1,
       f,
-      proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.serializeBinaryToWriter
     );
   }
 };
@@ -34831,11 +35325,30 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.ser
 
 
 /**
- * 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.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.repeatedFields_ = [4];
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.oneofGroups_ = [[1,2]];
+
+/**
+ * @enum {number}
+ */
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.ResultCase = {
+  RESULT_NOT_SET: 0,
+  VOTE_POLLS_BY_TIMESTAMPS: 1,
+  PROOF: 2
+};
+
+/**
+ * @return {proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.ResultCase}
+ */
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.prototype.getResultCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.oneofGroups_[0]));
+};
 
 
 
@@ -34852,8 +35365,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.toObject(opt_includeInstance, this);
 };
 
 
@@ -34862,21 +35375,15 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.Get
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.toObject = function(includeInstance, msg) {
   var f, obj = {
-    contractId: msg.getContractId_asB64(),
-    documentTypeName: jspb.Message.getFieldWithDefault(msg, 2, ""),
-    indexName: jspb.Message.getFieldWithDefault(msg, 3, ""),
-    indexValuesList: msg.getIndexValuesList_asB64(),
-    contestantId: msg.getContestantId_asB64(),
-    startAtIdentifierInfo: (f = msg.getStartAtIdentifierInfo()) && proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.toObject(includeInstance, f),
-    count: jspb.Message.getFieldWithDefault(msg, 7, 0),
-    orderAscending: jspb.Message.getBooleanFieldWithDefault(msg, 8, false),
-    prove: jspb.Message.getBooleanFieldWithDefault(msg, 9, false)
+    votePollsByTimestamps: (f = msg.getVotePollsByTimestamps()) && proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.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) {
@@ -34890,23 +35397,23 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.Get
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0;
-  return proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0;
+  return proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -34914,41 +35421,19 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.Get
     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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.deserializeBinaryFromReader);
+      msg.setVotePollsByTimestamps(value);
       break;
     case 2:
-      var value = /** @type {string} */ (reader.readString());
-      msg.setDocumentTypeName(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.setIndexName(value);
-      break;
-    case 4:
-      var value = /** @type {!Uint8Array} */ (reader.readBytes());
-      msg.addIndexValues(value);
-      break;
-    case 5:
-      var value = /** @type {!Uint8Array} */ (reader.readBytes());
-      msg.setContestantId(value);
-      break;
-    case 6:
-      var value = new proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.deserializeBinaryFromReader);
-      msg.setStartAtIdentifierInfo(value);
-      break;
-    case 7:
-      var value = /** @type {number} */ (reader.readUint32());
-      msg.setCount(value);
-      break;
-    case 8:
-      var value = /** @type {boolean} */ (reader.readBool());
-      msg.setOrderAscending(value);
-      break;
-    case 9:
-      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();
@@ -34963,9 +35448,9 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.Get
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -34973,80 +35458,47 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.Get
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getContractId_asU8();
-  if (f.length > 0) {
-    writer.writeBytes(
+  f = message.getVotePollsByTimestamps();
+  if (f != null) {
+    writer.writeMessage(
       1,
-      f
-    );
-  }
-  f = message.getDocumentTypeName();
-  if (f.length > 0) {
-    writer.writeString(
-      2,
-      f
-    );
-  }
-  f = message.getIndexName();
-  if (f.length > 0) {
-    writer.writeString(
-      3,
-      f
-    );
-  }
-  f = message.getIndexValuesList_asU8();
-  if (f.length > 0) {
-    writer.writeRepeatedBytes(
-      4,
-      f
-    );
-  }
-  f = message.getContestantId_asU8();
-  if (f.length > 0) {
-    writer.writeBytes(
-      5,
-      f
+      f,
+      proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.serializeBinaryToWriter
     );
   }
-  f = message.getStartAtIdentifierInfo();
+  f = message.getProof();
   if (f != null) {
     writer.writeMessage(
-      6,
+      2,
       f,
-      proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter
     );
   }
-  f = /** @type {number} */ (jspb.Message.getField(message, 7));
+  f = message.getMetadata();
   if (f != null) {
-    writer.writeUint32(
-      7,
-      f
-    );
-  }
-  f = message.getOrderAscending();
-  if (f) {
-    writer.writeBool(
-      8,
-      f
-    );
-  }
-  f = message.getProve();
-  if (f) {
-    writer.writeBool(
-      9,
-      f
+    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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.repeatedFields_ = [2];
+
 
 
 if (jspb.Message.GENERATE_TO_OBJECT) {
@@ -35062,8 +35514,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.toObject(opt_includeInstance, this);
 };
 
 
@@ -35072,14 +35524,14 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.Get
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.toObject = function(includeInstance, msg) {
   var f, obj = {
-    startIdentifier: msg.getStartIdentifier_asB64(),
-    startIdentifierIncluded: jspb.Message.getBooleanFieldWithDefault(msg, 2, false)
+    timestamp: jspb.Message.getFieldWithDefault(msg, 1, "0"),
+    serializedVotePollsList: msg.getSerializedVotePollsList_asB64()
   };
 
   if (includeInstance) {
@@ -35093,23 +35545,23 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.Get
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo}
+ * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo;
-  return proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp;
+  return proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo}
+ * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -35117,12 +35569,12 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.Get
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = /** @type {!Uint8Array} */ (reader.readBytes());
-      msg.setStartIdentifier(value);
+      var value = /** @type {string} */ (reader.readUint64String());
+      msg.setTimestamp(value);
       break;
     case 2:
-      var value = /** @type {boolean} */ (reader.readBool());
-      msg.setStartIdentifierIncluded(value);
+      var value = /** @type {!Uint8Array} */ (reader.readBytes());
+      msg.addSerializedVotePolls(value);
       break;
     default:
       reader.skipField();
@@ -35137,9 +35589,9 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.Get
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -35147,22 +35599,22 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.Get
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getStartIdentifier_asU8();
-  if (f.length > 0) {
-    writer.writeBytes(
+  f = message.getTimestamp();
+  if (parseInt(f, 10) !== 0) {
+    writer.writeUint64String(
       1,
       f
     );
   }
-  f = message.getStartIdentifierIncluded();
-  if (f) {
-    writer.writeBool(
+  f = message.getSerializedVotePollsList_asU8();
+  if (f.length > 0) {
+    writer.writeRepeatedBytes(
       2,
       f
     );
@@ -35171,271 +35623,299 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.Get
 
 
 /**
- * optional bytes start_identifier = 1;
+ * optional uint64 timestamp = 1;
  * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.prototype.getStartIdentifier = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.prototype.getTimestamp = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "0"));
 };
 
 
 /**
- * optional bytes start_identifier = 1;
- * This is a type-conversion wrapper around `getStartIdentifier()`
- * @return {string}
+ * @param {string} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.prototype.getStartIdentifier_asB64 = function() {
-  return /** @type {string} */ (jspb.Message.bytesAsB64(
-      this.getStartIdentifier()));
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.prototype.setTimestamp = function(value) {
+  return jspb.Message.setProto3StringIntField(this, 1, value);
 };
 
 
 /**
- * optional bytes start_identifier = 1;
- * Note that Uint8Array is not supported on all browsers.
- * @see http://caniuse.com/Uint8Array
- * This is a type-conversion wrapper around `getStartIdentifier()`
- * @return {!Uint8Array}
+ * repeated bytes serialized_vote_polls = 2;
+ * @return {!Array}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.prototype.getStartIdentifier_asU8 = function() {
-  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
-      this.getStartIdentifier()));
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.prototype.getSerializedVotePollsList = function() {
+  return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 2));
 };
 
 
 /**
- * @param {!(string|Uint8Array)} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo} returns this
+ * repeated bytes serialized_vote_polls = 2;
+ * This is a type-conversion wrapper around `getSerializedVotePollsList()`
+ * @return {!Array}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.prototype.setStartIdentifier = function(value) {
-  return jspb.Message.setProto3BytesField(this, 1, value);
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.prototype.getSerializedVotePollsList_asB64 = function() {
+  return /** @type {!Array} */ (jspb.Message.bytesListAsB64(
+      this.getSerializedVotePollsList()));
 };
 
 
 /**
- * optional bool start_identifier_included = 2;
- * @return {boolean}
+ * repeated bytes serialized_vote_polls = 2;
+ * Note that Uint8Array is not supported on all browsers.
+ * @see http://caniuse.com/Uint8Array
+ * This is a type-conversion wrapper around `getSerializedVotePollsList()`
+ * @return {!Array}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.prototype.getStartIdentifierIncluded = function() {
-  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.prototype.getSerializedVotePollsList_asU8 = function() {
+  return /** @type {!Array} */ (jspb.Message.bytesListAsU8(
+      this.getSerializedVotePollsList()));
 };
 
 
 /**
- * @param {boolean} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo} returns this
+ * @param {!(Array|Array)} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.prototype.setStartIdentifierIncluded = function(value) {
-  return jspb.Message.setProto3BooleanField(this, 2, value);
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.prototype.setSerializedVotePollsList = function(value) {
+  return jspb.Message.setField(this, 2, value || []);
 };
 
 
 /**
- * optional bytes contract_id = 1;
- * @return {string}
+ * @param {!(string|Uint8Array)} value
+ * @param {number=} opt_index
+ * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.getContractId = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.prototype.addSerializedVotePolls = function(value, opt_index) {
+  return jspb.Message.addToRepeatedField(this, 2, value, opt_index);
 };
 
 
 /**
- * optional bytes contract_id = 1;
- * This is a type-conversion wrapper around `getContractId()`
- * @return {string}
+ * Clears the list making it empty but non-null.
+ * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.getContractId_asB64 = function() {
-  return /** @type {string} */ (jspb.Message.bytesAsB64(
-      this.getContractId()));
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.prototype.clearSerializedVotePollsList = function() {
+  return this.setSerializedVotePollsList([]);
 };
 
 
-/**
- * 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.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.getContractId_asU8 = function() {
-  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
-      this.getContractId()));
-};
-
 
 /**
- * @param {!(string|Uint8Array)} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} returns this
+ * List of repeated fields within this message type.
+ * @private {!Array}
+ * @const
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.setContractId = function(value) {
-  return jspb.Message.setProto3BytesField(this, 1, value);
-};
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.repeatedFields_ = [1];
 
 
+
+if (jspb.Message.GENERATE_TO_OBJECT) {
 /**
- * optional string document_type_name = 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.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.getDocumentTypeName = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.toObject(opt_includeInstance, this);
 };
 
 
 /**
- * @param {string} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} 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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps} msg The msg instance to transform.
+ * @return {!Object}
+ * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.setDocumentTypeName = function(value) {
-  return jspb.Message.setProto3StringField(this, 2, value);
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.toObject = function(includeInstance, msg) {
+  var f, obj = {
+    votePollsByTimestampsList: jspb.Message.toObjectList(msg.getVotePollsByTimestampsList(),
+    proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.toObject, includeInstance),
+    finishedResults: jspb.Message.getBooleanFieldWithDefault(msg, 2, false)
+  };
+
+  if (includeInstance) {
+    obj.$jspbMessageInstance = msg;
+  }
+  return obj;
 };
+}
 
 
 /**
- * optional string index_name = 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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.getIndexName = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, ""));
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.deserializeBinary = function(bytes) {
+  var reader = new jspb.BinaryReader(bytes);
+  var msg = new proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps;
+  return proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
- * @param {string} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} 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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps} msg The message object to deserialize into.
+ * @param {!jspb.BinaryReader} reader The BinaryReader to use.
+ * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.setIndexName = function(value) {
-  return jspb.Message.setProto3StringField(this, 3, value);
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.deserializeBinaryFromReader);
+      msg.addVotePollsByTimestamps(value);
+      break;
+    case 2:
+      var value = /** @type {boolean} */ (reader.readBool());
+      msg.setFinishedResults(value);
+      break;
+    default:
+      reader.skipField();
+      break;
+    }
+  }
+  return msg;
 };
 
 
 /**
- * repeated bytes index_values = 4;
- * @return {!Array}
+ * Serializes the message to binary data (in protobuf wire format).
+ * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.getIndexValuesList = function() {
-  return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 4));
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.prototype.serializeBinary = function() {
+  var writer = new jspb.BinaryWriter();
+  proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.serializeBinaryToWriter(this, writer);
+  return writer.getResultBuffer();
 };
 
 
 /**
- * repeated bytes index_values = 4;
- * This is a type-conversion wrapper around `getIndexValuesList()`
- * @return {!Array}
+ * Serializes the given message to binary data (in protobuf wire
+ * format), writing to the given BinaryWriter.
+ * @param {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps} message
+ * @param {!jspb.BinaryWriter} writer
+ * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.getIndexValuesList_asB64 = function() {
-  return /** @type {!Array} */ (jspb.Message.bytesListAsB64(
-      this.getIndexValuesList()));
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.serializeBinaryToWriter = function(message, writer) {
+  var f = undefined;
+  f = message.getVotePollsByTimestampsList();
+  if (f.length > 0) {
+    writer.writeRepeatedMessage(
+      1,
+      f,
+      proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.serializeBinaryToWriter
+    );
+  }
+  f = message.getFinishedResults();
+  if (f) {
+    writer.writeBool(
+      2,
+      f
+    );
+  }
 };
 
 
 /**
- * repeated bytes index_values = 4;
- * Note that Uint8Array is not supported on all browsers.
- * @see http://caniuse.com/Uint8Array
- * This is a type-conversion wrapper around `getIndexValuesList()`
- * @return {!Array}
+ * repeated SerializedVotePollsByTimestamp vote_polls_by_timestamps = 1;
+ * @return {!Array}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.getIndexValuesList_asU8 = function() {
-  return /** @type {!Array} */ (jspb.Message.bytesListAsU8(
-      this.getIndexValuesList()));
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.prototype.getVotePollsByTimestampsList = function() {
+  return /** @type{!Array} */ (
+    jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp, 1));
 };
 
 
 /**
- * @param {!(Array|Array)} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} returns this
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.setIndexValuesList = function(value) {
-  return jspb.Message.setField(this, 4, value || []);
+ * @param {!Array} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.prototype.setVotePollsByTimestampsList = function(value) {
+  return jspb.Message.setRepeatedWrapperField(this, 1, value);
 };
 
 
 /**
- * @param {!(string|Uint8Array)} value
+ * @param {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp=} opt_value
  * @param {number=} opt_index
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.addIndexValues = function(value, opt_index) {
-  return jspb.Message.addToRepeatedField(this, 4, value, opt_index);
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.prototype.addVotePollsByTimestamps = function(opt_value, opt_index) {
+  return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp, opt_index);
 };
 
 
 /**
  * Clears the list making it empty but non-null.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} returns this
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.clearIndexValuesList = function() {
-  return this.setIndexValuesList([]);
-};
-
-
-/**
- * optional bytes contestant_id = 5;
- * @return {string}
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.getContestantId = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, ""));
-};
-
-
-/**
- * optional bytes contestant_id = 5;
- * This is a type-conversion wrapper around `getContestantId()`
- * @return {string}
+ * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.getContestantId_asB64 = function() {
-  return /** @type {string} */ (jspb.Message.bytesAsB64(
-      this.getContestantId()));
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.prototype.clearVotePollsByTimestampsList = function() {
+  return this.setVotePollsByTimestampsList([]);
 };
 
 
 /**
- * optional bytes contestant_id = 5;
- * Note that Uint8Array is not supported on all browsers.
- * @see http://caniuse.com/Uint8Array
- * This is a type-conversion wrapper around `getContestantId()`
- * @return {!Uint8Array}
+ * optional bool finished_results = 2;
+ * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.getContestantId_asU8 = function() {
-  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
-      this.getContestantId()));
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.prototype.getFinishedResults = function() {
+  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));
 };
 
 
 /**
- * @param {!(string|Uint8Array)} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} returns this
+ * @param {boolean} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.setContestantId = function(value) {
-  return jspb.Message.setProto3BytesField(this, 5, value);
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.prototype.setFinishedResults = function(value) {
+  return jspb.Message.setProto3BooleanField(this, 2, value);
 };
 
 
 /**
- * optional StartAtIdentifierInfo start_at_identifier_info = 6;
- * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo}
+ * optional SerializedVotePollsByTimestamps vote_polls_by_timestamps = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.getStartAtIdentifierInfo = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo, 6));
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.prototype.getVotePollsByTimestamps = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps, 1));
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} returns this
+ * @param {?proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0} returns this
 */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.setStartAtIdentifierInfo = function(value) {
-  return jspb.Message.setWrapperField(this, 6, value);
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.prototype.setVotePollsByTimestamps = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.oneofGroups_[0], value);
 };
 
 
 /**
  * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.clearStartAtIdentifierInfo = function() {
-  return this.setStartAtIdentifierInfo(undefined);
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.prototype.clearVotePollsByTimestamps = function() {
+  return this.setVotePollsByTimestamps(undefined);
 };
 
 
@@ -35443,35 +35923,36 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.Get
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.hasStartAtIdentifierInfo = function() {
-  return jspb.Message.getField(this, 6) != null;
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.prototype.hasVotePollsByTimestamps = function() {
+  return jspb.Message.getField(this, 1) != null;
 };
 
 
 /**
- * optional uint32 count = 7;
- * @return {number}
+ * optional Proof proof = 2;
+ * @return {?proto.org.dash.platform.dapi.v0.Proof}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.getCount = function() {
-  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 7, 0));
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.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.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} returns this
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.setCount = function(value) {
-  return jspb.Message.setField(this, 7, value);
+ * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.prototype.setProof = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.oneofGroups_[0], value);
 };
 
 
 /**
- * Clears the field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} returns this
+ * Clears the message field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.clearCount = function() {
-  return jspb.Message.setField(this, 7, undefined);
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.prototype.clearProof = function() {
+  return this.setProof(undefined);
 };
 
 
@@ -35479,71 +35960,72 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.Get
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.hasCount = function() {
-  return jspb.Message.getField(this, 7) != null;
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.prototype.hasProof = function() {
+  return jspb.Message.getField(this, 2) != null;
 };
 
 
 /**
- * optional bool order_ascending = 8;
- * @return {boolean}
+ * optional ResponseMetadata metadata = 3;
+ * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.getOrderAscending = function() {
-  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 8, false));
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.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 {boolean} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} returns this
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.setOrderAscending = function(value) {
-  return jspb.Message.setProto3BooleanField(this, 8, value);
+ * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.prototype.setMetadata = function(value) {
+  return jspb.Message.setWrapperField(this, 3, value);
 };
 
 
 /**
- * optional bool prove = 9;
- * @return {boolean}
+ * Clears the message field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.getProve = function() {
-  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 9, false));
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.prototype.clearMetadata = function() {
+  return this.setMetadata(undefined);
 };
 
 
 /**
- * @param {boolean} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} returns this
+ * Returns whether this field is set.
+ * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.setProve = function(value) {
-  return jspb.Message.setProto3BooleanField(this, 9, value);
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.prototype.hasMetadata = function() {
+  return jspb.Message.getField(this, 3) != null;
 };
 
 
 /**
- * optional GetContestedResourceVotersForIdentityRequestV0 v0 = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0}
+ * optional GetVotePollsByEndDateResponseV0 v0 = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.prototype.getV0 = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0, 1));
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.prototype.getV0 = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0, 1));
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest} returns this
+ * @param {?proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse} returns this
 */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.prototype.setV0 = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.oneofGroups_[0], value);
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.prototype.setV0 = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.oneofGroups_[0], value);
 };
 
 
 /**
  * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.prototype.clearV0 = function() {
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.prototype.clearV0 = function() {
   return this.setV0(undefined);
 };
 
@@ -35552,7 +36034,7 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.pro
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.prototype.hasV0 = function() {
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.prototype.hasV0 = function() {
   return jspb.Message.getField(this, 1) != null;
 };
 
@@ -35566,21 +36048,21 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.pro
  * @private {!Array>}
  * @const
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.oneofGroups_ = [[1]];
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.oneofGroups_ = [[1]];
 
 /**
  * @enum {number}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.VersionCase = {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.VersionCase = {
   VERSION_NOT_SET: 0,
   V0: 1
 };
 
 /**
- * @return {proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.VersionCase}
+ * @return {proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.VersionCase}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.prototype.getVersionCase = function() {
-  return /** @type {proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.oneofGroups_[0]));
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.prototype.getVersionCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.oneofGroups_[0]));
 };
 
 
@@ -35598,8 +36080,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.toObject(opt_includeInstance, this);
 };
 
 
@@ -35608,13 +36090,13 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.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.GetContestedResourceVotersForIdentityResponse} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.toObject = function(includeInstance, msg) {
   var f, obj = {
-    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.toObject(includeInstance, f)
+    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.toObject(includeInstance, f)
   };
 
   if (includeInstance) {
@@ -35628,23 +36110,23 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.to
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse}
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse;
-  return proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest;
+  return proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse}
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -35652,8 +36134,8 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.de
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.deserializeBinaryFromReader);
+      var value = new proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.deserializeBinaryFromReader);
       msg.setV0(value);
       break;
     default:
@@ -35669,9 +36151,9 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.de
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -35679,18 +36161,18 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.pr
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
   f = message.getV0();
   if (f != null) {
     writer.writeMessage(
       1,
       f,
-      proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.serializeBinaryToWriter
     );
   }
 };
@@ -35698,30 +36180,11 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.se
 
 
 /**
- * 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.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.oneofGroups_ = [[1,2]];
-
-/**
- * @enum {number}
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ResultCase = {
-  RESULT_NOT_SET: 0,
-  CONTESTED_RESOURCE_VOTERS: 1,
-  PROOF: 2
-};
-
-/**
- * @return {proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ResultCase}
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.prototype.getResultCase = function() {
-  return /** @type {proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.oneofGroups_[0]));
-};
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.repeatedFields_ = [4];
 
 
 
@@ -35738,8 +36201,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.toObject(opt_includeInstance, this);
 };
 
 
@@ -35748,15 +36211,21 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.Ge
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.toObject = function(includeInstance, msg) {
   var f, obj = {
-    contestedResourceVoters: (f = msg.getContestedResourceVoters()) && proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.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(),
+    documentTypeName: jspb.Message.getFieldWithDefault(msg, 2, ""),
+    indexName: jspb.Message.getFieldWithDefault(msg, 3, ""),
+    indexValuesList: msg.getIndexValuesList_asB64(),
+    resultType: jspb.Message.getFieldWithDefault(msg, 5, 0),
+    allowIncludeLockedAndAbstainingVoteTally: jspb.Message.getBooleanFieldWithDefault(msg, 6, false),
+    startAtIdentifierInfo: (f = msg.getStartAtIdentifierInfo()) && proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.toObject(includeInstance, f),
+    count: jspb.Message.getFieldWithDefault(msg, 8, 0),
+    prove: jspb.Message.getBooleanFieldWithDefault(msg, 9, false)
   };
 
   if (includeInstance) {
@@ -35770,23 +36239,23 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.Ge
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0;
-  return proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0;
+  return proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -35794,19 +36263,41 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.Ge
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.deserializeBinaryFromReader);
-      msg.setContestedResourceVoters(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.setDocumentTypeName(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 {string} */ (reader.readString());
+      msg.setIndexName(value);
+      break;
+    case 4:
+      var value = /** @type {!Uint8Array} */ (reader.readBytes());
+      msg.addIndexValues(value);
+      break;
+    case 5:
+      var value = /** @type {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.ResultType} */ (reader.readEnum());
+      msg.setResultType(value);
+      break;
+    case 6:
+      var value = /** @type {boolean} */ (reader.readBool());
+      msg.setAllowIncludeLockedAndAbstainingVoteTally(value);
+      break;
+    case 7:
+      var value = new proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.deserializeBinaryFromReader);
+      msg.setStartAtIdentifierInfo(value);
+      break;
+    case 8:
+      var value = /** @type {number} */ (reader.readUint32());
+      msg.setCount(value);
+      break;
+    case 9:
+      var value = /** @type {boolean} */ (reader.readBool());
+      msg.setProve(value);
       break;
     default:
       reader.skipField();
@@ -35821,9 +36312,9 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.Ge
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -35831,46 +36322,88 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.Ge
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getContestedResourceVoters();
-  if (f != null) {
-    writer.writeMessage(
+  f = message.getContractId_asU8();
+  if (f.length > 0) {
+    writer.writeBytes(
       1,
-      f,
-      proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.serializeBinaryToWriter
+      f
     );
   }
-  f = message.getProof();
-  if (f != null) {
-    writer.writeMessage(
+  f = message.getDocumentTypeName();
+  if (f.length > 0) {
+    writer.writeString(
       2,
-      f,
-      proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter
+      f
     );
   }
-  f = message.getMetadata();
+  f = message.getIndexName();
+  if (f.length > 0) {
+    writer.writeString(
+      3,
+      f
+    );
+  }
+  f = message.getIndexValuesList_asU8();
+  if (f.length > 0) {
+    writer.writeRepeatedBytes(
+      4,
+      f
+    );
+  }
+  f = message.getResultType();
+  if (f !== 0.0) {
+    writer.writeEnum(
+      5,
+      f
+    );
+  }
+  f = message.getAllowIncludeLockedAndAbstainingVoteTally();
+  if (f) {
+    writer.writeBool(
+      6,
+      f
+    );
+  }
+  f = message.getStartAtIdentifierInfo();
   if (f != null) {
     writer.writeMessage(
-      3,
+      7,
       f,
-      proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.serializeBinaryToWriter
+    );
+  }
+  f = /** @type {number} */ (jspb.Message.getField(message, 8));
+  if (f != null) {
+    writer.writeUint32(
+      8,
+      f
+    );
+  }
+  f = message.getProve();
+  if (f) {
+    writer.writeBool(
+      9,
+      f
     );
   }
 };
 
 
-
 /**
- * List of repeated fields within this message type.
- * @private {!Array}
- * @const
+ * @enum {number}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.repeatedFields_ = [1];
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.ResultType = {
+  DOCUMENTS: 0,
+  VOTE_TALLY: 1,
+  DOCUMENTS_AND_VOTE_TALLY: 2
+};
+
 
 
 
@@ -35887,8 +36420,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.toObject(opt_includeInstance, this);
 };
 
 
@@ -35897,14 +36430,14 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.Ge
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.toObject = function(includeInstance, msg) {
   var f, obj = {
-    votersList: msg.getVotersList_asB64(),
-    finishedResults: jspb.Message.getBooleanFieldWithDefault(msg, 2, false)
+    startIdentifier: msg.getStartIdentifier_asB64(),
+    startIdentifierIncluded: jspb.Message.getBooleanFieldWithDefault(msg, 2, false)
   };
 
   if (includeInstance) {
@@ -35918,23 +36451,23 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.Ge
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters}
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters;
-  return proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo;
+  return proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters}
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -35943,11 +36476,11 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.Ge
     switch (field) {
     case 1:
       var value = /** @type {!Uint8Array} */ (reader.readBytes());
-      msg.addVoters(value);
+      msg.setStartIdentifier(value);
       break;
     case 2:
       var value = /** @type {boolean} */ (reader.readBool());
-      msg.setFinishedResults(value);
+      msg.setStartIdentifierIncluded(value);
       break;
     default:
       reader.skipField();
@@ -35962,9 +36495,9 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.Ge
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -35972,20 +36505,20 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.Ge
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getVotersList_asU8();
+  f = message.getStartIdentifier_asU8();
   if (f.length > 0) {
-    writer.writeRepeatedBytes(
+    writer.writeBytes(
       1,
       f
     );
   }
-  f = message.getFinishedResults();
+  f = message.getStartIdentifierIncluded();
   if (f) {
     writer.writeBool(
       2,
@@ -35996,146 +36529,265 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.Ge
 
 
 /**
- * repeated bytes voters = 1;
- * @return {!Array}
+ * optional bytes start_identifier = 1;
+ * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.prototype.getVotersList = function() {
-  return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1));
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.prototype.getStartIdentifier = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
 };
 
 
 /**
- * repeated bytes voters = 1;
- * This is a type-conversion wrapper around `getVotersList()`
- * @return {!Array}
+ * optional bytes start_identifier = 1;
+ * This is a type-conversion wrapper around `getStartIdentifier()`
+ * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.prototype.getVotersList_asB64 = function() {
-  return /** @type {!Array} */ (jspb.Message.bytesListAsB64(
-      this.getVotersList()));
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.prototype.getStartIdentifier_asB64 = function() {
+  return /** @type {string} */ (jspb.Message.bytesAsB64(
+      this.getStartIdentifier()));
 };
 
 
 /**
- * repeated bytes voters = 1;
+ * optional bytes start_identifier = 1;
  * Note that Uint8Array is not supported on all browsers.
  * @see http://caniuse.com/Uint8Array
- * This is a type-conversion wrapper around `getVotersList()`
- * @return {!Array}
+ * This is a type-conversion wrapper around `getStartIdentifier()`
+ * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.prototype.getVotersList_asU8 = function() {
-  return /** @type {!Array} */ (jspb.Message.bytesListAsU8(
-      this.getVotersList()));
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.prototype.getStartIdentifier_asU8 = function() {
+  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
+      this.getStartIdentifier()));
 };
 
 
 /**
- * @param {!(Array|Array)} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters} returns this
+ * @param {!(string|Uint8Array)} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.prototype.setVotersList = function(value) {
-  return jspb.Message.setField(this, 1, value || []);
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.prototype.setStartIdentifier = function(value) {
+  return jspb.Message.setProto3BytesField(this, 1, value);
+};
+
+
+/**
+ * optional bool start_identifier_included = 2;
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.prototype.getStartIdentifierIncluded = function() {
+  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));
+};
+
+
+/**
+ * @param {boolean} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.prototype.setStartIdentifierIncluded = function(value) {
+  return jspb.Message.setProto3BooleanField(this, 2, value);
+};
+
+
+/**
+ * optional bytes contract_id = 1;
+ * @return {string}
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.getContractId_asU8 = function() {
+  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
+      this.getContractId()));
 };
 
 
 /**
  * @param {!(string|Uint8Array)} value
- * @param {number=} opt_index
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.prototype.addVoters = function(value, opt_index) {
-  return jspb.Message.addToRepeatedField(this, 1, value, opt_index);
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.setContractId = function(value) {
+  return jspb.Message.setProto3BytesField(this, 1, value);
 };
 
 
 /**
- * Clears the list making it empty but non-null.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters} returns this
+ * optional string document_type_name = 2;
+ * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.prototype.clearVotersList = function() {
-  return this.setVotersList([]);
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.getDocumentTypeName = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
 };
 
 
 /**
- * optional bool finished_results = 2;
- * @return {boolean}
+ * @param {string} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.prototype.getFinishedResults = function() {
-  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.setDocumentTypeName = function(value) {
+  return jspb.Message.setProto3StringField(this, 2, value);
 };
 
 
 /**
- * @param {boolean} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters} returns this
+ * optional string index_name = 3;
+ * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.prototype.setFinishedResults = function(value) {
-  return jspb.Message.setProto3BooleanField(this, 2, value);
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.getIndexName = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, ""));
 };
 
 
 /**
- * optional ContestedResourceVoters contested_resource_voters = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters}
+ * @param {string} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.prototype.getContestedResourceVoters = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters, 1));
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.setIndexName = function(value) {
+  return jspb.Message.setProto3StringField(this, 3, value);
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0} returns this
-*/
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.prototype.setContestedResourceVoters = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.oneofGroups_[0], value);
+ * repeated bytes index_values = 4;
+ * @return {!Array}
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.getIndexValuesList = function() {
+  return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 4));
 };
 
 
 /**
- * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0} returns this
+ * repeated bytes index_values = 4;
+ * This is a type-conversion wrapper around `getIndexValuesList()`
+ * @return {!Array}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.prototype.clearContestedResourceVoters = function() {
-  return this.setContestedResourceVoters(undefined);
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.getIndexValuesList_asB64 = function() {
+  return /** @type {!Array} */ (jspb.Message.bytesListAsB64(
+      this.getIndexValuesList()));
 };
 
 
 /**
- * Returns whether this field is set.
+ * repeated bytes index_values = 4;
+ * Note that Uint8Array is not supported on all browsers.
+ * @see http://caniuse.com/Uint8Array
+ * This is a type-conversion wrapper around `getIndexValuesList()`
+ * @return {!Array}
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.getIndexValuesList_asU8 = function() {
+  return /** @type {!Array} */ (jspb.Message.bytesListAsU8(
+      this.getIndexValuesList()));
+};
+
+
+/**
+ * @param {!(Array|Array)} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.setIndexValuesList = function(value) {
+  return jspb.Message.setField(this, 4, value || []);
+};
+
+
+/**
+ * @param {!(string|Uint8Array)} value
+ * @param {number=} opt_index
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.addIndexValues = function(value, opt_index) {
+  return jspb.Message.addToRepeatedField(this, 4, value, opt_index);
+};
+
+
+/**
+ * Clears the list making it empty but non-null.
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.clearIndexValuesList = function() {
+  return this.setIndexValuesList([]);
+};
+
+
+/**
+ * optional ResultType result_type = 5;
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.ResultType}
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.getResultType = function() {
+  return /** @type {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.ResultType} */ (jspb.Message.getFieldWithDefault(this, 5, 0));
+};
+
+
+/**
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.ResultType} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.setResultType = function(value) {
+  return jspb.Message.setProto3EnumField(this, 5, value);
+};
+
+
+/**
+ * optional bool allow_include_locked_and_abstaining_vote_tally = 6;
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.prototype.hasContestedResourceVoters = function() {
-  return jspb.Message.getField(this, 1) != null;
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.getAllowIncludeLockedAndAbstainingVoteTally = function() {
+  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 6, false));
 };
 
 
 /**
- * optional Proof proof = 2;
- * @return {?proto.org.dash.platform.dapi.v0.Proof}
+ * @param {boolean} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.setAllowIncludeLockedAndAbstainingVoteTally = function(value) {
+  return jspb.Message.setProto3BooleanField(this, 6, value);
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0} returns this
+ * optional StartAtIdentifierInfo start_at_identifier_info = 7;
+ * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo}
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.getStartAtIdentifierInfo = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo, 7));
+};
+
+
+/**
+ * @param {?proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} returns this
 */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.prototype.setProof = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.oneofGroups_[0], value);
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.setStartAtIdentifierInfo = function(value) {
+  return jspb.Message.setWrapperField(this, 7, value);
 };
 
 
 /**
  * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.prototype.clearProof = function() {
-  return this.setProof(undefined);
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.clearStartAtIdentifierInfo = function() {
+  return this.setStartAtIdentifierInfo(undefined);
 };
 
 
@@ -36143,36 +36795,35 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.Ge
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.prototype.hasProof = function() {
-  return jspb.Message.getField(this, 2) != null;
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.hasStartAtIdentifierInfo = function() {
+  return jspb.Message.getField(this, 7) != null;
 };
 
 
 /**
- * optional ResponseMetadata metadata = 3;
- * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata}
+ * optional uint32 count = 8;
+ * @return {number}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.getCount = function() {
+  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 8, 0));
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0} returns this
-*/
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.prototype.setMetadata = function(value) {
-  return jspb.Message.setWrapperField(this, 3, value);
+ * @param {number} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.setCount = function(value) {
+  return jspb.Message.setField(this, 8, value);
 };
 
 
 /**
- * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0} returns this
+ * Clears the field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.prototype.clearMetadata = function() {
-  return this.setMetadata(undefined);
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.clearCount = function() {
+  return jspb.Message.setField(this, 8, undefined);
 };
 
 
@@ -36180,35 +36831,53 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.Ge
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.prototype.hasMetadata = function() {
-  return jspb.Message.getField(this, 3) != null;
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.hasCount = function() {
+  return jspb.Message.getField(this, 8) != null;
 };
 
 
 /**
- * optional GetContestedResourceVotersForIdentityResponseV0 v0 = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0}
+ * optional bool prove = 9;
+ * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.prototype.getV0 = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0, 1));
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.getProve = function() {
+  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 9, false));
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse} returns this
+ * @param {boolean} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.setProve = function(value) {
+  return jspb.Message.setProto3BooleanField(this, 9, value);
+};
+
+
+/**
+ * optional GetContestedResourceVoteStateRequestV0 v0 = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0}
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.prototype.getV0 = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0, 1));
+};
+
+
+/**
+ * @param {?proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest} returns this
 */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.prototype.setV0 = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.oneofGroups_[0], value);
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.prototype.setV0 = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.oneofGroups_[0], value);
 };
 
 
 /**
  * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.prototype.clearV0 = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.prototype.clearV0 = function() {
   return this.setV0(undefined);
 };
 
@@ -36217,7 +36886,7 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.pr
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.prototype.hasV0 = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.prototype.hasV0 = function() {
   return jspb.Message.getField(this, 1) != null;
 };
 
@@ -36231,21 +36900,21 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.pr
  * @private {!Array>}
  * @const
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.oneofGroups_ = [[1]];
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.oneofGroups_ = [[1]];
 
 /**
  * @enum {number}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.VersionCase = {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.VersionCase = {
   VERSION_NOT_SET: 0,
   V0: 1
 };
 
 /**
- * @return {proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.VersionCase}
+ * @return {proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.VersionCase}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.prototype.getVersionCase = function() {
-  return /** @type {proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.oneofGroups_[0]));
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.prototype.getVersionCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.oneofGroups_[0]));
 };
 
 
@@ -36263,8 +36932,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.toObject(opt_includeInstance, this);
 };
 
 
@@ -36273,13 +36942,13 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.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.GetContestedResourceIdentityVotesRequest} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.toObject = function(includeInstance, msg) {
   var f, obj = {
-    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.toObject(includeInstance, f)
+    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.toObject(includeInstance, f)
   };
 
   if (includeInstance) {
@@ -36293,23 +36962,23 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.toObjec
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest}
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest;
-  return proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse;
+  return proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest}
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -36317,8 +36986,8 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.deseria
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.deserializeBinaryFromReader);
+      var value = new proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.deserializeBinaryFromReader);
       msg.setV0(value);
       break;
     default:
@@ -36334,9 +37003,9 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.deseria
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -36344,24 +37013,50 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.prototy
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
   f = message.getV0();
   if (f != null) {
     writer.writeMessage(
       1,
       f,
-      proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.oneofGroups_ = [[1,2]];
+
+/**
+ * @enum {number}
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ResultCase = {
+  RESULT_NOT_SET: 0,
+  CONTESTED_RESOURCE_CONTENDERS: 1,
+  PROOF: 2
+};
+
+/**
+ * @return {proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ResultCase}
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.prototype.getResultCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.oneofGroups_[0]));
+};
+
 
 
 if (jspb.Message.GENERATE_TO_OBJECT) {
@@ -36377,8 +37072,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.toObject(opt_includeInstance, this);
 };
 
 
@@ -36387,18 +37082,15 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetCont
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.toObject = function(includeInstance, msg) {
   var f, obj = {
-    identityId: msg.getIdentityId_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),
-    orderAscending: jspb.Message.getBooleanFieldWithDefault(msg, 4, false),
-    startAtVotePollIdInfo: (f = msg.getStartAtVotePollIdInfo()) && proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.toObject(includeInstance, f),
-    prove: jspb.Message.getBooleanFieldWithDefault(msg, 6, false)
+    contestedResourceContenders: (f = msg.getContestedResourceContenders()) && proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.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) {
@@ -36412,23 +37104,23 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetCont
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0;
-  return proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0;
+  return proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -36436,31 +37128,19 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetCont
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = /** @type {!Uint8Array} */ (reader.readBytes());
-      msg.setIdentityId(value);
+      var value = new proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.deserializeBinaryFromReader);
+      msg.setContestedResourceContenders(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 {boolean} */ (reader.readBool());
-      msg.setOrderAscending(value);
-      break;
-    case 5:
-      var value = new proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.deserializeBinaryFromReader);
-      msg.setStartAtVotePollIdInfo(value);
-      break;
-    case 6:
-      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();
@@ -36475,9 +37155,9 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetCont
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -36485,55 +37165,34 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetCont
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getIdentityId_asU8();
-  if (f.length > 0) {
-    writer.writeBytes(
-      1,
-      f
-    );
-  }
-  f = message.getLimit();
+  f = message.getContestedResourceContenders();
   if (f != null) {
     writer.writeMessage(
-      2,
+      1,
       f,
-      google_protobuf_wrappers_pb.UInt32Value.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.serializeBinaryToWriter
     );
   }
-  f = message.getOffset();
+  f = message.getProof();
   if (f != null) {
     writer.writeMessage(
-      3,
+      2,
       f,
-      google_protobuf_wrappers_pb.UInt32Value.serializeBinaryToWriter
-    );
-  }
-  f = message.getOrderAscending();
-  if (f) {
-    writer.writeBool(
-      4,
-      f
+      proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter
     );
   }
-  f = message.getStartAtVotePollIdInfo();
+  f = message.getMetadata();
   if (f != null) {
     writer.writeMessage(
-      5,
+      3,
       f,
-      proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.serializeBinaryToWriter
-    );
-  }
-  f = message.getProve();
-  if (f) {
-    writer.writeBool(
-      6,
-      f
+      proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter
     );
   }
 };
@@ -36555,8 +37214,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.toObject(opt_includeInstance, this);
 };
 
 
@@ -36565,14 +37224,18 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetCont
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.toObject = function(includeInstance, msg) {
   var f, obj = {
-    startAtPollIdentifier: msg.getStartAtPollIdentifier_asB64(),
-    startPollIdentifierIncluded: jspb.Message.getBooleanFieldWithDefault(msg, 2, false)
+    finishedVoteOutcome: jspb.Message.getFieldWithDefault(msg, 1, 0),
+    wonByIdentityId: msg.getWonByIdentityId_asB64(),
+    finishedAtBlockHeight: jspb.Message.getFieldWithDefault(msg, 3, "0"),
+    finishedAtCoreBlockHeight: jspb.Message.getFieldWithDefault(msg, 4, 0),
+    finishedAtBlockTimeMs: jspb.Message.getFieldWithDefault(msg, 5, "0"),
+    finishedAtEpoch: jspb.Message.getFieldWithDefault(msg, 6, 0)
   };
 
   if (includeInstance) {
@@ -36586,23 +37249,23 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetCont
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo}
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo;
-  return proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo;
+  return proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo}
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -36610,12 +37273,28 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetCont
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = /** @type {!Uint8Array} */ (reader.readBytes());
-      msg.setStartAtPollIdentifier(value);
+      var value = /** @type {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.FinishedVoteOutcome} */ (reader.readEnum());
+      msg.setFinishedVoteOutcome(value);
       break;
     case 2:
-      var value = /** @type {boolean} */ (reader.readBool());
-      msg.setStartPollIdentifierIncluded(value);
+      var value = /** @type {!Uint8Array} */ (reader.readBytes());
+      msg.setWonByIdentityId(value);
+      break;
+    case 3:
+      var value = /** @type {string} */ (reader.readUint64String());
+      msg.setFinishedAtBlockHeight(value);
+      break;
+    case 4:
+      var value = /** @type {number} */ (reader.readUint32());
+      msg.setFinishedAtCoreBlockHeight(value);
+      break;
+    case 5:
+      var value = /** @type {string} */ (reader.readUint64String());
+      msg.setFinishedAtBlockTimeMs(value);
+      break;
+    case 6:
+      var value = /** @type {number} */ (reader.readUint32());
+      msg.setFinishedAtEpoch(value);
       break;
     default:
       reader.skipField();
@@ -36630,9 +37309,9 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetCont
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -36640,156 +37319,132 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetCont
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getStartAtPollIdentifier_asU8();
-  if (f.length > 0) {
-    writer.writeBytes(
+  f = message.getFinishedVoteOutcome();
+  if (f !== 0.0) {
+    writer.writeEnum(
       1,
       f
     );
   }
-  f = message.getStartPollIdentifierIncluded();
-  if (f) {
-    writer.writeBool(
+  f = /** @type {!(string|Uint8Array)} */ (jspb.Message.getField(message, 2));
+  if (f != null) {
+    writer.writeBytes(
       2,
       f
     );
   }
+  f = message.getFinishedAtBlockHeight();
+  if (parseInt(f, 10) !== 0) {
+    writer.writeUint64String(
+      3,
+      f
+    );
+  }
+  f = message.getFinishedAtCoreBlockHeight();
+  if (f !== 0) {
+    writer.writeUint32(
+      4,
+      f
+    );
+  }
+  f = message.getFinishedAtBlockTimeMs();
+  if (parseInt(f, 10) !== 0) {
+    writer.writeUint64String(
+      5,
+      f
+    );
+  }
+  f = message.getFinishedAtEpoch();
+  if (f !== 0) {
+    writer.writeUint32(
+      6,
+      f
+    );
+  }
 };
 
 
 /**
- * optional bytes start_at_poll_identifier = 1;
- * @return {string}
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.prototype.getStartAtPollIdentifier = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
-};
-
-
-/**
- * optional bytes start_at_poll_identifier = 1;
- * This is a type-conversion wrapper around `getStartAtPollIdentifier()`
- * @return {string}
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.prototype.getStartAtPollIdentifier_asB64 = function() {
-  return /** @type {string} */ (jspb.Message.bytesAsB64(
-      this.getStartAtPollIdentifier()));
-};
-
-
-/**
- * optional bytes start_at_poll_identifier = 1;
- * Note that Uint8Array is not supported on all browsers.
- * @see http://caniuse.com/Uint8Array
- * This is a type-conversion wrapper around `getStartAtPollIdentifier()`
- * @return {!Uint8Array}
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.prototype.getStartAtPollIdentifier_asU8 = function() {
-  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
-      this.getStartAtPollIdentifier()));
-};
-
-
-/**
- * @param {!(string|Uint8Array)} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo} returns this
+ * @enum {number}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.prototype.setStartAtPollIdentifier = function(value) {
-  return jspb.Message.setProto3BytesField(this, 1, value);
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.FinishedVoteOutcome = {
+  TOWARDS_IDENTITY: 0,
+  LOCKED: 1,
+  NO_PREVIOUS_WINNER: 2
 };
 
-
 /**
- * optional bool start_poll_identifier_included = 2;
- * @return {boolean}
+ * optional FinishedVoteOutcome finished_vote_outcome = 1;
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.FinishedVoteOutcome}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.prototype.getStartPollIdentifierIncluded = function() {
-  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.prototype.getFinishedVoteOutcome = function() {
+  return /** @type {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.FinishedVoteOutcome} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
 };
 
 
 /**
- * @param {boolean} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo} returns this
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.FinishedVoteOutcome} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.prototype.setStartPollIdentifierIncluded = function(value) {
-  return jspb.Message.setProto3BooleanField(this, 2, value);
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.prototype.setFinishedVoteOutcome = function(value) {
+  return jspb.Message.setProto3EnumField(this, 1, value);
 };
 
 
 /**
- * optional bytes identity_id = 1;
+ * optional bytes won_by_identity_id = 2;
  * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prototype.getIdentityId = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.prototype.getWonByIdentityId = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
 };
 
 
 /**
- * optional bytes identity_id = 1;
- * This is a type-conversion wrapper around `getIdentityId()`
+ * optional bytes won_by_identity_id = 2;
+ * This is a type-conversion wrapper around `getWonByIdentityId()`
  * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prototype.getIdentityId_asB64 = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.prototype.getWonByIdentityId_asB64 = function() {
   return /** @type {string} */ (jspb.Message.bytesAsB64(
-      this.getIdentityId()));
+      this.getWonByIdentityId()));
 };
 
 
 /**
- * optional bytes identity_id = 1;
+ * optional bytes won_by_identity_id = 2;
  * 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 `getWonByIdentityId()`
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prototype.getIdentityId_asU8 = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.prototype.getWonByIdentityId_asU8 = function() {
   return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
-      this.getIdentityId()));
+      this.getWonByIdentityId()));
 };
 
 
 /**
  * @param {!(string|Uint8Array)} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0} returns this
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prototype.setIdentityId = function(value) {
-  return jspb.Message.setProto3BytesField(this, 1, value);
-};
-
-
-/**
- * optional google.protobuf.UInt32Value limit = 2;
- * @return {?proto.google.protobuf.UInt32Value}
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0} returns this
-*/
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prototype.setLimit = function(value) {
-  return jspb.Message.setWrapperField(this, 2, value);
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.prototype.setWonByIdentityId = function(value) {
+  return jspb.Message.setField(this, 2, value);
 };
 
 
 /**
- * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0} returns this
+ * Clears the field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prototype.clearLimit = function() {
-  return this.setLimit(undefined);
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.prototype.clearWonByIdentityId = function() {
+  return jspb.Message.setField(this, 2, undefined);
 };
 
 
@@ -36797,183 +37452,90 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetCont
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prototype.hasLimit = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.prototype.hasWonByIdentityId = function() {
   return jspb.Message.getField(this, 2) != null;
 };
 
 
 /**
- * optional google.protobuf.UInt32Value offset = 3;
- * @return {?proto.google.protobuf.UInt32Value}
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prototype.getOffset = 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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0} returns this
-*/
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0} returns this
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prototype.clearOffset = function() {
-  return this.setOffset(undefined);
-};
-
-
-/**
- * Returns whether this field is set.
- * @return {boolean}
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prototype.hasOffset = function() {
-  return jspb.Message.getField(this, 3) != null;
-};
-
-
-/**
- * optional bool order_ascending = 4;
- * @return {boolean}
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prototype.getOrderAscending = function() {
-  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 4, false));
-};
-
-
-/**
- * @param {boolean} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0} returns this
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prototype.setOrderAscending = function(value) {
-  return jspb.Message.setProto3BooleanField(this, 4, value);
-};
-
-
-/**
- * optional StartAtVotePollIdInfo start_at_vote_poll_id_info = 5;
- * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo}
+ * optional uint64 finished_at_block_height = 3;
+ * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prototype.getStartAtVotePollIdInfo = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo, 5));
-};
-
-
-/**
- * @param {?proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0} returns this
-*/
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prototype.setStartAtVotePollIdInfo = function(value) {
-  return jspb.Message.setWrapperField(this, 5, value);
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.prototype.getFinishedAtBlockHeight = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "0"));
 };
 
 
 /**
- * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0} returns this
+ * @param {string} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prototype.clearStartAtVotePollIdInfo = function() {
-  return this.setStartAtVotePollIdInfo(undefined);
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.prototype.setFinishedAtBlockHeight = function(value) {
+  return jspb.Message.setProto3StringIntField(this, 3, value);
 };
 
 
 /**
- * Returns whether this field is set.
- * @return {boolean}
+ * optional uint32 finished_at_core_block_height = 4;
+ * @return {number}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prototype.hasStartAtVotePollIdInfo = function() {
-  return jspb.Message.getField(this, 5) != null;
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.prototype.getFinishedAtCoreBlockHeight = function() {
+  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0));
 };
 
 
 /**
- * optional bool prove = 6;
- * @return {boolean}
+ * @param {number} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prototype.getProve = function() {
-  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 6, false));
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.prototype.setFinishedAtCoreBlockHeight = function(value) {
+  return jspb.Message.setProto3IntField(this, 4, value);
 };
 
 
 /**
- * @param {boolean} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0} returns this
+ * optional uint64 finished_at_block_time_ms = 5;
+ * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prototype.setProve = function(value) {
-  return jspb.Message.setProto3BooleanField(this, 6, value);
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.prototype.getFinishedAtBlockTimeMs = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, "0"));
 };
 
 
 /**
- * optional GetContestedResourceIdentityVotesRequestV0 v0 = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0}
+ * @param {string} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.prototype.getV0 = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0, 1));
-};
-
-
-/**
- * @param {?proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest} returns this
-*/
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.prototype.setV0 = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.oneofGroups_[0], value);
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.prototype.setFinishedAtBlockTimeMs = function(value) {
+  return jspb.Message.setProto3StringIntField(this, 5, value);
 };
 
 
 /**
- * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest} returns this
+ * optional uint32 finished_at_epoch = 6;
+ * @return {number}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.prototype.clearV0 = function() {
-  return this.setV0(undefined);
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.prototype.getFinishedAtEpoch = function() {
+  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 6, 0));
 };
 
 
 /**
- * Returns whether this field is set.
- * @return {boolean}
+ * @param {number} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.prototype.hasV0 = function() {
-  return jspb.Message.getField(this, 1) != null;
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.prototype.setFinishedAtEpoch = function(value) {
+  return jspb.Message.setProto3IntField(this, 6, 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>}
+ * List of repeated fields within this message type.
+ * @private {!Array}
  * @const
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.oneofGroups_ = [[1]];
-
-/**
- * @enum {number}
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.VersionCase = {
-  VERSION_NOT_SET: 0,
-  V0: 1
-};
-
-/**
- * @return {proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.VersionCase}
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.prototype.getVersionCase = function() {
-  return /** @type {proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.oneofGroups_[0]));
-};
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.repeatedFields_ = [1];
 
 
 
@@ -36990,8 +37552,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.toObject(opt_includeInstance, this);
 };
 
 
@@ -37000,13 +37562,17 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.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.GetContestedResourceIdentityVotesResponse} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.toObject = function(includeInstance, msg) {
   var f, obj = {
-    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.toObject(includeInstance, f)
+    contendersList: jspb.Message.toObjectList(msg.getContendersList(),
+    proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.toObject, includeInstance),
+    abstainVoteTally: jspb.Message.getFieldWithDefault(msg, 2, 0),
+    lockVoteTally: jspb.Message.getFieldWithDefault(msg, 3, 0),
+    finishedVoteInfo: (f = msg.getFinishedVoteInfo()) && proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.toObject(includeInstance, f)
   };
 
   if (includeInstance) {
@@ -37020,23 +37586,23 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.toObje
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse}
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse;
-  return proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders;
+  return proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse}
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -37044,9 +37610,22 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.deseri
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.deserializeBinaryFromReader);
-      msg.setV0(value);
+      var value = new proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.deserializeBinaryFromReader);
+      msg.addContenders(value);
+      break;
+    case 2:
+      var value = /** @type {number} */ (reader.readUint32());
+      msg.setAbstainVoteTally(value);
+      break;
+    case 3:
+      var value = /** @type {number} */ (reader.readUint32());
+      msg.setLockVoteTally(value);
+      break;
+    case 4:
+      var value = new proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.deserializeBinaryFromReader);
+      msg.setFinishedVoteInfo(value);
       break;
     default:
       reader.skipField();
@@ -37061,9 +37640,9 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.deseri
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -37071,378 +37650,189 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.protot
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getV0();
+  f = message.getContendersList();
+  if (f.length > 0) {
+    writer.writeRepeatedMessage(
+      1,
+      f,
+      proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.serializeBinaryToWriter
+    );
+  }
+  f = /** @type {number} */ (jspb.Message.getField(message, 2));
+  if (f != null) {
+    writer.writeUint32(
+      2,
+      f
+    );
+  }
+  f = /** @type {number} */ (jspb.Message.getField(message, 3));
+  if (f != null) {
+    writer.writeUint32(
+      3,
+      f
+    );
+  }
+  f = message.getFinishedVoteInfo();
   if (f != null) {
     writer.writeMessage(
-      1,
+      4,
       f,
-      proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.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 Contender contenders = 1;
+ * @return {!Array}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.oneofGroups_ = [[1,2]];
-
-/**
- * @enum {number}
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResultCase = {
-  RESULT_NOT_SET: 0,
-  VOTES: 1,
-  PROOF: 2
-};
-
-/**
- * @return {proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResultCase}
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.prototype.getResultCase = function() {
-  return /** @type {proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.prototype.getContendersList = function() {
+  return /** @type{!Array} */ (
+    jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender, 1));
 };
 
 
 /**
- * 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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0} msg The msg instance to transform.
- * @return {!Object}
- * @suppress {unusedLocalVariables} f is only used for nested messages
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.toObject = function(includeInstance, msg) {
-  var f, obj = {
-    votes: (f = msg.getVotes()) && proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.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;
+ * @param {!Array} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.prototype.setContendersList = function(value) {
+  return jspb.Message.setRepeatedWrapperField(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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0}
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender=} opt_value
+ * @param {number=} opt_index
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.deserializeBinary = function(bytes) {
-  var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0;
-  return proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.deserializeBinaryFromReader(msg, reader);
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.prototype.addContenders = function(opt_value, opt_index) {
+  return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender, 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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0} msg The message object to deserialize into.
- * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0}
+ * Clears the list making it empty but non-null.
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.deserializeBinaryFromReader);
-      msg.setVotes(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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.prototype.clearContendersList = function() {
+  return this.setContendersList([]);
 };
 
 
 /**
- * Serializes the message to binary data (in protobuf wire format).
- * @return {!Uint8Array}
+ * optional uint32 abstain_vote_tally = 2;
+ * @return {number}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.prototype.serializeBinary = function() {
-  var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.serializeBinaryToWriter(this, writer);
-  return writer.getResultBuffer();
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.prototype.getAbstainVoteTally = function() {
+  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
 };
 
 
 /**
- * Serializes the given message to binary data (in protobuf wire
- * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0} message
- * @param {!jspb.BinaryWriter} writer
- * @suppress {unusedLocalVariables} f is only used for nested messages
+ * @param {number} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.serializeBinaryToWriter = function(message, writer) {
-  var f = undefined;
-  f = message.getVotes();
-  if (f != null) {
-    writer.writeMessage(
-      1,
-      f,
-      proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.prototype.setAbstainVoteTally = function(value) {
+  return jspb.Message.setField(this, 2, value);
 };
 
 
-
-/**
- * List of repeated fields within this message type.
- * @private {!Array}
- * @const
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.prototype.clearAbstainVoteTally = function() {
+  return jspb.Message.setField(this, 2, 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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes} 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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.toObject = function(includeInstance, msg) {
-  var f, obj = {
-    contestedResourceIdentityVotesList: jspb.Message.toObjectList(msg.getContestedResourceIdentityVotesList(),
-    proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.toObject, includeInstance),
-    finishedResults: jspb.Message.getBooleanFieldWithDefault(msg, 2, false)
-  };
-
-  if (includeInstance) {
-    obj.$jspbMessageInstance = msg;
-  }
-  return obj;
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.prototype.hasAbstainVoteTally = 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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes}
+ * optional uint32 lock_vote_tally = 3;
+ * @return {number}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.deserializeBinary = function(bytes) {
-  var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes;
-  return proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.deserializeBinaryFromReader(msg, reader);
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.prototype.getLockVoteTally = function() {
+  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));
 };
 
 
 /**
- * Deserializes binary data (in protobuf wire format) from the
- * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes} msg The message object to deserialize into.
- * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes}
+ * @param {number} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.deserializeBinaryFromReader);
-      msg.addContestedResourceIdentityVotes(value);
-      break;
-    case 2:
-      var value = /** @type {boolean} */ (reader.readBool());
-      msg.setFinishedResults(value);
-      break;
-    default:
-      reader.skipField();
-      break;
-    }
-  }
-  return msg;
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.prototype.setLockVoteTally = function(value) {
+  return jspb.Message.setField(this, 3, 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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.prototype.serializeBinary = function() {
-  var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.serializeBinaryToWriter(this, writer);
-  return writer.getResultBuffer();
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.prototype.clearLockVoteTally = function() {
+  return jspb.Message.setField(this, 3, undefined);
 };
 
 
 /**
- * Serializes the given message to binary data (in protobuf wire
- * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes} 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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.serializeBinaryToWriter = function(message, writer) {
-  var f = undefined;
-  f = message.getContestedResourceIdentityVotesList();
-  if (f.length > 0) {
-    writer.writeRepeatedMessage(
-      1,
-      f,
-      proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.serializeBinaryToWriter
-    );
-  }
-  f = message.getFinishedResults();
-  if (f) {
-    writer.writeBool(
-      2,
-      f
-    );
-  }
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.prototype.hasLockVoteTally = function() {
+  return jspb.Message.getField(this, 3) != null;
 };
 
 
 /**
- * repeated ContestedResourceIdentityVote contested_resource_identity_votes = 1;
- * @return {!Array}
+ * optional FinishedVoteInfo finished_vote_info = 4;
+ * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.prototype.getContestedResourceIdentityVotesList = function() {
-  return /** @type{!Array} */ (
-    jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote, 1));
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.prototype.getFinishedVoteInfo = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo, 4));
 };
 
 
 /**
- * @param {!Array} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes} returns this
+ * @param {?proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders} returns this
 */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.prototype.setContestedResourceIdentityVotesList = function(value) {
-  return jspb.Message.setRepeatedWrapperField(this, 1, value);
-};
-
-
-/**
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote=} opt_value
- * @param {number=} opt_index
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote}
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.prototype.addContestedResourceIdentityVotes = function(opt_value, opt_index) {
-  return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote, opt_index);
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.prototype.setFinishedVoteInfo = function(value) {
+  return jspb.Message.setWrapperField(this, 4, value);
 };
 
 
 /**
- * Clears the list making it empty but non-null.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes} returns this
+ * Clears the message field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.prototype.clearContestedResourceIdentityVotesList = function() {
-  return this.setContestedResourceIdentityVotesList([]);
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.prototype.clearFinishedVoteInfo = function() {
+  return this.setFinishedVoteInfo(undefined);
 };
 
 
 /**
- * optional bool finished_results = 2;
+ * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.prototype.getFinishedResults = function() {
-  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));
-};
-
-
-/**
- * @param {boolean} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes} returns this
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.prototype.setFinishedResults = function(value) {
-  return jspb.Message.setProto3BooleanField(this, 2, value);
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.prototype.hasFinishedVoteInfo = function() {
+  return jspb.Message.getField(this, 4) != null;
 };
 
 
@@ -37462,8 +37852,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.toObject(opt_includeInstance, this);
 };
 
 
@@ -37472,14 +37862,15 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetCon
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.toObject = function(includeInstance, msg) {
   var f, obj = {
-    voteChoiceType: jspb.Message.getFieldWithDefault(msg, 1, 0),
-    identityId: msg.getIdentityId_asB64()
+    identifier: msg.getIdentifier_asB64(),
+    voteCount: jspb.Message.getFieldWithDefault(msg, 2, 0),
+    document: msg.getDocument_asB64()
   };
 
   if (includeInstance) {
@@ -37493,23 +37884,23 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetCon
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice}
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice;
-  return proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender;
+  return proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice}
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -37517,12 +37908,16 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetCon
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = /** @type {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.VoteChoiceType} */ (reader.readEnum());
-      msg.setVoteChoiceType(value);
+      var value = /** @type {!Uint8Array} */ (reader.readBytes());
+      msg.setIdentifier(value);
       break;
     case 2:
+      var value = /** @type {number} */ (reader.readUint32());
+      msg.setVoteCount(value);
+      break;
+    case 3:
       var value = /** @type {!Uint8Array} */ (reader.readBytes());
-      msg.setIdentityId(value);
+      msg.setDocument(value);
       break;
     default:
       reader.skipField();
@@ -37537,9 +37932,9 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetCon
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -37547,103 +37942,101 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetCon
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getVoteChoiceType();
-  if (f !== 0.0) {
-    writer.writeEnum(
+  f = message.getIdentifier_asU8();
+  if (f.length > 0) {
+    writer.writeBytes(
       1,
       f
     );
   }
-  f = /** @type {!(string|Uint8Array)} */ (jspb.Message.getField(message, 2));
+  f = /** @type {number} */ (jspb.Message.getField(message, 2));
   if (f != null) {
-    writer.writeBytes(
+    writer.writeUint32(
       2,
       f
     );
   }
+  f = /** @type {!(string|Uint8Array)} */ (jspb.Message.getField(message, 3));
+  if (f != null) {
+    writer.writeBytes(
+      3,
+      f
+    );
+  }
 };
 
 
 /**
- * @enum {number}
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.VoteChoiceType = {
-  TOWARDS_IDENTITY: 0,
-  ABSTAIN: 1,
-  LOCK: 2
-};
-
-/**
- * optional VoteChoiceType vote_choice_type = 1;
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.VoteChoiceType}
+ * optional bytes identifier = 1;
+ * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.prototype.getVoteChoiceType = function() {
-  return /** @type {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.VoteChoiceType} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.prototype.getIdentifier = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
 };
 
 
 /**
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.VoteChoiceType} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice} returns this
+ * optional bytes identifier = 1;
+ * This is a type-conversion wrapper around `getIdentifier()`
+ * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.prototype.setVoteChoiceType = function(value) {
-  return jspb.Message.setProto3EnumField(this, 1, value);
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.prototype.getIdentifier_asB64 = function() {
+  return /** @type {string} */ (jspb.Message.bytesAsB64(
+      this.getIdentifier()));
 };
 
 
 /**
- * optional bytes identity_id = 2;
- * @return {string}
+ * 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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.prototype.getIdentityId = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.prototype.getIdentifier_asU8 = function() {
+  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
+      this.getIdentifier()));
 };
 
 
 /**
- * optional bytes identity_id = 2;
- * This is a type-conversion wrapper around `getIdentityId()`
- * @return {string}
+ * @param {!(string|Uint8Array)} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.prototype.getIdentityId_asB64 = function() {
-  return /** @type {string} */ (jspb.Message.bytesAsB64(
-      this.getIdentityId()));
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.prototype.setIdentifier = function(value) {
+  return jspb.Message.setProto3BytesField(this, 1, value);
 };
 
 
 /**
- * optional bytes identity_id = 2;
- * Note that Uint8Array is not supported on all browsers.
- * @see http://caniuse.com/Uint8Array
- * This is a type-conversion wrapper around `getIdentityId()`
- * @return {!Uint8Array}
+ * optional uint32 vote_count = 2;
+ * @return {number}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.prototype.getIdentityId_asU8 = function() {
-  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
-      this.getIdentityId()));
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.prototype.getVoteCount = function() {
+  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
 };
 
 
 /**
- * @param {!(string|Uint8Array)} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice} returns this
+ * @param {number} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.prototype.setIdentityId = function(value) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.prototype.setVoteCount = function(value) {
   return jspb.Message.setField(this, 2, value);
 };
 
 
 /**
  * Clears the field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.prototype.clearIdentityId = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.prototype.clearVoteCount = function() {
   return jspb.Message.setField(this, 2, undefined);
 };
 
@@ -37652,314 +38045,59 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetCon
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.prototype.hasIdentityId = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.prototype.hasVoteCount = function() {
   return jspb.Message.getField(this, 2) != null;
 };
 
 
-
 /**
- * List of repeated fields within this message type.
- * @private {!Array}
- * @const
+ * optional bytes document = 3;
+ * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.repeatedFields_ = [3];
-
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.prototype.getDocument = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, ""));
+};
 
 
-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 document = 3;
+ * This is a type-conversion wrapper around `getDocument()`
+ * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.prototype.getDocument_asB64 = function() {
+  return /** @type {string} */ (jspb.Message.bytesAsB64(
+      this.getDocument()));
 };
 
 
 /**
- * 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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote} msg The msg instance to transform.
- * @return {!Object}
- * @suppress {unusedLocalVariables} f is only used for nested messages
+ * optional bytes document = 3;
+ * Note that Uint8Array is not supported on all browsers.
+ * @see http://caniuse.com/Uint8Array
+ * This is a type-conversion wrapper around `getDocument()`
+ * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.toObject = function(includeInstance, msg) {
-  var f, obj = {
-    contractId: msg.getContractId_asB64(),
-    documentTypeName: jspb.Message.getFieldWithDefault(msg, 2, ""),
-    serializedIndexStorageValuesList: msg.getSerializedIndexStorageValuesList_asB64(),
-    voteChoice: (f = msg.getVoteChoice()) && proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote}
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.deserializeBinary = function(bytes) {
-  var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote;
-  return proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.deserializeBinaryFromReader(msg, reader);
-};
-
-
-/**
- * Deserializes binary data (in protobuf wire format) from the
- * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote} msg The message object to deserialize into.
- * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote}
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.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.setContractId(value);
-      break;
-    case 2:
-      var value = /** @type {string} */ (reader.readString());
-      msg.setDocumentTypeName(value);
-      break;
-    case 3:
-      var value = /** @type {!Uint8Array} */ (reader.readBytes());
-      msg.addSerializedIndexStorageValues(value);
-      break;
-    case 4:
-      var value = new proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.deserializeBinaryFromReader);
-      msg.setVoteChoice(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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.prototype.serializeBinary = function() {
-  var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote} message
- * @param {!jspb.BinaryWriter} writer
- * @suppress {unusedLocalVariables} f is only used for nested messages
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.serializeBinaryToWriter = function(message, writer) {
-  var f = undefined;
-  f = message.getContractId_asU8();
-  if (f.length > 0) {
-    writer.writeBytes(
-      1,
-      f
-    );
-  }
-  f = message.getDocumentTypeName();
-  if (f.length > 0) {
-    writer.writeString(
-      2,
-      f
-    );
-  }
-  f = message.getSerializedIndexStorageValuesList_asU8();
-  if (f.length > 0) {
-    writer.writeRepeatedBytes(
-      3,
-      f
-    );
-  }
-  f = message.getVoteChoice();
-  if (f != null) {
-    writer.writeMessage(
-      4,
-      f,
-      proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.serializeBinaryToWriter
-    );
-  }
-};
-
-
-/**
- * optional bytes contract_id = 1;
- * @return {string}
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.prototype.getContractId_asU8 = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.prototype.getDocument_asU8 = function() {
   return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
-      this.getContractId()));
-};
-
-
-/**
- * @param {!(string|Uint8Array)} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote} returns this
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.prototype.setContractId = function(value) {
-  return jspb.Message.setProto3BytesField(this, 1, value);
-};
-
-
-/**
- * optional string document_type_name = 2;
- * @return {string}
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.prototype.getDocumentTypeName = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
-};
-
-
-/**
- * @param {string} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote} returns this
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.prototype.setDocumentTypeName = function(value) {
-  return jspb.Message.setProto3StringField(this, 2, value);
-};
-
-
-/**
- * repeated bytes serialized_index_storage_values = 3;
- * @return {!Array}
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.prototype.getSerializedIndexStorageValuesList = function() {
-  return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 3));
-};
-
-
-/**
- * repeated bytes serialized_index_storage_values = 3;
- * This is a type-conversion wrapper around `getSerializedIndexStorageValuesList()`
- * @return {!Array}
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.prototype.getSerializedIndexStorageValuesList_asB64 = function() {
-  return /** @type {!Array} */ (jspb.Message.bytesListAsB64(
-      this.getSerializedIndexStorageValuesList()));
-};
-
-
-/**
- * repeated bytes serialized_index_storage_values = 3;
- * Note that Uint8Array is not supported on all browsers.
- * @see http://caniuse.com/Uint8Array
- * This is a type-conversion wrapper around `getSerializedIndexStorageValuesList()`
- * @return {!Array}
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.prototype.getSerializedIndexStorageValuesList_asU8 = function() {
-  return /** @type {!Array} */ (jspb.Message.bytesListAsU8(
-      this.getSerializedIndexStorageValuesList()));
-};
-
-
-/**
- * @param {!(Array|Array)} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote} returns this
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.prototype.setSerializedIndexStorageValuesList = function(value) {
-  return jspb.Message.setField(this, 3, value || []);
+      this.getDocument()));
 };
 
 
 /**
  * @param {!(string|Uint8Array)} value
- * @param {number=} opt_index
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote} returns this
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.prototype.addSerializedIndexStorageValues = function(value, opt_index) {
-  return jspb.Message.addToRepeatedField(this, 3, value, opt_index);
-};
-
-
-/**
- * Clears the list making it empty but non-null.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote} returns this
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.prototype.clearSerializedIndexStorageValuesList = function() {
-  return this.setSerializedIndexStorageValuesList([]);
-};
-
-
-/**
- * optional ResourceVoteChoice vote_choice = 4;
- * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice}
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.prototype.getVoteChoice = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice, 4));
-};
-
-
-/**
- * @param {?proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote} returns this
-*/
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.prototype.setVoteChoice = function(value) {
-  return jspb.Message.setWrapperField(this, 4, value);
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.prototype.setDocument = function(value) {
+  return jspb.Message.setField(this, 3, value);
 };
 
 
 /**
- * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote} returns this
+ * Clears the field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.prototype.clearVoteChoice = function() {
-  return this.setVoteChoice(undefined);
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.prototype.clearDocument = function() {
+  return jspb.Message.setField(this, 3, undefined);
 };
 
 
@@ -37967,36 +38105,36 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetCon
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.prototype.hasVoteChoice = function() {
-  return jspb.Message.getField(this, 4) != null;
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.prototype.hasDocument = function() {
+  return jspb.Message.getField(this, 3) != null;
 };
 
 
 /**
- * optional ContestedResourceIdentityVotes votes = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes}
+ * optional ContestedResourceContenders contested_resource_contenders = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.prototype.getVotes = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes, 1));
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.prototype.getContestedResourceContenders = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders, 1));
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0} returns this
+ * @param {?proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0} returns this
 */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.prototype.setVotes = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.oneofGroups_[0], value);
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.prototype.setContestedResourceContenders = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.oneofGroups_[0], value);
 };
 
 
 /**
  * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.prototype.clearVotes = function() {
-  return this.setVotes(undefined);
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.prototype.clearContestedResourceContenders = function() {
+  return this.setContestedResourceContenders(undefined);
 };
 
 
@@ -38004,7 +38142,7 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetCon
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.prototype.hasVotes = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.prototype.hasContestedResourceContenders = function() {
   return jspb.Message.getField(this, 1) != null;
 };
 
@@ -38013,7 +38151,7 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetCon
  * optional Proof proof = 2;
  * @return {?proto.org.dash.platform.dapi.v0.Proof}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.prototype.getProof = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.prototype.getProof = function() {
   return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ (
     jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2));
 };
@@ -38021,18 +38159,18 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetCon
 
 /**
  * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0} returns this
 */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.prototype.setProof = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.oneofGroups_[0], value);
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.prototype.setProof = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.oneofGroups_[0], value);
 };
 
 
 /**
  * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.prototype.clearProof = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.prototype.clearProof = function() {
   return this.setProof(undefined);
 };
 
@@ -38041,7 +38179,7 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetCon
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.prototype.hasProof = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.prototype.hasProof = function() {
   return jspb.Message.getField(this, 2) != null;
 };
 
@@ -38050,7 +38188,7 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetCon
  * optional ResponseMetadata metadata = 3;
  * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.prototype.getMetadata = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.prototype.getMetadata = function() {
   return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ (
     jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3));
 };
@@ -38058,18 +38196,18 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetCon
 
 /**
  * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0} returns this
 */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.prototype.setMetadata = function(value) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.prototype.clearMetadata = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.prototype.clearMetadata = function() {
   return this.setMetadata(undefined);
 };
 
@@ -38078,35 +38216,35 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetCon
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.prototype.hasMetadata = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.prototype.hasMetadata = function() {
   return jspb.Message.getField(this, 3) != null;
 };
 
 
 /**
- * optional GetContestedResourceIdentityVotesResponseV0 v0 = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0}
+ * optional GetContestedResourceVoteStateResponseV0 v0 = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.prototype.getV0 = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0, 1));
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.prototype.getV0 = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0, 1));
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse} returns this
+ * @param {?proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse} returns this
 */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.prototype.setV0 = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.oneofGroups_[0], value);
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.prototype.setV0 = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.oneofGroups_[0], value);
 };
 
 
 /**
  * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.prototype.clearV0 = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.prototype.clearV0 = function() {
   return this.setV0(undefined);
 };
 
@@ -38115,7 +38253,7 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.protot
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.prototype.hasV0 = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.prototype.hasV0 = function() {
   return jspb.Message.getField(this, 1) != null;
 };
 
@@ -38129,21 +38267,21 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.protot
  * @private {!Array>}
  * @const
  */
-proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.oneofGroups_ = [[1]];
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.oneofGroups_ = [[1]];
 
 /**
  * @enum {number}
  */
-proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.VersionCase = {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.VersionCase = {
   VERSION_NOT_SET: 0,
   V0: 1
 };
 
 /**
- * @return {proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.VersionCase}
+ * @return {proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.VersionCase}
  */
-proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.prototype.getVersionCase = function() {
-  return /** @type {proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.oneofGroups_[0]));
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.prototype.getVersionCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.oneofGroups_[0]));
 };
 
 
@@ -38161,8 +38299,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.toObject(opt_includeInstance, this);
 };
 
 
@@ -38171,13 +38309,13 @@ proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.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.GetPrefundedSpecializedBalanceRequest} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.toObject = function(includeInstance, msg) {
   var f, obj = {
-    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.toObject(includeInstance, f)
+    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.toObject(includeInstance, f)
   };
 
   if (includeInstance) {
@@ -38191,23 +38329,23 @@ proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.toObject =
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest}
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest}
  */
-proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest;
-  return proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest;
+  return proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest}
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest}
  */
-proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -38215,8 +38353,8 @@ proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.deserializ
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.deserializeBinaryFromReader);
+      var value = new proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.deserializeBinaryFromReader);
       msg.setV0(value);
       break;
     default:
@@ -38232,9 +38370,9 @@ proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.deserializ
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -38242,24 +38380,31 @@ proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.prototype.
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
   f = message.getV0();
   if (f != null) {
     writer.writeMessage(
       1,
       f,
-      proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.serializeBinaryToWriter
     );
   }
 };
 
 
 
+/**
+ * List of repeated fields within this message type.
+ * @private {!Array}
+ * @const
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.repeatedFields_ = [4];
+
 
 
 if (jspb.Message.GENERATE_TO_OBJECT) {
@@ -38275,8 +38420,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.toObject(opt_includeInstance, this);
 };
 
 
@@ -38285,14 +38430,21 @@ proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefund
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.toObject = function(includeInstance, msg) {
   var f, obj = {
-    id: msg.getId_asB64(),
-    prove: jspb.Message.getBooleanFieldWithDefault(msg, 2, false)
+    contractId: msg.getContractId_asB64(),
+    documentTypeName: jspb.Message.getFieldWithDefault(msg, 2, ""),
+    indexName: jspb.Message.getFieldWithDefault(msg, 3, ""),
+    indexValuesList: msg.getIndexValuesList_asB64(),
+    contestantId: msg.getContestantId_asB64(),
+    startAtIdentifierInfo: (f = msg.getStartAtIdentifierInfo()) && proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.toObject(includeInstance, f),
+    count: jspb.Message.getFieldWithDefault(msg, 7, 0),
+    orderAscending: jspb.Message.getBooleanFieldWithDefault(msg, 8, false),
+    prove: jspb.Message.getBooleanFieldWithDefault(msg, 9, false)
   };
 
   if (includeInstance) {
@@ -38306,23 +38458,23 @@ proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefund
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0}
  */
-proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0;
-  return proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0;
+  return proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0}
  */
-proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -38331,9 +38483,38 @@ proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefund
     switch (field) {
     case 1:
       var value = /** @type {!Uint8Array} */ (reader.readBytes());
-      msg.setId(value);
+      msg.setContractId(value);
       break;
     case 2:
+      var value = /** @type {string} */ (reader.readString());
+      msg.setDocumentTypeName(value);
+      break;
+    case 3:
+      var value = /** @type {string} */ (reader.readString());
+      msg.setIndexName(value);
+      break;
+    case 4:
+      var value = /** @type {!Uint8Array} */ (reader.readBytes());
+      msg.addIndexValues(value);
+      break;
+    case 5:
+      var value = /** @type {!Uint8Array} */ (reader.readBytes());
+      msg.setContestantId(value);
+      break;
+    case 6:
+      var value = new proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.deserializeBinaryFromReader);
+      msg.setStartAtIdentifierInfo(value);
+      break;
+    case 7:
+      var value = /** @type {number} */ (reader.readUint32());
+      msg.setCount(value);
+      break;
+    case 8:
+      var value = /** @type {boolean} */ (reader.readBool());
+      msg.setOrderAscending(value);
+      break;
+    case 9:
       var value = /** @type {boolean} */ (reader.readBool());
       msg.setProve(value);
       break;
@@ -38350,9 +38531,9 @@ proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefund
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -38360,151 +38541,79 @@ proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefund
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getId_asU8();
+  f = message.getContractId_asU8();
   if (f.length > 0) {
     writer.writeBytes(
       1,
       f
     );
   }
-  f = message.getProve();
-  if (f) {
-    writer.writeBool(
+  f = message.getDocumentTypeName();
+  if (f.length > 0) {
+    writer.writeString(
       2,
       f
     );
   }
+  f = message.getIndexName();
+  if (f.length > 0) {
+    writer.writeString(
+      3,
+      f
+    );
+  }
+  f = message.getIndexValuesList_asU8();
+  if (f.length > 0) {
+    writer.writeRepeatedBytes(
+      4,
+      f
+    );
+  }
+  f = message.getContestantId_asU8();
+  if (f.length > 0) {
+    writer.writeBytes(
+      5,
+      f
+    );
+  }
+  f = message.getStartAtIdentifierInfo();
+  if (f != null) {
+    writer.writeMessage(
+      6,
+      f,
+      proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.serializeBinaryToWriter
+    );
+  }
+  f = /** @type {number} */ (jspb.Message.getField(message, 7));
+  if (f != null) {
+    writer.writeUint32(
+      7,
+      f
+    );
+  }
+  f = message.getOrderAscending();
+  if (f) {
+    writer.writeBool(
+      8,
+      f
+    );
+  }
+  f = message.getProve();
+  if (f) {
+    writer.writeBool(
+      9,
+      f
+    );
+  }
 };
 
 
-/**
- * optional bytes id = 1;
- * @return {string}
- */
-proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.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.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.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.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.prototype.getId_asU8 = function() {
-  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
-      this.getId()));
-};
-
-
-/**
- * @param {!(string|Uint8Array)} value
- * @return {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0} returns this
- */
-proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.prototype.setId = function(value) {
-  return jspb.Message.setProto3BytesField(this, 1, value);
-};
-
-
-/**
- * optional bool prove = 2;
- * @return {boolean}
- */
-proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.prototype.getProve = function() {
-  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));
-};
-
-
-/**
- * @param {boolean} value
- * @return {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0} returns this
- */
-proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.prototype.setProve = function(value) {
-  return jspb.Message.setProto3BooleanField(this, 2, value);
-};
-
-
-/**
- * optional GetPrefundedSpecializedBalanceRequestV0 v0 = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0}
- */
-proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.prototype.getV0 = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0, 1));
-};
-
-
-/**
- * @param {?proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest} returns this
-*/
-proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.prototype.setV0 = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.oneofGroups_[0], value);
-};
-
-
-/**
- * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest} returns this
- */
-proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.prototype.clearV0 = function() {
-  return this.setV0(undefined);
-};
-
-
-/**
- * Returns whether this field is set.
- * @return {boolean}
- */
-proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.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.GetPrefundedSpecializedBalanceResponse.oneofGroups_ = [[1]];
-
-/**
- * @enum {number}
- */
-proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.VersionCase = {
-  VERSION_NOT_SET: 0,
-  V0: 1
-};
-
-/**
- * @return {proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.VersionCase}
- */
-proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.prototype.getVersionCase = function() {
-  return /** @type {proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.oneofGroups_[0]));
-};
 
 
 
@@ -38521,8 +38630,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.toObject(opt_includeInstance, this);
 };
 
 
@@ -38531,13 +38640,14 @@ proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.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.GetPrefundedSpecializedBalanceResponse} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.toObject = function(includeInstance, msg) {
   var f, obj = {
-    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.toObject(includeInstance, f)
+    startIdentifier: msg.getStartIdentifier_asB64(),
+    startIdentifierIncluded: jspb.Message.getBooleanFieldWithDefault(msg, 2, false)
   };
 
   if (includeInstance) {
@@ -38551,23 +38661,23 @@ proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.toObject
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse}
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo}
  */
-proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse;
-  return proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo;
+  return proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse}
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo}
  */
-proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -38575,9 +38685,12 @@ proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.deseriali
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.deserializeBinaryFromReader);
-      msg.setV0(value);
+      var value = /** @type {!Uint8Array} */ (reader.readBytes());
+      msg.setStartIdentifier(value);
+      break;
+    case 2:
+      var value = /** @type {boolean} */ (reader.readBool());
+      msg.setStartIdentifierIncluded(value);
       break;
     default:
       reader.skipField();
@@ -38592,9 +38705,9 @@ proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.deseriali
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -38602,629 +38715,403 @@ proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.prototype
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getV0();
-  if (f != null) {
-    writer.writeMessage(
+  f = message.getStartIdentifier_asU8();
+  if (f.length > 0) {
+    writer.writeBytes(
       1,
-      f,
-      proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.serializeBinaryToWriter
+      f
+    );
+  }
+  f = message.getStartIdentifierIncluded();
+  if (f) {
+    writer.writeBool(
+      2,
+      f
     );
   }
 };
 
 
-
 /**
- * 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 start_identifier = 1;
+ * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.oneofGroups_ = [[1,2]];
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.prototype.getStartIdentifier = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
+};
+
 
 /**
- * @enum {number}
+ * optional bytes start_identifier = 1;
+ * This is a type-conversion wrapper around `getStartIdentifier()`
+ * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.ResultCase = {
-  RESULT_NOT_SET: 0,
-  BALANCE: 1,
-  PROOF: 2
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.prototype.getStartIdentifier_asB64 = function() {
+  return /** @type {string} */ (jspb.Message.bytesAsB64(
+      this.getStartIdentifier()));
 };
 
+
 /**
- * @return {proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.ResultCase}
+ * optional bytes start_identifier = 1;
+ * Note that Uint8Array is not supported on all browsers.
+ * @see http://caniuse.com/Uint8Array
+ * This is a type-conversion wrapper around `getStartIdentifier()`
+ * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.prototype.getResultCase = function() {
-  return /** @type {proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.oneofGroups_[0]));
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.prototype.getStartIdentifier_asU8 = function() {
+  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
+      this.getStartIdentifier()));
 };
 
 
-
-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 {!(string|Uint8Array)} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo} returns this
  */
-proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.prototype.setStartIdentifier = function(value) {
+  return jspb.Message.setProto3BytesField(this, 1, 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.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0} msg The msg instance to transform.
- * @return {!Object}
- * @suppress {unusedLocalVariables} f is only used for nested messages
+ * optional bool start_identifier_included = 2;
+ * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.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)
-  };
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.prototype.getStartIdentifierIncluded = function() {
+  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));
+};
 
-  if (includeInstance) {
-    obj.$jspbMessageInstance = msg;
-  }
-  return obj;
+
+/**
+ * @param {boolean} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.prototype.setStartIdentifierIncluded = 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.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0}
+ * optional bytes contract_id = 1;
+ * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.deserializeBinary = function(bytes) {
-  var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0;
-  return proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.deserializeBinaryFromReader(msg, reader);
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.getContractId = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
 };
 
 
 /**
- * Deserializes binary data (in protobuf wire format) from the
- * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0} msg The message object to deserialize into.
- * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0}
+ * optional bytes contract_id = 1;
+ * This is a type-conversion wrapper around `getContractId()`
+ * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.deserializeBinaryFromReader = function(msg, reader) {
-  while (reader.nextField()) {
-    if (reader.isEndGroup()) {
-      break;
-    }
-    var field = reader.getFieldNumber();
-    switch (field) {
-    case 1:
-      var value = /** @type {string} */ (reader.readUint64String());
-      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();
-      break;
-    }
-  }
-  return msg;
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.getContractId_asB64 = function() {
+  return /** @type {string} */ (jspb.Message.bytesAsB64(
+      this.getContractId()));
 };
 
 
 /**
- * Serializes the message to binary data (in protobuf wire format).
+ * 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.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.prototype.serializeBinary = function() {
-  var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.serializeBinaryToWriter(this, writer);
-  return writer.getResultBuffer();
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.getContractId_asU8 = function() {
+  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
+      this.getContractId()));
 };
 
 
 /**
- * Serializes the given message to binary data (in protobuf wire
- * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0} 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.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.serializeBinaryToWriter = function(message, writer) {
-  var f = undefined;
-  f = /** @type {string} */ (jspb.Message.getField(message, 1));
-  if (f != null) {
-    writer.writeUint64String(
-      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
-    );
-  }
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.setContractId = function(value) {
+  return jspb.Message.setProto3BytesField(this, 1, value);
 };
 
 
 /**
- * optional uint64 balance = 1;
+ * optional string document_type_name = 2;
  * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.prototype.getBalance = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "0"));
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.getDocumentTypeName = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
 };
 
 
 /**
  * @param {string} value
- * @return {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.prototype.setBalance = function(value) {
-  return jspb.Message.setOneofField(this, 1, proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.oneofGroups_[0], value);
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.setDocumentTypeName = function(value) {
+  return jspb.Message.setProto3StringField(this, 2, value);
 };
 
 
 /**
- * Clears the field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0} returns this
+ * optional string index_name = 3;
+ * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.prototype.clearBalance = function() {
-  return jspb.Message.setOneofField(this, 1, proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.oneofGroups_[0], undefined);
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.getIndexName = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, ""));
 };
 
 
 /**
- * Returns whether this field is set.
- * @return {boolean}
+ * @param {string} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.prototype.hasBalance = function() {
-  return jspb.Message.getField(this, 1) != null;
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.setIndexName = function(value) {
+  return jspb.Message.setProto3StringField(this, 3, value);
 };
 
 
 /**
- * optional Proof proof = 2;
- * @return {?proto.org.dash.platform.dapi.v0.Proof}
+ * repeated bytes index_values = 4;
+ * @return {!Array}
  */
-proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.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.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.getIndexValuesList = function() {
+  return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 4));
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0} returns this
-*/
-proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.prototype.setProof = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.oneofGroups_[0], value);
+ * repeated bytes index_values = 4;
+ * This is a type-conversion wrapper around `getIndexValuesList()`
+ * @return {!Array}
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.getIndexValuesList_asB64 = function() {
+  return /** @type {!Array} */ (jspb.Message.bytesListAsB64(
+      this.getIndexValuesList()));
 };
 
 
 /**
- * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0} returns this
+ * repeated bytes index_values = 4;
+ * Note that Uint8Array is not supported on all browsers.
+ * @see http://caniuse.com/Uint8Array
+ * This is a type-conversion wrapper around `getIndexValuesList()`
+ * @return {!Array}
  */
-proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.prototype.clearProof = function() {
-  return this.setProof(undefined);
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.getIndexValuesList_asU8 = function() {
+  return /** @type {!Array} */ (jspb.Message.bytesListAsU8(
+      this.getIndexValuesList()));
 };
 
 
 /**
- * Returns whether this field is set.
- * @return {boolean}
+ * @param {!(Array|Array)} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.prototype.hasProof = function() {
-  return jspb.Message.getField(this, 2) != null;
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.setIndexValuesList = function(value) {
+  return jspb.Message.setField(this, 4, value || []);
 };
 
 
 /**
- * optional ResponseMetadata metadata = 3;
- * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata}
+ * @param {!(string|Uint8Array)} value
+ * @param {number=} opt_index
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.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.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.addIndexValues = function(value, opt_index) {
+  return jspb.Message.addToRepeatedField(this, 4, value, opt_index);
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0} returns this
-*/
-proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.prototype.setMetadata = function(value) {
-  return jspb.Message.setWrapperField(this, 3, value);
+ * Clears the list making it empty but non-null.
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.clearIndexValuesList = function() {
+  return this.setIndexValuesList([]);
 };
 
 
 /**
- * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0} returns this
+ * optional bytes contestant_id = 5;
+ * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.prototype.clearMetadata = function() {
-  return this.setMetadata(undefined);
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.getContestantId = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, ""));
 };
 
 
 /**
- * Returns whether this field is set.
- * @return {boolean}
+ * optional bytes contestant_id = 5;
+ * This is a type-conversion wrapper around `getContestantId()`
+ * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.prototype.hasMetadata = function() {
-  return jspb.Message.getField(this, 3) != null;
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.getContestantId_asB64 = function() {
+  return /** @type {string} */ (jspb.Message.bytesAsB64(
+      this.getContestantId()));
 };
 
 
 /**
- * optional GetPrefundedSpecializedBalanceResponseV0 v0 = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0}
+ * optional bytes contestant_id = 5;
+ * Note that Uint8Array is not supported on all browsers.
+ * @see http://caniuse.com/Uint8Array
+ * This is a type-conversion wrapper around `getContestantId()`
+ * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.prototype.getV0 = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0, 1));
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.getContestantId_asU8 = function() {
+  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
+      this.getContestantId()));
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse} returns this
-*/
-proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.prototype.setV0 = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.oneofGroups_[0], value);
+ * @param {!(string|Uint8Array)} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.setContestantId = function(value) {
+  return jspb.Message.setProto3BytesField(this, 5, value);
 };
 
 
 /**
- * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse} returns this
+ * optional StartAtIdentifierInfo start_at_identifier_info = 6;
+ * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo}
  */
-proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.prototype.clearV0 = function() {
-  return this.setV0(undefined);
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.getStartAtIdentifierInfo = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo, 6));
 };
 
 
 /**
- * Returns whether this field is set.
- * @return {boolean}
- */
-proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.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.GetTotalCreditsInPlatformRequest.oneofGroups_ = [[1]];
-
-/**
- * @enum {number}
- */
-proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.VersionCase = {
-  VERSION_NOT_SET: 0,
-  V0: 1
-};
-
-/**
- * @return {proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.VersionCase}
- */
-proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.prototype.getVersionCase = function() {
-  return /** @type {proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.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.GetTotalCreditsInPlatformRequest.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.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.GetTotalCreditsInPlatformRequest} msg The msg instance to transform.
- * @return {!Object}
- * @suppress {unusedLocalVariables} f is only used for nested messages
- */
-proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.toObject = function(includeInstance, msg) {
-  var f, obj = {
-    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0.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.GetTotalCreditsInPlatformRequest}
- */
-proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.deserializeBinary = function(bytes) {
-  var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest;
-  return proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.deserializeBinaryFromReader(msg, reader);
-};
-
-
-/**
- * Deserializes binary data (in protobuf wire format) from the
- * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest} msg The message object to deserialize into.
- * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest}
- */
-proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.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.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0.deserializeBinaryFromReader);
-      msg.setV0(value);
-      break;
-    default:
-      reader.skipField();
-      break;
-    }
-  }
-  return msg;
+ * @param {?proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.setStartAtIdentifierInfo = function(value) {
+  return jspb.Message.setWrapperField(this, 6, 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.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.prototype.serializeBinary = function() {
-  var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.serializeBinaryToWriter(this, writer);
-  return writer.getResultBuffer();
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.clearStartAtIdentifierInfo = function() {
+  return this.setStartAtIdentifierInfo(undefined);
 };
 
 
 /**
- * Serializes the given message to binary data (in protobuf wire
- * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest} 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.GetTotalCreditsInPlatformRequest.serializeBinaryToWriter = function(message, writer) {
-  var f = undefined;
-  f = message.getV0();
-  if (f != null) {
-    writer.writeMessage(
-      1,
-      f,
-      proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0.serializeBinaryToWriter
-    );
-  }
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.hasStartAtIdentifierInfo = function() {
+  return jspb.Message.getField(this, 6) != 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}
+ * optional uint32 count = 7;
+ * @return {number}
  */
-proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.getCount = function() {
+  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 7, 0));
 };
 
 
 /**
- * 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.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0} msg The msg instance to transform.
- * @return {!Object}
- * @suppress {unusedLocalVariables} f is only used for nested messages
+ * @param {number} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0.toObject = function(includeInstance, msg) {
-  var f, obj = {
-    prove: jspb.Message.getBooleanFieldWithDefault(msg, 1, false)
-  };
-
-  if (includeInstance) {
-    obj.$jspbMessageInstance = msg;
-  }
-  return obj;
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.setCount = function(value) {
+  return jspb.Message.setField(this, 7, value);
 };
-}
 
 
 /**
- * Deserializes binary data (in protobuf wire format).
- * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0}
+ * Clears the field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0.deserializeBinary = function(bytes) {
-  var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0;
-  return proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0.deserializeBinaryFromReader(msg, reader);
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.clearCount = function() {
+  return jspb.Message.setField(this, 7, undefined);
 };
 
 
 /**
- * Deserializes binary data (in protobuf wire format) from the
- * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0} msg The message object to deserialize into.
- * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0}
+ * Returns whether this field is set.
+ * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0.deserializeBinaryFromReader = function(msg, reader) {
-  while (reader.nextField()) {
-    if (reader.isEndGroup()) {
-      break;
-    }
-    var field = reader.getFieldNumber();
-    switch (field) {
-    case 1:
-      var value = /** @type {boolean} */ (reader.readBool());
-      msg.setProve(value);
-      break;
-    default:
-      reader.skipField();
-      break;
-    }
-  }
-  return msg;
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.hasCount = function() {
+  return jspb.Message.getField(this, 7) != null;
 };
 
 
 /**
- * Serializes the message to binary data (in protobuf wire format).
- * @return {!Uint8Array}
+ * optional bool order_ascending = 8;
+ * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0.prototype.serializeBinary = function() {
-  var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0.serializeBinaryToWriter(this, writer);
-  return writer.getResultBuffer();
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.getOrderAscending = function() {
+  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 8, false));
 };
 
 
 /**
- * Serializes the given message to binary data (in protobuf wire
- * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0} message
- * @param {!jspb.BinaryWriter} writer
- * @suppress {unusedLocalVariables} f is only used for nested messages
+ * @param {boolean} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0.serializeBinaryToWriter = function(message, writer) {
-  var f = undefined;
-  f = message.getProve();
-  if (f) {
-    writer.writeBool(
-      1,
-      f
-    );
-  }
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.setOrderAscending = function(value) {
+  return jspb.Message.setProto3BooleanField(this, 8, value);
 };
 
 
 /**
- * optional bool prove = 1;
+ * optional bool prove = 9;
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0.prototype.getProve = function() {
-  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 1, false));
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.getProve = function() {
+  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 9, false));
 };
 
 
 /**
  * @param {boolean} value
- * @return {!proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0.prototype.setProve = function(value) {
-  return jspb.Message.setProto3BooleanField(this, 1, value);
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.setProve = function(value) {
+  return jspb.Message.setProto3BooleanField(this, 9, value);
 };
 
 
 /**
- * optional GetTotalCreditsInPlatformRequestV0 v0 = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0}
+ * optional GetContestedResourceVotersForIdentityRequestV0 v0 = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0}
  */
-proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.prototype.getV0 = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0, 1));
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.prototype.getV0 = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0, 1));
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest} returns this
+ * @param {?proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest} returns this
 */
-proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.prototype.setV0 = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.oneofGroups_[0], value);
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.prototype.setV0 = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.oneofGroups_[0], value);
 };
 
 
 /**
  * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest} returns this
  */
-proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.prototype.clearV0 = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.prototype.clearV0 = function() {
   return this.setV0(undefined);
 };
 
@@ -39233,7 +39120,7 @@ proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.prototype.clear
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.prototype.hasV0 = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.prototype.hasV0 = function() {
   return jspb.Message.getField(this, 1) != null;
 };
 
@@ -39247,21 +39134,21 @@ proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.prototype.hasV0
  * @private {!Array>}
  * @const
  */
-proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.oneofGroups_ = [[1]];
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.oneofGroups_ = [[1]];
 
 /**
  * @enum {number}
  */
-proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.VersionCase = {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.VersionCase = {
   VERSION_NOT_SET: 0,
   V0: 1
 };
 
 /**
- * @return {proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.VersionCase}
+ * @return {proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.VersionCase}
  */
-proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.prototype.getVersionCase = function() {
-  return /** @type {proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.oneofGroups_[0]));
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.prototype.getVersionCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.oneofGroups_[0]));
 };
 
 
@@ -39279,8 +39166,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.toObject(opt_includeInstance, this);
 };
 
 
@@ -39289,13 +39176,13 @@ proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.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.GetTotalCreditsInPlatformResponse} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.toObject = function(includeInstance, msg) {
   var f, obj = {
-    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.toObject(includeInstance, f)
+    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.toObject(includeInstance, f)
   };
 
   if (includeInstance) {
@@ -39309,23 +39196,23 @@ proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.toObject = fun
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse}
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse}
  */
-proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse;
-  return proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse;
+  return proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse}
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse}
  */
-proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -39333,8 +39220,8 @@ proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.deserializeBin
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.deserializeBinaryFromReader);
+      var value = new proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.deserializeBinaryFromReader);
       msg.setV0(value);
       break;
     default:
@@ -39350,9 +39237,9 @@ proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.deserializeBin
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -39360,18 +39247,18 @@ proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.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.GetTotalCreditsInPlatformResponse} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
   f = message.getV0();
   if (f != null) {
     writer.writeMessage(
       1,
       f,
-      proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.serializeBinaryToWriter
     );
   }
 };
@@ -39386,22 +39273,22 @@ proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.serializeBinar
  * @private {!Array>}
  * @const
  */
-proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.oneofGroups_ = [[1,2]];
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.oneofGroups_ = [[1,2]];
 
 /**
  * @enum {number}
  */
-proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.ResultCase = {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ResultCase = {
   RESULT_NOT_SET: 0,
-  CREDITS: 1,
+  CONTESTED_RESOURCE_VOTERS: 1,
   PROOF: 2
 };
 
 /**
- * @return {proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.ResultCase}
+ * @return {proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ResultCase}
  */
-proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.prototype.getResultCase = function() {
-  return /** @type {proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.oneofGroups_[0]));
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.prototype.getResultCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.oneofGroups_[0]));
 };
 
 
@@ -39419,8 +39306,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.toObject(opt_includeInstance, this);
 };
 
 
@@ -39429,13 +39316,13 @@ proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCredit
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.toObject = function(includeInstance, msg) {
   var f, obj = {
-    credits: jspb.Message.getFieldWithDefault(msg, 1, "0"),
+    contestedResourceVoters: (f = msg.getContestedResourceVoters()) && proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.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)
   };
@@ -39451,23 +39338,23 @@ proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCredit
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0}
  */
-proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0;
-  return proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0;
+  return proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0}
  */
-proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -39475,8 +39362,9 @@ proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCredit
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = /** @type {string} */ (reader.readUint64String());
-      msg.setCredits(value);
+      var value = new proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.deserializeBinaryFromReader);
+      msg.setContestedResourceVoters(value);
       break;
     case 2:
       var value = new proto.org.dash.platform.dapi.v0.Proof;
@@ -39501,9 +39389,9 @@ proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCredit
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -39511,17 +39399,18 @@ proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCredit
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = /** @type {string} */ (jspb.Message.getField(message, 1));
+  f = message.getContestedResourceVoters();
   if (f != null) {
-    writer.writeUint64String(
+    writer.writeMessage(
       1,
-      f
+      f,
+      proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.serializeBinaryToWriter
     );
   }
   f = message.getProof();
@@ -39543,84 +39432,295 @@ proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCredit
 };
 
 
-/**
- * optional uint64 credits = 1;
- * @return {string}
- */
-proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.prototype.getCredits = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "0"));
-};
-
 
 /**
- * @param {string} value
- * @return {!proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0} returns this
+ * List of repeated fields within this message type.
+ * @private {!Array}
+ * @const
  */
-proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.prototype.setCredits = function(value) {
-  return jspb.Message.setOneofField(this, 1, proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.oneofGroups_[0], value);
-};
-
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.repeatedFields_ = [1];
 
-/**
- * Clears the field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0} returns this
- */
-proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.prototype.clearCredits = function() {
-  return jspb.Message.setOneofField(this, 1, proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.oneofGroups_[0], 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.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.prototype.hasCredits = function() {
-  return jspb.Message.getField(this, 1) != null;
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.toObject(opt_includeInstance, this);
 };
 
 
 /**
- * optional Proof proof = 2;
- * @return {?proto.org.dash.platform.dapi.v0.Proof}
+ * 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.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters} msg The msg instance to transform.
+ * @return {!Object}
+ * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.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.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.toObject = function(includeInstance, msg) {
+  var f, obj = {
+    votersList: msg.getVotersList_asB64(),
+    finishedResults: jspb.Message.getBooleanFieldWithDefault(msg, 2, false)
+  };
+
+  if (includeInstance) {
+    obj.$jspbMessageInstance = msg;
+  }
+  return obj;
 };
+}
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0} returns this
-*/
-proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.prototype.setProof = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.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.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters}
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.deserializeBinary = function(bytes) {
+  var reader = new jspb.BinaryReader(bytes);
+  var msg = new proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters;
+  return proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
- * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0} 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.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters} msg The message object to deserialize into.
+ * @param {!jspb.BinaryReader} reader The BinaryReader to use.
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters}
  */
-proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.prototype.clearProof = function() {
-  return this.setProof(undefined);
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.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.addVoters(value);
+      break;
+    case 2:
+      var value = /** @type {boolean} */ (reader.readBool());
+      msg.setFinishedResults(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.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.prototype.hasProof = function() {
-  return jspb.Message.getField(this, 2) != null;
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.prototype.serializeBinary = function() {
+  var writer = new jspb.BinaryWriter();
+  proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.serializeBinaryToWriter(this, writer);
+  return writer.getResultBuffer();
 };
 
 
 /**
- * optional ResponseMetadata metadata = 3;
+ * Serializes the given message to binary data (in protobuf wire
+ * format), writing to the given BinaryWriter.
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters} message
+ * @param {!jspb.BinaryWriter} writer
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.serializeBinaryToWriter = function(message, writer) {
+  var f = undefined;
+  f = message.getVotersList_asU8();
+  if (f.length > 0) {
+    writer.writeRepeatedBytes(
+      1,
+      f
+    );
+  }
+  f = message.getFinishedResults();
+  if (f) {
+    writer.writeBool(
+      2,
+      f
+    );
+  }
+};
+
+
+/**
+ * repeated bytes voters = 1;
+ * @return {!Array}
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.prototype.getVotersList = function() {
+  return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1));
+};
+
+
+/**
+ * repeated bytes voters = 1;
+ * This is a type-conversion wrapper around `getVotersList()`
+ * @return {!Array}
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.prototype.getVotersList_asB64 = function() {
+  return /** @type {!Array} */ (jspb.Message.bytesListAsB64(
+      this.getVotersList()));
+};
+
+
+/**
+ * repeated bytes voters = 1;
+ * Note that Uint8Array is not supported on all browsers.
+ * @see http://caniuse.com/Uint8Array
+ * This is a type-conversion wrapper around `getVotersList()`
+ * @return {!Array}
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.prototype.getVotersList_asU8 = function() {
+  return /** @type {!Array} */ (jspb.Message.bytesListAsU8(
+      this.getVotersList()));
+};
+
+
+/**
+ * @param {!(Array|Array)} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.prototype.setVotersList = function(value) {
+  return jspb.Message.setField(this, 1, value || []);
+};
+
+
+/**
+ * @param {!(string|Uint8Array)} value
+ * @param {number=} opt_index
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.prototype.addVoters = 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.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.prototype.clearVotersList = function() {
+  return this.setVotersList([]);
+};
+
+
+/**
+ * optional bool finished_results = 2;
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.prototype.getFinishedResults = function() {
+  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));
+};
+
+
+/**
+ * @param {boolean} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.prototype.setFinishedResults = function(value) {
+  return jspb.Message.setProto3BooleanField(this, 2, value);
+};
+
+
+/**
+ * optional ContestedResourceVoters contested_resource_voters = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters}
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.prototype.getContestedResourceVoters = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters, 1));
+};
+
+
+/**
+ * @param {?proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.prototype.setContestedResourceVoters = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.oneofGroups_[0], value);
+};
+
+
+/**
+ * Clears the message field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.prototype.clearContestedResourceVoters = function() {
+  return this.setContestedResourceVoters(undefined);
+};
+
+
+/**
+ * Returns whether this field is set.
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.prototype.hasContestedResourceVoters = 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.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.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.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.prototype.setProof = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.oneofGroups_[0], value);
+};
+
+
+/**
+ * Clears the message field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.prototype.clearProof = function() {
+  return this.setProof(undefined);
+};
+
+
+/**
+ * Returns whether this field is set.
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.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.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.prototype.getMetadata = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.prototype.getMetadata = function() {
   return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ (
     jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3));
 };
@@ -39628,18 +39728,18 @@ proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCredit
 
 /**
  * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0} returns this
 */
-proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.prototype.setMetadata = function(value) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.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.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.prototype.clearMetadata = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.prototype.clearMetadata = function() {
   return this.setMetadata(undefined);
 };
 
@@ -39648,35 +39748,35 @@ proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCredit
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.prototype.hasMetadata = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.prototype.hasMetadata = function() {
   return jspb.Message.getField(this, 3) != null;
 };
 
 
 /**
- * optional GetTotalCreditsInPlatformResponseV0 v0 = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0}
+ * optional GetContestedResourceVotersForIdentityResponseV0 v0 = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0}
  */
-proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.prototype.getV0 = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0, 1));
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.prototype.getV0 = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0, 1));
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse} returns this
+ * @param {?proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse} returns this
 */
-proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.prototype.setV0 = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.oneofGroups_[0], value);
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.prototype.setV0 = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.oneofGroups_[0], value);
 };
 
 
 /**
  * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse} returns this
  */
-proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.prototype.clearV0 = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.prototype.clearV0 = function() {
   return this.setV0(undefined);
 };
 
@@ -39685,7 +39785,7 @@ proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.prototype.clea
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.prototype.hasV0 = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.prototype.hasV0 = function() {
   return jspb.Message.getField(this, 1) != null;
 };
 
@@ -39699,21 +39799,21 @@ proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.prototype.hasV
  * @private {!Array>}
  * @const
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsRequest.oneofGroups_ = [[1]];
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.oneofGroups_ = [[1]];
 
 /**
  * @enum {number}
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsRequest.VersionCase = {
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.VersionCase = {
   VERSION_NOT_SET: 0,
   V0: 1
 };
 
 /**
- * @return {proto.org.dash.platform.dapi.v0.GetPathElementsRequest.VersionCase}
+ * @return {proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.VersionCase}
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsRequest.prototype.getVersionCase = function() {
-  return /** @type {proto.org.dash.platform.dapi.v0.GetPathElementsRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetPathElementsRequest.oneofGroups_[0]));
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.prototype.getVersionCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.oneofGroups_[0]));
 };
 
 
@@ -39731,8 +39831,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsRequest.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetPathElementsRequest.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.toObject(opt_includeInstance, this);
 };
 
 
@@ -39741,13 +39841,13 @@ proto.org.dash.platform.dapi.v0.GetPathElementsRequest.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.GetPathElementsRequest} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsRequest.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.toObject = function(includeInstance, msg) {
   var f, obj = {
-    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.toObject(includeInstance, f)
+    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.toObject(includeInstance, f)
   };
 
   if (includeInstance) {
@@ -39761,23 +39861,23 @@ proto.org.dash.platform.dapi.v0.GetPathElementsRequest.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.GetPathElementsRequest}
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest}
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsRequest.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetPathElementsRequest;
-  return proto.org.dash.platform.dapi.v0.GetPathElementsRequest.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest;
+  return proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetPathElementsRequest} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsRequest}
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest}
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsRequest.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -39785,8 +39885,8 @@ proto.org.dash.platform.dapi.v0.GetPathElementsRequest.deserializeBinaryFromRead
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.deserializeBinaryFromReader);
+      var value = new proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.deserializeBinaryFromReader);
       msg.setV0(value);
       break;
     default:
@@ -39802,9 +39902,9 @@ proto.org.dash.platform.dapi.v0.GetPathElementsRequest.deserializeBinaryFromRead
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsRequest.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetPathElementsRequest.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -39812,31 +39912,24 @@ proto.org.dash.platform.dapi.v0.GetPathElementsRequest.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.GetPathElementsRequest} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsRequest.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
   f = message.getV0();
   if (f != null) {
     writer.writeMessage(
       1,
       f,
-      proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.serializeBinaryToWriter
     );
   }
 };
 
 
 
-/**
- * List of repeated fields within this message type.
- * @private {!Array}
- * @const
- */
-proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.repeatedFields_ = [1,2];
-
 
 
 if (jspb.Message.GENERATE_TO_OBJECT) {
@@ -39852,8 +39945,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.toObject(opt_includeInstance, this);
 };
 
 
@@ -39862,15 +39955,18 @@ proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.toObject = function(includeInstance, msg) {
   var f, obj = {
-    pathList: msg.getPathList_asB64(),
-    keysList: msg.getKeysList_asB64(),
-    prove: jspb.Message.getBooleanFieldWithDefault(msg, 3, false)
+    identityId: msg.getIdentityId_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),
+    orderAscending: jspb.Message.getBooleanFieldWithDefault(msg, 4, false),
+    startAtVotePollIdInfo: (f = msg.getStartAtVotePollIdInfo()) && proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.toObject(includeInstance, f),
+    prove: jspb.Message.getBooleanFieldWithDefault(msg, 6, false)
   };
 
   if (includeInstance) {
@@ -39884,23 +39980,23 @@ proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0}
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0;
-  return proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0;
+  return proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0}
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -39909,13 +40005,28 @@ proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.
     switch (field) {
     case 1:
       var value = /** @type {!Uint8Array} */ (reader.readBytes());
-      msg.addPath(value);
+      msg.setIdentityId(value);
       break;
     case 2:
-      var value = /** @type {!Uint8Array} */ (reader.readBytes());
-      msg.addKeys(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 {boolean} */ (reader.readBool());
+      msg.setOrderAscending(value);
+      break;
+    case 5:
+      var value = new proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.deserializeBinaryFromReader);
+      msg.setStartAtVotePollIdInfo(value);
+      break;
+    case 6:
       var value = /** @type {boolean} */ (reader.readBool());
       msg.setProve(value);
       break;
@@ -39932,9 +40043,9 @@ proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -39942,200 +40053,457 @@ proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getPathList_asU8();
+  f = message.getIdentityId_asU8();
   if (f.length > 0) {
-    writer.writeRepeatedBytes(
+    writer.writeBytes(
       1,
       f
     );
   }
-  f = message.getKeysList_asU8();
-  if (f.length > 0) {
-    writer.writeRepeatedBytes(
+  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.getOrderAscending();
+  if (f) {
+    writer.writeBool(
+      4,
       f
     );
   }
+  f = message.getStartAtVotePollIdInfo();
+  if (f != null) {
+    writer.writeMessage(
+      5,
+      f,
+      proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.serializeBinaryToWriter
+    );
+  }
   f = message.getProve();
   if (f) {
     writer.writeBool(
-      3,
+      6,
       f
     );
   }
 };
 
 
+
+
+
+if (jspb.Message.GENERATE_TO_OBJECT) {
 /**
- * repeated bytes path = 1;
- * @return {!Array}
+ * 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.GetPathElementsRequest.GetPathElementsRequestV0.prototype.getPathList = function() {
-  return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1));
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.toObject(opt_includeInstance, this);
 };
 
 
 /**
- * repeated bytes path = 1;
- * This is a type-conversion wrapper around `getPathList()`
- * @return {!Array}
+ * 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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo} msg The msg instance to transform.
+ * @return {!Object}
+ * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.prototype.getPathList_asB64 = function() {
-  return /** @type {!Array} */ (jspb.Message.bytesListAsB64(
-      this.getPathList()));
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.toObject = function(includeInstance, msg) {
+  var f, obj = {
+    startAtPollIdentifier: msg.getStartAtPollIdentifier_asB64(),
+    startPollIdentifierIncluded: jspb.Message.getBooleanFieldWithDefault(msg, 2, false)
+  };
+
+  if (includeInstance) {
+    obj.$jspbMessageInstance = msg;
+  }
+  return obj;
 };
+}
 
 
 /**
- * repeated bytes path = 1;
- * Note that Uint8Array is not supported on all browsers.
- * @see http://caniuse.com/Uint8Array
- * This is a type-conversion wrapper around `getPathList()`
- * @return {!Array}
+ * Deserializes binary data (in protobuf wire format).
+ * @param {jspb.ByteSource} bytes The bytes to deserialize.
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo}
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.prototype.getPathList_asU8 = function() {
-  return /** @type {!Array} */ (jspb.Message.bytesListAsU8(
-      this.getPathList()));
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.deserializeBinary = function(bytes) {
+  var reader = new jspb.BinaryReader(bytes);
+  var msg = new proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo;
+  return proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
- * @param {!(Array|Array)} value
- * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0} 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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo} msg The message object to deserialize into.
+ * @param {!jspb.BinaryReader} reader The BinaryReader to use.
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo}
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.prototype.setPathList = function(value) {
-  return jspb.Message.setField(this, 1, value || []);
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.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.setStartAtPollIdentifier(value);
+      break;
+    case 2:
+      var value = /** @type {boolean} */ (reader.readBool());
+      msg.setStartPollIdentifierIncluded(value);
+      break;
+    default:
+      reader.skipField();
+      break;
+    }
+  }
+  return msg;
 };
 
 
 /**
- * @param {!(string|Uint8Array)} value
- * @param {number=} opt_index
- * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0} returns this
+ * Serializes the message to binary data (in protobuf wire format).
+ * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.prototype.addPath = function(value, opt_index) {
-  return jspb.Message.addToRepeatedField(this, 1, value, opt_index);
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.prototype.serializeBinary = function() {
+  var writer = new jspb.BinaryWriter();
+  proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.serializeBinaryToWriter(this, writer);
+  return writer.getResultBuffer();
 };
 
 
 /**
- * Clears the list making it empty but non-null.
- * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0} 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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo} message
+ * @param {!jspb.BinaryWriter} writer
+ * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.prototype.clearPathList = function() {
-  return this.setPathList([]);
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.serializeBinaryToWriter = function(message, writer) {
+  var f = undefined;
+  f = message.getStartAtPollIdentifier_asU8();
+  if (f.length > 0) {
+    writer.writeBytes(
+      1,
+      f
+    );
+  }
+  f = message.getStartPollIdentifierIncluded();
+  if (f) {
+    writer.writeBool(
+      2,
+      f
+    );
+  }
 };
 
 
 /**
- * repeated bytes keys = 2;
- * @return {!Array}
+ * optional bytes start_at_poll_identifier = 1;
+ * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.prototype.getKeysList = function() {
-  return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 2));
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.prototype.getStartAtPollIdentifier = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
 };
 
 
 /**
- * repeated bytes keys = 2;
- * This is a type-conversion wrapper around `getKeysList()`
- * @return {!Array}
+ * optional bytes start_at_poll_identifier = 1;
+ * This is a type-conversion wrapper around `getStartAtPollIdentifier()`
+ * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.prototype.getKeysList_asB64 = function() {
-  return /** @type {!Array} */ (jspb.Message.bytesListAsB64(
-      this.getKeysList()));
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.prototype.getStartAtPollIdentifier_asB64 = function() {
+  return /** @type {string} */ (jspb.Message.bytesAsB64(
+      this.getStartAtPollIdentifier()));
 };
 
 
 /**
- * repeated bytes keys = 2;
+ * optional bytes start_at_poll_identifier = 1;
  * Note that Uint8Array is not supported on all browsers.
  * @see http://caniuse.com/Uint8Array
- * This is a type-conversion wrapper around `getKeysList()`
- * @return {!Array}
+ * This is a type-conversion wrapper around `getStartAtPollIdentifier()`
+ * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.prototype.getKeysList_asU8 = function() {
-  return /** @type {!Array} */ (jspb.Message.bytesListAsU8(
-      this.getKeysList()));
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.prototype.getStartAtPollIdentifier_asU8 = function() {
+  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
+      this.getStartAtPollIdentifier()));
 };
 
 
 /**
- * @param {!(Array|Array)} value
- * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0} returns this
+ * @param {!(string|Uint8Array)} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo} returns this
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.prototype.setKeysList = function(value) {
-  return jspb.Message.setField(this, 2, value || []);
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.prototype.setStartAtPollIdentifier = function(value) {
+  return jspb.Message.setProto3BytesField(this, 1, value);
+};
+
+
+/**
+ * optional bool start_poll_identifier_included = 2;
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.prototype.getStartPollIdentifierIncluded = function() {
+  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));
+};
+
+
+/**
+ * @param {boolean} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.prototype.setStartPollIdentifierIncluded = function(value) {
+  return jspb.Message.setProto3BooleanField(this, 2, value);
+};
+
+
+/**
+ * optional bytes identity_id = 1;
+ * @return {string}
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prototype.getIdentityId = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
+};
+
+
+/**
+ * optional bytes identity_id = 1;
+ * This is a type-conversion wrapper around `getIdentityId()`
+ * @return {string}
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prototype.getIdentityId_asU8 = function() {
+  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
+      this.getIdentityId()));
 };
 
 
 /**
  * @param {!(string|Uint8Array)} value
- * @param {number=} opt_index
- * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.prototype.addKeys = function(value, opt_index) {
-  return jspb.Message.addToRepeatedField(this, 2, value, opt_index);
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prototype.setIdentityId = function(value) {
+  return jspb.Message.setProto3BytesField(this, 1, value);
 };
 
 
 /**
- * Clears the list making it empty but non-null.
- * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0} returns this
+ * optional google.protobuf.UInt32Value limit = 2;
+ * @return {?proto.google.protobuf.UInt32Value}
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.prototype.clearKeysList = function() {
-  return this.setKeysList([]);
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prototype.getLimit = function() {
+  return /** @type{?proto.google.protobuf.UInt32Value} */ (
+    jspb.Message.getWrapperField(this, google_protobuf_wrappers_pb.UInt32Value, 2));
 };
 
 
 /**
- * optional bool prove = 3;
+ * @param {?proto.google.protobuf.UInt32Value|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prototype.clearLimit = function() {
+  return this.setLimit(undefined);
+};
+
+
+/**
+ * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.prototype.getProve = function() {
-  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 3, false));
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prototype.hasLimit = function() {
+  return jspb.Message.getField(this, 2) != null;
+};
+
+
+/**
+ * optional google.protobuf.UInt32Value offset = 3;
+ * @return {?proto.google.protobuf.UInt32Value}
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prototype.getOffset = 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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prototype.clearOffset = function() {
+  return this.setOffset(undefined);
+};
+
+
+/**
+ * Returns whether this field is set.
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prototype.hasOffset = function() {
+  return jspb.Message.getField(this, 3) != null;
+};
+
+
+/**
+ * optional bool order_ascending = 4;
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prototype.getOrderAscending = function() {
+  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 4, false));
 };
 
 
 /**
  * @param {boolean} value
- * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.prototype.setProve = function(value) {
-  return jspb.Message.setProto3BooleanField(this, 3, value);
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prototype.setOrderAscending = function(value) {
+  return jspb.Message.setProto3BooleanField(this, 4, value);
 };
 
 
 /**
- * optional GetPathElementsRequestV0 v0 = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0}
+ * optional StartAtVotePollIdInfo start_at_vote_poll_id_info = 5;
+ * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo}
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsRequest.prototype.getV0 = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0, 1));
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prototype.getStartAtVotePollIdInfo = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo, 5));
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsRequest} returns this
+ * @param {?proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0} returns this
 */
-proto.org.dash.platform.dapi.v0.GetPathElementsRequest.prototype.setV0 = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetPathElementsRequest.oneofGroups_[0], value);
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prototype.setStartAtVotePollIdInfo = function(value) {
+  return jspb.Message.setWrapperField(this, 5, value);
 };
 
 
 /**
  * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsRequest} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsRequest.prototype.clearV0 = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prototype.clearStartAtVotePollIdInfo = function() {
+  return this.setStartAtVotePollIdInfo(undefined);
+};
+
+
+/**
+ * Returns whether this field is set.
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prototype.hasStartAtVotePollIdInfo = function() {
+  return jspb.Message.getField(this, 5) != null;
+};
+
+
+/**
+ * optional bool prove = 6;
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prototype.getProve = function() {
+  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 6, false));
+};
+
+
+/**
+ * @param {boolean} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prototype.setProve = function(value) {
+  return jspb.Message.setProto3BooleanField(this, 6, value);
+};
+
+
+/**
+ * optional GetContestedResourceIdentityVotesRequestV0 v0 = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0}
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.prototype.getV0 = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0, 1));
+};
+
+
+/**
+ * @param {?proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.prototype.setV0 = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.oneofGroups_[0], value);
+};
+
+
+/**
+ * Clears the message field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.prototype.clearV0 = function() {
   return this.setV0(undefined);
 };
 
@@ -40144,7 +40512,7 @@ proto.org.dash.platform.dapi.v0.GetPathElementsRequest.prototype.clearV0 = funct
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsRequest.prototype.hasV0 = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.prototype.hasV0 = function() {
   return jspb.Message.getField(this, 1) != null;
 };
 
@@ -40158,21 +40526,21 @@ proto.org.dash.platform.dapi.v0.GetPathElementsRequest.prototype.hasV0 = functio
  * @private {!Array>}
  * @const
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsResponse.oneofGroups_ = [[1]];
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.oneofGroups_ = [[1]];
 
 /**
  * @enum {number}
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsResponse.VersionCase = {
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.VersionCase = {
   VERSION_NOT_SET: 0,
   V0: 1
 };
 
 /**
- * @return {proto.org.dash.platform.dapi.v0.GetPathElementsResponse.VersionCase}
+ * @return {proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.VersionCase}
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsResponse.prototype.getVersionCase = function() {
-  return /** @type {proto.org.dash.platform.dapi.v0.GetPathElementsResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetPathElementsResponse.oneofGroups_[0]));
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.prototype.getVersionCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.oneofGroups_[0]));
 };
 
 
@@ -40190,8 +40558,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsResponse.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetPathElementsResponse.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.toObject(opt_includeInstance, this);
 };
 
 
@@ -40200,13 +40568,13 @@ proto.org.dash.platform.dapi.v0.GetPathElementsResponse.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.GetPathElementsResponse} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsResponse.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.toObject = function(includeInstance, msg) {
   var f, obj = {
-    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.toObject(includeInstance, f)
+    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.toObject(includeInstance, f)
   };
 
   if (includeInstance) {
@@ -40220,23 +40588,23 @@ proto.org.dash.platform.dapi.v0.GetPathElementsResponse.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.GetPathElementsResponse}
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse}
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsResponse.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetPathElementsResponse;
-  return proto.org.dash.platform.dapi.v0.GetPathElementsResponse.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse;
+  return proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetPathElementsResponse} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsResponse}
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse}
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsResponse.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -40244,8 +40612,8 @@ proto.org.dash.platform.dapi.v0.GetPathElementsResponse.deserializeBinaryFromRea
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.deserializeBinaryFromReader);
+      var value = new proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.deserializeBinaryFromReader);
       msg.setV0(value);
       break;
     default:
@@ -40261,9 +40629,9 @@ proto.org.dash.platform.dapi.v0.GetPathElementsResponse.deserializeBinaryFromRea
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsResponse.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetPathElementsResponse.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -40271,18 +40639,18 @@ proto.org.dash.platform.dapi.v0.GetPathElementsResponse.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.GetPathElementsResponse} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsResponse.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
   f = message.getV0();
   if (f != null) {
     writer.writeMessage(
       1,
       f,
-      proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.serializeBinaryToWriter
     );
   }
 };
@@ -40297,22 +40665,22 @@ proto.org.dash.platform.dapi.v0.GetPathElementsResponse.serializeBinaryToWriter
  * @private {!Array>}
  * @const
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.oneofGroups_ = [[1,2]];
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.oneofGroups_ = [[1,2]];
 
 /**
  * @enum {number}
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.ResultCase = {
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResultCase = {
   RESULT_NOT_SET: 0,
-  ELEMENTS: 1,
+  VOTES: 1,
   PROOF: 2
 };
 
 /**
- * @return {proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.ResultCase}
+ * @return {proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResultCase}
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.prototype.getResultCase = function() {
-  return /** @type {proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.oneofGroups_[0]));
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.prototype.getResultCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.oneofGroups_[0]));
 };
 
 
@@ -40330,8 +40698,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.toObject(opt_includeInstance, this);
 };
 
 
@@ -40340,13 +40708,13 @@ proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.toObject = function(includeInstance, msg) {
   var f, obj = {
-    elements: (f = msg.getElements()) && proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.toObject(includeInstance, f),
+    votes: (f = msg.getVotes()) && proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.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)
   };
@@ -40362,23 +40730,23 @@ proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0}
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0;
-  return proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0;
+  return proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0}
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -40386,9 +40754,9 @@ proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.deserializeBinaryFromReader);
-      msg.setElements(value);
+      var value = new proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.deserializeBinaryFromReader);
+      msg.setVotes(value);
       break;
     case 2:
       var value = new proto.org.dash.platform.dapi.v0.Proof;
@@ -40413,9 +40781,9 @@ proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -40423,18 +40791,18 @@ proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getElements();
+  f = message.getVotes();
   if (f != null) {
     writer.writeMessage(
       1,
       f,
-      proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.serializeBinaryToWriter
     );
   }
   f = message.getProof();
@@ -40462,7 +40830,7 @@ proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV
  * @private {!Array}
  * @const
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.repeatedFields_ = [1];
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.repeatedFields_ = [1];
 
 
 
@@ -40479,8 +40847,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.toObject(opt_includeInstance, this);
 };
 
 
@@ -40489,13 +40857,15 @@ proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.toObject = function(includeInstance, msg) {
   var f, obj = {
-    elementsList: msg.getElementsList_asB64()
+    contestedResourceIdentityVotesList: jspb.Message.toObjectList(msg.getContestedResourceIdentityVotesList(),
+    proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.toObject, includeInstance),
+    finishedResults: jspb.Message.getBooleanFieldWithDefault(msg, 2, false)
   };
 
   if (includeInstance) {
@@ -40509,23 +40879,23 @@ proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements}
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes}
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements;
-  return proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes;
+  return proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements}
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes}
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -40533,8 +40903,13 @@ proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = /** @type {!Uint8Array} */ (reader.readBytes());
-      msg.addElements(value);
+      var value = new proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.deserializeBinaryFromReader);
+      msg.addContestedResourceIdentityVotes(value);
+      break;
+    case 2:
+      var value = /** @type {boolean} */ (reader.readBool());
+      msg.setFinishedResults(value);
       break;
     default:
       reader.skipField();
@@ -40549,9 +40924,9 @@ proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -40559,16 +40934,24 @@ proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getElementsList_asU8();
+  f = message.getContestedResourceIdentityVotesList();
   if (f.length > 0) {
-    writer.writeRepeatedBytes(
+    writer.writeRepeatedMessage(
       1,
+      f,
+      proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.serializeBinaryToWriter
+    );
+  }
+  f = message.getFinishedResults();
+  if (f) {
+    writer.writeBool(
+      2,
       f
     );
   }
@@ -40576,202 +40959,260 @@ proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV
 
 
 /**
- * repeated bytes elements = 1;
- * @return {!Array}
+ * repeated ContestedResourceIdentityVote contested_resource_identity_votes = 1;
+ * @return {!Array}
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.prototype.getElementsList = function() {
-  return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1));
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.prototype.getContestedResourceIdentityVotesList = function() {
+  return /** @type{!Array} */ (
+    jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote, 1));
 };
 
 
 /**
- * repeated bytes elements = 1;
- * This is a type-conversion wrapper around `getElementsList()`
- * @return {!Array}
- */
-proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.prototype.getElementsList_asB64 = function() {
-  return /** @type {!Array} */ (jspb.Message.bytesListAsB64(
-      this.getElementsList()));
+ * @param {!Array} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.prototype.setContestedResourceIdentityVotesList = function(value) {
+  return jspb.Message.setRepeatedWrapperField(this, 1, value);
 };
 
 
 /**
- * repeated bytes elements = 1;
- * Note that Uint8Array is not supported on all browsers.
- * @see http://caniuse.com/Uint8Array
- * This is a type-conversion wrapper around `getElementsList()`
- * @return {!Array}
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote=} opt_value
+ * @param {number=} opt_index
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote}
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.prototype.getElementsList_asU8 = function() {
-  return /** @type {!Array} */ (jspb.Message.bytesListAsU8(
-      this.getElementsList()));
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.prototype.addContestedResourceIdentityVotes = function(opt_value, opt_index) {
+  return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote, opt_index);
 };
 
 
 /**
- * @param {!(Array|Array)} value
- * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements} returns this
+ * Clears the list making it empty but non-null.
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes} returns this
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.prototype.setElementsList = function(value) {
-  return jspb.Message.setField(this, 1, value || []);
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.prototype.clearContestedResourceIdentityVotesList = function() {
+  return this.setContestedResourceIdentityVotesList([]);
 };
 
 
 /**
- * @param {!(string|Uint8Array)} value
- * @param {number=} opt_index
- * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements} returns this
+ * optional bool finished_results = 2;
+ * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.prototype.addElements = function(value, opt_index) {
-  return jspb.Message.addToRepeatedField(this, 1, value, opt_index);
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.prototype.getFinishedResults = 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.GetPathElementsResponse.GetPathElementsResponseV0.Elements} returns this
+ * @param {boolean} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes} returns this
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.prototype.clearElementsList = function() {
-  return this.setElementsList([]);
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.prototype.setFinishedResults = function(value) {
+  return jspb.Message.setProto3BooleanField(this, 2, value);
 };
 
 
-/**
- * optional Elements elements = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements}
- */
-proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.prototype.getElements = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements, 1));
-};
 
 
+
+if (jspb.Message.GENERATE_TO_OBJECT) {
 /**
- * @param {?proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0} returns this
-*/
-proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.prototype.setElements = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.toObject(opt_includeInstance, this);
 };
 
 
 /**
- * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0} 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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice} msg The msg instance to transform.
+ * @return {!Object}
+ * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.prototype.clearElements = function() {
-  return this.setElements(undefined);
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.toObject = function(includeInstance, msg) {
+  var f, obj = {
+    voteChoiceType: jspb.Message.getFieldWithDefault(msg, 1, 0),
+    identityId: msg.getIdentityId_asB64()
+  };
+
+  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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice}
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.prototype.hasElements = function() {
-  return jspb.Message.getField(this, 1) != null;
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.deserializeBinary = function(bytes) {
+  var reader = new jspb.BinaryReader(bytes);
+  var msg = new proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice;
+  return proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
- * optional Proof proof = 2;
- * @return {?proto.org.dash.platform.dapi.v0.Proof}
+ * Deserializes binary data (in protobuf wire format) from the
+ * given reader into the given message object.
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice} msg The message object to deserialize into.
+ * @param {!jspb.BinaryReader} reader The BinaryReader to use.
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice}
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.deserializeBinaryFromReader = function(msg, reader) {
+  while (reader.nextField()) {
+    if (reader.isEndGroup()) {
+      break;
+    }
+    var field = reader.getFieldNumber();
+    switch (field) {
+    case 1:
+      var value = /** @type {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.VoteChoiceType} */ (reader.readEnum());
+      msg.setVoteChoiceType(value);
+      break;
+    case 2:
+      var value = /** @type {!Uint8Array} */ (reader.readBytes());
+      msg.setIdentityId(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.GetPathElementsResponse.GetPathElementsResponseV0} returns this
-*/
-proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.prototype.setProof = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.oneofGroups_[0], value);
+ * Serializes the message to binary data (in protobuf wire format).
+ * @return {!Uint8Array}
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.prototype.serializeBinary = function() {
+  var writer = new jspb.BinaryWriter();
+  proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.serializeBinaryToWriter(this, writer);
+  return writer.getResultBuffer();
 };
 
 
 /**
- * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0} 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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice} message
+ * @param {!jspb.BinaryWriter} writer
+ * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.prototype.clearProof = function() {
-  return this.setProof(undefined);
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.serializeBinaryToWriter = function(message, writer) {
+  var f = undefined;
+  f = message.getVoteChoiceType();
+  if (f !== 0.0) {
+    writer.writeEnum(
+      1,
+      f
+    );
+  }
+  f = /** @type {!(string|Uint8Array)} */ (jspb.Message.getField(message, 2));
+  if (f != null) {
+    writer.writeBytes(
+      2,
+      f
+    );
+  }
 };
 
 
 /**
- * Returns whether this field is set.
- * @return {boolean}
+ * @enum {number}
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.prototype.hasProof = function() {
-  return jspb.Message.getField(this, 2) != null;
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.VoteChoiceType = {
+  TOWARDS_IDENTITY: 0,
+  ABSTAIN: 1,
+  LOCK: 2
 };
 
-
 /**
- * optional ResponseMetadata metadata = 3;
- * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata}
+ * optional VoteChoiceType vote_choice_type = 1;
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.VoteChoiceType}
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.prototype.getVoteChoiceType = function() {
+  return /** @type {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.VoteChoiceType} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0} returns this
-*/
-proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.prototype.setMetadata = function(value) {
-  return jspb.Message.setWrapperField(this, 3, value);
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.VoteChoiceType} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.prototype.setVoteChoiceType = function(value) {
+  return jspb.Message.setProto3EnumField(this, 1, value);
 };
 
 
 /**
- * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0} returns this
+ * optional bytes identity_id = 2;
+ * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.prototype.clearMetadata = function() {
-  return this.setMetadata(undefined);
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.prototype.getIdentityId = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
 };
 
 
 /**
- * Returns whether this field is set.
- * @return {boolean}
+ * optional bytes identity_id = 2;
+ * This is a type-conversion wrapper around `getIdentityId()`
+ * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.prototype.hasMetadata = function() {
-  return jspb.Message.getField(this, 3) != null;
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.prototype.getIdentityId_asB64 = function() {
+  return /** @type {string} */ (jspb.Message.bytesAsB64(
+      this.getIdentityId()));
 };
 
 
 /**
- * optional GetPathElementsResponseV0 v0 = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0}
+ * optional bytes identity_id = 2;
+ * 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.GetPathElementsResponse.prototype.getV0 = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0, 1));
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.prototype.getIdentityId_asU8 = function() {
+  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
+      this.getIdentityId()));
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsResponse} returns this
-*/
-proto.org.dash.platform.dapi.v0.GetPathElementsResponse.prototype.setV0 = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetPathElementsResponse.oneofGroups_[0], value);
+ * @param {!(string|Uint8Array)} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.prototype.setIdentityId = function(value) {
+  return jspb.Message.setField(this, 2, value);
 };
 
 
 /**
- * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsResponse} returns this
+ * Clears the field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice} returns this
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsResponse.prototype.clearV0 = function() {
-  return this.setV0(undefined);
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.prototype.clearIdentityId = function() {
+  return jspb.Message.setField(this, 2, undefined);
 };
 
 
@@ -40779,36 +41220,18 @@ proto.org.dash.platform.dapi.v0.GetPathElementsResponse.prototype.clearV0 = func
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsResponse.prototype.hasV0 = function() {
-  return jspb.Message.getField(this, 1) != null;
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.prototype.hasIdentityId = 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.GetStatusRequest.oneofGroups_ = [[1]];
-
-/**
- * @enum {number}
- */
-proto.org.dash.platform.dapi.v0.GetStatusRequest.VersionCase = {
-  VERSION_NOT_SET: 0,
-  V0: 1
-};
-
-/**
- * @return {proto.org.dash.platform.dapi.v0.GetStatusRequest.VersionCase}
- */
-proto.org.dash.platform.dapi.v0.GetStatusRequest.prototype.getVersionCase = function() {
-  return /** @type {proto.org.dash.platform.dapi.v0.GetStatusRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetStatusRequest.oneofGroups_[0]));
-};
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.repeatedFields_ = [3];
 
 
 
@@ -40825,8 +41248,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetStatusRequest.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetStatusRequest.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.toObject(opt_includeInstance, this);
 };
 
 
@@ -40835,13 +41258,16 @@ proto.org.dash.platform.dapi.v0.GetStatusRequest.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.GetStatusRequest} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetStatusRequest.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.toObject = function(includeInstance, msg) {
   var f, obj = {
-    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0.toObject(includeInstance, f)
+    contractId: msg.getContractId_asB64(),
+    documentTypeName: jspb.Message.getFieldWithDefault(msg, 2, ""),
+    serializedIndexStorageValuesList: msg.getSerializedIndexStorageValuesList_asB64(),
+    voteChoice: (f = msg.getVoteChoice()) && proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.toObject(includeInstance, f)
   };
 
   if (includeInstance) {
@@ -40855,23 +41281,23 @@ proto.org.dash.platform.dapi.v0.GetStatusRequest.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.GetStatusRequest}
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote}
  */
-proto.org.dash.platform.dapi.v0.GetStatusRequest.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetStatusRequest;
-  return proto.org.dash.platform.dapi.v0.GetStatusRequest.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote;
+  return proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetStatusRequest} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusRequest}
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote}
  */
-proto.org.dash.platform.dapi.v0.GetStatusRequest.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -40879,9 +41305,21 @@ proto.org.dash.platform.dapi.v0.GetStatusRequest.deserializeBinaryFromReader = f
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0.deserializeBinaryFromReader);
-      msg.setV0(value);
+      var value = /** @type {!Uint8Array} */ (reader.readBytes());
+      msg.setContractId(value);
+      break;
+    case 2:
+      var value = /** @type {string} */ (reader.readString());
+      msg.setDocumentTypeName(value);
+      break;
+    case 3:
+      var value = /** @type {!Uint8Array} */ (reader.readBytes());
+      msg.addSerializedIndexStorageValues(value);
+      break;
+    case 4:
+      var value = new proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.deserializeBinaryFromReader);
+      msg.setVoteChoice(value);
       break;
     default:
       reader.skipField();
@@ -40896,9 +41334,9 @@ proto.org.dash.platform.dapi.v0.GetStatusRequest.deserializeBinaryFromReader = f
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetStatusRequest.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetStatusRequest.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -40906,149 +41344,6214 @@ proto.org.dash.platform.dapi.v0.GetStatusRequest.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.GetStatusRequest} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetStatusRequest.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getV0();
+  f = message.getContractId_asU8();
+  if (f.length > 0) {
+    writer.writeBytes(
+      1,
+      f
+    );
+  }
+  f = message.getDocumentTypeName();
+  if (f.length > 0) {
+    writer.writeString(
+      2,
+      f
+    );
+  }
+  f = message.getSerializedIndexStorageValuesList_asU8();
+  if (f.length > 0) {
+    writer.writeRepeatedBytes(
+      3,
+      f
+    );
+  }
+  f = message.getVoteChoice();
   if (f != null) {
     writer.writeMessage(
-      1,
+      4,
       f,
-      proto.org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.serializeBinaryToWriter
     );
   }
 };
 
 
+/**
+ * optional bytes contract_id = 1;
+ * @return {string}
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.prototype.getContractId_asB64 = function() {
+  return /** @type {string} */ (jspb.Message.bytesAsB64(
+      this.getContractId()));
+};
 
 
-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 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.GetStatusRequest.GetStatusRequestV0.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.prototype.getContractId_asU8 = function() {
+  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
+      this.getContractId()));
 };
 
 
 /**
- * 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.GetStatusRequest.GetStatusRequestV0} 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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote} returns this
  */
-proto.org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0.toObject = function(includeInstance, msg) {
-  var f, obj = {
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.prototype.setContractId = function(value) {
+  return jspb.Message.setProto3BytesField(this, 1, value);
+};
 
-  };
 
-  if (includeInstance) {
-    obj.$jspbMessageInstance = msg;
-  }
-  return obj;
+/**
+ * optional string document_type_name = 2;
+ * @return {string}
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.prototype.getDocumentTypeName = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
 };
-}
 
 
 /**
- * Deserializes binary data (in protobuf wire format).
- * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0}
+ * @param {string} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote} returns this
  */
-proto.org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0.deserializeBinary = function(bytes) {
-  var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0;
-  return proto.org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0.deserializeBinaryFromReader(msg, reader);
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.prototype.setDocumentTypeName = function(value) {
+  return jspb.Message.setProto3StringField(this, 2, value);
 };
 
 
 /**
- * Deserializes binary data (in protobuf wire format) from the
- * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0} msg The message object to deserialize into.
- * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0}
+ * repeated bytes serialized_index_storage_values = 3;
+ * @return {!Array}
  */
-proto.org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0.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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.prototype.getSerializedIndexStorageValuesList = function() {
+  return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 3));
 };
 
 
 /**
- * Serializes the message to binary data (in protobuf wire format).
- * @return {!Uint8Array}
+ * repeated bytes serialized_index_storage_values = 3;
+ * This is a type-conversion wrapper around `getSerializedIndexStorageValuesList()`
+ * @return {!Array}
  */
-proto.org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0.prototype.serializeBinary = function() {
-  var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0.serializeBinaryToWriter(this, writer);
-  return writer.getResultBuffer();
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.prototype.getSerializedIndexStorageValuesList_asB64 = function() {
+  return /** @type {!Array} */ (jspb.Message.bytesListAsB64(
+      this.getSerializedIndexStorageValuesList()));
+};
+
+
+/**
+ * repeated bytes serialized_index_storage_values = 3;
+ * Note that Uint8Array is not supported on all browsers.
+ * @see http://caniuse.com/Uint8Array
+ * This is a type-conversion wrapper around `getSerializedIndexStorageValuesList()`
+ * @return {!Array}
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.prototype.getSerializedIndexStorageValuesList_asU8 = function() {
+  return /** @type {!Array} */ (jspb.Message.bytesListAsU8(
+      this.getSerializedIndexStorageValuesList()));
+};
+
+
+/**
+ * @param {!(Array|Array)} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.prototype.setSerializedIndexStorageValuesList = function(value) {
+  return jspb.Message.setField(this, 3, value || []);
+};
+
+
+/**
+ * @param {!(string|Uint8Array)} value
+ * @param {number=} opt_index
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.prototype.addSerializedIndexStorageValues = function(value, opt_index) {
+  return jspb.Message.addToRepeatedField(this, 3, value, opt_index);
+};
+
+
+/**
+ * Clears the list making it empty but non-null.
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.prototype.clearSerializedIndexStorageValuesList = function() {
+  return this.setSerializedIndexStorageValuesList([]);
+};
+
+
+/**
+ * optional ResourceVoteChoice vote_choice = 4;
+ * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice}
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.prototype.getVoteChoice = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice, 4));
+};
+
+
+/**
+ * @param {?proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.prototype.setVoteChoice = function(value) {
+  return jspb.Message.setWrapperField(this, 4, value);
+};
+
+
+/**
+ * Clears the message field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.prototype.clearVoteChoice = function() {
+  return this.setVoteChoice(undefined);
+};
+
+
+/**
+ * Returns whether this field is set.
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.prototype.hasVoteChoice = function() {
+  return jspb.Message.getField(this, 4) != null;
+};
+
+
+/**
+ * optional ContestedResourceIdentityVotes votes = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes}
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.prototype.getVotes = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes, 1));
+};
+
+
+/**
+ * @param {?proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.prototype.setVotes = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.oneofGroups_[0], value);
+};
+
+
+/**
+ * Clears the message field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.prototype.clearVotes = function() {
+  return this.setVotes(undefined);
+};
+
+
+/**
+ * Returns whether this field is set.
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.prototype.hasVotes = 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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.prototype.setProof = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.oneofGroups_[0], value);
+};
+
+
+/**
+ * Clears the message field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.prototype.clearProof = function() {
+  return this.setProof(undefined);
+};
+
+
+/**
+ * Returns whether this field is set.
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.prototype.clearMetadata = function() {
+  return this.setMetadata(undefined);
+};
+
+
+/**
+ * Returns whether this field is set.
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.prototype.hasMetadata = function() {
+  return jspb.Message.getField(this, 3) != null;
+};
+
+
+/**
+ * optional GetContestedResourceIdentityVotesResponseV0 v0 = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0}
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.prototype.getV0 = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0, 1));
+};
+
+
+/**
+ * @param {?proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.prototype.setV0 = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.oneofGroups_[0], value);
+};
+
+
+/**
+ * Clears the message field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.prototype.clearV0 = function() {
+  return this.setV0(undefined);
+};
+
+
+/**
+ * Returns whether this field is set.
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.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.GetPrefundedSpecializedBalanceRequest.oneofGroups_ = [[1]];
+
+/**
+ * @enum {number}
+ */
+proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.VersionCase = {
+  VERSION_NOT_SET: 0,
+  V0: 1
+};
+
+/**
+ * @return {proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.VersionCase}
+ */
+proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.prototype.getVersionCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.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.GetPrefundedSpecializedBalanceRequest.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.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.GetPrefundedSpecializedBalanceRequest} msg The msg instance to transform.
+ * @return {!Object}
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.toObject = function(includeInstance, msg) {
+  var f, obj = {
+    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.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.GetPrefundedSpecializedBalanceRequest}
+ */
+proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.deserializeBinary = function(bytes) {
+  var reader = new jspb.BinaryReader(bytes);
+  var msg = new proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest;
+  return proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.deserializeBinaryFromReader(msg, reader);
+};
+
+
+/**
+ * Deserializes binary data (in protobuf wire format) from the
+ * given reader into the given message object.
+ * @param {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest} msg The message object to deserialize into.
+ * @param {!jspb.BinaryReader} reader The BinaryReader to use.
+ * @return {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest}
+ */
+proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.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.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.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.GetPrefundedSpecializedBalanceRequest.prototype.serializeBinary = function() {
+  var writer = new jspb.BinaryWriter();
+  proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.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.GetPrefundedSpecializedBalanceRequest} message
+ * @param {!jspb.BinaryWriter} writer
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.serializeBinaryToWriter = function(message, writer) {
+  var f = undefined;
+  f = message.getV0();
+  if (f != null) {
+    writer.writeMessage(
+      1,
+      f,
+      proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.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.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.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.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0} msg The msg instance to transform.
+ * @return {!Object}
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.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.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0}
+ */
+proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.deserializeBinary = function(bytes) {
+  var reader = new jspb.BinaryReader(bytes);
+  var msg = new proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0;
+  return proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.deserializeBinaryFromReader(msg, reader);
+};
+
+
+/**
+ * Deserializes binary data (in protobuf wire format) from the
+ * given reader into the given message object.
+ * @param {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0} msg The message object to deserialize into.
+ * @param {!jspb.BinaryReader} reader The BinaryReader to use.
+ * @return {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0}
+ */
+proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.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.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.prototype.serializeBinary = function() {
+  var writer = new jspb.BinaryWriter();
+  proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.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.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0} message
+ * @param {!jspb.BinaryWriter} writer
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.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.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.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.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.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.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.prototype.getId_asU8 = function() {
+  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
+      this.getId()));
+};
+
+
+/**
+ * @param {!(string|Uint8Array)} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.prototype.setId = function(value) {
+  return jspb.Message.setProto3BytesField(this, 1, value);
+};
+
+
+/**
+ * optional bool prove = 2;
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.prototype.getProve = function() {
+  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));
+};
+
+
+/**
+ * @param {boolean} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.prototype.setProve = function(value) {
+  return jspb.Message.setProto3BooleanField(this, 2, value);
+};
+
+
+/**
+ * optional GetPrefundedSpecializedBalanceRequestV0 v0 = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0}
+ */
+proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.prototype.getV0 = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0, 1));
+};
+
+
+/**
+ * @param {?proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.prototype.setV0 = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.oneofGroups_[0], value);
+};
+
+
+/**
+ * Clears the message field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.prototype.clearV0 = function() {
+  return this.setV0(undefined);
+};
+
+
+/**
+ * Returns whether this field is set.
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.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.GetPrefundedSpecializedBalanceResponse.oneofGroups_ = [[1]];
+
+/**
+ * @enum {number}
+ */
+proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.VersionCase = {
+  VERSION_NOT_SET: 0,
+  V0: 1
+};
+
+/**
+ * @return {proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.VersionCase}
+ */
+proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.prototype.getVersionCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.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.GetPrefundedSpecializedBalanceResponse.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.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.GetPrefundedSpecializedBalanceResponse} msg The msg instance to transform.
+ * @return {!Object}
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.toObject = function(includeInstance, msg) {
+  var f, obj = {
+    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.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.GetPrefundedSpecializedBalanceResponse}
+ */
+proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.deserializeBinary = function(bytes) {
+  var reader = new jspb.BinaryReader(bytes);
+  var msg = new proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse;
+  return proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.deserializeBinaryFromReader(msg, reader);
+};
+
+
+/**
+ * Deserializes binary data (in protobuf wire format) from the
+ * given reader into the given message object.
+ * @param {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse} msg The message object to deserialize into.
+ * @param {!jspb.BinaryReader} reader The BinaryReader to use.
+ * @return {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse}
+ */
+proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.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.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.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.GetPrefundedSpecializedBalanceResponse.prototype.serializeBinary = function() {
+  var writer = new jspb.BinaryWriter();
+  proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.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.GetPrefundedSpecializedBalanceResponse} message
+ * @param {!jspb.BinaryWriter} writer
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.serializeBinaryToWriter = function(message, writer) {
+  var f = undefined;
+  f = message.getV0();
+  if (f != null) {
+    writer.writeMessage(
+      1,
+      f,
+      proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.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.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.oneofGroups_ = [[1,2]];
+
+/**
+ * @enum {number}
+ */
+proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.ResultCase = {
+  RESULT_NOT_SET: 0,
+  BALANCE: 1,
+  PROOF: 2
+};
+
+/**
+ * @return {proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.ResultCase}
+ */
+proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.prototype.getResultCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.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.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.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.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0} msg The msg instance to transform.
+ * @return {!Object}
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.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)
+  };
+
+  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.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0}
+ */
+proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.deserializeBinary = function(bytes) {
+  var reader = new jspb.BinaryReader(bytes);
+  var msg = new proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0;
+  return proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.deserializeBinaryFromReader(msg, reader);
+};
+
+
+/**
+ * Deserializes binary data (in protobuf wire format) from the
+ * given reader into the given message object.
+ * @param {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0} msg The message object to deserialize into.
+ * @param {!jspb.BinaryReader} reader The BinaryReader to use.
+ * @return {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0}
+ */
+proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.deserializeBinaryFromReader = function(msg, reader) {
+  while (reader.nextField()) {
+    if (reader.isEndGroup()) {
+      break;
+    }
+    var field = reader.getFieldNumber();
+    switch (field) {
+    case 1:
+      var value = /** @type {string} */ (reader.readUint64String());
+      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();
+      break;
+    }
+  }
+  return msg;
+};
+
+
+/**
+ * Serializes the message to binary data (in protobuf wire format).
+ * @return {!Uint8Array}
+ */
+proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.prototype.serializeBinary = function() {
+  var writer = new jspb.BinaryWriter();
+  proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.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.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0} message
+ * @param {!jspb.BinaryWriter} writer
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.serializeBinaryToWriter = function(message, writer) {
+  var f = undefined;
+  f = /** @type {string} */ (jspb.Message.getField(message, 1));
+  if (f != null) {
+    writer.writeUint64String(
+      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 {string}
+ */
+proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.prototype.getBalance = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "0"));
+};
+
+
+/**
+ * @param {string} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.prototype.setBalance = function(value) {
+  return jspb.Message.setOneofField(this, 1, proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.oneofGroups_[0], value);
+};
+
+
+/**
+ * Clears the field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.prototype.clearBalance = function() {
+  return jspb.Message.setOneofField(this, 1, proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.oneofGroups_[0], undefined);
+};
+
+
+/**
+ * Returns whether this field is set.
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.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.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.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.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.prototype.setProof = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.oneofGroups_[0], value);
+};
+
+
+/**
+ * Clears the message field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.prototype.clearProof = function() {
+  return this.setProof(undefined);
+};
+
+
+/**
+ * Returns whether this field is set.
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.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.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.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.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.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.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.prototype.clearMetadata = function() {
+  return this.setMetadata(undefined);
+};
+
+
+/**
+ * Returns whether this field is set.
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.prototype.hasMetadata = function() {
+  return jspb.Message.getField(this, 3) != null;
+};
+
+
+/**
+ * optional GetPrefundedSpecializedBalanceResponseV0 v0 = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0}
+ */
+proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.prototype.getV0 = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0, 1));
+};
+
+
+/**
+ * @param {?proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.prototype.setV0 = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.oneofGroups_[0], value);
+};
+
+
+/**
+ * Clears the message field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.prototype.clearV0 = function() {
+  return this.setV0(undefined);
+};
+
+
+/**
+ * Returns whether this field is set.
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.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.GetTotalCreditsInPlatformRequest.oneofGroups_ = [[1]];
+
+/**
+ * @enum {number}
+ */
+proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.VersionCase = {
+  VERSION_NOT_SET: 0,
+  V0: 1
+};
+
+/**
+ * @return {proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.VersionCase}
+ */
+proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.prototype.getVersionCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.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.GetTotalCreditsInPlatformRequest.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.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.GetTotalCreditsInPlatformRequest} msg The msg instance to transform.
+ * @return {!Object}
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.toObject = function(includeInstance, msg) {
+  var f, obj = {
+    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0.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.GetTotalCreditsInPlatformRequest}
+ */
+proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.deserializeBinary = function(bytes) {
+  var reader = new jspb.BinaryReader(bytes);
+  var msg = new proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest;
+  return proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.deserializeBinaryFromReader(msg, reader);
+};
+
+
+/**
+ * Deserializes binary data (in protobuf wire format) from the
+ * given reader into the given message object.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest} msg The message object to deserialize into.
+ * @param {!jspb.BinaryReader} reader The BinaryReader to use.
+ * @return {!proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest}
+ */
+proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.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.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0.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.GetTotalCreditsInPlatformRequest.prototype.serializeBinary = function() {
+  var writer = new jspb.BinaryWriter();
+  proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.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.GetTotalCreditsInPlatformRequest} message
+ * @param {!jspb.BinaryWriter} writer
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.serializeBinaryToWriter = function(message, writer) {
+  var f = undefined;
+  f = message.getV0();
+  if (f != null) {
+    writer.writeMessage(
+      1,
+      f,
+      proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0.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.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0.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.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0} msg The msg instance to transform.
+ * @return {!Object}
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0.toObject = function(includeInstance, msg) {
+  var f, obj = {
+    prove: jspb.Message.getBooleanFieldWithDefault(msg, 1, 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.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0}
+ */
+proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0.deserializeBinary = function(bytes) {
+  var reader = new jspb.BinaryReader(bytes);
+  var msg = new proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0;
+  return proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0.deserializeBinaryFromReader(msg, reader);
+};
+
+
+/**
+ * Deserializes binary data (in protobuf wire format) from the
+ * given reader into the given message object.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0} msg The message object to deserialize into.
+ * @param {!jspb.BinaryReader} reader The BinaryReader to use.
+ * @return {!proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0}
+ */
+proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0.deserializeBinaryFromReader = function(msg, reader) {
+  while (reader.nextField()) {
+    if (reader.isEndGroup()) {
+      break;
+    }
+    var field = reader.getFieldNumber();
+    switch (field) {
+    case 1:
+      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.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0.prototype.serializeBinary = function() {
+  var writer = new jspb.BinaryWriter();
+  proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0.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.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0} message
+ * @param {!jspb.BinaryWriter} writer
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0.serializeBinaryToWriter = function(message, writer) {
+  var f = undefined;
+  f = message.getProve();
+  if (f) {
+    writer.writeBool(
+      1,
+      f
+    );
+  }
+};
+
+
+/**
+ * optional bool prove = 1;
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0.prototype.getProve = function() {
+  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 1, false));
+};
+
+
+/**
+ * @param {boolean} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0.prototype.setProve = function(value) {
+  return jspb.Message.setProto3BooleanField(this, 1, value);
+};
+
+
+/**
+ * optional GetTotalCreditsInPlatformRequestV0 v0 = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0}
+ */
+proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.prototype.getV0 = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0, 1));
+};
+
+
+/**
+ * @param {?proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.prototype.setV0 = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.oneofGroups_[0], value);
+};
+
+
+/**
+ * Clears the message field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.prototype.clearV0 = function() {
+  return this.setV0(undefined);
+};
+
+
+/**
+ * Returns whether this field is set.
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.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.GetTotalCreditsInPlatformResponse.oneofGroups_ = [[1]];
+
+/**
+ * @enum {number}
+ */
+proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.VersionCase = {
+  VERSION_NOT_SET: 0,
+  V0: 1
+};
+
+/**
+ * @return {proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.VersionCase}
+ */
+proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.prototype.getVersionCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.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.GetTotalCreditsInPlatformResponse.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.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.GetTotalCreditsInPlatformResponse} msg The msg instance to transform.
+ * @return {!Object}
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.toObject = function(includeInstance, msg) {
+  var f, obj = {
+    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.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.GetTotalCreditsInPlatformResponse}
+ */
+proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.deserializeBinary = function(bytes) {
+  var reader = new jspb.BinaryReader(bytes);
+  var msg = new proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse;
+  return proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.deserializeBinaryFromReader(msg, reader);
+};
+
+
+/**
+ * Deserializes binary data (in protobuf wire format) from the
+ * given reader into the given message object.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse} msg The message object to deserialize into.
+ * @param {!jspb.BinaryReader} reader The BinaryReader to use.
+ * @return {!proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse}
+ */
+proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.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.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.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.GetTotalCreditsInPlatformResponse.prototype.serializeBinary = function() {
+  var writer = new jspb.BinaryWriter();
+  proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.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.GetTotalCreditsInPlatformResponse} message
+ * @param {!jspb.BinaryWriter} writer
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.serializeBinaryToWriter = function(message, writer) {
+  var f = undefined;
+  f = message.getV0();
+  if (f != null) {
+    writer.writeMessage(
+      1,
+      f,
+      proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.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.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.oneofGroups_ = [[1,2]];
+
+/**
+ * @enum {number}
+ */
+proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.ResultCase = {
+  RESULT_NOT_SET: 0,
+  CREDITS: 1,
+  PROOF: 2
+};
+
+/**
+ * @return {proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.ResultCase}
+ */
+proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.prototype.getResultCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.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.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.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.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0} msg The msg instance to transform.
+ * @return {!Object}
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.toObject = function(includeInstance, msg) {
+  var f, obj = {
+    credits: 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) {
+    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.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0}
+ */
+proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.deserializeBinary = function(bytes) {
+  var reader = new jspb.BinaryReader(bytes);
+  var msg = new proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0;
+  return proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.deserializeBinaryFromReader(msg, reader);
+};
+
+
+/**
+ * Deserializes binary data (in protobuf wire format) from the
+ * given reader into the given message object.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0} msg The message object to deserialize into.
+ * @param {!jspb.BinaryReader} reader The BinaryReader to use.
+ * @return {!proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0}
+ */
+proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.deserializeBinaryFromReader = function(msg, reader) {
+  while (reader.nextField()) {
+    if (reader.isEndGroup()) {
+      break;
+    }
+    var field = reader.getFieldNumber();
+    switch (field) {
+    case 1:
+      var value = /** @type {string} */ (reader.readUint64String());
+      msg.setCredits(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.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.prototype.serializeBinary = function() {
+  var writer = new jspb.BinaryWriter();
+  proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.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.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0} message
+ * @param {!jspb.BinaryWriter} writer
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.serializeBinaryToWriter = function(message, writer) {
+  var f = undefined;
+  f = /** @type {string} */ (jspb.Message.getField(message, 1));
+  if (f != null) {
+    writer.writeUint64String(
+      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 credits = 1;
+ * @return {string}
+ */
+proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.prototype.getCredits = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "0"));
+};
+
+
+/**
+ * @param {string} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.prototype.setCredits = function(value) {
+  return jspb.Message.setOneofField(this, 1, proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.oneofGroups_[0], value);
+};
+
+
+/**
+ * Clears the field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.prototype.clearCredits = function() {
+  return jspb.Message.setOneofField(this, 1, proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.oneofGroups_[0], undefined);
+};
+
+
+/**
+ * Returns whether this field is set.
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.prototype.hasCredits = 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.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.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.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.prototype.setProof = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.oneofGroups_[0], value);
+};
+
+
+/**
+ * Clears the message field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.prototype.clearProof = function() {
+  return this.setProof(undefined);
+};
+
+
+/**
+ * Returns whether this field is set.
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.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.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.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.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.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.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.prototype.clearMetadata = function() {
+  return this.setMetadata(undefined);
+};
+
+
+/**
+ * Returns whether this field is set.
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.prototype.hasMetadata = function() {
+  return jspb.Message.getField(this, 3) != null;
+};
+
+
+/**
+ * optional GetTotalCreditsInPlatformResponseV0 v0 = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0}
+ */
+proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.prototype.getV0 = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0, 1));
+};
+
+
+/**
+ * @param {?proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.prototype.setV0 = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.oneofGroups_[0], value);
+};
+
+
+/**
+ * Clears the message field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.prototype.clearV0 = function() {
+  return this.setV0(undefined);
+};
+
+
+/**
+ * Returns whether this field is set.
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.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.GetPathElementsRequest.oneofGroups_ = [[1]];
+
+/**
+ * @enum {number}
+ */
+proto.org.dash.platform.dapi.v0.GetPathElementsRequest.VersionCase = {
+  VERSION_NOT_SET: 0,
+  V0: 1
+};
+
+/**
+ * @return {proto.org.dash.platform.dapi.v0.GetPathElementsRequest.VersionCase}
+ */
+proto.org.dash.platform.dapi.v0.GetPathElementsRequest.prototype.getVersionCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetPathElementsRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetPathElementsRequest.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.GetPathElementsRequest.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetPathElementsRequest.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.GetPathElementsRequest} msg The msg instance to transform.
+ * @return {!Object}
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetPathElementsRequest.toObject = function(includeInstance, msg) {
+  var f, obj = {
+    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.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.GetPathElementsRequest}
+ */
+proto.org.dash.platform.dapi.v0.GetPathElementsRequest.deserializeBinary = function(bytes) {
+  var reader = new jspb.BinaryReader(bytes);
+  var msg = new proto.org.dash.platform.dapi.v0.GetPathElementsRequest;
+  return proto.org.dash.platform.dapi.v0.GetPathElementsRequest.deserializeBinaryFromReader(msg, reader);
+};
+
+
+/**
+ * Deserializes binary data (in protobuf wire format) from the
+ * given reader into the given message object.
+ * @param {!proto.org.dash.platform.dapi.v0.GetPathElementsRequest} msg The message object to deserialize into.
+ * @param {!jspb.BinaryReader} reader The BinaryReader to use.
+ * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsRequest}
+ */
+proto.org.dash.platform.dapi.v0.GetPathElementsRequest.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.GetPathElementsRequest.GetPathElementsRequestV0;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.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.GetPathElementsRequest.prototype.serializeBinary = function() {
+  var writer = new jspb.BinaryWriter();
+  proto.org.dash.platform.dapi.v0.GetPathElementsRequest.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.GetPathElementsRequest} message
+ * @param {!jspb.BinaryWriter} writer
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetPathElementsRequest.serializeBinaryToWriter = function(message, writer) {
+  var f = undefined;
+  f = message.getV0();
+  if (f != null) {
+    writer.writeMessage(
+      1,
+      f,
+      proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.serializeBinaryToWriter
+    );
+  }
+};
+
+
+
+/**
+ * List of repeated fields within this message type.
+ * @private {!Array}
+ * @const
+ */
+proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.repeatedFields_ = [1,2];
+
+
+
+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.GetPathElementsRequest.GetPathElementsRequestV0.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.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.GetPathElementsRequest.GetPathElementsRequestV0} msg The msg instance to transform.
+ * @return {!Object}
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.toObject = function(includeInstance, msg) {
+  var f, obj = {
+    pathList: msg.getPathList_asB64(),
+    keysList: msg.getKeysList_asB64(),
+    prove: jspb.Message.getBooleanFieldWithDefault(msg, 3, 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.GetPathElementsRequest.GetPathElementsRequestV0}
+ */
+proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.deserializeBinary = function(bytes) {
+  var reader = new jspb.BinaryReader(bytes);
+  var msg = new proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0;
+  return proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.deserializeBinaryFromReader(msg, reader);
+};
+
+
+/**
+ * Deserializes binary data (in protobuf wire format) from the
+ * given reader into the given message object.
+ * @param {!proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0} msg The message object to deserialize into.
+ * @param {!jspb.BinaryReader} reader The BinaryReader to use.
+ * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0}
+ */
+proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.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.addPath(value);
+      break;
+    case 2:
+      var value = /** @type {!Uint8Array} */ (reader.readBytes());
+      msg.addKeys(value);
+      break;
+    case 3:
+      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.GetPathElementsRequest.GetPathElementsRequestV0.prototype.serializeBinary = function() {
+  var writer = new jspb.BinaryWriter();
+  proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.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.GetPathElementsRequest.GetPathElementsRequestV0} message
+ * @param {!jspb.BinaryWriter} writer
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.serializeBinaryToWriter = function(message, writer) {
+  var f = undefined;
+  f = message.getPathList_asU8();
+  if (f.length > 0) {
+    writer.writeRepeatedBytes(
+      1,
+      f
+    );
+  }
+  f = message.getKeysList_asU8();
+  if (f.length > 0) {
+    writer.writeRepeatedBytes(
+      2,
+      f
+    );
+  }
+  f = message.getProve();
+  if (f) {
+    writer.writeBool(
+      3,
+      f
+    );
+  }
+};
+
+
+/**
+ * repeated bytes path = 1;
+ * @return {!Array}
+ */
+proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.prototype.getPathList = function() {
+  return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1));
+};
+
+
+/**
+ * repeated bytes path = 1;
+ * This is a type-conversion wrapper around `getPathList()`
+ * @return {!Array}
+ */
+proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.prototype.getPathList_asB64 = function() {
+  return /** @type {!Array} */ (jspb.Message.bytesListAsB64(
+      this.getPathList()));
+};
+
+
+/**
+ * repeated bytes path = 1;
+ * Note that Uint8Array is not supported on all browsers.
+ * @see http://caniuse.com/Uint8Array
+ * This is a type-conversion wrapper around `getPathList()`
+ * @return {!Array}
+ */
+proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.prototype.getPathList_asU8 = function() {
+  return /** @type {!Array} */ (jspb.Message.bytesListAsU8(
+      this.getPathList()));
+};
+
+
+/**
+ * @param {!(Array|Array)} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.prototype.setPathList = function(value) {
+  return jspb.Message.setField(this, 1, value || []);
+};
+
+
+/**
+ * @param {!(string|Uint8Array)} value
+ * @param {number=} opt_index
+ * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.prototype.addPath = 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.GetPathElementsRequest.GetPathElementsRequestV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.prototype.clearPathList = function() {
+  return this.setPathList([]);
+};
+
+
+/**
+ * repeated bytes keys = 2;
+ * @return {!Array}
+ */
+proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.prototype.getKeysList = function() {
+  return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 2));
+};
+
+
+/**
+ * repeated bytes keys = 2;
+ * This is a type-conversion wrapper around `getKeysList()`
+ * @return {!Array}
+ */
+proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.prototype.getKeysList_asB64 = function() {
+  return /** @type {!Array} */ (jspb.Message.bytesListAsB64(
+      this.getKeysList()));
+};
+
+
+/**
+ * repeated bytes keys = 2;
+ * Note that Uint8Array is not supported on all browsers.
+ * @see http://caniuse.com/Uint8Array
+ * This is a type-conversion wrapper around `getKeysList()`
+ * @return {!Array}
+ */
+proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.prototype.getKeysList_asU8 = function() {
+  return /** @type {!Array} */ (jspb.Message.bytesListAsU8(
+      this.getKeysList()));
+};
+
+
+/**
+ * @param {!(Array|Array)} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.prototype.setKeysList = function(value) {
+  return jspb.Message.setField(this, 2, value || []);
+};
+
+
+/**
+ * @param {!(string|Uint8Array)} value
+ * @param {number=} opt_index
+ * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.prototype.addKeys = function(value, opt_index) {
+  return jspb.Message.addToRepeatedField(this, 2, value, opt_index);
+};
+
+
+/**
+ * Clears the list making it empty but non-null.
+ * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.prototype.clearKeysList = function() {
+  return this.setKeysList([]);
+};
+
+
+/**
+ * optional bool prove = 3;
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.prototype.getProve = function() {
+  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 3, false));
+};
+
+
+/**
+ * @param {boolean} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.prototype.setProve = function(value) {
+  return jspb.Message.setProto3BooleanField(this, 3, value);
+};
+
+
+/**
+ * optional GetPathElementsRequestV0 v0 = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0}
+ */
+proto.org.dash.platform.dapi.v0.GetPathElementsRequest.prototype.getV0 = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0, 1));
+};
+
+
+/**
+ * @param {?proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsRequest} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetPathElementsRequest.prototype.setV0 = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetPathElementsRequest.oneofGroups_[0], value);
+};
+
+
+/**
+ * Clears the message field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsRequest} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetPathElementsRequest.prototype.clearV0 = function() {
+  return this.setV0(undefined);
+};
+
+
+/**
+ * Returns whether this field is set.
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetPathElementsRequest.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.GetPathElementsResponse.oneofGroups_ = [[1]];
+
+/**
+ * @enum {number}
+ */
+proto.org.dash.platform.dapi.v0.GetPathElementsResponse.VersionCase = {
+  VERSION_NOT_SET: 0,
+  V0: 1
+};
+
+/**
+ * @return {proto.org.dash.platform.dapi.v0.GetPathElementsResponse.VersionCase}
+ */
+proto.org.dash.platform.dapi.v0.GetPathElementsResponse.prototype.getVersionCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetPathElementsResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetPathElementsResponse.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.GetPathElementsResponse.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetPathElementsResponse.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.GetPathElementsResponse} msg The msg instance to transform.
+ * @return {!Object}
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetPathElementsResponse.toObject = function(includeInstance, msg) {
+  var f, obj = {
+    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.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.GetPathElementsResponse}
+ */
+proto.org.dash.platform.dapi.v0.GetPathElementsResponse.deserializeBinary = function(bytes) {
+  var reader = new jspb.BinaryReader(bytes);
+  var msg = new proto.org.dash.platform.dapi.v0.GetPathElementsResponse;
+  return proto.org.dash.platform.dapi.v0.GetPathElementsResponse.deserializeBinaryFromReader(msg, reader);
+};
+
+
+/**
+ * Deserializes binary data (in protobuf wire format) from the
+ * given reader into the given message object.
+ * @param {!proto.org.dash.platform.dapi.v0.GetPathElementsResponse} msg The message object to deserialize into.
+ * @param {!jspb.BinaryReader} reader The BinaryReader to use.
+ * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsResponse}
+ */
+proto.org.dash.platform.dapi.v0.GetPathElementsResponse.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.GetPathElementsResponse.GetPathElementsResponseV0;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.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.GetPathElementsResponse.prototype.serializeBinary = function() {
+  var writer = new jspb.BinaryWriter();
+  proto.org.dash.platform.dapi.v0.GetPathElementsResponse.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.GetPathElementsResponse} message
+ * @param {!jspb.BinaryWriter} writer
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetPathElementsResponse.serializeBinaryToWriter = function(message, writer) {
+  var f = undefined;
+  f = message.getV0();
+  if (f != null) {
+    writer.writeMessage(
+      1,
+      f,
+      proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.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.GetPathElementsResponse.GetPathElementsResponseV0.oneofGroups_ = [[1,2]];
+
+/**
+ * @enum {number}
+ */
+proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.ResultCase = {
+  RESULT_NOT_SET: 0,
+  ELEMENTS: 1,
+  PROOF: 2
+};
+
+/**
+ * @return {proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.ResultCase}
+ */
+proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.prototype.getResultCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.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.GetPathElementsResponse.GetPathElementsResponseV0.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.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.GetPathElementsResponse.GetPathElementsResponseV0} msg The msg instance to transform.
+ * @return {!Object}
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.toObject = function(includeInstance, msg) {
+  var f, obj = {
+    elements: (f = msg.getElements()) && proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.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.GetPathElementsResponse.GetPathElementsResponseV0}
+ */
+proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.deserializeBinary = function(bytes) {
+  var reader = new jspb.BinaryReader(bytes);
+  var msg = new proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0;
+  return proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.deserializeBinaryFromReader(msg, reader);
+};
+
+
+/**
+ * Deserializes binary data (in protobuf wire format) from the
+ * given reader into the given message object.
+ * @param {!proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0} msg The message object to deserialize into.
+ * @param {!jspb.BinaryReader} reader The BinaryReader to use.
+ * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0}
+ */
+proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.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.GetPathElementsResponse.GetPathElementsResponseV0.Elements;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.deserializeBinaryFromReader);
+      msg.setElements(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.GetPathElementsResponse.GetPathElementsResponseV0.prototype.serializeBinary = function() {
+  var writer = new jspb.BinaryWriter();
+  proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.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.GetPathElementsResponse.GetPathElementsResponseV0} message
+ * @param {!jspb.BinaryWriter} writer
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.serializeBinaryToWriter = function(message, writer) {
+  var f = undefined;
+  f = message.getElements();
+  if (f != null) {
+    writer.writeMessage(
+      1,
+      f,
+      proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.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.GetPathElementsResponse.GetPathElementsResponseV0.Elements.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.GetPathElementsResponse.GetPathElementsResponseV0.Elements.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.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.GetPathElementsResponse.GetPathElementsResponseV0.Elements} msg The msg instance to transform.
+ * @return {!Object}
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.toObject = function(includeInstance, msg) {
+  var f, obj = {
+    elementsList: msg.getElementsList_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.GetPathElementsResponse.GetPathElementsResponseV0.Elements}
+ */
+proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.deserializeBinary = function(bytes) {
+  var reader = new jspb.BinaryReader(bytes);
+  var msg = new proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements;
+  return proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.deserializeBinaryFromReader(msg, reader);
+};
+
+
+/**
+ * Deserializes binary data (in protobuf wire format) from the
+ * given reader into the given message object.
+ * @param {!proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements} msg The message object to deserialize into.
+ * @param {!jspb.BinaryReader} reader The BinaryReader to use.
+ * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements}
+ */
+proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.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.addElements(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.GetPathElementsResponse.GetPathElementsResponseV0.Elements.prototype.serializeBinary = function() {
+  var writer = new jspb.BinaryWriter();
+  proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.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.GetPathElementsResponse.GetPathElementsResponseV0.Elements} message
+ * @param {!jspb.BinaryWriter} writer
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.serializeBinaryToWriter = function(message, writer) {
+  var f = undefined;
+  f = message.getElementsList_asU8();
+  if (f.length > 0) {
+    writer.writeRepeatedBytes(
+      1,
+      f
+    );
+  }
+};
+
+
+/**
+ * repeated bytes elements = 1;
+ * @return {!Array}
+ */
+proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.prototype.getElementsList = function() {
+  return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1));
+};
+
+
+/**
+ * repeated bytes elements = 1;
+ * This is a type-conversion wrapper around `getElementsList()`
+ * @return {!Array}
+ */
+proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.prototype.getElementsList_asB64 = function() {
+  return /** @type {!Array} */ (jspb.Message.bytesListAsB64(
+      this.getElementsList()));
+};
+
+
+/**
+ * repeated bytes elements = 1;
+ * Note that Uint8Array is not supported on all browsers.
+ * @see http://caniuse.com/Uint8Array
+ * This is a type-conversion wrapper around `getElementsList()`
+ * @return {!Array}
+ */
+proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.prototype.getElementsList_asU8 = function() {
+  return /** @type {!Array} */ (jspb.Message.bytesListAsU8(
+      this.getElementsList()));
+};
+
+
+/**
+ * @param {!(Array|Array)} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.prototype.setElementsList = function(value) {
+  return jspb.Message.setField(this, 1, value || []);
+};
+
+
+/**
+ * @param {!(string|Uint8Array)} value
+ * @param {number=} opt_index
+ * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.prototype.addElements = 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.GetPathElementsResponse.GetPathElementsResponseV0.Elements} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.prototype.clearElementsList = function() {
+  return this.setElementsList([]);
+};
+
+
+/**
+ * optional Elements elements = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements}
+ */
+proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.prototype.getElements = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements, 1));
+};
+
+
+/**
+ * @param {?proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.prototype.setElements = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.oneofGroups_[0], value);
+};
+
+
+/**
+ * Clears the message field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.prototype.clearElements = function() {
+  return this.setElements(undefined);
+};
+
+
+/**
+ * Returns whether this field is set.
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.prototype.hasElements = 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.GetPathElementsResponse.GetPathElementsResponseV0.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.GetPathElementsResponse.GetPathElementsResponseV0} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.prototype.setProof = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.oneofGroups_[0], value);
+};
+
+
+/**
+ * Clears the message field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.prototype.clearProof = function() {
+  return this.setProof(undefined);
+};
+
+
+/**
+ * Returns whether this field is set.
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.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.GetPathElementsResponse.GetPathElementsResponseV0.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.GetPathElementsResponse.GetPathElementsResponseV0} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.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.GetPathElementsResponse.GetPathElementsResponseV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.prototype.clearMetadata = function() {
+  return this.setMetadata(undefined);
+};
+
+
+/**
+ * Returns whether this field is set.
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.prototype.hasMetadata = function() {
+  return jspb.Message.getField(this, 3) != null;
+};
+
+
+/**
+ * optional GetPathElementsResponseV0 v0 = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0}
+ */
+proto.org.dash.platform.dapi.v0.GetPathElementsResponse.prototype.getV0 = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0, 1));
+};
+
+
+/**
+ * @param {?proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsResponse} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetPathElementsResponse.prototype.setV0 = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetPathElementsResponse.oneofGroups_[0], value);
+};
+
+
+/**
+ * Clears the message field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsResponse} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetPathElementsResponse.prototype.clearV0 = function() {
+  return this.setV0(undefined);
+};
+
+
+/**
+ * Returns whether this field is set.
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetPathElementsResponse.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.GetStatusRequest.oneofGroups_ = [[1]];
+
+/**
+ * @enum {number}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusRequest.VersionCase = {
+  VERSION_NOT_SET: 0,
+  V0: 1
+};
+
+/**
+ * @return {proto.org.dash.platform.dapi.v0.GetStatusRequest.VersionCase}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusRequest.prototype.getVersionCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetStatusRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetStatusRequest.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.GetStatusRequest.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetStatusRequest.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.GetStatusRequest} msg The msg instance to transform.
+ * @return {!Object}
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetStatusRequest.toObject = function(includeInstance, msg) {
+  var f, obj = {
+    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0.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.GetStatusRequest}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusRequest.deserializeBinary = function(bytes) {
+  var reader = new jspb.BinaryReader(bytes);
+  var msg = new proto.org.dash.platform.dapi.v0.GetStatusRequest;
+  return proto.org.dash.platform.dapi.v0.GetStatusRequest.deserializeBinaryFromReader(msg, reader);
+};
+
+
+/**
+ * Deserializes binary data (in protobuf wire format) from the
+ * given reader into the given message object.
+ * @param {!proto.org.dash.platform.dapi.v0.GetStatusRequest} msg The message object to deserialize into.
+ * @param {!jspb.BinaryReader} reader The BinaryReader to use.
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusRequest}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusRequest.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.GetStatusRequest.GetStatusRequestV0;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0.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.GetStatusRequest.prototype.serializeBinary = function() {
+  var writer = new jspb.BinaryWriter();
+  proto.org.dash.platform.dapi.v0.GetStatusRequest.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.GetStatusRequest} message
+ * @param {!jspb.BinaryWriter} writer
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetStatusRequest.serializeBinaryToWriter = function(message, writer) {
+  var f = undefined;
+  f = message.getV0();
+  if (f != null) {
+    writer.writeMessage(
+      1,
+      f,
+      proto.org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0.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.GetStatusRequest.GetStatusRequestV0.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0.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.GetStatusRequest.GetStatusRequestV0} msg The msg instance to transform.
+ * @return {!Object}
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0.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.GetStatusRequest.GetStatusRequestV0}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0.deserializeBinary = function(bytes) {
+  var reader = new jspb.BinaryReader(bytes);
+  var msg = new proto.org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0;
+  return proto.org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0.deserializeBinaryFromReader(msg, reader);
+};
+
+
+/**
+ * Deserializes binary data (in protobuf wire format) from the
+ * given reader into the given message object.
+ * @param {!proto.org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0} msg The message object to deserialize into.
+ * @param {!jspb.BinaryReader} reader The BinaryReader to use.
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0.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.GetStatusRequest.GetStatusRequestV0.prototype.serializeBinary = function() {
+  var writer = new jspb.BinaryWriter();
+  proto.org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0.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.GetStatusRequest.GetStatusRequestV0} message
+ * @param {!jspb.BinaryWriter} writer
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0.serializeBinaryToWriter = function(message, writer) {
+  var f = undefined;
+};
+
+
+/**
+ * optional GetStatusRequestV0 v0 = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusRequest.prototype.getV0 = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0, 1));
+};
+
+
+/**
+ * @param {?proto.org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusRequest} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetStatusRequest.prototype.setV0 = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetStatusRequest.oneofGroups_[0], value);
+};
+
+
+/**
+ * Clears the message field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusRequest} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetStatusRequest.prototype.clearV0 = function() {
+  return this.setV0(undefined);
+};
+
+
+/**
+ * Returns whether this field is set.
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusRequest.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.GetStatusResponse.oneofGroups_ = [[1]];
+
+/**
+ * @enum {number}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.VersionCase = {
+  VERSION_NOT_SET: 0,
+  V0: 1
+};
+
+/**
+ * @return {proto.org.dash.platform.dapi.v0.GetStatusResponse.VersionCase}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.prototype.getVersionCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetStatusResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetStatusResponse.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.GetStatusResponse.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetStatusResponse.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.GetStatusResponse} msg The msg instance to transform.
+ * @return {!Object}
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.toObject = function(includeInstance, msg) {
+  var f, obj = {
+    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.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.GetStatusResponse}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.deserializeBinary = function(bytes) {
+  var reader = new jspb.BinaryReader(bytes);
+  var msg = new proto.org.dash.platform.dapi.v0.GetStatusResponse;
+  return proto.org.dash.platform.dapi.v0.GetStatusResponse.deserializeBinaryFromReader(msg, reader);
+};
+
+
+/**
+ * Deserializes binary data (in protobuf wire format) from the
+ * given reader into the given message object.
+ * @param {!proto.org.dash.platform.dapi.v0.GetStatusResponse} msg The message object to deserialize into.
+ * @param {!jspb.BinaryReader} reader The BinaryReader to use.
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.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.GetStatusResponse.GetStatusResponseV0;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.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.GetStatusResponse.prototype.serializeBinary = function() {
+  var writer = new jspb.BinaryWriter();
+  proto.org.dash.platform.dapi.v0.GetStatusResponse.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.GetStatusResponse} message
+ * @param {!jspb.BinaryWriter} writer
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.serializeBinaryToWriter = function(message, writer) {
+  var f = undefined;
+  f = message.getV0();
+  if (f != null) {
+    writer.writeMessage(
+      1,
+      f,
+      proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.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.GetStatusResponse.GetStatusResponseV0.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.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.GetStatusResponse.GetStatusResponseV0} msg The msg instance to transform.
+ * @return {!Object}
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.toObject = function(includeInstance, msg) {
+  var f, obj = {
+    version: (f = msg.getVersion()) && proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.toObject(includeInstance, f),
+    node: (f = msg.getNode()) && proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.toObject(includeInstance, f),
+    chain: (f = msg.getChain()) && proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.toObject(includeInstance, f),
+    network: (f = msg.getNetwork()) && proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network.toObject(includeInstance, f),
+    stateSync: (f = msg.getStateSync()) && proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.toObject(includeInstance, f),
+    time: (f = msg.getTime()) && proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.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.GetStatusResponse.GetStatusResponseV0}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.deserializeBinary = function(bytes) {
+  var reader = new jspb.BinaryReader(bytes);
+  var msg = new proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0;
+  return proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.deserializeBinaryFromReader(msg, reader);
+};
+
+
+/**
+ * Deserializes binary data (in protobuf wire format) from the
+ * given reader into the given message object.
+ * @param {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0} msg The message object to deserialize into.
+ * @param {!jspb.BinaryReader} reader The BinaryReader to use.
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.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.GetStatusResponse.GetStatusResponseV0.Version;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.deserializeBinaryFromReader);
+      msg.setVersion(value);
+      break;
+    case 2:
+      var value = new proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.deserializeBinaryFromReader);
+      msg.setNode(value);
+      break;
+    case 3:
+      var value = new proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.deserializeBinaryFromReader);
+      msg.setChain(value);
+      break;
+    case 4:
+      var value = new proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network.deserializeBinaryFromReader);
+      msg.setNetwork(value);
+      break;
+    case 5:
+      var value = new proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.deserializeBinaryFromReader);
+      msg.setStateSync(value);
+      break;
+    case 6:
+      var value = new proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.deserializeBinaryFromReader);
+      msg.setTime(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.GetStatusResponse.GetStatusResponseV0.prototype.serializeBinary = function() {
+  var writer = new jspb.BinaryWriter();
+  proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.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.GetStatusResponse.GetStatusResponseV0} message
+ * @param {!jspb.BinaryWriter} writer
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.serializeBinaryToWriter = function(message, writer) {
+  var f = undefined;
+  f = message.getVersion();
+  if (f != null) {
+    writer.writeMessage(
+      1,
+      f,
+      proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.serializeBinaryToWriter
+    );
+  }
+  f = message.getNode();
+  if (f != null) {
+    writer.writeMessage(
+      2,
+      f,
+      proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.serializeBinaryToWriter
+    );
+  }
+  f = message.getChain();
+  if (f != null) {
+    writer.writeMessage(
+      3,
+      f,
+      proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.serializeBinaryToWriter
+    );
+  }
+  f = message.getNetwork();
+  if (f != null) {
+    writer.writeMessage(
+      4,
+      f,
+      proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network.serializeBinaryToWriter
+    );
+  }
+  f = message.getStateSync();
+  if (f != null) {
+    writer.writeMessage(
+      5,
+      f,
+      proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.serializeBinaryToWriter
+    );
+  }
+  f = message.getTime();
+  if (f != null) {
+    writer.writeMessage(
+      6,
+      f,
+      proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.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.GetStatusResponse.GetStatusResponseV0.Version.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.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.GetStatusResponse.GetStatusResponseV0.Version} msg The msg instance to transform.
+ * @return {!Object}
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.toObject = function(includeInstance, msg) {
+  var f, obj = {
+    software: (f = msg.getSoftware()) && proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.toObject(includeInstance, f),
+    protocol: (f = msg.getProtocol()) && proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.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.GetStatusResponse.GetStatusResponseV0.Version}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.deserializeBinary = function(bytes) {
+  var reader = new jspb.BinaryReader(bytes);
+  var msg = new proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version;
+  return proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.deserializeBinaryFromReader(msg, reader);
+};
+
+
+/**
+ * Deserializes binary data (in protobuf wire format) from the
+ * given reader into the given message object.
+ * @param {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version} msg The message object to deserialize into.
+ * @param {!jspb.BinaryReader} reader The BinaryReader to use.
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.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.GetStatusResponse.GetStatusResponseV0.Version.Software;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.deserializeBinaryFromReader);
+      msg.setSoftware(value);
+      break;
+    case 2:
+      var value = new proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.deserializeBinaryFromReader);
+      msg.setProtocol(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.GetStatusResponse.GetStatusResponseV0.Version.prototype.serializeBinary = function() {
+  var writer = new jspb.BinaryWriter();
+  proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.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.GetStatusResponse.GetStatusResponseV0.Version} message
+ * @param {!jspb.BinaryWriter} writer
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.serializeBinaryToWriter = function(message, writer) {
+  var f = undefined;
+  f = message.getSoftware();
+  if (f != null) {
+    writer.writeMessage(
+      1,
+      f,
+      proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.serializeBinaryToWriter
+    );
+  }
+  f = message.getProtocol();
+  if (f != null) {
+    writer.writeMessage(
+      2,
+      f,
+      proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.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.GetStatusResponse.GetStatusResponseV0.Version.Software.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.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.GetStatusResponse.GetStatusResponseV0.Version.Software} msg The msg instance to transform.
+ * @return {!Object}
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.toObject = function(includeInstance, msg) {
+  var f, obj = {
+    dapi: jspb.Message.getFieldWithDefault(msg, 1, ""),
+    drive: jspb.Message.getFieldWithDefault(msg, 2, ""),
+    tenderdash: jspb.Message.getFieldWithDefault(msg, 3, "")
+  };
+
+  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.GetStatusResponse.GetStatusResponseV0.Version.Software}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.deserializeBinary = function(bytes) {
+  var reader = new jspb.BinaryReader(bytes);
+  var msg = new proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software;
+  return proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.deserializeBinaryFromReader(msg, reader);
+};
+
+
+/**
+ * Deserializes binary data (in protobuf wire format) from the
+ * given reader into the given message object.
+ * @param {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software} msg The message object to deserialize into.
+ * @param {!jspb.BinaryReader} reader The BinaryReader to use.
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.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.setDapi(value);
+      break;
+    case 2:
+      var value = /** @type {string} */ (reader.readString());
+      msg.setDrive(value);
+      break;
+    case 3:
+      var value = /** @type {string} */ (reader.readString());
+      msg.setTenderdash(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.GetStatusResponse.GetStatusResponseV0.Version.Software.prototype.serializeBinary = function() {
+  var writer = new jspb.BinaryWriter();
+  proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.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.GetStatusResponse.GetStatusResponseV0.Version.Software} message
+ * @param {!jspb.BinaryWriter} writer
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.serializeBinaryToWriter = function(message, writer) {
+  var f = undefined;
+  f = message.getDapi();
+  if (f.length > 0) {
+    writer.writeString(
+      1,
+      f
+    );
+  }
+  f = /** @type {string} */ (jspb.Message.getField(message, 2));
+  if (f != null) {
+    writer.writeString(
+      2,
+      f
+    );
+  }
+  f = /** @type {string} */ (jspb.Message.getField(message, 3));
+  if (f != null) {
+    writer.writeString(
+      3,
+      f
+    );
+  }
+};
+
+
+/**
+ * optional string dapi = 1;
+ * @return {string}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.prototype.getDapi = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
+};
+
+
+/**
+ * @param {string} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.prototype.setDapi = function(value) {
+  return jspb.Message.setProto3StringField(this, 1, value);
+};
+
+
+/**
+ * optional string drive = 2;
+ * @return {string}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.prototype.getDrive = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
+};
+
+
+/**
+ * @param {string} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.prototype.setDrive = function(value) {
+  return jspb.Message.setField(this, 2, value);
+};
+
+
+/**
+ * Clears the field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.prototype.clearDrive = function() {
+  return jspb.Message.setField(this, 2, undefined);
+};
+
+
+/**
+ * Returns whether this field is set.
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.prototype.hasDrive = function() {
+  return jspb.Message.getField(this, 2) != null;
+};
+
+
+/**
+ * optional string tenderdash = 3;
+ * @return {string}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.prototype.getTenderdash = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, ""));
+};
+
+
+/**
+ * @param {string} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.prototype.setTenderdash = function(value) {
+  return jspb.Message.setField(this, 3, value);
+};
+
+
+/**
+ * Clears the field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.prototype.clearTenderdash = function() {
+  return jspb.Message.setField(this, 3, undefined);
+};
+
+
+/**
+ * Returns whether this field is set.
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.prototype.hasTenderdash = 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.GetStatusResponse.GetStatusResponseV0.Version.Protocol.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.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.GetStatusResponse.GetStatusResponseV0.Version.Protocol} msg The msg instance to transform.
+ * @return {!Object}
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.toObject = function(includeInstance, msg) {
+  var f, obj = {
+    tenderdash: (f = msg.getTenderdash()) && proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash.toObject(includeInstance, f),
+    drive: (f = msg.getDrive()) && proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive.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.GetStatusResponse.GetStatusResponseV0.Version.Protocol}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.deserializeBinary = function(bytes) {
+  var reader = new jspb.BinaryReader(bytes);
+  var msg = new proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol;
+  return proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.deserializeBinaryFromReader(msg, reader);
+};
+
+
+/**
+ * Deserializes binary data (in protobuf wire format) from the
+ * given reader into the given message object.
+ * @param {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol} msg The message object to deserialize into.
+ * @param {!jspb.BinaryReader} reader The BinaryReader to use.
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.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.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash.deserializeBinaryFromReader);
+      msg.setTenderdash(value);
+      break;
+    case 2:
+      var value = new proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive.deserializeBinaryFromReader);
+      msg.setDrive(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.GetStatusResponse.GetStatusResponseV0.Version.Protocol.prototype.serializeBinary = function() {
+  var writer = new jspb.BinaryWriter();
+  proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.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.GetStatusResponse.GetStatusResponseV0.Version.Protocol} message
+ * @param {!jspb.BinaryWriter} writer
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.serializeBinaryToWriter = function(message, writer) {
+  var f = undefined;
+  f = message.getTenderdash();
+  if (f != null) {
+    writer.writeMessage(
+      1,
+      f,
+      proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash.serializeBinaryToWriter
+    );
+  }
+  f = message.getDrive();
+  if (f != null) {
+    writer.writeMessage(
+      2,
+      f,
+      proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive.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.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash.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.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash} msg The msg instance to transform.
+ * @return {!Object}
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash.toObject = function(includeInstance, msg) {
+  var f, obj = {
+    p2p: jspb.Message.getFieldWithDefault(msg, 1, 0),
+    block: jspb.Message.getFieldWithDefault(msg, 2, 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.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash.deserializeBinary = function(bytes) {
+  var reader = new jspb.BinaryReader(bytes);
+  var msg = new proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash;
+  return proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash.deserializeBinaryFromReader(msg, reader);
+};
+
+
+/**
+ * Deserializes binary data (in protobuf wire format) from the
+ * given reader into the given message object.
+ * @param {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash} msg The message object to deserialize into.
+ * @param {!jspb.BinaryReader} reader The BinaryReader to use.
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash.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.setP2p(value);
+      break;
+    case 2:
+      var value = /** @type {number} */ (reader.readUint32());
+      msg.setBlock(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.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash.prototype.serializeBinary = function() {
+  var writer = new jspb.BinaryWriter();
+  proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash.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.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash} message
+ * @param {!jspb.BinaryWriter} writer
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash.serializeBinaryToWriter = function(message, writer) {
+  var f = undefined;
+  f = message.getP2p();
+  if (f !== 0) {
+    writer.writeUint32(
+      1,
+      f
+    );
+  }
+  f = message.getBlock();
+  if (f !== 0) {
+    writer.writeUint32(
+      2,
+      f
+    );
+  }
+};
+
+
+/**
+ * optional uint32 p2p = 1;
+ * @return {number}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash.prototype.getP2p = function() {
+  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
+};
+
+
+/**
+ * @param {number} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash.prototype.setP2p = function(value) {
+  return jspb.Message.setProto3IntField(this, 1, value);
+};
+
+
+/**
+ * optional uint32 block = 2;
+ * @return {number}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash.prototype.getBlock = function() {
+  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
+};
+
+
+/**
+ * @param {number} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash.prototype.setBlock = function(value) {
+  return jspb.Message.setProto3IntField(this, 2, 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.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive.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.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive} msg The msg instance to transform.
+ * @return {!Object}
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive.toObject = function(includeInstance, msg) {
+  var f, obj = {
+    latest: jspb.Message.getFieldWithDefault(msg, 3, 0),
+    current: jspb.Message.getFieldWithDefault(msg, 4, 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.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive.deserializeBinary = function(bytes) {
+  var reader = new jspb.BinaryReader(bytes);
+  var msg = new proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive;
+  return proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive.deserializeBinaryFromReader(msg, reader);
+};
+
+
+/**
+ * Deserializes binary data (in protobuf wire format) from the
+ * given reader into the given message object.
+ * @param {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive} msg The message object to deserialize into.
+ * @param {!jspb.BinaryReader} reader The BinaryReader to use.
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive.deserializeBinaryFromReader = function(msg, reader) {
+  while (reader.nextField()) {
+    if (reader.isEndGroup()) {
+      break;
+    }
+    var field = reader.getFieldNumber();
+    switch (field) {
+    case 3:
+      var value = /** @type {number} */ (reader.readUint32());
+      msg.setLatest(value);
+      break;
+    case 4:
+      var value = /** @type {number} */ (reader.readUint32());
+      msg.setCurrent(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.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive.prototype.serializeBinary = function() {
+  var writer = new jspb.BinaryWriter();
+  proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive.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.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive} message
+ * @param {!jspb.BinaryWriter} writer
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive.serializeBinaryToWriter = function(message, writer) {
+  var f = undefined;
+  f = message.getLatest();
+  if (f !== 0) {
+    writer.writeUint32(
+      3,
+      f
+    );
+  }
+  f = message.getCurrent();
+  if (f !== 0) {
+    writer.writeUint32(
+      4,
+      f
+    );
+  }
+};
+
+
+/**
+ * optional uint32 latest = 3;
+ * @return {number}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive.prototype.getLatest = function() {
+  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));
+};
+
+
+/**
+ * @param {number} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive.prototype.setLatest = function(value) {
+  return jspb.Message.setProto3IntField(this, 3, value);
+};
+
+
+/**
+ * optional uint32 current = 4;
+ * @return {number}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive.prototype.getCurrent = function() {
+  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0));
+};
+
+
+/**
+ * @param {number} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive.prototype.setCurrent = function(value) {
+  return jspb.Message.setProto3IntField(this, 4, value);
+};
+
+
+/**
+ * optional Tenderdash tenderdash = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.prototype.getTenderdash = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash, 1));
+};
+
+
+/**
+ * @param {?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.prototype.setTenderdash = function(value) {
+  return jspb.Message.setWrapperField(this, 1, value);
+};
+
+
+/**
+ * Clears the message field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.prototype.clearTenderdash = function() {
+  return this.setTenderdash(undefined);
+};
+
+
+/**
+ * Returns whether this field is set.
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.prototype.hasTenderdash = function() {
+  return jspb.Message.getField(this, 1) != null;
+};
+
+
+/**
+ * optional Drive drive = 2;
+ * @return {?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.prototype.getDrive = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive, 2));
+};
+
+
+/**
+ * @param {?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.prototype.setDrive = function(value) {
+  return jspb.Message.setWrapperField(this, 2, value);
+};
+
+
+/**
+ * Clears the message field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.prototype.clearDrive = function() {
+  return this.setDrive(undefined);
+};
+
+
+/**
+ * Returns whether this field is set.
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.prototype.hasDrive = function() {
+  return jspb.Message.getField(this, 2) != null;
+};
+
+
+/**
+ * optional Software software = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.prototype.getSoftware = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software, 1));
+};
+
+
+/**
+ * @param {?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.prototype.setSoftware = function(value) {
+  return jspb.Message.setWrapperField(this, 1, value);
+};
+
+
+/**
+ * Clears the message field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.prototype.clearSoftware = function() {
+  return this.setSoftware(undefined);
+};
+
+
+/**
+ * Returns whether this field is set.
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.prototype.hasSoftware = function() {
+  return jspb.Message.getField(this, 1) != null;
+};
+
+
+/**
+ * optional Protocol protocol = 2;
+ * @return {?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.prototype.getProtocol = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol, 2));
+};
+
+
+/**
+ * @param {?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.prototype.setProtocol = function(value) {
+  return jspb.Message.setWrapperField(this, 2, value);
+};
+
+
+/**
+ * Clears the message field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.prototype.clearProtocol = function() {
+  return this.setProtocol(undefined);
+};
+
+
+/**
+ * Returns whether this field is set.
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.prototype.hasProtocol = function() {
+  return jspb.Message.getField(this, 2) != 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.GetStatusResponse.GetStatusResponseV0.Time.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.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.GetStatusResponse.GetStatusResponseV0.Time} msg The msg instance to transform.
+ * @return {!Object}
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.toObject = function(includeInstance, msg) {
+  var f, obj = {
+    local: jspb.Message.getFieldWithDefault(msg, 1, "0"),
+    block: jspb.Message.getFieldWithDefault(msg, 2, "0"),
+    genesis: jspb.Message.getFieldWithDefault(msg, 3, "0"),
+    epoch: jspb.Message.getFieldWithDefault(msg, 4, 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.GetStatusResponse.GetStatusResponseV0.Time}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.deserializeBinary = function(bytes) {
+  var reader = new jspb.BinaryReader(bytes);
+  var msg = new proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time;
+  return proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.deserializeBinaryFromReader(msg, reader);
+};
+
+
+/**
+ * Deserializes binary data (in protobuf wire format) from the
+ * given reader into the given message object.
+ * @param {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time} msg The message object to deserialize into.
+ * @param {!jspb.BinaryReader} reader The BinaryReader to use.
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.deserializeBinaryFromReader = function(msg, reader) {
+  while (reader.nextField()) {
+    if (reader.isEndGroup()) {
+      break;
+    }
+    var field = reader.getFieldNumber();
+    switch (field) {
+    case 1:
+      var value = /** @type {string} */ (reader.readUint64String());
+      msg.setLocal(value);
+      break;
+    case 2:
+      var value = /** @type {string} */ (reader.readUint64String());
+      msg.setBlock(value);
+      break;
+    case 3:
+      var value = /** @type {string} */ (reader.readUint64String());
+      msg.setGenesis(value);
+      break;
+    case 4:
+      var value = /** @type {number} */ (reader.readUint32());
+      msg.setEpoch(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.GetStatusResponse.GetStatusResponseV0.Time.prototype.serializeBinary = function() {
+  var writer = new jspb.BinaryWriter();
+  proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.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.GetStatusResponse.GetStatusResponseV0.Time} message
+ * @param {!jspb.BinaryWriter} writer
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.serializeBinaryToWriter = function(message, writer) {
+  var f = undefined;
+  f = message.getLocal();
+  if (parseInt(f, 10) !== 0) {
+    writer.writeUint64String(
+      1,
+      f
+    );
+  }
+  f = /** @type {string} */ (jspb.Message.getField(message, 2));
+  if (f != null) {
+    writer.writeUint64String(
+      2,
+      f
+    );
+  }
+  f = /** @type {string} */ (jspb.Message.getField(message, 3));
+  if (f != null) {
+    writer.writeUint64String(
+      3,
+      f
+    );
+  }
+  f = /** @type {number} */ (jspb.Message.getField(message, 4));
+  if (f != null) {
+    writer.writeUint32(
+      4,
+      f
+    );
+  }
+};
+
+
+/**
+ * optional uint64 local = 1;
+ * @return {string}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.prototype.getLocal = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "0"));
+};
+
+
+/**
+ * @param {string} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.prototype.setLocal = function(value) {
+  return jspb.Message.setProto3StringIntField(this, 1, value);
+};
+
+
+/**
+ * optional uint64 block = 2;
+ * @return {string}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.prototype.getBlock = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "0"));
+};
+
+
+/**
+ * @param {string} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.prototype.setBlock = function(value) {
+  return jspb.Message.setField(this, 2, value);
+};
+
+
+/**
+ * Clears the field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.prototype.clearBlock = function() {
+  return jspb.Message.setField(this, 2, undefined);
+};
+
+
+/**
+ * Returns whether this field is set.
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.prototype.hasBlock = function() {
+  return jspb.Message.getField(this, 2) != null;
+};
+
+
+/**
+ * optional uint64 genesis = 3;
+ * @return {string}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.prototype.getGenesis = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "0"));
+};
+
+
+/**
+ * @param {string} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.prototype.setGenesis = function(value) {
+  return jspb.Message.setField(this, 3, value);
+};
+
+
+/**
+ * Clears the field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.prototype.clearGenesis = function() {
+  return jspb.Message.setField(this, 3, undefined);
+};
+
+
+/**
+ * Returns whether this field is set.
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.prototype.hasGenesis = function() {
+  return jspb.Message.getField(this, 3) != null;
+};
+
+
+/**
+ * optional uint32 epoch = 4;
+ * @return {number}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.prototype.getEpoch = function() {
+  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0));
+};
+
+
+/**
+ * @param {number} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.prototype.setEpoch = function(value) {
+  return jspb.Message.setField(this, 4, value);
+};
+
+
+/**
+ * Clears the field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.prototype.clearEpoch = function() {
+  return jspb.Message.setField(this, 4, undefined);
+};
+
+
+/**
+ * Returns whether this field is set.
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.prototype.hasEpoch = function() {
+  return jspb.Message.getField(this, 4) != 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.GetStatusResponse.GetStatusResponseV0.Node.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.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.GetStatusResponse.GetStatusResponseV0.Node} msg The msg instance to transform.
+ * @return {!Object}
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.toObject = function(includeInstance, msg) {
+  var f, obj = {
+    id: msg.getId_asB64(),
+    proTxHash: msg.getProTxHash_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.GetStatusResponse.GetStatusResponseV0.Node}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.deserializeBinary = function(bytes) {
+  var reader = new jspb.BinaryReader(bytes);
+  var msg = new proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node;
+  return proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.deserializeBinaryFromReader(msg, reader);
+};
+
+
+/**
+ * Deserializes binary data (in protobuf wire format) from the
+ * given reader into the given message object.
+ * @param {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node} msg The message object to deserialize into.
+ * @param {!jspb.BinaryReader} reader The BinaryReader to use.
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.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 {!Uint8Array} */ (reader.readBytes());
+      msg.setProTxHash(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.GetStatusResponse.GetStatusResponseV0.Node.prototype.serializeBinary = function() {
+  var writer = new jspb.BinaryWriter();
+  proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.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.GetStatusResponse.GetStatusResponseV0.Node} message
+ * @param {!jspb.BinaryWriter} writer
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.serializeBinaryToWriter = function(message, writer) {
+  var f = undefined;
+  f = message.getId_asU8();
+  if (f.length > 0) {
+    writer.writeBytes(
+      1,
+      f
+    );
+  }
+  f = /** @type {!(string|Uint8Array)} */ (jspb.Message.getField(message, 2));
+  if (f != null) {
+    writer.writeBytes(
+      2,
+      f
+    );
+  }
+};
+
+
+/**
+ * optional bytes id = 1;
+ * @return {string}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.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.GetStatusResponse.GetStatusResponseV0.Node.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.GetStatusResponse.GetStatusResponseV0.Node.prototype.getId_asU8 = function() {
+  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
+      this.getId()));
+};
+
+
+/**
+ * @param {!(string|Uint8Array)} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.prototype.setId = function(value) {
+  return jspb.Message.setProto3BytesField(this, 1, value);
+};
+
+
+/**
+ * optional bytes pro_tx_hash = 2;
+ * @return {string}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.prototype.getProTxHash = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
+};
+
+
+/**
+ * optional bytes pro_tx_hash = 2;
+ * This is a type-conversion wrapper around `getProTxHash()`
+ * @return {string}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.prototype.getProTxHash_asB64 = function() {
+  return /** @type {string} */ (jspb.Message.bytesAsB64(
+      this.getProTxHash()));
+};
+
+
+/**
+ * optional bytes pro_tx_hash = 2;
+ * 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.GetStatusResponse.GetStatusResponseV0.Node.prototype.getProTxHash_asU8 = function() {
+  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
+      this.getProTxHash()));
+};
+
+
+/**
+ * @param {!(string|Uint8Array)} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.prototype.setProTxHash = function(value) {
+  return jspb.Message.setField(this, 2, value);
+};
+
+
+/**
+ * Clears the field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.prototype.clearProTxHash = function() {
+  return jspb.Message.setField(this, 2, undefined);
+};
+
+
+/**
+ * Returns whether this field is set.
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.prototype.hasProTxHash = function() {
+  return jspb.Message.getField(this, 2) != 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.GetStatusResponse.GetStatusResponseV0.Chain.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.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.GetStatusResponse.GetStatusResponseV0.Chain} msg The msg instance to transform.
+ * @return {!Object}
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.toObject = function(includeInstance, msg) {
+  var f, obj = {
+    catchingUp: jspb.Message.getBooleanFieldWithDefault(msg, 1, false),
+    latestBlockHash: msg.getLatestBlockHash_asB64(),
+    latestAppHash: msg.getLatestAppHash_asB64(),
+    latestBlockHeight: jspb.Message.getFieldWithDefault(msg, 4, "0"),
+    earliestBlockHash: msg.getEarliestBlockHash_asB64(),
+    earliestAppHash: msg.getEarliestAppHash_asB64(),
+    earliestBlockHeight: jspb.Message.getFieldWithDefault(msg, 7, "0"),
+    maxPeerBlockHeight: jspb.Message.getFieldWithDefault(msg, 9, "0"),
+    coreChainLockedHeight: jspb.Message.getFieldWithDefault(msg, 10, 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.GetStatusResponse.GetStatusResponseV0.Chain}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.deserializeBinary = function(bytes) {
+  var reader = new jspb.BinaryReader(bytes);
+  var msg = new proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain;
+  return proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.deserializeBinaryFromReader(msg, reader);
+};
+
+
+/**
+ * Deserializes binary data (in protobuf wire format) from the
+ * given reader into the given message object.
+ * @param {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain} msg The message object to deserialize into.
+ * @param {!jspb.BinaryReader} reader The BinaryReader to use.
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.deserializeBinaryFromReader = function(msg, reader) {
+  while (reader.nextField()) {
+    if (reader.isEndGroup()) {
+      break;
+    }
+    var field = reader.getFieldNumber();
+    switch (field) {
+    case 1:
+      var value = /** @type {boolean} */ (reader.readBool());
+      msg.setCatchingUp(value);
+      break;
+    case 2:
+      var value = /** @type {!Uint8Array} */ (reader.readBytes());
+      msg.setLatestBlockHash(value);
+      break;
+    case 3:
+      var value = /** @type {!Uint8Array} */ (reader.readBytes());
+      msg.setLatestAppHash(value);
+      break;
+    case 4:
+      var value = /** @type {string} */ (reader.readUint64String());
+      msg.setLatestBlockHeight(value);
+      break;
+    case 5:
+      var value = /** @type {!Uint8Array} */ (reader.readBytes());
+      msg.setEarliestBlockHash(value);
+      break;
+    case 6:
+      var value = /** @type {!Uint8Array} */ (reader.readBytes());
+      msg.setEarliestAppHash(value);
+      break;
+    case 7:
+      var value = /** @type {string} */ (reader.readUint64String());
+      msg.setEarliestBlockHeight(value);
+      break;
+    case 9:
+      var value = /** @type {string} */ (reader.readUint64String());
+      msg.setMaxPeerBlockHeight(value);
+      break;
+    case 10:
+      var value = /** @type {number} */ (reader.readUint32());
+      msg.setCoreChainLockedHeight(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.GetStatusResponse.GetStatusResponseV0.Chain.prototype.serializeBinary = function() {
+  var writer = new jspb.BinaryWriter();
+  proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.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.GetStatusResponse.GetStatusResponseV0.Chain} message
+ * @param {!jspb.BinaryWriter} writer
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.serializeBinaryToWriter = function(message, writer) {
+  var f = undefined;
+  f = message.getCatchingUp();
+  if (f) {
+    writer.writeBool(
+      1,
+      f
+    );
+  }
+  f = message.getLatestBlockHash_asU8();
+  if (f.length > 0) {
+    writer.writeBytes(
+      2,
+      f
+    );
+  }
+  f = message.getLatestAppHash_asU8();
+  if (f.length > 0) {
+    writer.writeBytes(
+      3,
+      f
+    );
+  }
+  f = message.getLatestBlockHeight();
+  if (parseInt(f, 10) !== 0) {
+    writer.writeUint64String(
+      4,
+      f
+    );
+  }
+  f = message.getEarliestBlockHash_asU8();
+  if (f.length > 0) {
+    writer.writeBytes(
+      5,
+      f
+    );
+  }
+  f = message.getEarliestAppHash_asU8();
+  if (f.length > 0) {
+    writer.writeBytes(
+      6,
+      f
+    );
+  }
+  f = message.getEarliestBlockHeight();
+  if (parseInt(f, 10) !== 0) {
+    writer.writeUint64String(
+      7,
+      f
+    );
+  }
+  f = message.getMaxPeerBlockHeight();
+  if (parseInt(f, 10) !== 0) {
+    writer.writeUint64String(
+      9,
+      f
+    );
+  }
+  f = /** @type {number} */ (jspb.Message.getField(message, 10));
+  if (f != null) {
+    writer.writeUint32(
+      10,
+      f
+    );
+  }
+};
+
+
+/**
+ * optional bool catching_up = 1;
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.getCatchingUp = function() {
+  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 1, false));
+};
+
+
+/**
+ * @param {boolean} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.setCatchingUp = function(value) {
+  return jspb.Message.setProto3BooleanField(this, 1, value);
+};
+
+
+/**
+ * optional bytes latest_block_hash = 2;
+ * @return {string}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.getLatestBlockHash = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
+};
+
+
+/**
+ * optional bytes latest_block_hash = 2;
+ * This is a type-conversion wrapper around `getLatestBlockHash()`
+ * @return {string}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.getLatestBlockHash_asB64 = function() {
+  return /** @type {string} */ (jspb.Message.bytesAsB64(
+      this.getLatestBlockHash()));
+};
+
+
+/**
+ * optional bytes latest_block_hash = 2;
+ * Note that Uint8Array is not supported on all browsers.
+ * @see http://caniuse.com/Uint8Array
+ * This is a type-conversion wrapper around `getLatestBlockHash()`
+ * @return {!Uint8Array}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.getLatestBlockHash_asU8 = function() {
+  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
+      this.getLatestBlockHash()));
+};
+
+
+/**
+ * @param {!(string|Uint8Array)} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.setLatestBlockHash = function(value) {
+  return jspb.Message.setProto3BytesField(this, 2, value);
+};
+
+
+/**
+ * optional bytes latest_app_hash = 3;
+ * @return {string}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.getLatestAppHash = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, ""));
+};
+
+
+/**
+ * optional bytes latest_app_hash = 3;
+ * This is a type-conversion wrapper around `getLatestAppHash()`
+ * @return {string}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.getLatestAppHash_asB64 = function() {
+  return /** @type {string} */ (jspb.Message.bytesAsB64(
+      this.getLatestAppHash()));
+};
+
+
+/**
+ * optional bytes latest_app_hash = 3;
+ * Note that Uint8Array is not supported on all browsers.
+ * @see http://caniuse.com/Uint8Array
+ * This is a type-conversion wrapper around `getLatestAppHash()`
+ * @return {!Uint8Array}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.getLatestAppHash_asU8 = function() {
+  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
+      this.getLatestAppHash()));
+};
+
+
+/**
+ * @param {!(string|Uint8Array)} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.setLatestAppHash = function(value) {
+  return jspb.Message.setProto3BytesField(this, 3, value);
+};
+
+
+/**
+ * optional uint64 latest_block_height = 4;
+ * @return {string}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.getLatestBlockHeight = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, "0"));
+};
+
+
+/**
+ * @param {string} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.setLatestBlockHeight = function(value) {
+  return jspb.Message.setProto3StringIntField(this, 4, value);
+};
+
+
+/**
+ * optional bytes earliest_block_hash = 5;
+ * @return {string}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.getEarliestBlockHash = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, ""));
+};
+
+
+/**
+ * optional bytes earliest_block_hash = 5;
+ * This is a type-conversion wrapper around `getEarliestBlockHash()`
+ * @return {string}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.getEarliestBlockHash_asB64 = function() {
+  return /** @type {string} */ (jspb.Message.bytesAsB64(
+      this.getEarliestBlockHash()));
+};
+
+
+/**
+ * optional bytes earliest_block_hash = 5;
+ * Note that Uint8Array is not supported on all browsers.
+ * @see http://caniuse.com/Uint8Array
+ * This is a type-conversion wrapper around `getEarliestBlockHash()`
+ * @return {!Uint8Array}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.getEarliestBlockHash_asU8 = function() {
+  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
+      this.getEarliestBlockHash()));
+};
+
+
+/**
+ * @param {!(string|Uint8Array)} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.setEarliestBlockHash = function(value) {
+  return jspb.Message.setProto3BytesField(this, 5, value);
+};
+
+
+/**
+ * optional bytes earliest_app_hash = 6;
+ * @return {string}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.getEarliestAppHash = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 6, ""));
+};
+
+
+/**
+ * optional bytes earliest_app_hash = 6;
+ * This is a type-conversion wrapper around `getEarliestAppHash()`
+ * @return {string}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.getEarliestAppHash_asB64 = function() {
+  return /** @type {string} */ (jspb.Message.bytesAsB64(
+      this.getEarliestAppHash()));
+};
+
+
+/**
+ * optional bytes earliest_app_hash = 6;
+ * Note that Uint8Array is not supported on all browsers.
+ * @see http://caniuse.com/Uint8Array
+ * This is a type-conversion wrapper around `getEarliestAppHash()`
+ * @return {!Uint8Array}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.getEarliestAppHash_asU8 = function() {
+  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
+      this.getEarliestAppHash()));
+};
+
+
+/**
+ * @param {!(string|Uint8Array)} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.setEarliestAppHash = function(value) {
+  return jspb.Message.setProto3BytesField(this, 6, value);
+};
+
+
+/**
+ * optional uint64 earliest_block_height = 7;
+ * @return {string}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.getEarliestBlockHeight = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 7, "0"));
+};
+
+
+/**
+ * @param {string} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.setEarliestBlockHeight = function(value) {
+  return jspb.Message.setProto3StringIntField(this, 7, value);
+};
+
+
+/**
+ * optional uint64 max_peer_block_height = 9;
+ * @return {string}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.getMaxPeerBlockHeight = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 9, "0"));
+};
+
+
+/**
+ * @param {string} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.setMaxPeerBlockHeight = function(value) {
+  return jspb.Message.setProto3StringIntField(this, 9, value);
+};
+
+
+/**
+ * optional uint32 core_chain_locked_height = 10;
+ * @return {number}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.getCoreChainLockedHeight = function() {
+  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 10, 0));
+};
+
+
+/**
+ * @param {number} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.setCoreChainLockedHeight = function(value) {
+  return jspb.Message.setField(this, 10, value);
+};
+
+
+/**
+ * Clears the field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.clearCoreChainLockedHeight = function() {
+  return jspb.Message.setField(this, 10, undefined);
+};
+
+
+/**
+ * Returns whether this field is set.
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.hasCoreChainLockedHeight = function() {
+  return jspb.Message.getField(this, 10) != 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.GetStatusResponse.GetStatusResponseV0.Network.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network.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.GetStatusResponse.GetStatusResponseV0.Network} msg The msg instance to transform.
+ * @return {!Object}
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network.toObject = function(includeInstance, msg) {
+  var f, obj = {
+    chainId: jspb.Message.getFieldWithDefault(msg, 1, ""),
+    peersCount: jspb.Message.getFieldWithDefault(msg, 2, 0),
+    listening: jspb.Message.getBooleanFieldWithDefault(msg, 3, 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.GetStatusResponse.GetStatusResponseV0.Network}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network.deserializeBinary = function(bytes) {
+  var reader = new jspb.BinaryReader(bytes);
+  var msg = new proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network;
+  return proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network.deserializeBinaryFromReader(msg, reader);
+};
+
+
+/**
+ * Deserializes binary data (in protobuf wire format) from the
+ * given reader into the given message object.
+ * @param {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network} msg The message object to deserialize into.
+ * @param {!jspb.BinaryReader} reader The BinaryReader to use.
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network.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.setChainId(value);
+      break;
+    case 2:
+      var value = /** @type {number} */ (reader.readUint32());
+      msg.setPeersCount(value);
+      break;
+    case 3:
+      var value = /** @type {boolean} */ (reader.readBool());
+      msg.setListening(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.GetStatusResponse.GetStatusResponseV0.Network.prototype.serializeBinary = function() {
+  var writer = new jspb.BinaryWriter();
+  proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network.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.GetStatusResponse.GetStatusResponseV0.Network} message
+ * @param {!jspb.BinaryWriter} writer
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network.serializeBinaryToWriter = function(message, writer) {
+  var f = undefined;
+  f = message.getChainId();
+  if (f.length > 0) {
+    writer.writeString(
+      1,
+      f
+    );
+  }
+  f = message.getPeersCount();
+  if (f !== 0) {
+    writer.writeUint32(
+      2,
+      f
+    );
+  }
+  f = message.getListening();
+  if (f) {
+    writer.writeBool(
+      3,
+      f
+    );
+  }
+};
+
+
+/**
+ * optional string chain_id = 1;
+ * @return {string}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network.prototype.getChainId = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
+};
+
+
+/**
+ * @param {string} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network.prototype.setChainId = function(value) {
+  return jspb.Message.setProto3StringField(this, 1, value);
+};
+
+
+/**
+ * optional uint32 peers_count = 2;
+ * @return {number}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network.prototype.getPeersCount = function() {
+  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
+};
+
+
+/**
+ * @param {number} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network.prototype.setPeersCount = function(value) {
+  return jspb.Message.setProto3IntField(this, 2, value);
+};
+
+
+/**
+ * optional bool listening = 3;
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network.prototype.getListening = function() {
+  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 3, false));
+};
+
+
+/**
+ * @param {boolean} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network.prototype.setListening = function(value) {
+  return jspb.Message.setProto3BooleanField(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.GetStatusResponse.GetStatusResponseV0.StateSync.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.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.GetStatusResponse.GetStatusResponseV0.StateSync} msg The msg instance to transform.
+ * @return {!Object}
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.toObject = function(includeInstance, msg) {
+  var f, obj = {
+    totalSyncedTime: jspb.Message.getFieldWithDefault(msg, 1, "0"),
+    remainingTime: jspb.Message.getFieldWithDefault(msg, 2, "0"),
+    totalSnapshots: jspb.Message.getFieldWithDefault(msg, 3, 0),
+    chunkProcessAvgTime: jspb.Message.getFieldWithDefault(msg, 4, "0"),
+    snapshotHeight: jspb.Message.getFieldWithDefault(msg, 5, "0"),
+    snapshotChunksCount: jspb.Message.getFieldWithDefault(msg, 6, "0"),
+    backfilledBlocks: jspb.Message.getFieldWithDefault(msg, 7, "0"),
+    backfillBlocksTotal: jspb.Message.getFieldWithDefault(msg, 8, "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.GetStatusResponse.GetStatusResponseV0.StateSync}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.deserializeBinary = function(bytes) {
+  var reader = new jspb.BinaryReader(bytes);
+  var msg = new proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync;
+  return proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.deserializeBinaryFromReader(msg, reader);
+};
+
+
+/**
+ * Deserializes binary data (in protobuf wire format) from the
+ * given reader into the given message object.
+ * @param {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync} msg The message object to deserialize into.
+ * @param {!jspb.BinaryReader} reader The BinaryReader to use.
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.deserializeBinaryFromReader = function(msg, reader) {
+  while (reader.nextField()) {
+    if (reader.isEndGroup()) {
+      break;
+    }
+    var field = reader.getFieldNumber();
+    switch (field) {
+    case 1:
+      var value = /** @type {string} */ (reader.readUint64String());
+      msg.setTotalSyncedTime(value);
+      break;
+    case 2:
+      var value = /** @type {string} */ (reader.readUint64String());
+      msg.setRemainingTime(value);
+      break;
+    case 3:
+      var value = /** @type {number} */ (reader.readUint32());
+      msg.setTotalSnapshots(value);
+      break;
+    case 4:
+      var value = /** @type {string} */ (reader.readUint64String());
+      msg.setChunkProcessAvgTime(value);
+      break;
+    case 5:
+      var value = /** @type {string} */ (reader.readUint64String());
+      msg.setSnapshotHeight(value);
+      break;
+    case 6:
+      var value = /** @type {string} */ (reader.readUint64String());
+      msg.setSnapshotChunksCount(value);
+      break;
+    case 7:
+      var value = /** @type {string} */ (reader.readUint64String());
+      msg.setBackfilledBlocks(value);
+      break;
+    case 8:
+      var value = /** @type {string} */ (reader.readUint64String());
+      msg.setBackfillBlocksTotal(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.GetStatusResponse.GetStatusResponseV0.StateSync.prototype.serializeBinary = function() {
+  var writer = new jspb.BinaryWriter();
+  proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.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.GetStatusResponse.GetStatusResponseV0.StateSync} message
+ * @param {!jspb.BinaryWriter} writer
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.serializeBinaryToWriter = function(message, writer) {
+  var f = undefined;
+  f = message.getTotalSyncedTime();
+  if (parseInt(f, 10) !== 0) {
+    writer.writeUint64String(
+      1,
+      f
+    );
+  }
+  f = message.getRemainingTime();
+  if (parseInt(f, 10) !== 0) {
+    writer.writeUint64String(
+      2,
+      f
+    );
+  }
+  f = message.getTotalSnapshots();
+  if (f !== 0) {
+    writer.writeUint32(
+      3,
+      f
+    );
+  }
+  f = message.getChunkProcessAvgTime();
+  if (parseInt(f, 10) !== 0) {
+    writer.writeUint64String(
+      4,
+      f
+    );
+  }
+  f = message.getSnapshotHeight();
+  if (parseInt(f, 10) !== 0) {
+    writer.writeUint64String(
+      5,
+      f
+    );
+  }
+  f = message.getSnapshotChunksCount();
+  if (parseInt(f, 10) !== 0) {
+    writer.writeUint64String(
+      6,
+      f
+    );
+  }
+  f = message.getBackfilledBlocks();
+  if (parseInt(f, 10) !== 0) {
+    writer.writeUint64String(
+      7,
+      f
+    );
+  }
+  f = message.getBackfillBlocksTotal();
+  if (parseInt(f, 10) !== 0) {
+    writer.writeUint64String(
+      8,
+      f
+    );
+  }
+};
+
+
+/**
+ * optional uint64 total_synced_time = 1;
+ * @return {string}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.prototype.getTotalSyncedTime = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "0"));
+};
+
+
+/**
+ * @param {string} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.prototype.setTotalSyncedTime = function(value) {
+  return jspb.Message.setProto3StringIntField(this, 1, value);
+};
+
+
+/**
+ * optional uint64 remaining_time = 2;
+ * @return {string}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.prototype.getRemainingTime = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "0"));
+};
+
+
+/**
+ * @param {string} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.prototype.setRemainingTime = function(value) {
+  return jspb.Message.setProto3StringIntField(this, 2, value);
+};
+
+
+/**
+ * optional uint32 total_snapshots = 3;
+ * @return {number}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.prototype.getTotalSnapshots = function() {
+  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));
+};
+
+
+/**
+ * @param {number} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.prototype.setTotalSnapshots = function(value) {
+  return jspb.Message.setProto3IntField(this, 3, value);
+};
+
+
+/**
+ * optional uint64 chunk_process_avg_time = 4;
+ * @return {string}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.prototype.getChunkProcessAvgTime = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, "0"));
+};
+
+
+/**
+ * @param {string} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.prototype.setChunkProcessAvgTime = function(value) {
+  return jspb.Message.setProto3StringIntField(this, 4, value);
+};
+
+
+/**
+ * optional uint64 snapshot_height = 5;
+ * @return {string}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.prototype.getSnapshotHeight = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, "0"));
+};
+
+
+/**
+ * @param {string} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.prototype.setSnapshotHeight = function(value) {
+  return jspb.Message.setProto3StringIntField(this, 5, value);
+};
+
+
+/**
+ * optional uint64 snapshot_chunks_count = 6;
+ * @return {string}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.prototype.getSnapshotChunksCount = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 6, "0"));
+};
+
+
+/**
+ * @param {string} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.prototype.setSnapshotChunksCount = function(value) {
+  return jspb.Message.setProto3StringIntField(this, 6, value);
+};
+
+
+/**
+ * optional uint64 backfilled_blocks = 7;
+ * @return {string}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.prototype.getBackfilledBlocks = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 7, "0"));
+};
+
+
+/**
+ * @param {string} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.prototype.setBackfilledBlocks = function(value) {
+  return jspb.Message.setProto3StringIntField(this, 7, value);
+};
+
+
+/**
+ * optional uint64 backfill_blocks_total = 8;
+ * @return {string}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.prototype.getBackfillBlocksTotal = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 8, "0"));
+};
+
+
+/**
+ * @param {string} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.prototype.setBackfillBlocksTotal = function(value) {
+  return jspb.Message.setProto3StringIntField(this, 8, value);
+};
+
+
+/**
+ * optional Version version = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.getVersion = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version, 1));
+};
+
+
+/**
+ * @param {?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.setVersion = function(value) {
+  return jspb.Message.setWrapperField(this, 1, value);
+};
+
+
+/**
+ * Clears the message field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.clearVersion = function() {
+  return this.setVersion(undefined);
+};
+
+
+/**
+ * Returns whether this field is set.
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.hasVersion = function() {
+  return jspb.Message.getField(this, 1) != null;
+};
+
+
+/**
+ * optional Node node = 2;
+ * @return {?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.getNode = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node, 2));
+};
+
+
+/**
+ * @param {?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.setNode = function(value) {
+  return jspb.Message.setWrapperField(this, 2, value);
+};
+
+
+/**
+ * Clears the message field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.clearNode = function() {
+  return this.setNode(undefined);
+};
+
+
+/**
+ * Returns whether this field is set.
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.hasNode = function() {
+  return jspb.Message.getField(this, 2) != null;
+};
+
+
+/**
+ * optional Chain chain = 3;
+ * @return {?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.getChain = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain, 3));
+};
+
+
+/**
+ * @param {?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.setChain = function(value) {
+  return jspb.Message.setWrapperField(this, 3, value);
+};
+
+
+/**
+ * Clears the message field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.clearChain = function() {
+  return this.setChain(undefined);
 };
 
 
 /**
- * Serializes the given message to binary data (in protobuf wire
- * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0} 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.GetStatusRequest.GetStatusRequestV0.serializeBinaryToWriter = function(message, writer) {
-  var f = undefined;
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.hasChain = function() {
+  return jspb.Message.getField(this, 3) != null;
 };
 
 
 /**
- * optional GetStatusRequestV0 v0 = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0}
+ * optional Network network = 4;
+ * @return {?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network}
  */
-proto.org.dash.platform.dapi.v0.GetStatusRequest.prototype.getV0 = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0, 1));
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.getNetwork = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network, 4));
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusRequest} returns this
+ * @param {?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0} returns this
 */
-proto.org.dash.platform.dapi.v0.GetStatusRequest.prototype.setV0 = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetStatusRequest.oneofGroups_[0], value);
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.setNetwork = function(value) {
+  return jspb.Message.setWrapperField(this, 4, value);
 };
 
 
 /**
  * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusRequest} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetStatusRequest.prototype.clearV0 = function() {
-  return this.setV0(undefined);
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.clearNetwork = function() {
+  return this.setNetwork(undefined);
 };
 
 
@@ -41056,337 +47559,150 @@ proto.org.dash.platform.dapi.v0.GetStatusRequest.prototype.clearV0 = function()
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetStatusRequest.prototype.hasV0 = function() {
-  return jspb.Message.getField(this, 1) != null;
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.hasNetwork = function() {
+  return jspb.Message.getField(this, 4) != 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 StateSync state_sync = 5;
+ * @return {?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.oneofGroups_ = [[1]];
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.getStateSync = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync, 5));
+};
+
 
 /**
- * @enum {number}
- */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.VersionCase = {
-  VERSION_NOT_SET: 0,
-  V0: 1
+ * @param {?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.setStateSync = function(value) {
+  return jspb.Message.setWrapperField(this, 5, value);
 };
 
+
 /**
- * @return {proto.org.dash.platform.dapi.v0.GetStatusResponse.VersionCase}
+ * Clears the message field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.prototype.getVersionCase = function() {
-  return /** @type {proto.org.dash.platform.dapi.v0.GetStatusResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetStatusResponse.oneofGroups_[0]));
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.clearStateSync = function() {
+  return this.setStateSync(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.GetStatusResponse.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetStatusResponse.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.hasStateSync = function() {
+  return jspb.Message.getField(this, 5) != 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.GetStatusResponse} msg The msg instance to transform.
- * @return {!Object}
- * @suppress {unusedLocalVariables} f is only used for nested messages
+ * optional Time time = 6;
+ * @return {?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.toObject = function(includeInstance, msg) {
-  var f, obj = {
-    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.toObject(includeInstance, f)
-  };
-
-  if (includeInstance) {
-    obj.$jspbMessageInstance = msg;
-  }
-  return obj;
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.getTime = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time, 6));
 };
-}
 
 
 /**
- * Deserializes binary data (in protobuf wire format).
- * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse}
- */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.deserializeBinary = function(bytes) {
-  var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetStatusResponse;
-  return proto.org.dash.platform.dapi.v0.GetStatusResponse.deserializeBinaryFromReader(msg, reader);
+ * @param {?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.setTime = function(value) {
+  return jspb.Message.setWrapperField(this, 6, value);
 };
 
 
 /**
- * Deserializes binary data (in protobuf wire format) from the
- * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetStatusResponse} msg The message object to deserialize into.
- * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse}
+ * Clears the message field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.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.GetStatusResponse.GetStatusResponseV0;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.deserializeBinaryFromReader);
-      msg.setV0(value);
-      break;
-    default:
-      reader.skipField();
-      break;
-    }
-  }
-  return msg;
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.clearTime = function() {
+  return this.setTime(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.GetStatusResponse.prototype.serializeBinary = function() {
-  var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetStatusResponse.serializeBinaryToWriter(this, writer);
-  return writer.getResultBuffer();
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.hasTime = function() {
+  return jspb.Message.getField(this, 6) != null;
 };
 
 
 /**
- * Serializes the given message to binary data (in protobuf wire
- * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetStatusResponse} message
- * @param {!jspb.BinaryWriter} writer
- * @suppress {unusedLocalVariables} f is only used for nested messages
+ * optional GetStatusResponseV0 v0 = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.serializeBinaryToWriter = function(message, writer) {
-  var f = undefined;
-  f = message.getV0();
-  if (f != null) {
-    writer.writeMessage(
-      1,
-      f,
-      proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.serializeBinaryToWriter
-    );
-  }
+proto.org.dash.platform.dapi.v0.GetStatusResponse.prototype.getV0 = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0, 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.GetStatusResponse.GetStatusResponseV0.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.toObject(opt_includeInstance, this);
+ * @param {?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetStatusResponse.prototype.setV0 = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetStatusResponse.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.GetStatusResponse.GetStatusResponseV0} 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.GetStatusResponse} returns this
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.toObject = function(includeInstance, msg) {
-  var f, obj = {
-    version: (f = msg.getVersion()) && proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.toObject(includeInstance, f),
-    node: (f = msg.getNode()) && proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.toObject(includeInstance, f),
-    chain: (f = msg.getChain()) && proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.toObject(includeInstance, f),
-    network: (f = msg.getNetwork()) && proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network.toObject(includeInstance, f),
-    stateSync: (f = msg.getStateSync()) && proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.toObject(includeInstance, f),
-    time: (f = msg.getTime()) && proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.toObject(includeInstance, f)
-  };
-
-  if (includeInstance) {
-    obj.$jspbMessageInstance = msg;
-  }
-  return obj;
+proto.org.dash.platform.dapi.v0.GetStatusResponse.prototype.clearV0 = function() {
+  return this.setV0(undefined);
 };
-}
 
 
 /**
- * Deserializes binary data (in protobuf wire format).
- * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0}
+ * Returns whether this field is set.
+ * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.deserializeBinary = function(bytes) {
-  var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0;
-  return proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.deserializeBinaryFromReader(msg, reader);
+proto.org.dash.platform.dapi.v0.GetStatusResponse.prototype.hasV0 = 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.GetStatusResponse.GetStatusResponseV0} msg The message object to deserialize into.
- * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0}
+ * 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.GetStatusResponse.GetStatusResponseV0.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.GetStatusResponse.GetStatusResponseV0.Version;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.deserializeBinaryFromReader);
-      msg.setVersion(value);
-      break;
-    case 2:
-      var value = new proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.deserializeBinaryFromReader);
-      msg.setNode(value);
-      break;
-    case 3:
-      var value = new proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.deserializeBinaryFromReader);
-      msg.setChain(value);
-      break;
-    case 4:
-      var value = new proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network.deserializeBinaryFromReader);
-      msg.setNetwork(value);
-      break;
-    case 5:
-      var value = new proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.deserializeBinaryFromReader);
-      msg.setStateSync(value);
-      break;
-    case 6:
-      var value = new proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.deserializeBinaryFromReader);
-      msg.setTime(value);
-      break;
-    default:
-      reader.skipField();
-      break;
-    }
-  }
-  return msg;
-};
-
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.oneofGroups_ = [[1]];
 
 /**
- * Serializes the message to binary data (in protobuf wire format).
- * @return {!Uint8Array}
+ * @enum {number}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.serializeBinary = function() {
-  var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.serializeBinaryToWriter(this, writer);
-  return writer.getResultBuffer();
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.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.GetStatusResponse.GetStatusResponseV0} message
- * @param {!jspb.BinaryWriter} writer
- * @suppress {unusedLocalVariables} f is only used for nested messages
+ * @return {proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.VersionCase}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.serializeBinaryToWriter = function(message, writer) {
-  var f = undefined;
-  f = message.getVersion();
-  if (f != null) {
-    writer.writeMessage(
-      1,
-      f,
-      proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.serializeBinaryToWriter
-    );
-  }
-  f = message.getNode();
-  if (f != null) {
-    writer.writeMessage(
-      2,
-      f,
-      proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.serializeBinaryToWriter
-    );
-  }
-  f = message.getChain();
-  if (f != null) {
-    writer.writeMessage(
-      3,
-      f,
-      proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.serializeBinaryToWriter
-    );
-  }
-  f = message.getNetwork();
-  if (f != null) {
-    writer.writeMessage(
-      4,
-      f,
-      proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network.serializeBinaryToWriter
-    );
-  }
-  f = message.getStateSync();
-  if (f != null) {
-    writer.writeMessage(
-      5,
-      f,
-      proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.serializeBinaryToWriter
-    );
-  }
-  f = message.getTime();
-  if (f != null) {
-    writer.writeMessage(
-      6,
-      f,
-      proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.serializeBinaryToWriter
-    );
-  }
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.prototype.getVersionCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.oneofGroups_[0]));
 };
 
 
 
-
-
 if (jspb.Message.GENERATE_TO_OBJECT) {
 /**
  * Creates an object representation of this proto.
@@ -41400,8 +47716,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.toObject(opt_includeInstance, this);
 };
 
 
@@ -41410,14 +47726,13 @@ proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.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.GetStatusResponse.GetStatusResponseV0.Version} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.toObject = function(includeInstance, msg) {
   var f, obj = {
-    software: (f = msg.getSoftware()) && proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.toObject(includeInstance, f),
-    protocol: (f = msg.getProtocol()) && proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.toObject(includeInstance, f)
+    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0.toObject(includeInstance, f)
   };
 
   if (includeInstance) {
@@ -41431,23 +47746,23 @@ proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.to
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version}
+ * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version;
-  return proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest;
+  return proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version}
+ * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -41455,14 +47770,9 @@ proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.de
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.deserializeBinaryFromReader);
-      msg.setSoftware(value);
-      break;
-    case 2:
-      var value = new proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.deserializeBinaryFromReader);
-      msg.setProtocol(value);
+      var value = new proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0.deserializeBinaryFromReader);
+      msg.setV0(value);
       break;
     default:
       reader.skipField();
@@ -41477,9 +47787,9 @@ proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.de
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -41487,26 +47797,18 @@ proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.pr
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getSoftware();
+  f = message.getV0();
   if (f != null) {
     writer.writeMessage(
       1,
       f,
-      proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.serializeBinaryToWriter
-    );
-  }
-  f = message.getProtocol();
-  if (f != null) {
-    writer.writeMessage(
-      2,
-      f,
-      proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0.serializeBinaryToWriter
     );
   }
 };
@@ -41528,8 +47830,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0.toObject(opt_includeInstance, this);
 };
 
 
@@ -41538,15 +47840,13 @@ proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.So
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0.toObject = function(includeInstance, msg) {
   var f, obj = {
-    dapi: jspb.Message.getFieldWithDefault(msg, 1, ""),
-    drive: jspb.Message.getFieldWithDefault(msg, 2, ""),
-    tenderdash: jspb.Message.getFieldWithDefault(msg, 3, "")
+
   };
 
   if (includeInstance) {
@@ -41560,41 +47860,29 @@ proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.So
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software}
+ * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software;
-  return proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0;
+  return proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software}
+ * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0.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.setDapi(value);
-      break;
-    case 2:
-      var value = /** @type {string} */ (reader.readString());
-      msg.setDrive(value);
-      break;
-    case 3:
-      var value = /** @type {string} */ (reader.readString());
-      msg.setTenderdash(value);
-      break;
     default:
       reader.skipField();
       break;
@@ -41608,9 +47896,9 @@ proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.So
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -41618,78 +47906,40 @@ proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.So
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software} message
- * @param {!jspb.BinaryWriter} writer
- * @suppress {unusedLocalVariables} f is only used for nested messages
- */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.serializeBinaryToWriter = function(message, writer) {
-  var f = undefined;
-  f = message.getDapi();
-  if (f.length > 0) {
-    writer.writeString(
-      1,
-      f
-    );
-  }
-  f = /** @type {string} */ (jspb.Message.getField(message, 2));
-  if (f != null) {
-    writer.writeString(
-      2,
-      f
-    );
-  }
-  f = /** @type {string} */ (jspb.Message.getField(message, 3));
-  if (f != null) {
-    writer.writeString(
-      3,
-      f
-    );
-  }
-};
-
-
-/**
- * optional string dapi = 1;
- * @return {string}
- */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.prototype.getDapi = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
-};
-
-
-/**
- * @param {string} value
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software} returns this
+ * @param {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0} message
+ * @param {!jspb.BinaryWriter} writer
+ * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.prototype.setDapi = function(value) {
-  return jspb.Message.setProto3StringField(this, 1, value);
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0.serializeBinaryToWriter = function(message, writer) {
+  var f = undefined;
 };
 
 
 /**
- * optional string drive = 2;
- * @return {string}
+ * optional GetCurrentQuorumsInfoRequestV0 v0 = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.prototype.getDrive = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.prototype.getV0 = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0, 1));
 };
 
 
 /**
- * @param {string} value
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software} returns this
- */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.prototype.setDrive = function(value) {
-  return jspb.Message.setField(this, 2, value);
+ * @param {?proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.prototype.setV0 = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.oneofGroups_[0], value);
 };
 
 
 /**
- * Clears the field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software} returns this
+ * Clears the message field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest} returns this
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.prototype.clearDrive = function() {
-  return jspb.Message.setField(this, 2, undefined);
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.prototype.clearV0 = function() {
+  return this.setV0(undefined);
 };
 
 
@@ -41697,50 +47947,39 @@ proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.So
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.prototype.hasDrive = function() {
-  return jspb.Message.getField(this, 2) != null;
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.prototype.hasV0 = function() {
+  return jspb.Message.getField(this, 1) != null;
 };
 
 
-/**
- * optional string tenderdash = 3;
- * @return {string}
- */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.prototype.getTenderdash = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, ""));
-};
-
 
 /**
- * @param {string} value
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software} 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.GetStatusResponse.GetStatusResponseV0.Version.Software.prototype.setTenderdash = function(value) {
-  return jspb.Message.setField(this, 3, value);
-};
-
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.oneofGroups_ = [[1]];
 
 /**
- * Clears the field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software} returns this
+ * @enum {number}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.prototype.clearTenderdash = function() {
-  return jspb.Message.setField(this, 3, undefined);
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.VersionCase = {
+  VERSION_NOT_SET: 0,
+  V0: 1
 };
 
-
 /**
- * Returns whether this field is set.
- * @return {boolean}
+ * @return {proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.VersionCase}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.prototype.hasTenderdash = function() {
-  return jspb.Message.getField(this, 3) != null;
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.prototype.getVersionCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.oneofGroups_[0]));
 };
 
 
 
-
-
 if (jspb.Message.GENERATE_TO_OBJECT) {
 /**
  * Creates an object representation of this proto.
@@ -41754,8 +47993,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.toObject(opt_includeInstance, this);
 };
 
 
@@ -41764,14 +48003,13 @@ proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.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.GetStatusResponse.GetStatusResponseV0.Version.Protocol} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.toObject = function(includeInstance, msg) {
   var f, obj = {
-    tenderdash: (f = msg.getTenderdash()) && proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash.toObject(includeInstance, f),
-    drive: (f = msg.getDrive()) && proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive.toObject(includeInstance, f)
+    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.toObject(includeInstance, f)
   };
 
   if (includeInstance) {
@@ -41785,23 +48023,23 @@ proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Pr
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol}
+ * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol;
-  return proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse;
+  return proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol}
+ * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -41809,14 +48047,9 @@ proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Pr
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash.deserializeBinaryFromReader);
-      msg.setTenderdash(value);
-      break;
-    case 2:
-      var value = new proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive.deserializeBinaryFromReader);
-      msg.setDrive(value);
+      var value = new proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.deserializeBinaryFromReader);
+      msg.setV0(value);
       break;
     default:
       reader.skipField();
@@ -41831,9 +48064,9 @@ proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Pr
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -41841,26 +48074,18 @@ proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Pr
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getTenderdash();
+  f = message.getV0();
   if (f != null) {
     writer.writeMessage(
       1,
       f,
-      proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash.serializeBinaryToWriter
-    );
-  }
-  f = message.getDrive();
-  if (f != null) {
-    writer.writeMessage(
-      2,
-      f,
-      proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.serializeBinaryToWriter
     );
   }
 };
@@ -41882,8 +48107,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.toObject(opt_includeInstance, this);
 };
 
 
@@ -41892,14 +48117,15 @@ proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.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.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.toObject = function(includeInstance, msg) {
   var f, obj = {
-    p2p: jspb.Message.getFieldWithDefault(msg, 1, 0),
-    block: jspb.Message.getFieldWithDefault(msg, 2, 0)
+    proTxHash: msg.getProTxHash_asB64(),
+    nodeIp: jspb.Message.getFieldWithDefault(msg, 2, ""),
+    isBanned: jspb.Message.getBooleanFieldWithDefault(msg, 3, false)
   };
 
   if (includeInstance) {
@@ -41913,23 +48139,23 @@ proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Pr
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash}
+ * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash;
-  return proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0;
+  return proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash}
+ * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -41937,12 +48163,16 @@ proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Pr
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = /** @type {number} */ (reader.readUint32());
-      msg.setP2p(value);
+      var value = /** @type {!Uint8Array} */ (reader.readBytes());
+      msg.setProTxHash(value);
       break;
     case 2:
-      var value = /** @type {number} */ (reader.readUint32());
-      msg.setBlock(value);
+      var value = /** @type {string} */ (reader.readString());
+      msg.setNodeIp(value);
+      break;
+    case 3:
+      var value = /** @type {boolean} */ (reader.readBool());
+      msg.setIsBanned(value);
       break;
     default:
       reader.skipField();
@@ -41957,9 +48187,9 @@ proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Pr
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -41967,66 +48197,122 @@ proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Pr
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getP2p();
-  if (f !== 0) {
-    writer.writeUint32(
+  f = message.getProTxHash_asU8();
+  if (f.length > 0) {
+    writer.writeBytes(
       1,
       f
     );
   }
-  f = message.getBlock();
-  if (f !== 0) {
-    writer.writeUint32(
+  f = message.getNodeIp();
+  if (f.length > 0) {
+    writer.writeString(
       2,
       f
     );
   }
+  f = message.getIsBanned();
+  if (f) {
+    writer.writeBool(
+      3,
+      f
+    );
+  }
 };
 
 
 /**
- * optional uint32 p2p = 1;
- * @return {number}
+ * optional bytes pro_tx_hash = 1;
+ * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash.prototype.getP2p = function() {
-  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.prototype.getProTxHash = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
 };
 
 
 /**
- * @param {number} value
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash} returns this
+ * optional bytes pro_tx_hash = 1;
+ * This is a type-conversion wrapper around `getProTxHash()`
+ * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash.prototype.setP2p = function(value) {
-  return jspb.Message.setProto3IntField(this, 1, value);
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.prototype.getProTxHash_asB64 = function() {
+  return /** @type {string} */ (jspb.Message.bytesAsB64(
+      this.getProTxHash()));
 };
 
 
 /**
- * optional uint32 block = 2;
- * @return {number}
+ * 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.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash.prototype.getBlock = function() {
-  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.prototype.getProTxHash_asU8 = function() {
+  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
+      this.getProTxHash()));
 };
 
 
 /**
- * @param {number} value
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash} returns this
+ * @param {!(string|Uint8Array)} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash.prototype.setBlock = function(value) {
-  return jspb.Message.setProto3IntField(this, 2, value);
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.prototype.setProTxHash = function(value) {
+  return jspb.Message.setProto3BytesField(this, 1, value);
+};
+
+
+/**
+ * optional string node_ip = 2;
+ * @return {string}
+ */
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.prototype.getNodeIp = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
+};
+
+
+/**
+ * @param {string} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.prototype.setNodeIp = function(value) {
+  return jspb.Message.setProto3StringField(this, 2, value);
+};
+
+
+/**
+ * optional bool is_banned = 3;
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.prototype.getIsBanned = function() {
+  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 3, false));
+};
+
+
+/**
+ * @param {boolean} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.prototype.setIsBanned = function(value) {
+  return jspb.Message.setProto3BooleanField(this, 3, value);
 };
 
 
 
+/**
+ * List of repeated fields within this message type.
+ * @private {!Array}
+ * @const
+ */
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.repeatedFields_ = [3];
+
 
 
 if (jspb.Message.GENERATE_TO_OBJECT) {
@@ -42042,8 +48328,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.toObject(opt_includeInstance, this);
 };
 
 
@@ -42052,14 +48338,17 @@ proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.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.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.toObject = function(includeInstance, msg) {
   var f, obj = {
-    latest: jspb.Message.getFieldWithDefault(msg, 3, 0),
-    current: jspb.Message.getFieldWithDefault(msg, 4, 0)
+    quorumHash: msg.getQuorumHash_asB64(),
+    coreHeight: jspb.Message.getFieldWithDefault(msg, 2, 0),
+    membersList: jspb.Message.toObjectList(msg.getMembersList(),
+    proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.toObject, includeInstance),
+    thresholdPublicKey: msg.getThresholdPublicKey_asB64()
   };
 
   if (includeInstance) {
@@ -42073,36 +48362,45 @@ proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Pr
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive}
+ * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive;
-  return proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0;
+  return proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive}
+ * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
     }
     var field = reader.getFieldNumber();
     switch (field) {
-    case 3:
+    case 1:
+      var value = /** @type {!Uint8Array} */ (reader.readBytes());
+      msg.setQuorumHash(value);
+      break;
+    case 2:
       var value = /** @type {number} */ (reader.readUint32());
-      msg.setLatest(value);
+      msg.setCoreHeight(value);
+      break;
+    case 3:
+      var value = new proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.deserializeBinaryFromReader);
+      msg.addMembers(value);
       break;
     case 4:
-      var value = /** @type {number} */ (reader.readUint32());
-      msg.setCurrent(value);
+      var value = /** @type {!Uint8Array} */ (reader.readBytes());
+      msg.setThresholdPublicKey(value);
       break;
     default:
       reader.skipField();
@@ -42117,9 +48415,9 @@ proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Pr
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -42127,22 +48425,37 @@ proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Pr
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getLatest();
-  if (f !== 0) {
-    writer.writeUint32(
-      3,
+  f = message.getQuorumHash_asU8();
+  if (f.length > 0) {
+    writer.writeBytes(
+      1,
       f
     );
   }
-  f = message.getCurrent();
+  f = message.getCoreHeight();
   if (f !== 0) {
     writer.writeUint32(
+      2,
+      f
+    );
+  }
+  f = message.getMembersList();
+  if (f.length > 0) {
+    writer.writeRepeatedMessage(
+      3,
+      f,
+      proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.serializeBinaryToWriter
+    );
+  }
+  f = message.getThresholdPublicKey_asU8();
+  if (f.length > 0) {
+    writer.writeBytes(
       4,
       f
     );
@@ -42151,189 +48464,152 @@ proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Pr
 
 
 /**
- * optional uint32 latest = 3;
- * @return {number}
- */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive.prototype.getLatest = function() {
-  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));
-};
-
-
-/**
- * @param {number} value
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive} returns this
+ * optional bytes quorum_hash = 1;
+ * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive.prototype.setLatest = function(value) {
-  return jspb.Message.setProto3IntField(this, 3, value);
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.prototype.getQuorumHash = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
 };
 
 
 /**
- * optional uint32 current = 4;
- * @return {number}
+ * optional bytes quorum_hash = 1;
+ * This is a type-conversion wrapper around `getQuorumHash()`
+ * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive.prototype.getCurrent = function() {
-  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0));
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.prototype.getQuorumHash_asB64 = function() {
+  return /** @type {string} */ (jspb.Message.bytesAsB64(
+      this.getQuorumHash()));
 };
 
 
 /**
- * @param {number} value
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive} returns this
+ * optional bytes quorum_hash = 1;
+ * 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.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive.prototype.setCurrent = function(value) {
-  return jspb.Message.setProto3IntField(this, 4, value);
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.prototype.getQuorumHash_asU8 = function() {
+  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
+      this.getQuorumHash()));
 };
 
 
 /**
- * optional Tenderdash tenderdash = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash}
+ * @param {!(string|Uint8Array)} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.prototype.getTenderdash = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash, 1));
-};
-
-
-/**
- * @param {?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol} returns this
-*/
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.prototype.setTenderdash = function(value) {
-  return jspb.Message.setWrapperField(this, 1, value);
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.prototype.setQuorumHash = function(value) {
+  return jspb.Message.setProto3BytesField(this, 1, value);
 };
 
 
 /**
- * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol} returns this
+ * optional uint32 core_height = 2;
+ * @return {number}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.prototype.clearTenderdash = function() {
-  return this.setTenderdash(undefined);
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.prototype.getCoreHeight = function() {
+  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
 };
 
 
 /**
- * Returns whether this field is set.
- * @return {boolean}
+ * @param {number} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.prototype.hasTenderdash = function() {
-  return jspb.Message.getField(this, 1) != null;
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.prototype.setCoreHeight = function(value) {
+  return jspb.Message.setProto3IntField(this, 2, value);
 };
 
 
 /**
- * optional Drive drive = 2;
- * @return {?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive}
+ * repeated ValidatorV0 members = 3;
+ * @return {!Array}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.prototype.getDrive = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive, 2));
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.prototype.getMembersList = function() {
+  return /** @type{!Array} */ (
+    jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0, 3));
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol} returns this
+ * @param {!Array} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0} returns this
 */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.prototype.setDrive = function(value) {
-  return jspb.Message.setWrapperField(this, 2, value);
-};
-
-
-/**
- * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol} returns this
- */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.prototype.clearDrive = function() {
-  return this.setDrive(undefined);
-};
-
-
-/**
- * Returns whether this field is set.
- * @return {boolean}
- */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.prototype.hasDrive = function() {
-  return jspb.Message.getField(this, 2) != null;
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.prototype.setMembersList = function(value) {
+  return jspb.Message.setRepeatedWrapperField(this, 3, value);
 };
 
 
 /**
- * optional Software software = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software}
+ * @param {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0=} opt_value
+ * @param {number=} opt_index
+ * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.prototype.getSoftware = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software, 1));
-};
-
-
-/**
- * @param {?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version} returns this
-*/
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.prototype.setSoftware = function(value) {
-  return jspb.Message.setWrapperField(this, 1, value);
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.prototype.addMembers = function(opt_value, opt_index) {
+  return jspb.Message.addToRepeatedWrapperField(this, 3, opt_value, proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0, opt_index);
 };
 
 
 /**
- * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version} returns this
+ * Clears the list making it empty but non-null.
+ * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.prototype.clearSoftware = function() {
-  return this.setSoftware(undefined);
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.prototype.clearMembersList = function() {
+  return this.setMembersList([]);
 };
 
 
 /**
- * Returns whether this field is set.
- * @return {boolean}
+ * optional bytes threshold_public_key = 4;
+ * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.prototype.hasSoftware = function() {
-  return jspb.Message.getField(this, 1) != null;
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.prototype.getThresholdPublicKey = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, ""));
 };
 
 
 /**
- * optional Protocol protocol = 2;
- * @return {?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol}
+ * optional bytes threshold_public_key = 4;
+ * This is a type-conversion wrapper around `getThresholdPublicKey()`
+ * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.prototype.getProtocol = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol, 2));
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.prototype.getThresholdPublicKey_asB64 = function() {
+  return /** @type {string} */ (jspb.Message.bytesAsB64(
+      this.getThresholdPublicKey()));
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version} returns this
-*/
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.prototype.setProtocol = function(value) {
-  return jspb.Message.setWrapperField(this, 2, value);
+ * optional bytes threshold_public_key = 4;
+ * Note that Uint8Array is not supported on all browsers.
+ * @see http://caniuse.com/Uint8Array
+ * This is a type-conversion wrapper around `getThresholdPublicKey()`
+ * @return {!Uint8Array}
+ */
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.prototype.getThresholdPublicKey_asU8 = function() {
+  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
+      this.getThresholdPublicKey()));
 };
 
 
 /**
- * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version} returns this
+ * @param {!(string|Uint8Array)} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.prototype.clearProtocol = function() {
-  return this.setProtocol(undefined);
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.prototype.setThresholdPublicKey = function(value) {
+  return jspb.Message.setProto3BytesField(this, 4, value);
 };
 
 
+
 /**
- * Returns whether this field is set.
- * @return {boolean}
+ * List of repeated fields within this message type.
+ * @private {!Array}
+ * @const
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.prototype.hasProtocol = function() {
-  return jspb.Message.getField(this, 2) != null;
-};
-
-
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.repeatedFields_ = [1,3];
 
 
 
@@ -42350,8 +48626,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.toObject(opt_includeInstance, this);
 };
 
 
@@ -42360,16 +48636,18 @@ proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.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.GetStatusResponse.GetStatusResponseV0.Time} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.toObject = function(includeInstance, msg) {
   var f, obj = {
-    local: jspb.Message.getFieldWithDefault(msg, 1, "0"),
-    block: jspb.Message.getFieldWithDefault(msg, 2, "0"),
-    genesis: jspb.Message.getFieldWithDefault(msg, 3, "0"),
-    epoch: jspb.Message.getFieldWithDefault(msg, 4, 0)
+    quorumHashesList: msg.getQuorumHashesList_asB64(),
+    currentQuorumHash: msg.getCurrentQuorumHash_asB64(),
+    validatorSetsList: jspb.Message.toObjectList(msg.getValidatorSetsList(),
+    proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.toObject, includeInstance),
+    lastBlockProposer: msg.getLastBlockProposer_asB64(),
+    metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f)
   };
 
   if (includeInstance) {
@@ -42383,23 +48661,23 @@ proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.toObj
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time}
+ * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time;
-  return proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0;
+  return proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time}
+ * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -42407,20 +48685,26 @@ proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.deser
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = /** @type {string} */ (reader.readUint64String());
-      msg.setLocal(value);
+      var value = /** @type {!Uint8Array} */ (reader.readBytes());
+      msg.addQuorumHashes(value);
       break;
     case 2:
-      var value = /** @type {string} */ (reader.readUint64String());
-      msg.setBlock(value);
+      var value = /** @type {!Uint8Array} */ (reader.readBytes());
+      msg.setCurrentQuorumHash(value);
       break;
     case 3:
-      var value = /** @type {string} */ (reader.readUint64String());
-      msg.setGenesis(value);
+      var value = new proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.deserializeBinaryFromReader);
+      msg.addValidatorSets(value);
       break;
     case 4:
-      var value = /** @type {number} */ (reader.readUint32());
-      msg.setEpoch(value);
+      var value = /** @type {!Uint8Array} */ (reader.readBytes());
+      msg.setLastBlockProposer(value);
+      break;
+    case 5:
+      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();
@@ -42435,9 +48719,9 @@ proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.deser
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -42445,396 +48729,456 @@ proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.proto
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getLocal();
-  if (parseInt(f, 10) !== 0) {
-    writer.writeUint64String(
+  f = message.getQuorumHashesList_asU8();
+  if (f.length > 0) {
+    writer.writeRepeatedBytes(
       1,
       f
     );
   }
-  f = /** @type {string} */ (jspb.Message.getField(message, 2));
-  if (f != null) {
-    writer.writeUint64String(
+  f = message.getCurrentQuorumHash_asU8();
+  if (f.length > 0) {
+    writer.writeBytes(
       2,
       f
     );
   }
-  f = /** @type {string} */ (jspb.Message.getField(message, 3));
-  if (f != null) {
-    writer.writeUint64String(
+  f = message.getValidatorSetsList();
+  if (f.length > 0) {
+    writer.writeRepeatedMessage(
       3,
-      f
+      f,
+      proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.serializeBinaryToWriter
     );
   }
-  f = /** @type {number} */ (jspb.Message.getField(message, 4));
-  if (f != null) {
-    writer.writeUint32(
+  f = message.getLastBlockProposer_asU8();
+  if (f.length > 0) {
+    writer.writeBytes(
       4,
       f
     );
   }
+  f = message.getMetadata();
+  if (f != null) {
+    writer.writeMessage(
+      5,
+      f,
+      proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter
+    );
+  }
 };
 
 
 /**
- * optional uint64 local = 1;
- * @return {string}
+ * repeated bytes quorum_hashes = 1;
+ * @return {!Array}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.prototype.getLocal = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "0"));
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.getQuorumHashesList = function() {
+  return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1));
 };
 
 
 /**
- * @param {string} value
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time} returns this
+ * repeated bytes quorum_hashes = 1;
+ * This is a type-conversion wrapper around `getQuorumHashesList()`
+ * @return {!Array}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.prototype.setLocal = function(value) {
-  return jspb.Message.setProto3StringIntField(this, 1, value);
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.getQuorumHashesList_asB64 = function() {
+  return /** @type {!Array} */ (jspb.Message.bytesListAsB64(
+      this.getQuorumHashesList()));
 };
 
 
 /**
- * optional uint64 block = 2;
- * @return {string}
+ * repeated bytes quorum_hashes = 1;
+ * Note that Uint8Array is not supported on all browsers.
+ * @see http://caniuse.com/Uint8Array
+ * This is a type-conversion wrapper around `getQuorumHashesList()`
+ * @return {!Array}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.prototype.getBlock = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "0"));
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.getQuorumHashesList_asU8 = function() {
+  return /** @type {!Array} */ (jspb.Message.bytesListAsU8(
+      this.getQuorumHashesList()));
 };
 
 
 /**
- * @param {string} value
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time} returns this
+ * @param {!(Array|Array)} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.prototype.setBlock = function(value) {
-  return jspb.Message.setField(this, 2, value);
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.setQuorumHashesList = function(value) {
+  return jspb.Message.setField(this, 1, value || []);
 };
 
 
 /**
- * Clears the field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time} returns this
+ * @param {!(string|Uint8Array)} value
+ * @param {number=} opt_index
+ * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.prototype.clearBlock = function() {
-  return jspb.Message.setField(this, 2, undefined);
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.addQuorumHashes = function(value, opt_index) {
+  return jspb.Message.addToRepeatedField(this, 1, value, 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.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.prototype.hasBlock = function() {
-  return jspb.Message.getField(this, 2) != null;
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.clearQuorumHashesList = function() {
+  return this.setQuorumHashesList([]);
 };
 
 
 /**
- * optional uint64 genesis = 3;
+ * optional bytes current_quorum_hash = 2;
  * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.prototype.getGenesis = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "0"));
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.getCurrentQuorumHash = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
 };
 
 
 /**
- * @param {string} value
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time} returns this
+ * optional bytes current_quorum_hash = 2;
+ * This is a type-conversion wrapper around `getCurrentQuorumHash()`
+ * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.prototype.setGenesis = function(value) {
-  return jspb.Message.setField(this, 3, value);
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.getCurrentQuorumHash_asB64 = function() {
+  return /** @type {string} */ (jspb.Message.bytesAsB64(
+      this.getCurrentQuorumHash()));
 };
 
 
 /**
- * Clears the field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time} returns this
+ * optional bytes current_quorum_hash = 2;
+ * Note that Uint8Array is not supported on all browsers.
+ * @see http://caniuse.com/Uint8Array
+ * This is a type-conversion wrapper around `getCurrentQuorumHash()`
+ * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.prototype.clearGenesis = function() {
-  return jspb.Message.setField(this, 3, undefined);
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.getCurrentQuorumHash_asU8 = function() {
+  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
+      this.getCurrentQuorumHash()));
 };
 
 
 /**
- * Returns whether this field is set.
- * @return {boolean}
+ * @param {!(string|Uint8Array)} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.prototype.hasGenesis = function() {
-  return jspb.Message.getField(this, 3) != null;
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.setCurrentQuorumHash = function(value) {
+  return jspb.Message.setProto3BytesField(this, 2, value);
 };
 
 
 /**
- * optional uint32 epoch = 4;
- * @return {number}
+ * repeated ValidatorSetV0 validator_sets = 3;
+ * @return {!Array}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.prototype.getEpoch = function() {
-  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0));
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.getValidatorSetsList = function() {
+  return /** @type{!Array} */ (
+    jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0, 3));
 };
 
 
 /**
- * @param {number} value
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time} returns this
+ * @param {!Array} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.setValidatorSetsList = function(value) {
+  return jspb.Message.setRepeatedWrapperField(this, 3, value);
+};
+
+
+/**
+ * @param {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0=} opt_value
+ * @param {number=} opt_index
+ * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.prototype.setEpoch = function(value) {
-  return jspb.Message.setField(this, 4, value);
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.addValidatorSets = function(opt_value, opt_index) {
+  return jspb.Message.addToRepeatedWrapperField(this, 3, opt_value, proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0, opt_index);
 };
 
 
 /**
- * Clears the field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time} returns this
+ * Clears the list making it empty but non-null.
+ * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.prototype.clearEpoch = function() {
-  return jspb.Message.setField(this, 4, undefined);
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.clearValidatorSetsList = function() {
+  return this.setValidatorSetsList([]);
 };
 
 
 /**
- * Returns whether this field is set.
- * @return {boolean}
+ * optional bytes last_block_proposer = 4;
+ * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.prototype.hasEpoch = function() {
-  return jspb.Message.getField(this, 4) != null;
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.getLastBlockProposer = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, ""));
 };
 
 
+/**
+ * optional bytes last_block_proposer = 4;
+ * This is a type-conversion wrapper around `getLastBlockProposer()`
+ * @return {string}
+ */
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.getLastBlockProposer_asB64 = function() {
+  return /** @type {string} */ (jspb.Message.bytesAsB64(
+      this.getLastBlockProposer()));
+};
 
 
+/**
+ * optional bytes last_block_proposer = 4;
+ * Note that Uint8Array is not supported on all browsers.
+ * @see http://caniuse.com/Uint8Array
+ * This is a type-conversion wrapper around `getLastBlockProposer()`
+ * @return {!Uint8Array}
+ */
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.getLastBlockProposer_asU8 = function() {
+  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
+      this.getLastBlockProposer()));
+};
+
 
-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 {!(string|Uint8Array)} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.setLastBlockProposer = function(value) {
+  return jspb.Message.setProto3BytesField(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.GetStatusResponse.GetStatusResponseV0.Node} msg The msg instance to transform.
- * @return {!Object}
- * @suppress {unusedLocalVariables} f is only used for nested messages
+ * optional ResponseMetadata metadata = 5;
+ * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.toObject = function(includeInstance, msg) {
-  var f, obj = {
-    id: msg.getId_asB64(),
-    proTxHash: msg.getProTxHash_asB64()
-  };
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.getMetadata = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 5));
+};
 
-  if (includeInstance) {
-    obj.$jspbMessageInstance = msg;
-  }
-  return obj;
+
+/**
+ * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.setMetadata = function(value) {
+  return jspb.Message.setWrapperField(this, 5, value);
 };
-}
 
 
 /**
- * Deserializes binary data (in protobuf wire format).
- * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node}
+ * Clears the message field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.deserializeBinary = function(bytes) {
-  var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node;
-  return proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.deserializeBinaryFromReader(msg, reader);
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.clearMetadata = function() {
+  return this.setMetadata(undefined);
 };
 
 
 /**
- * Deserializes binary data (in protobuf wire format) from the
- * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node} msg The message object to deserialize into.
- * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node}
+ * Returns whether this field is set.
+ * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.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 {!Uint8Array} */ (reader.readBytes());
-      msg.setProTxHash(value);
-      break;
-    default:
-      reader.skipField();
-      break;
-    }
-  }
-  return msg;
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.hasMetadata = function() {
+  return jspb.Message.getField(this, 5) != null;
 };
 
 
 /**
- * Serializes the message to binary data (in protobuf wire format).
- * @return {!Uint8Array}
+ * optional GetCurrentQuorumsInfoResponseV0 v0 = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.prototype.serializeBinary = function() {
-  var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.serializeBinaryToWriter(this, writer);
-  return writer.getResultBuffer();
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.prototype.getV0 = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0, 1));
 };
 
 
 /**
- * Serializes the given message to binary data (in protobuf wire
- * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node} message
- * @param {!jspb.BinaryWriter} writer
- * @suppress {unusedLocalVariables} f is only used for nested messages
- */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.serializeBinaryToWriter = function(message, writer) {
-  var f = undefined;
-  f = message.getId_asU8();
-  if (f.length > 0) {
-    writer.writeBytes(
-      1,
-      f
-    );
-  }
-  f = /** @type {!(string|Uint8Array)} */ (jspb.Message.getField(message, 2));
-  if (f != null) {
-    writer.writeBytes(
-      2,
-      f
-    );
-  }
+ * @param {?proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.prototype.setV0 = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.oneofGroups_[0], value);
 };
 
 
 /**
- * optional bytes id = 1;
- * @return {string}
+ * Clears the message field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse} returns this
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.prototype.getId = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.prototype.clearV0 = function() {
+  return this.setV0(undefined);
 };
 
 
 /**
- * optional bytes id = 1;
- * This is a type-conversion wrapper around `getId()`
- * @return {string}
+ * Returns whether this field is set.
+ * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.prototype.getId_asB64 = function() {
-  return /** @type {string} */ (jspb.Message.bytesAsB64(
-      this.getId()));
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.prototype.hasV0 = function() {
+  return jspb.Message.getField(this, 1) != null;
 };
 
 
+
 /**
- * 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}
+ * 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.GetStatusResponse.GetStatusResponseV0.Node.prototype.getId_asU8 = function() {
-  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
-      this.getId()));
-};
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.oneofGroups_ = [[1]];
 
+/**
+ * @enum {number}
+ */
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.VersionCase = {
+  VERSION_NOT_SET: 0,
+  V0: 1
+};
 
 /**
- * @param {!(string|Uint8Array)} value
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node} returns this
+ * @return {proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.VersionCase}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.prototype.setId = function(value) {
-  return jspb.Message.setProto3BytesField(this, 1, value);
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.prototype.getVersionCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.oneofGroups_[0]));
 };
 
 
+
+if (jspb.Message.GENERATE_TO_OBJECT) {
 /**
- * optional bytes pro_tx_hash = 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.GetStatusResponse.GetStatusResponseV0.Node.prototype.getProTxHash = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.toObject(opt_includeInstance, this);
 };
 
 
 /**
- * optional bytes pro_tx_hash = 2;
- * This is a type-conversion wrapper around `getProTxHash()`
- * @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.GetIdentityTokenBalancesRequest} msg The msg instance to transform.
+ * @return {!Object}
+ * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.prototype.getProTxHash_asB64 = function() {
-  return /** @type {string} */ (jspb.Message.bytesAsB64(
-      this.getProTxHash()));
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.toObject = function(includeInstance, msg) {
+  var f, obj = {
+    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.toObject(includeInstance, f)
+  };
+
+  if (includeInstance) {
+    obj.$jspbMessageInstance = msg;
+  }
+  return obj;
 };
+}
 
 
 /**
- * optional bytes pro_tx_hash = 2;
- * Note that Uint8Array is not supported on all browsers.
- * @see http://caniuse.com/Uint8Array
- * This is a type-conversion wrapper around `getProTxHash()`
- * @return {!Uint8Array}
+ * Deserializes binary data (in protobuf wire format).
+ * @param {jspb.ByteSource} bytes The bytes to deserialize.
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.prototype.getProTxHash_asU8 = function() {
-  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
-      this.getProTxHash()));
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.deserializeBinary = function(bytes) {
+  var reader = new jspb.BinaryReader(bytes);
+  var msg = new proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest;
+  return proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
- * @param {!(string|Uint8Array)} value
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node} 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.GetIdentityTokenBalancesRequest} msg The message object to deserialize into.
+ * @param {!jspb.BinaryReader} reader The BinaryReader to use.
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.prototype.setProTxHash = function(value) {
-  return jspb.Message.setField(this, 2, value);
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.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.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.deserializeBinaryFromReader);
+      msg.setV0(value);
+      break;
+    default:
+      reader.skipField();
+      break;
+    }
+  }
+  return msg;
 };
 
 
 /**
- * Clears the field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node} returns this
+ * Serializes the message to binary data (in protobuf wire format).
+ * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.prototype.clearProTxHash = function() {
-  return jspb.Message.setField(this, 2, undefined);
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.prototype.serializeBinary = function() {
+  var writer = new jspb.BinaryWriter();
+  proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.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.GetIdentityTokenBalancesRequest} message
+ * @param {!jspb.BinaryWriter} writer
+ * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.prototype.hasProTxHash = function() {
-  return jspb.Message.getField(this, 2) != null;
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.serializeBinaryToWriter = function(message, writer) {
+  var f = undefined;
+  f = message.getV0();
+  if (f != null) {
+    writer.writeMessage(
+      1,
+      f,
+      proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.serializeBinaryToWriter
+    );
+  }
 };
 
 
 
+/**
+ * List of repeated fields within this message type.
+ * @private {!Array}
+ * @const
+ */
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.repeatedFields_ = [2];
+
 
 
 if (jspb.Message.GENERATE_TO_OBJECT) {
@@ -42850,8 +49194,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.toObject(opt_includeInstance, this);
 };
 
 
@@ -42860,21 +49204,15 @@ proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.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.GetStatusResponse.GetStatusResponseV0.Chain} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.toObject = function(includeInstance, msg) {
   var f, obj = {
-    catchingUp: jspb.Message.getBooleanFieldWithDefault(msg, 1, false),
-    latestBlockHash: msg.getLatestBlockHash_asB64(),
-    latestAppHash: msg.getLatestAppHash_asB64(),
-    latestBlockHeight: jspb.Message.getFieldWithDefault(msg, 4, "0"),
-    earliestBlockHash: msg.getEarliestBlockHash_asB64(),
-    earliestAppHash: msg.getEarliestAppHash_asB64(),
-    earliestBlockHeight: jspb.Message.getFieldWithDefault(msg, 7, "0"),
-    maxPeerBlockHeight: jspb.Message.getFieldWithDefault(msg, 9, "0"),
-    coreChainLockedHeight: jspb.Message.getFieldWithDefault(msg, 10, 0)
+    identityId: msg.getIdentityId_asB64(),
+    tokenIdsList: msg.getTokenIdsList_asB64(),
+    prove: jspb.Message.getBooleanFieldWithDefault(msg, 3, false)
   };
 
   if (includeInstance) {
@@ -42888,23 +49226,23 @@ proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.toOb
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain}
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain;
-  return proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0;
+  return proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain}
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -42912,40 +49250,16 @@ proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.dese
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = /** @type {boolean} */ (reader.readBool());
-      msg.setCatchingUp(value);
+      var value = /** @type {!Uint8Array} */ (reader.readBytes());
+      msg.setIdentityId(value);
       break;
     case 2:
       var value = /** @type {!Uint8Array} */ (reader.readBytes());
-      msg.setLatestBlockHash(value);
+      msg.addTokenIds(value);
       break;
     case 3:
-      var value = /** @type {!Uint8Array} */ (reader.readBytes());
-      msg.setLatestAppHash(value);
-      break;
-    case 4:
-      var value = /** @type {string} */ (reader.readUint64String());
-      msg.setLatestBlockHeight(value);
-      break;
-    case 5:
-      var value = /** @type {!Uint8Array} */ (reader.readBytes());
-      msg.setEarliestBlockHash(value);
-      break;
-    case 6:
-      var value = /** @type {!Uint8Array} */ (reader.readBytes());
-      msg.setEarliestAppHash(value);
-      break;
-    case 7:
-      var value = /** @type {string} */ (reader.readUint64String());
-      msg.setEarliestBlockHeight(value);
-      break;
-    case 9:
-      var value = /** @type {string} */ (reader.readUint64String());
-      msg.setMaxPeerBlockHeight(value);
-      break;
-    case 10:
-      var value = /** @type {number} */ (reader.readUint32());
-      msg.setCoreChainLockedHeight(value);
+      var value = /** @type {boolean} */ (reader.readBool());
+      msg.setProve(value);
       break;
     default:
       reader.skipField();
@@ -42960,9 +49274,9 @@ proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.dese
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -42970,357 +49284,362 @@ proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prot
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getCatchingUp();
-  if (f) {
-    writer.writeBool(
+  f = message.getIdentityId_asU8();
+  if (f.length > 0) {
+    writer.writeBytes(
       1,
       f
     );
   }
-  f = message.getLatestBlockHash_asU8();
+  f = message.getTokenIdsList_asU8();
   if (f.length > 0) {
-    writer.writeBytes(
+    writer.writeRepeatedBytes(
       2,
       f
     );
   }
-  f = message.getLatestAppHash_asU8();
-  if (f.length > 0) {
-    writer.writeBytes(
+  f = message.getProve();
+  if (f) {
+    writer.writeBool(
       3,
       f
     );
   }
-  f = message.getLatestBlockHeight();
-  if (parseInt(f, 10) !== 0) {
-    writer.writeUint64String(
-      4,
-      f
-    );
-  }
-  f = message.getEarliestBlockHash_asU8();
-  if (f.length > 0) {
-    writer.writeBytes(
-      5,
-      f
-    );
-  }
-  f = message.getEarliestAppHash_asU8();
-  if (f.length > 0) {
-    writer.writeBytes(
-      6,
-      f
-    );
-  }
-  f = message.getEarliestBlockHeight();
-  if (parseInt(f, 10) !== 0) {
-    writer.writeUint64String(
-      7,
-      f
-    );
-  }
-  f = message.getMaxPeerBlockHeight();
-  if (parseInt(f, 10) !== 0) {
-    writer.writeUint64String(
-      9,
-      f
-    );
-  }
-  f = /** @type {number} */ (jspb.Message.getField(message, 10));
-  if (f != null) {
-    writer.writeUint32(
-      10,
-      f
-    );
-  }
-};
-
-
-/**
- * optional bool catching_up = 1;
- * @return {boolean}
- */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.getCatchingUp = function() {
-  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 1, false));
-};
-
-
-/**
- * @param {boolean} value
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain} returns this
- */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.setCatchingUp = function(value) {
-  return jspb.Message.setProto3BooleanField(this, 1, value);
 };
 
 
 /**
- * optional bytes latest_block_hash = 2;
+ * optional bytes identity_id = 1;
  * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.getLatestBlockHash = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.prototype.getIdentityId = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
 };
 
 
 /**
- * optional bytes latest_block_hash = 2;
- * This is a type-conversion wrapper around `getLatestBlockHash()`
+ * optional bytes identity_id = 1;
+ * This is a type-conversion wrapper around `getIdentityId()`
  * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.getLatestBlockHash_asB64 = function() {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.prototype.getIdentityId_asB64 = function() {
   return /** @type {string} */ (jspb.Message.bytesAsB64(
-      this.getLatestBlockHash()));
+      this.getIdentityId()));
 };
 
 
 /**
- * optional bytes latest_block_hash = 2;
+ * 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 `getLatestBlockHash()`
+ * This is a type-conversion wrapper around `getIdentityId()`
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.getLatestBlockHash_asU8 = function() {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.prototype.getIdentityId_asU8 = function() {
   return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
-      this.getLatestBlockHash()));
+      this.getIdentityId()));
 };
 
 
 /**
  * @param {!(string|Uint8Array)} value
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.setLatestBlockHash = function(value) {
-  return jspb.Message.setProto3BytesField(this, 2, value);
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.prototype.setIdentityId = function(value) {
+  return jspb.Message.setProto3BytesField(this, 1, value);
 };
 
 
 /**
- * optional bytes latest_app_hash = 3;
- * @return {string}
+ * repeated bytes token_ids = 2;
+ * @return {!Array}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.getLatestAppHash = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, ""));
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.prototype.getTokenIdsList = function() {
+  return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 2));
 };
 
 
 /**
- * optional bytes latest_app_hash = 3;
- * This is a type-conversion wrapper around `getLatestAppHash()`
- * @return {string}
+ * repeated bytes token_ids = 2;
+ * This is a type-conversion wrapper around `getTokenIdsList()`
+ * @return {!Array}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.getLatestAppHash_asB64 = function() {
-  return /** @type {string} */ (jspb.Message.bytesAsB64(
-      this.getLatestAppHash()));
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.prototype.getTokenIdsList_asB64 = function() {
+  return /** @type {!Array} */ (jspb.Message.bytesListAsB64(
+      this.getTokenIdsList()));
 };
 
 
 /**
- * optional bytes latest_app_hash = 3;
+ * repeated bytes token_ids = 2;
  * Note that Uint8Array is not supported on all browsers.
  * @see http://caniuse.com/Uint8Array
- * This is a type-conversion wrapper around `getLatestAppHash()`
- * @return {!Uint8Array}
+ * This is a type-conversion wrapper around `getTokenIdsList()`
+ * @return {!Array}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.getLatestAppHash_asU8 = function() {
-  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
-      this.getLatestAppHash()));
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.prototype.getTokenIdsList_asU8 = function() {
+  return /** @type {!Array} */ (jspb.Message.bytesListAsU8(
+      this.getTokenIdsList()));
 };
 
 
 /**
- * @param {!(string|Uint8Array)} value
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain} returns this
+ * @param {!(Array|Array)} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.setLatestAppHash = function(value) {
-  return jspb.Message.setProto3BytesField(this, 3, value);
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.prototype.setTokenIdsList = function(value) {
+  return jspb.Message.setField(this, 2, value || []);
 };
 
 
 /**
- * optional uint64 latest_block_height = 4;
- * @return {string}
+ * @param {!(string|Uint8Array)} value
+ * @param {number=} opt_index
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.getLatestBlockHeight = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, "0"));
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.prototype.addTokenIds = function(value, opt_index) {
+  return jspb.Message.addToRepeatedField(this, 2, value, opt_index);
 };
 
 
 /**
- * @param {string} value
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain} returns this
+ * Clears the list making it empty but non-null.
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.setLatestBlockHeight = function(value) {
-  return jspb.Message.setProto3StringIntField(this, 4, value);
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.prototype.clearTokenIdsList = function() {
+  return this.setTokenIdsList([]);
 };
 
 
 /**
- * optional bytes earliest_block_hash = 5;
- * @return {string}
+ * optional bool prove = 3;
+ * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.getEarliestBlockHash = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, ""));
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.prototype.getProve = function() {
+  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 3, false));
 };
 
 
 /**
- * optional bytes earliest_block_hash = 5;
- * This is a type-conversion wrapper around `getEarliestBlockHash()`
- * @return {string}
+ * @param {boolean} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.getEarliestBlockHash_asB64 = function() {
-  return /** @type {string} */ (jspb.Message.bytesAsB64(
-      this.getEarliestBlockHash()));
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.prototype.setProve = function(value) {
+  return jspb.Message.setProto3BooleanField(this, 3, value);
 };
 
 
 /**
- * optional bytes earliest_block_hash = 5;
- * Note that Uint8Array is not supported on all browsers.
- * @see http://caniuse.com/Uint8Array
- * This is a type-conversion wrapper around `getEarliestBlockHash()`
- * @return {!Uint8Array}
+ * optional GetIdentityTokenBalancesRequestV0 v0 = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.getEarliestBlockHash_asU8 = function() {
-  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
-      this.getEarliestBlockHash()));
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.prototype.getV0 = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0, 1));
 };
 
 
 /**
- * @param {!(string|Uint8Array)} value
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain} returns this
- */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.setEarliestBlockHash = function(value) {
-  return jspb.Message.setProto3BytesField(this, 5, value);
+ * @param {?proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.prototype.setV0 = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.oneofGroups_[0], value);
 };
 
 
 /**
- * optional bytes earliest_app_hash = 6;
- * @return {string}
+ * Clears the message field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest} returns this
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.getEarliestAppHash = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 6, ""));
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.prototype.clearV0 = function() {
+  return this.setV0(undefined);
 };
 
 
 /**
- * optional bytes earliest_app_hash = 6;
- * This is a type-conversion wrapper around `getEarliestAppHash()`
- * @return {string}
+ * Returns whether this field is set.
+ * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.getEarliestAppHash_asB64 = function() {
-  return /** @type {string} */ (jspb.Message.bytesAsB64(
-      this.getEarliestAppHash()));
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.prototype.hasV0 = function() {
+  return jspb.Message.getField(this, 1) != null;
 };
 
 
+
 /**
- * optional bytes earliest_app_hash = 6;
- * Note that Uint8Array is not supported on all browsers.
- * @see http://caniuse.com/Uint8Array
- * This is a type-conversion wrapper around `getEarliestAppHash()`
- * @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.GetStatusResponse.GetStatusResponseV0.Chain.prototype.getEarliestAppHash_asU8 = function() {
-  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
-      this.getEarliestAppHash()));
-};
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.oneofGroups_ = [[1]];
 
+/**
+ * @enum {number}
+ */
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.VersionCase = {
+  VERSION_NOT_SET: 0,
+  V0: 1
+};
 
 /**
- * @param {!(string|Uint8Array)} value
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain} returns this
+ * @return {proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.VersionCase}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.setEarliestAppHash = function(value) {
-  return jspb.Message.setProto3BytesField(this, 6, value);
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.prototype.getVersionCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.oneofGroups_[0]));
 };
 
 
+
+if (jspb.Message.GENERATE_TO_OBJECT) {
 /**
- * optional uint64 earliest_block_height = 7;
- * @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.GetStatusResponse.GetStatusResponseV0.Chain.prototype.getEarliestBlockHeight = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 7, "0"));
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.toObject(opt_includeInstance, this);
 };
 
 
 /**
- * @param {string} value
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain} 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.GetIdentityTokenBalancesResponse} msg The msg instance to transform.
+ * @return {!Object}
+ * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.setEarliestBlockHeight = function(value) {
-  return jspb.Message.setProto3StringIntField(this, 7, value);
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.toObject = function(includeInstance, msg) {
+  var f, obj = {
+    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.toObject(includeInstance, f)
+  };
+
+  if (includeInstance) {
+    obj.$jspbMessageInstance = msg;
+  }
+  return obj;
 };
+}
 
 
 /**
- * optional uint64 max_peer_block_height = 9;
- * @return {string}
+ * Deserializes binary data (in protobuf wire format).
+ * @param {jspb.ByteSource} bytes The bytes to deserialize.
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.getMaxPeerBlockHeight = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 9, "0"));
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.deserializeBinary = function(bytes) {
+  var reader = new jspb.BinaryReader(bytes);
+  var msg = new proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse;
+  return proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
- * @param {string} value
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain} 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.GetIdentityTokenBalancesResponse} msg The message object to deserialize into.
+ * @param {!jspb.BinaryReader} reader The BinaryReader to use.
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.setMaxPeerBlockHeight = function(value) {
-  return jspb.Message.setProto3StringIntField(this, 9, value);
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.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.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.deserializeBinaryFromReader);
+      msg.setV0(value);
+      break;
+    default:
+      reader.skipField();
+      break;
+    }
+  }
+  return msg;
 };
 
 
 /**
- * optional uint32 core_chain_locked_height = 10;
- * @return {number}
+ * Serializes the message to binary data (in protobuf wire format).
+ * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.getCoreChainLockedHeight = function() {
-  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 10, 0));
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.prototype.serializeBinary = function() {
+  var writer = new jspb.BinaryWriter();
+  proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.serializeBinaryToWriter(this, writer);
+  return writer.getResultBuffer();
 };
 
 
 /**
- * @param {number} value
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain} 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.GetIdentityTokenBalancesResponse} message
+ * @param {!jspb.BinaryWriter} writer
+ * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.setCoreChainLockedHeight = function(value) {
-  return jspb.Message.setField(this, 10, value);
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.serializeBinaryToWriter = function(message, writer) {
+  var f = undefined;
+  f = message.getV0();
+  if (f != null) {
+    writer.writeMessage(
+      1,
+      f,
+      proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.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.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.oneofGroups_ = [[1,2]];
+
 /**
- * Clears the field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain} returns this
+ * @enum {number}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.clearCoreChainLockedHeight = function() {
-  return jspb.Message.setField(this, 10, undefined);
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.ResultCase = {
+  RESULT_NOT_SET: 0,
+  TOKEN_BALANCES: 1,
+  PROOF: 2
 };
 
-
 /**
- * Returns whether this field is set.
- * @return {boolean}
+ * @return {proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.ResultCase}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.hasCoreChainLockedHeight = function() {
-  return jspb.Message.getField(this, 10) != null;
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.prototype.getResultCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.oneofGroups_[0]));
 };
 
 
 
-
-
 if (jspb.Message.GENERATE_TO_OBJECT) {
 /**
  * Creates an object representation of this proto.
@@ -43334,8 +49653,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.toObject(opt_includeInstance, this);
 };
 
 
@@ -43344,15 +49663,15 @@ proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network.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.GetStatusResponse.GetStatusResponseV0.Network} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.toObject = function(includeInstance, msg) {
   var f, obj = {
-    chainId: jspb.Message.getFieldWithDefault(msg, 1, ""),
-    peersCount: jspb.Message.getFieldWithDefault(msg, 2, 0),
-    listening: jspb.Message.getBooleanFieldWithDefault(msg, 3, false)
+    tokenBalances: (f = msg.getTokenBalances()) && proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances.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) {
@@ -43366,23 +49685,23 @@ proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network.to
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network}
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network;
-  return proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0;
+  return proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network}
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -43390,16 +49709,19 @@ proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network.de
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = /** @type {string} */ (reader.readString());
-      msg.setChainId(value);
+      var value = new proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances.deserializeBinaryFromReader);
+      msg.setTokenBalances(value);
       break;
     case 2:
-      var value = /** @type {number} */ (reader.readUint32());
-      msg.setPeersCount(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 {boolean} */ (reader.readBool());
-      msg.setListening(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();
@@ -43414,9 +49736,9 @@ proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network.de
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -43424,90 +49746,39 @@ proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network.pr
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getChainId();
-  if (f.length > 0) {
-    writer.writeString(
+  f = message.getTokenBalances();
+  if (f != null) {
+    writer.writeMessage(
       1,
-      f
+      f,
+      proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances.serializeBinaryToWriter
     );
   }
-  f = message.getPeersCount();
-  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.getListening();
-  if (f) {
-    writer.writeBool(
+  f = message.getMetadata();
+  if (f != null) {
+    writer.writeMessage(
       3,
-      f
+      f,
+      proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter
     );
   }
 };
 
 
-/**
- * optional string chain_id = 1;
- * @return {string}
- */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network.prototype.getChainId = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
-};
-
-
-/**
- * @param {string} value
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network} returns this
- */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network.prototype.setChainId = function(value) {
-  return jspb.Message.setProto3StringField(this, 1, value);
-};
-
-
-/**
- * optional uint32 peers_count = 2;
- * @return {number}
- */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network.prototype.getPeersCount = function() {
-  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
-};
-
-
-/**
- * @param {number} value
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network} returns this
- */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network.prototype.setPeersCount = function(value) {
-  return jspb.Message.setProto3IntField(this, 2, value);
-};
-
-
-/**
- * optional bool listening = 3;
- * @return {boolean}
- */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network.prototype.getListening = function() {
-  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 3, false));
-};
-
-
-/**
- * @param {boolean} value
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network} returns this
- */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network.prototype.setListening = function(value) {
-  return jspb.Message.setProto3BooleanField(this, 3, value);
-};
-
-
 
 
 
@@ -43524,8 +49795,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry.toObject(opt_includeInstance, this);
 };
 
 
@@ -43534,20 +49805,14 @@ proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry.toObject = function(includeInstance, msg) {
   var f, obj = {
-    totalSyncedTime: jspb.Message.getFieldWithDefault(msg, 1, "0"),
-    remainingTime: jspb.Message.getFieldWithDefault(msg, 2, "0"),
-    totalSnapshots: jspb.Message.getFieldWithDefault(msg, 3, 0),
-    chunkProcessAvgTime: jspb.Message.getFieldWithDefault(msg, 4, "0"),
-    snapshotHeight: jspb.Message.getFieldWithDefault(msg, 5, "0"),
-    snapshotChunksCount: jspb.Message.getFieldWithDefault(msg, 6, "0"),
-    backfilledBlocks: jspb.Message.getFieldWithDefault(msg, 7, "0"),
-    backfillBlocksTotal: jspb.Message.getFieldWithDefault(msg, 8, "0")
+    tokenId: msg.getTokenId_asB64(),
+    balance: jspb.Message.getFieldWithDefault(msg, 2, 0)
   };
 
   if (includeInstance) {
@@ -43561,23 +49826,23 @@ proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync}
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync;
-  return proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry;
+  return proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync}
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -43585,36 +49850,12 @@ proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = /** @type {string} */ (reader.readUint64String());
-      msg.setTotalSyncedTime(value);
+      var value = /** @type {!Uint8Array} */ (reader.readBytes());
+      msg.setTokenId(value);
       break;
     case 2:
-      var value = /** @type {string} */ (reader.readUint64String());
-      msg.setRemainingTime(value);
-      break;
-    case 3:
-      var value = /** @type {number} */ (reader.readUint32());
-      msg.setTotalSnapshots(value);
-      break;
-    case 4:
-      var value = /** @type {string} */ (reader.readUint64String());
-      msg.setChunkProcessAvgTime(value);
-      break;
-    case 5:
-      var value = /** @type {string} */ (reader.readUint64String());
-      msg.setSnapshotHeight(value);
-      break;
-    case 6:
-      var value = /** @type {string} */ (reader.readUint64String());
-      msg.setSnapshotChunksCount(value);
-      break;
-    case 7:
-      var value = /** @type {string} */ (reader.readUint64String());
-      msg.setBackfilledBlocks(value);
-      break;
-    case 8:
-      var value = /** @type {string} */ (reader.readUint64String());
-      msg.setBackfillBlocksTotal(value);
+      var value = /** @type {number} */ (reader.readUint64());
+      msg.setBalance(value);
       break;
     default:
       reader.skipField();
@@ -43629,9 +49870,9 @@ proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -43639,351 +49880,292 @@ proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getTotalSyncedTime();
-  if (parseInt(f, 10) !== 0) {
-    writer.writeUint64String(
+  f = message.getTokenId_asU8();
+  if (f.length > 0) {
+    writer.writeBytes(
       1,
       f
     );
   }
-  f = message.getRemainingTime();
-  if (parseInt(f, 10) !== 0) {
-    writer.writeUint64String(
+  f = /** @type {number} */ (jspb.Message.getField(message, 2));
+  if (f != null) {
+    writer.writeUint64(
       2,
       f
     );
   }
-  f = message.getTotalSnapshots();
-  if (f !== 0) {
-    writer.writeUint32(
-      3,
-      f
-    );
-  }
-  f = message.getChunkProcessAvgTime();
-  if (parseInt(f, 10) !== 0) {
-    writer.writeUint64String(
-      4,
-      f
-    );
-  }
-  f = message.getSnapshotHeight();
-  if (parseInt(f, 10) !== 0) {
-    writer.writeUint64String(
-      5,
-      f
-    );
-  }
-  f = message.getSnapshotChunksCount();
-  if (parseInt(f, 10) !== 0) {
-    writer.writeUint64String(
-      6,
-      f
-    );
-  }
-  f = message.getBackfilledBlocks();
-  if (parseInt(f, 10) !== 0) {
-    writer.writeUint64String(
-      7,
-      f
-    );
-  }
-  f = message.getBackfillBlocksTotal();
-  if (parseInt(f, 10) !== 0) {
-    writer.writeUint64String(
-      8,
-      f
-    );
-  }
 };
 
 
 /**
- * optional uint64 total_synced_time = 1;
+ * optional bytes token_id = 1;
  * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.prototype.getTotalSyncedTime = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "0"));
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry.prototype.getTokenId = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
 };
 
 
 /**
- * @param {string} value
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync} returns this
+ * optional bytes token_id = 1;
+ * This is a type-conversion wrapper around `getTokenId()`
+ * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.prototype.setTotalSyncedTime = function(value) {
-  return jspb.Message.setProto3StringIntField(this, 1, value);
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry.prototype.getTokenId_asB64 = function() {
+  return /** @type {string} */ (jspb.Message.bytesAsB64(
+      this.getTokenId()));
 };
 
 
 /**
- * optional uint64 remaining_time = 2;
- * @return {string}
+ * optional bytes token_id = 1;
+ * Note that Uint8Array is not supported on all browsers.
+ * @see http://caniuse.com/Uint8Array
+ * This is a type-conversion wrapper around `getTokenId()`
+ * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.prototype.getRemainingTime = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "0"));
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry.prototype.getTokenId_asU8 = function() {
+  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
+      this.getTokenId()));
 };
 
 
 /**
- * @param {string} value
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync} returns this
+ * @param {!(string|Uint8Array)} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry} returns this
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.prototype.setRemainingTime = function(value) {
-  return jspb.Message.setProto3StringIntField(this, 2, value);
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry.prototype.setTokenId = function(value) {
+  return jspb.Message.setProto3BytesField(this, 1, value);
 };
 
 
 /**
- * optional uint32 total_snapshots = 3;
+ * optional uint64 balance = 2;
  * @return {number}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.prototype.getTotalSnapshots = function() {
-  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry.prototype.getBalance = function() {
+  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
 };
 
 
 /**
  * @param {number} value
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync} returns this
- */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.prototype.setTotalSnapshots = function(value) {
-  return jspb.Message.setProto3IntField(this, 3, value);
-};
-
-
-/**
- * optional uint64 chunk_process_avg_time = 4;
- * @return {string}
- */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.prototype.getChunkProcessAvgTime = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, "0"));
-};
-
-
-/**
- * @param {string} value
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync} returns this
- */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.prototype.setChunkProcessAvgTime = function(value) {
-  return jspb.Message.setProto3StringIntField(this, 4, value);
-};
-
-
-/**
- * optional uint64 snapshot_height = 5;
- * @return {string}
- */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.prototype.getSnapshotHeight = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, "0"));
-};
-
-
-/**
- * @param {string} value
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry} returns this
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.prototype.setSnapshotHeight = function(value) {
-  return jspb.Message.setProto3StringIntField(this, 5, value);
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry.prototype.setBalance = function(value) {
+  return jspb.Message.setField(this, 2, value);
 };
 
 
 /**
- * optional uint64 snapshot_chunks_count = 6;
- * @return {string}
+ * Clears the field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry} returns this
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.prototype.getSnapshotChunksCount = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 6, "0"));
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry.prototype.clearBalance = function() {
+  return jspb.Message.setField(this, 2, undefined);
 };
 
 
 /**
- * @param {string} value
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync} returns this
+ * Returns whether this field is set.
+ * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.prototype.setSnapshotChunksCount = function(value) {
-  return jspb.Message.setProto3StringIntField(this, 6, value);
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry.prototype.hasBalance = function() {
+  return jspb.Message.getField(this, 2) != null;
 };
 
 
-/**
- * optional uint64 backfilled_blocks = 7;
- * @return {string}
- */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.prototype.getBackfilledBlocks = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 7, "0"));
-};
-
 
 /**
- * @param {string} value
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync} returns this
+ * List of repeated fields within this message type.
+ * @private {!Array}
+ * @const
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.prototype.setBackfilledBlocks = function(value) {
-  return jspb.Message.setProto3StringIntField(this, 7, value);
-};
-
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances.repeatedFields_ = [1];
 
-/**
- * optional uint64 backfill_blocks_total = 8;
- * @return {string}
- */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.prototype.getBackfillBlocksTotal = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 8, "0"));
-};
 
 
+if (jspb.Message.GENERATE_TO_OBJECT) {
 /**
- * @param {string} value
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync} 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.GetStatusResponse.GetStatusResponseV0.StateSync.prototype.setBackfillBlocksTotal = function(value) {
-  return jspb.Message.setProto3StringIntField(this, 8, value);
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances.toObject(opt_includeInstance, this);
 };
 
 
 /**
- * optional Version version = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version}
+ * 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.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances} msg The msg instance to transform.
+ * @return {!Object}
+ * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.getVersion = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version, 1));
-};
-
-
-/**
- * @param {?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0} returns this
-*/
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.setVersion = function(value) {
-  return jspb.Message.setWrapperField(this, 1, value);
-};
-
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances.toObject = function(includeInstance, msg) {
+  var f, obj = {
+    tokenBalancesList: jspb.Message.toObjectList(msg.getTokenBalancesList(),
+    proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry.toObject, includeInstance)
+  };
 
-/**
- * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0} returns this
- */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.clearVersion = function() {
-  return this.setVersion(undefined);
+  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.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.hasVersion = function() {
-  return jspb.Message.getField(this, 1) != null;
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances.deserializeBinary = function(bytes) {
+  var reader = new jspb.BinaryReader(bytes);
+  var msg = new proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances;
+  return proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
- * optional Node node = 2;
- * @return {?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node}
+ * Deserializes binary data (in protobuf wire format) from the
+ * given reader into the given message object.
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances} msg The message object to deserialize into.
+ * @param {!jspb.BinaryReader} reader The BinaryReader to use.
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.getNode = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node, 2));
-};
-
-
-/**
- * @param {?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0} returns this
-*/
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.setNode = function(value) {
-  return jspb.Message.setWrapperField(this, 2, value);
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances.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.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry.deserializeBinaryFromReader);
+      msg.addTokenBalances(value);
+      break;
+    default:
+      reader.skipField();
+      break;
+    }
+  }
+  return msg;
 };
 
 
 /**
- * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0} returns this
+ * Serializes the message to binary data (in protobuf wire format).
+ * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.clearNode = function() {
-  return this.setNode(undefined);
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances.prototype.serializeBinary = function() {
+  var writer = new jspb.BinaryWriter();
+  proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances.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.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances} message
+ * @param {!jspb.BinaryWriter} writer
+ * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.hasNode = function() {
-  return jspb.Message.getField(this, 2) != null;
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances.serializeBinaryToWriter = function(message, writer) {
+  var f = undefined;
+  f = message.getTokenBalancesList();
+  if (f.length > 0) {
+    writer.writeRepeatedMessage(
+      1,
+      f,
+      proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry.serializeBinaryToWriter
+    );
+  }
 };
 
 
 /**
- * optional Chain chain = 3;
- * @return {?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain}
+ * repeated TokenBalanceEntry token_balances = 1;
+ * @return {!Array}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.getChain = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain, 3));
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances.prototype.getTokenBalancesList = function() {
+  return /** @type{!Array} */ (
+    jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry, 1));
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0} returns this
+ * @param {!Array} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances} returns this
 */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.setChain = function(value) {
-  return jspb.Message.setWrapperField(this, 3, value);
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances.prototype.setTokenBalancesList = function(value) {
+  return jspb.Message.setRepeatedWrapperField(this, 1, value);
 };
 
 
 /**
- * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0} returns this
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry=} opt_value
+ * @param {number=} opt_index
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.clearChain = function() {
-  return this.setChain(undefined);
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances.prototype.addTokenBalances = function(opt_value, opt_index) {
+  return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry, 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.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances} returns this
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.hasChain = function() {
-  return jspb.Message.getField(this, 3) != null;
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances.prototype.clearTokenBalancesList = function() {
+  return this.setTokenBalancesList([]);
 };
 
 
 /**
- * optional Network network = 4;
- * @return {?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network}
+ * optional TokenBalances token_balances = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.getNetwork = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network, 4));
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.prototype.getTokenBalances = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances, 1));
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0} returns this
+ * @param {?proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0} returns this
 */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.setNetwork = function(value) {
-  return jspb.Message.setWrapperField(this, 4, value);
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.prototype.setTokenBalances = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.oneofGroups_[0], value);
 };
 
 
 /**
  * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.clearNetwork = function() {
-  return this.setNetwork(undefined);
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.prototype.clearTokenBalances = function() {
+  return this.setTokenBalances(undefined);
 };
 
 
@@ -43991,36 +50173,36 @@ proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.hasNetwork = function() {
-  return jspb.Message.getField(this, 4) != null;
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.prototype.hasTokenBalances = function() {
+  return jspb.Message.getField(this, 1) != null;
 };
 
 
 /**
- * optional StateSync state_sync = 5;
- * @return {?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync}
+ * optional Proof proof = 2;
+ * @return {?proto.org.dash.platform.dapi.v0.Proof}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.getStateSync = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync, 5));
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.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.GetStatusResponse.GetStatusResponseV0.StateSync|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0} returns this
+ * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0} returns this
 */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.setStateSync = function(value) {
-  return jspb.Message.setWrapperField(this, 5, value);
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.prototype.setProof = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.oneofGroups_[0], value);
 };
 
 
 /**
  * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.clearStateSync = function() {
-  return this.setStateSync(undefined);
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.prototype.clearProof = function() {
+  return this.setProof(undefined);
 };
 
 
@@ -44028,36 +50210,36 @@ proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.hasStateSync = function() {
-  return jspb.Message.getField(this, 5) != null;
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.prototype.hasProof = function() {
+  return jspb.Message.getField(this, 2) != null;
 };
 
 
 /**
- * optional Time time = 6;
- * @return {?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time}
+ * optional ResponseMetadata metadata = 3;
+ * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.getTime = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time, 6));
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.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.GetStatusResponse.GetStatusResponseV0.Time|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0} returns this
+ * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0} returns this
 */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.setTime = function(value) {
-  return jspb.Message.setWrapperField(this, 6, value);
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.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.GetStatusResponse.GetStatusResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.clearTime = function() {
-  return this.setTime(undefined);
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.prototype.clearMetadata = function() {
+  return this.setMetadata(undefined);
 };
 
 
@@ -44065,35 +50247,35 @@ proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.hasTime = function() {
-  return jspb.Message.getField(this, 6) != null;
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.prototype.hasMetadata = function() {
+  return jspb.Message.getField(this, 3) != null;
 };
 
 
 /**
- * optional GetStatusResponseV0 v0 = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0}
+ * optional GetIdentityTokenBalancesResponseV0 v0 = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.prototype.getV0 = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0, 1));
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.prototype.getV0 = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0, 1));
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse} returns this
+ * @param {?proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse} returns this
 */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.prototype.setV0 = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetStatusResponse.oneofGroups_[0], value);
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.prototype.setV0 = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.oneofGroups_[0], value);
 };
 
 
 /**
  * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse} returns this
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.prototype.clearV0 = function() {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.prototype.clearV0 = function() {
   return this.setV0(undefined);
 };
 
@@ -44102,7 +50284,7 @@ proto.org.dash.platform.dapi.v0.GetStatusResponse.prototype.clearV0 = function()
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.prototype.hasV0 = function() {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.prototype.hasV0 = function() {
   return jspb.Message.getField(this, 1) != null;
 };
 
@@ -44116,21 +50298,21 @@ proto.org.dash.platform.dapi.v0.GetStatusResponse.prototype.hasV0 = function() {
  * @private {!Array>}
  * @const
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.oneofGroups_ = [[1]];
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.oneofGroups_ = [[1]];
 
 /**
  * @enum {number}
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.VersionCase = {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.VersionCase = {
   VERSION_NOT_SET: 0,
   V0: 1
 };
 
 /**
- * @return {proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.VersionCase}
+ * @return {proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.VersionCase}
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.prototype.getVersionCase = function() {
-  return /** @type {proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.oneofGroups_[0]));
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.prototype.getVersionCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.oneofGroups_[0]));
 };
 
 
@@ -44148,8 +50330,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.toObject(opt_includeInstance, this);
 };
 
 
@@ -44158,13 +50340,13 @@ proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.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.GetCurrentQuorumsInfoRequest} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.toObject = function(includeInstance, msg) {
   var f, obj = {
-    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0.toObject(includeInstance, f)
+    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.toObject(includeInstance, f)
   };
 
   if (includeInstance) {
@@ -44178,23 +50360,23 @@ proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.toObject = function
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest}
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest}
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest;
-  return proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest;
+  return proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest}
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest}
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -44202,8 +50384,8 @@ proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.deserializeBinaryFr
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0.deserializeBinaryFromReader);
+      var value = new proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.deserializeBinaryFromReader);
       msg.setV0(value);
       break;
     default:
@@ -44219,9 +50401,9 @@ proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.deserializeBinaryFr
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -44229,24 +50411,31 @@ proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.prototype.serialize
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
   f = message.getV0();
   if (f != null) {
     writer.writeMessage(
       1,
       f,
-      proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.serializeBinaryToWriter
     );
   }
 };
 
 
 
+/**
+ * List of repeated fields within this message type.
+ * @private {!Array}
+ * @const
+ */
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.repeatedFields_ = [2];
+
 
 
 if (jspb.Message.GENERATE_TO_OBJECT) {
@@ -44262,8 +50451,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.toObject(opt_includeInstance, this);
 };
 
 
@@ -44272,13 +50461,15 @@ proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsIn
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.toObject = function(includeInstance, msg) {
   var f, obj = {
-
+    tokenId: msg.getTokenId_asB64(),
+    identityIdsList: msg.getIdentityIdsList_asB64(),
+    prove: jspb.Message.getBooleanFieldWithDefault(msg, 3, false)
   };
 
   if (includeInstance) {
@@ -44292,29 +50483,41 @@ proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsIn
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0}
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0;
-  return proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0;
+  return proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0}
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.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.setTokenId(value);
+      break;
+    case 2:
+      var value = /** @type {!Uint8Array} */ (reader.readBytes());
+      msg.addIdentityIds(value);
+      break;
+    case 3:
+      var value = /** @type {boolean} */ (reader.readBool());
+      msg.setProve(value);
+      break;
     default:
       reader.skipField();
       break;
@@ -44328,9 +50531,9 @@ proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsIn
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -44338,39 +50541,181 @@ proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsIn
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
+  f = message.getTokenId_asU8();
+  if (f.length > 0) {
+    writer.writeBytes(
+      1,
+      f
+    );
+  }
+  f = message.getIdentityIdsList_asU8();
+  if (f.length > 0) {
+    writer.writeRepeatedBytes(
+      2,
+      f
+    );
+  }
+  f = message.getProve();
+  if (f) {
+    writer.writeBool(
+      3,
+      f
+    );
+  }
 };
 
 
 /**
- * optional GetCurrentQuorumsInfoRequestV0 v0 = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0}
+ * optional bytes token_id = 1;
+ * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.prototype.getV0 = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0, 1));
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.prototype.getTokenId = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest} returns this
+ * optional bytes token_id = 1;
+ * This is a type-conversion wrapper around `getTokenId()`
+ * @return {string}
+ */
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.prototype.getTokenId_asB64 = function() {
+  return /** @type {string} */ (jspb.Message.bytesAsB64(
+      this.getTokenId()));
+};
+
+
+/**
+ * optional bytes token_id = 1;
+ * Note that Uint8Array is not supported on all browsers.
+ * @see http://caniuse.com/Uint8Array
+ * This is a type-conversion wrapper around `getTokenId()`
+ * @return {!Uint8Array}
+ */
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.prototype.getTokenId_asU8 = function() {
+  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
+      this.getTokenId()));
+};
+
+
+/**
+ * @param {!(string|Uint8Array)} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.prototype.setTokenId = function(value) {
+  return jspb.Message.setProto3BytesField(this, 1, value);
+};
+
+
+/**
+ * repeated bytes identity_ids = 2;
+ * @return {!Array}
+ */
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.prototype.getIdentityIdsList = function() {
+  return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 2));
+};
+
+
+/**
+ * repeated bytes identity_ids = 2;
+ * This is a type-conversion wrapper around `getIdentityIdsList()`
+ * @return {!Array}
+ */
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.prototype.getIdentityIdsList_asB64 = function() {
+  return /** @type {!Array} */ (jspb.Message.bytesListAsB64(
+      this.getIdentityIdsList()));
+};
+
+
+/**
+ * repeated bytes identity_ids = 2;
+ * Note that Uint8Array is not supported on all browsers.
+ * @see http://caniuse.com/Uint8Array
+ * This is a type-conversion wrapper around `getIdentityIdsList()`
+ * @return {!Array}
+ */
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.prototype.getIdentityIdsList_asU8 = function() {
+  return /** @type {!Array} */ (jspb.Message.bytesListAsU8(
+      this.getIdentityIdsList()));
+};
+
+
+/**
+ * @param {!(Array|Array)} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.prototype.setIdentityIdsList = function(value) {
+  return jspb.Message.setField(this, 2, value || []);
+};
+
+
+/**
+ * @param {!(string|Uint8Array)} value
+ * @param {number=} opt_index
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.prototype.addIdentityIds = function(value, opt_index) {
+  return jspb.Message.addToRepeatedField(this, 2, value, opt_index);
+};
+
+
+/**
+ * Clears the list making it empty but non-null.
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.prototype.clearIdentityIdsList = function() {
+  return this.setIdentityIdsList([]);
+};
+
+
+/**
+ * optional bool prove = 3;
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.prototype.getProve = function() {
+  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 3, false));
+};
+
+
+/**
+ * @param {boolean} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.prototype.setProve = function(value) {
+  return jspb.Message.setProto3BooleanField(this, 3, value);
+};
+
+
+/**
+ * optional GetIdentitiesTokenBalancesRequestV0 v0 = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0}
+ */
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.prototype.getV0 = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0, 1));
+};
+
+
+/**
+ * @param {?proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest} returns this
 */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.prototype.setV0 = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.oneofGroups_[0], value);
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.prototype.setV0 = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.oneofGroups_[0], value);
 };
 
 
 /**
  * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest} returns this
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.prototype.clearV0 = function() {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.prototype.clearV0 = function() {
   return this.setV0(undefined);
 };
 
@@ -44379,7 +50724,7 @@ proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.prototype.clearV0 =
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.prototype.hasV0 = function() {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.prototype.hasV0 = function() {
   return jspb.Message.getField(this, 1) != null;
 };
 
@@ -44393,21 +50738,21 @@ proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.prototype.hasV0 = f
  * @private {!Array>}
  * @const
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.oneofGroups_ = [[1]];
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.oneofGroups_ = [[1]];
 
 /**
  * @enum {number}
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.VersionCase = {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.VersionCase = {
   VERSION_NOT_SET: 0,
   V0: 1
 };
 
 /**
- * @return {proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.VersionCase}
+ * @return {proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.VersionCase}
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.prototype.getVersionCase = function() {
-  return /** @type {proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.oneofGroups_[0]));
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.prototype.getVersionCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.oneofGroups_[0]));
 };
 
 
@@ -44425,8 +50770,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.toObject(opt_includeInstance, this);
 };
 
 
@@ -44435,13 +50780,13 @@ proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.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.GetCurrentQuorumsInfoResponse} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.toObject = function(includeInstance, msg) {
   var f, obj = {
-    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.toObject(includeInstance, f)
+    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.toObject(includeInstance, f)
   };
 
   if (includeInstance) {
@@ -44455,23 +50800,23 @@ proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.toObject = functio
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse}
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse}
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse;
-  return proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse;
+  return proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse}
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse}
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -44479,8 +50824,8 @@ proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.deserializeBinaryF
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.deserializeBinaryFromReader);
+      var value = new proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.deserializeBinaryFromReader);
       msg.setV0(value);
       break;
     default:
@@ -44496,9 +50841,9 @@ proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.deserializeBinaryF
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -44506,24 +50851,50 @@ proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.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.GetCurrentQuorumsInfoResponse} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
   f = message.getV0();
   if (f != null) {
     writer.writeMessage(
       1,
       f,
-      proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.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.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.oneofGroups_ = [[1,2]];
+
+/**
+ * @enum {number}
+ */
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.ResultCase = {
+  RESULT_NOT_SET: 0,
+  IDENTITY_TOKEN_BALANCES: 1,
+  PROOF: 2
+};
+
+/**
+ * @return {proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.ResultCase}
+ */
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.prototype.getResultCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.oneofGroups_[0]));
+};
+
 
 
 if (jspb.Message.GENERATE_TO_OBJECT) {
@@ -44539,8 +50910,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.toObject(opt_includeInstance, this);
 };
 
 
@@ -44549,15 +50920,15 @@ proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.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.GetCurrentQuorumsInfoResponse.ValidatorV0} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.toObject = function(includeInstance, msg) {
   var f, obj = {
-    proTxHash: msg.getProTxHash_asB64(),
-    nodeIp: jspb.Message.getFieldWithDefault(msg, 2, ""),
-    isBanned: jspb.Message.getBooleanFieldWithDefault(msg, 3, false)
+    identityTokenBalances: (f = msg.getIdentityTokenBalances()) && proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances.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) {
@@ -44571,23 +50942,23 @@ proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.toObje
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0}
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0;
-  return proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0;
+  return proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0}
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -44595,16 +50966,19 @@ proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.deseri
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = /** @type {!Uint8Array} */ (reader.readBytes());
-      msg.setProTxHash(value);
+      var value = new proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances.deserializeBinaryFromReader);
+      msg.setIdentityTokenBalances(value);
       break;
     case 2:
-      var value = /** @type {string} */ (reader.readString());
-      msg.setNodeIp(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 {boolean} */ (reader.readBool());
-      msg.setIsBanned(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();
@@ -44619,9 +50993,9 @@ proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.deseri
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -44629,121 +51003,39 @@ proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.protot
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getProTxHash_asU8();
-  if (f.length > 0) {
-    writer.writeBytes(
+  f = message.getIdentityTokenBalances();
+  if (f != null) {
+    writer.writeMessage(
       1,
-      f
+      f,
+      proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances.serializeBinaryToWriter
     );
   }
-  f = message.getNodeIp();
-  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.getIsBanned();
-  if (f) {
-    writer.writeBool(
+  f = message.getMetadata();
+  if (f != null) {
+    writer.writeMessage(
       3,
-      f
+      f,
+      proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter
     );
   }
 };
 
 
-/**
- * optional bytes pro_tx_hash = 1;
- * @return {string}
- */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.prototype.getProTxHash = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
-};
-
-
-/**
- * optional bytes pro_tx_hash = 1;
- * This is a type-conversion wrapper around `getProTxHash()`
- * @return {string}
- */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.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.GetCurrentQuorumsInfoResponse.ValidatorV0.prototype.getProTxHash_asU8 = function() {
-  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
-      this.getProTxHash()));
-};
-
-
-/**
- * @param {!(string|Uint8Array)} value
- * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0} returns this
- */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.prototype.setProTxHash = function(value) {
-  return jspb.Message.setProto3BytesField(this, 1, value);
-};
-
-
-/**
- * optional string node_ip = 2;
- * @return {string}
- */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.prototype.getNodeIp = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
-};
-
-
-/**
- * @param {string} value
- * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0} returns this
- */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.prototype.setNodeIp = function(value) {
-  return jspb.Message.setProto3StringField(this, 2, value);
-};
-
-
-/**
- * optional bool is_banned = 3;
- * @return {boolean}
- */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.prototype.getIsBanned = function() {
-  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 3, false));
-};
-
-
-/**
- * @param {boolean} value
- * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0} returns this
- */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.prototype.setIsBanned = function(value) {
-  return jspb.Message.setProto3BooleanField(this, 3, value);
-};
-
-
-
-/**
- * List of repeated fields within this message type.
- * @private {!Array}
- * @const
- */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.repeatedFields_ = [3];
 
 
 
@@ -44760,8 +51052,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry.toObject(opt_includeInstance, this);
 };
 
 
@@ -44770,17 +51062,14 @@ proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.pro
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry.toObject = function(includeInstance, msg) {
   var f, obj = {
-    quorumHash: msg.getQuorumHash_asB64(),
-    coreHeight: jspb.Message.getFieldWithDefault(msg, 2, 0),
-    membersList: jspb.Message.toObjectList(msg.getMembersList(),
-    proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.toObject, includeInstance),
-    thresholdPublicKey: msg.getThresholdPublicKey_asB64()
+    identityId: msg.getIdentityId_asB64(),
+    balance: jspb.Message.getFieldWithDefault(msg, 2, 0)
   };
 
   if (includeInstance) {
@@ -44794,23 +51083,23 @@ proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.toO
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry}
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0;
-  return proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry;
+  return proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry}
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -44819,20 +51108,11 @@ proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.des
     switch (field) {
     case 1:
       var value = /** @type {!Uint8Array} */ (reader.readBytes());
-      msg.setQuorumHash(value);
+      msg.setIdentityId(value);
       break;
     case 2:
-      var value = /** @type {number} */ (reader.readUint32());
-      msg.setCoreHeight(value);
-      break;
-    case 3:
-      var value = new proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.deserializeBinaryFromReader);
-      msg.addMembers(value);
-      break;
-    case 4:
-      var value = /** @type {!Uint8Array} */ (reader.readBytes());
-      msg.setThresholdPublicKey(value);
+      var value = /** @type {number} */ (reader.readUint64());
+      msg.setBalance(value);
       break;
     default:
       reader.skipField();
@@ -44847,9 +51127,9 @@ proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.des
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -44857,181 +51137,104 @@ proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.pro
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getQuorumHash_asU8();
+  f = message.getIdentityId_asU8();
   if (f.length > 0) {
     writer.writeBytes(
       1,
       f
     );
   }
-  f = message.getCoreHeight();
-  if (f !== 0) {
-    writer.writeUint32(
+  f = /** @type {number} */ (jspb.Message.getField(message, 2));
+  if (f != null) {
+    writer.writeUint64(
       2,
       f
     );
   }
-  f = message.getMembersList();
-  if (f.length > 0) {
-    writer.writeRepeatedMessage(
-      3,
-      f,
-      proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.serializeBinaryToWriter
-    );
-  }
-  f = message.getThresholdPublicKey_asU8();
-  if (f.length > 0) {
-    writer.writeBytes(
-      4,
-      f
-    );
-  }
 };
 
 
 /**
- * optional bytes quorum_hash = 1;
+ * optional bytes identity_id = 1;
  * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.prototype.getQuorumHash = function() {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry.prototype.getIdentityId = function() {
   return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
 };
 
 
 /**
- * optional bytes quorum_hash = 1;
- * This is a type-conversion wrapper around `getQuorumHash()`
+ * optional bytes identity_id = 1;
+ * This is a type-conversion wrapper around `getIdentityId()`
  * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.prototype.getQuorumHash_asB64 = function() {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry.prototype.getIdentityId_asB64 = function() {
   return /** @type {string} */ (jspb.Message.bytesAsB64(
-      this.getQuorumHash()));
+      this.getIdentityId()));
 };
 
 
 /**
- * optional bytes quorum_hash = 1;
+ * 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 `getQuorumHash()`
+ * This is a type-conversion wrapper around `getIdentityId()`
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.prototype.getQuorumHash_asU8 = function() {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry.prototype.getIdentityId_asU8 = function() {
   return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
-      this.getQuorumHash()));
+      this.getIdentityId()));
 };
 
 
 /**
  * @param {!(string|Uint8Array)} value
- * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry} returns this
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.prototype.setQuorumHash = function(value) {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry.prototype.setIdentityId = function(value) {
   return jspb.Message.setProto3BytesField(this, 1, value);
 };
 
 
 /**
- * optional uint32 core_height = 2;
+ * optional uint64 balance = 2;
  * @return {number}
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.prototype.getCoreHeight = function() {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry.prototype.getBalance = function() {
   return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
 };
 
 
 /**
  * @param {number} value
- * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0} returns this
- */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.prototype.setCoreHeight = function(value) {
-  return jspb.Message.setProto3IntField(this, 2, value);
-};
-
-
-/**
- * repeated ValidatorV0 members = 3;
- * @return {!Array}
- */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.prototype.getMembersList = function() {
-  return /** @type{!Array} */ (
-    jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0, 3));
-};
-
-
-/**
- * @param {!Array} value
- * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0} returns this
-*/
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.prototype.setMembersList = function(value) {
-  return jspb.Message.setRepeatedWrapperField(this, 3, value);
-};
-
-
-/**
- * @param {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0=} opt_value
- * @param {number=} opt_index
- * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0}
- */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.prototype.addMembers = function(opt_value, opt_index) {
-  return jspb.Message.addToRepeatedWrapperField(this, 3, opt_value, proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0, opt_index);
-};
-
-
-/**
- * Clears the list making it empty but non-null.
- * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0} returns this
- */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.prototype.clearMembersList = function() {
-  return this.setMembersList([]);
-};
-
-
-/**
- * optional bytes threshold_public_key = 4;
- * @return {string}
- */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.prototype.getThresholdPublicKey = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, ""));
-};
-
-
-/**
- * optional bytes threshold_public_key = 4;
- * This is a type-conversion wrapper around `getThresholdPublicKey()`
- * @return {string}
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry} returns this
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.prototype.getThresholdPublicKey_asB64 = function() {
-  return /** @type {string} */ (jspb.Message.bytesAsB64(
-      this.getThresholdPublicKey()));
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry.prototype.setBalance = function(value) {
+  return jspb.Message.setField(this, 2, value);
 };
 
 
 /**
- * optional bytes threshold_public_key = 4;
- * Note that Uint8Array is not supported on all browsers.
- * @see http://caniuse.com/Uint8Array
- * This is a type-conversion wrapper around `getThresholdPublicKey()`
- * @return {!Uint8Array}
+ * Clears the field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry} returns this
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.prototype.getThresholdPublicKey_asU8 = function() {
-  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
-      this.getThresholdPublicKey()));
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry.prototype.clearBalance = function() {
+  return jspb.Message.setField(this, 2, undefined);
 };
 
 
 /**
- * @param {!(string|Uint8Array)} value
- * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0} returns this
+ * Returns whether this field is set.
+ * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.prototype.setThresholdPublicKey = function(value) {
-  return jspb.Message.setProto3BytesField(this, 4, value);
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry.prototype.hasBalance = function() {
+  return jspb.Message.getField(this, 2) != null;
 };
 
 
@@ -45041,7 +51244,7 @@ proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.pro
  * @private {!Array}
  * @const
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.repeatedFields_ = [1,3];
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances.repeatedFields_ = [1];
 
 
 
@@ -45058,8 +51261,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances.toObject(opt_includeInstance, this);
 };
 
 
@@ -45068,18 +51271,14 @@ proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsI
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances.toObject = function(includeInstance, msg) {
   var f, obj = {
-    quorumHashesList: msg.getQuorumHashesList_asB64(),
-    currentQuorumHash: msg.getCurrentQuorumHash_asB64(),
-    validatorSetsList: jspb.Message.toObjectList(msg.getValidatorSetsList(),
-    proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.toObject, includeInstance),
-    lastBlockProposer: msg.getLastBlockProposer_asB64(),
-    metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f)
+    identityTokenBalancesList: jspb.Message.toObjectList(msg.getIdentityTokenBalancesList(),
+    proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry.toObject, includeInstance)
   };
 
   if (includeInstance) {
@@ -45093,327 +51292,210 @@ proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsI
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances}
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0;
-  return proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances;
+  return proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
- * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0} msg The message object to deserialize into.
- * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0}
- */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.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.addQuorumHashes(value);
-      break;
-    case 2:
-      var value = /** @type {!Uint8Array} */ (reader.readBytes());
-      msg.setCurrentQuorumHash(value);
-      break;
-    case 3:
-      var value = new proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.deserializeBinaryFromReader);
-      msg.addValidatorSets(value);
-      break;
-    case 4:
-      var value = /** @type {!Uint8Array} */ (reader.readBytes());
-      msg.setLastBlockProposer(value);
-      break;
-    case 5:
-      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.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.serializeBinary = function() {
-  var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.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.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0} message
- * @param {!jspb.BinaryWriter} writer
- * @suppress {unusedLocalVariables} f is only used for nested messages
- */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.serializeBinaryToWriter = function(message, writer) {
-  var f = undefined;
-  f = message.getQuorumHashesList_asU8();
-  if (f.length > 0) {
-    writer.writeRepeatedBytes(
-      1,
-      f
-    );
-  }
-  f = message.getCurrentQuorumHash_asU8();
-  if (f.length > 0) {
-    writer.writeBytes(
-      2,
-      f
-    );
-  }
-  f = message.getValidatorSetsList();
-  if (f.length > 0) {
-    writer.writeRepeatedMessage(
-      3,
-      f,
-      proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.serializeBinaryToWriter
-    );
-  }
-  f = message.getLastBlockProposer_asU8();
-  if (f.length > 0) {
-    writer.writeBytes(
-      4,
-      f
-    );
-  }
-  f = message.getMetadata();
-  if (f != null) {
-    writer.writeMessage(
-      5,
-      f,
-      proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter
-    );
-  }
-};
-
-
-/**
- * repeated bytes quorum_hashes = 1;
- * @return {!Array}
- */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.getQuorumHashesList = function() {
-  return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1));
-};
-
-
-/**
- * repeated bytes quorum_hashes = 1;
- * This is a type-conversion wrapper around `getQuorumHashesList()`
- * @return {!Array}
- */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.getQuorumHashesList_asB64 = function() {
-  return /** @type {!Array} */ (jspb.Message.bytesListAsB64(
-      this.getQuorumHashesList()));
-};
-
-
-/**
- * repeated bytes quorum_hashes = 1;
- * Note that Uint8Array is not supported on all browsers.
- * @see http://caniuse.com/Uint8Array
- * This is a type-conversion wrapper around `getQuorumHashesList()`
- * @return {!Array}
- */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.getQuorumHashesList_asU8 = function() {
-  return /** @type {!Array} */ (jspb.Message.bytesListAsU8(
-      this.getQuorumHashesList()));
-};
-
-
-/**
- * @param {!(Array|Array)} value
- * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0} returns this
+ * given reader into the given message object.
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances} msg The message object to deserialize into.
+ * @param {!jspb.BinaryReader} reader The BinaryReader to use.
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances}
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.setQuorumHashesList = function(value) {
-  return jspb.Message.setField(this, 1, value || []);
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances.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.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry.deserializeBinaryFromReader);
+      msg.addIdentityTokenBalances(value);
+      break;
+    default:
+      reader.skipField();
+      break;
+    }
+  }
+  return msg;
 };
 
 
 /**
- * @param {!(string|Uint8Array)} value
- * @param {number=} opt_index
- * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0} returns this
+ * Serializes the message to binary data (in protobuf wire format).
+ * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.addQuorumHashes = function(value, opt_index) {
-  return jspb.Message.addToRepeatedField(this, 1, value, opt_index);
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances.prototype.serializeBinary = function() {
+  var writer = new jspb.BinaryWriter();
+  proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances.serializeBinaryToWriter(this, writer);
+  return writer.getResultBuffer();
 };
 
 
 /**
- * Clears the list making it empty but non-null.
- * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0} 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.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances} message
+ * @param {!jspb.BinaryWriter} writer
+ * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.clearQuorumHashesList = function() {
-  return this.setQuorumHashesList([]);
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances.serializeBinaryToWriter = function(message, writer) {
+  var f = undefined;
+  f = message.getIdentityTokenBalancesList();
+  if (f.length > 0) {
+    writer.writeRepeatedMessage(
+      1,
+      f,
+      proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry.serializeBinaryToWriter
+    );
+  }
 };
 
 
 /**
- * optional bytes current_quorum_hash = 2;
- * @return {string}
+ * repeated IdentityTokenBalanceEntry identity_token_balances = 1;
+ * @return {!Array}
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.getCurrentQuorumHash = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances.prototype.getIdentityTokenBalancesList = function() {
+  return /** @type{!Array} */ (
+    jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry, 1));
 };
 
 
 /**
- * optional bytes current_quorum_hash = 2;
- * This is a type-conversion wrapper around `getCurrentQuorumHash()`
- * @return {string}
- */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.getCurrentQuorumHash_asB64 = function() {
-  return /** @type {string} */ (jspb.Message.bytesAsB64(
-      this.getCurrentQuorumHash()));
+ * @param {!Array} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances.prototype.setIdentityTokenBalancesList = function(value) {
+  return jspb.Message.setRepeatedWrapperField(this, 1, value);
 };
 
 
 /**
- * optional bytes current_quorum_hash = 2;
- * Note that Uint8Array is not supported on all browsers.
- * @see http://caniuse.com/Uint8Array
- * This is a type-conversion wrapper around `getCurrentQuorumHash()`
- * @return {!Uint8Array}
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry=} opt_value
+ * @param {number=} opt_index
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry}
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.getCurrentQuorumHash_asU8 = function() {
-  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
-      this.getCurrentQuorumHash()));
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances.prototype.addIdentityTokenBalances = function(opt_value, opt_index) {
+  return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry, opt_index);
 };
 
 
 /**
- * @param {!(string|Uint8Array)} value
- * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0} returns this
+ * Clears the list making it empty but non-null.
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances} returns this
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.setCurrentQuorumHash = function(value) {
-  return jspb.Message.setProto3BytesField(this, 2, value);
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances.prototype.clearIdentityTokenBalancesList = function() {
+  return this.setIdentityTokenBalancesList([]);
 };
 
 
 /**
- * repeated ValidatorSetV0 validator_sets = 3;
- * @return {!Array}
+ * optional IdentityTokenBalances identity_token_balances = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances}
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.getValidatorSetsList = function() {
-  return /** @type{!Array} */ (
-    jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0, 3));
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.prototype.getIdentityTokenBalances = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances, 1));
 };
 
 
 /**
- * @param {!Array} value
- * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0} returns this
+ * @param {?proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0} returns this
 */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.setValidatorSetsList = function(value) {
-  return jspb.Message.setRepeatedWrapperField(this, 3, value);
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.prototype.setIdentityTokenBalances = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.oneofGroups_[0], value);
 };
 
 
 /**
- * @param {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0=} opt_value
- * @param {number=} opt_index
- * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0}
+ * Clears the message field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.addValidatorSets = function(opt_value, opt_index) {
-  return jspb.Message.addToRepeatedWrapperField(this, 3, opt_value, proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0, opt_index);
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.prototype.clearIdentityTokenBalances = function() {
+  return this.setIdentityTokenBalances(undefined);
 };
 
 
 /**
- * Clears the list making it empty but non-null.
- * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0} returns this
+ * Returns whether this field is set.
+ * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.clearValidatorSetsList = function() {
-  return this.setValidatorSetsList([]);
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.prototype.hasIdentityTokenBalances = function() {
+  return jspb.Message.getField(this, 1) != null;
 };
 
 
 /**
- * optional bytes last_block_proposer = 4;
- * @return {string}
+ * optional Proof proof = 2;
+ * @return {?proto.org.dash.platform.dapi.v0.Proof}
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.getLastBlockProposer = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, ""));
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.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 bytes last_block_proposer = 4;
- * This is a type-conversion wrapper around `getLastBlockProposer()`
- * @return {string}
- */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.getLastBlockProposer_asB64 = function() {
-  return /** @type {string} */ (jspb.Message.bytesAsB64(
-      this.getLastBlockProposer()));
+ * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.prototype.setProof = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.oneofGroups_[0], value);
 };
 
 
 /**
- * optional bytes last_block_proposer = 4;
- * Note that Uint8Array is not supported on all browsers.
- * @see http://caniuse.com/Uint8Array
- * This is a type-conversion wrapper around `getLastBlockProposer()`
- * @return {!Uint8Array}
+ * Clears the message field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.getLastBlockProposer_asU8 = function() {
-  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
-      this.getLastBlockProposer()));
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.prototype.clearProof = function() {
+  return this.setProof(undefined);
 };
 
 
 /**
- * @param {!(string|Uint8Array)} value
- * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0} returns this
+ * Returns whether this field is set.
+ * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.setLastBlockProposer = function(value) {
-  return jspb.Message.setProto3BytesField(this, 4, value);
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.prototype.hasProof = function() {
+  return jspb.Message.getField(this, 2) != null;
 };
 
 
 /**
- * optional ResponseMetadata metadata = 5;
+ * optional ResponseMetadata metadata = 3;
  * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata}
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.getMetadata = function() {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.prototype.getMetadata = function() {
   return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 5));
+    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.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0} returns this
 */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.setMetadata = function(value) {
-  return jspb.Message.setWrapperField(this, 5, value);
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.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.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.clearMetadata = function() {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.prototype.clearMetadata = function() {
   return this.setMetadata(undefined);
 };
 
@@ -45422,35 +51504,35 @@ proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsI
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.hasMetadata = function() {
-  return jspb.Message.getField(this, 5) != null;
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.prototype.hasMetadata = function() {
+  return jspb.Message.getField(this, 3) != null;
 };
 
 
 /**
- * optional GetCurrentQuorumsInfoResponseV0 v0 = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0}
+ * optional GetIdentitiesTokenBalancesResponseV0 v0 = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0}
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.prototype.getV0 = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0, 1));
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.prototype.getV0 = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0, 1));
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse} returns this
+ * @param {?proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse} returns this
 */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.prototype.setV0 = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.oneofGroups_[0], value);
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.prototype.setV0 = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.oneofGroups_[0], value);
 };
 
 
 /**
  * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse} returns this
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.prototype.clearV0 = function() {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.prototype.clearV0 = function() {
   return this.setV0(undefined);
 };
 
@@ -45459,7 +51541,7 @@ proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.prototype.clearV0
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.prototype.hasV0 = function() {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.prototype.hasV0 = function() {
   return jspb.Message.getField(this, 1) != null;
 };
 
@@ -45473,21 +51555,21 @@ proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.prototype.hasV0 =
  * @private {!Array>}
  * @const
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.oneofGroups_ = [[1]];
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.oneofGroups_ = [[1]];
 
 /**
  * @enum {number}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.VersionCase = {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.VersionCase = {
   VERSION_NOT_SET: 0,
   V0: 1
 };
 
 /**
- * @return {proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.VersionCase}
+ * @return {proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.VersionCase}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.prototype.getVersionCase = function() {
-  return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.oneofGroups_[0]));
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.prototype.getVersionCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.oneofGroups_[0]));
 };
 
 
@@ -45505,8 +51587,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.toObject(opt_includeInstance, this);
 };
 
 
@@ -45515,13 +51597,13 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.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.GetIdentityTokenBalancesRequest} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.toObject = function(includeInstance, msg) {
   var f, obj = {
-    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.toObject(includeInstance, f)
+    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.toObject(includeInstance, f)
   };
 
   if (includeInstance) {
@@ -45535,23 +51617,23 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.toObject = funct
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest}
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest;
-  return proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest;
+  return proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest}
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -45559,8 +51641,8 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.deserializeBinar
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.deserializeBinaryFromReader);
+      var value = new proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.deserializeBinaryFromReader);
       msg.setV0(value);
       break;
     default:
@@ -45576,9 +51658,9 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.deserializeBinar
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -45586,18 +51668,18 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.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.GetIdentityTokenBalancesRequest} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
   f = message.getV0();
   if (f != null) {
     writer.writeMessage(
       1,
       f,
-      proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.serializeBinaryToWriter
     );
   }
 };
@@ -45609,7 +51691,7 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.serializeBinaryT
  * @private {!Array}
  * @const
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.repeatedFields_ = [2];
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.repeatedFields_ = [2];
 
 
 
@@ -45626,8 +51708,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.toObject(opt_includeInstance, this);
 };
 
 
@@ -45636,11 +51718,11 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityToken
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.toObject = function(includeInstance, msg) {
   var f, obj = {
     identityId: msg.getIdentityId_asB64(),
     tokenIdsList: msg.getTokenIdsList_asB64(),
@@ -45658,23 +51740,23 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityToken
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0;
-  return proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0;
+  return proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -45706,9 +51788,9 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityToken
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -45716,11 +51798,11 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityToken
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
   f = message.getIdentityId_asU8();
   if (f.length > 0) {
@@ -45750,7 +51832,7 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityToken
  * optional bytes identity_id = 1;
  * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.prototype.getIdentityId = function() {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.prototype.getIdentityId = function() {
   return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
 };
 
@@ -45760,7 +51842,7 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityToken
  * This is a type-conversion wrapper around `getIdentityId()`
  * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.prototype.getIdentityId_asB64 = function() {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.prototype.getIdentityId_asB64 = function() {
   return /** @type {string} */ (jspb.Message.bytesAsB64(
       this.getIdentityId()));
 };
@@ -45773,7 +51855,7 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityToken
  * This is a type-conversion wrapper around `getIdentityId()`
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.prototype.getIdentityId_asU8 = function() {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.prototype.getIdentityId_asU8 = function() {
   return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
       this.getIdentityId()));
 };
@@ -45781,9 +51863,9 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityToken
 
 /**
  * @param {!(string|Uint8Array)} value
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.prototype.setIdentityId = function(value) {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.prototype.setIdentityId = function(value) {
   return jspb.Message.setProto3BytesField(this, 1, value);
 };
 
@@ -45792,7 +51874,7 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityToken
  * repeated bytes token_ids = 2;
  * @return {!Array}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.prototype.getTokenIdsList = function() {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.prototype.getTokenIdsList = function() {
   return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 2));
 };
 
@@ -45802,7 +51884,7 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityToken
  * This is a type-conversion wrapper around `getTokenIdsList()`
  * @return {!Array}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.prototype.getTokenIdsList_asB64 = function() {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.prototype.getTokenIdsList_asB64 = function() {
   return /** @type {!Array} */ (jspb.Message.bytesListAsB64(
       this.getTokenIdsList()));
 };
@@ -45815,7 +51897,7 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityToken
  * This is a type-conversion wrapper around `getTokenIdsList()`
  * @return {!Array}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.prototype.getTokenIdsList_asU8 = function() {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.prototype.getTokenIdsList_asU8 = function() {
   return /** @type {!Array} */ (jspb.Message.bytesListAsU8(
       this.getTokenIdsList()));
 };
@@ -45823,9 +51905,9 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityToken
 
 /**
  * @param {!(Array|Array)} value
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.prototype.setTokenIdsList = function(value) {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.prototype.setTokenIdsList = function(value) {
   return jspb.Message.setField(this, 2, value || []);
 };
 
@@ -45833,18 +51915,18 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityToken
 /**
  * @param {!(string|Uint8Array)} value
  * @param {number=} opt_index
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.prototype.addTokenIds = function(value, opt_index) {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.prototype.addTokenIds = function(value, opt_index) {
   return jspb.Message.addToRepeatedField(this, 2, value, opt_index);
 };
 
 
 /**
  * Clears the list making it empty but non-null.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.prototype.clearTokenIdsList = function() {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.prototype.clearTokenIdsList = function() {
   return this.setTokenIdsList([]);
 };
 
@@ -45853,44 +51935,44 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityToken
  * optional bool prove = 3;
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.prototype.getProve = function() {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.prototype.getProve = function() {
   return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 3, false));
 };
 
 
 /**
  * @param {boolean} value
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.prototype.setProve = function(value) {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.prototype.setProve = function(value) {
   return jspb.Message.setProto3BooleanField(this, 3, value);
 };
 
 
 /**
- * optional GetIdentityTokenBalancesRequestV0 v0 = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0}
+ * optional GetIdentityTokenInfosRequestV0 v0 = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.prototype.getV0 = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0, 1));
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.prototype.getV0 = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0, 1));
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest} returns this
+ * @param {?proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest} returns this
 */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.prototype.setV0 = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.oneofGroups_[0], value);
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.prototype.setV0 = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.oneofGroups_[0], value);
 };
 
 
 /**
  * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest} returns this
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.prototype.clearV0 = function() {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.prototype.clearV0 = function() {
   return this.setV0(undefined);
 };
 
@@ -45899,7 +51981,7 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.prototype.clearV
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.prototype.hasV0 = function() {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.prototype.hasV0 = function() {
   return jspb.Message.getField(this, 1) != null;
 };
 
@@ -45913,21 +51995,21 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.prototype.hasV0
  * @private {!Array>}
  * @const
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.oneofGroups_ = [[1]];
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.oneofGroups_ = [[1]];
 
 /**
  * @enum {number}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.VersionCase = {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.VersionCase = {
   VERSION_NOT_SET: 0,
   V0: 1
 };
 
 /**
- * @return {proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.VersionCase}
+ * @return {proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.VersionCase}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.prototype.getVersionCase = function() {
-  return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.oneofGroups_[0]));
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.prototype.getVersionCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.oneofGroups_[0]));
 };
 
 
@@ -45945,8 +52027,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.toObject(opt_includeInstance, this);
 };
 
 
@@ -45955,13 +52037,155 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.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.GetIdentityTokenBalancesResponse} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.toObject = function(includeInstance, msg) {
+  var f, obj = {
+    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.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.GetIdentityTokenInfosResponse}
+ */
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.deserializeBinary = function(bytes) {
+  var reader = new jspb.BinaryReader(bytes);
+  var msg = new proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse;
+  return proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.deserializeBinaryFromReader(msg, reader);
+};
+
+
+/**
+ * Deserializes binary data (in protobuf wire format) from the
+ * given reader into the given message object.
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse} msg The message object to deserialize into.
+ * @param {!jspb.BinaryReader} reader The BinaryReader to use.
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse}
+ */
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.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.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.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.GetIdentityTokenInfosResponse.prototype.serializeBinary = function() {
+  var writer = new jspb.BinaryWriter();
+  proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.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.GetIdentityTokenInfosResponse} message
+ * @param {!jspb.BinaryWriter} writer
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.serializeBinaryToWriter = function(message, writer) {
+  var f = undefined;
+  f = message.getV0();
+  if (f != null) {
+    writer.writeMessage(
+      1,
+      f,
+      proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.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.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.oneofGroups_ = [[1,2]];
+
+/**
+ * @enum {number}
+ */
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.ResultCase = {
+  RESULT_NOT_SET: 0,
+  TOKEN_INFOS: 1,
+  PROOF: 2
+};
+
+/**
+ * @return {proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.ResultCase}
+ */
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.prototype.getResultCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.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.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.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.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0} msg The msg instance to transform.
+ * @return {!Object}
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.toObject = function(includeInstance, msg) {
   var f, obj = {
-    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.toObject(includeInstance, f)
+    tokenInfos: (f = msg.getTokenInfos()) && proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos.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) {
@@ -45975,23 +52199,23 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.toObject = func
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse}
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse;
-  return proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0;
+  return proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse}
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -45999,9 +52223,19 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.deserializeBina
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.deserializeBinaryFromReader);
-      msg.setV0(value);
+      var value = new proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos.deserializeBinaryFromReader);
+      msg.setTokenInfos(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();
@@ -46016,9 +52250,9 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.deserializeBina
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -46026,50 +52260,40 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.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.GetIdentityTokenBalancesResponse} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getV0();
+  f = message.getTokenInfos();
   if (f != null) {
     writer.writeMessage(
       1,
       f,
-      proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos.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
     );
   }
 };
 
 
 
-/**
- * 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.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.oneofGroups_ = [[1,2]];
-
-/**
- * @enum {number}
- */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.ResultCase = {
-  RESULT_NOT_SET: 0,
-  TOKEN_BALANCES: 1,
-  PROOF: 2
-};
-
-/**
- * @return {proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.ResultCase}
- */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.prototype.getResultCase = function() {
-  return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.oneofGroups_[0]));
-};
-
 
 
 if (jspb.Message.GENERATE_TO_OBJECT) {
@@ -46085,8 +52309,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry.toObject(opt_includeInstance, this);
 };
 
 
@@ -46095,15 +52319,13 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityToke
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry.toObject = function(includeInstance, msg) {
   var f, obj = {
-    tokenBalances: (f = msg.getTokenBalances()) && proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances.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)
+    frozen: jspb.Message.getBooleanFieldWithDefault(msg, 1, false)
   };
 
   if (includeInstance) {
@@ -46117,23 +52339,23 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityToke
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0;
-  return proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry;
+  return proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -46141,19 +52363,8 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityToke
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances.deserializeBinaryFromReader);
-      msg.setTokenBalances(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.setFrozen(value);
       break;
     default:
       reader.skipField();
@@ -46168,9 +52379,9 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityToke
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -46178,39 +52389,40 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityToke
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getTokenBalances();
-  if (f != null) {
-    writer.writeMessage(
+  f = message.getFrozen();
+  if (f) {
+    writer.writeBool(
       1,
-      f,
-      proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances.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
+      f
     );
   }
 };
 
 
+/**
+ * optional bool frozen = 1;
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry.prototype.getFrozen = function() {
+  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 1, false));
+};
+
+
+/**
+ * @param {boolean} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry.prototype.setFrozen = function(value) {
+  return jspb.Message.setProto3BooleanField(this, 1, value);
+};
+
+
 
 
 
@@ -46227,8 +52439,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry.toObject(opt_includeInstance, this);
 };
 
 
@@ -46237,14 +52449,14 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityToke
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry.toObject = function(includeInstance, msg) {
   var f, obj = {
     tokenId: msg.getTokenId_asB64(),
-    balance: jspb.Message.getFieldWithDefault(msg, 2, 0)
+    info: (f = msg.getInfo()) && proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry.toObject(includeInstance, f)
   };
 
   if (includeInstance) {
@@ -46258,23 +52470,23 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityToke
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry}
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry;
-  return proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry;
+  return proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry}
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -46286,8 +52498,9 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityToke
       msg.setTokenId(value);
       break;
     case 2:
-      var value = /** @type {number} */ (reader.readUint64());
-      msg.setBalance(value);
+      var value = new proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry.deserializeBinaryFromReader);
+      msg.setInfo(value);
       break;
     default:
       reader.skipField();
@@ -46302,9 +52515,9 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityToke
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -46312,11 +52525,11 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityToke
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
   f = message.getTokenId_asU8();
   if (f.length > 0) {
@@ -46325,11 +52538,12 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityToke
       f
     );
   }
-  f = /** @type {number} */ (jspb.Message.getField(message, 2));
+  f = message.getInfo();
   if (f != null) {
-    writer.writeUint64(
+    writer.writeMessage(
       2,
-      f
+      f,
+      proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry.serializeBinaryToWriter
     );
   }
 };
@@ -46339,7 +52553,7 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityToke
  * optional bytes token_id = 1;
  * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry.prototype.getTokenId = function() {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry.prototype.getTokenId = function() {
   return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
 };
 
@@ -46349,7 +52563,7 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityToke
  * This is a type-conversion wrapper around `getTokenId()`
  * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry.prototype.getTokenId_asB64 = function() {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry.prototype.getTokenId_asB64 = function() {
   return /** @type {string} */ (jspb.Message.bytesAsB64(
       this.getTokenId()));
 };
@@ -46362,7 +52576,7 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityToke
  * This is a type-conversion wrapper around `getTokenId()`
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry.prototype.getTokenId_asU8 = function() {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry.prototype.getTokenId_asU8 = function() {
   return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
       this.getTokenId()));
 };
@@ -46370,37 +52584,38 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityToke
 
 /**
  * @param {!(string|Uint8Array)} value
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry} returns this
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry.prototype.setTokenId = function(value) {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry.prototype.setTokenId = function(value) {
   return jspb.Message.setProto3BytesField(this, 1, value);
 };
 
 
 /**
- * optional uint64 balance = 2;
- * @return {number}
+ * optional TokenIdentityInfoEntry info = 2;
+ * @return {?proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry.prototype.getBalance = function() {
-  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry.prototype.getInfo = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry, 2));
 };
 
 
 /**
- * @param {number} value
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry} returns this
- */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry.prototype.setBalance = function(value) {
-  return jspb.Message.setField(this, 2, value);
+ * @param {?proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry.prototype.setInfo = function(value) {
+  return jspb.Message.setWrapperField(this, 2, value);
 };
 
 
 /**
- * Clears the field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry} returns this
+ * Clears the message field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry} returns this
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry.prototype.clearBalance = function() {
-  return jspb.Message.setField(this, 2, undefined);
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry.prototype.clearInfo = function() {
+  return this.setInfo(undefined);
 };
 
 
@@ -46408,7 +52623,7 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityToke
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry.prototype.hasBalance = function() {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry.prototype.hasInfo = function() {
   return jspb.Message.getField(this, 2) != null;
 };
 
@@ -46419,7 +52634,7 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityToke
  * @private {!Array}
  * @const
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances.repeatedFields_ = [1];
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos.repeatedFields_ = [1];
 
 
 
@@ -46436,8 +52651,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos.toObject(opt_includeInstance, this);
 };
 
 
@@ -46446,14 +52661,14 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityToke
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos.toObject = function(includeInstance, msg) {
   var f, obj = {
-    tokenBalancesList: jspb.Message.toObjectList(msg.getTokenBalancesList(),
-    proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry.toObject, includeInstance)
+    tokenInfosList: jspb.Message.toObjectList(msg.getTokenInfosList(),
+    proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry.toObject, includeInstance)
   };
 
   if (includeInstance) {
@@ -46467,23 +52682,23 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityToke
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances}
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances;
-  return proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos;
+  return proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances}
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -46491,9 +52706,9 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityToke
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry.deserializeBinaryFromReader);
-      msg.addTokenBalances(value);
+      var value = new proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry.deserializeBinaryFromReader);
+      msg.addTokenInfos(value);
       break;
     default:
       reader.skipField();
@@ -46508,9 +52723,9 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityToke
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -46518,86 +52733,86 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityToke
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getTokenBalancesList();
+  f = message.getTokenInfosList();
   if (f.length > 0) {
     writer.writeRepeatedMessage(
       1,
       f,
-      proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry.serializeBinaryToWriter
     );
   }
 };
 
 
 /**
- * repeated TokenBalanceEntry token_balances = 1;
- * @return {!Array}
+ * repeated TokenInfoEntry token_infos = 1;
+ * @return {!Array}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances.prototype.getTokenBalancesList = function() {
-  return /** @type{!Array} */ (
-    jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry, 1));
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos.prototype.getTokenInfosList = function() {
+  return /** @type{!Array} */ (
+    jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry, 1));
 };
 
 
 /**
- * @param {!Array} value
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances} returns this
+ * @param {!Array} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos} returns this
 */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances.prototype.setTokenBalancesList = function(value) {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos.prototype.setTokenInfosList = function(value) {
   return jspb.Message.setRepeatedWrapperField(this, 1, value);
 };
 
 
 /**
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry=} opt_value
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry=} opt_value
  * @param {number=} opt_index
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry}
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances.prototype.addTokenBalances = function(opt_value, opt_index) {
-  return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry, opt_index);
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos.prototype.addTokenInfos = function(opt_value, opt_index) {
+  return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry, opt_index);
 };
 
 
 /**
  * Clears the list making it empty but non-null.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos} returns this
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances.prototype.clearTokenBalancesList = function() {
-  return this.setTokenBalancesList([]);
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos.prototype.clearTokenInfosList = function() {
+  return this.setTokenInfosList([]);
 };
 
 
 /**
- * optional TokenBalances token_balances = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances}
+ * optional TokenInfos token_infos = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.prototype.getTokenBalances = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances, 1));
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.prototype.getTokenInfos = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos, 1));
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0} returns this
+ * @param {?proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0} returns this
 */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.prototype.setTokenBalances = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.oneofGroups_[0], value);
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.prototype.setTokenInfos = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.oneofGroups_[0], value);
 };
 
 
 /**
  * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.prototype.clearTokenBalances = function() {
-  return this.setTokenBalances(undefined);
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.prototype.clearTokenInfos = function() {
+  return this.setTokenInfos(undefined);
 };
 
 
@@ -46605,7 +52820,7 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityToke
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.prototype.hasTokenBalances = function() {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.prototype.hasTokenInfos = function() {
   return jspb.Message.getField(this, 1) != null;
 };
 
@@ -46614,7 +52829,7 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityToke
  * optional Proof proof = 2;
  * @return {?proto.org.dash.platform.dapi.v0.Proof}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.prototype.getProof = function() {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.prototype.getProof = function() {
   return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ (
     jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2));
 };
@@ -46622,18 +52837,18 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityToke
 
 /**
  * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0} returns this
 */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.prototype.setProof = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.oneofGroups_[0], value);
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.prototype.setProof = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.oneofGroups_[0], value);
 };
 
 
 /**
  * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.prototype.clearProof = function() {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.prototype.clearProof = function() {
   return this.setProof(undefined);
 };
 
@@ -46642,7 +52857,7 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityToke
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.prototype.hasProof = function() {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.prototype.hasProof = function() {
   return jspb.Message.getField(this, 2) != null;
 };
 
@@ -46651,7 +52866,7 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityToke
  * optional ResponseMetadata metadata = 3;
  * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.prototype.getMetadata = function() {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.prototype.getMetadata = function() {
   return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ (
     jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3));
 };
@@ -46659,18 +52874,18 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityToke
 
 /**
  * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0} returns this
 */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.prototype.setMetadata = function(value) {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.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.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.prototype.clearMetadata = function() {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.prototype.clearMetadata = function() {
   return this.setMetadata(undefined);
 };
 
@@ -46679,35 +52894,35 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityToke
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.prototype.hasMetadata = function() {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.prototype.hasMetadata = function() {
   return jspb.Message.getField(this, 3) != null;
 };
 
 
 /**
- * optional GetIdentityTokenBalancesResponseV0 v0 = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0}
+ * optional GetIdentityTokenInfosResponseV0 v0 = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.prototype.getV0 = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0, 1));
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.prototype.getV0 = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0, 1));
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse} returns this
+ * @param {?proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse} returns this
 */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.prototype.setV0 = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.oneofGroups_[0], value);
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.prototype.setV0 = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.oneofGroups_[0], value);
 };
 
 
 /**
  * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse} returns this
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.prototype.clearV0 = function() {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.prototype.clearV0 = function() {
   return this.setV0(undefined);
 };
 
@@ -46716,7 +52931,7 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.prototype.clear
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.prototype.hasV0 = function() {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.prototype.hasV0 = function() {
   return jspb.Message.getField(this, 1) != null;
 };
 
@@ -46730,21 +52945,21 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.prototype.hasV0
  * @private {!Array>}
  * @const
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.oneofGroups_ = [[1]];
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.oneofGroups_ = [[1]];
 
 /**
  * @enum {number}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.VersionCase = {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.VersionCase = {
   VERSION_NOT_SET: 0,
   V0: 1
 };
 
 /**
- * @return {proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.VersionCase}
+ * @return {proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.VersionCase}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.prototype.getVersionCase = function() {
-  return /** @type {proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.oneofGroups_[0]));
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.prototype.getVersionCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.oneofGroups_[0]));
 };
 
 
@@ -46762,8 +52977,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.toObject(opt_includeInstance, this);
 };
 
 
@@ -46772,13 +52987,13 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.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.GetIdentitiesTokenBalancesRequest} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.toObject = function(includeInstance, msg) {
   var f, obj = {
-    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.toObject(includeInstance, f)
+    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.toObject(includeInstance, f)
   };
 
   if (includeInstance) {
@@ -46792,23 +53007,23 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.toObject = fun
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest}
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest;
-  return proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest;
+  return proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest}
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -46816,8 +53031,8 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.deserializeBin
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.deserializeBinaryFromReader);
+      var value = new proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.deserializeBinaryFromReader);
       msg.setV0(value);
       break;
     default:
@@ -46833,9 +53048,9 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.deserializeBin
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -46843,18 +53058,18 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.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.GetIdentitiesTokenBalancesRequest} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
   f = message.getV0();
   if (f != null) {
     writer.writeMessage(
       1,
       f,
-      proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.serializeBinaryToWriter
     );
   }
 };
@@ -46866,7 +53081,7 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.serializeBinar
  * @private {!Array}
  * @const
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.repeatedFields_ = [2];
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.repeatedFields_ = [2];
 
 
 
@@ -46883,8 +53098,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.toObject(opt_includeInstance, this);
 };
 
 
@@ -46893,11 +53108,11 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesT
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.toObject = function(includeInstance, msg) {
   var f, obj = {
     tokenId: msg.getTokenId_asB64(),
     identityIdsList: msg.getIdentityIdsList_asB64(),
@@ -46915,23 +53130,23 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesT
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0;
-  return proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0;
+  return proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -46963,9 +53178,9 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesT
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -46973,11 +53188,11 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesT
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
   f = message.getTokenId_asU8();
   if (f.length > 0) {
@@ -47007,7 +53222,7 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesT
  * optional bytes token_id = 1;
  * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.prototype.getTokenId = function() {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.prototype.getTokenId = function() {
   return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
 };
 
@@ -47017,7 +53232,7 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesT
  * This is a type-conversion wrapper around `getTokenId()`
  * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.prototype.getTokenId_asB64 = function() {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.prototype.getTokenId_asB64 = function() {
   return /** @type {string} */ (jspb.Message.bytesAsB64(
       this.getTokenId()));
 };
@@ -47030,7 +53245,7 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesT
  * This is a type-conversion wrapper around `getTokenId()`
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.prototype.getTokenId_asU8 = function() {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.prototype.getTokenId_asU8 = function() {
   return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
       this.getTokenId()));
 };
@@ -47038,9 +53253,9 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesT
 
 /**
  * @param {!(string|Uint8Array)} value
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.prototype.setTokenId = function(value) {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.prototype.setTokenId = function(value) {
   return jspb.Message.setProto3BytesField(this, 1, value);
 };
 
@@ -47049,7 +53264,7 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesT
  * repeated bytes identity_ids = 2;
  * @return {!Array}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.prototype.getIdentityIdsList = function() {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.prototype.getIdentityIdsList = function() {
   return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 2));
 };
 
@@ -47059,7 +53274,7 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesT
  * This is a type-conversion wrapper around `getIdentityIdsList()`
  * @return {!Array}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.prototype.getIdentityIdsList_asB64 = function() {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.prototype.getIdentityIdsList_asB64 = function() {
   return /** @type {!Array} */ (jspb.Message.bytesListAsB64(
       this.getIdentityIdsList()));
 };
@@ -47072,7 +53287,7 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesT
  * This is a type-conversion wrapper around `getIdentityIdsList()`
  * @return {!Array}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.prototype.getIdentityIdsList_asU8 = function() {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.prototype.getIdentityIdsList_asU8 = function() {
   return /** @type {!Array} */ (jspb.Message.bytesListAsU8(
       this.getIdentityIdsList()));
 };
@@ -47080,9 +53295,9 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesT
 
 /**
  * @param {!(Array|Array)} value
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.prototype.setIdentityIdsList = function(value) {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.prototype.setIdentityIdsList = function(value) {
   return jspb.Message.setField(this, 2, value || []);
 };
 
@@ -47090,18 +53305,18 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesT
 /**
  * @param {!(string|Uint8Array)} value
  * @param {number=} opt_index
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.prototype.addIdentityIds = function(value, opt_index) {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.prototype.addIdentityIds = function(value, opt_index) {
   return jspb.Message.addToRepeatedField(this, 2, value, opt_index);
 };
 
 
 /**
  * Clears the list making it empty but non-null.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.prototype.clearIdentityIdsList = function() {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.prototype.clearIdentityIdsList = function() {
   return this.setIdentityIdsList([]);
 };
 
@@ -47110,44 +53325,44 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesT
  * optional bool prove = 3;
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.prototype.getProve = function() {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.prototype.getProve = function() {
   return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 3, false));
 };
 
 
 /**
  * @param {boolean} value
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.prototype.setProve = function(value) {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.prototype.setProve = function(value) {
   return jspb.Message.setProto3BooleanField(this, 3, value);
 };
 
 
 /**
- * optional GetIdentitiesTokenBalancesRequestV0 v0 = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0}
+ * optional GetIdentitiesTokenInfosRequestV0 v0 = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.prototype.getV0 = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0, 1));
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.prototype.getV0 = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0, 1));
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest} returns this
+ * @param {?proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest} returns this
 */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.prototype.setV0 = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.oneofGroups_[0], value);
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.prototype.setV0 = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.oneofGroups_[0], value);
 };
 
 
 /**
  * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest} returns this
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.prototype.clearV0 = function() {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.prototype.clearV0 = function() {
   return this.setV0(undefined);
 };
 
@@ -47156,7 +53371,7 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.prototype.clea
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.prototype.hasV0 = function() {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.prototype.hasV0 = function() {
   return jspb.Message.getField(this, 1) != null;
 };
 
@@ -47170,21 +53385,21 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.prototype.hasV
  * @private {!Array>}
  * @const
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.oneofGroups_ = [[1]];
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.oneofGroups_ = [[1]];
 
 /**
  * @enum {number}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.VersionCase = {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.VersionCase = {
   VERSION_NOT_SET: 0,
   V0: 1
 };
 
 /**
- * @return {proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.VersionCase}
+ * @return {proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.VersionCase}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.prototype.getVersionCase = function() {
-  return /** @type {proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.oneofGroups_[0]));
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.prototype.getVersionCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.oneofGroups_[0]));
 };
 
 
@@ -47202,8 +53417,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.toObject(opt_includeInstance, this);
 };
 
 
@@ -47212,13 +53427,13 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.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.GetIdentitiesTokenBalancesResponse} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.toObject = function(includeInstance, msg) {
   var f, obj = {
-    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.toObject(includeInstance, f)
+    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.toObject(includeInstance, f)
   };
 
   if (includeInstance) {
@@ -47232,23 +53447,23 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.toObject = fu
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse}
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse;
-  return proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse;
+  return proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse}
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -47256,8 +53471,8 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.deserializeBi
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.deserializeBinaryFromReader);
+      var value = new proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.deserializeBinaryFromReader);
       msg.setV0(value);
       break;
     default:
@@ -47273,9 +53488,9 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.deserializeBi
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -47283,18 +53498,18 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.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.GetIdentitiesTokenBalancesResponse} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
   f = message.getV0();
   if (f != null) {
     writer.writeMessage(
       1,
       f,
-      proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.serializeBinaryToWriter
     );
   }
 };
@@ -47309,22 +53524,22 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.serializeBina
  * @private {!Array>}
  * @const
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.oneofGroups_ = [[1,2]];
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.oneofGroups_ = [[1,2]];
 
 /**
  * @enum {number}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.ResultCase = {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.ResultCase = {
   RESULT_NOT_SET: 0,
-  IDENTITY_TOKEN_BALANCES: 1,
+  IDENTITY_TOKEN_INFOS: 1,
   PROOF: 2
 };
 
 /**
- * @return {proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.ResultCase}
+ * @return {proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.ResultCase}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.prototype.getResultCase = function() {
-  return /** @type {proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.oneofGroups_[0]));
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.prototype.getResultCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.oneofGroups_[0]));
 };
 
 
@@ -47342,8 +53557,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.toObject(opt_includeInstance, this);
 };
 
 
@@ -47352,13 +53567,13 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentities
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.toObject = function(includeInstance, msg) {
   var f, obj = {
-    identityTokenBalances: (f = msg.getIdentityTokenBalances()) && proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances.toObject(includeInstance, f),
+    identityTokenInfos: (f = msg.getIdentityTokenInfos()) && proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos.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)
   };
@@ -47374,23 +53589,23 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentities
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0;
-  return proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0;
+  return proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -47398,9 +53613,9 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentities
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances.deserializeBinaryFromReader);
-      msg.setIdentityTokenBalances(value);
+      var value = new proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos.deserializeBinaryFromReader);
+      msg.setIdentityTokenInfos(value);
       break;
     case 2:
       var value = new proto.org.dash.platform.dapi.v0.Proof;
@@ -47425,9 +53640,9 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentities
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -47435,18 +53650,18 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentities
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getIdentityTokenBalances();
+  f = message.getIdentityTokenInfos();
   if (f != null) {
     writer.writeMessage(
       1,
       f,
-      proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos.serializeBinaryToWriter
     );
   }
   f = message.getProof();
@@ -47484,8 +53699,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry.toObject(opt_includeInstance, this);
 };
 
 
@@ -47494,14 +53709,144 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentities
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry.toObject = function(includeInstance, msg) {
+  var f, obj = {
+    frozen: jspb.Message.getBooleanFieldWithDefault(msg, 1, 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.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry}
+ */
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry.deserializeBinary = function(bytes) {
+  var reader = new jspb.BinaryReader(bytes);
+  var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry;
+  return proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry.deserializeBinaryFromReader(msg, reader);
+};
+
+
+/**
+ * Deserializes binary data (in protobuf wire format) from the
+ * given reader into the given message object.
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry} msg The message object to deserialize into.
+ * @param {!jspb.BinaryReader} reader The BinaryReader to use.
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry}
+ */
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry.deserializeBinaryFromReader = function(msg, reader) {
+  while (reader.nextField()) {
+    if (reader.isEndGroup()) {
+      break;
+    }
+    var field = reader.getFieldNumber();
+    switch (field) {
+    case 1:
+      var value = /** @type {boolean} */ (reader.readBool());
+      msg.setFrozen(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.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry.prototype.serializeBinary = function() {
+  var writer = new jspb.BinaryWriter();
+  proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry.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.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry} message
+ * @param {!jspb.BinaryWriter} writer
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry.serializeBinaryToWriter = function(message, writer) {
+  var f = undefined;
+  f = message.getFrozen();
+  if (f) {
+    writer.writeBool(
+      1,
+      f
+    );
+  }
+};
+
+
+/**
+ * optional bool frozen = 1;
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry.prototype.getFrozen = function() {
+  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 1, false));
+};
+
+
+/**
+ * @param {boolean} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry.prototype.setFrozen = function(value) {
+  return jspb.Message.setProto3BooleanField(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.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry.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.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry} msg The msg instance to transform.
+ * @return {!Object}
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry.toObject = function(includeInstance, msg) {
   var f, obj = {
     identityId: msg.getIdentityId_asB64(),
-    balance: jspb.Message.getFieldWithDefault(msg, 2, 0)
+    info: (f = msg.getInfo()) && proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry.toObject(includeInstance, f)
   };
 
   if (includeInstance) {
@@ -47515,23 +53860,23 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentities
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry}
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry;
-  return proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry;
+  return proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry}
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -47543,8 +53888,9 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentities
       msg.setIdentityId(value);
       break;
     case 2:
-      var value = /** @type {number} */ (reader.readUint64());
-      msg.setBalance(value);
+      var value = new proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry.deserializeBinaryFromReader);
+      msg.setInfo(value);
       break;
     default:
       reader.skipField();
@@ -47559,9 +53905,9 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentities
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -47569,11 +53915,11 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentities
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
   f = message.getIdentityId_asU8();
   if (f.length > 0) {
@@ -47582,11 +53928,12 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentities
       f
     );
   }
-  f = /** @type {number} */ (jspb.Message.getField(message, 2));
+  f = message.getInfo();
   if (f != null) {
-    writer.writeUint64(
+    writer.writeMessage(
       2,
-      f
+      f,
+      proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry.serializeBinaryToWriter
     );
   }
 };
@@ -47596,7 +53943,7 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentities
  * optional bytes identity_id = 1;
  * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry.prototype.getIdentityId = function() {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry.prototype.getIdentityId = function() {
   return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
 };
 
@@ -47606,7 +53953,7 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentities
  * This is a type-conversion wrapper around `getIdentityId()`
  * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry.prototype.getIdentityId_asB64 = function() {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry.prototype.getIdentityId_asB64 = function() {
   return /** @type {string} */ (jspb.Message.bytesAsB64(
       this.getIdentityId()));
 };
@@ -47619,7 +53966,7 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentities
  * This is a type-conversion wrapper around `getIdentityId()`
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry.prototype.getIdentityId_asU8 = function() {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry.prototype.getIdentityId_asU8 = function() {
   return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
       this.getIdentityId()));
 };
@@ -47627,37 +53974,38 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentities
 
 /**
  * @param {!(string|Uint8Array)} value
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry} returns this
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry.prototype.setIdentityId = function(value) {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry.prototype.setIdentityId = function(value) {
   return jspb.Message.setProto3BytesField(this, 1, value);
 };
 
 
 /**
- * optional uint64 balance = 2;
- * @return {number}
+ * optional TokenIdentityInfoEntry info = 2;
+ * @return {?proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry.prototype.getBalance = function() {
-  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry.prototype.getInfo = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry, 2));
 };
 
 
 /**
- * @param {number} value
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry} returns this
- */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry.prototype.setBalance = function(value) {
-  return jspb.Message.setField(this, 2, value);
+ * @param {?proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry.prototype.setInfo = function(value) {
+  return jspb.Message.setWrapperField(this, 2, value);
 };
 
 
 /**
- * Clears the field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry} returns this
+ * Clears the message field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry} returns this
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry.prototype.clearBalance = function() {
-  return jspb.Message.setField(this, 2, undefined);
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry.prototype.clearInfo = function() {
+  return this.setInfo(undefined);
 };
 
 
@@ -47665,7 +54013,7 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentities
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry.prototype.hasBalance = function() {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry.prototype.hasInfo = function() {
   return jspb.Message.getField(this, 2) != null;
 };
 
@@ -47676,7 +54024,7 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentities
  * @private {!Array}
  * @const
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances.repeatedFields_ = [1];
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos.repeatedFields_ = [1];
 
 
 
@@ -47693,8 +54041,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos.toObject(opt_includeInstance, this);
 };
 
 
@@ -47703,14 +54051,14 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentities
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos.toObject = function(includeInstance, msg) {
   var f, obj = {
-    identityTokenBalancesList: jspb.Message.toObjectList(msg.getIdentityTokenBalancesList(),
-    proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry.toObject, includeInstance)
+    tokenInfosList: jspb.Message.toObjectList(msg.getTokenInfosList(),
+    proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry.toObject, includeInstance)
   };
 
   if (includeInstance) {
@@ -47724,23 +54072,23 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentities
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances}
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances;
-  return proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos;
+  return proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances}
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -47748,9 +54096,9 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentities
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry.deserializeBinaryFromReader);
-      msg.addIdentityTokenBalances(value);
+      var value = new proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry.deserializeBinaryFromReader);
+      msg.addTokenInfos(value);
       break;
     default:
       reader.skipField();
@@ -47765,9 +54113,9 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentities
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -47775,86 +54123,86 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentities
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getIdentityTokenBalancesList();
+  f = message.getTokenInfosList();
   if (f.length > 0) {
     writer.writeRepeatedMessage(
       1,
       f,
-      proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry.serializeBinaryToWriter
     );
   }
 };
 
 
 /**
- * repeated IdentityTokenBalanceEntry identity_token_balances = 1;
- * @return {!Array}
+ * repeated TokenInfoEntry token_infos = 1;
+ * @return {!Array}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances.prototype.getIdentityTokenBalancesList = function() {
-  return /** @type{!Array} */ (
-    jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry, 1));
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos.prototype.getTokenInfosList = function() {
+  return /** @type{!Array} */ (
+    jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry, 1));
 };
 
 
 /**
- * @param {!Array} value
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances} returns this
+ * @param {!Array} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos} returns this
 */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances.prototype.setIdentityTokenBalancesList = function(value) {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos.prototype.setTokenInfosList = function(value) {
   return jspb.Message.setRepeatedWrapperField(this, 1, value);
 };
 
 
 /**
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry=} opt_value
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry=} opt_value
  * @param {number=} opt_index
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry}
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances.prototype.addIdentityTokenBalances = function(opt_value, opt_index) {
-  return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry, opt_index);
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos.prototype.addTokenInfos = function(opt_value, opt_index) {
+  return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry, opt_index);
 };
 
 
 /**
  * Clears the list making it empty but non-null.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos} returns this
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances.prototype.clearIdentityTokenBalancesList = function() {
-  return this.setIdentityTokenBalancesList([]);
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos.prototype.clearTokenInfosList = function() {
+  return this.setTokenInfosList([]);
 };
 
 
 /**
- * optional IdentityTokenBalances identity_token_balances = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances}
+ * optional IdentityTokenInfos identity_token_infos = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.prototype.getIdentityTokenBalances = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances, 1));
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.prototype.getIdentityTokenInfos = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos, 1));
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0} returns this
+ * @param {?proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0} returns this
 */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.prototype.setIdentityTokenBalances = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.oneofGroups_[0], value);
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.prototype.setIdentityTokenInfos = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.oneofGroups_[0], value);
 };
 
 
 /**
  * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.prototype.clearIdentityTokenBalances = function() {
-  return this.setIdentityTokenBalances(undefined);
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.prototype.clearIdentityTokenInfos = function() {
+  return this.setIdentityTokenInfos(undefined);
 };
 
 
@@ -47862,7 +54210,7 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentities
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.prototype.hasIdentityTokenBalances = function() {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.prototype.hasIdentityTokenInfos = function() {
   return jspb.Message.getField(this, 1) != null;
 };
 
@@ -47871,7 +54219,7 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentities
  * optional Proof proof = 2;
  * @return {?proto.org.dash.platform.dapi.v0.Proof}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.prototype.getProof = function() {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.prototype.getProof = function() {
   return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ (
     jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2));
 };
@@ -47879,18 +54227,18 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentities
 
 /**
  * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0} returns this
 */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.prototype.setProof = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.oneofGroups_[0], value);
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.prototype.setProof = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.oneofGroups_[0], value);
 };
 
 
 /**
  * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.prototype.clearProof = function() {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.prototype.clearProof = function() {
   return this.setProof(undefined);
 };
 
@@ -47899,7 +54247,7 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentities
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.prototype.hasProof = function() {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.prototype.hasProof = function() {
   return jspb.Message.getField(this, 2) != null;
 };
 
@@ -47908,7 +54256,7 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentities
  * optional ResponseMetadata metadata = 3;
  * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.prototype.getMetadata = function() {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.prototype.getMetadata = function() {
   return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ (
     jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3));
 };
@@ -47916,18 +54264,18 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentities
 
 /**
  * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0} returns this
 */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.prototype.setMetadata = function(value) {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.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.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.prototype.clearMetadata = function() {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.prototype.clearMetadata = function() {
   return this.setMetadata(undefined);
 };
 
@@ -47936,35 +54284,35 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentities
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.prototype.hasMetadata = function() {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.prototype.hasMetadata = function() {
   return jspb.Message.getField(this, 3) != null;
 };
 
 
 /**
- * optional GetIdentitiesTokenBalancesResponseV0 v0 = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0}
+ * optional GetIdentitiesTokenInfosResponseV0 v0 = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.prototype.getV0 = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0, 1));
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.prototype.getV0 = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0, 1));
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse} returns this
+ * @param {?proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse} returns this
 */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.prototype.setV0 = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.oneofGroups_[0], value);
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.prototype.setV0 = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.oneofGroups_[0], value);
 };
 
 
 /**
  * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse} returns this
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.prototype.clearV0 = function() {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.prototype.clearV0 = function() {
   return this.setV0(undefined);
 };
 
@@ -47973,7 +54321,7 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.prototype.cle
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.prototype.hasV0 = function() {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.prototype.hasV0 = function() {
   return jspb.Message.getField(this, 1) != null;
 };
 
@@ -47987,21 +54335,21 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.prototype.has
  * @private {!Array>}
  * @const
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.oneofGroups_ = [[1]];
+proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.oneofGroups_ = [[1]];
 
 /**
  * @enum {number}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.VersionCase = {
+proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.VersionCase = {
   VERSION_NOT_SET: 0,
   V0: 1
 };
 
 /**
- * @return {proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.VersionCase}
+ * @return {proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.VersionCase}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.prototype.getVersionCase = function() {
-  return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.oneofGroups_[0]));
+proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.prototype.getVersionCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.oneofGroups_[0]));
 };
 
 
@@ -48019,8 +54367,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.toObject(opt_includeInstance, this);
 };
 
 
@@ -48029,13 +54377,13 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.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.GetIdentityTokenInfosRequest} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.toObject = function(includeInstance, msg) {
   var f, obj = {
-    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.toObject(includeInstance, f)
+    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0.toObject(includeInstance, f)
   };
 
   if (includeInstance) {
@@ -48049,23 +54397,23 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.toObject = function
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest;
-  return proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest;
+  return proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -48073,8 +54421,8 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.deserializeBinaryFr
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.deserializeBinaryFromReader);
+      var value = new proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0.deserializeBinaryFromReader);
       msg.setV0(value);
       break;
     default:
@@ -48090,9 +54438,9 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.deserializeBinaryFr
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -48100,18 +54448,18 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.prototype.serialize
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
   f = message.getV0();
   if (f != null) {
     writer.writeMessage(
       1,
       f,
-      proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0.serializeBinaryToWriter
     );
   }
 };
@@ -48123,7 +54471,7 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.serializeBinaryToWr
  * @private {!Array}
  * @const
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.repeatedFields_ = [2];
+proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0.repeatedFields_ = [1];
 
 
 
@@ -48140,8 +54488,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0.toObject(opt_includeInstance, this);
 };
 
 
@@ -48150,15 +54498,14 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInf
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0.toObject = function(includeInstance, msg) {
   var f, obj = {
-    identityId: msg.getIdentityId_asB64(),
     tokenIdsList: msg.getTokenIdsList_asB64(),
-    prove: jspb.Message.getBooleanFieldWithDefault(msg, 3, false)
+    prove: jspb.Message.getBooleanFieldWithDefault(msg, 2, false)
   };
 
   if (includeInstance) {
@@ -48172,23 +54519,23 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInf
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0;
-  return proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0;
+  return proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -48196,14 +54543,10 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInf
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = /** @type {!Uint8Array} */ (reader.readBytes());
-      msg.setIdentityId(value);
-      break;
-    case 2:
       var value = /** @type {!Uint8Array} */ (reader.readBytes());
       msg.addTokenIds(value);
       break;
-    case 3:
+    case 2:
       var value = /** @type {boolean} */ (reader.readBool());
       msg.setProve(value);
       break;
@@ -48220,9 +54563,9 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInf
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -48230,30 +54573,23 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInf
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getIdentityId_asU8();
-  if (f.length > 0) {
-    writer.writeBytes(
-      1,
-      f
-    );
-  }
   f = message.getTokenIdsList_asU8();
   if (f.length > 0) {
     writer.writeRepeatedBytes(
-      2,
+      1,
       f
     );
   }
   f = message.getProve();
   if (f) {
     writer.writeBool(
-      3,
+      2,
       f
     );
   }
@@ -48261,75 +54597,33 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInf
 
 
 /**
- * optional bytes identity_id = 1;
- * @return {string}
- */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.prototype.getIdentityId = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
-};
-
-
-/**
- * optional bytes identity_id = 1;
- * This is a type-conversion wrapper around `getIdentityId()`
- * @return {string}
- */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.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.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.prototype.getIdentityId_asU8 = function() {
-  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
-      this.getIdentityId()));
-};
-
-
-/**
- * @param {!(string|Uint8Array)} value
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0} returns this
- */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.prototype.setIdentityId = function(value) {
-  return jspb.Message.setProto3BytesField(this, 1, value);
-};
-
-
-/**
- * repeated bytes token_ids = 2;
+ * repeated bytes token_ids = 1;
  * @return {!Array}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.prototype.getTokenIdsList = function() {
-  return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 2));
+proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0.prototype.getTokenIdsList = function() {
+  return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1));
 };
 
 
 /**
- * repeated bytes token_ids = 2;
+ * repeated bytes token_ids = 1;
  * This is a type-conversion wrapper around `getTokenIdsList()`
  * @return {!Array}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.prototype.getTokenIdsList_asB64 = function() {
+proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0.prototype.getTokenIdsList_asB64 = function() {
   return /** @type {!Array} */ (jspb.Message.bytesListAsB64(
       this.getTokenIdsList()));
 };
 
 
 /**
- * repeated bytes token_ids = 2;
+ * repeated bytes token_ids = 1;
  * Note that Uint8Array is not supported on all browsers.
  * @see http://caniuse.com/Uint8Array
  * This is a type-conversion wrapper around `getTokenIdsList()`
  * @return {!Array}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.prototype.getTokenIdsList_asU8 = function() {
+proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0.prototype.getTokenIdsList_asU8 = function() {
   return /** @type {!Array} */ (jspb.Message.bytesListAsU8(
       this.getTokenIdsList()));
 };
@@ -48337,74 +54631,74 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInf
 
 /**
  * @param {!(Array|Array)} value
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.prototype.setTokenIdsList = function(value) {
-  return jspb.Message.setField(this, 2, value || []);
+proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0.prototype.setTokenIdsList = function(value) {
+  return jspb.Message.setField(this, 1, value || []);
 };
 
 
 /**
  * @param {!(string|Uint8Array)} value
  * @param {number=} opt_index
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.prototype.addTokenIds = function(value, opt_index) {
-  return jspb.Message.addToRepeatedField(this, 2, value, opt_index);
+proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0.prototype.addTokenIds = 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.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.prototype.clearTokenIdsList = function() {
+proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0.prototype.clearTokenIdsList = function() {
   return this.setTokenIdsList([]);
 };
 
 
 /**
- * optional bool prove = 3;
+ * optional bool prove = 2;
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.prototype.getProve = function() {
-  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 3, false));
+proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0.prototype.getProve = function() {
+  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));
 };
 
 
 /**
  * @param {boolean} value
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.prototype.setProve = function(value) {
-  return jspb.Message.setProto3BooleanField(this, 3, value);
+proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0.prototype.setProve = function(value) {
+  return jspb.Message.setProto3BooleanField(this, 2, value);
 };
 
 
 /**
- * optional GetIdentityTokenInfosRequestV0 v0 = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0}
+ * optional GetTokenStatusesRequestV0 v0 = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.prototype.getV0 = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0, 1));
+proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.prototype.getV0 = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0, 1));
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest} returns this
+ * @param {?proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest} returns this
 */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.prototype.setV0 = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.oneofGroups_[0], value);
+proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.prototype.setV0 = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.oneofGroups_[0], value);
 };
 
 
 /**
  * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest} returns this
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.prototype.clearV0 = function() {
+proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.prototype.clearV0 = function() {
   return this.setV0(undefined);
 };
 
@@ -48413,7 +54707,7 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.prototype.clearV0 =
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.prototype.hasV0 = function() {
+proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.prototype.hasV0 = function() {
   return jspb.Message.getField(this, 1) != null;
 };
 
@@ -48427,21 +54721,21 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.prototype.hasV0 = f
  * @private {!Array>}
  * @const
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.oneofGroups_ = [[1]];
+proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.oneofGroups_ = [[1]];
 
 /**
  * @enum {number}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.VersionCase = {
+proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.VersionCase = {
   VERSION_NOT_SET: 0,
   V0: 1
 };
 
 /**
- * @return {proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.VersionCase}
+ * @return {proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.VersionCase}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.prototype.getVersionCase = function() {
-  return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.oneofGroups_[0]));
+proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.prototype.getVersionCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.oneofGroups_[0]));
 };
 
 
@@ -48459,8 +54753,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.toObject(opt_includeInstance, this);
 };
 
 
@@ -48469,13 +54763,13 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.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.GetIdentityTokenInfosResponse} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.toObject = function(includeInstance, msg) {
   var f, obj = {
-    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.toObject(includeInstance, f)
+    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.toObject(includeInstance, f)
   };
 
   if (includeInstance) {
@@ -48489,23 +54783,23 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.toObject = functio
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse;
-  return proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse;
+  return proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -48513,8 +54807,8 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.deserializeBinaryF
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.deserializeBinaryFromReader);
+      var value = new proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.deserializeBinaryFromReader);
       msg.setV0(value);
       break;
     default:
@@ -48530,9 +54824,9 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.deserializeBinaryF
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -48540,18 +54834,18 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.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.GetIdentityTokenInfosResponse} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
   f = message.getV0();
   if (f != null) {
     writer.writeMessage(
       1,
       f,
-      proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.serializeBinaryToWriter
     );
   }
 };
@@ -48566,22 +54860,22 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.serializeBinaryToW
  * @private {!Array>}
  * @const
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.oneofGroups_ = [[1,2]];
+proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.oneofGroups_ = [[1,2]];
 
 /**
  * @enum {number}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.ResultCase = {
+proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.ResultCase = {
   RESULT_NOT_SET: 0,
-  TOKEN_INFOS: 1,
+  TOKEN_STATUSES: 1,
   PROOF: 2
 };
 
 /**
- * @return {proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.ResultCase}
+ * @return {proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.ResultCase}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.prototype.getResultCase = function() {
-  return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.oneofGroups_[0]));
+proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.prototype.getResultCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.oneofGroups_[0]));
 };
 
 
@@ -48599,8 +54893,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.toObject(opt_includeInstance, this);
 };
 
 
@@ -48609,13 +54903,13 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenIn
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.toObject = function(includeInstance, msg) {
   var f, obj = {
-    tokenInfos: (f = msg.getTokenInfos()) && proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos.toObject(includeInstance, f),
+    tokenStatuses: (f = msg.getTokenStatuses()) && proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses.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)
   };
@@ -48631,23 +54925,23 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenIn
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0;
-  return proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0;
+  return proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -48655,9 +54949,9 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenIn
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos.deserializeBinaryFromReader);
-      msg.setTokenInfos(value);
+      var value = new proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses.deserializeBinaryFromReader);
+      msg.setTokenStatuses(value);
       break;
     case 2:
       var value = new proto.org.dash.platform.dapi.v0.Proof;
@@ -48682,9 +54976,9 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenIn
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -48692,18 +54986,18 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenIn
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getTokenInfos();
+  f = message.getTokenStatuses();
   if (f != null) {
     writer.writeMessage(
       1,
       f,
-      proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses.serializeBinaryToWriter
     );
   }
   f = message.getProof();
@@ -48741,138 +55035,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry.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.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry} msg The msg instance to transform.
- * @return {!Object}
- * @suppress {unusedLocalVariables} f is only used for nested messages
- */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry.toObject = function(includeInstance, msg) {
-  var f, obj = {
-    frozen: jspb.Message.getBooleanFieldWithDefault(msg, 1, 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.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry}
- */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry.deserializeBinary = function(bytes) {
-  var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry;
-  return proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry.deserializeBinaryFromReader(msg, reader);
-};
-
-
-/**
- * Deserializes binary data (in protobuf wire format) from the
- * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry} msg The message object to deserialize into.
- * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry}
- */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry.deserializeBinaryFromReader = function(msg, reader) {
-  while (reader.nextField()) {
-    if (reader.isEndGroup()) {
-      break;
-    }
-    var field = reader.getFieldNumber();
-    switch (field) {
-    case 1:
-      var value = /** @type {boolean} */ (reader.readBool());
-      msg.setFrozen(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.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry.prototype.serializeBinary = function() {
-  var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry.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.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry} message
- * @param {!jspb.BinaryWriter} writer
- * @suppress {unusedLocalVariables} f is only used for nested messages
- */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry.serializeBinaryToWriter = function(message, writer) {
-  var f = undefined;
-  f = message.getFrozen();
-  if (f) {
-    writer.writeBool(
-      1,
-      f
-    );
-  }
-};
-
-
-/**
- * optional bool frozen = 1;
- * @return {boolean}
- */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry.prototype.getFrozen = function() {
-  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 1, false));
-};
-
-
-/**
- * @param {boolean} value
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry} returns this
- */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry.prototype.setFrozen = function(value) {
-  return jspb.Message.setProto3BooleanField(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.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry.toObject(opt_includeInstance, this);
 };
 
 
@@ -48881,14 +55045,14 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenIn
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry.toObject = function(includeInstance, msg) {
   var f, obj = {
     tokenId: msg.getTokenId_asB64(),
-    info: (f = msg.getInfo()) && proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry.toObject(includeInstance, f)
+    paused: jspb.Message.getBooleanFieldWithDefault(msg, 2, false)
   };
 
   if (includeInstance) {
@@ -48902,23 +55066,23 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenIn
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry;
-  return proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry;
+  return proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -48930,9 +55094,8 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenIn
       msg.setTokenId(value);
       break;
     case 2:
-      var value = new proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry.deserializeBinaryFromReader);
-      msg.setInfo(value);
+      var value = /** @type {boolean} */ (reader.readBool());
+      msg.setPaused(value);
       break;
     default:
       reader.skipField();
@@ -48947,9 +55110,9 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenIn
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -48957,11 +55120,11 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenIn
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
   f = message.getTokenId_asU8();
   if (f.length > 0) {
@@ -48970,12 +55133,11 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenIn
       f
     );
   }
-  f = message.getInfo();
+  f = /** @type {boolean} */ (jspb.Message.getField(message, 2));
   if (f != null) {
-    writer.writeMessage(
+    writer.writeBool(
       2,
-      f,
-      proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry.serializeBinaryToWriter
+      f
     );
   }
 };
@@ -48985,7 +55147,7 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenIn
  * optional bytes token_id = 1;
  * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry.prototype.getTokenId = function() {
+proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry.prototype.getTokenId = function() {
   return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
 };
 
@@ -48995,7 +55157,7 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenIn
  * This is a type-conversion wrapper around `getTokenId()`
  * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry.prototype.getTokenId_asB64 = function() {
+proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry.prototype.getTokenId_asB64 = function() {
   return /** @type {string} */ (jspb.Message.bytesAsB64(
       this.getTokenId()));
 };
@@ -49008,7 +55170,7 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenIn
  * This is a type-conversion wrapper around `getTokenId()`
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry.prototype.getTokenId_asU8 = function() {
+proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry.prototype.getTokenId_asU8 = function() {
   return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
       this.getTokenId()));
 };
@@ -49016,38 +55178,37 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenIn
 
 /**
  * @param {!(string|Uint8Array)} value
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry} returns this
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry.prototype.setTokenId = function(value) {
+proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry.prototype.setTokenId = function(value) {
   return jspb.Message.setProto3BytesField(this, 1, value);
 };
 
 
 /**
- * optional TokenIdentityInfoEntry info = 2;
- * @return {?proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry}
+ * optional bool paused = 2;
+ * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry.prototype.getInfo = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry, 2));
+proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry.prototype.getPaused = function() {
+  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry} returns this
-*/
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry.prototype.setInfo = function(value) {
-  return jspb.Message.setWrapperField(this, 2, value);
+ * @param {boolean} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry.prototype.setPaused = function(value) {
+  return jspb.Message.setField(this, 2, value);
 };
 
 
-/**
- * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry} returns this
+/**
+ * Clears the field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry} returns this
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry.prototype.clearInfo = function() {
-  return this.setInfo(undefined);
+proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry.prototype.clearPaused = function() {
+  return jspb.Message.setField(this, 2, undefined);
 };
 
 
@@ -49055,7 +55216,7 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenIn
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry.prototype.hasInfo = function() {
+proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry.prototype.hasPaused = function() {
   return jspb.Message.getField(this, 2) != null;
 };
 
@@ -49066,7 +55227,7 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenIn
  * @private {!Array}
  * @const
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos.repeatedFields_ = [1];
+proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses.repeatedFields_ = [1];
 
 
 
@@ -49083,8 +55244,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses.toObject(opt_includeInstance, this);
 };
 
 
@@ -49093,14 +55254,14 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenIn
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses.toObject = function(includeInstance, msg) {
   var f, obj = {
-    tokenInfosList: jspb.Message.toObjectList(msg.getTokenInfosList(),
-    proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry.toObject, includeInstance)
+    tokenStatusesList: jspb.Message.toObjectList(msg.getTokenStatusesList(),
+    proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry.toObject, includeInstance)
   };
 
   if (includeInstance) {
@@ -49114,23 +55275,23 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenIn
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos;
-  return proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses;
+  return proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -49138,9 +55299,9 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenIn
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry.deserializeBinaryFromReader);
-      msg.addTokenInfos(value);
+      var value = new proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry.deserializeBinaryFromReader);
+      msg.addTokenStatuses(value);
       break;
     default:
       reader.skipField();
@@ -49155,9 +55316,9 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenIn
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -49165,86 +55326,86 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenIn
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getTokenInfosList();
+  f = message.getTokenStatusesList();
   if (f.length > 0) {
     writer.writeRepeatedMessage(
       1,
       f,
-      proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry.serializeBinaryToWriter
     );
   }
 };
 
 
 /**
- * repeated TokenInfoEntry token_infos = 1;
- * @return {!Array}
+ * repeated TokenStatusEntry token_statuses = 1;
+ * @return {!Array}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos.prototype.getTokenInfosList = function() {
-  return /** @type{!Array} */ (
-    jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry, 1));
+proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses.prototype.getTokenStatusesList = function() {
+  return /** @type{!Array} */ (
+    jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry, 1));
 };
 
 
 /**
- * @param {!Array} value
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos} returns this
+ * @param {!Array} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses} returns this
 */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos.prototype.setTokenInfosList = function(value) {
+proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses.prototype.setTokenStatusesList = function(value) {
   return jspb.Message.setRepeatedWrapperField(this, 1, value);
 };
 
 
 /**
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry=} opt_value
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry=} opt_value
  * @param {number=} opt_index
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos.prototype.addTokenInfos = function(opt_value, opt_index) {
-  return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry, opt_index);
+proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses.prototype.addTokenStatuses = function(opt_value, opt_index) {
+  return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry, opt_index);
 };
 
 
 /**
  * Clears the list making it empty but non-null.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses} returns this
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos.prototype.clearTokenInfosList = function() {
-  return this.setTokenInfosList([]);
+proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses.prototype.clearTokenStatusesList = function() {
+  return this.setTokenStatusesList([]);
 };
 
 
 /**
- * optional TokenInfos token_infos = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos}
+ * optional TokenStatuses token_statuses = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.prototype.getTokenInfos = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos, 1));
+proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.prototype.getTokenStatuses = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses, 1));
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0} returns this
+ * @param {?proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0} returns this
 */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.prototype.setTokenInfos = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.oneofGroups_[0], value);
+proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.prototype.setTokenStatuses = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.oneofGroups_[0], value);
 };
 
 
 /**
  * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.prototype.clearTokenInfos = function() {
-  return this.setTokenInfos(undefined);
+proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.prototype.clearTokenStatuses = function() {
+  return this.setTokenStatuses(undefined);
 };
 
 
@@ -49252,7 +55413,7 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenIn
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.prototype.hasTokenInfos = function() {
+proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.prototype.hasTokenStatuses = function() {
   return jspb.Message.getField(this, 1) != null;
 };
 
@@ -49261,7 +55422,7 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenIn
  * optional Proof proof = 2;
  * @return {?proto.org.dash.platform.dapi.v0.Proof}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.prototype.getProof = function() {
+proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.prototype.getProof = function() {
   return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ (
     jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2));
 };
@@ -49269,18 +55430,18 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenIn
 
 /**
  * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0} returns this
 */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.prototype.setProof = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.oneofGroups_[0], value);
+proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.prototype.setProof = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.oneofGroups_[0], value);
 };
 
 
 /**
  * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.prototype.clearProof = function() {
+proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.prototype.clearProof = function() {
   return this.setProof(undefined);
 };
 
@@ -49289,7 +55450,7 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenIn
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.prototype.hasProof = function() {
+proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.prototype.hasProof = function() {
   return jspb.Message.getField(this, 2) != null;
 };
 
@@ -49298,7 +55459,7 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenIn
  * optional ResponseMetadata metadata = 3;
  * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.prototype.getMetadata = function() {
+proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.prototype.getMetadata = function() {
   return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ (
     jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3));
 };
@@ -49306,18 +55467,18 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenIn
 
 /**
  * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0} returns this
 */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.prototype.setMetadata = function(value) {
+proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.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.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.prototype.clearMetadata = function() {
+proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.prototype.clearMetadata = function() {
   return this.setMetadata(undefined);
 };
 
@@ -49326,35 +55487,35 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenIn
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.prototype.hasMetadata = function() {
+proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.prototype.hasMetadata = function() {
   return jspb.Message.getField(this, 3) != null;
 };
 
 
 /**
- * optional GetIdentityTokenInfosResponseV0 v0 = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0}
+ * optional GetTokenStatusesResponseV0 v0 = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.prototype.getV0 = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0, 1));
+proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.prototype.getV0 = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0, 1));
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse} returns this
+ * @param {?proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse} returns this
 */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.prototype.setV0 = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.oneofGroups_[0], value);
+proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.prototype.setV0 = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.oneofGroups_[0], value);
 };
 
 
 /**
  * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse} returns this
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.prototype.clearV0 = function() {
+proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.prototype.clearV0 = function() {
   return this.setV0(undefined);
 };
 
@@ -49363,7 +55524,7 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.prototype.clearV0
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.prototype.hasV0 = function() {
+proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.prototype.hasV0 = function() {
   return jspb.Message.getField(this, 1) != null;
 };
 
@@ -49377,21 +55538,21 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.prototype.hasV0 =
  * @private {!Array>}
  * @const
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.oneofGroups_ = [[1]];
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.oneofGroups_ = [[1]];
 
 /**
  * @enum {number}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.VersionCase = {
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.VersionCase = {
   VERSION_NOT_SET: 0,
   V0: 1
 };
 
 /**
- * @return {proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.VersionCase}
+ * @return {proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.VersionCase}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.prototype.getVersionCase = function() {
-  return /** @type {proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.oneofGroups_[0]));
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.prototype.getVersionCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.oneofGroups_[0]));
 };
 
 
@@ -49409,8 +55570,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.toObject(opt_includeInstance, this);
 };
 
 
@@ -49419,13 +55580,13 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.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.GetIdentitiesTokenInfosRequest} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.toObject = function(includeInstance, msg) {
   var f, obj = {
-    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.toObject(includeInstance, f)
+    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.toObject(includeInstance, f)
   };
 
   if (includeInstance) {
@@ -49439,23 +55600,23 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.toObject = functi
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest;
-  return proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest;
+  return proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -49463,8 +55624,8 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.deserializeBinary
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.deserializeBinaryFromReader);
+      var value = new proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.deserializeBinaryFromReader);
       msg.setV0(value);
       break;
     default:
@@ -49480,9 +55641,9 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.deserializeBinary
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -49490,18 +55651,18 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.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.GetIdentitiesTokenInfosRequest} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
   f = message.getV0();
   if (f != null) {
     writer.writeMessage(
       1,
       f,
-      proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.serializeBinaryToWriter
     );
   }
 };
@@ -49513,7 +55674,7 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.serializeBinaryTo
  * @private {!Array}
  * @const
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.repeatedFields_ = [2];
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.repeatedFields_ = [1];
 
 
 
@@ -49530,8 +55691,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.toObject(opt_includeInstance, this);
 };
 
 
@@ -49540,15 +55701,14 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesToke
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.toObject = function(includeInstance, msg) {
   var f, obj = {
-    tokenId: msg.getTokenId_asB64(),
-    identityIdsList: msg.getIdentityIdsList_asB64(),
-    prove: jspb.Message.getBooleanFieldWithDefault(msg, 3, false)
+    tokenIdsList: msg.getTokenIdsList_asB64(),
+    prove: jspb.Message.getBooleanFieldWithDefault(msg, 2, false)
   };
 
   if (includeInstance) {
@@ -49562,23 +55722,23 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesToke
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0;
-  return proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0;
+  return proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -49587,13 +55747,9 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesToke
     switch (field) {
     case 1:
       var value = /** @type {!Uint8Array} */ (reader.readBytes());
-      msg.setTokenId(value);
+      msg.addTokenIds(value);
       break;
     case 2:
-      var value = /** @type {!Uint8Array} */ (reader.readBytes());
-      msg.addIdentityIds(value);
-      break;
-    case 3:
       var value = /** @type {boolean} */ (reader.readBool());
       msg.setProve(value);
       break;
@@ -49610,9 +55766,9 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesToke
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -49620,30 +55776,23 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesToke
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getTokenId_asU8();
-  if (f.length > 0) {
-    writer.writeBytes(
-      1,
-      f
-    );
-  }
-  f = message.getIdentityIdsList_asU8();
+  f = message.getTokenIdsList_asU8();
   if (f.length > 0) {
     writer.writeRepeatedBytes(
-      2,
+      1,
       f
     );
   }
   f = message.getProve();
   if (f) {
     writer.writeBool(
-      3,
+      2,
       f
     );
   }
@@ -49651,160 +55800,257 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesToke
 
 
 /**
- * optional bytes token_id = 1;
- * @return {string}
+ * repeated bytes token_ids = 1;
+ * @return {!Array}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.prototype.getTokenId = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.prototype.getTokenIdsList = function() {
+  return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1));
 };
 
 
 /**
- * optional bytes token_id = 1;
- * This is a type-conversion wrapper around `getTokenId()`
- * @return {string}
+ * repeated bytes token_ids = 1;
+ * This is a type-conversion wrapper around `getTokenIdsList()`
+ * @return {!Array}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.prototype.getTokenId_asB64 = function() {
-  return /** @type {string} */ (jspb.Message.bytesAsB64(
-      this.getTokenId()));
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.prototype.getTokenIdsList_asB64 = function() {
+  return /** @type {!Array} */ (jspb.Message.bytesListAsB64(
+      this.getTokenIdsList()));
 };
 
 
 /**
- * optional bytes token_id = 1;
+ * repeated bytes token_ids = 1;
  * Note that Uint8Array is not supported on all browsers.
  * @see http://caniuse.com/Uint8Array
- * This is a type-conversion wrapper around `getTokenId()`
- * @return {!Uint8Array}
+ * This is a type-conversion wrapper around `getTokenIdsList()`
+ * @return {!Array}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.prototype.getTokenId_asU8 = function() {
-  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
-      this.getTokenId()));
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.prototype.getTokenIdsList_asU8 = function() {
+  return /** @type {!Array} */ (jspb.Message.bytesListAsU8(
+      this.getTokenIdsList()));
 };
 
 
 /**
- * @param {!(string|Uint8Array)} value
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0} returns this
+ * @param {!(Array|Array)} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.prototype.setTokenId = function(value) {
-  return jspb.Message.setProto3BytesField(this, 1, value);
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.prototype.setTokenIdsList = function(value) {
+  return jspb.Message.setField(this, 1, value || []);
 };
 
 
 /**
- * repeated bytes identity_ids = 2;
- * @return {!Array}
+ * @param {!(string|Uint8Array)} value
+ * @param {number=} opt_index
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.prototype.getIdentityIdsList = function() {
-  return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 2));
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.prototype.addTokenIds = function(value, opt_index) {
+  return jspb.Message.addToRepeatedField(this, 1, value, opt_index);
 };
 
 
 /**
- * repeated bytes identity_ids = 2;
- * This is a type-conversion wrapper around `getIdentityIdsList()`
- * @return {!Array}
+ * Clears the list making it empty but non-null.
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.prototype.getIdentityIdsList_asB64 = function() {
-  return /** @type {!Array} */ (jspb.Message.bytesListAsB64(
-      this.getIdentityIdsList()));
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.prototype.clearTokenIdsList = function() {
+  return this.setTokenIdsList([]);
 };
 
 
 /**
- * repeated bytes identity_ids = 2;
- * Note that Uint8Array is not supported on all browsers.
- * @see http://caniuse.com/Uint8Array
- * This is a type-conversion wrapper around `getIdentityIdsList()`
- * @return {!Array}
+ * optional bool prove = 2;
+ * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.prototype.getIdentityIdsList_asU8 = function() {
-  return /** @type {!Array} */ (jspb.Message.bytesListAsU8(
-      this.getIdentityIdsList()));
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.prototype.getProve = function() {
+  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));
 };
 
 
 /**
- * @param {!(Array|Array)} value
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0} returns this
+ * @param {boolean} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.prototype.setIdentityIdsList = function(value) {
-  return jspb.Message.setField(this, 2, value || []);
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.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.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0} returns this
+ * optional GetTokenDirectPurchasePricesRequestV0 v0 = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.prototype.addIdentityIds = function(value, opt_index) {
-  return jspb.Message.addToRepeatedField(this, 2, value, opt_index);
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.prototype.getV0 = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0, 1));
 };
 
 
 /**
- * Clears the list making it empty but non-null.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0} returns this
+ * @param {?proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.prototype.setV0 = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.oneofGroups_[0], value);
+};
+
+
+/**
+ * Clears the message field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest} returns this
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.prototype.clearIdentityIdsList = function() {
-  return this.setIdentityIdsList([]);
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.prototype.clearV0 = function() {
+  return this.setV0(undefined);
 };
 
 
 /**
- * optional bool prove = 3;
+ * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.prototype.getProve = function() {
-  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 3, false));
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.prototype.hasV0 = function() {
+  return jspb.Message.getField(this, 1) != null;
 };
 
 
+
 /**
- * @param {boolean} value
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0} 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.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.prototype.setProve = function(value) {
-  return jspb.Message.setProto3BooleanField(this, 3, value);
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.oneofGroups_ = [[1]];
+
+/**
+ * @enum {number}
+ */
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.VersionCase = {
+  VERSION_NOT_SET: 0,
+  V0: 1
+};
+
+/**
+ * @return {proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.VersionCase}
+ */
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.prototype.getVersionCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.oneofGroups_[0]));
 };
 
 
+
+if (jspb.Message.GENERATE_TO_OBJECT) {
 /**
- * optional GetIdentitiesTokenInfosRequestV0 v0 = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0}
+ * 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.GetIdentitiesTokenInfosRequest.prototype.getV0 = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0, 1));
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.toObject(opt_includeInstance, this);
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest} returns this
-*/
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.prototype.setV0 = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.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.GetTokenDirectPurchasePricesResponse} msg The msg instance to transform.
+ * @return {!Object}
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.toObject = function(includeInstance, msg) {
+  var f, obj = {
+    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.toObject(includeInstance, f)
+  };
+
+  if (includeInstance) {
+    obj.$jspbMessageInstance = msg;
+  }
+  return obj;
 };
+}
 
 
 /**
- * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest} returns this
+ * Deserializes binary data (in protobuf wire format).
+ * @param {jspb.ByteSource} bytes The bytes to deserialize.
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.prototype.clearV0 = function() {
-  return this.setV0(undefined);
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.deserializeBinary = function(bytes) {
+  var reader = new jspb.BinaryReader(bytes);
+  var msg = new proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse;
+  return proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.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.GetTokenDirectPurchasePricesResponse} msg The message object to deserialize into.
+ * @param {!jspb.BinaryReader} reader The BinaryReader to use.
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.prototype.hasV0 = function() {
-  return jspb.Message.getField(this, 1) != null;
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.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.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.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.GetTokenDirectPurchasePricesResponse.prototype.serializeBinary = function() {
+  var writer = new jspb.BinaryWriter();
+  proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.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.GetTokenDirectPurchasePricesResponse} message
+ * @param {!jspb.BinaryWriter} writer
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.serializeBinaryToWriter = function(message, writer) {
+  var f = undefined;
+  f = message.getV0();
+  if (f != null) {
+    writer.writeMessage(
+      1,
+      f,
+      proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.serializeBinaryToWriter
+    );
+  }
 };
 
 
@@ -49817,21 +56063,22 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.prototype.hasV0 =
  * @private {!Array>}
  * @const
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.oneofGroups_ = [[1]];
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.oneofGroups_ = [[1,2]];
 
 /**
  * @enum {number}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.VersionCase = {
-  VERSION_NOT_SET: 0,
-  V0: 1
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.ResultCase = {
+  RESULT_NOT_SET: 0,
+  TOKEN_DIRECT_PURCHASE_PRICES: 1,
+  PROOF: 2
 };
 
 /**
- * @return {proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.VersionCase}
+ * @return {proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.ResultCase}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.prototype.getVersionCase = function() {
-  return /** @type {proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.oneofGroups_[0]));
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.prototype.getResultCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.oneofGroups_[0]));
 };
 
 
@@ -49849,8 +56096,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.toObject(opt_includeInstance, this);
 };
 
 
@@ -49859,13 +56106,15 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.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.GetIdentitiesTokenInfosResponse} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.toObject = function(includeInstance, msg) {
   var f, obj = {
-    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.toObject(includeInstance, f)
+    tokenDirectPurchasePrices: (f = msg.getTokenDirectPurchasePrices()) && proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices.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) {
@@ -49879,23 +56128,23 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.toObject = funct
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse;
-  return proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0;
+  return proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -49903,9 +56152,19 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.deserializeBinar
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.deserializeBinaryFromReader);
-      msg.setV0(value);
+      var value = new proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices.deserializeBinaryFromReader);
+      msg.setTokenDirectPurchasePrices(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();
@@ -49920,9 +56179,9 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.deserializeBinar
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -49930,50 +56189,40 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.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.GetIdentitiesTokenInfosResponse} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getV0();
+  f = message.getTokenDirectPurchasePrices();
   if (f != null) {
     writer.writeMessage(
       1,
       f,
-      proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices.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
     );
   }
 };
 
 
 
-/**
- * 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.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.oneofGroups_ = [[1,2]];
-
-/**
- * @enum {number}
- */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.ResultCase = {
-  RESULT_NOT_SET: 0,
-  IDENTITY_TOKEN_INFOS: 1,
-  PROOF: 2
-};
-
-/**
- * @return {proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.ResultCase}
- */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.prototype.getResultCase = function() {
-  return /** @type {proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.oneofGroups_[0]));
-};
-
 
 
 if (jspb.Message.GENERATE_TO_OBJECT) {
@@ -49989,8 +56238,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity.toObject(opt_includeInstance, this);
 };
 
 
@@ -49999,15 +56248,14 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTok
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity.toObject = function(includeInstance, msg) {
   var f, obj = {
-    identityTokenInfos: (f = msg.getIdentityTokenInfos()) && proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos.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)
+    quantity: jspb.Message.getFieldWithDefault(msg, 1, 0),
+    price: jspb.Message.getFieldWithDefault(msg, 2, 0)
   };
 
   if (includeInstance) {
@@ -50021,23 +56269,23 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTok
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0;
-  return proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity;
+  return proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -50045,19 +56293,12 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTok
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos.deserializeBinaryFromReader);
-      msg.setIdentityTokenInfos(value);
+      var value = /** @type {number} */ (reader.readUint64());
+      msg.setQuantity(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.readUint64());
+      msg.setPrice(value);
       break;
     default:
       reader.skipField();
@@ -50072,9 +56313,9 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTok
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -50082,39 +56323,72 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTok
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getIdentityTokenInfos();
-  if (f != null) {
-    writer.writeMessage(
+  f = message.getQuantity();
+  if (f !== 0) {
+    writer.writeUint64(
       1,
-      f,
-      proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos.serializeBinaryToWriter
+      f
     );
   }
-  f = message.getProof();
-  if (f != null) {
-    writer.writeMessage(
+  f = message.getPrice();
+  if (f !== 0) {
+    writer.writeUint64(
       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 uint64 quantity = 1;
+ * @return {number}
+ */
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity.prototype.getQuantity = function() {
+  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
+};
+
+
+/**
+ * @param {number} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity.prototype.setQuantity = function(value) {
+  return jspb.Message.setProto3IntField(this, 1, value);
+};
+
+
+/**
+ * optional uint64 price = 2;
+ * @return {number}
+ */
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity.prototype.getPrice = function() {
+  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
+};
+
+
+/**
+ * @param {number} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity.prototype.setPrice = function(value) {
+  return jspb.Message.setProto3IntField(this, 2, value);
+};
+
+
+
+/**
+ * List of repeated fields within this message type.
+ * @private {!Array}
+ * @const
+ */
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule.repeatedFields_ = [1];
 
 
 
@@ -50131,8 +56405,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule.toObject(opt_includeInstance, this);
 };
 
 
@@ -50141,13 +56415,14 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTok
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule.toObject = function(includeInstance, msg) {
   var f, obj = {
-    frozen: jspb.Message.getBooleanFieldWithDefault(msg, 1, false)
+    priceForQuantityList: jspb.Message.toObjectList(msg.getPriceForQuantityList(),
+    proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity.toObject, includeInstance)
   };
 
   if (includeInstance) {
@@ -50161,23 +56436,23 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTok
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry;
-  return proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule;
+  return proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -50185,8 +56460,9 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTok
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = /** @type {boolean} */ (reader.readBool());
-      msg.setFrozen(value);
+      var value = new proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity.deserializeBinaryFromReader);
+      msg.addPriceForQuantity(value);
       break;
     default:
       reader.skipField();
@@ -50201,9 +56477,9 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTok
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -50211,41 +56487,88 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTok
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getFrozen();
-  if (f) {
-    writer.writeBool(
+  f = message.getPriceForQuantityList();
+  if (f.length > 0) {
+    writer.writeRepeatedMessage(
       1,
-      f
+      f,
+      proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity.serializeBinaryToWriter
     );
   }
 };
 
 
 /**
- * optional bool frozen = 1;
- * @return {boolean}
+ * repeated PriceForQuantity price_for_quantity = 1;
+ * @return {!Array}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry.prototype.getFrozen = function() {
-  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 1, false));
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule.prototype.getPriceForQuantityList = function() {
+  return /** @type{!Array} */ (
+    jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity, 1));
 };
 
 
 /**
- * @param {boolean} value
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry} returns this
+ * @param {!Array} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule.prototype.setPriceForQuantityList = function(value) {
+  return jspb.Message.setRepeatedWrapperField(this, 1, value);
+};
+
+
+/**
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity=} opt_value
+ * @param {number=} opt_index
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry.prototype.setFrozen = function(value) {
-  return jspb.Message.setProto3BooleanField(this, 1, value);
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule.prototype.addPriceForQuantity = function(opt_value, opt_index) {
+  return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity, opt_index);
+};
+
+
+/**
+ * Clears the list making it empty but non-null.
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule.prototype.clearPriceForQuantityList = function() {
+  return this.setPriceForQuantityList([]);
 };
 
 
 
+/**
+ * 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.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.oneofGroups_ = [[2,3]];
+
+/**
+ * @enum {number}
+ */
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.PriceCase = {
+  PRICE_NOT_SET: 0,
+  FIXED_PRICE: 2,
+  VARIABLE_PRICE: 3
+};
+
+/**
+ * @return {proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.PriceCase}
+ */
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.prototype.getPriceCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.PriceCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.oneofGroups_[0]));
+};
+
 
 
 if (jspb.Message.GENERATE_TO_OBJECT) {
@@ -50261,8 +56584,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.toObject(opt_includeInstance, this);
 };
 
 
@@ -50271,14 +56594,15 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTok
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.toObject = function(includeInstance, msg) {
   var f, obj = {
-    identityId: msg.getIdentityId_asB64(),
-    info: (f = msg.getInfo()) && proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry.toObject(includeInstance, f)
+    tokenId: msg.getTokenId_asB64(),
+    fixedPrice: jspb.Message.getFieldWithDefault(msg, 2, 0),
+    variablePrice: (f = msg.getVariablePrice()) && proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule.toObject(includeInstance, f)
   };
 
   if (includeInstance) {
@@ -50292,23 +56616,23 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTok
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry;
-  return proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry;
+  return proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -50317,12 +56641,16 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTok
     switch (field) {
     case 1:
       var value = /** @type {!Uint8Array} */ (reader.readBytes());
-      msg.setIdentityId(value);
+      msg.setTokenId(value);
       break;
     case 2:
-      var value = new proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry.deserializeBinaryFromReader);
-      msg.setInfo(value);
+      var value = /** @type {number} */ (reader.readUint64());
+      msg.setFixedPrice(value);
+      break;
+    case 3:
+      var value = new proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule.deserializeBinaryFromReader);
+      msg.setVariablePrice(value);
       break;
     default:
       reader.skipField();
@@ -50337,9 +56665,9 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTok
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -50347,97 +56675,140 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTok
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getIdentityId_asU8();
+  f = message.getTokenId_asU8();
   if (f.length > 0) {
     writer.writeBytes(
       1,
       f
     );
   }
-  f = message.getInfo();
+  f = /** @type {number} */ (jspb.Message.getField(message, 2));
   if (f != null) {
-    writer.writeMessage(
+    writer.writeUint64(
       2,
+      f
+    );
+  }
+  f = message.getVariablePrice();
+  if (f != null) {
+    writer.writeMessage(
+      3,
       f,
-      proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule.serializeBinaryToWriter
     );
   }
 };
 
 
 /**
- * optional bytes identity_id = 1;
+ * optional bytes token_id = 1;
  * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry.prototype.getIdentityId = function() {
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.prototype.getTokenId = function() {
   return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
 };
 
 
 /**
- * optional bytes identity_id = 1;
- * This is a type-conversion wrapper around `getIdentityId()`
+ * optional bytes token_id = 1;
+ * This is a type-conversion wrapper around `getTokenId()`
  * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry.prototype.getIdentityId_asB64 = function() {
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.prototype.getTokenId_asB64 = function() {
   return /** @type {string} */ (jspb.Message.bytesAsB64(
-      this.getIdentityId()));
+      this.getTokenId()));
 };
 
 
 /**
- * optional bytes identity_id = 1;
+ * optional bytes token_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 `getTokenId()`
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry.prototype.getIdentityId_asU8 = function() {
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.prototype.getTokenId_asU8 = function() {
   return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
-      this.getIdentityId()));
+      this.getTokenId()));
 };
 
 
 /**
  * @param {!(string|Uint8Array)} value
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry} returns this
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry.prototype.setIdentityId = function(value) {
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.prototype.setTokenId = function(value) {
   return jspb.Message.setProto3BytesField(this, 1, value);
 };
 
 
 /**
- * optional TokenIdentityInfoEntry info = 2;
- * @return {?proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry}
+ * optional uint64 fixed_price = 2;
+ * @return {number}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry.prototype.getInfo = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry, 2));
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.prototype.getFixedPrice = function() {
+  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry} returns this
+ * @param {number} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.prototype.setFixedPrice = function(value) {
+  return jspb.Message.setOneofField(this, 2, proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.oneofGroups_[0], value);
+};
+
+
+/**
+ * Clears the field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.prototype.clearFixedPrice = function() {
+  return jspb.Message.setOneofField(this, 2, proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.oneofGroups_[0], undefined);
+};
+
+
+/**
+ * Returns whether this field is set.
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.prototype.hasFixedPrice = function() {
+  return jspb.Message.getField(this, 2) != null;
+};
+
+
+/**
+ * optional PricingSchedule variable_price = 3;
+ * @return {?proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule}
+ */
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.prototype.getVariablePrice = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule, 3));
+};
+
+
+/**
+ * @param {?proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry} returns this
 */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry.prototype.setInfo = function(value) {
-  return jspb.Message.setWrapperField(this, 2, value);
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.prototype.setVariablePrice = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 3, proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.oneofGroups_[0], value);
 };
 
 
 /**
  * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry} returns this
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry.prototype.clearInfo = function() {
-  return this.setInfo(undefined);
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.prototype.clearVariablePrice = function() {
+  return this.setVariablePrice(undefined);
 };
 
 
@@ -50445,8 +56816,8 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTok
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry.prototype.hasInfo = function() {
-  return jspb.Message.getField(this, 2) != null;
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.prototype.hasVariablePrice = function() {
+  return jspb.Message.getField(this, 3) != null;
 };
 
 
@@ -50456,7 +56827,7 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTok
  * @private {!Array}
  * @const
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos.repeatedFields_ = [1];
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices.repeatedFields_ = [1];
 
 
 
@@ -50473,8 +56844,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices.toObject(opt_includeInstance, this);
 };
 
 
@@ -50483,14 +56854,14 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTok
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices.toObject = function(includeInstance, msg) {
   var f, obj = {
-    tokenInfosList: jspb.Message.toObjectList(msg.getTokenInfosList(),
-    proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry.toObject, includeInstance)
+    tokenDirectPurchasePriceList: jspb.Message.toObjectList(msg.getTokenDirectPurchasePriceList(),
+    proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.toObject, includeInstance)
   };
 
   if (includeInstance) {
@@ -50504,23 +56875,23 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTok
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos.deserializeBinary = function(bytes) {
-  var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos;
-  return proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos.deserializeBinaryFromReader(msg, reader);
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices.deserializeBinary = function(bytes) {
+  var reader = new jspb.BinaryReader(bytes);
+  var msg = new proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices;
+  return proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -50528,9 +56899,9 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTok
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry.deserializeBinaryFromReader);
-      msg.addTokenInfos(value);
+      var value = new proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.deserializeBinaryFromReader);
+      msg.addTokenDirectPurchasePrice(value);
       break;
     default:
       reader.skipField();
@@ -50545,9 +56916,9 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTok
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -50555,86 +56926,86 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTok
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getTokenInfosList();
+  f = message.getTokenDirectPurchasePriceList();
   if (f.length > 0) {
     writer.writeRepeatedMessage(
       1,
       f,
-      proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.serializeBinaryToWriter
     );
   }
 };
 
 
 /**
- * repeated TokenInfoEntry token_infos = 1;
- * @return {!Array}
+ * repeated TokenDirectPurchasePriceEntry token_direct_purchase_price = 1;
+ * @return {!Array}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos.prototype.getTokenInfosList = function() {
-  return /** @type{!Array} */ (
-    jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry, 1));
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices.prototype.getTokenDirectPurchasePriceList = function() {
+  return /** @type{!Array} */ (
+    jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry, 1));
 };
 
 
 /**
- * @param {!Array} value
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos} returns this
+ * @param {!Array} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices} returns this
 */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos.prototype.setTokenInfosList = function(value) {
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices.prototype.setTokenDirectPurchasePriceList = function(value) {
   return jspb.Message.setRepeatedWrapperField(this, 1, value);
 };
 
 
 /**
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry=} opt_value
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry=} opt_value
  * @param {number=} opt_index
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos.prototype.addTokenInfos = function(opt_value, opt_index) {
-  return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry, opt_index);
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices.prototype.addTokenDirectPurchasePrice = function(opt_value, opt_index) {
+  return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry, opt_index);
 };
 
 
 /**
  * Clears the list making it empty but non-null.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices} returns this
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos.prototype.clearTokenInfosList = function() {
-  return this.setTokenInfosList([]);
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices.prototype.clearTokenDirectPurchasePriceList = function() {
+  return this.setTokenDirectPurchasePriceList([]);
 };
 
 
 /**
- * optional IdentityTokenInfos identity_token_infos = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos}
+ * optional TokenDirectPurchasePrices token_direct_purchase_prices = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.prototype.getIdentityTokenInfos = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos, 1));
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.prototype.getTokenDirectPurchasePrices = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices, 1));
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0} returns this
+ * @param {?proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0} returns this
 */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.prototype.setIdentityTokenInfos = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.oneofGroups_[0], value);
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.prototype.setTokenDirectPurchasePrices = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.oneofGroups_[0], value);
 };
 
 
 /**
  * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.prototype.clearIdentityTokenInfos = function() {
-  return this.setIdentityTokenInfos(undefined);
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.prototype.clearTokenDirectPurchasePrices = function() {
+  return this.setTokenDirectPurchasePrices(undefined);
 };
 
 
@@ -50642,7 +57013,7 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTok
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.prototype.hasIdentityTokenInfos = function() {
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.prototype.hasTokenDirectPurchasePrices = function() {
   return jspb.Message.getField(this, 1) != null;
 };
 
@@ -50651,7 +57022,7 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTok
  * optional Proof proof = 2;
  * @return {?proto.org.dash.platform.dapi.v0.Proof}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.prototype.getProof = function() {
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.prototype.getProof = function() {
   return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ (
     jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2));
 };
@@ -50659,18 +57030,18 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTok
 
 /**
  * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0} returns this
 */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.prototype.setProof = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.oneofGroups_[0], value);
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.prototype.setProof = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.oneofGroups_[0], value);
 };
 
 
 /**
  * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.prototype.clearProof = function() {
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.prototype.clearProof = function() {
   return this.setProof(undefined);
 };
 
@@ -50679,7 +57050,7 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTok
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.prototype.hasProof = function() {
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.prototype.hasProof = function() {
   return jspb.Message.getField(this, 2) != null;
 };
 
@@ -50688,7 +57059,7 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTok
  * optional ResponseMetadata metadata = 3;
  * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.prototype.getMetadata = function() {
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.prototype.getMetadata = function() {
   return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ (
     jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3));
 };
@@ -50696,18 +57067,18 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTok
 
 /**
  * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0} returns this
 */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.prototype.setMetadata = function(value) {
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.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.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.prototype.clearMetadata = function() {
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.prototype.clearMetadata = function() {
   return this.setMetadata(undefined);
 };
 
@@ -50716,35 +57087,35 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTok
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.prototype.hasMetadata = function() {
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.prototype.hasMetadata = function() {
   return jspb.Message.getField(this, 3) != null;
 };
 
 
 /**
- * optional GetIdentitiesTokenInfosResponseV0 v0 = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0}
+ * optional GetTokenDirectPurchasePricesResponseV0 v0 = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.prototype.getV0 = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0, 1));
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.prototype.getV0 = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0, 1));
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse} returns this
+ * @param {?proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse} returns this
 */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.prototype.setV0 = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.oneofGroups_[0], value);
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.prototype.setV0 = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.oneofGroups_[0], value);
 };
 
 
 /**
  * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse} returns this
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.prototype.clearV0 = function() {
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.prototype.clearV0 = function() {
   return this.setV0(undefined);
 };
 
@@ -50753,7 +57124,7 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.prototype.clearV
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.prototype.hasV0 = function() {
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.prototype.hasV0 = function() {
   return jspb.Message.getField(this, 1) != null;
 };
 
@@ -50767,21 +57138,21 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.prototype.hasV0
  * @private {!Array>}
  * @const
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.oneofGroups_ = [[1]];
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.oneofGroups_ = [[1]];
 
 /**
  * @enum {number}
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.VersionCase = {
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.VersionCase = {
   VERSION_NOT_SET: 0,
   V0: 1
 };
 
 /**
- * @return {proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.VersionCase}
+ * @return {proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.VersionCase}
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.prototype.getVersionCase = function() {
-  return /** @type {proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.oneofGroups_[0]));
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.prototype.getVersionCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.oneofGroups_[0]));
 };
 
 
@@ -50799,8 +57170,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.toObject(opt_includeInstance, this);
 };
 
 
@@ -50809,13 +57180,13 @@ proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.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.GetTokenStatusesRequest} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.toObject = function(includeInstance, msg) {
   var f, obj = {
-    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0.toObject(includeInstance, f)
+    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0.toObject(includeInstance, f)
   };
 
   if (includeInstance) {
@@ -50829,23 +57200,23 @@ proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.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.GetTokenStatusesRequest}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest}
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest;
-  return proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest;
+  return proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest}
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -50853,8 +57224,8 @@ proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.deserializeBinaryFromRea
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0.deserializeBinaryFromReader);
+      var value = new proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0.deserializeBinaryFromReader);
       msg.setV0(value);
       break;
     default:
@@ -50870,9 +57241,9 @@ proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.deserializeBinaryFromRea
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -50880,31 +57251,24 @@ proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.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.GetTokenStatusesRequest} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
   f = message.getV0();
   if (f != null) {
     writer.writeMessage(
       1,
       f,
-      proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0.serializeBinaryToWriter
     );
   }
 };
 
 
 
-/**
- * List of repeated fields within this message type.
- * @private {!Array}
- * @const
- */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0.repeatedFields_ = [1];
-
 
 
 if (jspb.Message.GENERATE_TO_OBJECT) {
@@ -50920,8 +57284,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0.toObject(opt_includeInstance, this);
 };
 
 
@@ -50930,13 +57294,13 @@ proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0.toObject = function(includeInstance, msg) {
   var f, obj = {
-    tokenIdsList: msg.getTokenIdsList_asB64(),
+    tokenId: msg.getTokenId_asB64(),
     prove: jspb.Message.getBooleanFieldWithDefault(msg, 2, false)
   };
 
@@ -50951,23 +57315,23 @@ proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0}
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0;
-  return proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0;
+  return proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0}
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -50976,7 +57340,7 @@ proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV
     switch (field) {
     case 1:
       var value = /** @type {!Uint8Array} */ (reader.readBytes());
-      msg.addTokenIds(value);
+      msg.setTokenId(value);
       break;
     case 2:
       var value = /** @type {boolean} */ (reader.readBool());
@@ -50995,9 +57359,9 @@ proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -51005,15 +57369,15 @@ proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getTokenIdsList_asU8();
+  f = message.getTokenId_asU8();
   if (f.length > 0) {
-    writer.writeRepeatedBytes(
+    writer.writeBytes(
       1,
       f
     );
@@ -51029,63 +57393,44 @@ proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV
 
 
 /**
- * repeated bytes token_ids = 1;
- * @return {!Array}
+ * optional bytes token_id = 1;
+ * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0.prototype.getTokenIdsList = function() {
-  return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1));
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0.prototype.getTokenId = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
 };
 
 
 /**
- * repeated bytes token_ids = 1;
- * This is a type-conversion wrapper around `getTokenIdsList()`
- * @return {!Array}
+ * optional bytes token_id = 1;
+ * This is a type-conversion wrapper around `getTokenId()`
+ * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0.prototype.getTokenIdsList_asB64 = function() {
-  return /** @type {!Array} */ (jspb.Message.bytesListAsB64(
-      this.getTokenIdsList()));
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0.prototype.getTokenId_asB64 = function() {
+  return /** @type {string} */ (jspb.Message.bytesAsB64(
+      this.getTokenId()));
 };
 
 
 /**
- * repeated bytes token_ids = 1;
+ * optional bytes token_id = 1;
  * Note that Uint8Array is not supported on all browsers.
  * @see http://caniuse.com/Uint8Array
- * This is a type-conversion wrapper around `getTokenIdsList()`
- * @return {!Array}
- */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0.prototype.getTokenIdsList_asU8 = function() {
-  return /** @type {!Array} */ (jspb.Message.bytesListAsU8(
-      this.getTokenIdsList()));
-};
-
-
-/**
- * @param {!(Array|Array)} value
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0} returns this
+ * This is a type-conversion wrapper around `getTokenId()`
+ * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0.prototype.setTokenIdsList = function(value) {
-  return jspb.Message.setField(this, 1, value || []);
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0.prototype.getTokenId_asU8 = function() {
+  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
+      this.getTokenId()));
 };
 
 
 /**
  * @param {!(string|Uint8Array)} value
- * @param {number=} opt_index
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0} returns this
- */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0.prototype.addTokenIds = 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.GetTokenStatusesRequest.GetTokenStatusesRequestV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0.prototype.clearTokenIdsList = function() {
-  return this.setTokenIdsList([]);
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0.prototype.setTokenId = function(value) {
+  return jspb.Message.setProto3BytesField(this, 1, value);
 };
 
 
@@ -51093,44 +57438,44 @@ proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV
  * optional bool prove = 2;
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0.prototype.getProve = function() {
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0.prototype.getProve = function() {
   return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));
 };
 
 
 /**
  * @param {boolean} value
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0.prototype.setProve = function(value) {
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0.prototype.setProve = function(value) {
   return jspb.Message.setProto3BooleanField(this, 2, value);
 };
 
 
 /**
- * optional GetTokenStatusesRequestV0 v0 = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0}
+ * optional GetTokenContractInfoRequestV0 v0 = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0}
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.prototype.getV0 = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0, 1));
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.prototype.getV0 = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0, 1));
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest} returns this
+ * @param {?proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest} returns this
 */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.prototype.setV0 = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.oneofGroups_[0], value);
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.prototype.setV0 = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.oneofGroups_[0], value);
 };
 
 
 /**
  * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest} returns this
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.prototype.clearV0 = function() {
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.prototype.clearV0 = function() {
   return this.setV0(undefined);
 };
 
@@ -51139,7 +57484,7 @@ proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.prototype.clearV0 = func
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.prototype.hasV0 = function() {
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.prototype.hasV0 = function() {
   return jspb.Message.getField(this, 1) != null;
 };
 
@@ -51153,21 +57498,21 @@ proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.prototype.hasV0 = functi
  * @private {!Array>}
  * @const
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.oneofGroups_ = [[1]];
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.oneofGroups_ = [[1]];
 
 /**
  * @enum {number}
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.VersionCase = {
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.VersionCase = {
   VERSION_NOT_SET: 0,
   V0: 1
 };
 
 /**
- * @return {proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.VersionCase}
+ * @return {proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.VersionCase}
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.prototype.getVersionCase = function() {
-  return /** @type {proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.oneofGroups_[0]));
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.prototype.getVersionCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.oneofGroups_[0]));
 };
 
 
@@ -51185,8 +57530,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.toObject(opt_includeInstance, this);
 };
 
 
@@ -51195,13 +57540,13 @@ proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.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.GetTokenStatusesResponse} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.toObject = function(includeInstance, msg) {
   var f, obj = {
-    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.toObject(includeInstance, f)
+    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.toObject(includeInstance, f)
   };
 
   if (includeInstance) {
@@ -51215,23 +57560,23 @@ proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.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.GetTokenStatusesResponse}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse}
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse;
-  return proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse;
+  return proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse}
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -51239,8 +57584,8 @@ proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.deserializeBinaryFromRe
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.deserializeBinaryFromReader);
+      var value = new proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.deserializeBinaryFromReader);
       msg.setV0(value);
       break;
     default:
@@ -51256,9 +57601,9 @@ proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.deserializeBinaryFromRe
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -51266,18 +57611,18 @@ proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.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.GetTokenStatusesResponse} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
   f = message.getV0();
   if (f != null) {
     writer.writeMessage(
       1,
       f,
-      proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.serializeBinaryToWriter
     );
   }
 };
@@ -51292,22 +57637,22 @@ proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.serializeBinaryToWriter
  * @private {!Array>}
  * @const
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.oneofGroups_ = [[1,2]];
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.oneofGroups_ = [[1,2]];
 
 /**
  * @enum {number}
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.ResultCase = {
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.ResultCase = {
   RESULT_NOT_SET: 0,
-  TOKEN_STATUSES: 1,
+  DATA: 1,
   PROOF: 2
 };
 
 /**
- * @return {proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.ResultCase}
+ * @return {proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.ResultCase}
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.prototype.getResultCase = function() {
-  return /** @type {proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.oneofGroups_[0]));
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.prototype.getResultCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.oneofGroups_[0]));
 };
 
 
@@ -51325,8 +57670,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.toObject(opt_includeInstance, this);
 };
 
 
@@ -51335,13 +57680,13 @@ proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesRespons
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.toObject = function(includeInstance, msg) {
   var f, obj = {
-    tokenStatuses: (f = msg.getTokenStatuses()) && proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses.toObject(includeInstance, f),
+    data: (f = msg.getData()) && proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData.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)
   };
@@ -51357,23 +57702,23 @@ proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesRespons
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0}
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0;
-  return proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0;
+  return proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0}
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -51381,9 +57726,9 @@ proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesRespons
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses.deserializeBinaryFromReader);
-      msg.setTokenStatuses(value);
+      var value = new proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData.deserializeBinaryFromReader);
+      msg.setData(value);
       break;
     case 2:
       var value = new proto.org.dash.platform.dapi.v0.Proof;
@@ -51408,9 +57753,9 @@ proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesRespons
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -51418,18 +57763,18 @@ proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesRespons
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getTokenStatuses();
+  f = message.getData();
   if (f != null) {
     writer.writeMessage(
       1,
       f,
-      proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData.serializeBinaryToWriter
     );
   }
   f = message.getProof();
@@ -51467,8 +57812,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData.toObject(opt_includeInstance, this);
 };
 
 
@@ -51477,14 +57822,14 @@ proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesRespons
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData.toObject = function(includeInstance, msg) {
   var f, obj = {
-    tokenId: msg.getTokenId_asB64(),
-    paused: jspb.Message.getBooleanFieldWithDefault(msg, 2, false)
+    contractId: msg.getContractId_asB64(),
+    tokenContractPosition: jspb.Message.getFieldWithDefault(msg, 2, 0)
   };
 
   if (includeInstance) {
@@ -51498,23 +57843,23 @@ proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesRespons
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData}
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry;
-  return proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData;
+  return proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData}
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -51523,11 +57868,11 @@ proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesRespons
     switch (field) {
     case 1:
       var value = /** @type {!Uint8Array} */ (reader.readBytes());
-      msg.setTokenId(value);
+      msg.setContractId(value);
       break;
     case 2:
-      var value = /** @type {boolean} */ (reader.readBool());
-      msg.setPaused(value);
+      var value = /** @type {number} */ (reader.readUint32());
+      msg.setTokenContractPosition(value);
       break;
     default:
       reader.skipField();
@@ -51542,9 +57887,9 @@ proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesRespons
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -51552,22 +57897,22 @@ proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesRespons
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getTokenId_asU8();
+  f = message.getContractId_asU8();
   if (f.length > 0) {
     writer.writeBytes(
       1,
       f
     );
   }
-  f = /** @type {boolean} */ (jspb.Message.getField(message, 2));
-  if (f != null) {
-    writer.writeBool(
+  f = message.getTokenContractPosition();
+  if (f !== 0) {
+    writer.writeUint32(
       2,
       f
     );
@@ -51576,268 +57921,90 @@ proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesRespons
 
 
 /**
- * optional bytes token_id = 1;
- * @return {string}
- */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry.prototype.getTokenId = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
-};
-
-
-/**
- * optional bytes token_id = 1;
- * This is a type-conversion wrapper around `getTokenId()`
- * @return {string}
- */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry.prototype.getTokenId_asB64 = function() {
-  return /** @type {string} */ (jspb.Message.bytesAsB64(
-      this.getTokenId()));
-};
-
-
-/**
- * optional bytes token_id = 1;
- * Note that Uint8Array is not supported on all browsers.
- * @see http://caniuse.com/Uint8Array
- * This is a type-conversion wrapper around `getTokenId()`
- * @return {!Uint8Array}
- */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry.prototype.getTokenId_asU8 = function() {
-  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
-      this.getTokenId()));
-};
-
-
-/**
- * @param {!(string|Uint8Array)} value
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry} returns this
- */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry.prototype.setTokenId = function(value) {
-  return jspb.Message.setProto3BytesField(this, 1, value);
-};
-
-
-/**
- * optional bool paused = 2;
- * @return {boolean}
- */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry.prototype.getPaused = function() {
-  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));
-};
-
-
-/**
- * @param {boolean} value
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry} returns this
- */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry.prototype.setPaused = function(value) {
-  return jspb.Message.setField(this, 2, value);
-};
-
-
-/**
- * Clears the field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry} returns this
- */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry.prototype.clearPaused = function() {
-  return jspb.Message.setField(this, 2, undefined);
-};
-
-
-/**
- * Returns whether this field is set.
- * @return {boolean}
- */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry.prototype.hasPaused = 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.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses.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.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses.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.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses} msg The msg instance to transform.
- * @return {!Object}
- * @suppress {unusedLocalVariables} f is only used for nested messages
- */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses.toObject = function(includeInstance, msg) {
-  var f, obj = {
-    tokenStatusesList: jspb.Message.toObjectList(msg.getTokenStatusesList(),
-    proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry.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.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses}
- */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses.deserializeBinary = function(bytes) {
-  var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses;
-  return proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses.deserializeBinaryFromReader(msg, reader);
-};
-
-
-/**
- * Deserializes binary data (in protobuf wire format) from the
- * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses} msg The message object to deserialize into.
- * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses}
- */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses.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.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry.deserializeBinaryFromReader);
-      msg.addTokenStatuses(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.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses.prototype.serializeBinary = function() {
-  var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses.serializeBinaryToWriter(this, writer);
-  return writer.getResultBuffer();
+ * optional bytes contract_id = 1;
+ * @return {string}
+ */
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData.prototype.getContractId = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
 };
 
 
 /**
- * Serializes the given message to binary data (in protobuf wire
- * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses} message
- * @param {!jspb.BinaryWriter} writer
- * @suppress {unusedLocalVariables} f is only used for nested messages
+ * optional bytes contract_id = 1;
+ * This is a type-conversion wrapper around `getContractId()`
+ * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses.serializeBinaryToWriter = function(message, writer) {
-  var f = undefined;
-  f = message.getTokenStatusesList();
-  if (f.length > 0) {
-    writer.writeRepeatedMessage(
-      1,
-      f,
-      proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry.serializeBinaryToWriter
-    );
-  }
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData.prototype.getContractId_asB64 = function() {
+  return /** @type {string} */ (jspb.Message.bytesAsB64(
+      this.getContractId()));
 };
 
 
 /**
- * repeated TokenStatusEntry token_statuses = 1;
- * @return {!Array}
+ * 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.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses.prototype.getTokenStatusesList = function() {
-  return /** @type{!Array} */ (
-    jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry, 1));
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData.prototype.getContractId_asU8 = function() {
+  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
+      this.getContractId()));
 };
 
 
 /**
- * @param {!Array} value
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses} returns this
-*/
-proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses.prototype.setTokenStatusesList = function(value) {
-  return jspb.Message.setRepeatedWrapperField(this, 1, value);
+ * @param {!(string|Uint8Array)} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData.prototype.setContractId = function(value) {
+  return jspb.Message.setProto3BytesField(this, 1, value);
 };
 
 
 /**
- * @param {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry=} opt_value
- * @param {number=} opt_index
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry}
+ * optional uint32 token_contract_position = 2;
+ * @return {number}
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses.prototype.addTokenStatuses = function(opt_value, opt_index) {
-  return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry, opt_index);
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData.prototype.getTokenContractPosition = function() {
+  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
 };
 
 
 /**
- * Clears the list making it empty but non-null.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses} returns this
+ * @param {number} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData} returns this
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses.prototype.clearTokenStatusesList = function() {
-  return this.setTokenStatusesList([]);
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData.prototype.setTokenContractPosition = function(value) {
+  return jspb.Message.setProto3IntField(this, 2, value);
 };
 
 
 /**
- * optional TokenStatuses token_statuses = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses}
+ * optional TokenContractInfoData data = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData}
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.prototype.getTokenStatuses = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses, 1));
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.prototype.getData = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData, 1));
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0} returns this
+ * @param {?proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0} returns this
 */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.prototype.setTokenStatuses = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.oneofGroups_[0], value);
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.prototype.setData = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.oneofGroups_[0], value);
 };
 
 
 /**
  * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.prototype.clearTokenStatuses = function() {
-  return this.setTokenStatuses(undefined);
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.prototype.clearData = function() {
+  return this.setData(undefined);
 };
 
 
@@ -51845,7 +58012,7 @@ proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesRespons
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.prototype.hasTokenStatuses = function() {
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.prototype.hasData = function() {
   return jspb.Message.getField(this, 1) != null;
 };
 
@@ -51854,7 +58021,7 @@ proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesRespons
  * optional Proof proof = 2;
  * @return {?proto.org.dash.platform.dapi.v0.Proof}
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.prototype.getProof = function() {
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.prototype.getProof = function() {
   return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ (
     jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2));
 };
@@ -51862,18 +58029,18 @@ proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesRespons
 
 /**
  * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0} returns this
 */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.prototype.setProof = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.oneofGroups_[0], value);
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.prototype.setProof = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.oneofGroups_[0], value);
 };
 
 
 /**
  * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.prototype.clearProof = function() {
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.prototype.clearProof = function() {
   return this.setProof(undefined);
 };
 
@@ -51882,7 +58049,7 @@ proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesRespons
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.prototype.hasProof = function() {
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.prototype.hasProof = function() {
   return jspb.Message.getField(this, 2) != null;
 };
 
@@ -51891,7 +58058,7 @@ proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesRespons
  * optional ResponseMetadata metadata = 3;
  * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata}
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.prototype.getMetadata = function() {
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.prototype.getMetadata = function() {
   return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ (
     jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3));
 };
@@ -51899,18 +58066,18 @@ proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesRespons
 
 /**
  * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0} returns this
 */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.prototype.setMetadata = function(value) {
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.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.GetTokenStatusesResponse.GetTokenStatusesResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.prototype.clearMetadata = function() {
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.prototype.clearMetadata = function() {
   return this.setMetadata(undefined);
 };
 
@@ -51919,35 +58086,35 @@ proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesRespons
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.prototype.hasMetadata = function() {
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.prototype.hasMetadata = function() {
   return jspb.Message.getField(this, 3) != null;
 };
 
 
 /**
- * optional GetTokenStatusesResponseV0 v0 = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0}
+ * optional GetTokenContractInfoResponseV0 v0 = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0}
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.prototype.getV0 = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0, 1));
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.prototype.getV0 = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0, 1));
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse} returns this
+ * @param {?proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse} returns this
 */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.prototype.setV0 = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.oneofGroups_[0], value);
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.prototype.setV0 = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.oneofGroups_[0], value);
 };
 
 
 /**
  * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse} returns this
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.prototype.clearV0 = function() {
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.prototype.clearV0 = function() {
   return this.setV0(undefined);
 };
 
@@ -51956,7 +58123,7 @@ proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.prototype.clearV0 = fun
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.prototype.hasV0 = function() {
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.prototype.hasV0 = function() {
   return jspb.Message.getField(this, 1) != null;
 };
 
@@ -51970,21 +58137,21 @@ proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.prototype.hasV0 = funct
  * @private {!Array>}
  * @const
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.oneofGroups_ = [[1]];
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.oneofGroups_ = [[1]];
 
 /**
  * @enum {number}
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.VersionCase = {
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.VersionCase = {
   VERSION_NOT_SET: 0,
   V0: 1
 };
 
 /**
- * @return {proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.VersionCase}
+ * @return {proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.VersionCase}
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.prototype.getVersionCase = function() {
-  return /** @type {proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.oneofGroups_[0]));
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.prototype.getVersionCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.oneofGroups_[0]));
 };
 
 
@@ -52002,8 +58169,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.toObject(opt_includeInstance, this);
 };
 
 
@@ -52012,13 +58179,13 @@ proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.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.GetTokenDirectPurchasePricesResponse} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.toObject = function(includeInstance, msg) {
   var f, obj = {
-    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.toObject(includeInstance, f)
+    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.toObject(includeInstance, f)
   };
 
   if (includeInstance) {
@@ -52032,23 +58199,23 @@ proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.toObject =
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest}
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse;
-  return proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest;
+  return proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest}
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -52056,8 +58223,8 @@ proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.deserialize
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.deserializeBinaryFromReader);
+      var value = new proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.deserializeBinaryFromReader);
       msg.setV0(value);
       break;
     default:
@@ -52073,9 +58240,9 @@ proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.deserialize
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -52083,50 +58250,24 @@ proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.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.GetTokenDirectPurchasePricesResponse} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
   f = message.getV0();
   if (f != null) {
     writer.writeMessage(
       1,
       f,
-      proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.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.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.oneofGroups_ = [[1,2]];
-
-/**
- * @enum {number}
- */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.ResultCase = {
-  RESULT_NOT_SET: 0,
-  TOKEN_DIRECT_PURCHASE_PRICES: 1,
-  PROOF: 2
-};
-
-/**
- * @return {proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.ResultCase}
- */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.prototype.getResultCase = function() {
-  return /** @type {proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.oneofGroups_[0]));
-};
-
 
 
 if (jspb.Message.GENERATE_TO_OBJECT) {
@@ -52142,8 +58283,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.toObject(opt_includeInstance, this);
 };
 
 
@@ -52152,15 +58293,16 @@ proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDir
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.toObject = function(includeInstance, msg) {
   var f, obj = {
-    tokenDirectPurchasePrices: (f = msg.getTokenDirectPurchasePrices()) && proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices.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)
+    tokenId: msg.getTokenId_asB64(),
+    startAtInfo: (f = msg.getStartAtInfo()) && proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.toObject(includeInstance, f),
+    limit: jspb.Message.getFieldWithDefault(msg, 3, 0),
+    prove: jspb.Message.getBooleanFieldWithDefault(msg, 4, false)
   };
 
   if (includeInstance) {
@@ -52174,23 +58316,23 @@ proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDir
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0}
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0;
-  return proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0;
+  return proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0}
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -52198,19 +58340,21 @@ proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDir
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices.deserializeBinaryFromReader);
-      msg.setTokenDirectPurchasePrices(value);
+      var value = /** @type {!Uint8Array} */ (reader.readBytes());
+      msg.setTokenId(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.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.deserializeBinaryFromReader);
+      msg.setStartAtInfo(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.setLimit(value);
+      break;
+    case 4:
+      var value = /** @type {boolean} */ (reader.readBool());
+      msg.setProve(value);
       break;
     default:
       reader.skipField();
@@ -52225,9 +58369,9 @@ proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDir
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -52235,34 +58379,39 @@ proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDir
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getTokenDirectPurchasePrices();
-  if (f != null) {
-    writer.writeMessage(
+  f = message.getTokenId_asU8();
+  if (f.length > 0) {
+    writer.writeBytes(
       1,
-      f,
-      proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices.serializeBinaryToWriter
+      f
     );
   }
-  f = message.getProof();
+  f = message.getStartAtInfo();
   if (f != null) {
     writer.writeMessage(
       2,
       f,
-      proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.serializeBinaryToWriter
     );
   }
-  f = message.getMetadata();
+  f = /** @type {number} */ (jspb.Message.getField(message, 3));
   if (f != null) {
-    writer.writeMessage(
+    writer.writeUint32(
       3,
-      f,
-      proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter
+      f
+    );
+  }
+  f = message.getProve();
+  if (f) {
+    writer.writeBool(
+      4,
+      f
     );
   }
 };
@@ -52284,8 +58433,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.toObject(opt_includeInstance, this);
 };
 
 
@@ -52294,14 +58443,15 @@ proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDir
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.toObject = function(includeInstance, msg) {
   var f, obj = {
-    quantity: jspb.Message.getFieldWithDefault(msg, 1, 0),
-    price: jspb.Message.getFieldWithDefault(msg, 2, 0)
+    startTimeMs: jspb.Message.getFieldWithDefault(msg, 1, 0),
+    startRecipient: msg.getStartRecipient_asB64(),
+    startRecipientIncluded: jspb.Message.getBooleanFieldWithDefault(msg, 3, false)
   };
 
   if (includeInstance) {
@@ -52315,23 +58465,23 @@ proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDir
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo}
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity;
-  return proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo;
+  return proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo}
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -52340,11 +58490,15 @@ proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDir
     switch (field) {
     case 1:
       var value = /** @type {number} */ (reader.readUint64());
-      msg.setQuantity(value);
+      msg.setStartTimeMs(value);
       break;
     case 2:
-      var value = /** @type {number} */ (reader.readUint64());
-      msg.setPrice(value);
+      var value = /** @type {!Uint8Array} */ (reader.readBytes());
+      msg.setStartRecipient(value);
+      break;
+    case 3:
+      var value = /** @type {boolean} */ (reader.readBool());
+      msg.setStartRecipientIncluded(value);
       break;
     default:
       reader.skipField();
@@ -52359,9 +58513,9 @@ proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDir
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -52369,222 +58523,317 @@ proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDir
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getQuantity();
+  f = message.getStartTimeMs();
   if (f !== 0) {
     writer.writeUint64(
       1,
       f
     );
   }
-  f = message.getPrice();
-  if (f !== 0) {
-    writer.writeUint64(
+  f = /** @type {!(string|Uint8Array)} */ (jspb.Message.getField(message, 2));
+  if (f != null) {
+    writer.writeBytes(
       2,
       f
     );
   }
+  f = /** @type {boolean} */ (jspb.Message.getField(message, 3));
+  if (f != null) {
+    writer.writeBool(
+      3,
+      f
+    );
+  }
 };
 
 
 /**
- * optional uint64 quantity = 1;
+ * optional uint64 start_time_ms = 1;
  * @return {number}
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity.prototype.getQuantity = function() {
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.prototype.getStartTimeMs = function() {
   return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
 };
 
 
 /**
  * @param {number} value
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo} returns this
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity.prototype.setQuantity = function(value) {
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.prototype.setStartTimeMs = function(value) {
   return jspb.Message.setProto3IntField(this, 1, value);
 };
 
 
 /**
- * optional uint64 price = 2;
- * @return {number}
+ * optional bytes start_recipient = 2;
+ * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity.prototype.getPrice = function() {
-  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.prototype.getStartRecipient = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
 };
 
 
 /**
- * @param {number} value
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity} returns this
+ * optional bytes start_recipient = 2;
+ * This is a type-conversion wrapper around `getStartRecipient()`
+ * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity.prototype.setPrice = function(value) {
-  return jspb.Message.setProto3IntField(this, 2, value);
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.prototype.getStartRecipient_asB64 = function() {
+  return /** @type {string} */ (jspb.Message.bytesAsB64(
+      this.getStartRecipient()));
 };
 
 
+/**
+ * optional bytes start_recipient = 2;
+ * Note that Uint8Array is not supported on all browsers.
+ * @see http://caniuse.com/Uint8Array
+ * This is a type-conversion wrapper around `getStartRecipient()`
+ * @return {!Uint8Array}
+ */
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.prototype.getStartRecipient_asU8 = function() {
+  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
+      this.getStartRecipient()));
+};
+
 
 /**
- * List of repeated fields within this message type.
- * @private {!Array}
- * @const
+ * @param {!(string|Uint8Array)} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo} returns this
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule.repeatedFields_ = [1];
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.prototype.setStartRecipient = function(value) {
+  return jspb.Message.setField(this, 2, value);
+};
 
 
+/**
+ * Clears the field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.prototype.clearStartRecipient = function() {
+  return jspb.Message.setField(this, 2, 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.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.prototype.hasStartRecipient = 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.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule} msg The msg instance to transform.
- * @return {!Object}
- * @suppress {unusedLocalVariables} f is only used for nested messages
+ * optional bool start_recipient_included = 3;
+ * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule.toObject = function(includeInstance, msg) {
-  var f, obj = {
-    priceForQuantityList: jspb.Message.toObjectList(msg.getPriceForQuantityList(),
-    proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity.toObject, includeInstance)
-  };
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.prototype.getStartRecipientIncluded = function() {
+  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 3, false));
+};
+
+
+/**
+ * @param {boolean} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.prototype.setStartRecipientIncluded = function(value) {
+  return jspb.Message.setField(this, 3, value);
+};
+
+
+/**
+ * Clears the field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.prototype.clearStartRecipientIncluded = function() {
+  return jspb.Message.setField(this, 3, undefined);
+};
+
+
+/**
+ * Returns whether this field is set.
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.prototype.hasStartRecipientIncluded = function() {
+  return jspb.Message.getField(this, 3) != null;
+};
+
+
+/**
+ * optional bytes token_id = 1;
+ * @return {string}
+ */
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.prototype.getTokenId = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
+};
+
+
+/**
+ * optional bytes token_id = 1;
+ * This is a type-conversion wrapper around `getTokenId()`
+ * @return {string}
+ */
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.prototype.getTokenId_asB64 = function() {
+  return /** @type {string} */ (jspb.Message.bytesAsB64(
+      this.getTokenId()));
+};
+
+
+/**
+ * optional bytes token_id = 1;
+ * Note that Uint8Array is not supported on all browsers.
+ * @see http://caniuse.com/Uint8Array
+ * This is a type-conversion wrapper around `getTokenId()`
+ * @return {!Uint8Array}
+ */
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.prototype.getTokenId_asU8 = function() {
+  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
+      this.getTokenId()));
+};
+
+
+/**
+ * @param {!(string|Uint8Array)} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.prototype.setTokenId = function(value) {
+  return jspb.Message.setProto3BytesField(this, 1, value);
+};
+
+
+/**
+ * optional StartAtInfo start_at_info = 2;
+ * @return {?proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo}
+ */
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.prototype.getStartAtInfo = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo, 2));
+};
+
+
+/**
+ * @param {?proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.prototype.setStartAtInfo = function(value) {
+  return jspb.Message.setWrapperField(this, 2, value);
+};
+
+
+/**
+ * Clears the message field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.prototype.clearStartAtInfo = function() {
+  return this.setStartAtInfo(undefined);
+};
+
+
+/**
+ * Returns whether this field is set.
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.prototype.hasStartAtInfo = function() {
+  return jspb.Message.getField(this, 2) != null;
+};
+
+
+/**
+ * optional uint32 limit = 3;
+ * @return {number}
+ */
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.prototype.getLimit = function() {
+  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));
+};
 
-  if (includeInstance) {
-    obj.$jspbMessageInstance = msg;
-  }
-  return obj;
+
+/**
+ * @param {number} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.prototype.setLimit = function(value) {
+  return jspb.Message.setField(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.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule}
+ * Clears the field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule.deserializeBinary = function(bytes) {
-  var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule;
-  return proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule.deserializeBinaryFromReader(msg, reader);
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.prototype.clearLimit = function() {
+  return jspb.Message.setField(this, 3, undefined);
 };
 
 
 /**
- * Deserializes binary data (in protobuf wire format) from the
- * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule} msg The message object to deserialize into.
- * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule}
+ * Returns whether this field is set.
+ * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule.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.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity.deserializeBinaryFromReader);
-      msg.addPriceForQuantity(value);
-      break;
-    default:
-      reader.skipField();
-      break;
-    }
-  }
-  return msg;
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.prototype.hasLimit = function() {
+  return jspb.Message.getField(this, 3) != null;
 };
 
 
 /**
- * Serializes the message to binary data (in protobuf wire format).
- * @return {!Uint8Array}
+ * optional bool prove = 4;
+ * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule.prototype.serializeBinary = function() {
-  var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule.serializeBinaryToWriter(this, writer);
-  return writer.getResultBuffer();
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.prototype.getProve = function() {
+  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 4, false));
 };
 
 
 /**
- * Serializes the given message to binary data (in protobuf wire
- * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule} message
- * @param {!jspb.BinaryWriter} writer
- * @suppress {unusedLocalVariables} f is only used for nested messages
+ * @param {boolean} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule.serializeBinaryToWriter = function(message, writer) {
-  var f = undefined;
-  f = message.getPriceForQuantityList();
-  if (f.length > 0) {
-    writer.writeRepeatedMessage(
-      1,
-      f,
-      proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity.serializeBinaryToWriter
-    );
-  }
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.prototype.setProve = function(value) {
+  return jspb.Message.setProto3BooleanField(this, 4, value);
 };
 
 
 /**
- * repeated PriceForQuantity price_for_quantity = 1;
- * @return {!Array}
+ * optional GetTokenPreProgrammedDistributionsRequestV0 v0 = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0}
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule.prototype.getPriceForQuantityList = function() {
-  return /** @type{!Array} */ (
-    jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity, 1));
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.prototype.getV0 = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0, 1));
 };
 
 
 /**
- * @param {!Array} value
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule} returns this
+ * @param {?proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest} returns this
 */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule.prototype.setPriceForQuantityList = function(value) {
-  return jspb.Message.setRepeatedWrapperField(this, 1, value);
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.prototype.setV0 = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.oneofGroups_[0], value);
 };
 
 
 /**
- * @param {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity=} opt_value
- * @param {number=} opt_index
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity}
+ * Clears the message field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest} returns this
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule.prototype.addPriceForQuantity = function(opt_value, opt_index) {
-  return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity, opt_index);
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.prototype.clearV0 = function() {
+  return this.setV0(undefined);
 };
 
 
 /**
- * Clears the list making it empty but non-null.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule} returns this
+ * Returns whether this field is set.
+ * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule.prototype.clearPriceForQuantityList = function() {
-  return this.setPriceForQuantityList([]);
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.prototype.hasV0 = function() {
+  return jspb.Message.getField(this, 1) != null;
 };
 
 
@@ -52597,22 +58846,21 @@ proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDir
  * @private {!Array>}
  * @const
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.oneofGroups_ = [[2,3]];
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.oneofGroups_ = [[1]];
 
 /**
  * @enum {number}
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.PriceCase = {
-  PRICE_NOT_SET: 0,
-  FIXED_PRICE: 2,
-  VARIABLE_PRICE: 3
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.VersionCase = {
+  VERSION_NOT_SET: 0,
+  V0: 1
 };
 
 /**
- * @return {proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.PriceCase}
+ * @return {proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.VersionCase}
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.prototype.getPriceCase = function() {
-  return /** @type {proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.PriceCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.oneofGroups_[0]));
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.prototype.getVersionCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.oneofGroups_[0]));
 };
 
 
@@ -52630,8 +58878,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.toObject(opt_includeInstance, this);
 };
 
 
@@ -52640,15 +58888,13 @@ proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDir
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.toObject = function(includeInstance, msg) {
   var f, obj = {
-    tokenId: msg.getTokenId_asB64(),
-    fixedPrice: jspb.Message.getFieldWithDefault(msg, 2, 0),
-    variablePrice: (f = msg.getVariablePrice()) && proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule.toObject(includeInstance, f)
+    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.toObject(includeInstance, f)
   };
 
   if (includeInstance) {
@@ -52662,23 +58908,23 @@ proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDir
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse}
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry;
-  return proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse;
+  return proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse}
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -52686,17 +58932,9 @@ proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDir
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = /** @type {!Uint8Array} */ (reader.readBytes());
-      msg.setTokenId(value);
-      break;
-    case 2:
-      var value = /** @type {number} */ (reader.readUint64());
-      msg.setFixedPrice(value);
-      break;
-    case 3:
-      var value = new proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule.deserializeBinaryFromReader);
-      msg.setVariablePrice(value);
+      var value = new proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.deserializeBinaryFromReader);
+      msg.setV0(value);
       break;
     default:
       reader.skipField();
@@ -52711,9 +58949,9 @@ proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDir
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -52721,162 +58959,52 @@ proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDir
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getTokenId_asU8();
-  if (f.length > 0) {
-    writer.writeBytes(
-      1,
-      f
-    );
-  }
-  f = /** @type {number} */ (jspb.Message.getField(message, 2));
-  if (f != null) {
-    writer.writeUint64(
-      2,
-      f
-    );
-  }
-  f = message.getVariablePrice();
+  f = message.getV0();
   if (f != null) {
     writer.writeMessage(
-      3,
+      1,
       f,
-      proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.serializeBinaryToWriter
     );
   }
 };
 
 
-/**
- * optional bytes token_id = 1;
- * @return {string}
- */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.prototype.getTokenId = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
-};
-
-
-/**
- * optional bytes token_id = 1;
- * This is a type-conversion wrapper around `getTokenId()`
- * @return {string}
- */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.prototype.getTokenId_asB64 = function() {
-  return /** @type {string} */ (jspb.Message.bytesAsB64(
-      this.getTokenId()));
-};
-
-
-/**
- * optional bytes token_id = 1;
- * Note that Uint8Array is not supported on all browsers.
- * @see http://caniuse.com/Uint8Array
- * This is a type-conversion wrapper around `getTokenId()`
- * @return {!Uint8Array}
- */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.prototype.getTokenId_asU8 = function() {
-  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
-      this.getTokenId()));
-};
-
-
-/**
- * @param {!(string|Uint8Array)} value
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry} returns this
- */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.prototype.setTokenId = function(value) {
-  return jspb.Message.setProto3BytesField(this, 1, value);
-};
-
-
-/**
- * optional uint64 fixed_price = 2;
- * @return {number}
- */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.prototype.getFixedPrice = function() {
-  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
-};
-
-
-/**
- * @param {number} value
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry} returns this
- */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.prototype.setFixedPrice = function(value) {
-  return jspb.Message.setOneofField(this, 2, proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.oneofGroups_[0], value);
-};
-
-
-/**
- * Clears the field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry} returns this
- */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.prototype.clearFixedPrice = function() {
-  return jspb.Message.setOneofField(this, 2, proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.oneofGroups_[0], undefined);
-};
-
-
-/**
- * Returns whether this field is set.
- * @return {boolean}
- */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.prototype.hasFixedPrice = function() {
-  return jspb.Message.getField(this, 2) != null;
-};
-
 
 /**
- * optional PricingSchedule variable_price = 3;
- * @return {?proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule}
+ * 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.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.prototype.getVariablePrice = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule, 3));
-};
-
-
-/**
- * @param {?proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry} returns this
-*/
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.prototype.setVariablePrice = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 3, proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.oneofGroups_[0], value);
-};
-
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.oneofGroups_ = [[1,2]];
 
 /**
- * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry} returns this
+ * @enum {number}
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.prototype.clearVariablePrice = function() {
-  return this.setVariablePrice(undefined);
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.ResultCase = {
+  RESULT_NOT_SET: 0,
+  TOKEN_DISTRIBUTIONS: 1,
+  PROOF: 2
 };
 
-
 /**
- * Returns whether this field is set.
- * @return {boolean}
+ * @return {proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.ResultCase}
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.prototype.hasVariablePrice = function() {
-  return jspb.Message.getField(this, 3) != null;
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.prototype.getResultCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.oneofGroups_[0]));
 };
 
 
 
-/**
- * List of repeated fields within this message type.
- * @private {!Array}
- * @const
- */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices.repeatedFields_ = [1];
-
-
-
 if (jspb.Message.GENERATE_TO_OBJECT) {
 /**
  * Creates an object representation of this proto.
@@ -52890,8 +59018,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.toObject(opt_includeInstance, this);
 };
 
 
@@ -52900,14 +59028,15 @@ proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDir
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.toObject = function(includeInstance, msg) {
   var f, obj = {
-    tokenDirectPurchasePriceList: jspb.Message.toObjectList(msg.getTokenDirectPurchasePriceList(),
-    proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.toObject, includeInstance)
+    tokenDistributions: (f = msg.getTokenDistributions()) && proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions.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) {
@@ -52921,23 +59050,23 @@ proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDir
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0}
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices;
-  return proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0;
+  return proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0}
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -52945,9 +59074,19 @@ proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDir
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.deserializeBinaryFromReader);
-      msg.addTokenDirectPurchasePrice(value);
+      var value = new proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions.deserializeBinaryFromReader);
+      msg.setTokenDistributions(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();
@@ -52962,9 +59101,9 @@ proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDir
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -52972,234 +59111,230 @@ proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDir
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getTokenDirectPurchasePriceList();
-  if (f.length > 0) {
-    writer.writeRepeatedMessage(
+  f = message.getTokenDistributions();
+  if (f != null) {
+    writer.writeMessage(
       1,
       f,
-      proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions.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
     );
   }
 };
 
 
-/**
- * repeated TokenDirectPurchasePriceEntry token_direct_purchase_price = 1;
- * @return {!Array}
- */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices.prototype.getTokenDirectPurchasePriceList = function() {
-  return /** @type{!Array} */ (
-    jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry, 1));
-};
-
-
-/**
- * @param {!Array} value
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices} returns this
-*/
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices.prototype.setTokenDirectPurchasePriceList = function(value) {
-  return jspb.Message.setRepeatedWrapperField(this, 1, value);
-};
-
-
-/**
- * @param {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry=} opt_value
- * @param {number=} opt_index
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry}
- */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices.prototype.addTokenDirectPurchasePrice = function(opt_value, opt_index) {
-  return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry, opt_index);
-};
-
-
-/**
- * Clears the list making it empty but non-null.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices} returns this
- */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices.prototype.clearTokenDirectPurchasePriceList = function() {
-  return this.setTokenDirectPurchasePriceList([]);
-};
-
-
-/**
- * optional TokenDirectPurchasePrices token_direct_purchase_prices = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices}
- */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.prototype.getTokenDirectPurchasePrices = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices, 1));
-};
-
-
-/**
- * @param {?proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0} returns this
-*/
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.prototype.setTokenDirectPurchasePrices = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.oneofGroups_[0], value);
-};
-
 
-/**
- * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0} returns this
- */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.prototype.clearTokenDirectPurchasePrices = function() {
-  return this.setTokenDirectPurchasePrices(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.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.prototype.hasTokenDirectPurchasePrices = function() {
-  return jspb.Message.getField(this, 1) != null;
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry.toObject(opt_includeInstance, this);
 };
 
 
 /**
- * optional Proof proof = 2;
- * @return {?proto.org.dash.platform.dapi.v0.Proof}
+ * 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.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry} msg The msg instance to transform.
+ * @return {!Object}
+ * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.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.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry.toObject = function(includeInstance, msg) {
+  var f, obj = {
+    recipientId: msg.getRecipientId_asB64(),
+    amount: jspb.Message.getFieldWithDefault(msg, 2, 0)
+  };
 
-/**
- * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0} returns this
-*/
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.prototype.setProof = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.oneofGroups_[0], value);
+  if (includeInstance) {
+    obj.$jspbMessageInstance = msg;
+  }
+  return obj;
 };
+}
 
 
 /**
- * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0} returns this
+ * Deserializes binary data (in protobuf wire format).
+ * @param {jspb.ByteSource} bytes The bytes to deserialize.
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry}
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.prototype.clearProof = function() {
-  return this.setProof(undefined);
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry.deserializeBinary = function(bytes) {
+  var reader = new jspb.BinaryReader(bytes);
+  var msg = new proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry;
+  return proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry.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.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry} msg The message object to deserialize into.
+ * @param {!jspb.BinaryReader} reader The BinaryReader to use.
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry}
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.prototype.hasProof = function() {
-  return jspb.Message.getField(this, 2) != null;
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry.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.setRecipientId(value);
+      break;
+    case 2:
+      var value = /** @type {number} */ (reader.readUint64());
+      msg.setAmount(value);
+      break;
+    default:
+      reader.skipField();
+      break;
+    }
+  }
+  return msg;
 };
 
 
 /**
- * optional ResponseMetadata metadata = 3;
- * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata}
+ * Serializes the message to binary data (in protobuf wire format).
+ * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.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.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry.prototype.serializeBinary = function() {
+  var writer = new jspb.BinaryWriter();
+  proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry.serializeBinaryToWriter(this, writer);
+  return writer.getResultBuffer();
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0} returns this
-*/
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.prototype.setMetadata = function(value) {
-  return jspb.Message.setWrapperField(this, 3, value);
+ * Serializes the given message to binary data (in protobuf wire
+ * format), writing to the given BinaryWriter.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry} message
+ * @param {!jspb.BinaryWriter} writer
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry.serializeBinaryToWriter = function(message, writer) {
+  var f = undefined;
+  f = message.getRecipientId_asU8();
+  if (f.length > 0) {
+    writer.writeBytes(
+      1,
+      f
+    );
+  }
+  f = message.getAmount();
+  if (f !== 0) {
+    writer.writeUint64(
+      2,
+      f
+    );
+  }
 };
 
 
 /**
- * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0} returns this
+ * optional bytes recipient_id = 1;
+ * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.prototype.clearMetadata = function() {
-  return this.setMetadata(undefined);
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry.prototype.getRecipientId = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
 };
 
 
 /**
- * Returns whether this field is set.
- * @return {boolean}
+ * optional bytes recipient_id = 1;
+ * This is a type-conversion wrapper around `getRecipientId()`
+ * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.prototype.hasMetadata = function() {
-  return jspb.Message.getField(this, 3) != null;
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry.prototype.getRecipientId_asB64 = function() {
+  return /** @type {string} */ (jspb.Message.bytesAsB64(
+      this.getRecipientId()));
 };
 
 
 /**
- * optional GetTokenDirectPurchasePricesResponseV0 v0 = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0}
+ * optional bytes recipient_id = 1;
+ * Note that Uint8Array is not supported on all browsers.
+ * @see http://caniuse.com/Uint8Array
+ * This is a type-conversion wrapper around `getRecipientId()`
+ * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.prototype.getV0 = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0, 1));
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry.prototype.getRecipientId_asU8 = function() {
+  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
+      this.getRecipientId()));
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse} returns this
-*/
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.prototype.setV0 = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.oneofGroups_[0], value);
+ * @param {!(string|Uint8Array)} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry.prototype.setRecipientId = function(value) {
+  return jspb.Message.setProto3BytesField(this, 1, value);
 };
 
 
 /**
- * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse} returns this
+ * optional uint64 amount = 2;
+ * @return {number}
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.prototype.clearV0 = function() {
-  return this.setV0(undefined);
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry.prototype.getAmount = function() {
+  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
 };
 
 
 /**
- * Returns whether this field is set.
- * @return {boolean}
+ * @param {number} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry} returns this
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.prototype.hasV0 = function() {
-  return jspb.Message.getField(this, 1) != null;
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry.prototype.setAmount = function(value) {
+  return jspb.Message.setProto3IntField(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>}
+ * List of repeated fields within this message type.
+ * @private {!Array}
  * @const
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.oneofGroups_ = [[1]];
-
-/**
- * @enum {number}
- */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.VersionCase = {
-  VERSION_NOT_SET: 0,
-  V0: 1
-};
-
-/**
- * @return {proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.VersionCase}
- */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.prototype.getVersionCase = function() {
-  return /** @type {proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.oneofGroups_[0]));
-};
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry.repeatedFields_ = [2];
 
 
 
@@ -53216,8 +59351,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry.toObject(opt_includeInstance, this);
 };
 
 
@@ -53226,13 +59361,15 @@ proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.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.GetTokenDirectPurchasePricesRequest} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry.toObject = function(includeInstance, msg) {
   var f, obj = {
-    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.toObject(includeInstance, f)
+    timestamp: jspb.Message.getFieldWithDefault(msg, 1, 0),
+    distributionsList: jspb.Message.toObjectList(msg.getDistributionsList(),
+    proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry.toObject, includeInstance)
   };
 
   if (includeInstance) {
@@ -53246,23 +59383,23 @@ proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.toObject = f
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry}
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest;
-  return proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry;
+  return proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry}
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -53270,9 +59407,13 @@ proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.deserializeB
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.deserializeBinaryFromReader);
-      msg.setV0(value);
+      var value = /** @type {number} */ (reader.readUint64());
+      msg.setTimestamp(value);
+      break;
+    case 2:
+      var value = new proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry.deserializeBinaryFromReader);
+      msg.addDistributions(value);
       break;
     default:
       reader.skipField();
@@ -53287,9 +59428,9 @@ proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.deserializeB
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -53297,30 +59438,93 @@ proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.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.GetTokenDirectPurchasePricesRequest} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getV0();
-  if (f != null) {
-    writer.writeMessage(
+  f = message.getTimestamp();
+  if (f !== 0) {
+    writer.writeUint64(
       1,
+      f
+    );
+  }
+  f = message.getDistributionsList();
+  if (f.length > 0) {
+    writer.writeRepeatedMessage(
+      2,
       f,
-      proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry.serializeBinaryToWriter
     );
   }
 };
 
 
+/**
+ * optional uint64 timestamp = 1;
+ * @return {number}
+ */
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry.prototype.getTimestamp = function() {
+  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
+};
+
+
+/**
+ * @param {number} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry.prototype.setTimestamp = function(value) {
+  return jspb.Message.setProto3IntField(this, 1, value);
+};
+
+
+/**
+ * repeated TokenDistributionEntry distributions = 2;
+ * @return {!Array}
+ */
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry.prototype.getDistributionsList = function() {
+  return /** @type{!Array} */ (
+    jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry, 2));
+};
+
+
+/**
+ * @param {!Array} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry.prototype.setDistributionsList = function(value) {
+  return jspb.Message.setRepeatedWrapperField(this, 2, value);
+};
+
+
+/**
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry=} opt_value
+ * @param {number=} opt_index
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry}
+ */
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry.prototype.addDistributions = function(opt_value, opt_index) {
+  return jspb.Message.addToRepeatedWrapperField(this, 2, opt_value, proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry, opt_index);
+};
+
+
+/**
+ * Clears the list making it empty but non-null.
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry.prototype.clearDistributionsList = function() {
+  return this.setDistributionsList([]);
+};
+
+
 
 /**
  * List of repeated fields within this message type.
  * @private {!Array}
  * @const
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.repeatedFields_ = [1];
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions.repeatedFields_ = [1];
 
 
 
@@ -53337,8 +59541,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions.toObject(opt_includeInstance, this);
 };
 
 
@@ -53347,14 +59551,14 @@ proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDire
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions.toObject = function(includeInstance, msg) {
   var f, obj = {
-    tokenIdsList: msg.getTokenIdsList_asB64(),
-    prove: jspb.Message.getBooleanFieldWithDefault(msg, 2, false)
+    tokenDistributionsList: jspb.Message.toObjectList(msg.getTokenDistributionsList(),
+    proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry.toObject, includeInstance)
   };
 
   if (includeInstance) {
@@ -53368,23 +59572,23 @@ proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDire
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions}
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0;
-  return proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions;
+  return proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions}
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -53392,12 +59596,9 @@ proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDire
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = /** @type {!Uint8Array} */ (reader.readBytes());
-      msg.addTokenIds(value);
-      break;
-    case 2:
-      var value = /** @type {boolean} */ (reader.readBool());
-      msg.setProve(value);
+      var value = new proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry.deserializeBinaryFromReader);
+      msg.addTokenDistributions(value);
       break;
     default:
       reader.skipField();
@@ -53412,9 +59613,9 @@ proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDire
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -53422,132 +59623,196 @@ proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDire
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getTokenIdsList_asU8();
+  f = message.getTokenDistributionsList();
   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.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry.serializeBinaryToWriter
     );
   }
 };
 
 
 /**
- * repeated bytes token_ids = 1;
- * @return {!Array}
+ * repeated TokenTimedDistributionEntry token_distributions = 1;
+ * @return {!Array}
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.prototype.getTokenIdsList = function() {
-  return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1));
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions.prototype.getTokenDistributionsList = function() {
+  return /** @type{!Array} */ (
+    jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry, 1));
 };
 
 
 /**
- * repeated bytes token_ids = 1;
- * This is a type-conversion wrapper around `getTokenIdsList()`
- * @return {!Array}
+ * @param {!Array} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions.prototype.setTokenDistributionsList = function(value) {
+  return jspb.Message.setRepeatedWrapperField(this, 1, value);
+};
+
+
+/**
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry=} opt_value
+ * @param {number=} opt_index
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry}
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.prototype.getTokenIdsList_asB64 = function() {
-  return /** @type {!Array} */ (jspb.Message.bytesListAsB64(
-      this.getTokenIdsList()));
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions.prototype.addTokenDistributions = function(opt_value, opt_index) {
+  return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry, opt_index);
 };
 
 
 /**
- * repeated bytes token_ids = 1;
- * Note that Uint8Array is not supported on all browsers.
- * @see http://caniuse.com/Uint8Array
- * This is a type-conversion wrapper around `getTokenIdsList()`
- * @return {!Array}
+ * Clears the list making it empty but non-null.
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions} returns this
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.prototype.getTokenIdsList_asU8 = function() {
-  return /** @type {!Array} */ (jspb.Message.bytesListAsU8(
-      this.getTokenIdsList()));
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions.prototype.clearTokenDistributionsList = function() {
+  return this.setTokenDistributionsList([]);
 };
 
 
 /**
- * @param {!(Array|Array)} value
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0} returns this
+ * optional TokenDistributions token_distributions = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions}
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.prototype.setTokenIdsList = function(value) {
-  return jspb.Message.setField(this, 1, value || []);
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.prototype.getTokenDistributions = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions, 1));
 };
 
 
 /**
- * @param {!(string|Uint8Array)} value
- * @param {number=} opt_index
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0} returns this
+ * @param {?proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.prototype.setTokenDistributions = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.oneofGroups_[0], value);
+};
+
+
+/**
+ * Clears the message field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.prototype.addTokenIds = function(value, opt_index) {
-  return jspb.Message.addToRepeatedField(this, 1, value, opt_index);
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.prototype.clearTokenDistributions = function() {
+  return this.setTokenDistributions(undefined);
 };
 
 
 /**
- * Clears the list making it empty but non-null.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0} returns this
+ * Returns whether this field is set.
+ * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.prototype.clearTokenIdsList = function() {
-  return this.setTokenIdsList([]);
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.prototype.hasTokenDistributions = 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.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.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.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.prototype.setProof = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.oneofGroups_[0], value);
+};
+
+
+/**
+ * Clears the message field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.prototype.clearProof = function() {
+  return this.setProof(undefined);
+};
+
+
+/**
+ * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.prototype.getProve = function() {
-  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.prototype.hasProof = function() {
+  return jspb.Message.getField(this, 2) != null;
 };
 
 
 /**
- * @param {boolean} value
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0} returns this
+ * optional ResponseMetadata metadata = 3;
+ * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata}
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.prototype.setProve = function(value) {
-  return jspb.Message.setProto3BooleanField(this, 2, value);
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.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 GetTokenDirectPurchasePricesRequestV0 v0 = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0}
+ * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.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.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.prototype.getV0 = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0, 1));
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.prototype.clearMetadata = function() {
+  return this.setMetadata(undefined);
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest} returns this
+ * Returns whether this field is set.
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.prototype.hasMetadata = function() {
+  return jspb.Message.getField(this, 3) != null;
+};
+
+
+/**
+ * optional GetTokenPreProgrammedDistributionsResponseV0 v0 = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0}
+ */
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.prototype.getV0 = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0, 1));
+};
+
+
+/**
+ * @param {?proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse} returns this
 */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.prototype.setV0 = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.oneofGroups_[0], value);
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.prototype.setV0 = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.oneofGroups_[0], value);
 };
 
 
 /**
  * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse} returns this
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.prototype.clearV0 = function() {
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.prototype.clearV0 = function() {
   return this.setV0(undefined);
 };
 
@@ -53556,7 +59821,7 @@ proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.prototype.cl
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.prototype.hasV0 = function() {
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.prototype.hasV0 = function() {
   return jspb.Message.getField(this, 1) != null;
 };
 
@@ -53570,21 +59835,21 @@ proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.prototype.ha
  * @private {!Array>}
  * @const
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.oneofGroups_ = [[1]];
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.oneofGroups_ = [[1]];
 
 /**
  * @enum {number}
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.VersionCase = {
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.VersionCase = {
   VERSION_NOT_SET: 0,
   V0: 1
 };
 
 /**
- * @return {proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.VersionCase}
+ * @return {proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.VersionCase}
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.prototype.getVersionCase = function() {
-  return /** @type {proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.oneofGroups_[0]));
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.prototype.getVersionCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.oneofGroups_[0]));
 };
 
 
@@ -53602,8 +59867,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.toObject(opt_includeInstance, this);
 };
 
 
@@ -53612,13 +59877,13 @@ proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.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.GetTokenPreProgrammedDistributionsRequest} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.toObject = function(includeInstance, msg) {
   var f, obj = {
-    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.toObject(includeInstance, f)
+    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0.toObject(includeInstance, f)
   };
 
   if (includeInstance) {
@@ -53632,23 +59897,23 @@ proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.toObje
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest}
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest;
-  return proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest;
+  return proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest}
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -53656,8 +59921,8 @@ proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.deseri
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.deserializeBinaryFromReader);
+      var value = new proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0.deserializeBinaryFromReader);
       msg.setV0(value);
       break;
     default:
@@ -53673,9 +59938,9 @@ proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.deseri
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -53683,18 +59948,18 @@ proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.protot
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
   f = message.getV0();
   if (f != null) {
     writer.writeMessage(
       1,
       f,
-      proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0.serializeBinaryToWriter
     );
   }
 };
@@ -53716,8 +59981,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo.toObject(opt_includeInstance, this);
 };
 
 
@@ -53726,16 +59991,14 @@ proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTok
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo.toObject = function(includeInstance, msg) {
   var f, obj = {
-    tokenId: msg.getTokenId_asB64(),
-    startAtInfo: (f = msg.getStartAtInfo()) && proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.toObject(includeInstance, f),
-    limit: jspb.Message.getFieldWithDefault(msg, 3, 0),
-    prove: jspb.Message.getBooleanFieldWithDefault(msg, 4, false)
+    contractId: msg.getContractId_asB64(),
+    tokenContractPosition: jspb.Message.getFieldWithDefault(msg, 2, 0)
   };
 
   if (includeInstance) {
@@ -53749,23 +60012,23 @@ proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTok
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo}
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0;
-  return proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo;
+  return proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo}
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -53774,20 +60037,11 @@ proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTok
     switch (field) {
     case 1:
       var value = /** @type {!Uint8Array} */ (reader.readBytes());
-      msg.setTokenId(value);
+      msg.setContractId(value);
       break;
     case 2:
-      var value = new proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.deserializeBinaryFromReader);
-      msg.setStartAtInfo(value);
-      break;
-    case 3:
       var value = /** @type {number} */ (reader.readUint32());
-      msg.setLimit(value);
-      break;
-    case 4:
-      var value = /** @type {boolean} */ (reader.readBool());
-      msg.setProve(value);
+      msg.setTokenContractPosition(value);
       break;
     default:
       reader.skipField();
@@ -53802,9 +60056,9 @@ proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTok
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -53812,44 +60066,89 @@ proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTok
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getTokenId_asU8();
+  f = message.getContractId_asU8();
   if (f.length > 0) {
     writer.writeBytes(
       1,
       f
     );
   }
-  f = message.getStartAtInfo();
-  if (f != null) {
-    writer.writeMessage(
-      2,
-      f,
-      proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.serializeBinaryToWriter
-    );
-  }
-  f = /** @type {number} */ (jspb.Message.getField(message, 3));
-  if (f != null) {
+  f = message.getTokenContractPosition();
+  if (f !== 0) {
     writer.writeUint32(
-      3,
-      f
-    );
-  }
-  f = message.getProve();
-  if (f) {
-    writer.writeBool(
-      4,
+      2,
       f
     );
   }
 };
 
 
+/**
+ * optional bytes contract_id = 1;
+ * @return {string}
+ */
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo.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.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo.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.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo.prototype.getContractId_asU8 = function() {
+  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
+      this.getContractId()));
+};
+
+
+/**
+ * @param {!(string|Uint8Array)} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo.prototype.setContractId = function(value) {
+  return jspb.Message.setProto3BytesField(this, 1, value);
+};
+
+
+/**
+ * optional uint32 token_contract_position = 2;
+ * @return {number}
+ */
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo.prototype.getTokenContractPosition = function() {
+  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
+};
+
+
+/**
+ * @param {number} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo.prototype.setTokenContractPosition = function(value) {
+  return jspb.Message.setProto3IntField(this, 2, value);
+};
+
+
 
 
 
@@ -53866,8 +60165,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0.toObject(opt_includeInstance, this);
 };
 
 
@@ -53876,15 +60175,16 @@ proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTok
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0.toObject = function(includeInstance, msg) {
   var f, obj = {
-    startTimeMs: jspb.Message.getFieldWithDefault(msg, 1, 0),
-    startRecipient: msg.getStartRecipient_asB64(),
-    startRecipientIncluded: jspb.Message.getBooleanFieldWithDefault(msg, 3, false)
+    tokenId: msg.getTokenId_asB64(),
+    contractInfo: (f = msg.getContractInfo()) && proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo.toObject(includeInstance, f),
+    identityId: msg.getIdentityId_asB64(),
+    prove: jspb.Message.getBooleanFieldWithDefault(msg, 5, false)
   };
 
   if (includeInstance) {
@@ -53898,23 +60198,23 @@ proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTok
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0}
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo;
-  return proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0;
+  return proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0}
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -53922,16 +60222,21 @@ proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTok
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = /** @type {number} */ (reader.readUint64());
-      msg.setStartTimeMs(value);
+      var value = /** @type {!Uint8Array} */ (reader.readBytes());
+      msg.setTokenId(value);
       break;
     case 2:
+      var value = new proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo.deserializeBinaryFromReader);
+      msg.setContractInfo(value);
+      break;
+    case 4:
       var value = /** @type {!Uint8Array} */ (reader.readBytes());
-      msg.setStartRecipient(value);
+      msg.setIdentityId(value);
       break;
-    case 3:
+    case 5:
       var value = /** @type {boolean} */ (reader.readBool());
-      msg.setStartRecipientIncluded(value);
+      msg.setProve(value);
       break;
     default:
       reader.skipField();
@@ -53946,9 +60251,9 @@ proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTok
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -53956,155 +60261,49 @@ proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTok
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getStartTimeMs();
-  if (f !== 0) {
-    writer.writeUint64(
+  f = message.getTokenId_asU8();
+  if (f.length > 0) {
+    writer.writeBytes(
       1,
       f
     );
   }
-  f = /** @type {!(string|Uint8Array)} */ (jspb.Message.getField(message, 2));
+  f = message.getContractInfo();
   if (f != null) {
-    writer.writeBytes(
+    writer.writeMessage(
       2,
+      f,
+      proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo.serializeBinaryToWriter
+    );
+  }
+  f = message.getIdentityId_asU8();
+  if (f.length > 0) {
+    writer.writeBytes(
+      4,
       f
     );
   }
-  f = /** @type {boolean} */ (jspb.Message.getField(message, 3));
-  if (f != null) {
+  f = message.getProve();
+  if (f) {
     writer.writeBool(
-      3,
+      5,
       f
     );
   }
 };
 
 
-/**
- * optional uint64 start_time_ms = 1;
- * @return {number}
- */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.prototype.getStartTimeMs = function() {
-  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
-};
-
-
-/**
- * @param {number} value
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo} returns this
- */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.prototype.setStartTimeMs = function(value) {
-  return jspb.Message.setProto3IntField(this, 1, value);
-};
-
-
-/**
- * optional bytes start_recipient = 2;
- * @return {string}
- */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.prototype.getStartRecipient = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
-};
-
-
-/**
- * optional bytes start_recipient = 2;
- * This is a type-conversion wrapper around `getStartRecipient()`
- * @return {string}
- */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.prototype.getStartRecipient_asB64 = function() {
-  return /** @type {string} */ (jspb.Message.bytesAsB64(
-      this.getStartRecipient()));
-};
-
-
-/**
- * optional bytes start_recipient = 2;
- * Note that Uint8Array is not supported on all browsers.
- * @see http://caniuse.com/Uint8Array
- * This is a type-conversion wrapper around `getStartRecipient()`
- * @return {!Uint8Array}
- */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.prototype.getStartRecipient_asU8 = function() {
-  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
-      this.getStartRecipient()));
-};
-
-
-/**
- * @param {!(string|Uint8Array)} value
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo} returns this
- */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.prototype.setStartRecipient = function(value) {
-  return jspb.Message.setField(this, 2, value);
-};
-
-
-/**
- * Clears the field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo} returns this
- */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.prototype.clearStartRecipient = function() {
-  return jspb.Message.setField(this, 2, undefined);
-};
-
-
-/**
- * Returns whether this field is set.
- * @return {boolean}
- */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.prototype.hasStartRecipient = function() {
-  return jspb.Message.getField(this, 2) != null;
-};
-
-
-/**
- * optional bool start_recipient_included = 3;
- * @return {boolean}
- */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.prototype.getStartRecipientIncluded = function() {
-  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 3, false));
-};
-
-
-/**
- * @param {boolean} value
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo} returns this
- */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.prototype.setStartRecipientIncluded = function(value) {
-  return jspb.Message.setField(this, 3, value);
-};
-
-
-/**
- * Clears the field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo} returns this
- */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.prototype.clearStartRecipientIncluded = function() {
-  return jspb.Message.setField(this, 3, undefined);
-};
-
-
-/**
- * Returns whether this field is set.
- * @return {boolean}
- */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.prototype.hasStartRecipientIncluded = function() {
-  return jspb.Message.getField(this, 3) != null;
-};
-
-
 /**
  * optional bytes token_id = 1;
  * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.prototype.getTokenId = function() {
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0.prototype.getTokenId = function() {
   return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
 };
 
@@ -54114,7 +60313,7 @@ proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTok
  * This is a type-conversion wrapper around `getTokenId()`
  * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.prototype.getTokenId_asB64 = function() {
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0.prototype.getTokenId_asB64 = function() {
   return /** @type {string} */ (jspb.Message.bytesAsB64(
       this.getTokenId()));
 };
@@ -54127,7 +60326,7 @@ proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTok
  * This is a type-conversion wrapper around `getTokenId()`
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.prototype.getTokenId_asU8 = function() {
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0.prototype.getTokenId_asU8 = function() {
   return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
       this.getTokenId()));
 };
@@ -54135,38 +60334,38 @@ proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTok
 
 /**
  * @param {!(string|Uint8Array)} value
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.prototype.setTokenId = function(value) {
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0.prototype.setTokenId = function(value) {
   return jspb.Message.setProto3BytesField(this, 1, value);
 };
 
 
 /**
- * optional StartAtInfo start_at_info = 2;
- * @return {?proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo}
+ * optional ContractTokenInfo contract_info = 2;
+ * @return {?proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo}
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.prototype.getStartAtInfo = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo, 2));
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0.prototype.getContractInfo = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo, 2));
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0} returns this
+ * @param {?proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0} returns this
 */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.prototype.setStartAtInfo = function(value) {
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0.prototype.setContractInfo = function(value) {
   return jspb.Message.setWrapperField(this, 2, value);
 };
 
 
 /**
  * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.prototype.clearStartAtInfo = function() {
-  return this.setStartAtInfo(undefined);
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0.prototype.clearContractInfo = function() {
+  return this.setContractInfo(undefined);
 };
 
 
@@ -54174,89 +60373,95 @@ proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTok
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.prototype.hasStartAtInfo = function() {
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0.prototype.hasContractInfo = function() {
   return jspb.Message.getField(this, 2) != null;
 };
 
 
 /**
- * optional uint32 limit = 3;
- * @return {number}
+ * optional bytes identity_id = 4;
+ * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.prototype.getLimit = function() {
-  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0.prototype.getIdentityId = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, ""));
 };
 
 
 /**
- * @param {number} value
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0} returns this
+ * optional bytes identity_id = 4;
+ * This is a type-conversion wrapper around `getIdentityId()`
+ * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.prototype.setLimit = function(value) {
-  return jspb.Message.setField(this, 3, value);
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0.prototype.getIdentityId_asB64 = function() {
+  return /** @type {string} */ (jspb.Message.bytesAsB64(
+      this.getIdentityId()));
 };
 
 
 /**
- * Clears the field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0} returns this
+ * optional bytes identity_id = 4;
+ * 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.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.prototype.clearLimit = function() {
-  return jspb.Message.setField(this, 3, undefined);
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0.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.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.prototype.hasLimit = function() {
-  return jspb.Message.getField(this, 3) != null;
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0.prototype.setIdentityId = function(value) {
+  return jspb.Message.setProto3BytesField(this, 4, value);
 };
 
 
 /**
- * optional bool prove = 4;
+ * optional bool prove = 5;
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.prototype.getProve = function() {
-  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 4, false));
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0.prototype.getProve = function() {
+  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 5, false));
 };
 
 
 /**
  * @param {boolean} value
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.prototype.setProve = function(value) {
-  return jspb.Message.setProto3BooleanField(this, 4, value);
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0.prototype.setProve = function(value) {
+  return jspb.Message.setProto3BooleanField(this, 5, value);
 };
 
 
 /**
- * optional GetTokenPreProgrammedDistributionsRequestV0 v0 = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0}
+ * optional GetTokenPerpetualDistributionLastClaimRequestV0 v0 = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0}
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.prototype.getV0 = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0, 1));
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.prototype.getV0 = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0, 1));
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest} returns this
+ * @param {?proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest} returns this
 */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.prototype.setV0 = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.oneofGroups_[0], value);
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.prototype.setV0 = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.oneofGroups_[0], value);
 };
 
 
 /**
  * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest} returns this
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.prototype.clearV0 = function() {
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.prototype.clearV0 = function() {
   return this.setV0(undefined);
 };
 
@@ -54265,7 +60470,7 @@ proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.protot
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.prototype.hasV0 = function() {
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.prototype.hasV0 = function() {
   return jspb.Message.getField(this, 1) != null;
 };
 
@@ -54279,161 +60484,21 @@ proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.protot
  * @private {!Array>}
  * @const
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.oneofGroups_ = [[1]];
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.oneofGroups_ = [[1]];
 
 /**
  * @enum {number}
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.VersionCase = {
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.VersionCase = {
   VERSION_NOT_SET: 0,
   V0: 1
 };
 
 /**
- * @return {proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.VersionCase}
- */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.prototype.getVersionCase = function() {
-  return /** @type {proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.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.GetTokenPreProgrammedDistributionsResponse.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.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.GetTokenPreProgrammedDistributionsResponse} msg The msg instance to transform.
- * @return {!Object}
- * @suppress {unusedLocalVariables} f is only used for nested messages
- */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.toObject = function(includeInstance, msg) {
-  var f, obj = {
-    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.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.GetTokenPreProgrammedDistributionsResponse}
- */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.deserializeBinary = function(bytes) {
-  var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse;
-  return proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.deserializeBinaryFromReader(msg, reader);
-};
-
-
-/**
- * Deserializes binary data (in protobuf wire format) from the
- * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse} msg The message object to deserialize into.
- * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse}
- */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.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.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.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.GetTokenPreProgrammedDistributionsResponse.prototype.serializeBinary = function() {
-  var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.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.GetTokenPreProgrammedDistributionsResponse} message
- * @param {!jspb.BinaryWriter} writer
- * @suppress {unusedLocalVariables} f is only used for nested messages
- */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.serializeBinaryToWriter = function(message, writer) {
-  var f = undefined;
-  f = message.getV0();
-  if (f != null) {
-    writer.writeMessage(
-      1,
-      f,
-      proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.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.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.oneofGroups_ = [[1,2]];
-
-/**
- * @enum {number}
- */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.ResultCase = {
-  RESULT_NOT_SET: 0,
-  TOKEN_DISTRIBUTIONS: 1,
-  PROOF: 2
-};
-
-/**
- * @return {proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.ResultCase}
+ * @return {proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.VersionCase}
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.prototype.getResultCase = function() {
-  return /** @type {proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.oneofGroups_[0]));
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.prototype.getVersionCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.oneofGroups_[0]));
 };
 
 
@@ -54451,8 +60516,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.toObject(opt_includeInstance, this);
 };
 
 
@@ -54461,15 +60526,13 @@ proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTo
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.toObject = function(includeInstance, msg) {
   var f, obj = {
-    tokenDistributions: (f = msg.getTokenDistributions()) && proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions.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.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.toObject(includeInstance, f)
   };
 
   if (includeInstance) {
@@ -54483,23 +60546,23 @@ proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTo
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse}
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0;
-  return proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse;
+  return proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse}
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -54507,19 +60570,9 @@ proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTo
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions.deserializeBinaryFromReader);
-      msg.setTokenDistributions(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.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.deserializeBinaryFromReader);
+      msg.setV0(value);
       break;
     default:
       reader.skipField();
@@ -54534,9 +60587,9 @@ proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTo
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -54544,40 +60597,50 @@ proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTo
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getTokenDistributions();
+  f = message.getV0();
   if (f != null) {
     writer.writeMessage(
       1,
       f,
-      proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions.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.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.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.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.oneofGroups_ = [[1,2]];
+
+/**
+ * @enum {number}
+ */
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.ResultCase = {
+  RESULT_NOT_SET: 0,
+  LAST_CLAIM: 1,
+  PROOF: 2
+};
+
+/**
+ * @return {proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.ResultCase}
+ */
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.prototype.getResultCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.oneofGroups_[0]));
+};
+
 
 
 if (jspb.Message.GENERATE_TO_OBJECT) {
@@ -54593,8 +60656,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.toObject(opt_includeInstance, this);
 };
 
 
@@ -54603,14 +60666,15 @@ proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTo
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.toObject = function(includeInstance, msg) {
   var f, obj = {
-    recipientId: msg.getRecipientId_asB64(),
-    amount: jspb.Message.getFieldWithDefault(msg, 2, 0)
+    lastClaim: (f = msg.getLastClaim()) && proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo.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) {
@@ -54624,23 +60688,23 @@ proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTo
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0}
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry;
-  return proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0;
+  return proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0}
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -54648,12 +60712,19 @@ proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTo
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = /** @type {!Uint8Array} */ (reader.readBytes());
-      msg.setRecipientId(value);
+      var value = new proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo.deserializeBinaryFromReader);
+      msg.setLastClaim(value);
       break;
     case 2:
-      var value = /** @type {number} */ (reader.readUint64());
-      msg.setAmount(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();
@@ -54668,9 +60739,9 @@ proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTo
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -54678,99 +60749,70 @@ proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTo
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getRecipientId_asU8();
-  if (f.length > 0) {
-    writer.writeBytes(
+  f = message.getLastClaim();
+  if (f != null) {
+    writer.writeMessage(
       1,
-      f
+      f,
+      proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo.serializeBinaryToWriter
     );
   }
-  f = message.getAmount();
-  if (f !== 0) {
-    writer.writeUint64(
+  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 recipient_id = 1;
- * @return {string}
- */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry.prototype.getRecipientId = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
-};
-
-
-/**
- * optional bytes recipient_id = 1;
- * This is a type-conversion wrapper around `getRecipientId()`
- * @return {string}
- */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry.prototype.getRecipientId_asB64 = function() {
-  return /** @type {string} */ (jspb.Message.bytesAsB64(
-      this.getRecipientId()));
-};
-
-
-/**
- * optional bytes recipient_id = 1;
- * Note that Uint8Array is not supported on all browsers.
- * @see http://caniuse.com/Uint8Array
- * This is a type-conversion wrapper around `getRecipientId()`
- * @return {!Uint8Array}
- */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry.prototype.getRecipientId_asU8 = function() {
-  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
-      this.getRecipientId()));
-};
-
 
 /**
- * @param {!(string|Uint8Array)} value
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry} 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.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry.prototype.setRecipientId = function(value) {
-  return jspb.Message.setProto3BytesField(this, 1, value);
-};
-
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo.oneofGroups_ = [[1,2,3,4]];
 
 /**
- * optional uint64 amount = 2;
- * @return {number}
+ * @enum {number}
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry.prototype.getAmount = function() {
-  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo.PaidAtCase = {
+  PAID_AT_NOT_SET: 0,
+  TIMESTAMP_MS: 1,
+  BLOCK_HEIGHT: 2,
+  EPOCH: 3,
+  RAW_BYTES: 4
 };
 
-
 /**
- * @param {number} value
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry} returns this
+ * @return {proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo.PaidAtCase}
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry.prototype.setAmount = function(value) {
-  return jspb.Message.setProto3IntField(this, 2, value);
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo.prototype.getPaidAtCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo.PaidAtCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo.oneofGroups_[0]));
 };
 
 
 
-/**
- * List of repeated fields within this message type.
- * @private {!Array}
- * @const
- */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry.repeatedFields_ = [2];
-
-
-
 if (jspb.Message.GENERATE_TO_OBJECT) {
 /**
  * Creates an object representation of this proto.
@@ -54784,8 +60826,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo.toObject(opt_includeInstance, this);
 };
 
 
@@ -54794,15 +60836,16 @@ proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTo
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo.toObject = function(includeInstance, msg) {
   var f, obj = {
-    timestamp: jspb.Message.getFieldWithDefault(msg, 1, 0),
-    distributionsList: jspb.Message.toObjectList(msg.getDistributionsList(),
-    proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry.toObject, includeInstance)
+    timestampMs: jspb.Message.getFieldWithDefault(msg, 1, "0"),
+    blockHeight: jspb.Message.getFieldWithDefault(msg, 2, "0"),
+    epoch: jspb.Message.getFieldWithDefault(msg, 3, 0),
+    rawBytes: msg.getRawBytes_asB64()
   };
 
   if (includeInstance) {
@@ -54816,23 +60859,23 @@ proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTo
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo}
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry;
-  return proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo;
+  return proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo}
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -54840,13 +60883,20 @@ proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTo
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = /** @type {number} */ (reader.readUint64());
-      msg.setTimestamp(value);
+      var value = /** @type {string} */ (reader.readUint64String());
+      msg.setTimestampMs(value);
       break;
     case 2:
-      var value = new proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry.deserializeBinaryFromReader);
-      msg.addDistributions(value);
+      var value = /** @type {string} */ (reader.readUint64String());
+      msg.setBlockHeight(value);
+      break;
+    case 3:
+      var value = /** @type {number} */ (reader.readUint32());
+      msg.setEpoch(value);
+      break;
+    case 4:
+      var value = /** @type {!Uint8Array} */ (reader.readBytes());
+      msg.setRawBytes(value);
       break;
     default:
       reader.skipField();
@@ -54861,9 +60911,9 @@ proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTo
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -54871,271 +60921,236 @@ proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTo
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getTimestamp();
-  if (f !== 0) {
-    writer.writeUint64(
+  f = /** @type {string} */ (jspb.Message.getField(message, 1));
+  if (f != null) {
+    writer.writeUint64String(
       1,
       f
     );
   }
-  f = message.getDistributionsList();
-  if (f.length > 0) {
-    writer.writeRepeatedMessage(
+  f = /** @type {string} */ (jspb.Message.getField(message, 2));
+  if (f != null) {
+    writer.writeUint64String(
       2,
-      f,
-      proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry.serializeBinaryToWriter
+      f
+    );
+  }
+  f = /** @type {number} */ (jspb.Message.getField(message, 3));
+  if (f != null) {
+    writer.writeUint32(
+      3,
+      f
+    );
+  }
+  f = /** @type {!(string|Uint8Array)} */ (jspb.Message.getField(message, 4));
+  if (f != null) {
+    writer.writeBytes(
+      4,
+      f
     );
   }
 };
 
 
 /**
- * optional uint64 timestamp = 1;
- * @return {number}
+ * optional uint64 timestamp_ms = 1;
+ * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry.prototype.getTimestamp = function() {
-  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo.prototype.getTimestampMs = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "0"));
 };
 
 
 /**
- * @param {number} value
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry} returns this
+ * @param {string} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo} returns this
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry.prototype.setTimestamp = function(value) {
-  return jspb.Message.setProto3IntField(this, 1, value);
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo.prototype.setTimestampMs = function(value) {
+  return jspb.Message.setOneofField(this, 1, proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo.oneofGroups_[0], value);
 };
 
 
 /**
- * repeated TokenDistributionEntry distributions = 2;
- * @return {!Array}
+ * Clears the field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo} returns this
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry.prototype.getDistributionsList = function() {
-  return /** @type{!Array} */ (
-    jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry, 2));
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo.prototype.clearTimestampMs = function() {
+  return jspb.Message.setOneofField(this, 1, proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo.oneofGroups_[0], undefined);
 };
 
 
 /**
- * @param {!Array} value
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry} returns this
-*/
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry.prototype.setDistributionsList = function(value) {
-  return jspb.Message.setRepeatedWrapperField(this, 2, value);
+ * Returns whether this field is set.
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo.prototype.hasTimestampMs = function() {
+  return jspb.Message.getField(this, 1) != null;
 };
 
 
 /**
- * @param {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry=} opt_value
- * @param {number=} opt_index
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry}
+ * optional uint64 block_height = 2;
+ * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry.prototype.addDistributions = function(opt_value, opt_index) {
-  return jspb.Message.addToRepeatedWrapperField(this, 2, opt_value, proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry, opt_index);
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo.prototype.getBlockHeight = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "0"));
 };
 
 
 /**
- * Clears the list making it empty but non-null.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry} returns this
+ * @param {string} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo} returns this
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry.prototype.clearDistributionsList = function() {
-  return this.setDistributionsList([]);
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo.prototype.setBlockHeight = function(value) {
+  return jspb.Message.setOneofField(this, 2, proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo.oneofGroups_[0], value);
 };
 
 
-
 /**
- * List of repeated fields within this message type.
- * @private {!Array}
- * @const
+ * Clears the field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo} returns this
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions.repeatedFields_ = [1];
-
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo.prototype.clearBlockHeight = function() {
+  return jspb.Message.setOneofField(this, 2, proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo.oneofGroups_[0], 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.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo.prototype.hasBlockHeight = 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.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions} msg The msg instance to transform.
- * @return {!Object}
- * @suppress {unusedLocalVariables} f is only used for nested messages
+ * optional uint32 epoch = 3;
+ * @return {number}
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions.toObject = function(includeInstance, msg) {
-  var f, obj = {
-    tokenDistributionsList: jspb.Message.toObjectList(msg.getTokenDistributionsList(),
-    proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry.toObject, includeInstance)
-  };
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo.prototype.getEpoch = function() {
+  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));
+};
 
-  if (includeInstance) {
-    obj.$jspbMessageInstance = msg;
-  }
-  return obj;
+
+/**
+ * @param {number} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo.prototype.setEpoch = function(value) {
+  return jspb.Message.setOneofField(this, 3, proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo.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.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions}
+ * Clears the field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo} returns this
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions.deserializeBinary = function(bytes) {
-  var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions;
-  return proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions.deserializeBinaryFromReader(msg, reader);
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo.prototype.clearEpoch = function() {
+  return jspb.Message.setOneofField(this, 3, proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo.oneofGroups_[0], undefined);
 };
 
 
 /**
- * Deserializes binary data (in protobuf wire format) from the
- * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions} msg The message object to deserialize into.
- * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions}
+ * Returns whether this field is set.
+ * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions.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.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry.deserializeBinaryFromReader);
-      msg.addTokenDistributions(value);
-      break;
-    default:
-      reader.skipField();
-      break;
-    }
-  }
-  return msg;
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo.prototype.hasEpoch = function() {
+  return jspb.Message.getField(this, 3) != null;
 };
 
 
 /**
- * Serializes the message to binary data (in protobuf wire format).
- * @return {!Uint8Array}
+ * optional bytes raw_bytes = 4;
+ * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions.prototype.serializeBinary = function() {
-  var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions.serializeBinaryToWriter(this, writer);
-  return writer.getResultBuffer();
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo.prototype.getRawBytes = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, ""));
 };
 
 
 /**
- * Serializes the given message to binary data (in protobuf wire
- * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions} message
- * @param {!jspb.BinaryWriter} writer
- * @suppress {unusedLocalVariables} f is only used for nested messages
+ * optional bytes raw_bytes = 4;
+ * This is a type-conversion wrapper around `getRawBytes()`
+ * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions.serializeBinaryToWriter = function(message, writer) {
-  var f = undefined;
-  f = message.getTokenDistributionsList();
-  if (f.length > 0) {
-    writer.writeRepeatedMessage(
-      1,
-      f,
-      proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry.serializeBinaryToWriter
-    );
-  }
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo.prototype.getRawBytes_asB64 = function() {
+  return /** @type {string} */ (jspb.Message.bytesAsB64(
+      this.getRawBytes()));
 };
 
 
 /**
- * repeated TokenTimedDistributionEntry token_distributions = 1;
- * @return {!Array}
+ * optional bytes raw_bytes = 4;
+ * Note that Uint8Array is not supported on all browsers.
+ * @see http://caniuse.com/Uint8Array
+ * This is a type-conversion wrapper around `getRawBytes()`
+ * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions.prototype.getTokenDistributionsList = function() {
-  return /** @type{!Array} */ (
-    jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry, 1));
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo.prototype.getRawBytes_asU8 = function() {
+  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
+      this.getRawBytes()));
 };
 
 
 /**
- * @param {!Array} value
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions} returns this
-*/
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions.prototype.setTokenDistributionsList = function(value) {
-  return jspb.Message.setRepeatedWrapperField(this, 1, value);
+ * @param {!(string|Uint8Array)} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo.prototype.setRawBytes = function(value) {
+  return jspb.Message.setOneofField(this, 4, proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo.oneofGroups_[0], value);
 };
 
 
 /**
- * @param {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry=} opt_value
- * @param {number=} opt_index
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry}
+ * Clears the field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo} returns this
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions.prototype.addTokenDistributions = function(opt_value, opt_index) {
-  return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry, opt_index);
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo.prototype.clearRawBytes = function() {
+  return jspb.Message.setOneofField(this, 4, proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo.oneofGroups_[0], undefined);
 };
 
 
 /**
- * Clears the list making it empty but non-null.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions} returns this
+ * Returns whether this field is set.
+ * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions.prototype.clearTokenDistributionsList = function() {
-  return this.setTokenDistributionsList([]);
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo.prototype.hasRawBytes = function() {
+  return jspb.Message.getField(this, 4) != null;
 };
 
 
 /**
- * optional TokenDistributions token_distributions = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions}
+ * optional LastClaimInfo last_claim = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo}
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.prototype.getTokenDistributions = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions, 1));
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.prototype.getLastClaim = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo, 1));
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0} returns this
+ * @param {?proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0} returns this
 */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.prototype.setTokenDistributions = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.oneofGroups_[0], value);
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.prototype.setLastClaim = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.oneofGroups_[0], value);
 };
 
 
 /**
  * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.prototype.clearTokenDistributions = function() {
-  return this.setTokenDistributions(undefined);
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.prototype.clearLastClaim = function() {
+  return this.setLastClaim(undefined);
 };
 
 
@@ -55143,7 +61158,7 @@ proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTo
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.prototype.hasTokenDistributions = function() {
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.prototype.hasLastClaim = function() {
   return jspb.Message.getField(this, 1) != null;
 };
 
@@ -55152,7 +61167,7 @@ proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTo
  * optional Proof proof = 2;
  * @return {?proto.org.dash.platform.dapi.v0.Proof}
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.prototype.getProof = function() {
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.prototype.getProof = function() {
   return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ (
     jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2));
 };
@@ -55160,18 +61175,18 @@ proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTo
 
 /**
  * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0} returns this
 */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.prototype.setProof = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.oneofGroups_[0], value);
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.prototype.setProof = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.oneofGroups_[0], value);
 };
 
 
 /**
  * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.prototype.clearProof = function() {
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.prototype.clearProof = function() {
   return this.setProof(undefined);
 };
 
@@ -55180,7 +61195,7 @@ proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTo
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.prototype.hasProof = function() {
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.prototype.hasProof = function() {
   return jspb.Message.getField(this, 2) != null;
 };
 
@@ -55189,7 +61204,7 @@ proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTo
  * optional ResponseMetadata metadata = 3;
  * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata}
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.prototype.getMetadata = function() {
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.prototype.getMetadata = function() {
   return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ (
     jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3));
 };
@@ -55197,18 +61212,18 @@ proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTo
 
 /**
  * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0} returns this
 */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.prototype.setMetadata = function(value) {
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.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.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.prototype.clearMetadata = function() {
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.prototype.clearMetadata = function() {
   return this.setMetadata(undefined);
 };
 
@@ -55217,35 +61232,35 @@ proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTo
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.prototype.hasMetadata = function() {
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.prototype.hasMetadata = function() {
   return jspb.Message.getField(this, 3) != null;
 };
 
 
 /**
- * optional GetTokenPreProgrammedDistributionsResponseV0 v0 = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0}
+ * optional GetTokenPerpetualDistributionLastClaimResponseV0 v0 = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0}
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.prototype.getV0 = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0, 1));
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.prototype.getV0 = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0, 1));
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse} returns this
+ * @param {?proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse} returns this
 */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.prototype.setV0 = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.oneofGroups_[0], value);
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.prototype.setV0 = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.oneofGroups_[0], value);
 };
 
 
 /**
  * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse} returns this
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.prototype.clearV0 = function() {
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.prototype.clearV0 = function() {
   return this.setV0(undefined);
 };
 
@@ -55254,7 +61269,7 @@ proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.proto
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.prototype.hasV0 = function() {
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.prototype.hasV0 = function() {
   return jspb.Message.getField(this, 1) != null;
 };
 
@@ -60579,7 +66594,8 @@ proto.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV
 proto.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.BurnEvent.toObject = function(includeInstance, msg) {
   var f, obj = {
     amount: jspb.Message.getFieldWithDefault(msg, 1, 0),
-    publicNote: jspb.Message.getFieldWithDefault(msg, 2, "")
+    burnFromId: msg.getBurnFromId_asB64(),
+    publicNote: jspb.Message.getFieldWithDefault(msg, 3, "")
   };
 
   if (includeInstance) {
@@ -60621,6 +66637,10 @@ proto.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV
       msg.setAmount(value);
       break;
     case 2:
+      var value = /** @type {!Uint8Array} */ (reader.readBytes());
+      msg.setBurnFromId(value);
+      break;
+    case 3:
       var value = /** @type {string} */ (reader.readString());
       msg.setPublicNote(value);
       break;
@@ -60660,10 +66680,17 @@ proto.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV
       f
     );
   }
-  f = /** @type {string} */ (jspb.Message.getField(message, 2));
+  f = message.getBurnFromId_asU8();
+  if (f.length > 0) {
+    writer.writeBytes(
+      2,
+      f
+    );
+  }
+  f = /** @type {string} */ (jspb.Message.getField(message, 3));
   if (f != null) {
     writer.writeString(
-      2,
+      3,
       f
     );
   }
@@ -60689,20 +66716,62 @@ proto.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV
 
 
 /**
- * optional string public_note = 2;
+ * optional bytes burn_from_id = 2;
  * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.BurnEvent.prototype.getPublicNote = function() {
+proto.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.BurnEvent.prototype.getBurnFromId = function() {
   return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
 };
 
 
+/**
+ * optional bytes burn_from_id = 2;
+ * This is a type-conversion wrapper around `getBurnFromId()`
+ * @return {string}
+ */
+proto.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.BurnEvent.prototype.getBurnFromId_asB64 = function() {
+  return /** @type {string} */ (jspb.Message.bytesAsB64(
+      this.getBurnFromId()));
+};
+
+
+/**
+ * optional bytes burn_from_id = 2;
+ * Note that Uint8Array is not supported on all browsers.
+ * @see http://caniuse.com/Uint8Array
+ * This is a type-conversion wrapper around `getBurnFromId()`
+ * @return {!Uint8Array}
+ */
+proto.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.BurnEvent.prototype.getBurnFromId_asU8 = function() {
+  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
+      this.getBurnFromId()));
+};
+
+
+/**
+ * @param {!(string|Uint8Array)} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.BurnEvent} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.BurnEvent.prototype.setBurnFromId = function(value) {
+  return jspb.Message.setProto3BytesField(this, 2, value);
+};
+
+
+/**
+ * optional string public_note = 3;
+ * @return {string}
+ */
+proto.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.BurnEvent.prototype.getPublicNote = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, ""));
+};
+
+
 /**
  * @param {string} value
  * @return {!proto.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.BurnEvent} returns this
  */
 proto.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.BurnEvent.prototype.setPublicNote = function(value) {
-  return jspb.Message.setField(this, 2, value);
+  return jspb.Message.setField(this, 3, value);
 };
 
 
@@ -60711,7 +66780,7 @@ proto.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV
  * @return {!proto.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.BurnEvent} returns this
  */
 proto.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.BurnEvent.prototype.clearPublicNote = function() {
-  return jspb.Message.setField(this, 2, undefined);
+  return jspb.Message.setField(this, 3, undefined);
 };
 
 
@@ -60720,7 +66789,7 @@ proto.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV
  * @return {boolean}
  */
 proto.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.BurnEvent.prototype.hasPublicNote = function() {
-  return jspb.Message.getField(this, 2) != null;
+  return jspb.Message.getField(this, 3) != 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 f7397bd9ed..261fab6262 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
@@ -80,6 +80,11 @@ CF_EXTERN_C_BEGIN
 @class GetEvonodesProposedEpochBlocksResponse_GetEvonodesProposedEpochBlocksResponseV0;
 @class GetEvonodesProposedEpochBlocksResponse_GetEvonodesProposedEpochBlocksResponseV0_EvonodeProposedBlocks;
 @class GetEvonodesProposedEpochBlocksResponse_GetEvonodesProposedEpochBlocksResponseV0_EvonodesProposedBlocks;
+@class GetFinalizedEpochInfosRequest_GetFinalizedEpochInfosRequestV0;
+@class GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0;
+@class GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0_BlockProposer;
+@class GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0_FinalizedEpochInfo;
+@class GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0_FinalizedEpochInfos;
 @class GetGroupActionSignersRequest_GetGroupActionSignersRequestV0;
 @class GetGroupActionSignersResponse_GetGroupActionSignersResponseV0;
 @class GetGroupActionSignersResponse_GetGroupActionSignersResponseV0_GroupActionSigner;
@@ -139,6 +144,10 @@ CF_EXTERN_C_BEGIN
 @class GetIdentityBalanceAndRevisionResponse_GetIdentityBalanceAndRevisionResponseV0_BalanceAndRevision;
 @class GetIdentityBalanceRequest_GetIdentityBalanceRequestV0;
 @class GetIdentityBalanceResponse_GetIdentityBalanceResponseV0;
+@class GetIdentityByNonUniquePublicKeyHashRequest_GetIdentityByNonUniquePublicKeyHashRequestV0;
+@class GetIdentityByNonUniquePublicKeyHashResponse_GetIdentityByNonUniquePublicKeyHashResponseV0;
+@class GetIdentityByNonUniquePublicKeyHashResponse_GetIdentityByNonUniquePublicKeyHashResponseV0_IdentityProvedResponse;
+@class GetIdentityByNonUniquePublicKeyHashResponse_GetIdentityByNonUniquePublicKeyHashResponseV0_IdentityResponse;
 @class GetIdentityByPublicKeyHashRequest_GetIdentityByPublicKeyHashRequestV0;
 @class GetIdentityByPublicKeyHashResponse_GetIdentityByPublicKeyHashResponseV0;
 @class GetIdentityContractNonceRequest_GetIdentityContractNonceRequestV0;
@@ -184,12 +193,19 @@ CF_EXTERN_C_BEGIN
 @class GetStatusResponse_GetStatusResponseV0_Version_Protocol_Drive;
 @class GetStatusResponse_GetStatusResponseV0_Version_Protocol_Tenderdash;
 @class GetStatusResponse_GetStatusResponseV0_Version_Software;
+@class GetTokenContractInfoRequest_GetTokenContractInfoRequestV0;
+@class GetTokenContractInfoResponse_GetTokenContractInfoResponseV0;
+@class GetTokenContractInfoResponse_GetTokenContractInfoResponseV0_TokenContractInfoData;
 @class GetTokenDirectPurchasePricesRequest_GetTokenDirectPurchasePricesRequestV0;
 @class GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0;
 @class GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0_PriceForQuantity;
 @class GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0_PricingSchedule;
 @class GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0_TokenDirectPurchasePriceEntry;
 @class GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0_TokenDirectPurchasePrices;
+@class GetTokenPerpetualDistributionLastClaimRequest_ContractTokenInfo;
+@class GetTokenPerpetualDistributionLastClaimRequest_GetTokenPerpetualDistributionLastClaimRequestV0;
+@class GetTokenPerpetualDistributionLastClaimResponse_GetTokenPerpetualDistributionLastClaimResponseV0;
+@class GetTokenPerpetualDistributionLastClaimResponse_GetTokenPerpetualDistributionLastClaimResponseV0_LastClaimInfo;
 @class GetTokenPreProgrammedDistributionsRequest_GetTokenPreProgrammedDistributionsRequestV0;
 @class GetTokenPreProgrammedDistributionsRequest_GetTokenPreProgrammedDistributionsRequestV0_StartAtInfo;
 @class GetTokenPreProgrammedDistributionsResponse_GetTokenPreProgrammedDistributionsResponseV0;
@@ -2440,6 +2456,143 @@ GPB_FINAL @interface GetIdentityByPublicKeyHashResponse_GetIdentityByPublicKeyHa
  **/
 void GetIdentityByPublicKeyHashResponse_GetIdentityByPublicKeyHashResponseV0_ClearResultOneOfCase(GetIdentityByPublicKeyHashResponse_GetIdentityByPublicKeyHashResponseV0 *message);
 
+#pragma mark - GetIdentityByNonUniquePublicKeyHashRequest
+
+typedef GPB_ENUM(GetIdentityByNonUniquePublicKeyHashRequest_FieldNumber) {
+  GetIdentityByNonUniquePublicKeyHashRequest_FieldNumber_V0 = 1,
+};
+
+typedef GPB_ENUM(GetIdentityByNonUniquePublicKeyHashRequest_Version_OneOfCase) {
+  GetIdentityByNonUniquePublicKeyHashRequest_Version_OneOfCase_GPBUnsetOneOfCase = 0,
+  GetIdentityByNonUniquePublicKeyHashRequest_Version_OneOfCase_V0 = 1,
+};
+
+GPB_FINAL @interface GetIdentityByNonUniquePublicKeyHashRequest : GPBMessage
+
+@property(nonatomic, readonly) GetIdentityByNonUniquePublicKeyHashRequest_Version_OneOfCase versionOneOfCase;
+
+@property(nonatomic, readwrite, strong, null_resettable) GetIdentityByNonUniquePublicKeyHashRequest_GetIdentityByNonUniquePublicKeyHashRequestV0 *v0;
+
+@end
+
+/**
+ * Clears whatever value was set for the oneof 'version'.
+ **/
+void GetIdentityByNonUniquePublicKeyHashRequest_ClearVersionOneOfCase(GetIdentityByNonUniquePublicKeyHashRequest *message);
+
+#pragma mark - GetIdentityByNonUniquePublicKeyHashRequest_GetIdentityByNonUniquePublicKeyHashRequestV0
+
+typedef GPB_ENUM(GetIdentityByNonUniquePublicKeyHashRequest_GetIdentityByNonUniquePublicKeyHashRequestV0_FieldNumber) {
+  GetIdentityByNonUniquePublicKeyHashRequest_GetIdentityByNonUniquePublicKeyHashRequestV0_FieldNumber_PublicKeyHash = 1,
+  GetIdentityByNonUniquePublicKeyHashRequest_GetIdentityByNonUniquePublicKeyHashRequestV0_FieldNumber_StartAfter = 2,
+  GetIdentityByNonUniquePublicKeyHashRequest_GetIdentityByNonUniquePublicKeyHashRequestV0_FieldNumber_Prove = 3,
+};
+
+GPB_FINAL @interface GetIdentityByNonUniquePublicKeyHashRequest_GetIdentityByNonUniquePublicKeyHashRequestV0 : GPBMessage
+
+@property(nonatomic, readwrite, copy, null_resettable) NSData *publicKeyHash;
+
+/** Give one result after a previous result */
+@property(nonatomic, readwrite, copy, null_resettable) NSData *startAfter;
+/** Test to see if @c startAfter has been set. */
+@property(nonatomic, readwrite) BOOL hasStartAfter;
+
+@property(nonatomic, readwrite) BOOL prove;
+
+@end
+
+#pragma mark - GetIdentityByNonUniquePublicKeyHashResponse
+
+typedef GPB_ENUM(GetIdentityByNonUniquePublicKeyHashResponse_FieldNumber) {
+  GetIdentityByNonUniquePublicKeyHashResponse_FieldNumber_V0 = 1,
+};
+
+typedef GPB_ENUM(GetIdentityByNonUniquePublicKeyHashResponse_Version_OneOfCase) {
+  GetIdentityByNonUniquePublicKeyHashResponse_Version_OneOfCase_GPBUnsetOneOfCase = 0,
+  GetIdentityByNonUniquePublicKeyHashResponse_Version_OneOfCase_V0 = 1,
+};
+
+GPB_FINAL @interface GetIdentityByNonUniquePublicKeyHashResponse : GPBMessage
+
+@property(nonatomic, readonly) GetIdentityByNonUniquePublicKeyHashResponse_Version_OneOfCase versionOneOfCase;
+
+@property(nonatomic, readwrite, strong, null_resettable) GetIdentityByNonUniquePublicKeyHashResponse_GetIdentityByNonUniquePublicKeyHashResponseV0 *v0;
+
+@end
+
+/**
+ * Clears whatever value was set for the oneof 'version'.
+ **/
+void GetIdentityByNonUniquePublicKeyHashResponse_ClearVersionOneOfCase(GetIdentityByNonUniquePublicKeyHashResponse *message);
+
+#pragma mark - GetIdentityByNonUniquePublicKeyHashResponse_GetIdentityByNonUniquePublicKeyHashResponseV0
+
+typedef GPB_ENUM(GetIdentityByNonUniquePublicKeyHashResponse_GetIdentityByNonUniquePublicKeyHashResponseV0_FieldNumber) {
+  GetIdentityByNonUniquePublicKeyHashResponse_GetIdentityByNonUniquePublicKeyHashResponseV0_FieldNumber_Identity = 1,
+  GetIdentityByNonUniquePublicKeyHashResponse_GetIdentityByNonUniquePublicKeyHashResponseV0_FieldNumber_Proof = 2,
+  GetIdentityByNonUniquePublicKeyHashResponse_GetIdentityByNonUniquePublicKeyHashResponseV0_FieldNumber_Metadata = 3,
+};
+
+typedef GPB_ENUM(GetIdentityByNonUniquePublicKeyHashResponse_GetIdentityByNonUniquePublicKeyHashResponseV0_Result_OneOfCase) {
+  GetIdentityByNonUniquePublicKeyHashResponse_GetIdentityByNonUniquePublicKeyHashResponseV0_Result_OneOfCase_GPBUnsetOneOfCase = 0,
+  GetIdentityByNonUniquePublicKeyHashResponse_GetIdentityByNonUniquePublicKeyHashResponseV0_Result_OneOfCase_Identity = 1,
+  GetIdentityByNonUniquePublicKeyHashResponse_GetIdentityByNonUniquePublicKeyHashResponseV0_Result_OneOfCase_Proof = 2,
+};
+
+GPB_FINAL @interface GetIdentityByNonUniquePublicKeyHashResponse_GetIdentityByNonUniquePublicKeyHashResponseV0 : GPBMessage
+
+@property(nonatomic, readonly) GetIdentityByNonUniquePublicKeyHashResponse_GetIdentityByNonUniquePublicKeyHashResponseV0_Result_OneOfCase resultOneOfCase;
+
+@property(nonatomic, readwrite, strong, null_resettable) GetIdentityByNonUniquePublicKeyHashResponse_GetIdentityByNonUniquePublicKeyHashResponseV0_IdentityResponse *identity;
+
+@property(nonatomic, readwrite, strong, null_resettable) GetIdentityByNonUniquePublicKeyHashResponse_GetIdentityByNonUniquePublicKeyHashResponseV0_IdentityProvedResponse *proof;
+
+/** Metadata about the blockchain state */
+@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 GetIdentityByNonUniquePublicKeyHashResponse_GetIdentityByNonUniquePublicKeyHashResponseV0_ClearResultOneOfCase(GetIdentityByNonUniquePublicKeyHashResponse_GetIdentityByNonUniquePublicKeyHashResponseV0 *message);
+
+#pragma mark - GetIdentityByNonUniquePublicKeyHashResponse_GetIdentityByNonUniquePublicKeyHashResponseV0_IdentityResponse
+
+typedef GPB_ENUM(GetIdentityByNonUniquePublicKeyHashResponse_GetIdentityByNonUniquePublicKeyHashResponseV0_IdentityResponse_FieldNumber) {
+  GetIdentityByNonUniquePublicKeyHashResponse_GetIdentityByNonUniquePublicKeyHashResponseV0_IdentityResponse_FieldNumber_Identity = 1,
+};
+
+GPB_FINAL @interface GetIdentityByNonUniquePublicKeyHashResponse_GetIdentityByNonUniquePublicKeyHashResponseV0_IdentityResponse : GPBMessage
+
+@property(nonatomic, readwrite, copy, null_resettable) NSData *identity;
+/** Test to see if @c identity has been set. */
+@property(nonatomic, readwrite) BOOL hasIdentity;
+
+@end
+
+#pragma mark - GetIdentityByNonUniquePublicKeyHashResponse_GetIdentityByNonUniquePublicKeyHashResponseV0_IdentityProvedResponse
+
+typedef GPB_ENUM(GetIdentityByNonUniquePublicKeyHashResponse_GetIdentityByNonUniquePublicKeyHashResponseV0_IdentityProvedResponse_FieldNumber) {
+  GetIdentityByNonUniquePublicKeyHashResponse_GetIdentityByNonUniquePublicKeyHashResponseV0_IdentityProvedResponse_FieldNumber_GrovedbIdentityPublicKeyHashProof = 1,
+  GetIdentityByNonUniquePublicKeyHashResponse_GetIdentityByNonUniquePublicKeyHashResponseV0_IdentityProvedResponse_FieldNumber_IdentityProofBytes = 2,
+};
+
+GPB_FINAL @interface GetIdentityByNonUniquePublicKeyHashResponse_GetIdentityByNonUniquePublicKeyHashResponseV0_IdentityProvedResponse : GPBMessage
+
+@property(nonatomic, readwrite, strong, null_resettable) Proof *grovedbIdentityPublicKeyHashProof;
+/** Test to see if @c grovedbIdentityPublicKeyHashProof has been set. */
+@property(nonatomic, readwrite) BOOL hasGrovedbIdentityPublicKeyHashProof;
+
+/** A hack, we return 2 proofs */
+@property(nonatomic, readwrite, copy, null_resettable) NSData *identityProofBytes;
+/** Test to see if @c identityProofBytes has been set. */
+@property(nonatomic, readwrite) BOOL hasIdentityProofBytes;
+
+@end
+
 #pragma mark - WaitForStateTransitionResultRequest
 
 typedef GPB_ENUM(WaitForStateTransitionResultRequest_FieldNumber) {
@@ -3111,6 +3264,223 @@ GPB_FINAL @interface GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfo : G
 
 @end
 
+#pragma mark - GetFinalizedEpochInfosRequest
+
+typedef GPB_ENUM(GetFinalizedEpochInfosRequest_FieldNumber) {
+  GetFinalizedEpochInfosRequest_FieldNumber_V0 = 1,
+};
+
+typedef GPB_ENUM(GetFinalizedEpochInfosRequest_Version_OneOfCase) {
+  GetFinalizedEpochInfosRequest_Version_OneOfCase_GPBUnsetOneOfCase = 0,
+  GetFinalizedEpochInfosRequest_Version_OneOfCase_V0 = 1,
+};
+
+GPB_FINAL @interface GetFinalizedEpochInfosRequest : GPBMessage
+
+@property(nonatomic, readonly) GetFinalizedEpochInfosRequest_Version_OneOfCase versionOneOfCase;
+
+@property(nonatomic, readwrite, strong, null_resettable) GetFinalizedEpochInfosRequest_GetFinalizedEpochInfosRequestV0 *v0;
+
+@end
+
+/**
+ * Clears whatever value was set for the oneof 'version'.
+ **/
+void GetFinalizedEpochInfosRequest_ClearVersionOneOfCase(GetFinalizedEpochInfosRequest *message);
+
+#pragma mark - GetFinalizedEpochInfosRequest_GetFinalizedEpochInfosRequestV0
+
+typedef GPB_ENUM(GetFinalizedEpochInfosRequest_GetFinalizedEpochInfosRequestV0_FieldNumber) {
+  GetFinalizedEpochInfosRequest_GetFinalizedEpochInfosRequestV0_FieldNumber_StartEpochIndex = 1,
+  GetFinalizedEpochInfosRequest_GetFinalizedEpochInfosRequestV0_FieldNumber_StartEpochIndexIncluded = 2,
+  GetFinalizedEpochInfosRequest_GetFinalizedEpochInfosRequestV0_FieldNumber_EndEpochIndex = 3,
+  GetFinalizedEpochInfosRequest_GetFinalizedEpochInfosRequestV0_FieldNumber_EndEpochIndexIncluded = 4,
+  GetFinalizedEpochInfosRequest_GetFinalizedEpochInfosRequestV0_FieldNumber_Prove = 5,
+};
+
+GPB_FINAL @interface GetFinalizedEpochInfosRequest_GetFinalizedEpochInfosRequestV0 : GPBMessage
+
+/** The starting epoch index */
+@property(nonatomic, readwrite) uint32_t startEpochIndex;
+
+/** Whether to include the start epoch */
+@property(nonatomic, readwrite) BOOL startEpochIndexIncluded;
+
+/** The ending epoch index */
+@property(nonatomic, readwrite) uint32_t endEpochIndex;
+
+/** Whether to include the end epoch */
+@property(nonatomic, readwrite) BOOL endEpochIndexIncluded;
+
+/** Flag to request a proof as the response */
+@property(nonatomic, readwrite) BOOL prove;
+
+@end
+
+#pragma mark - GetFinalizedEpochInfosResponse
+
+typedef GPB_ENUM(GetFinalizedEpochInfosResponse_FieldNumber) {
+  GetFinalizedEpochInfosResponse_FieldNumber_V0 = 1,
+};
+
+typedef GPB_ENUM(GetFinalizedEpochInfosResponse_Version_OneOfCase) {
+  GetFinalizedEpochInfosResponse_Version_OneOfCase_GPBUnsetOneOfCase = 0,
+  GetFinalizedEpochInfosResponse_Version_OneOfCase_V0 = 1,
+};
+
+GPB_FINAL @interface GetFinalizedEpochInfosResponse : GPBMessage
+
+@property(nonatomic, readonly) GetFinalizedEpochInfosResponse_Version_OneOfCase versionOneOfCase;
+
+@property(nonatomic, readwrite, strong, null_resettable) GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0 *v0;
+
+@end
+
+/**
+ * Clears whatever value was set for the oneof 'version'.
+ **/
+void GetFinalizedEpochInfosResponse_ClearVersionOneOfCase(GetFinalizedEpochInfosResponse *message);
+
+#pragma mark - GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0
+
+typedef GPB_ENUM(GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0_FieldNumber) {
+  GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0_FieldNumber_Epochs = 1,
+  GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0_FieldNumber_Proof = 2,
+  GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0_FieldNumber_Metadata = 3,
+};
+
+typedef GPB_ENUM(GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0_Result_OneOfCase) {
+  GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0_Result_OneOfCase_GPBUnsetOneOfCase = 0,
+  GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0_Result_OneOfCase_Epochs = 1,
+  GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0_Result_OneOfCase_Proof = 2,
+};
+
+GPB_FINAL @interface GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0 : GPBMessage
+
+@property(nonatomic, readonly) GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0_Result_OneOfCase resultOneOfCase;
+
+/** The actual finalized information about the requested epochs */
+@property(nonatomic, readwrite, strong, null_resettable) GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0_FinalizedEpochInfos *epochs;
+
+/** Cryptographic proof of the finalized epoch information, if requested */
+@property(nonatomic, readwrite, strong, null_resettable) Proof *proof;
+
+/** Metadata about the blockchain state */
+@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 GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0_ClearResultOneOfCase(GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0 *message);
+
+#pragma mark - GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0_FinalizedEpochInfos
+
+typedef GPB_ENUM(GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0_FinalizedEpochInfos_FieldNumber) {
+  GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0_FinalizedEpochInfos_FieldNumber_FinalizedEpochInfosArray = 1,
+};
+
+/**
+ * FinalizedEpochInfos holds a collection of finalized epoch information entries
+ **/
+GPB_FINAL @interface GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0_FinalizedEpochInfos : GPBMessage
+
+/** List of finalized information for each requested epoch */
+@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray *finalizedEpochInfosArray;
+/** The number of items in @c finalizedEpochInfosArray without causing the array to be created. */
+@property(nonatomic, readonly) NSUInteger finalizedEpochInfosArray_Count;
+
+@end
+
+#pragma mark - GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0_FinalizedEpochInfo
+
+typedef GPB_ENUM(GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0_FinalizedEpochInfo_FieldNumber) {
+  GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0_FinalizedEpochInfo_FieldNumber_Number = 1,
+  GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0_FinalizedEpochInfo_FieldNumber_FirstBlockHeight = 2,
+  GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0_FinalizedEpochInfo_FieldNumber_FirstCoreBlockHeight = 3,
+  GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0_FinalizedEpochInfo_FieldNumber_FirstBlockTime = 4,
+  GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0_FinalizedEpochInfo_FieldNumber_FeeMultiplier = 5,
+  GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0_FinalizedEpochInfo_FieldNumber_ProtocolVersion = 6,
+  GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0_FinalizedEpochInfo_FieldNumber_TotalBlocksInEpoch = 7,
+  GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0_FinalizedEpochInfo_FieldNumber_NextEpochStartCoreBlockHeight = 8,
+  GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0_FinalizedEpochInfo_FieldNumber_TotalProcessingFees = 9,
+  GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0_FinalizedEpochInfo_FieldNumber_TotalDistributedStorageFees = 10,
+  GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0_FinalizedEpochInfo_FieldNumber_TotalCreatedStorageFees = 11,
+  GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0_FinalizedEpochInfo_FieldNumber_CoreBlockRewards = 12,
+  GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0_FinalizedEpochInfo_FieldNumber_BlockProposersArray = 13,
+};
+
+/**
+ * FinalizedEpochInfo represents finalized information about a single epoch
+ **/
+GPB_FINAL @interface GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0_FinalizedEpochInfo : GPBMessage
+
+/** The number of the epoch */
+@property(nonatomic, readwrite) uint32_t number;
+
+/** The height of the first block in this epoch */
+@property(nonatomic, readwrite) uint64_t firstBlockHeight;
+
+/** The height of the first Core block in this epoch */
+@property(nonatomic, readwrite) uint32_t firstCoreBlockHeight;
+
+/** The timestamp of the first block (milliseconds) */
+@property(nonatomic, readwrite) uint64_t firstBlockTime;
+
+/** The fee multiplier (converted from permille) */
+@property(nonatomic, readwrite) double feeMultiplier;
+
+/** The protocol version for this epoch */
+@property(nonatomic, readwrite) uint32_t protocolVersion;
+
+/** Total number of blocks in the epoch */
+@property(nonatomic, readwrite) uint64_t totalBlocksInEpoch;
+
+/** Core block height where next epoch starts */
+@property(nonatomic, readwrite) uint32_t nextEpochStartCoreBlockHeight;
+
+/** Total processing fees collected */
+@property(nonatomic, readwrite) uint64_t totalProcessingFees;
+
+/** Total storage fees distributed */
+@property(nonatomic, readwrite) uint64_t totalDistributedStorageFees;
+
+/** Total storage fees created */
+@property(nonatomic, readwrite) uint64_t totalCreatedStorageFees;
+
+/** Rewards from core blocks */
+@property(nonatomic, readwrite) uint64_t coreBlockRewards;
+
+/** List of block proposers and their counts */
+@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray *blockProposersArray;
+/** The number of items in @c blockProposersArray without causing the array to be created. */
+@property(nonatomic, readonly) NSUInteger blockProposersArray_Count;
+
+@end
+
+#pragma mark - GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0_BlockProposer
+
+typedef GPB_ENUM(GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0_BlockProposer_FieldNumber) {
+  GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0_BlockProposer_FieldNumber_ProposerId = 1,
+  GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0_BlockProposer_FieldNumber_BlockCount = 2,
+};
+
+/**
+ * BlockProposer represents a block proposer and their block count
+ **/
+GPB_FINAL @interface GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0_BlockProposer : GPBMessage
+
+/** The proposer's identifier */
+@property(nonatomic, readwrite, copy, null_resettable) NSData *proposerId;
+
+/** Number of blocks proposed */
+@property(nonatomic, readwrite) uint32_t blockCount;
+
+@end
+
 #pragma mark - GetContestedResourcesRequest
 
 typedef GPB_ENUM(GetContestedResourcesRequest_FieldNumber) {
@@ -5495,6 +5865,63 @@ GPB_FINAL @interface GetTokenStatusesResponse_GetTokenStatusesResponseV0_TokenSt
 
 @end
 
+#pragma mark - GetTokenDirectPurchasePricesRequest
+
+typedef GPB_ENUM(GetTokenDirectPurchasePricesRequest_FieldNumber) {
+  GetTokenDirectPurchasePricesRequest_FieldNumber_V0 = 1,
+};
+
+typedef GPB_ENUM(GetTokenDirectPurchasePricesRequest_Version_OneOfCase) {
+  GetTokenDirectPurchasePricesRequest_Version_OneOfCase_GPBUnsetOneOfCase = 0,
+  GetTokenDirectPurchasePricesRequest_Version_OneOfCase_V0 = 1,
+};
+
+/**
+ * Retrieve direct purchase prices defined for one or more tokens.
+ *
+ * Some tokens can have a direct purchase price defined using
+ * `TokenSetPriceForDirectPurchaseTransition` (see `dpp` crate for details).
+ * This request retrieves the direct purchase prices for those tokens and
+ * returns [GetTokenDirectPurchasePricesResponse].
+ **/
+GPB_FINAL @interface GetTokenDirectPurchasePricesRequest : GPBMessage
+
+@property(nonatomic, readonly) GetTokenDirectPurchasePricesRequest_Version_OneOfCase versionOneOfCase;
+
+@property(nonatomic, readwrite, strong, null_resettable) GetTokenDirectPurchasePricesRequest_GetTokenDirectPurchasePricesRequestV0 *v0;
+
+@end
+
+/**
+ * Clears whatever value was set for the oneof 'version'.
+ **/
+void GetTokenDirectPurchasePricesRequest_ClearVersionOneOfCase(GetTokenDirectPurchasePricesRequest *message);
+
+#pragma mark - GetTokenDirectPurchasePricesRequest_GetTokenDirectPurchasePricesRequestV0
+
+typedef GPB_ENUM(GetTokenDirectPurchasePricesRequest_GetTokenDirectPurchasePricesRequestV0_FieldNumber) {
+  GetTokenDirectPurchasePricesRequest_GetTokenDirectPurchasePricesRequestV0_FieldNumber_TokenIdsArray = 1,
+  GetTokenDirectPurchasePricesRequest_GetTokenDirectPurchasePricesRequestV0_FieldNumber_Prove = 2,
+};
+
+GPB_FINAL @interface GetTokenDirectPurchasePricesRequest_GetTokenDirectPurchasePricesRequestV0 : GPBMessage
+
+/**
+ * List of token IDs to get prices for.
+ *
+ * The list must not be empty.
+ * Token IDs must have 32 bytes and be unique.
+ * Results for non-unique token IDs are undefined.
+ **/
+@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray *tokenIdsArray;
+/** The number of items in @c tokenIdsArray without causing the array to be created. */
+@property(nonatomic, readonly) NSUInteger tokenIdsArray_Count;
+
+/** Whether to return proofs for the response, or just direct response. */
+@property(nonatomic, readwrite) BOOL prove;
+
+@end
+
 #pragma mark - GetTokenDirectPurchasePricesResponse
 
 typedef GPB_ENUM(GetTokenDirectPurchasePricesResponse_FieldNumber) {
@@ -5655,63 +6082,136 @@ GPB_FINAL @interface GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchase
 
 @end
 
-#pragma mark - GetTokenDirectPurchasePricesRequest
+#pragma mark - GetTokenContractInfoRequest
 
-typedef GPB_ENUM(GetTokenDirectPurchasePricesRequest_FieldNumber) {
-  GetTokenDirectPurchasePricesRequest_FieldNumber_V0 = 1,
+typedef GPB_ENUM(GetTokenContractInfoRequest_FieldNumber) {
+  GetTokenContractInfoRequest_FieldNumber_V0 = 1,
 };
 
-typedef GPB_ENUM(GetTokenDirectPurchasePricesRequest_Version_OneOfCase) {
-  GetTokenDirectPurchasePricesRequest_Version_OneOfCase_GPBUnsetOneOfCase = 0,
-  GetTokenDirectPurchasePricesRequest_Version_OneOfCase_V0 = 1,
+typedef GPB_ENUM(GetTokenContractInfoRequest_Version_OneOfCase) {
+  GetTokenContractInfoRequest_Version_OneOfCase_GPBUnsetOneOfCase = 0,
+  GetTokenContractInfoRequest_Version_OneOfCase_V0 = 1,
 };
 
 /**
- * Retrieve direct purchase prices defined for one or more tokens.
- *
- * Some tokens can have a direct purchase price defined using
- * `TokenSetPriceForDirectPurchaseTransition` (see `dpp` crate for details).
- * This request retrieves the direct purchase prices for those tokens and
- * returns [GetTokenDirectPurchasePricesResponse].
+ * Request to retrieve token contract info for a specific token ID.
  **/
-GPB_FINAL @interface GetTokenDirectPurchasePricesRequest : GPBMessage
+GPB_FINAL @interface GetTokenContractInfoRequest : GPBMessage
 
-@property(nonatomic, readonly) GetTokenDirectPurchasePricesRequest_Version_OneOfCase versionOneOfCase;
+@property(nonatomic, readonly) GetTokenContractInfoRequest_Version_OneOfCase versionOneOfCase;
 
-@property(nonatomic, readwrite, strong, null_resettable) GetTokenDirectPurchasePricesRequest_GetTokenDirectPurchasePricesRequestV0 *v0;
+@property(nonatomic, readwrite, strong, null_resettable) GetTokenContractInfoRequest_GetTokenContractInfoRequestV0 *v0;
 
 @end
 
 /**
  * Clears whatever value was set for the oneof 'version'.
  **/
-void GetTokenDirectPurchasePricesRequest_ClearVersionOneOfCase(GetTokenDirectPurchasePricesRequest *message);
+void GetTokenContractInfoRequest_ClearVersionOneOfCase(GetTokenContractInfoRequest *message);
 
-#pragma mark - GetTokenDirectPurchasePricesRequest_GetTokenDirectPurchasePricesRequestV0
+#pragma mark - GetTokenContractInfoRequest_GetTokenContractInfoRequestV0
 
-typedef GPB_ENUM(GetTokenDirectPurchasePricesRequest_GetTokenDirectPurchasePricesRequestV0_FieldNumber) {
-  GetTokenDirectPurchasePricesRequest_GetTokenDirectPurchasePricesRequestV0_FieldNumber_TokenIdsArray = 1,
-  GetTokenDirectPurchasePricesRequest_GetTokenDirectPurchasePricesRequestV0_FieldNumber_Prove = 2,
+typedef GPB_ENUM(GetTokenContractInfoRequest_GetTokenContractInfoRequestV0_FieldNumber) {
+  GetTokenContractInfoRequest_GetTokenContractInfoRequestV0_FieldNumber_TokenId = 1,
+  GetTokenContractInfoRequest_GetTokenContractInfoRequestV0_FieldNumber_Prove = 2,
 };
 
-GPB_FINAL @interface GetTokenDirectPurchasePricesRequest_GetTokenDirectPurchasePricesRequestV0 : GPBMessage
+GPB_FINAL @interface GetTokenContractInfoRequest_GetTokenContractInfoRequestV0 : GPBMessage
 
 /**
- * List of token IDs to get prices for.
- *
- * The list must not be empty.
- * Token IDs must have 32 bytes and be unique.
- * Results for non-unique token IDs are undefined.
+ * The token ID to retrieve contract info for.
+ * Must be exactly 32 bytes.
  **/
-@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray *tokenIdsArray;
-/** The number of items in @c tokenIdsArray without causing the array to be created. */
-@property(nonatomic, readonly) NSUInteger tokenIdsArray_Count;
+@property(nonatomic, readwrite, copy, null_resettable) NSData *tokenId;
 
-/** Whether to return proofs for the response, or just direct response. */
+/** Whether to return a cryptographic proof. */
 @property(nonatomic, readwrite) BOOL prove;
 
 @end
 
+#pragma mark - GetTokenContractInfoResponse
+
+typedef GPB_ENUM(GetTokenContractInfoResponse_FieldNumber) {
+  GetTokenContractInfoResponse_FieldNumber_V0 = 1,
+};
+
+typedef GPB_ENUM(GetTokenContractInfoResponse_Version_OneOfCase) {
+  GetTokenContractInfoResponse_Version_OneOfCase_GPBUnsetOneOfCase = 0,
+  GetTokenContractInfoResponse_Version_OneOfCase_V0 = 1,
+};
+
+/**
+ * Response to GetTokenContractInfoRequest.
+ **/
+GPB_FINAL @interface GetTokenContractInfoResponse : GPBMessage
+
+@property(nonatomic, readonly) GetTokenContractInfoResponse_Version_OneOfCase versionOneOfCase;
+
+@property(nonatomic, readwrite, strong, null_resettable) GetTokenContractInfoResponse_GetTokenContractInfoResponseV0 *v0;
+
+@end
+
+/**
+ * Clears whatever value was set for the oneof 'version'.
+ **/
+void GetTokenContractInfoResponse_ClearVersionOneOfCase(GetTokenContractInfoResponse *message);
+
+#pragma mark - GetTokenContractInfoResponse_GetTokenContractInfoResponseV0
+
+typedef GPB_ENUM(GetTokenContractInfoResponse_GetTokenContractInfoResponseV0_FieldNumber) {
+  GetTokenContractInfoResponse_GetTokenContractInfoResponseV0_FieldNumber_Data_p = 1,
+  GetTokenContractInfoResponse_GetTokenContractInfoResponseV0_FieldNumber_Proof = 2,
+  GetTokenContractInfoResponse_GetTokenContractInfoResponseV0_FieldNumber_Metadata = 3,
+};
+
+typedef GPB_ENUM(GetTokenContractInfoResponse_GetTokenContractInfoResponseV0_Result_OneOfCase) {
+  GetTokenContractInfoResponse_GetTokenContractInfoResponseV0_Result_OneOfCase_GPBUnsetOneOfCase = 0,
+  GetTokenContractInfoResponse_GetTokenContractInfoResponseV0_Result_OneOfCase_Data_p = 1,
+  GetTokenContractInfoResponse_GetTokenContractInfoResponseV0_Result_OneOfCase_Proof = 2,
+};
+
+GPB_FINAL @interface GetTokenContractInfoResponse_GetTokenContractInfoResponseV0 : GPBMessage
+
+@property(nonatomic, readonly) GetTokenContractInfoResponse_GetTokenContractInfoResponseV0_Result_OneOfCase resultOneOfCase;
+
+/** Direct token contract data */
+@property(nonatomic, readwrite, strong, null_resettable) GetTokenContractInfoResponse_GetTokenContractInfoResponseV0_TokenContractInfoData *data_p;
+
+/** Cryptographic proof of token contract info */
+@property(nonatomic, readwrite, strong, null_resettable) Proof *proof;
+
+/** Metadata about the blockchain state at the time of the query */
+@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 GetTokenContractInfoResponse_GetTokenContractInfoResponseV0_ClearResultOneOfCase(GetTokenContractInfoResponse_GetTokenContractInfoResponseV0 *message);
+
+#pragma mark - GetTokenContractInfoResponse_GetTokenContractInfoResponseV0_TokenContractInfoData
+
+typedef GPB_ENUM(GetTokenContractInfoResponse_GetTokenContractInfoResponseV0_TokenContractInfoData_FieldNumber) {
+  GetTokenContractInfoResponse_GetTokenContractInfoResponseV0_TokenContractInfoData_FieldNumber_ContractId = 1,
+  GetTokenContractInfoResponse_GetTokenContractInfoResponseV0_TokenContractInfoData_FieldNumber_TokenContractPosition = 2,
+};
+
+/**
+ * Direct token contract info.
+ **/
+GPB_FINAL @interface GetTokenContractInfoResponse_GetTokenContractInfoResponseV0_TokenContractInfoData : GPBMessage
+
+/** The ID of the contract associated with the token. */
+@property(nonatomic, readwrite, copy, null_resettable) NSData *contractId;
+
+/** The position of the token within the contract. */
+@property(nonatomic, readwrite) uint32_t tokenContractPosition;
+
+@end
+
 #pragma mark - GetTokenPreProgrammedDistributionsRequest
 
 typedef GPB_ENUM(GetTokenPreProgrammedDistributionsRequest_FieldNumber) {
@@ -5884,6 +6384,173 @@ GPB_FINAL @interface GetTokenPreProgrammedDistributionsResponse_GetTokenPreProgr
 
 @end
 
+#pragma mark - GetTokenPerpetualDistributionLastClaimRequest
+
+typedef GPB_ENUM(GetTokenPerpetualDistributionLastClaimRequest_FieldNumber) {
+  GetTokenPerpetualDistributionLastClaimRequest_FieldNumber_V0 = 1,
+};
+
+typedef GPB_ENUM(GetTokenPerpetualDistributionLastClaimRequest_Version_OneOfCase) {
+  GetTokenPerpetualDistributionLastClaimRequest_Version_OneOfCase_GPBUnsetOneOfCase = 0,
+  GetTokenPerpetualDistributionLastClaimRequest_Version_OneOfCase_V0 = 1,
+};
+
+GPB_FINAL @interface GetTokenPerpetualDistributionLastClaimRequest : GPBMessage
+
+@property(nonatomic, readonly) GetTokenPerpetualDistributionLastClaimRequest_Version_OneOfCase versionOneOfCase;
+
+@property(nonatomic, readwrite, strong, null_resettable) GetTokenPerpetualDistributionLastClaimRequest_GetTokenPerpetualDistributionLastClaimRequestV0 *v0;
+
+@end
+
+/**
+ * Clears whatever value was set for the oneof 'version'.
+ **/
+void GetTokenPerpetualDistributionLastClaimRequest_ClearVersionOneOfCase(GetTokenPerpetualDistributionLastClaimRequest *message);
+
+#pragma mark - GetTokenPerpetualDistributionLastClaimRequest_ContractTokenInfo
+
+typedef GPB_ENUM(GetTokenPerpetualDistributionLastClaimRequest_ContractTokenInfo_FieldNumber) {
+  GetTokenPerpetualDistributionLastClaimRequest_ContractTokenInfo_FieldNumber_ContractId = 1,
+  GetTokenPerpetualDistributionLastClaimRequest_ContractTokenInfo_FieldNumber_TokenContractPosition = 2,
+};
+
+GPB_FINAL @interface GetTokenPerpetualDistributionLastClaimRequest_ContractTokenInfo : GPBMessage
+
+@property(nonatomic, readwrite, copy, null_resettable) NSData *contractId;
+
+/** the token contract position */
+@property(nonatomic, readwrite) uint32_t tokenContractPosition;
+
+@end
+
+#pragma mark - GetTokenPerpetualDistributionLastClaimRequest_GetTokenPerpetualDistributionLastClaimRequestV0
+
+typedef GPB_ENUM(GetTokenPerpetualDistributionLastClaimRequest_GetTokenPerpetualDistributionLastClaimRequestV0_FieldNumber) {
+  GetTokenPerpetualDistributionLastClaimRequest_GetTokenPerpetualDistributionLastClaimRequestV0_FieldNumber_TokenId = 1,
+  GetTokenPerpetualDistributionLastClaimRequest_GetTokenPerpetualDistributionLastClaimRequestV0_FieldNumber_ContractInfo = 2,
+  GetTokenPerpetualDistributionLastClaimRequest_GetTokenPerpetualDistributionLastClaimRequestV0_FieldNumber_IdentityId = 4,
+  GetTokenPerpetualDistributionLastClaimRequest_GetTokenPerpetualDistributionLastClaimRequestV0_FieldNumber_Prove = 5,
+};
+
+GPB_FINAL @interface GetTokenPerpetualDistributionLastClaimRequest_GetTokenPerpetualDistributionLastClaimRequestV0 : GPBMessage
+
+/** 32‑byte token identifier */
+@property(nonatomic, readwrite, copy, null_resettable) NSData *tokenId;
+
+/** This should be set if you wish to get back the last claim info as a specific type */
+@property(nonatomic, readwrite, strong, null_resettable) GetTokenPerpetualDistributionLastClaimRequest_ContractTokenInfo *contractInfo;
+/** Test to see if @c contractInfo has been set. */
+@property(nonatomic, readwrite) BOOL hasContractInfo;
+
+/** Identity whose last‑claim timestamp is requested */
+@property(nonatomic, readwrite, copy, null_resettable) NSData *identityId;
+
+/** Return GroveDB / signature proof instead of raw value */
+@property(nonatomic, readwrite) BOOL prove;
+
+@end
+
+#pragma mark - GetTokenPerpetualDistributionLastClaimResponse
+
+typedef GPB_ENUM(GetTokenPerpetualDistributionLastClaimResponse_FieldNumber) {
+  GetTokenPerpetualDistributionLastClaimResponse_FieldNumber_V0 = 1,
+};
+
+typedef GPB_ENUM(GetTokenPerpetualDistributionLastClaimResponse_Version_OneOfCase) {
+  GetTokenPerpetualDistributionLastClaimResponse_Version_OneOfCase_GPBUnsetOneOfCase = 0,
+  GetTokenPerpetualDistributionLastClaimResponse_Version_OneOfCase_V0 = 1,
+};
+
+GPB_FINAL @interface GetTokenPerpetualDistributionLastClaimResponse : GPBMessage
+
+@property(nonatomic, readonly) GetTokenPerpetualDistributionLastClaimResponse_Version_OneOfCase versionOneOfCase;
+
+@property(nonatomic, readwrite, strong, null_resettable) GetTokenPerpetualDistributionLastClaimResponse_GetTokenPerpetualDistributionLastClaimResponseV0 *v0;
+
+@end
+
+/**
+ * Clears whatever value was set for the oneof 'version'.
+ **/
+void GetTokenPerpetualDistributionLastClaimResponse_ClearVersionOneOfCase(GetTokenPerpetualDistributionLastClaimResponse *message);
+
+#pragma mark - GetTokenPerpetualDistributionLastClaimResponse_GetTokenPerpetualDistributionLastClaimResponseV0
+
+typedef GPB_ENUM(GetTokenPerpetualDistributionLastClaimResponse_GetTokenPerpetualDistributionLastClaimResponseV0_FieldNumber) {
+  GetTokenPerpetualDistributionLastClaimResponse_GetTokenPerpetualDistributionLastClaimResponseV0_FieldNumber_LastClaim = 1,
+  GetTokenPerpetualDistributionLastClaimResponse_GetTokenPerpetualDistributionLastClaimResponseV0_FieldNumber_Proof = 2,
+  GetTokenPerpetualDistributionLastClaimResponse_GetTokenPerpetualDistributionLastClaimResponseV0_FieldNumber_Metadata = 3,
+};
+
+typedef GPB_ENUM(GetTokenPerpetualDistributionLastClaimResponse_GetTokenPerpetualDistributionLastClaimResponseV0_Result_OneOfCase) {
+  GetTokenPerpetualDistributionLastClaimResponse_GetTokenPerpetualDistributionLastClaimResponseV0_Result_OneOfCase_GPBUnsetOneOfCase = 0,
+  GetTokenPerpetualDistributionLastClaimResponse_GetTokenPerpetualDistributionLastClaimResponseV0_Result_OneOfCase_LastClaim = 1,
+  GetTokenPerpetualDistributionLastClaimResponse_GetTokenPerpetualDistributionLastClaimResponseV0_Result_OneOfCase_Proof = 2,
+};
+
+GPB_FINAL @interface GetTokenPerpetualDistributionLastClaimResponse_GetTokenPerpetualDistributionLastClaimResponseV0 : GPBMessage
+
+@property(nonatomic, readonly) GetTokenPerpetualDistributionLastClaimResponse_GetTokenPerpetualDistributionLastClaimResponseV0_Result_OneOfCase resultOneOfCase;
+
+/** Direct answer */
+@property(nonatomic, readwrite, strong, null_resettable) GetTokenPerpetualDistributionLastClaimResponse_GetTokenPerpetualDistributionLastClaimResponseV0_LastClaimInfo *lastClaim;
+
+/** GroveDB / quorum proof */
+@property(nonatomic, readwrite, strong, null_resettable) Proof *proof;
+
+/** Chain context */
+@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 GetTokenPerpetualDistributionLastClaimResponse_GetTokenPerpetualDistributionLastClaimResponseV0_ClearResultOneOfCase(GetTokenPerpetualDistributionLastClaimResponse_GetTokenPerpetualDistributionLastClaimResponseV0 *message);
+
+#pragma mark - GetTokenPerpetualDistributionLastClaimResponse_GetTokenPerpetualDistributionLastClaimResponseV0_LastClaimInfo
+
+typedef GPB_ENUM(GetTokenPerpetualDistributionLastClaimResponse_GetTokenPerpetualDistributionLastClaimResponseV0_LastClaimInfo_FieldNumber) {
+  GetTokenPerpetualDistributionLastClaimResponse_GetTokenPerpetualDistributionLastClaimResponseV0_LastClaimInfo_FieldNumber_TimestampMs = 1,
+  GetTokenPerpetualDistributionLastClaimResponse_GetTokenPerpetualDistributionLastClaimResponseV0_LastClaimInfo_FieldNumber_BlockHeight = 2,
+  GetTokenPerpetualDistributionLastClaimResponse_GetTokenPerpetualDistributionLastClaimResponseV0_LastClaimInfo_FieldNumber_Epoch = 3,
+  GetTokenPerpetualDistributionLastClaimResponse_GetTokenPerpetualDistributionLastClaimResponseV0_LastClaimInfo_FieldNumber_RawBytes = 4,
+};
+
+typedef GPB_ENUM(GetTokenPerpetualDistributionLastClaimResponse_GetTokenPerpetualDistributionLastClaimResponseV0_LastClaimInfo_PaidAt_OneOfCase) {
+  GetTokenPerpetualDistributionLastClaimResponse_GetTokenPerpetualDistributionLastClaimResponseV0_LastClaimInfo_PaidAt_OneOfCase_GPBUnsetOneOfCase = 0,
+  GetTokenPerpetualDistributionLastClaimResponse_GetTokenPerpetualDistributionLastClaimResponseV0_LastClaimInfo_PaidAt_OneOfCase_TimestampMs = 1,
+  GetTokenPerpetualDistributionLastClaimResponse_GetTokenPerpetualDistributionLastClaimResponseV0_LastClaimInfo_PaidAt_OneOfCase_BlockHeight = 2,
+  GetTokenPerpetualDistributionLastClaimResponse_GetTokenPerpetualDistributionLastClaimResponseV0_LastClaimInfo_PaidAt_OneOfCase_Epoch = 3,
+  GetTokenPerpetualDistributionLastClaimResponse_GetTokenPerpetualDistributionLastClaimResponseV0_LastClaimInfo_PaidAt_OneOfCase_RawBytes = 4,
+};
+
+GPB_FINAL @interface GetTokenPerpetualDistributionLastClaimResponse_GetTokenPerpetualDistributionLastClaimResponseV0_LastClaimInfo : GPBMessage
+
+@property(nonatomic, readonly) GetTokenPerpetualDistributionLastClaimResponse_GetTokenPerpetualDistributionLastClaimResponseV0_LastClaimInfo_PaidAt_OneOfCase paidAtOneOfCase;
+
+/** Unix epoch, ms */
+@property(nonatomic, readwrite) uint64_t timestampMs;
+
+/** Core‑block height */
+@property(nonatomic, readwrite) uint64_t blockHeight;
+
+/** Epoch index */
+@property(nonatomic, readwrite) uint32_t epoch;
+
+/** Arbitrary encoding */
+@property(nonatomic, readwrite, copy, null_resettable) NSData *rawBytes;
+
+@end
+
+/**
+ * Clears whatever value was set for the oneof 'paidAt'.
+ **/
+void GetTokenPerpetualDistributionLastClaimResponse_GetTokenPerpetualDistributionLastClaimResponseV0_LastClaimInfo_ClearPaidAtOneOfCase(GetTokenPerpetualDistributionLastClaimResponse_GetTokenPerpetualDistributionLastClaimResponseV0_LastClaimInfo *message);
+
 #pragma mark - GetTokenTotalSupplyRequest
 
 typedef GPB_ENUM(GetTokenTotalSupplyRequest_FieldNumber) {
@@ -6480,7 +7147,8 @@ GPB_FINAL @interface GetGroupActionsResponse_GetGroupActionsResponseV0_MintEvent
 
 typedef GPB_ENUM(GetGroupActionsResponse_GetGroupActionsResponseV0_BurnEvent_FieldNumber) {
   GetGroupActionsResponse_GetGroupActionsResponseV0_BurnEvent_FieldNumber_Amount = 1,
-  GetGroupActionsResponse_GetGroupActionsResponseV0_BurnEvent_FieldNumber_PublicNote = 2,
+  GetGroupActionsResponse_GetGroupActionsResponseV0_BurnEvent_FieldNumber_BurnFromId = 2,
+  GetGroupActionsResponse_GetGroupActionsResponseV0_BurnEvent_FieldNumber_PublicNote = 3,
 };
 
 /**
@@ -6491,6 +7159,9 @@ GPB_FINAL @interface GetGroupActionsResponse_GetGroupActionsResponseV0_BurnEvent
 /** Amount to burn */
 @property(nonatomic, readwrite) uint64_t amount;
 
+/** The identifier to burn from */
+@property(nonatomic, readwrite, copy, null_resettable) NSData *burnFromId;
+
 /** Public note */
 @property(nonatomic, readwrite, copy, null_resettable) NSString *publicNote;
 /** Test to see if @c publicNote has been set. */
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 e16a37c2ea..580648e4dd 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
@@ -105,6 +105,13 @@
 GPBObjCClassDeclaration(GetEvonodesProposedEpochBlocksResponse_GetEvonodesProposedEpochBlocksResponseV0);
 GPBObjCClassDeclaration(GetEvonodesProposedEpochBlocksResponse_GetEvonodesProposedEpochBlocksResponseV0_EvonodeProposedBlocks);
 GPBObjCClassDeclaration(GetEvonodesProposedEpochBlocksResponse_GetEvonodesProposedEpochBlocksResponseV0_EvonodesProposedBlocks);
+GPBObjCClassDeclaration(GetFinalizedEpochInfosRequest);
+GPBObjCClassDeclaration(GetFinalizedEpochInfosRequest_GetFinalizedEpochInfosRequestV0);
+GPBObjCClassDeclaration(GetFinalizedEpochInfosResponse);
+GPBObjCClassDeclaration(GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0);
+GPBObjCClassDeclaration(GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0_BlockProposer);
+GPBObjCClassDeclaration(GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0_FinalizedEpochInfo);
+GPBObjCClassDeclaration(GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0_FinalizedEpochInfos);
 GPBObjCClassDeclaration(GetGroupActionSignersRequest);
 GPBObjCClassDeclaration(GetGroupActionSignersRequest_GetGroupActionSignersRequestV0);
 GPBObjCClassDeclaration(GetGroupActionSignersResponse);
@@ -184,6 +191,12 @@
 GPBObjCClassDeclaration(GetIdentityBalanceRequest_GetIdentityBalanceRequestV0);
 GPBObjCClassDeclaration(GetIdentityBalanceResponse);
 GPBObjCClassDeclaration(GetIdentityBalanceResponse_GetIdentityBalanceResponseV0);
+GPBObjCClassDeclaration(GetIdentityByNonUniquePublicKeyHashRequest);
+GPBObjCClassDeclaration(GetIdentityByNonUniquePublicKeyHashRequest_GetIdentityByNonUniquePublicKeyHashRequestV0);
+GPBObjCClassDeclaration(GetIdentityByNonUniquePublicKeyHashResponse);
+GPBObjCClassDeclaration(GetIdentityByNonUniquePublicKeyHashResponse_GetIdentityByNonUniquePublicKeyHashResponseV0);
+GPBObjCClassDeclaration(GetIdentityByNonUniquePublicKeyHashResponse_GetIdentityByNonUniquePublicKeyHashResponseV0_IdentityProvedResponse);
+GPBObjCClassDeclaration(GetIdentityByNonUniquePublicKeyHashResponse_GetIdentityByNonUniquePublicKeyHashResponseV0_IdentityResponse);
 GPBObjCClassDeclaration(GetIdentityByPublicKeyHashRequest);
 GPBObjCClassDeclaration(GetIdentityByPublicKeyHashRequest_GetIdentityByPublicKeyHashRequestV0);
 GPBObjCClassDeclaration(GetIdentityByPublicKeyHashResponse);
@@ -253,6 +266,11 @@
 GPBObjCClassDeclaration(GetStatusResponse_GetStatusResponseV0_Version_Protocol_Drive);
 GPBObjCClassDeclaration(GetStatusResponse_GetStatusResponseV0_Version_Protocol_Tenderdash);
 GPBObjCClassDeclaration(GetStatusResponse_GetStatusResponseV0_Version_Software);
+GPBObjCClassDeclaration(GetTokenContractInfoRequest);
+GPBObjCClassDeclaration(GetTokenContractInfoRequest_GetTokenContractInfoRequestV0);
+GPBObjCClassDeclaration(GetTokenContractInfoResponse);
+GPBObjCClassDeclaration(GetTokenContractInfoResponse_GetTokenContractInfoResponseV0);
+GPBObjCClassDeclaration(GetTokenContractInfoResponse_GetTokenContractInfoResponseV0_TokenContractInfoData);
 GPBObjCClassDeclaration(GetTokenDirectPurchasePricesRequest);
 GPBObjCClassDeclaration(GetTokenDirectPurchasePricesRequest_GetTokenDirectPurchasePricesRequestV0);
 GPBObjCClassDeclaration(GetTokenDirectPurchasePricesResponse);
@@ -261,6 +279,12 @@
 GPBObjCClassDeclaration(GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0_PricingSchedule);
 GPBObjCClassDeclaration(GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0_TokenDirectPurchasePriceEntry);
 GPBObjCClassDeclaration(GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0_TokenDirectPurchasePrices);
+GPBObjCClassDeclaration(GetTokenPerpetualDistributionLastClaimRequest);
+GPBObjCClassDeclaration(GetTokenPerpetualDistributionLastClaimRequest_ContractTokenInfo);
+GPBObjCClassDeclaration(GetTokenPerpetualDistributionLastClaimRequest_GetTokenPerpetualDistributionLastClaimRequestV0);
+GPBObjCClassDeclaration(GetTokenPerpetualDistributionLastClaimResponse);
+GPBObjCClassDeclaration(GetTokenPerpetualDistributionLastClaimResponse_GetTokenPerpetualDistributionLastClaimResponseV0);
+GPBObjCClassDeclaration(GetTokenPerpetualDistributionLastClaimResponse_GetTokenPerpetualDistributionLastClaimResponseV0_LastClaimInfo);
 GPBObjCClassDeclaration(GetTokenPreProgrammedDistributionsRequest);
 GPBObjCClassDeclaration(GetTokenPreProgrammedDistributionsRequest_GetTokenPreProgrammedDistributionsRequestV0);
 GPBObjCClassDeclaration(GetTokenPreProgrammedDistributionsRequest_GetTokenPreProgrammedDistributionsRequestV0_StartAtInfo);
@@ -5585,17 +5609,17 @@ void GetIdentityByPublicKeyHashResponse_GetIdentityByPublicKeyHashResponseV0_Cle
   GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0];
   GPBClearOneof(message, oneof);
 }
-#pragma mark - WaitForStateTransitionResultRequest
+#pragma mark - GetIdentityByNonUniquePublicKeyHashRequest
 
-@implementation WaitForStateTransitionResultRequest
+@implementation GetIdentityByNonUniquePublicKeyHashRequest
 
 @dynamic versionOneOfCase;
 @dynamic v0;
 
-typedef struct WaitForStateTransitionResultRequest__storage_ {
+typedef struct GetIdentityByNonUniquePublicKeyHashRequest__storage_ {
   uint32_t _has_storage_[2];
-  WaitForStateTransitionResultRequest_WaitForStateTransitionResultRequestV0 *v0;
-} WaitForStateTransitionResultRequest__storage_;
+  GetIdentityByNonUniquePublicKeyHashRequest_GetIdentityByNonUniquePublicKeyHashRequestV0 *v0;
+} GetIdentityByNonUniquePublicKeyHashRequest__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -5605,21 +5629,21 @@ + (GPBDescriptor *)descriptor {
     static GPBMessageFieldDescription fields[] = {
       {
         .name = "v0",
-        .dataTypeSpecific.clazz = GPBObjCClass(WaitForStateTransitionResultRequest_WaitForStateTransitionResultRequestV0),
-        .number = WaitForStateTransitionResultRequest_FieldNumber_V0,
+        .dataTypeSpecific.clazz = GPBObjCClass(GetIdentityByNonUniquePublicKeyHashRequest_GetIdentityByNonUniquePublicKeyHashRequestV0),
+        .number = GetIdentityByNonUniquePublicKeyHashRequest_FieldNumber_V0,
         .hasIndex = -1,
-        .offset = (uint32_t)offsetof(WaitForStateTransitionResultRequest__storage_, v0),
+        .offset = (uint32_t)offsetof(GetIdentityByNonUniquePublicKeyHashRequest__storage_, v0),
         .flags = GPBFieldOptional,
         .dataType = GPBDataTypeMessage,
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[WaitForStateTransitionResultRequest class]
+        [GPBDescriptor allocDescriptorForClass:[GetIdentityByNonUniquePublicKeyHashRequest class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(WaitForStateTransitionResultRequest__storage_)
+                                   storageSize:sizeof(GetIdentityByNonUniquePublicKeyHashRequest__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
     static const char *oneofs[] = {
       "version",
@@ -5637,22 +5661,24 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-void WaitForStateTransitionResultRequest_ClearVersionOneOfCase(WaitForStateTransitionResultRequest *message) {
-  GPBDescriptor *descriptor = [WaitForStateTransitionResultRequest descriptor];
+void GetIdentityByNonUniquePublicKeyHashRequest_ClearVersionOneOfCase(GetIdentityByNonUniquePublicKeyHashRequest *message) {
+  GPBDescriptor *descriptor = [GetIdentityByNonUniquePublicKeyHashRequest descriptor];
   GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0];
   GPBClearOneof(message, oneof);
 }
-#pragma mark - WaitForStateTransitionResultRequest_WaitForStateTransitionResultRequestV0
+#pragma mark - GetIdentityByNonUniquePublicKeyHashRequest_GetIdentityByNonUniquePublicKeyHashRequestV0
 
-@implementation WaitForStateTransitionResultRequest_WaitForStateTransitionResultRequestV0
+@implementation GetIdentityByNonUniquePublicKeyHashRequest_GetIdentityByNonUniquePublicKeyHashRequestV0
 
-@dynamic stateTransitionHash;
+@dynamic publicKeyHash;
+@dynamic hasStartAfter, startAfter;
 @dynamic prove;
 
-typedef struct WaitForStateTransitionResultRequest_WaitForStateTransitionResultRequestV0__storage_ {
+typedef struct GetIdentityByNonUniquePublicKeyHashRequest_GetIdentityByNonUniquePublicKeyHashRequestV0__storage_ {
   uint32_t _has_storage_[1];
-  NSData *stateTransitionHash;
-} WaitForStateTransitionResultRequest_WaitForStateTransitionResultRequestV0__storage_;
+  NSData *publicKeyHash;
+  NSData *startAfter;
+} GetIdentityByNonUniquePublicKeyHashRequest_GetIdentityByNonUniquePublicKeyHashRequestV0__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -5661,33 +5687,42 @@ + (GPBDescriptor *)descriptor {
   if (!descriptor) {
     static GPBMessageFieldDescription fields[] = {
       {
-        .name = "stateTransitionHash",
+        .name = "publicKeyHash",
         .dataTypeSpecific.clazz = Nil,
-        .number = WaitForStateTransitionResultRequest_WaitForStateTransitionResultRequestV0_FieldNumber_StateTransitionHash,
+        .number = GetIdentityByNonUniquePublicKeyHashRequest_GetIdentityByNonUniquePublicKeyHashRequestV0_FieldNumber_PublicKeyHash,
         .hasIndex = 0,
-        .offset = (uint32_t)offsetof(WaitForStateTransitionResultRequest_WaitForStateTransitionResultRequestV0__storage_, stateTransitionHash),
+        .offset = (uint32_t)offsetof(GetIdentityByNonUniquePublicKeyHashRequest_GetIdentityByNonUniquePublicKeyHashRequestV0__storage_, publicKeyHash),
         .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
         .dataType = GPBDataTypeBytes,
       },
       {
-        .name = "prove",
+        .name = "startAfter",
         .dataTypeSpecific.clazz = Nil,
-        .number = WaitForStateTransitionResultRequest_WaitForStateTransitionResultRequestV0_FieldNumber_Prove,
+        .number = GetIdentityByNonUniquePublicKeyHashRequest_GetIdentityByNonUniquePublicKeyHashRequestV0_FieldNumber_StartAfter,
         .hasIndex = 1,
-        .offset = 2,  // Stored in _has_storage_ to save space.
+        .offset = (uint32_t)offsetof(GetIdentityByNonUniquePublicKeyHashRequest_GetIdentityByNonUniquePublicKeyHashRequestV0__storage_, startAfter),
+        .flags = GPBFieldOptional,
+        .dataType = GPBDataTypeBytes,
+      },
+      {
+        .name = "prove",
+        .dataTypeSpecific.clazz = Nil,
+        .number = GetIdentityByNonUniquePublicKeyHashRequest_GetIdentityByNonUniquePublicKeyHashRequestV0_FieldNumber_Prove,
+        .hasIndex = 2,
+        .offset = 3,  // Stored in _has_storage_ to save space.
         .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
         .dataType = GPBDataTypeBool,
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[WaitForStateTransitionResultRequest_WaitForStateTransitionResultRequestV0 class]
+        [GPBDescriptor allocDescriptorForClass:[GetIdentityByNonUniquePublicKeyHashRequest_GetIdentityByNonUniquePublicKeyHashRequestV0 class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(WaitForStateTransitionResultRequest_WaitForStateTransitionResultRequestV0__storage_)
+                                   storageSize:sizeof(GetIdentityByNonUniquePublicKeyHashRequest_GetIdentityByNonUniquePublicKeyHashRequestV0__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
-    [localDescriptor setupContainingMessageClass:GPBObjCClass(WaitForStateTransitionResultRequest)];
+    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetIdentityByNonUniquePublicKeyHashRequest)];
     #if defined(DEBUG) && DEBUG
       NSAssert(descriptor == nil, @"Startup recursed!");
     #endif  // DEBUG
@@ -5698,17 +5733,17 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-#pragma mark - WaitForStateTransitionResultResponse
+#pragma mark - GetIdentityByNonUniquePublicKeyHashResponse
 
-@implementation WaitForStateTransitionResultResponse
+@implementation GetIdentityByNonUniquePublicKeyHashResponse
 
 @dynamic versionOneOfCase;
 @dynamic v0;
 
-typedef struct WaitForStateTransitionResultResponse__storage_ {
+typedef struct GetIdentityByNonUniquePublicKeyHashResponse__storage_ {
   uint32_t _has_storage_[2];
-  WaitForStateTransitionResultResponse_WaitForStateTransitionResultResponseV0 *v0;
-} WaitForStateTransitionResultResponse__storage_;
+  GetIdentityByNonUniquePublicKeyHashResponse_GetIdentityByNonUniquePublicKeyHashResponseV0 *v0;
+} GetIdentityByNonUniquePublicKeyHashResponse__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -5718,21 +5753,21 @@ + (GPBDescriptor *)descriptor {
     static GPBMessageFieldDescription fields[] = {
       {
         .name = "v0",
-        .dataTypeSpecific.clazz = GPBObjCClass(WaitForStateTransitionResultResponse_WaitForStateTransitionResultResponseV0),
-        .number = WaitForStateTransitionResultResponse_FieldNumber_V0,
+        .dataTypeSpecific.clazz = GPBObjCClass(GetIdentityByNonUniquePublicKeyHashResponse_GetIdentityByNonUniquePublicKeyHashResponseV0),
+        .number = GetIdentityByNonUniquePublicKeyHashResponse_FieldNumber_V0,
         .hasIndex = -1,
-        .offset = (uint32_t)offsetof(WaitForStateTransitionResultResponse__storage_, v0),
+        .offset = (uint32_t)offsetof(GetIdentityByNonUniquePublicKeyHashResponse__storage_, v0),
         .flags = GPBFieldOptional,
         .dataType = GPBDataTypeMessage,
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[WaitForStateTransitionResultResponse class]
+        [GPBDescriptor allocDescriptorForClass:[GetIdentityByNonUniquePublicKeyHashResponse class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(WaitForStateTransitionResultResponse__storage_)
+                                   storageSize:sizeof(GetIdentityByNonUniquePublicKeyHashResponse__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
     static const char *oneofs[] = {
       "version",
@@ -5750,26 +5785,26 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-void WaitForStateTransitionResultResponse_ClearVersionOneOfCase(WaitForStateTransitionResultResponse *message) {
-  GPBDescriptor *descriptor = [WaitForStateTransitionResultResponse descriptor];
+void GetIdentityByNonUniquePublicKeyHashResponse_ClearVersionOneOfCase(GetIdentityByNonUniquePublicKeyHashResponse *message) {
+  GPBDescriptor *descriptor = [GetIdentityByNonUniquePublicKeyHashResponse descriptor];
   GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0];
   GPBClearOneof(message, oneof);
 }
-#pragma mark - WaitForStateTransitionResultResponse_WaitForStateTransitionResultResponseV0
+#pragma mark - GetIdentityByNonUniquePublicKeyHashResponse_GetIdentityByNonUniquePublicKeyHashResponseV0
 
-@implementation WaitForStateTransitionResultResponse_WaitForStateTransitionResultResponseV0
+@implementation GetIdentityByNonUniquePublicKeyHashResponse_GetIdentityByNonUniquePublicKeyHashResponseV0
 
 @dynamic resultOneOfCase;
-@dynamic error;
+@dynamic identity;
 @dynamic proof;
 @dynamic hasMetadata, metadata;
 
-typedef struct WaitForStateTransitionResultResponse_WaitForStateTransitionResultResponseV0__storage_ {
+typedef struct GetIdentityByNonUniquePublicKeyHashResponse_GetIdentityByNonUniquePublicKeyHashResponseV0__storage_ {
   uint32_t _has_storage_[2];
-  StateTransitionBroadcastError *error;
-  Proof *proof;
+  GetIdentityByNonUniquePublicKeyHashResponse_GetIdentityByNonUniquePublicKeyHashResponseV0_IdentityResponse *identity;
+  GetIdentityByNonUniquePublicKeyHashResponse_GetIdentityByNonUniquePublicKeyHashResponseV0_IdentityProvedResponse *proof;
   ResponseMetadata *metadata;
-} WaitForStateTransitionResultResponse_WaitForStateTransitionResultResponseV0__storage_;
+} GetIdentityByNonUniquePublicKeyHashResponse_GetIdentityByNonUniquePublicKeyHashResponseV0__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -5778,40 +5813,40 @@ + (GPBDescriptor *)descriptor {
   if (!descriptor) {
     static GPBMessageFieldDescription fields[] = {
       {
-        .name = "error",
-        .dataTypeSpecific.clazz = GPBObjCClass(StateTransitionBroadcastError),
-        .number = WaitForStateTransitionResultResponse_WaitForStateTransitionResultResponseV0_FieldNumber_Error,
+        .name = "identity",
+        .dataTypeSpecific.clazz = GPBObjCClass(GetIdentityByNonUniquePublicKeyHashResponse_GetIdentityByNonUniquePublicKeyHashResponseV0_IdentityResponse),
+        .number = GetIdentityByNonUniquePublicKeyHashResponse_GetIdentityByNonUniquePublicKeyHashResponseV0_FieldNumber_Identity,
         .hasIndex = -1,
-        .offset = (uint32_t)offsetof(WaitForStateTransitionResultResponse_WaitForStateTransitionResultResponseV0__storage_, error),
+        .offset = (uint32_t)offsetof(GetIdentityByNonUniquePublicKeyHashResponse_GetIdentityByNonUniquePublicKeyHashResponseV0__storage_, identity),
         .flags = GPBFieldOptional,
         .dataType = GPBDataTypeMessage,
       },
       {
         .name = "proof",
-        .dataTypeSpecific.clazz = GPBObjCClass(Proof),
-        .number = WaitForStateTransitionResultResponse_WaitForStateTransitionResultResponseV0_FieldNumber_Proof,
+        .dataTypeSpecific.clazz = GPBObjCClass(GetIdentityByNonUniquePublicKeyHashResponse_GetIdentityByNonUniquePublicKeyHashResponseV0_IdentityProvedResponse),
+        .number = GetIdentityByNonUniquePublicKeyHashResponse_GetIdentityByNonUniquePublicKeyHashResponseV0_FieldNumber_Proof,
         .hasIndex = -1,
-        .offset = (uint32_t)offsetof(WaitForStateTransitionResultResponse_WaitForStateTransitionResultResponseV0__storage_, proof),
+        .offset = (uint32_t)offsetof(GetIdentityByNonUniquePublicKeyHashResponse_GetIdentityByNonUniquePublicKeyHashResponseV0__storage_, proof),
         .flags = GPBFieldOptional,
         .dataType = GPBDataTypeMessage,
       },
       {
         .name = "metadata",
         .dataTypeSpecific.clazz = GPBObjCClass(ResponseMetadata),
-        .number = WaitForStateTransitionResultResponse_WaitForStateTransitionResultResponseV0_FieldNumber_Metadata,
+        .number = GetIdentityByNonUniquePublicKeyHashResponse_GetIdentityByNonUniquePublicKeyHashResponseV0_FieldNumber_Metadata,
         .hasIndex = 0,
-        .offset = (uint32_t)offsetof(WaitForStateTransitionResultResponse_WaitForStateTransitionResultResponseV0__storage_, metadata),
+        .offset = (uint32_t)offsetof(GetIdentityByNonUniquePublicKeyHashResponse_GetIdentityByNonUniquePublicKeyHashResponseV0__storage_, metadata),
         .flags = GPBFieldOptional,
         .dataType = GPBDataTypeMessage,
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[WaitForStateTransitionResultResponse_WaitForStateTransitionResultResponseV0 class]
+        [GPBDescriptor allocDescriptorForClass:[GetIdentityByNonUniquePublicKeyHashResponse_GetIdentityByNonUniquePublicKeyHashResponseV0 class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(WaitForStateTransitionResultResponse_WaitForStateTransitionResultResponseV0__storage_)
+                                   storageSize:sizeof(GetIdentityByNonUniquePublicKeyHashResponse_GetIdentityByNonUniquePublicKeyHashResponseV0__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
     static const char *oneofs[] = {
       "result",
@@ -5819,7 +5854,7 @@ + (GPBDescriptor *)descriptor {
     [localDescriptor setupOneofs:oneofs
                            count:(uint32_t)(sizeof(oneofs) / sizeof(char*))
                    firstHasIndex:-1];
-    [localDescriptor setupContainingMessageClass:GPBObjCClass(WaitForStateTransitionResultResponse)];
+    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetIdentityByNonUniquePublicKeyHashResponse)];
     #if defined(DEBUG) && DEBUG
       NSAssert(descriptor == nil, @"Startup recursed!");
     #endif  // DEBUG
@@ -5830,22 +5865,21 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-void WaitForStateTransitionResultResponse_WaitForStateTransitionResultResponseV0_ClearResultOneOfCase(WaitForStateTransitionResultResponse_WaitForStateTransitionResultResponseV0 *message) {
-  GPBDescriptor *descriptor = [WaitForStateTransitionResultResponse_WaitForStateTransitionResultResponseV0 descriptor];
+void GetIdentityByNonUniquePublicKeyHashResponse_GetIdentityByNonUniquePublicKeyHashResponseV0_ClearResultOneOfCase(GetIdentityByNonUniquePublicKeyHashResponse_GetIdentityByNonUniquePublicKeyHashResponseV0 *message) {
+  GPBDescriptor *descriptor = [GetIdentityByNonUniquePublicKeyHashResponse_GetIdentityByNonUniquePublicKeyHashResponseV0 descriptor];
   GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0];
   GPBClearOneof(message, oneof);
 }
-#pragma mark - GetConsensusParamsRequest
+#pragma mark - GetIdentityByNonUniquePublicKeyHashResponse_GetIdentityByNonUniquePublicKeyHashResponseV0_IdentityResponse
 
-@implementation GetConsensusParamsRequest
+@implementation GetIdentityByNonUniquePublicKeyHashResponse_GetIdentityByNonUniquePublicKeyHashResponseV0_IdentityResponse
 
-@dynamic versionOneOfCase;
-@dynamic v0;
+@dynamic hasIdentity, identity;
 
-typedef struct GetConsensusParamsRequest__storage_ {
-  uint32_t _has_storage_[2];
-  GetConsensusParamsRequest_GetConsensusParamsRequestV0 *v0;
-} GetConsensusParamsRequest__storage_;
+typedef struct GetIdentityByNonUniquePublicKeyHashResponse_GetIdentityByNonUniquePublicKeyHashResponseV0_IdentityResponse__storage_ {
+  uint32_t _has_storage_[1];
+  NSData *identity;
+} GetIdentityByNonUniquePublicKeyHashResponse_GetIdentityByNonUniquePublicKeyHashResponseV0_IdentityResponse__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -5854,29 +5888,24 @@ + (GPBDescriptor *)descriptor {
   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),
+        .name = "identity",
+        .dataTypeSpecific.clazz = Nil,
+        .number = GetIdentityByNonUniquePublicKeyHashResponse_GetIdentityByNonUniquePublicKeyHashResponseV0_IdentityResponse_FieldNumber_Identity,
+        .hasIndex = 0,
+        .offset = (uint32_t)offsetof(GetIdentityByNonUniquePublicKeyHashResponse_GetIdentityByNonUniquePublicKeyHashResponseV0_IdentityResponse__storage_, identity),
         .flags = GPBFieldOptional,
-        .dataType = GPBDataTypeMessage,
+        .dataType = GPBDataTypeBytes,
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetConsensusParamsRequest class]
+        [GPBDescriptor allocDescriptorForClass:[GetIdentityByNonUniquePublicKeyHashResponse_GetIdentityByNonUniquePublicKeyHashResponseV0_IdentityResponse class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetConsensusParamsRequest__storage_)
+                                   storageSize:sizeof(GetIdentityByNonUniquePublicKeyHashResponse_GetIdentityByNonUniquePublicKeyHashResponseV0_IdentityResponse__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
-    static const char *oneofs[] = {
-      "version",
-    };
-    [localDescriptor setupOneofs:oneofs
-                           count:(uint32_t)(sizeof(oneofs) / sizeof(char*))
-                   firstHasIndex:-1];
+    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetIdentityByNonUniquePublicKeyHashResponse_GetIdentityByNonUniquePublicKeyHashResponseV0)];
     #if defined(DEBUG) && DEBUG
       NSAssert(descriptor == nil, @"Startup recursed!");
     #endif  // DEBUG
@@ -5887,22 +5916,18 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-void GetConsensusParamsRequest_ClearVersionOneOfCase(GetConsensusParamsRequest *message) {
-  GPBDescriptor *descriptor = [GetConsensusParamsRequest descriptor];
-  GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0];
-  GPBClearOneof(message, oneof);
-}
-#pragma mark - GetConsensusParamsRequest_GetConsensusParamsRequestV0
+#pragma mark - GetIdentityByNonUniquePublicKeyHashResponse_GetIdentityByNonUniquePublicKeyHashResponseV0_IdentityProvedResponse
 
-@implementation GetConsensusParamsRequest_GetConsensusParamsRequestV0
+@implementation GetIdentityByNonUniquePublicKeyHashResponse_GetIdentityByNonUniquePublicKeyHashResponseV0_IdentityProvedResponse
 
-@dynamic height;
-@dynamic prove;
+@dynamic hasGrovedbIdentityPublicKeyHashProof, grovedbIdentityPublicKeyHashProof;
+@dynamic hasIdentityProofBytes, identityProofBytes;
 
-typedef struct GetConsensusParamsRequest_GetConsensusParamsRequestV0__storage_ {
+typedef struct GetIdentityByNonUniquePublicKeyHashResponse_GetIdentityByNonUniquePublicKeyHashResponseV0_IdentityProvedResponse__storage_ {
   uint32_t _has_storage_[1];
-  int32_t height;
-} GetConsensusParamsRequest_GetConsensusParamsRequestV0__storage_;
+  Proof *grovedbIdentityPublicKeyHashProof;
+  NSData *identityProofBytes;
+} GetIdentityByNonUniquePublicKeyHashResponse_GetIdentityByNonUniquePublicKeyHashResponseV0_IdentityProvedResponse__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -5911,33 +5936,33 @@ + (GPBDescriptor *)descriptor {
   if (!descriptor) {
     static GPBMessageFieldDescription fields[] = {
       {
-        .name = "height",
-        .dataTypeSpecific.clazz = Nil,
-        .number = GetConsensusParamsRequest_GetConsensusParamsRequestV0_FieldNumber_Height,
+        .name = "grovedbIdentityPublicKeyHashProof",
+        .dataTypeSpecific.clazz = GPBObjCClass(Proof),
+        .number = GetIdentityByNonUniquePublicKeyHashResponse_GetIdentityByNonUniquePublicKeyHashResponseV0_IdentityProvedResponse_FieldNumber_GrovedbIdentityPublicKeyHashProof,
         .hasIndex = 0,
-        .offset = (uint32_t)offsetof(GetConsensusParamsRequest_GetConsensusParamsRequestV0__storage_, height),
-        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
-        .dataType = GPBDataTypeInt32,
+        .offset = (uint32_t)offsetof(GetIdentityByNonUniquePublicKeyHashResponse_GetIdentityByNonUniquePublicKeyHashResponseV0_IdentityProvedResponse__storage_, grovedbIdentityPublicKeyHashProof),
+        .flags = GPBFieldOptional,
+        .dataType = GPBDataTypeMessage,
       },
       {
-        .name = "prove",
+        .name = "identityProofBytes",
         .dataTypeSpecific.clazz = Nil,
-        .number = GetConsensusParamsRequest_GetConsensusParamsRequestV0_FieldNumber_Prove,
+        .number = GetIdentityByNonUniquePublicKeyHashResponse_GetIdentityByNonUniquePublicKeyHashResponseV0_IdentityProvedResponse_FieldNumber_IdentityProofBytes,
         .hasIndex = 1,
-        .offset = 2,  // Stored in _has_storage_ to save space.
-        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
-        .dataType = GPBDataTypeBool,
+        .offset = (uint32_t)offsetof(GetIdentityByNonUniquePublicKeyHashResponse_GetIdentityByNonUniquePublicKeyHashResponseV0_IdentityProvedResponse__storage_, identityProofBytes),
+        .flags = GPBFieldOptional,
+        .dataType = GPBDataTypeBytes,
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetConsensusParamsRequest_GetConsensusParamsRequestV0 class]
+        [GPBDescriptor allocDescriptorForClass:[GetIdentityByNonUniquePublicKeyHashResponse_GetIdentityByNonUniquePublicKeyHashResponseV0_IdentityProvedResponse class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetConsensusParamsRequest_GetConsensusParamsRequestV0__storage_)
+                                   storageSize:sizeof(GetIdentityByNonUniquePublicKeyHashResponse_GetIdentityByNonUniquePublicKeyHashResponseV0_IdentityProvedResponse__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
-    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetConsensusParamsRequest)];
+    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetIdentityByNonUniquePublicKeyHashResponse_GetIdentityByNonUniquePublicKeyHashResponseV0)];
     #if defined(DEBUG) && DEBUG
       NSAssert(descriptor == nil, @"Startup recursed!");
     #endif  // DEBUG
@@ -5948,17 +5973,17 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-#pragma mark - GetConsensusParamsResponse
+#pragma mark - WaitForStateTransitionResultRequest
 
-@implementation GetConsensusParamsResponse
+@implementation WaitForStateTransitionResultRequest
 
 @dynamic versionOneOfCase;
 @dynamic v0;
 
-typedef struct GetConsensusParamsResponse__storage_ {
+typedef struct WaitForStateTransitionResultRequest__storage_ {
   uint32_t _has_storage_[2];
-  GetConsensusParamsResponse_GetConsensusParamsResponseV0 *v0;
-} GetConsensusParamsResponse__storage_;
+  WaitForStateTransitionResultRequest_WaitForStateTransitionResultRequestV0 *v0;
+} WaitForStateTransitionResultRequest__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -5968,21 +5993,21 @@ + (GPBDescriptor *)descriptor {
     static GPBMessageFieldDescription fields[] = {
       {
         .name = "v0",
-        .dataTypeSpecific.clazz = GPBObjCClass(GetConsensusParamsResponse_GetConsensusParamsResponseV0),
-        .number = GetConsensusParamsResponse_FieldNumber_V0,
+        .dataTypeSpecific.clazz = GPBObjCClass(WaitForStateTransitionResultRequest_WaitForStateTransitionResultRequestV0),
+        .number = WaitForStateTransitionResultRequest_FieldNumber_V0,
         .hasIndex = -1,
-        .offset = (uint32_t)offsetof(GetConsensusParamsResponse__storage_, v0),
+        .offset = (uint32_t)offsetof(WaitForStateTransitionResultRequest__storage_, v0),
         .flags = GPBFieldOptional,
         .dataType = GPBDataTypeMessage,
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetConsensusParamsResponse class]
+        [GPBDescriptor allocDescriptorForClass:[WaitForStateTransitionResultRequest class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetConsensusParamsResponse__storage_)
+                                   storageSize:sizeof(WaitForStateTransitionResultRequest__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
     static const char *oneofs[] = {
       "version",
@@ -6000,25 +6025,22 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-void GetConsensusParamsResponse_ClearVersionOneOfCase(GetConsensusParamsResponse *message) {
-  GPBDescriptor *descriptor = [GetConsensusParamsResponse descriptor];
+void WaitForStateTransitionResultRequest_ClearVersionOneOfCase(WaitForStateTransitionResultRequest *message) {
+  GPBDescriptor *descriptor = [WaitForStateTransitionResultRequest descriptor];
   GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0];
   GPBClearOneof(message, oneof);
 }
-#pragma mark - GetConsensusParamsResponse_ConsensusParamsBlock
+#pragma mark - WaitForStateTransitionResultRequest_WaitForStateTransitionResultRequestV0
 
-@implementation GetConsensusParamsResponse_ConsensusParamsBlock
+@implementation WaitForStateTransitionResultRequest_WaitForStateTransitionResultRequestV0
 
-@dynamic maxBytes;
-@dynamic maxGas;
-@dynamic timeIotaMs;
+@dynamic stateTransitionHash;
+@dynamic prove;
 
-typedef struct GetConsensusParamsResponse_ConsensusParamsBlock__storage_ {
+typedef struct WaitForStateTransitionResultRequest_WaitForStateTransitionResultRequestV0__storage_ {
   uint32_t _has_storage_[1];
-  NSString *maxBytes;
-  NSString *maxGas;
-  NSString *timeIotaMs;
-} GetConsensusParamsResponse_ConsensusParamsBlock__storage_;
+  NSData *stateTransitionHash;
+} WaitForStateTransitionResultRequest_WaitForStateTransitionResultRequestV0__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -6027,42 +6049,33 @@ + (GPBDescriptor *)descriptor {
   if (!descriptor) {
     static GPBMessageFieldDescription fields[] = {
       {
-        .name = "maxBytes",
+        .name = "stateTransitionHash",
         .dataTypeSpecific.clazz = Nil,
-        .number = GetConsensusParamsResponse_ConsensusParamsBlock_FieldNumber_MaxBytes,
+        .number = WaitForStateTransitionResultRequest_WaitForStateTransitionResultRequestV0_FieldNumber_StateTransitionHash,
         .hasIndex = 0,
-        .offset = (uint32_t)offsetof(GetConsensusParamsResponse_ConsensusParamsBlock__storage_, maxBytes),
+        .offset = (uint32_t)offsetof(WaitForStateTransitionResultRequest_WaitForStateTransitionResultRequestV0__storage_, stateTransitionHash),
         .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
-        .dataType = GPBDataTypeString,
+        .dataType = GPBDataTypeBytes,
       },
       {
-        .name = "maxGas",
+        .name = "prove",
         .dataTypeSpecific.clazz = Nil,
-        .number = GetConsensusParamsResponse_ConsensusParamsBlock_FieldNumber_MaxGas,
+        .number = WaitForStateTransitionResultRequest_WaitForStateTransitionResultRequestV0_FieldNumber_Prove,
         .hasIndex = 1,
-        .offset = (uint32_t)offsetof(GetConsensusParamsResponse_ConsensusParamsBlock__storage_, maxGas),
-        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
-        .dataType = GPBDataTypeString,
-      },
-      {
-        .name = "timeIotaMs",
-        .dataTypeSpecific.clazz = Nil,
-        .number = GetConsensusParamsResponse_ConsensusParamsBlock_FieldNumber_TimeIotaMs,
-        .hasIndex = 2,
-        .offset = (uint32_t)offsetof(GetConsensusParamsResponse_ConsensusParamsBlock__storage_, timeIotaMs),
+        .offset = 2,  // Stored in _has_storage_ to save space.
         .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
-        .dataType = GPBDataTypeString,
+        .dataType = GPBDataTypeBool,
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetConsensusParamsResponse_ConsensusParamsBlock class]
+        [GPBDescriptor allocDescriptorForClass:[WaitForStateTransitionResultRequest_WaitForStateTransitionResultRequestV0 class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetConsensusParamsResponse_ConsensusParamsBlock__storage_)
+                                   storageSize:sizeof(WaitForStateTransitionResultRequest_WaitForStateTransitionResultRequestV0__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
-    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetConsensusParamsResponse)];
+    [localDescriptor setupContainingMessageClass:GPBObjCClass(WaitForStateTransitionResultRequest)];
     #if defined(DEBUG) && DEBUG
       NSAssert(descriptor == nil, @"Startup recursed!");
     #endif  // DEBUG
@@ -6073,20 +6086,17 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-#pragma mark - GetConsensusParamsResponse_ConsensusParamsEvidence
+#pragma mark - WaitForStateTransitionResultResponse
 
-@implementation GetConsensusParamsResponse_ConsensusParamsEvidence
+@implementation WaitForStateTransitionResultResponse
 
-@dynamic maxAgeNumBlocks;
-@dynamic maxAgeDuration;
-@dynamic maxBytes;
+@dynamic versionOneOfCase;
+@dynamic v0;
 
-typedef struct GetConsensusParamsResponse_ConsensusParamsEvidence__storage_ {
-  uint32_t _has_storage_[1];
-  NSString *maxAgeNumBlocks;
-  NSString *maxAgeDuration;
-  NSString *maxBytes;
-} GetConsensusParamsResponse_ConsensusParamsEvidence__storage_;
+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.
@@ -6095,42 +6105,29 @@ + (GPBDescriptor *)descriptor {
   if (!descriptor) {
     static GPBMessageFieldDescription fields[] = {
       {
-        .name = "maxAgeNumBlocks",
-        .dataTypeSpecific.clazz = Nil,
-        .number = GetConsensusParamsResponse_ConsensusParamsEvidence_FieldNumber_MaxAgeNumBlocks,
-        .hasIndex = 0,
-        .offset = (uint32_t)offsetof(GetConsensusParamsResponse_ConsensusParamsEvidence__storage_, maxAgeNumBlocks),
-        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
-        .dataType = GPBDataTypeString,
-      },
-      {
-        .name = "maxAgeDuration",
-        .dataTypeSpecific.clazz = Nil,
-        .number = GetConsensusParamsResponse_ConsensusParamsEvidence_FieldNumber_MaxAgeDuration,
-        .hasIndex = 1,
-        .offset = (uint32_t)offsetof(GetConsensusParamsResponse_ConsensusParamsEvidence__storage_, maxAgeDuration),
-        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
-        .dataType = GPBDataTypeString,
-      },
-      {
-        .name = "maxBytes",
-        .dataTypeSpecific.clazz = Nil,
-        .number = GetConsensusParamsResponse_ConsensusParamsEvidence_FieldNumber_MaxBytes,
-        .hasIndex = 2,
-        .offset = (uint32_t)offsetof(GetConsensusParamsResponse_ConsensusParamsEvidence__storage_, maxBytes),
-        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
-        .dataType = GPBDataTypeString,
+        .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:[GetConsensusParamsResponse_ConsensusParamsEvidence class]
+        [GPBDescriptor allocDescriptorForClass:[WaitForStateTransitionResultResponse class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetConsensusParamsResponse_ConsensusParamsEvidence__storage_)
+                                   storageSize:sizeof(WaitForStateTransitionResultResponse__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
-    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetConsensusParamsResponse)];
+    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
@@ -6141,18 +6138,26 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-#pragma mark - GetConsensusParamsResponse_GetConsensusParamsResponseV0
+void WaitForStateTransitionResultResponse_ClearVersionOneOfCase(WaitForStateTransitionResultResponse *message) {
+  GPBDescriptor *descriptor = [WaitForStateTransitionResultResponse descriptor];
+  GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0];
+  GPBClearOneof(message, oneof);
+}
+#pragma mark - WaitForStateTransitionResultResponse_WaitForStateTransitionResultResponseV0
 
-@implementation GetConsensusParamsResponse_GetConsensusParamsResponseV0
+@implementation WaitForStateTransitionResultResponse_WaitForStateTransitionResultResponseV0
 
-@dynamic hasBlock, block;
-@dynamic hasEvidence, evidence;
+@dynamic resultOneOfCase;
+@dynamic error;
+@dynamic proof;
+@dynamic hasMetadata, metadata;
 
-typedef struct GetConsensusParamsResponse_GetConsensusParamsResponseV0__storage_ {
-  uint32_t _has_storage_[1];
-  GetConsensusParamsResponse_ConsensusParamsBlock *block;
-  GetConsensusParamsResponse_ConsensusParamsEvidence *evidence;
-} GetConsensusParamsResponse_GetConsensusParamsResponseV0__storage_;
+typedef struct WaitForStateTransitionResultResponse_WaitForStateTransitionResultResponseV0__storage_ {
+  uint32_t _has_storage_[2];
+  StateTransitionBroadcastError *error;
+  Proof *proof;
+  ResponseMetadata *metadata;
+} WaitForStateTransitionResultResponse_WaitForStateTransitionResultResponseV0__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -6161,33 +6166,48 @@ + (GPBDescriptor *)descriptor {
   if (!descriptor) {
     static GPBMessageFieldDescription fields[] = {
       {
-        .name = "block",
-        .dataTypeSpecific.clazz = GPBObjCClass(GetConsensusParamsResponse_ConsensusParamsBlock),
-        .number = GetConsensusParamsResponse_GetConsensusParamsResponseV0_FieldNumber_Block,
-        .hasIndex = 0,
-        .offset = (uint32_t)offsetof(GetConsensusParamsResponse_GetConsensusParamsResponseV0__storage_, block),
+        .name = "error",
+        .dataTypeSpecific.clazz = GPBObjCClass(StateTransitionBroadcastError),
+        .number = WaitForStateTransitionResultResponse_WaitForStateTransitionResultResponseV0_FieldNumber_Error,
+        .hasIndex = -1,
+        .offset = (uint32_t)offsetof(WaitForStateTransitionResultResponse_WaitForStateTransitionResultResponseV0__storage_, error),
         .flags = GPBFieldOptional,
         .dataType = GPBDataTypeMessage,
       },
       {
-        .name = "evidence",
-        .dataTypeSpecific.clazz = GPBObjCClass(GetConsensusParamsResponse_ConsensusParamsEvidence),
-        .number = GetConsensusParamsResponse_GetConsensusParamsResponseV0_FieldNumber_Evidence,
-        .hasIndex = 1,
-        .offset = (uint32_t)offsetof(GetConsensusParamsResponse_GetConsensusParamsResponseV0__storage_, evidence),
+        .name = "proof",
+        .dataTypeSpecific.clazz = GPBObjCClass(Proof),
+        .number = WaitForStateTransitionResultResponse_WaitForStateTransitionResultResponseV0_FieldNumber_Proof,
+        .hasIndex = -1,
+        .offset = (uint32_t)offsetof(WaitForStateTransitionResultResponse_WaitForStateTransitionResultResponseV0__storage_, proof),
+        .flags = GPBFieldOptional,
+        .dataType = GPBDataTypeMessage,
+      },
+      {
+        .name = "metadata",
+        .dataTypeSpecific.clazz = GPBObjCClass(ResponseMetadata),
+        .number = WaitForStateTransitionResultResponse_WaitForStateTransitionResultResponseV0_FieldNumber_Metadata,
+        .hasIndex = 0,
+        .offset = (uint32_t)offsetof(WaitForStateTransitionResultResponse_WaitForStateTransitionResultResponseV0__storage_, metadata),
         .flags = GPBFieldOptional,
         .dataType = GPBDataTypeMessage,
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetConsensusParamsResponse_GetConsensusParamsResponseV0 class]
+        [GPBDescriptor allocDescriptorForClass:[WaitForStateTransitionResultResponse_WaitForStateTransitionResultResponseV0 class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetConsensusParamsResponse_GetConsensusParamsResponseV0__storage_)
+                                   storageSize:sizeof(WaitForStateTransitionResultResponse_WaitForStateTransitionResultResponseV0__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
-    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetConsensusParamsResponse)];
+    static const char *oneofs[] = {
+      "result",
+    };
+    [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
@@ -6198,17 +6218,22 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-#pragma mark - GetProtocolVersionUpgradeStateRequest
+void WaitForStateTransitionResultResponse_WaitForStateTransitionResultResponseV0_ClearResultOneOfCase(WaitForStateTransitionResultResponse_WaitForStateTransitionResultResponseV0 *message) {
+  GPBDescriptor *descriptor = [WaitForStateTransitionResultResponse_WaitForStateTransitionResultResponseV0 descriptor];
+  GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0];
+  GPBClearOneof(message, oneof);
+}
+#pragma mark - GetConsensusParamsRequest
 
-@implementation GetProtocolVersionUpgradeStateRequest
+@implementation GetConsensusParamsRequest
 
 @dynamic versionOneOfCase;
 @dynamic v0;
 
-typedef struct GetProtocolVersionUpgradeStateRequest__storage_ {
+typedef struct GetConsensusParamsRequest__storage_ {
   uint32_t _has_storage_[2];
-  GetProtocolVersionUpgradeStateRequest_GetProtocolVersionUpgradeStateRequestV0 *v0;
-} GetProtocolVersionUpgradeStateRequest__storage_;
+  GetConsensusParamsRequest_GetConsensusParamsRequestV0 *v0;
+} GetConsensusParamsRequest__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -6218,21 +6243,21 @@ + (GPBDescriptor *)descriptor {
     static GPBMessageFieldDescription fields[] = {
       {
         .name = "v0",
-        .dataTypeSpecific.clazz = GPBObjCClass(GetProtocolVersionUpgradeStateRequest_GetProtocolVersionUpgradeStateRequestV0),
-        .number = GetProtocolVersionUpgradeStateRequest_FieldNumber_V0,
+        .dataTypeSpecific.clazz = GPBObjCClass(GetConsensusParamsRequest_GetConsensusParamsRequestV0),
+        .number = GetConsensusParamsRequest_FieldNumber_V0,
         .hasIndex = -1,
-        .offset = (uint32_t)offsetof(GetProtocolVersionUpgradeStateRequest__storage_, v0),
+        .offset = (uint32_t)offsetof(GetConsensusParamsRequest__storage_, v0),
         .flags = GPBFieldOptional,
         .dataType = GPBDataTypeMessage,
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetProtocolVersionUpgradeStateRequest class]
+        [GPBDescriptor allocDescriptorForClass:[GetConsensusParamsRequest class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetProtocolVersionUpgradeStateRequest__storage_)
+                                   storageSize:sizeof(GetConsensusParamsRequest__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
     static const char *oneofs[] = {
       "version",
@@ -6250,20 +6275,22 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-void GetProtocolVersionUpgradeStateRequest_ClearVersionOneOfCase(GetProtocolVersionUpgradeStateRequest *message) {
-  GPBDescriptor *descriptor = [GetProtocolVersionUpgradeStateRequest descriptor];
+void GetConsensusParamsRequest_ClearVersionOneOfCase(GetConsensusParamsRequest *message) {
+  GPBDescriptor *descriptor = [GetConsensusParamsRequest descriptor];
   GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0];
   GPBClearOneof(message, oneof);
 }
-#pragma mark - GetProtocolVersionUpgradeStateRequest_GetProtocolVersionUpgradeStateRequestV0
+#pragma mark - GetConsensusParamsRequest_GetConsensusParamsRequestV0
 
-@implementation GetProtocolVersionUpgradeStateRequest_GetProtocolVersionUpgradeStateRequestV0
+@implementation GetConsensusParamsRequest_GetConsensusParamsRequestV0
 
+@dynamic height;
 @dynamic prove;
 
-typedef struct GetProtocolVersionUpgradeStateRequest_GetProtocolVersionUpgradeStateRequestV0__storage_ {
+typedef struct GetConsensusParamsRequest_GetConsensusParamsRequestV0__storage_ {
   uint32_t _has_storage_[1];
-} GetProtocolVersionUpgradeStateRequest_GetProtocolVersionUpgradeStateRequestV0__storage_;
+  int32_t height;
+} GetConsensusParamsRequest_GetConsensusParamsRequestV0__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -6272,24 +6299,33 @@ + (GPBDescriptor *)descriptor {
   if (!descriptor) {
     static GPBMessageFieldDescription fields[] = {
       {
-        .name = "prove",
+        .name = "height",
         .dataTypeSpecific.clazz = Nil,
-        .number = GetProtocolVersionUpgradeStateRequest_GetProtocolVersionUpgradeStateRequestV0_FieldNumber_Prove,
+        .number = GetConsensusParamsRequest_GetConsensusParamsRequestV0_FieldNumber_Height,
         .hasIndex = 0,
-        .offset = 1,  // Stored in _has_storage_ to save space.
+        .offset = (uint32_t)offsetof(GetConsensusParamsRequest_GetConsensusParamsRequestV0__storage_, height),
+        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
+        .dataType = GPBDataTypeInt32,
+      },
+      {
+        .name = "prove",
+        .dataTypeSpecific.clazz = Nil,
+        .number = GetConsensusParamsRequest_GetConsensusParamsRequestV0_FieldNumber_Prove,
+        .hasIndex = 1,
+        .offset = 2,  // Stored in _has_storage_ to save space.
         .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
         .dataType = GPBDataTypeBool,
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetProtocolVersionUpgradeStateRequest_GetProtocolVersionUpgradeStateRequestV0 class]
+        [GPBDescriptor allocDescriptorForClass:[GetConsensusParamsRequest_GetConsensusParamsRequestV0 class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetProtocolVersionUpgradeStateRequest_GetProtocolVersionUpgradeStateRequestV0__storage_)
+                                   storageSize:sizeof(GetConsensusParamsRequest_GetConsensusParamsRequestV0__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
-    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetProtocolVersionUpgradeStateRequest)];
+    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetConsensusParamsRequest)];
     #if defined(DEBUG) && DEBUG
       NSAssert(descriptor == nil, @"Startup recursed!");
     #endif  // DEBUG
@@ -6300,17 +6336,17 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-#pragma mark - GetProtocolVersionUpgradeStateResponse
+#pragma mark - GetConsensusParamsResponse
 
-@implementation GetProtocolVersionUpgradeStateResponse
+@implementation GetConsensusParamsResponse
 
 @dynamic versionOneOfCase;
 @dynamic v0;
 
-typedef struct GetProtocolVersionUpgradeStateResponse__storage_ {
+typedef struct GetConsensusParamsResponse__storage_ {
   uint32_t _has_storage_[2];
-  GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0 *v0;
-} GetProtocolVersionUpgradeStateResponse__storage_;
+  GetConsensusParamsResponse_GetConsensusParamsResponseV0 *v0;
+} GetConsensusParamsResponse__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -6320,21 +6356,21 @@ + (GPBDescriptor *)descriptor {
     static GPBMessageFieldDescription fields[] = {
       {
         .name = "v0",
-        .dataTypeSpecific.clazz = GPBObjCClass(GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0),
-        .number = GetProtocolVersionUpgradeStateResponse_FieldNumber_V0,
+        .dataTypeSpecific.clazz = GPBObjCClass(GetConsensusParamsResponse_GetConsensusParamsResponseV0),
+        .number = GetConsensusParamsResponse_FieldNumber_V0,
         .hasIndex = -1,
-        .offset = (uint32_t)offsetof(GetProtocolVersionUpgradeStateResponse__storage_, v0),
+        .offset = (uint32_t)offsetof(GetConsensusParamsResponse__storage_, v0),
         .flags = GPBFieldOptional,
         .dataType = GPBDataTypeMessage,
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetProtocolVersionUpgradeStateResponse class]
+        [GPBDescriptor allocDescriptorForClass:[GetConsensusParamsResponse class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetProtocolVersionUpgradeStateResponse__storage_)
+                                   storageSize:sizeof(GetConsensusParamsResponse__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
     static const char *oneofs[] = {
       "version",
@@ -6352,26 +6388,25 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-void GetProtocolVersionUpgradeStateResponse_ClearVersionOneOfCase(GetProtocolVersionUpgradeStateResponse *message) {
-  GPBDescriptor *descriptor = [GetProtocolVersionUpgradeStateResponse descriptor];
+void GetConsensusParamsResponse_ClearVersionOneOfCase(GetConsensusParamsResponse *message) {
+  GPBDescriptor *descriptor = [GetConsensusParamsResponse descriptor];
   GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0];
   GPBClearOneof(message, oneof);
 }
-#pragma mark - GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0
+#pragma mark - GetConsensusParamsResponse_ConsensusParamsBlock
 
-@implementation GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0
+@implementation GetConsensusParamsResponse_ConsensusParamsBlock
 
-@dynamic resultOneOfCase;
-@dynamic versions;
-@dynamic proof;
-@dynamic hasMetadata, metadata;
+@dynamic maxBytes;
+@dynamic maxGas;
+@dynamic timeIotaMs;
 
-typedef struct GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0__storage_ {
-  uint32_t _has_storage_[2];
-  GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0_Versions *versions;
-  Proof *proof;
-  ResponseMetadata *metadata;
-} GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0__storage_;
+typedef struct GetConsensusParamsResponse_ConsensusParamsBlock__storage_ {
+  uint32_t _has_storage_[1];
+  NSString *maxBytes;
+  NSString *maxGas;
+  NSString *timeIotaMs;
+} GetConsensusParamsResponse_ConsensusParamsBlock__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -6380,48 +6415,42 @@ + (GPBDescriptor *)descriptor {
   if (!descriptor) {
     static GPBMessageFieldDescription fields[] = {
       {
-        .name = "versions",
-        .dataTypeSpecific.clazz = GPBObjCClass(GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0_Versions),
-        .number = GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0_FieldNumber_Versions,
-        .hasIndex = -1,
-        .offset = (uint32_t)offsetof(GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0__storage_, versions),
-        .flags = GPBFieldOptional,
-        .dataType = GPBDataTypeMessage,
+        .name = "maxBytes",
+        .dataTypeSpecific.clazz = Nil,
+        .number = GetConsensusParamsResponse_ConsensusParamsBlock_FieldNumber_MaxBytes,
+        .hasIndex = 0,
+        .offset = (uint32_t)offsetof(GetConsensusParamsResponse_ConsensusParamsBlock__storage_, maxBytes),
+        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
+        .dataType = GPBDataTypeString,
       },
       {
-        .name = "proof",
-        .dataTypeSpecific.clazz = GPBObjCClass(Proof),
-        .number = GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0_FieldNumber_Proof,
-        .hasIndex = -1,
-        .offset = (uint32_t)offsetof(GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0__storage_, proof),
-        .flags = GPBFieldOptional,
-        .dataType = GPBDataTypeMessage,
+        .name = "maxGas",
+        .dataTypeSpecific.clazz = Nil,
+        .number = GetConsensusParamsResponse_ConsensusParamsBlock_FieldNumber_MaxGas,
+        .hasIndex = 1,
+        .offset = (uint32_t)offsetof(GetConsensusParamsResponse_ConsensusParamsBlock__storage_, maxGas),
+        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
+        .dataType = GPBDataTypeString,
       },
       {
-        .name = "metadata",
-        .dataTypeSpecific.clazz = GPBObjCClass(ResponseMetadata),
-        .number = GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0_FieldNumber_Metadata,
-        .hasIndex = 0,
-        .offset = (uint32_t)offsetof(GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0__storage_, metadata),
-        .flags = GPBFieldOptional,
-        .dataType = GPBDataTypeMessage,
+        .name = "timeIotaMs",
+        .dataTypeSpecific.clazz = Nil,
+        .number = GetConsensusParamsResponse_ConsensusParamsBlock_FieldNumber_TimeIotaMs,
+        .hasIndex = 2,
+        .offset = (uint32_t)offsetof(GetConsensusParamsResponse_ConsensusParamsBlock__storage_, timeIotaMs),
+        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
+        .dataType = GPBDataTypeString,
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0 class]
+        [GPBDescriptor allocDescriptorForClass:[GetConsensusParamsResponse_ConsensusParamsBlock class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0__storage_)
+                                   storageSize:sizeof(GetConsensusParamsResponse_ConsensusParamsBlock__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(GetProtocolVersionUpgradeStateResponse)];
+    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetConsensusParamsResponse)];
     #if defined(DEBUG) && DEBUG
       NSAssert(descriptor == nil, @"Startup recursed!");
     #endif  // DEBUG
@@ -6432,21 +6461,20 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-void GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0_ClearResultOneOfCase(GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0 *message) {
-  GPBDescriptor *descriptor = [GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0 descriptor];
-  GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0];
-  GPBClearOneof(message, oneof);
-}
-#pragma mark - GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0_Versions
+#pragma mark - GetConsensusParamsResponse_ConsensusParamsEvidence
 
-@implementation GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0_Versions
+@implementation GetConsensusParamsResponse_ConsensusParamsEvidence
 
-@dynamic versionsArray, versionsArray_Count;
+@dynamic maxAgeNumBlocks;
+@dynamic maxAgeDuration;
+@dynamic maxBytes;
 
-typedef struct GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0_Versions__storage_ {
+typedef struct GetConsensusParamsResponse_ConsensusParamsEvidence__storage_ {
   uint32_t _has_storage_[1];
-  NSMutableArray *versionsArray;
-} GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0_Versions__storage_;
+  NSString *maxAgeNumBlocks;
+  NSString *maxAgeDuration;
+  NSString *maxBytes;
+} GetConsensusParamsResponse_ConsensusParamsEvidence__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -6455,24 +6483,42 @@ + (GPBDescriptor *)descriptor {
   if (!descriptor) {
     static GPBMessageFieldDescription fields[] = {
       {
-        .name = "versionsArray",
-        .dataTypeSpecific.clazz = GPBObjCClass(GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0_VersionEntry),
-        .number = GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0_Versions_FieldNumber_VersionsArray,
-        .hasIndex = GPBNoHasBit,
-        .offset = (uint32_t)offsetof(GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0_Versions__storage_, versionsArray),
-        .flags = GPBFieldRepeated,
-        .dataType = GPBDataTypeMessage,
+        .name = "maxAgeNumBlocks",
+        .dataTypeSpecific.clazz = Nil,
+        .number = GetConsensusParamsResponse_ConsensusParamsEvidence_FieldNumber_MaxAgeNumBlocks,
+        .hasIndex = 0,
+        .offset = (uint32_t)offsetof(GetConsensusParamsResponse_ConsensusParamsEvidence__storage_, maxAgeNumBlocks),
+        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
+        .dataType = GPBDataTypeString,
+      },
+      {
+        .name = "maxAgeDuration",
+        .dataTypeSpecific.clazz = Nil,
+        .number = GetConsensusParamsResponse_ConsensusParamsEvidence_FieldNumber_MaxAgeDuration,
+        .hasIndex = 1,
+        .offset = (uint32_t)offsetof(GetConsensusParamsResponse_ConsensusParamsEvidence__storage_, maxAgeDuration),
+        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
+        .dataType = GPBDataTypeString,
+      },
+      {
+        .name = "maxBytes",
+        .dataTypeSpecific.clazz = Nil,
+        .number = GetConsensusParamsResponse_ConsensusParamsEvidence_FieldNumber_MaxBytes,
+        .hasIndex = 2,
+        .offset = (uint32_t)offsetof(GetConsensusParamsResponse_ConsensusParamsEvidence__storage_, maxBytes),
+        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
+        .dataType = GPBDataTypeString,
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0_Versions class]
+        [GPBDescriptor allocDescriptorForClass:[GetConsensusParamsResponse_ConsensusParamsEvidence class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0_Versions__storage_)
+                                   storageSize:sizeof(GetConsensusParamsResponse_ConsensusParamsEvidence__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
-    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0)];
+    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetConsensusParamsResponse)];
     #if defined(DEBUG) && DEBUG
       NSAssert(descriptor == nil, @"Startup recursed!");
     #endif  // DEBUG
@@ -6483,18 +6529,18 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-#pragma mark - GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0_VersionEntry
+#pragma mark - GetConsensusParamsResponse_GetConsensusParamsResponseV0
 
-@implementation GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0_VersionEntry
+@implementation GetConsensusParamsResponse_GetConsensusParamsResponseV0
 
-@dynamic versionNumber;
-@dynamic voteCount;
+@dynamic hasBlock, block;
+@dynamic hasEvidence, evidence;
 
-typedef struct GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0_VersionEntry__storage_ {
+typedef struct GetConsensusParamsResponse_GetConsensusParamsResponseV0__storage_ {
   uint32_t _has_storage_[1];
-  uint32_t versionNumber;
-  uint32_t voteCount;
-} GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0_VersionEntry__storage_;
+  GetConsensusParamsResponse_ConsensusParamsBlock *block;
+  GetConsensusParamsResponse_ConsensusParamsEvidence *evidence;
+} GetConsensusParamsResponse_GetConsensusParamsResponseV0__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -6503,33 +6549,33 @@ + (GPBDescriptor *)descriptor {
   if (!descriptor) {
     static GPBMessageFieldDescription fields[] = {
       {
-        .name = "versionNumber",
-        .dataTypeSpecific.clazz = Nil,
-        .number = GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0_VersionEntry_FieldNumber_VersionNumber,
+        .name = "block",
+        .dataTypeSpecific.clazz = GPBObjCClass(GetConsensusParamsResponse_ConsensusParamsBlock),
+        .number = GetConsensusParamsResponse_GetConsensusParamsResponseV0_FieldNumber_Block,
         .hasIndex = 0,
-        .offset = (uint32_t)offsetof(GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0_VersionEntry__storage_, versionNumber),
-        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
-        .dataType = GPBDataTypeUInt32,
+        .offset = (uint32_t)offsetof(GetConsensusParamsResponse_GetConsensusParamsResponseV0__storage_, block),
+        .flags = GPBFieldOptional,
+        .dataType = GPBDataTypeMessage,
       },
       {
-        .name = "voteCount",
-        .dataTypeSpecific.clazz = Nil,
-        .number = GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0_VersionEntry_FieldNumber_VoteCount,
+        .name = "evidence",
+        .dataTypeSpecific.clazz = GPBObjCClass(GetConsensusParamsResponse_ConsensusParamsEvidence),
+        .number = GetConsensusParamsResponse_GetConsensusParamsResponseV0_FieldNumber_Evidence,
         .hasIndex = 1,
-        .offset = (uint32_t)offsetof(GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0_VersionEntry__storage_, voteCount),
-        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
-        .dataType = GPBDataTypeUInt32,
+        .offset = (uint32_t)offsetof(GetConsensusParamsResponse_GetConsensusParamsResponseV0__storage_, evidence),
+        .flags = GPBFieldOptional,
+        .dataType = GPBDataTypeMessage,
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0_VersionEntry class]
+        [GPBDescriptor allocDescriptorForClass:[GetConsensusParamsResponse_GetConsensusParamsResponseV0 class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0_VersionEntry__storage_)
+                                   storageSize:sizeof(GetConsensusParamsResponse_GetConsensusParamsResponseV0__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
-    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0)];
+    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetConsensusParamsResponse)];
     #if defined(DEBUG) && DEBUG
       NSAssert(descriptor == nil, @"Startup recursed!");
     #endif  // DEBUG
@@ -6540,17 +6586,17 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-#pragma mark - GetProtocolVersionUpgradeVoteStatusRequest
+#pragma mark - GetProtocolVersionUpgradeStateRequest
 
-@implementation GetProtocolVersionUpgradeVoteStatusRequest
+@implementation GetProtocolVersionUpgradeStateRequest
 
 @dynamic versionOneOfCase;
 @dynamic v0;
 
-typedef struct GetProtocolVersionUpgradeVoteStatusRequest__storage_ {
+typedef struct GetProtocolVersionUpgradeStateRequest__storage_ {
   uint32_t _has_storage_[2];
-  GetProtocolVersionUpgradeVoteStatusRequest_GetProtocolVersionUpgradeVoteStatusRequestV0 *v0;
-} GetProtocolVersionUpgradeVoteStatusRequest__storage_;
+  GetProtocolVersionUpgradeStateRequest_GetProtocolVersionUpgradeStateRequestV0 *v0;
+} GetProtocolVersionUpgradeStateRequest__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -6560,21 +6606,21 @@ + (GPBDescriptor *)descriptor {
     static GPBMessageFieldDescription fields[] = {
       {
         .name = "v0",
-        .dataTypeSpecific.clazz = GPBObjCClass(GetProtocolVersionUpgradeVoteStatusRequest_GetProtocolVersionUpgradeVoteStatusRequestV0),
-        .number = GetProtocolVersionUpgradeVoteStatusRequest_FieldNumber_V0,
+        .dataTypeSpecific.clazz = GPBObjCClass(GetProtocolVersionUpgradeStateRequest_GetProtocolVersionUpgradeStateRequestV0),
+        .number = GetProtocolVersionUpgradeStateRequest_FieldNumber_V0,
         .hasIndex = -1,
-        .offset = (uint32_t)offsetof(GetProtocolVersionUpgradeVoteStatusRequest__storage_, v0),
+        .offset = (uint32_t)offsetof(GetProtocolVersionUpgradeStateRequest__storage_, v0),
         .flags = GPBFieldOptional,
         .dataType = GPBDataTypeMessage,
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetProtocolVersionUpgradeVoteStatusRequest class]
+        [GPBDescriptor allocDescriptorForClass:[GetProtocolVersionUpgradeStateRequest class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetProtocolVersionUpgradeVoteStatusRequest__storage_)
+                                   storageSize:sizeof(GetProtocolVersionUpgradeStateRequest__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
     static const char *oneofs[] = {
       "version",
@@ -6592,24 +6638,20 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-void GetProtocolVersionUpgradeVoteStatusRequest_ClearVersionOneOfCase(GetProtocolVersionUpgradeVoteStatusRequest *message) {
-  GPBDescriptor *descriptor = [GetProtocolVersionUpgradeVoteStatusRequest descriptor];
+void GetProtocolVersionUpgradeStateRequest_ClearVersionOneOfCase(GetProtocolVersionUpgradeStateRequest *message) {
+  GPBDescriptor *descriptor = [GetProtocolVersionUpgradeStateRequest descriptor];
   GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0];
   GPBClearOneof(message, oneof);
 }
-#pragma mark - GetProtocolVersionUpgradeVoteStatusRequest_GetProtocolVersionUpgradeVoteStatusRequestV0
+#pragma mark - GetProtocolVersionUpgradeStateRequest_GetProtocolVersionUpgradeStateRequestV0
 
-@implementation GetProtocolVersionUpgradeVoteStatusRequest_GetProtocolVersionUpgradeVoteStatusRequestV0
+@implementation GetProtocolVersionUpgradeStateRequest_GetProtocolVersionUpgradeStateRequestV0
 
-@dynamic startProTxHash;
-@dynamic count;
 @dynamic prove;
 
-typedef struct GetProtocolVersionUpgradeVoteStatusRequest_GetProtocolVersionUpgradeVoteStatusRequestV0__storage_ {
+typedef struct GetProtocolVersionUpgradeStateRequest_GetProtocolVersionUpgradeStateRequestV0__storage_ {
   uint32_t _has_storage_[1];
-  uint32_t count;
-  NSData *startProTxHash;
-} GetProtocolVersionUpgradeVoteStatusRequest_GetProtocolVersionUpgradeVoteStatusRequestV0__storage_;
+} GetProtocolVersionUpgradeStateRequest_GetProtocolVersionUpgradeStateRequestV0__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -6617,43 +6659,25 @@ + (GPBDescriptor *)descriptor {
   static GPBDescriptor *descriptor = nil;
   if (!descriptor) {
     static GPBMessageFieldDescription fields[] = {
-      {
-        .name = "startProTxHash",
-        .dataTypeSpecific.clazz = Nil,
-        .number = GetProtocolVersionUpgradeVoteStatusRequest_GetProtocolVersionUpgradeVoteStatusRequestV0_FieldNumber_StartProTxHash,
-        .hasIndex = 0,
-        .offset = (uint32_t)offsetof(GetProtocolVersionUpgradeVoteStatusRequest_GetProtocolVersionUpgradeVoteStatusRequestV0__storage_, startProTxHash),
-        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
-        .dataType = GPBDataTypeBytes,
-      },
-      {
-        .name = "count",
-        .dataTypeSpecific.clazz = Nil,
-        .number = GetProtocolVersionUpgradeVoteStatusRequest_GetProtocolVersionUpgradeVoteStatusRequestV0_FieldNumber_Count,
-        .hasIndex = 1,
-        .offset = (uint32_t)offsetof(GetProtocolVersionUpgradeVoteStatusRequest_GetProtocolVersionUpgradeVoteStatusRequestV0__storage_, count),
-        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
-        .dataType = GPBDataTypeUInt32,
-      },
       {
         .name = "prove",
         .dataTypeSpecific.clazz = Nil,
-        .number = GetProtocolVersionUpgradeVoteStatusRequest_GetProtocolVersionUpgradeVoteStatusRequestV0_FieldNumber_Prove,
-        .hasIndex = 2,
-        .offset = 3,  // Stored in _has_storage_ to save space.
+        .number = GetProtocolVersionUpgradeStateRequest_GetProtocolVersionUpgradeStateRequestV0_FieldNumber_Prove,
+        .hasIndex = 0,
+        .offset = 1,  // Stored in _has_storage_ to save space.
         .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
         .dataType = GPBDataTypeBool,
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetProtocolVersionUpgradeVoteStatusRequest_GetProtocolVersionUpgradeVoteStatusRequestV0 class]
+        [GPBDescriptor allocDescriptorForClass:[GetProtocolVersionUpgradeStateRequest_GetProtocolVersionUpgradeStateRequestV0 class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetProtocolVersionUpgradeVoteStatusRequest_GetProtocolVersionUpgradeVoteStatusRequestV0__storage_)
+                                   storageSize:sizeof(GetProtocolVersionUpgradeStateRequest_GetProtocolVersionUpgradeStateRequestV0__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
-    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetProtocolVersionUpgradeVoteStatusRequest)];
+    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetProtocolVersionUpgradeStateRequest)];
     #if defined(DEBUG) && DEBUG
       NSAssert(descriptor == nil, @"Startup recursed!");
     #endif  // DEBUG
@@ -6664,17 +6688,17 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-#pragma mark - GetProtocolVersionUpgradeVoteStatusResponse
+#pragma mark - GetProtocolVersionUpgradeStateResponse
 
-@implementation GetProtocolVersionUpgradeVoteStatusResponse
+@implementation GetProtocolVersionUpgradeStateResponse
 
 @dynamic versionOneOfCase;
 @dynamic v0;
 
-typedef struct GetProtocolVersionUpgradeVoteStatusResponse__storage_ {
+typedef struct GetProtocolVersionUpgradeStateResponse__storage_ {
   uint32_t _has_storage_[2];
-  GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0 *v0;
-} GetProtocolVersionUpgradeVoteStatusResponse__storage_;
+  GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0 *v0;
+} GetProtocolVersionUpgradeStateResponse__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -6684,21 +6708,21 @@ + (GPBDescriptor *)descriptor {
     static GPBMessageFieldDescription fields[] = {
       {
         .name = "v0",
-        .dataTypeSpecific.clazz = GPBObjCClass(GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0),
-        .number = GetProtocolVersionUpgradeVoteStatusResponse_FieldNumber_V0,
+        .dataTypeSpecific.clazz = GPBObjCClass(GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0),
+        .number = GetProtocolVersionUpgradeStateResponse_FieldNumber_V0,
         .hasIndex = -1,
-        .offset = (uint32_t)offsetof(GetProtocolVersionUpgradeVoteStatusResponse__storage_, v0),
+        .offset = (uint32_t)offsetof(GetProtocolVersionUpgradeStateResponse__storage_, v0),
         .flags = GPBFieldOptional,
         .dataType = GPBDataTypeMessage,
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetProtocolVersionUpgradeVoteStatusResponse class]
+        [GPBDescriptor allocDescriptorForClass:[GetProtocolVersionUpgradeStateResponse class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetProtocolVersionUpgradeVoteStatusResponse__storage_)
+                                   storageSize:sizeof(GetProtocolVersionUpgradeStateResponse__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
     static const char *oneofs[] = {
       "version",
@@ -6716,26 +6740,26 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-void GetProtocolVersionUpgradeVoteStatusResponse_ClearVersionOneOfCase(GetProtocolVersionUpgradeVoteStatusResponse *message) {
-  GPBDescriptor *descriptor = [GetProtocolVersionUpgradeVoteStatusResponse descriptor];
+void GetProtocolVersionUpgradeStateResponse_ClearVersionOneOfCase(GetProtocolVersionUpgradeStateResponse *message) {
+  GPBDescriptor *descriptor = [GetProtocolVersionUpgradeStateResponse descriptor];
   GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0];
   GPBClearOneof(message, oneof);
 }
-#pragma mark - GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0
+#pragma mark - GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0
 
-@implementation GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0
+@implementation GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0
 
 @dynamic resultOneOfCase;
 @dynamic versions;
 @dynamic proof;
 @dynamic hasMetadata, metadata;
 
-typedef struct GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0__storage_ {
+typedef struct GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0__storage_ {
   uint32_t _has_storage_[2];
-  GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0_VersionSignals *versions;
+  GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0_Versions *versions;
   Proof *proof;
   ResponseMetadata *metadata;
-} GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0__storage_;
+} GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -6745,39 +6769,39 @@ + (GPBDescriptor *)descriptor {
     static GPBMessageFieldDescription fields[] = {
       {
         .name = "versions",
-        .dataTypeSpecific.clazz = GPBObjCClass(GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0_VersionSignals),
-        .number = GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0_FieldNumber_Versions,
+        .dataTypeSpecific.clazz = GPBObjCClass(GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0_Versions),
+        .number = GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0_FieldNumber_Versions,
         .hasIndex = -1,
-        .offset = (uint32_t)offsetof(GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0__storage_, versions),
+        .offset = (uint32_t)offsetof(GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0__storage_, versions),
         .flags = GPBFieldOptional,
         .dataType = GPBDataTypeMessage,
       },
       {
         .name = "proof",
         .dataTypeSpecific.clazz = GPBObjCClass(Proof),
-        .number = GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0_FieldNumber_Proof,
+        .number = GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0_FieldNumber_Proof,
         .hasIndex = -1,
-        .offset = (uint32_t)offsetof(GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0__storage_, proof),
+        .offset = (uint32_t)offsetof(GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0__storage_, proof),
         .flags = GPBFieldOptional,
         .dataType = GPBDataTypeMessage,
       },
       {
         .name = "metadata",
         .dataTypeSpecific.clazz = GPBObjCClass(ResponseMetadata),
-        .number = GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0_FieldNumber_Metadata,
+        .number = GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0_FieldNumber_Metadata,
         .hasIndex = 0,
-        .offset = (uint32_t)offsetof(GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0__storage_, metadata),
+        .offset = (uint32_t)offsetof(GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0__storage_, metadata),
         .flags = GPBFieldOptional,
         .dataType = GPBDataTypeMessage,
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0 class]
+        [GPBDescriptor allocDescriptorForClass:[GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0 class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0__storage_)
+                                   storageSize:sizeof(GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
     static const char *oneofs[] = {
       "result",
@@ -6785,7 +6809,7 @@ + (GPBDescriptor *)descriptor {
     [localDescriptor setupOneofs:oneofs
                            count:(uint32_t)(sizeof(oneofs) / sizeof(char*))
                    firstHasIndex:-1];
-    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetProtocolVersionUpgradeVoteStatusResponse)];
+    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetProtocolVersionUpgradeStateResponse)];
     #if defined(DEBUG) && DEBUG
       NSAssert(descriptor == nil, @"Startup recursed!");
     #endif  // DEBUG
@@ -6796,21 +6820,21 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-void GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0_ClearResultOneOfCase(GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0 *message) {
-  GPBDescriptor *descriptor = [GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0 descriptor];
+void GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0_ClearResultOneOfCase(GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0 *message) {
+  GPBDescriptor *descriptor = [GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0 descriptor];
   GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0];
   GPBClearOneof(message, oneof);
 }
-#pragma mark - GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0_VersionSignals
+#pragma mark - GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0_Versions
 
-@implementation GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0_VersionSignals
+@implementation GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0_Versions
 
-@dynamic versionSignalsArray, versionSignalsArray_Count;
+@dynamic versionsArray, versionsArray_Count;
 
-typedef struct GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0_VersionSignals__storage_ {
+typedef struct GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0_Versions__storage_ {
   uint32_t _has_storage_[1];
-  NSMutableArray *versionSignalsArray;
-} GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0_VersionSignals__storage_;
+  NSMutableArray *versionsArray;
+} GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0_Versions__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -6819,24 +6843,24 @@ + (GPBDescriptor *)descriptor {
   if (!descriptor) {
     static GPBMessageFieldDescription fields[] = {
       {
-        .name = "versionSignalsArray",
-        .dataTypeSpecific.clazz = GPBObjCClass(GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0_VersionSignal),
-        .number = GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0_VersionSignals_FieldNumber_VersionSignalsArray,
+        .name = "versionsArray",
+        .dataTypeSpecific.clazz = GPBObjCClass(GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0_VersionEntry),
+        .number = GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0_Versions_FieldNumber_VersionsArray,
         .hasIndex = GPBNoHasBit,
-        .offset = (uint32_t)offsetof(GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0_VersionSignals__storage_, versionSignalsArray),
+        .offset = (uint32_t)offsetof(GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0_Versions__storage_, versionsArray),
         .flags = GPBFieldRepeated,
         .dataType = GPBDataTypeMessage,
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0_VersionSignals class]
+        [GPBDescriptor allocDescriptorForClass:[GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0_Versions class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0_VersionSignals__storage_)
+                                   storageSize:sizeof(GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0_Versions__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
-    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0)];
+    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0)];
     #if defined(DEBUG) && DEBUG
       NSAssert(descriptor == nil, @"Startup recursed!");
     #endif  // DEBUG
@@ -6847,18 +6871,18 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-#pragma mark - GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0_VersionSignal
+#pragma mark - GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0_VersionEntry
 
-@implementation GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0_VersionSignal
+@implementation GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0_VersionEntry
 
-@dynamic proTxHash;
-@dynamic version;
+@dynamic versionNumber;
+@dynamic voteCount;
 
-typedef struct GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0_VersionSignal__storage_ {
+typedef struct GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0_VersionEntry__storage_ {
   uint32_t _has_storage_[1];
-  uint32_t version;
-  NSData *proTxHash;
-} GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0_VersionSignal__storage_;
+  uint32_t versionNumber;
+  uint32_t voteCount;
+} GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0_VersionEntry__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -6867,33 +6891,33 @@ + (GPBDescriptor *)descriptor {
   if (!descriptor) {
     static GPBMessageFieldDescription fields[] = {
       {
-        .name = "proTxHash",
+        .name = "versionNumber",
         .dataTypeSpecific.clazz = Nil,
-        .number = GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0_VersionSignal_FieldNumber_ProTxHash,
+        .number = GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0_VersionEntry_FieldNumber_VersionNumber,
         .hasIndex = 0,
-        .offset = (uint32_t)offsetof(GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0_VersionSignal__storage_, proTxHash),
+        .offset = (uint32_t)offsetof(GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0_VersionEntry__storage_, versionNumber),
         .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
-        .dataType = GPBDataTypeBytes,
+        .dataType = GPBDataTypeUInt32,
       },
       {
-        .name = "version",
+        .name = "voteCount",
         .dataTypeSpecific.clazz = Nil,
-        .number = GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0_VersionSignal_FieldNumber_Version,
+        .number = GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0_VersionEntry_FieldNumber_VoteCount,
         .hasIndex = 1,
-        .offset = (uint32_t)offsetof(GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0_VersionSignal__storage_, version),
+        .offset = (uint32_t)offsetof(GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0_VersionEntry__storage_, voteCount),
         .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
         .dataType = GPBDataTypeUInt32,
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0_VersionSignal class]
+        [GPBDescriptor allocDescriptorForClass:[GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0_VersionEntry class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0_VersionSignal__storage_)
+                                   storageSize:sizeof(GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0_VersionEntry__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
-    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0)];
+    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetProtocolVersionUpgradeStateResponse_GetProtocolVersionUpgradeStateResponseV0)];
     #if defined(DEBUG) && DEBUG
       NSAssert(descriptor == nil, @"Startup recursed!");
     #endif  // DEBUG
@@ -6904,17 +6928,17 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-#pragma mark - GetEpochsInfoRequest
+#pragma mark - GetProtocolVersionUpgradeVoteStatusRequest
 
-@implementation GetEpochsInfoRequest
+@implementation GetProtocolVersionUpgradeVoteStatusRequest
 
 @dynamic versionOneOfCase;
 @dynamic v0;
 
-typedef struct GetEpochsInfoRequest__storage_ {
+typedef struct GetProtocolVersionUpgradeVoteStatusRequest__storage_ {
   uint32_t _has_storage_[2];
-  GetEpochsInfoRequest_GetEpochsInfoRequestV0 *v0;
-} GetEpochsInfoRequest__storage_;
+  GetProtocolVersionUpgradeVoteStatusRequest_GetProtocolVersionUpgradeVoteStatusRequestV0 *v0;
+} GetProtocolVersionUpgradeVoteStatusRequest__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -6924,21 +6948,21 @@ + (GPBDescriptor *)descriptor {
     static GPBMessageFieldDescription fields[] = {
       {
         .name = "v0",
-        .dataTypeSpecific.clazz = GPBObjCClass(GetEpochsInfoRequest_GetEpochsInfoRequestV0),
-        .number = GetEpochsInfoRequest_FieldNumber_V0,
+        .dataTypeSpecific.clazz = GPBObjCClass(GetProtocolVersionUpgradeVoteStatusRequest_GetProtocolVersionUpgradeVoteStatusRequestV0),
+        .number = GetProtocolVersionUpgradeVoteStatusRequest_FieldNumber_V0,
         .hasIndex = -1,
-        .offset = (uint32_t)offsetof(GetEpochsInfoRequest__storage_, v0),
+        .offset = (uint32_t)offsetof(GetProtocolVersionUpgradeVoteStatusRequest__storage_, v0),
         .flags = GPBFieldOptional,
         .dataType = GPBDataTypeMessage,
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetEpochsInfoRequest class]
+        [GPBDescriptor allocDescriptorForClass:[GetProtocolVersionUpgradeVoteStatusRequest class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetEpochsInfoRequest__storage_)
+                                   storageSize:sizeof(GetProtocolVersionUpgradeVoteStatusRequest__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
     static const char *oneofs[] = {
       "version",
@@ -6956,25 +6980,24 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-void GetEpochsInfoRequest_ClearVersionOneOfCase(GetEpochsInfoRequest *message) {
-  GPBDescriptor *descriptor = [GetEpochsInfoRequest descriptor];
+void GetProtocolVersionUpgradeVoteStatusRequest_ClearVersionOneOfCase(GetProtocolVersionUpgradeVoteStatusRequest *message) {
+  GPBDescriptor *descriptor = [GetProtocolVersionUpgradeVoteStatusRequest descriptor];
   GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0];
   GPBClearOneof(message, oneof);
 }
-#pragma mark - GetEpochsInfoRequest_GetEpochsInfoRequestV0
+#pragma mark - GetProtocolVersionUpgradeVoteStatusRequest_GetProtocolVersionUpgradeVoteStatusRequestV0
 
-@implementation GetEpochsInfoRequest_GetEpochsInfoRequestV0
+@implementation GetProtocolVersionUpgradeVoteStatusRequest_GetProtocolVersionUpgradeVoteStatusRequestV0
 
-@dynamic hasStartEpoch, startEpoch;
+@dynamic startProTxHash;
 @dynamic count;
-@dynamic ascending;
 @dynamic prove;
 
-typedef struct GetEpochsInfoRequest_GetEpochsInfoRequestV0__storage_ {
+typedef struct GetProtocolVersionUpgradeVoteStatusRequest_GetProtocolVersionUpgradeVoteStatusRequestV0__storage_ {
   uint32_t _has_storage_[1];
   uint32_t count;
-  GPBUInt32Value *startEpoch;
-} GetEpochsInfoRequest_GetEpochsInfoRequestV0__storage_;
+  NSData *startProTxHash;
+} GetProtocolVersionUpgradeVoteStatusRequest_GetProtocolVersionUpgradeVoteStatusRequestV0__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -6983,51 +7006,42 @@ + (GPBDescriptor *)descriptor {
   if (!descriptor) {
     static GPBMessageFieldDescription fields[] = {
       {
-        .name = "startEpoch",
-        .dataTypeSpecific.clazz = GPBObjCClass(GPBUInt32Value),
-        .number = GetEpochsInfoRequest_GetEpochsInfoRequestV0_FieldNumber_StartEpoch,
+        .name = "startProTxHash",
+        .dataTypeSpecific.clazz = Nil,
+        .number = GetProtocolVersionUpgradeVoteStatusRequest_GetProtocolVersionUpgradeVoteStatusRequestV0_FieldNumber_StartProTxHash,
         .hasIndex = 0,
-        .offset = (uint32_t)offsetof(GetEpochsInfoRequest_GetEpochsInfoRequestV0__storage_, startEpoch),
-        .flags = GPBFieldOptional,
-        .dataType = GPBDataTypeMessage,
+        .offset = (uint32_t)offsetof(GetProtocolVersionUpgradeVoteStatusRequest_GetProtocolVersionUpgradeVoteStatusRequestV0__storage_, startProTxHash),
+        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
+        .dataType = GPBDataTypeBytes,
       },
       {
         .name = "count",
         .dataTypeSpecific.clazz = Nil,
-        .number = GetEpochsInfoRequest_GetEpochsInfoRequestV0_FieldNumber_Count,
+        .number = GetProtocolVersionUpgradeVoteStatusRequest_GetProtocolVersionUpgradeVoteStatusRequestV0_FieldNumber_Count,
         .hasIndex = 1,
-        .offset = (uint32_t)offsetof(GetEpochsInfoRequest_GetEpochsInfoRequestV0__storage_, count),
+        .offset = (uint32_t)offsetof(GetProtocolVersionUpgradeVoteStatusRequest_GetProtocolVersionUpgradeVoteStatusRequestV0__storage_, count),
         .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
         .dataType = GPBDataTypeUInt32,
       },
       {
-        .name = "ascending",
+        .name = "prove",
         .dataTypeSpecific.clazz = Nil,
-        .number = GetEpochsInfoRequest_GetEpochsInfoRequestV0_FieldNumber_Ascending,
+        .number = GetProtocolVersionUpgradeVoteStatusRequest_GetProtocolVersionUpgradeVoteStatusRequestV0_FieldNumber_Prove,
         .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]
+        [GPBDescriptor allocDescriptorForClass:[GetProtocolVersionUpgradeVoteStatusRequest_GetProtocolVersionUpgradeVoteStatusRequestV0 class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetEpochsInfoRequest_GetEpochsInfoRequestV0__storage_)
+                                   storageSize:sizeof(GetProtocolVersionUpgradeVoteStatusRequest_GetProtocolVersionUpgradeVoteStatusRequestV0__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
-    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetEpochsInfoRequest)];
+    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetProtocolVersionUpgradeVoteStatusRequest)];
     #if defined(DEBUG) && DEBUG
       NSAssert(descriptor == nil, @"Startup recursed!");
     #endif  // DEBUG
@@ -7038,17 +7052,17 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-#pragma mark - GetEpochsInfoResponse
+#pragma mark - GetProtocolVersionUpgradeVoteStatusResponse
 
-@implementation GetEpochsInfoResponse
+@implementation GetProtocolVersionUpgradeVoteStatusResponse
 
 @dynamic versionOneOfCase;
 @dynamic v0;
 
-typedef struct GetEpochsInfoResponse__storage_ {
+typedef struct GetProtocolVersionUpgradeVoteStatusResponse__storage_ {
   uint32_t _has_storage_[2];
-  GetEpochsInfoResponse_GetEpochsInfoResponseV0 *v0;
-} GetEpochsInfoResponse__storage_;
+  GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0 *v0;
+} GetProtocolVersionUpgradeVoteStatusResponse__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -7058,21 +7072,21 @@ + (GPBDescriptor *)descriptor {
     static GPBMessageFieldDescription fields[] = {
       {
         .name = "v0",
-        .dataTypeSpecific.clazz = GPBObjCClass(GetEpochsInfoResponse_GetEpochsInfoResponseV0),
-        .number = GetEpochsInfoResponse_FieldNumber_V0,
+        .dataTypeSpecific.clazz = GPBObjCClass(GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0),
+        .number = GetProtocolVersionUpgradeVoteStatusResponse_FieldNumber_V0,
         .hasIndex = -1,
-        .offset = (uint32_t)offsetof(GetEpochsInfoResponse__storage_, v0),
+        .offset = (uint32_t)offsetof(GetProtocolVersionUpgradeVoteStatusResponse__storage_, v0),
         .flags = GPBFieldOptional,
         .dataType = GPBDataTypeMessage,
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetEpochsInfoResponse class]
+        [GPBDescriptor allocDescriptorForClass:[GetProtocolVersionUpgradeVoteStatusResponse class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetEpochsInfoResponse__storage_)
+                                   storageSize:sizeof(GetProtocolVersionUpgradeVoteStatusResponse__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
     static const char *oneofs[] = {
       "version",
@@ -7090,26 +7104,26 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-void GetEpochsInfoResponse_ClearVersionOneOfCase(GetEpochsInfoResponse *message) {
-  GPBDescriptor *descriptor = [GetEpochsInfoResponse descriptor];
+void GetProtocolVersionUpgradeVoteStatusResponse_ClearVersionOneOfCase(GetProtocolVersionUpgradeVoteStatusResponse *message) {
+  GPBDescriptor *descriptor = [GetProtocolVersionUpgradeVoteStatusResponse descriptor];
   GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0];
   GPBClearOneof(message, oneof);
 }
-#pragma mark - GetEpochsInfoResponse_GetEpochsInfoResponseV0
+#pragma mark - GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0
 
-@implementation GetEpochsInfoResponse_GetEpochsInfoResponseV0
+@implementation GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0
 
 @dynamic resultOneOfCase;
-@dynamic epochs;
+@dynamic versions;
 @dynamic proof;
 @dynamic hasMetadata, metadata;
 
-typedef struct GetEpochsInfoResponse_GetEpochsInfoResponseV0__storage_ {
+typedef struct GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0__storage_ {
   uint32_t _has_storage_[2];
-  GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfos *epochs;
+  GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0_VersionSignals *versions;
   Proof *proof;
   ResponseMetadata *metadata;
-} GetEpochsInfoResponse_GetEpochsInfoResponseV0__storage_;
+} GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -7118,40 +7132,40 @@ + (GPBDescriptor *)descriptor {
   if (!descriptor) {
     static GPBMessageFieldDescription fields[] = {
       {
-        .name = "epochs",
-        .dataTypeSpecific.clazz = GPBObjCClass(GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfos),
-        .number = GetEpochsInfoResponse_GetEpochsInfoResponseV0_FieldNumber_Epochs,
+        .name = "versions",
+        .dataTypeSpecific.clazz = GPBObjCClass(GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0_VersionSignals),
+        .number = GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0_FieldNumber_Versions,
         .hasIndex = -1,
-        .offset = (uint32_t)offsetof(GetEpochsInfoResponse_GetEpochsInfoResponseV0__storage_, epochs),
+        .offset = (uint32_t)offsetof(GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0__storage_, versions),
         .flags = GPBFieldOptional,
         .dataType = GPBDataTypeMessage,
       },
       {
         .name = "proof",
         .dataTypeSpecific.clazz = GPBObjCClass(Proof),
-        .number = GetEpochsInfoResponse_GetEpochsInfoResponseV0_FieldNumber_Proof,
+        .number = GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0_FieldNumber_Proof,
         .hasIndex = -1,
-        .offset = (uint32_t)offsetof(GetEpochsInfoResponse_GetEpochsInfoResponseV0__storage_, proof),
+        .offset = (uint32_t)offsetof(GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0__storage_, proof),
         .flags = GPBFieldOptional,
         .dataType = GPBDataTypeMessage,
       },
       {
         .name = "metadata",
         .dataTypeSpecific.clazz = GPBObjCClass(ResponseMetadata),
-        .number = GetEpochsInfoResponse_GetEpochsInfoResponseV0_FieldNumber_Metadata,
+        .number = GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0_FieldNumber_Metadata,
         .hasIndex = 0,
-        .offset = (uint32_t)offsetof(GetEpochsInfoResponse_GetEpochsInfoResponseV0__storage_, metadata),
+        .offset = (uint32_t)offsetof(GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0__storage_, metadata),
         .flags = GPBFieldOptional,
         .dataType = GPBDataTypeMessage,
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetEpochsInfoResponse_GetEpochsInfoResponseV0 class]
+        [GPBDescriptor allocDescriptorForClass:[GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0 class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetEpochsInfoResponse_GetEpochsInfoResponseV0__storage_)
+                                   storageSize:sizeof(GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
     static const char *oneofs[] = {
       "result",
@@ -7159,7 +7173,7 @@ + (GPBDescriptor *)descriptor {
     [localDescriptor setupOneofs:oneofs
                            count:(uint32_t)(sizeof(oneofs) / sizeof(char*))
                    firstHasIndex:-1];
-    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetEpochsInfoResponse)];
+    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetProtocolVersionUpgradeVoteStatusResponse)];
     #if defined(DEBUG) && DEBUG
       NSAssert(descriptor == nil, @"Startup recursed!");
     #endif  // DEBUG
@@ -7170,21 +7184,21 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-void GetEpochsInfoResponse_GetEpochsInfoResponseV0_ClearResultOneOfCase(GetEpochsInfoResponse_GetEpochsInfoResponseV0 *message) {
-  GPBDescriptor *descriptor = [GetEpochsInfoResponse_GetEpochsInfoResponseV0 descriptor];
+void GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0_ClearResultOneOfCase(GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0 *message) {
+  GPBDescriptor *descriptor = [GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0 descriptor];
   GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0];
   GPBClearOneof(message, oneof);
 }
-#pragma mark - GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfos
+#pragma mark - GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0_VersionSignals
 
-@implementation GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfos
+@implementation GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0_VersionSignals
 
-@dynamic epochInfosArray, epochInfosArray_Count;
+@dynamic versionSignalsArray, versionSignalsArray_Count;
 
-typedef struct GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfos__storage_ {
+typedef struct GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0_VersionSignals__storage_ {
   uint32_t _has_storage_[1];
-  NSMutableArray *epochInfosArray;
-} GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfos__storage_;
+  NSMutableArray *versionSignalsArray;
+} GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0_VersionSignals__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -7193,24 +7207,24 @@ + (GPBDescriptor *)descriptor {
   if (!descriptor) {
     static GPBMessageFieldDescription fields[] = {
       {
-        .name = "epochInfosArray",
-        .dataTypeSpecific.clazz = GPBObjCClass(GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfo),
-        .number = GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfos_FieldNumber_EpochInfosArray,
+        .name = "versionSignalsArray",
+        .dataTypeSpecific.clazz = GPBObjCClass(GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0_VersionSignal),
+        .number = GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0_VersionSignals_FieldNumber_VersionSignalsArray,
         .hasIndex = GPBNoHasBit,
-        .offset = (uint32_t)offsetof(GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfos__storage_, epochInfosArray),
+        .offset = (uint32_t)offsetof(GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0_VersionSignals__storage_, versionSignalsArray),
         .flags = GPBFieldRepeated,
         .dataType = GPBDataTypeMessage,
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfos class]
+        [GPBDescriptor allocDescriptorForClass:[GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0_VersionSignals class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfos__storage_)
+                                   storageSize:sizeof(GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0_VersionSignals__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
-    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetEpochsInfoResponse_GetEpochsInfoResponseV0)];
+    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0)];
     #if defined(DEBUG) && DEBUG
       NSAssert(descriptor == nil, @"Startup recursed!");
     #endif  // DEBUG
@@ -7221,26 +7235,18 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-#pragma mark - GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfo
+#pragma mark - GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0_VersionSignal
 
-@implementation GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfo
+@implementation GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0_VersionSignal
 
-@dynamic number;
-@dynamic firstBlockHeight;
-@dynamic firstCoreBlockHeight;
-@dynamic startTime;
-@dynamic feeMultiplier;
-@dynamic protocolVersion;
+@dynamic proTxHash;
+@dynamic version;
 
-typedef struct GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfo__storage_ {
+typedef struct GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0_VersionSignal__storage_ {
   uint32_t _has_storage_[1];
-  uint32_t number;
-  uint32_t firstCoreBlockHeight;
-  uint32_t protocolVersion;
-  uint64_t firstBlockHeight;
-  uint64_t startTime;
-  double feeMultiplier;
-} GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfo__storage_;
+  uint32_t version;
+  NSData *proTxHash;
+} GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0_VersionSignal__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -7249,69 +7255,33 @@ + (GPBDescriptor *)descriptor {
   if (!descriptor) {
     static GPBMessageFieldDescription fields[] = {
       {
-        .name = "number",
+        .name = "proTxHash",
         .dataTypeSpecific.clazz = Nil,
-        .number = GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfo_FieldNumber_Number,
+        .number = GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0_VersionSignal_FieldNumber_ProTxHash,
         .hasIndex = 0,
-        .offset = (uint32_t)offsetof(GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfo__storage_, number),
+        .offset = (uint32_t)offsetof(GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0_VersionSignal__storage_, proTxHash),
         .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
-        .dataType = GPBDataTypeUInt32,
+        .dataType = GPBDataTypeBytes,
       },
       {
-        .name = "firstBlockHeight",
+        .name = "version",
         .dataTypeSpecific.clazz = Nil,
-        .number = GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfo_FieldNumber_FirstBlockHeight,
+        .number = GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0_VersionSignal_FieldNumber_Version,
         .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,
-      },
-      {
-        .name = "protocolVersion",
-        .dataTypeSpecific.clazz = Nil,
-        .number = GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfo_FieldNumber_ProtocolVersion,
-        .hasIndex = 5,
-        .offset = (uint32_t)offsetof(GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfo__storage_, protocolVersion),
+        .offset = (uint32_t)offsetof(GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0_VersionSignal__storage_, version),
         .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
         .dataType = GPBDataTypeUInt32,
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfo class]
+        [GPBDescriptor allocDescriptorForClass:[GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0_VersionSignal class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfo__storage_)
+                                   storageSize:sizeof(GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0_VersionSignal__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
-    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetEpochsInfoResponse_GetEpochsInfoResponseV0)];
+    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetProtocolVersionUpgradeVoteStatusResponse_GetProtocolVersionUpgradeVoteStatusResponseV0)];
     #if defined(DEBUG) && DEBUG
       NSAssert(descriptor == nil, @"Startup recursed!");
     #endif  // DEBUG
@@ -7322,17 +7292,17 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-#pragma mark - GetContestedResourcesRequest
+#pragma mark - GetEpochsInfoRequest
 
-@implementation GetContestedResourcesRequest
+@implementation GetEpochsInfoRequest
 
 @dynamic versionOneOfCase;
 @dynamic v0;
 
-typedef struct GetContestedResourcesRequest__storage_ {
+typedef struct GetEpochsInfoRequest__storage_ {
   uint32_t _has_storage_[2];
-  GetContestedResourcesRequest_GetContestedResourcesRequestV0 *v0;
-} GetContestedResourcesRequest__storage_;
+  GetEpochsInfoRequest_GetEpochsInfoRequestV0 *v0;
+} GetEpochsInfoRequest__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -7342,21 +7312,21 @@ + (GPBDescriptor *)descriptor {
     static GPBMessageFieldDescription fields[] = {
       {
         .name = "v0",
-        .dataTypeSpecific.clazz = GPBObjCClass(GetContestedResourcesRequest_GetContestedResourcesRequestV0),
-        .number = GetContestedResourcesRequest_FieldNumber_V0,
+        .dataTypeSpecific.clazz = GPBObjCClass(GetEpochsInfoRequest_GetEpochsInfoRequestV0),
+        .number = GetEpochsInfoRequest_FieldNumber_V0,
         .hasIndex = -1,
-        .offset = (uint32_t)offsetof(GetContestedResourcesRequest__storage_, v0),
+        .offset = (uint32_t)offsetof(GetEpochsInfoRequest__storage_, v0),
         .flags = GPBFieldOptional,
         .dataType = GPBDataTypeMessage,
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetContestedResourcesRequest class]
+        [GPBDescriptor allocDescriptorForClass:[GetEpochsInfoRequest class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetContestedResourcesRequest__storage_)
+                                   storageSize:sizeof(GetEpochsInfoRequest__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
     static const char *oneofs[] = {
       "version",
@@ -7374,35 +7344,25 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-void GetContestedResourcesRequest_ClearVersionOneOfCase(GetContestedResourcesRequest *message) {
-  GPBDescriptor *descriptor = [GetContestedResourcesRequest descriptor];
+void GetEpochsInfoRequest_ClearVersionOneOfCase(GetEpochsInfoRequest *message) {
+  GPBDescriptor *descriptor = [GetEpochsInfoRequest descriptor];
   GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0];
   GPBClearOneof(message, oneof);
 }
-#pragma mark - GetContestedResourcesRequest_GetContestedResourcesRequestV0
+#pragma mark - GetEpochsInfoRequest_GetEpochsInfoRequestV0
 
-@implementation GetContestedResourcesRequest_GetContestedResourcesRequestV0
+@implementation GetEpochsInfoRequest_GetEpochsInfoRequestV0
 
-@dynamic contractId;
-@dynamic documentTypeName;
-@dynamic indexName;
-@dynamic startIndexValuesArray, startIndexValuesArray_Count;
-@dynamic endIndexValuesArray, endIndexValuesArray_Count;
-@dynamic hasStartAtValueInfo, startAtValueInfo;
-@dynamic hasCount, count;
-@dynamic orderAscending;
+@dynamic hasStartEpoch, startEpoch;
+@dynamic count;
+@dynamic ascending;
 @dynamic prove;
 
-typedef struct GetContestedResourcesRequest_GetContestedResourcesRequestV0__storage_ {
+typedef struct GetEpochsInfoRequest_GetEpochsInfoRequestV0__storage_ {
   uint32_t _has_storage_[1];
   uint32_t count;
-  NSData *contractId;
-  NSString *documentTypeName;
-  NSString *indexName;
-  NSMutableArray *startIndexValuesArray;
-  NSMutableArray *endIndexValuesArray;
-  GetContestedResourcesRequest_GetContestedResourcesRequestV0_StartAtValueInfo *startAtValueInfo;
-} GetContestedResourcesRequest_GetContestedResourcesRequestV0__storage_;
+  GPBUInt32Value *startEpoch;
+} GetEpochsInfoRequest_GetEpochsInfoRequestV0__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -7411,152 +7371,51 @@ + (GPBDescriptor *)descriptor {
   if (!descriptor) {
     static GPBMessageFieldDescription fields[] = {
       {
-        .name = "contractId",
-        .dataTypeSpecific.clazz = Nil,
-        .number = GetContestedResourcesRequest_GetContestedResourcesRequestV0_FieldNumber_ContractId,
+        .name = "startEpoch",
+        .dataTypeSpecific.clazz = GPBObjCClass(GPBUInt32Value),
+        .number = GetEpochsInfoRequest_GetEpochsInfoRequestV0_FieldNumber_StartEpoch,
         .hasIndex = 0,
-        .offset = (uint32_t)offsetof(GetContestedResourcesRequest_GetContestedResourcesRequestV0__storage_, contractId),
-        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
-        .dataType = GPBDataTypeBytes,
-      },
-      {
-        .name = "documentTypeName",
-        .dataTypeSpecific.clazz = Nil,
-        .number = GetContestedResourcesRequest_GetContestedResourcesRequestV0_FieldNumber_DocumentTypeName,
-        .hasIndex = 1,
-        .offset = (uint32_t)offsetof(GetContestedResourcesRequest_GetContestedResourcesRequestV0__storage_, documentTypeName),
-        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
-        .dataType = GPBDataTypeString,
-      },
-      {
-        .name = "indexName",
-        .dataTypeSpecific.clazz = Nil,
-        .number = GetContestedResourcesRequest_GetContestedResourcesRequestV0_FieldNumber_IndexName,
-        .hasIndex = 2,
-        .offset = (uint32_t)offsetof(GetContestedResourcesRequest_GetContestedResourcesRequestV0__storage_, indexName),
-        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
-        .dataType = GPBDataTypeString,
-      },
-      {
-        .name = "startIndexValuesArray",
-        .dataTypeSpecific.clazz = Nil,
-        .number = GetContestedResourcesRequest_GetContestedResourcesRequestV0_FieldNumber_StartIndexValuesArray,
-        .hasIndex = GPBNoHasBit,
-        .offset = (uint32_t)offsetof(GetContestedResourcesRequest_GetContestedResourcesRequestV0__storage_, startIndexValuesArray),
-        .flags = GPBFieldRepeated,
-        .dataType = GPBDataTypeBytes,
-      },
-      {
-        .name = "endIndexValuesArray",
-        .dataTypeSpecific.clazz = Nil,
-        .number = GetContestedResourcesRequest_GetContestedResourcesRequestV0_FieldNumber_EndIndexValuesArray,
-        .hasIndex = GPBNoHasBit,
-        .offset = (uint32_t)offsetof(GetContestedResourcesRequest_GetContestedResourcesRequestV0__storage_, endIndexValuesArray),
-        .flags = GPBFieldRepeated,
-        .dataType = GPBDataTypeBytes,
-      },
-      {
-        .name = "startAtValueInfo",
-        .dataTypeSpecific.clazz = GPBObjCClass(GetContestedResourcesRequest_GetContestedResourcesRequestV0_StartAtValueInfo),
-        .number = GetContestedResourcesRequest_GetContestedResourcesRequestV0_FieldNumber_StartAtValueInfo,
-        .hasIndex = 3,
-        .offset = (uint32_t)offsetof(GetContestedResourcesRequest_GetContestedResourcesRequestV0__storage_, startAtValueInfo),
+        .offset = (uint32_t)offsetof(GetEpochsInfoRequest_GetEpochsInfoRequestV0__storage_, startEpoch),
         .flags = GPBFieldOptional,
         .dataType = GPBDataTypeMessage,
       },
       {
         .name = "count",
         .dataTypeSpecific.clazz = Nil,
-        .number = GetContestedResourcesRequest_GetContestedResourcesRequestV0_FieldNumber_Count,
-        .hasIndex = 4,
-        .offset = (uint32_t)offsetof(GetContestedResourcesRequest_GetContestedResourcesRequestV0__storage_, count),
-        .flags = GPBFieldOptional,
+        .number = GetEpochsInfoRequest_GetEpochsInfoRequestV0_FieldNumber_Count,
+        .hasIndex = 1,
+        .offset = (uint32_t)offsetof(GetEpochsInfoRequest_GetEpochsInfoRequestV0__storage_, count),
+        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
         .dataType = GPBDataTypeUInt32,
       },
       {
-        .name = "orderAscending",
+        .name = "ascending",
         .dataTypeSpecific.clazz = Nil,
-        .number = GetContestedResourcesRequest_GetContestedResourcesRequestV0_FieldNumber_OrderAscending,
-        .hasIndex = 5,
-        .offset = 6,  // Stored in _has_storage_ to save space.
+        .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 = GetContestedResourcesRequest_GetContestedResourcesRequestV0_FieldNumber_Prove,
-        .hasIndex = 7,
-        .offset = 8,  // Stored in _has_storage_ to save space.
-        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
-        .dataType = GPBDataTypeBool,
-      },
-    };
-    GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetContestedResourcesRequest_GetContestedResourcesRequestV0 class]
-                                     rootClass:[PlatformRoot class]
-                                          file:PlatformRoot_FileDescriptor()
-                                        fields:fields
-                                    fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetContestedResourcesRequest_GetContestedResourcesRequestV0__storage_)
-                                         flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
-    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetContestedResourcesRequest)];
-    #if defined(DEBUG) && DEBUG
-      NSAssert(descriptor == nil, @"Startup recursed!");
-    #endif  // DEBUG
-    descriptor = localDescriptor;
-  }
-  return descriptor;
-}
-
-@end
-
-#pragma mark - GetContestedResourcesRequest_GetContestedResourcesRequestV0_StartAtValueInfo
-
-@implementation GetContestedResourcesRequest_GetContestedResourcesRequestV0_StartAtValueInfo
-
-@dynamic startValue;
-@dynamic startValueIncluded;
-
-typedef struct GetContestedResourcesRequest_GetContestedResourcesRequestV0_StartAtValueInfo__storage_ {
-  uint32_t _has_storage_[1];
-  NSData *startValue;
-} GetContestedResourcesRequest_GetContestedResourcesRequestV0_StartAtValueInfo__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 = "startValue",
-        .dataTypeSpecific.clazz = Nil,
-        .number = GetContestedResourcesRequest_GetContestedResourcesRequestV0_StartAtValueInfo_FieldNumber_StartValue,
-        .hasIndex = 0,
-        .offset = (uint32_t)offsetof(GetContestedResourcesRequest_GetContestedResourcesRequestV0_StartAtValueInfo__storage_, startValue),
-        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
-        .dataType = GPBDataTypeBytes,
-      },
-      {
-        .name = "startValueIncluded",
-        .dataTypeSpecific.clazz = Nil,
-        .number = GetContestedResourcesRequest_GetContestedResourcesRequestV0_StartAtValueInfo_FieldNumber_StartValueIncluded,
-        .hasIndex = 1,
-        .offset = 2,  // Stored in _has_storage_ to save space.
+        .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:[GetContestedResourcesRequest_GetContestedResourcesRequestV0_StartAtValueInfo class]
+        [GPBDescriptor allocDescriptorForClass:[GetEpochsInfoRequest_GetEpochsInfoRequestV0 class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetContestedResourcesRequest_GetContestedResourcesRequestV0_StartAtValueInfo__storage_)
+                                   storageSize:sizeof(GetEpochsInfoRequest_GetEpochsInfoRequestV0__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
-    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetContestedResourcesRequest_GetContestedResourcesRequestV0)];
+    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetEpochsInfoRequest)];
     #if defined(DEBUG) && DEBUG
       NSAssert(descriptor == nil, @"Startup recursed!");
     #endif  // DEBUG
@@ -7567,17 +7426,17 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-#pragma mark - GetContestedResourcesResponse
+#pragma mark - GetEpochsInfoResponse
 
-@implementation GetContestedResourcesResponse
+@implementation GetEpochsInfoResponse
 
 @dynamic versionOneOfCase;
 @dynamic v0;
 
-typedef struct GetContestedResourcesResponse__storage_ {
+typedef struct GetEpochsInfoResponse__storage_ {
   uint32_t _has_storage_[2];
-  GetContestedResourcesResponse_GetContestedResourcesResponseV0 *v0;
-} GetContestedResourcesResponse__storage_;
+  GetEpochsInfoResponse_GetEpochsInfoResponseV0 *v0;
+} GetEpochsInfoResponse__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -7587,21 +7446,21 @@ + (GPBDescriptor *)descriptor {
     static GPBMessageFieldDescription fields[] = {
       {
         .name = "v0",
-        .dataTypeSpecific.clazz = GPBObjCClass(GetContestedResourcesResponse_GetContestedResourcesResponseV0),
-        .number = GetContestedResourcesResponse_FieldNumber_V0,
+        .dataTypeSpecific.clazz = GPBObjCClass(GetEpochsInfoResponse_GetEpochsInfoResponseV0),
+        .number = GetEpochsInfoResponse_FieldNumber_V0,
         .hasIndex = -1,
-        .offset = (uint32_t)offsetof(GetContestedResourcesResponse__storage_, v0),
+        .offset = (uint32_t)offsetof(GetEpochsInfoResponse__storage_, v0),
         .flags = GPBFieldOptional,
         .dataType = GPBDataTypeMessage,
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetContestedResourcesResponse class]
+        [GPBDescriptor allocDescriptorForClass:[GetEpochsInfoResponse class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetContestedResourcesResponse__storage_)
+                                   storageSize:sizeof(GetEpochsInfoResponse__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
     static const char *oneofs[] = {
       "version",
@@ -7619,26 +7478,26 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-void GetContestedResourcesResponse_ClearVersionOneOfCase(GetContestedResourcesResponse *message) {
-  GPBDescriptor *descriptor = [GetContestedResourcesResponse descriptor];
+void GetEpochsInfoResponse_ClearVersionOneOfCase(GetEpochsInfoResponse *message) {
+  GPBDescriptor *descriptor = [GetEpochsInfoResponse descriptor];
   GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0];
   GPBClearOneof(message, oneof);
 }
-#pragma mark - GetContestedResourcesResponse_GetContestedResourcesResponseV0
+#pragma mark - GetEpochsInfoResponse_GetEpochsInfoResponseV0
 
-@implementation GetContestedResourcesResponse_GetContestedResourcesResponseV0
+@implementation GetEpochsInfoResponse_GetEpochsInfoResponseV0
 
 @dynamic resultOneOfCase;
-@dynamic contestedResourceValues;
+@dynamic epochs;
 @dynamic proof;
 @dynamic hasMetadata, metadata;
 
-typedef struct GetContestedResourcesResponse_GetContestedResourcesResponseV0__storage_ {
+typedef struct GetEpochsInfoResponse_GetEpochsInfoResponseV0__storage_ {
   uint32_t _has_storage_[2];
-  GetContestedResourcesResponse_GetContestedResourcesResponseV0_ContestedResourceValues *contestedResourceValues;
+  GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfos *epochs;
   Proof *proof;
   ResponseMetadata *metadata;
-} GetContestedResourcesResponse_GetContestedResourcesResponseV0__storage_;
+} GetEpochsInfoResponse_GetEpochsInfoResponseV0__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -7647,40 +7506,40 @@ + (GPBDescriptor *)descriptor {
   if (!descriptor) {
     static GPBMessageFieldDescription fields[] = {
       {
-        .name = "contestedResourceValues",
-        .dataTypeSpecific.clazz = GPBObjCClass(GetContestedResourcesResponse_GetContestedResourcesResponseV0_ContestedResourceValues),
-        .number = GetContestedResourcesResponse_GetContestedResourcesResponseV0_FieldNumber_ContestedResourceValues,
+        .name = "epochs",
+        .dataTypeSpecific.clazz = GPBObjCClass(GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfos),
+        .number = GetEpochsInfoResponse_GetEpochsInfoResponseV0_FieldNumber_Epochs,
         .hasIndex = -1,
-        .offset = (uint32_t)offsetof(GetContestedResourcesResponse_GetContestedResourcesResponseV0__storage_, contestedResourceValues),
+        .offset = (uint32_t)offsetof(GetEpochsInfoResponse_GetEpochsInfoResponseV0__storage_, epochs),
         .flags = GPBFieldOptional,
         .dataType = GPBDataTypeMessage,
       },
       {
         .name = "proof",
         .dataTypeSpecific.clazz = GPBObjCClass(Proof),
-        .number = GetContestedResourcesResponse_GetContestedResourcesResponseV0_FieldNumber_Proof,
+        .number = GetEpochsInfoResponse_GetEpochsInfoResponseV0_FieldNumber_Proof,
         .hasIndex = -1,
-        .offset = (uint32_t)offsetof(GetContestedResourcesResponse_GetContestedResourcesResponseV0__storage_, proof),
+        .offset = (uint32_t)offsetof(GetEpochsInfoResponse_GetEpochsInfoResponseV0__storage_, proof),
         .flags = GPBFieldOptional,
         .dataType = GPBDataTypeMessage,
       },
       {
         .name = "metadata",
         .dataTypeSpecific.clazz = GPBObjCClass(ResponseMetadata),
-        .number = GetContestedResourcesResponse_GetContestedResourcesResponseV0_FieldNumber_Metadata,
+        .number = GetEpochsInfoResponse_GetEpochsInfoResponseV0_FieldNumber_Metadata,
         .hasIndex = 0,
-        .offset = (uint32_t)offsetof(GetContestedResourcesResponse_GetContestedResourcesResponseV0__storage_, metadata),
+        .offset = (uint32_t)offsetof(GetEpochsInfoResponse_GetEpochsInfoResponseV0__storage_, metadata),
         .flags = GPBFieldOptional,
         .dataType = GPBDataTypeMessage,
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetContestedResourcesResponse_GetContestedResourcesResponseV0 class]
+        [GPBDescriptor allocDescriptorForClass:[GetEpochsInfoResponse_GetEpochsInfoResponseV0 class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetContestedResourcesResponse_GetContestedResourcesResponseV0__storage_)
+                                   storageSize:sizeof(GetEpochsInfoResponse_GetEpochsInfoResponseV0__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
     static const char *oneofs[] = {
       "result",
@@ -7688,7 +7547,7 @@ + (GPBDescriptor *)descriptor {
     [localDescriptor setupOneofs:oneofs
                            count:(uint32_t)(sizeof(oneofs) / sizeof(char*))
                    firstHasIndex:-1];
-    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetContestedResourcesResponse)];
+    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetEpochsInfoResponse)];
     #if defined(DEBUG) && DEBUG
       NSAssert(descriptor == nil, @"Startup recursed!");
     #endif  // DEBUG
@@ -7699,21 +7558,21 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-void GetContestedResourcesResponse_GetContestedResourcesResponseV0_ClearResultOneOfCase(GetContestedResourcesResponse_GetContestedResourcesResponseV0 *message) {
-  GPBDescriptor *descriptor = [GetContestedResourcesResponse_GetContestedResourcesResponseV0 descriptor];
+void GetEpochsInfoResponse_GetEpochsInfoResponseV0_ClearResultOneOfCase(GetEpochsInfoResponse_GetEpochsInfoResponseV0 *message) {
+  GPBDescriptor *descriptor = [GetEpochsInfoResponse_GetEpochsInfoResponseV0 descriptor];
   GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0];
   GPBClearOneof(message, oneof);
 }
-#pragma mark - GetContestedResourcesResponse_GetContestedResourcesResponseV0_ContestedResourceValues
+#pragma mark - GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfos
 
-@implementation GetContestedResourcesResponse_GetContestedResourcesResponseV0_ContestedResourceValues
+@implementation GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfos
 
-@dynamic contestedResourceValuesArray, contestedResourceValuesArray_Count;
+@dynamic epochInfosArray, epochInfosArray_Count;
 
-typedef struct GetContestedResourcesResponse_GetContestedResourcesResponseV0_ContestedResourceValues__storage_ {
+typedef struct GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfos__storage_ {
   uint32_t _has_storage_[1];
-  NSMutableArray *contestedResourceValuesArray;
-} GetContestedResourcesResponse_GetContestedResourcesResponseV0_ContestedResourceValues__storage_;
+  NSMutableArray *epochInfosArray;
+} GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfos__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -7722,24 +7581,24 @@ + (GPBDescriptor *)descriptor {
   if (!descriptor) {
     static GPBMessageFieldDescription fields[] = {
       {
-        .name = "contestedResourceValuesArray",
-        .dataTypeSpecific.clazz = Nil,
-        .number = GetContestedResourcesResponse_GetContestedResourcesResponseV0_ContestedResourceValues_FieldNumber_ContestedResourceValuesArray,
+        .name = "epochInfosArray",
+        .dataTypeSpecific.clazz = GPBObjCClass(GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfo),
+        .number = GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfos_FieldNumber_EpochInfosArray,
         .hasIndex = GPBNoHasBit,
-        .offset = (uint32_t)offsetof(GetContestedResourcesResponse_GetContestedResourcesResponseV0_ContestedResourceValues__storage_, contestedResourceValuesArray),
+        .offset = (uint32_t)offsetof(GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfos__storage_, epochInfosArray),
         .flags = GPBFieldRepeated,
-        .dataType = GPBDataTypeBytes,
+        .dataType = GPBDataTypeMessage,
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetContestedResourcesResponse_GetContestedResourcesResponseV0_ContestedResourceValues class]
+        [GPBDescriptor allocDescriptorForClass:[GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfos class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetContestedResourcesResponse_GetContestedResourcesResponseV0_ContestedResourceValues__storage_)
+                                   storageSize:sizeof(GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfos__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
-    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetContestedResourcesResponse_GetContestedResourcesResponseV0)];
+    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetEpochsInfoResponse_GetEpochsInfoResponseV0)];
     #if defined(DEBUG) && DEBUG
       NSAssert(descriptor == nil, @"Startup recursed!");
     #endif  // DEBUG
@@ -7750,17 +7609,118 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-#pragma mark - GetVotePollsByEndDateRequest
+#pragma mark - GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfo
 
-@implementation GetVotePollsByEndDateRequest
+@implementation GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfo
+
+@dynamic number;
+@dynamic firstBlockHeight;
+@dynamic firstCoreBlockHeight;
+@dynamic startTime;
+@dynamic feeMultiplier;
+@dynamic protocolVersion;
+
+typedef struct GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfo__storage_ {
+  uint32_t _has_storage_[1];
+  uint32_t number;
+  uint32_t firstCoreBlockHeight;
+  uint32_t protocolVersion;
+  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,
+      },
+      {
+        .name = "protocolVersion",
+        .dataTypeSpecific.clazz = Nil,
+        .number = GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfo_FieldNumber_ProtocolVersion,
+        .hasIndex = 5,
+        .offset = (uint32_t)offsetof(GetEpochsInfoResponse_GetEpochsInfoResponseV0_EpochInfo__storage_, protocolVersion),
+        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
+        .dataType = GPBDataTypeUInt32,
+      },
+    };
+    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 mark - GetFinalizedEpochInfosRequest
+
+@implementation GetFinalizedEpochInfosRequest
 
 @dynamic versionOneOfCase;
 @dynamic v0;
 
-typedef struct GetVotePollsByEndDateRequest__storage_ {
+typedef struct GetFinalizedEpochInfosRequest__storage_ {
   uint32_t _has_storage_[2];
-  GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0 *v0;
-} GetVotePollsByEndDateRequest__storage_;
+  GetFinalizedEpochInfosRequest_GetFinalizedEpochInfosRequestV0 *v0;
+} GetFinalizedEpochInfosRequest__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -7770,21 +7730,21 @@ + (GPBDescriptor *)descriptor {
     static GPBMessageFieldDescription fields[] = {
       {
         .name = "v0",
-        .dataTypeSpecific.clazz = GPBObjCClass(GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0),
-        .number = GetVotePollsByEndDateRequest_FieldNumber_V0,
+        .dataTypeSpecific.clazz = GPBObjCClass(GetFinalizedEpochInfosRequest_GetFinalizedEpochInfosRequestV0),
+        .number = GetFinalizedEpochInfosRequest_FieldNumber_V0,
         .hasIndex = -1,
-        .offset = (uint32_t)offsetof(GetVotePollsByEndDateRequest__storage_, v0),
+        .offset = (uint32_t)offsetof(GetFinalizedEpochInfosRequest__storage_, v0),
         .flags = GPBFieldOptional,
         .dataType = GPBDataTypeMessage,
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetVotePollsByEndDateRequest class]
+        [GPBDescriptor allocDescriptorForClass:[GetFinalizedEpochInfosRequest class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetVotePollsByEndDateRequest__storage_)
+                                   storageSize:sizeof(GetFinalizedEpochInfosRequest__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
     static const char *oneofs[] = {
       "version",
@@ -7802,29 +7762,26 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-void GetVotePollsByEndDateRequest_ClearVersionOneOfCase(GetVotePollsByEndDateRequest *message) {
-  GPBDescriptor *descriptor = [GetVotePollsByEndDateRequest descriptor];
+void GetFinalizedEpochInfosRequest_ClearVersionOneOfCase(GetFinalizedEpochInfosRequest *message) {
+  GPBDescriptor *descriptor = [GetFinalizedEpochInfosRequest descriptor];
   GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0];
   GPBClearOneof(message, oneof);
 }
-#pragma mark - GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0
+#pragma mark - GetFinalizedEpochInfosRequest_GetFinalizedEpochInfosRequestV0
 
-@implementation GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0
+@implementation GetFinalizedEpochInfosRequest_GetFinalizedEpochInfosRequestV0
 
-@dynamic hasStartTimeInfo, startTimeInfo;
-@dynamic hasEndTimeInfo, endTimeInfo;
-@dynamic hasLimit, limit;
-@dynamic hasOffset, offset;
-@dynamic ascending;
+@dynamic startEpochIndex;
+@dynamic startEpochIndexIncluded;
+@dynamic endEpochIndex;
+@dynamic endEpochIndexIncluded;
 @dynamic prove;
 
-typedef struct GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0__storage_ {
+typedef struct GetFinalizedEpochInfosRequest_GetFinalizedEpochInfosRequestV0__storage_ {
   uint32_t _has_storage_[1];
-  uint32_t limit;
-  uint32_t offset;
-  GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0_StartAtTimeInfo *startTimeInfo;
-  GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0_EndAtTimeInfo *endTimeInfo;
-} GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0__storage_;
+  uint32_t startEpochIndex;
+  uint32_t endEpochIndex;
+} GetFinalizedEpochInfosRequest_GetFinalizedEpochInfosRequestV0__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -7833,45 +7790,36 @@ + (GPBDescriptor *)descriptor {
   if (!descriptor) {
     static GPBMessageFieldDescription fields[] = {
       {
-        .name = "startTimeInfo",
-        .dataTypeSpecific.clazz = GPBObjCClass(GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0_StartAtTimeInfo),
-        .number = GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0_FieldNumber_StartTimeInfo,
+        .name = "startEpochIndex",
+        .dataTypeSpecific.clazz = Nil,
+        .number = GetFinalizedEpochInfosRequest_GetFinalizedEpochInfosRequestV0_FieldNumber_StartEpochIndex,
         .hasIndex = 0,
-        .offset = (uint32_t)offsetof(GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0__storage_, startTimeInfo),
-        .flags = GPBFieldOptional,
-        .dataType = GPBDataTypeMessage,
-      },
-      {
-        .name = "endTimeInfo",
-        .dataTypeSpecific.clazz = GPBObjCClass(GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0_EndAtTimeInfo),
-        .number = GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0_FieldNumber_EndTimeInfo,
-        .hasIndex = 1,
-        .offset = (uint32_t)offsetof(GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0__storage_, endTimeInfo),
-        .flags = GPBFieldOptional,
-        .dataType = GPBDataTypeMessage,
+        .offset = (uint32_t)offsetof(GetFinalizedEpochInfosRequest_GetFinalizedEpochInfosRequestV0__storage_, startEpochIndex),
+        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
+        .dataType = GPBDataTypeUInt32,
       },
       {
-        .name = "limit",
+        .name = "startEpochIndexIncluded",
         .dataTypeSpecific.clazz = Nil,
-        .number = GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0_FieldNumber_Limit,
-        .hasIndex = 2,
-        .offset = (uint32_t)offsetof(GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0__storage_, limit),
-        .flags = GPBFieldOptional,
-        .dataType = GPBDataTypeUInt32,
+        .number = GetFinalizedEpochInfosRequest_GetFinalizedEpochInfosRequestV0_FieldNumber_StartEpochIndexIncluded,
+        .hasIndex = 1,
+        .offset = 2,  // Stored in _has_storage_ to save space.
+        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
+        .dataType = GPBDataTypeBool,
       },
       {
-        .name = "offset",
+        .name = "endEpochIndex",
         .dataTypeSpecific.clazz = Nil,
-        .number = GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0_FieldNumber_Offset,
+        .number = GetFinalizedEpochInfosRequest_GetFinalizedEpochInfosRequestV0_FieldNumber_EndEpochIndex,
         .hasIndex = 3,
-        .offset = (uint32_t)offsetof(GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0__storage_, offset),
-        .flags = GPBFieldOptional,
+        .offset = (uint32_t)offsetof(GetFinalizedEpochInfosRequest_GetFinalizedEpochInfosRequestV0__storage_, endEpochIndex),
+        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
         .dataType = GPBDataTypeUInt32,
       },
       {
-        .name = "ascending",
+        .name = "endEpochIndexIncluded",
         .dataTypeSpecific.clazz = Nil,
-        .number = GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0_FieldNumber_Ascending,
+        .number = GetFinalizedEpochInfosRequest_GetFinalizedEpochInfosRequestV0_FieldNumber_EndEpochIndexIncluded,
         .hasIndex = 4,
         .offset = 5,  // Stored in _has_storage_ to save space.
         .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
@@ -7880,7 +7828,7 @@ + (GPBDescriptor *)descriptor {
       {
         .name = "prove",
         .dataTypeSpecific.clazz = Nil,
-        .number = GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0_FieldNumber_Prove,
+        .number = GetFinalizedEpochInfosRequest_GetFinalizedEpochInfosRequestV0_FieldNumber_Prove,
         .hasIndex = 6,
         .offset = 7,  // Stored in _has_storage_ to save space.
         .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
@@ -7888,14 +7836,14 @@ + (GPBDescriptor *)descriptor {
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0 class]
+        [GPBDescriptor allocDescriptorForClass:[GetFinalizedEpochInfosRequest_GetFinalizedEpochInfosRequestV0 class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0__storage_)
+                                   storageSize:sizeof(GetFinalizedEpochInfosRequest_GetFinalizedEpochInfosRequestV0__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
-    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetVotePollsByEndDateRequest)];
+    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetFinalizedEpochInfosRequest)];
     #if defined(DEBUG) && DEBUG
       NSAssert(descriptor == nil, @"Startup recursed!");
     #endif  // DEBUG
@@ -7906,17 +7854,17 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-#pragma mark - GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0_StartAtTimeInfo
+#pragma mark - GetFinalizedEpochInfosResponse
 
-@implementation GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0_StartAtTimeInfo
+@implementation GetFinalizedEpochInfosResponse
 
-@dynamic startTimeMs;
-@dynamic startTimeIncluded;
+@dynamic versionOneOfCase;
+@dynamic v0;
 
-typedef struct GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0_StartAtTimeInfo__storage_ {
-  uint32_t _has_storage_[1];
-  uint64_t startTimeMs;
-} GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0_StartAtTimeInfo__storage_;
+typedef struct GetFinalizedEpochInfosResponse__storage_ {
+  uint32_t _has_storage_[2];
+  GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0 *v0;
+} GetFinalizedEpochInfosResponse__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -7925,33 +7873,29 @@ + (GPBDescriptor *)descriptor {
   if (!descriptor) {
     static GPBMessageFieldDescription fields[] = {
       {
-        .name = "startTimeMs",
-        .dataTypeSpecific.clazz = Nil,
-        .number = GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0_StartAtTimeInfo_FieldNumber_StartTimeMs,
-        .hasIndex = 0,
-        .offset = (uint32_t)offsetof(GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0_StartAtTimeInfo__storage_, startTimeMs),
-        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
-        .dataType = GPBDataTypeUInt64,
-      },
-      {
-        .name = "startTimeIncluded",
-        .dataTypeSpecific.clazz = Nil,
-        .number = GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0_StartAtTimeInfo_FieldNumber_StartTimeIncluded,
-        .hasIndex = 1,
-        .offset = 2,  // Stored in _has_storage_ to save space.
-        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
-        .dataType = GPBDataTypeBool,
+        .name = "v0",
+        .dataTypeSpecific.clazz = GPBObjCClass(GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0),
+        .number = GetFinalizedEpochInfosResponse_FieldNumber_V0,
+        .hasIndex = -1,
+        .offset = (uint32_t)offsetof(GetFinalizedEpochInfosResponse__storage_, v0),
+        .flags = GPBFieldOptional,
+        .dataType = GPBDataTypeMessage,
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0_StartAtTimeInfo class]
+        [GPBDescriptor allocDescriptorForClass:[GetFinalizedEpochInfosResponse class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0_StartAtTimeInfo__storage_)
+                                   storageSize:sizeof(GetFinalizedEpochInfosResponse__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
-    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0)];
+    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
@@ -7962,17 +7906,26 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-#pragma mark - GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0_EndAtTimeInfo
+void GetFinalizedEpochInfosResponse_ClearVersionOneOfCase(GetFinalizedEpochInfosResponse *message) {
+  GPBDescriptor *descriptor = [GetFinalizedEpochInfosResponse descriptor];
+  GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0];
+  GPBClearOneof(message, oneof);
+}
+#pragma mark - GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0
 
-@implementation GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0_EndAtTimeInfo
+@implementation GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0
 
-@dynamic endTimeMs;
-@dynamic endTimeIncluded;
+@dynamic resultOneOfCase;
+@dynamic epochs;
+@dynamic proof;
+@dynamic hasMetadata, metadata;
 
-typedef struct GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0_EndAtTimeInfo__storage_ {
-  uint32_t _has_storage_[1];
-  uint64_t endTimeMs;
-} GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0_EndAtTimeInfo__storage_;
+typedef struct GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0__storage_ {
+  uint32_t _has_storage_[2];
+  GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0_FinalizedEpochInfos *epochs;
+  Proof *proof;
+  ResponseMetadata *metadata;
+} GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -7981,85 +7934,48 @@ + (GPBDescriptor *)descriptor {
   if (!descriptor) {
     static GPBMessageFieldDescription fields[] = {
       {
-        .name = "endTimeMs",
-        .dataTypeSpecific.clazz = Nil,
-        .number = GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0_EndAtTimeInfo_FieldNumber_EndTimeMs,
-        .hasIndex = 0,
-        .offset = (uint32_t)offsetof(GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0_EndAtTimeInfo__storage_, endTimeMs),
-        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
-        .dataType = GPBDataTypeUInt64,
-      },
-      {
-        .name = "endTimeIncluded",
-        .dataTypeSpecific.clazz = Nil,
-        .number = GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0_EndAtTimeInfo_FieldNumber_EndTimeIncluded,
-        .hasIndex = 1,
-        .offset = 2,  // Stored in _has_storage_ to save space.
-        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
-        .dataType = GPBDataTypeBool,
+        .name = "epochs",
+        .dataTypeSpecific.clazz = GPBObjCClass(GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0_FinalizedEpochInfos),
+        .number = GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0_FieldNumber_Epochs,
+        .hasIndex = -1,
+        .offset = (uint32_t)offsetof(GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0__storage_, epochs),
+        .flags = GPBFieldOptional,
+        .dataType = GPBDataTypeMessage,
       },
-    };
-    GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0_EndAtTimeInfo class]
-                                     rootClass:[PlatformRoot class]
-                                          file:PlatformRoot_FileDescriptor()
-                                        fields:fields
-                                    fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0_EndAtTimeInfo__storage_)
-                                         flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
-    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0)];
-    #if defined(DEBUG) && DEBUG
-      NSAssert(descriptor == nil, @"Startup recursed!");
-    #endif  // DEBUG
-    descriptor = localDescriptor;
-  }
-  return descriptor;
-}
-
-@end
-
-#pragma mark - GetVotePollsByEndDateResponse
-
-@implementation GetVotePollsByEndDateResponse
-
-@dynamic versionOneOfCase;
-@dynamic v0;
-
-typedef struct GetVotePollsByEndDateResponse__storage_ {
-  uint32_t _has_storage_[2];
-  GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0 *v0;
-} GetVotePollsByEndDateResponse__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(GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0),
-        .number = GetVotePollsByEndDateResponse_FieldNumber_V0,
+        .name = "proof",
+        .dataTypeSpecific.clazz = GPBObjCClass(Proof),
+        .number = GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0_FieldNumber_Proof,
         .hasIndex = -1,
-        .offset = (uint32_t)offsetof(GetVotePollsByEndDateResponse__storage_, v0),
+        .offset = (uint32_t)offsetof(GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0__storage_, proof),
+        .flags = GPBFieldOptional,
+        .dataType = GPBDataTypeMessage,
+      },
+      {
+        .name = "metadata",
+        .dataTypeSpecific.clazz = GPBObjCClass(ResponseMetadata),
+        .number = GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0_FieldNumber_Metadata,
+        .hasIndex = 0,
+        .offset = (uint32_t)offsetof(GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0__storage_, metadata),
         .flags = GPBFieldOptional,
         .dataType = GPBDataTypeMessage,
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetVotePollsByEndDateResponse class]
+        [GPBDescriptor allocDescriptorForClass:[GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0 class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetVotePollsByEndDateResponse__storage_)
+                                   storageSize:sizeof(GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
     static const char *oneofs[] = {
-      "version",
+      "result",
     };
     [localDescriptor setupOneofs:oneofs
                            count:(uint32_t)(sizeof(oneofs) / sizeof(char*))
                    firstHasIndex:-1];
+    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetFinalizedEpochInfosResponse)];
     #if defined(DEBUG) && DEBUG
       NSAssert(descriptor == nil, @"Startup recursed!");
     #endif  // DEBUG
@@ -8070,26 +7986,21 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-void GetVotePollsByEndDateResponse_ClearVersionOneOfCase(GetVotePollsByEndDateResponse *message) {
-  GPBDescriptor *descriptor = [GetVotePollsByEndDateResponse descriptor];
+void GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0_ClearResultOneOfCase(GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0 *message) {
+  GPBDescriptor *descriptor = [GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0 descriptor];
   GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0];
   GPBClearOneof(message, oneof);
 }
-#pragma mark - GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0
+#pragma mark - GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0_FinalizedEpochInfos
 
-@implementation GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0
+@implementation GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0_FinalizedEpochInfos
 
-@dynamic resultOneOfCase;
-@dynamic votePollsByTimestamps;
-@dynamic proof;
-@dynamic hasMetadata, metadata;
+@dynamic finalizedEpochInfosArray, finalizedEpochInfosArray_Count;
 
-typedef struct GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0__storage_ {
-  uint32_t _has_storage_[2];
-  GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0_SerializedVotePollsByTimestamps *votePollsByTimestamps;
-  Proof *proof;
-  ResponseMetadata *metadata;
-} GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0__storage_;
+typedef struct GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0_FinalizedEpochInfos__storage_ {
+  uint32_t _has_storage_[1];
+  NSMutableArray *finalizedEpochInfosArray;
+} GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0_FinalizedEpochInfos__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -8098,48 +8009,24 @@ + (GPBDescriptor *)descriptor {
   if (!descriptor) {
     static GPBMessageFieldDescription fields[] = {
       {
-        .name = "votePollsByTimestamps",
-        .dataTypeSpecific.clazz = GPBObjCClass(GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0_SerializedVotePollsByTimestamps),
-        .number = GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0_FieldNumber_VotePollsByTimestamps,
-        .hasIndex = -1,
-        .offset = (uint32_t)offsetof(GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0__storage_, votePollsByTimestamps),
-        .flags = GPBFieldOptional,
-        .dataType = GPBDataTypeMessage,
-      },
-      {
-        .name = "proof",
-        .dataTypeSpecific.clazz = GPBObjCClass(Proof),
-        .number = GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0_FieldNumber_Proof,
-        .hasIndex = -1,
-        .offset = (uint32_t)offsetof(GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0__storage_, proof),
-        .flags = GPBFieldOptional,
-        .dataType = GPBDataTypeMessage,
-      },
-      {
-        .name = "metadata",
-        .dataTypeSpecific.clazz = GPBObjCClass(ResponseMetadata),
-        .number = GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0_FieldNumber_Metadata,
-        .hasIndex = 0,
-        .offset = (uint32_t)offsetof(GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0__storage_, metadata),
-        .flags = GPBFieldOptional,
+        .name = "finalizedEpochInfosArray",
+        .dataTypeSpecific.clazz = GPBObjCClass(GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0_FinalizedEpochInfo),
+        .number = GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0_FinalizedEpochInfos_FieldNumber_FinalizedEpochInfosArray,
+        .hasIndex = GPBNoHasBit,
+        .offset = (uint32_t)offsetof(GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0_FinalizedEpochInfos__storage_, finalizedEpochInfosArray),
+        .flags = GPBFieldRepeated,
         .dataType = GPBDataTypeMessage,
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0 class]
+        [GPBDescriptor allocDescriptorForClass:[GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0_FinalizedEpochInfos class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0__storage_)
+                                   storageSize:sizeof(GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0_FinalizedEpochInfos__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(GetVotePollsByEndDateResponse)];
+    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0)];
     #if defined(DEBUG) && DEBUG
       NSAssert(descriptor == nil, @"Startup recursed!");
     #endif  // DEBUG
@@ -8150,23 +8037,40 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-void GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0_ClearResultOneOfCase(GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0 *message) {
-  GPBDescriptor *descriptor = [GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0 descriptor];
-  GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0];
-  GPBClearOneof(message, oneof);
-}
-#pragma mark - GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0_SerializedVotePollsByTimestamp
-
-@implementation GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0_SerializedVotePollsByTimestamp
+#pragma mark - GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0_FinalizedEpochInfo
 
-@dynamic timestamp;
-@dynamic serializedVotePollsArray, serializedVotePollsArray_Count;
+@implementation GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0_FinalizedEpochInfo
 
-typedef struct GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0_SerializedVotePollsByTimestamp__storage_ {
+@dynamic number;
+@dynamic firstBlockHeight;
+@dynamic firstCoreBlockHeight;
+@dynamic firstBlockTime;
+@dynamic feeMultiplier;
+@dynamic protocolVersion;
+@dynamic totalBlocksInEpoch;
+@dynamic nextEpochStartCoreBlockHeight;
+@dynamic totalProcessingFees;
+@dynamic totalDistributedStorageFees;
+@dynamic totalCreatedStorageFees;
+@dynamic coreBlockRewards;
+@dynamic blockProposersArray, blockProposersArray_Count;
+
+typedef struct GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0_FinalizedEpochInfo__storage_ {
   uint32_t _has_storage_[1];
-  NSMutableArray *serializedVotePollsArray;
-  uint64_t timestamp;
-} GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0_SerializedVotePollsByTimestamp__storage_;
+  uint32_t number;
+  uint32_t firstCoreBlockHeight;
+  uint32_t protocolVersion;
+  uint32_t nextEpochStartCoreBlockHeight;
+  NSMutableArray *blockProposersArray;
+  uint64_t firstBlockHeight;
+  uint64_t firstBlockTime;
+  double feeMultiplier;
+  uint64_t totalBlocksInEpoch;
+  uint64_t totalProcessingFees;
+  uint64_t totalDistributedStorageFees;
+  uint64_t totalCreatedStorageFees;
+  uint64_t coreBlockRewards;
+} GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0_FinalizedEpochInfo__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -8175,33 +8079,132 @@ + (GPBDescriptor *)descriptor {
   if (!descriptor) {
     static GPBMessageFieldDescription fields[] = {
       {
-        .name = "timestamp",
+        .name = "number",
         .dataTypeSpecific.clazz = Nil,
-        .number = GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0_SerializedVotePollsByTimestamp_FieldNumber_Timestamp,
+        .number = GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0_FinalizedEpochInfo_FieldNumber_Number,
         .hasIndex = 0,
-        .offset = (uint32_t)offsetof(GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0_SerializedVotePollsByTimestamp__storage_, timestamp),
+        .offset = (uint32_t)offsetof(GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0_FinalizedEpochInfo__storage_, number),
+        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
+        .dataType = GPBDataTypeUInt32,
+      },
+      {
+        .name = "firstBlockHeight",
+        .dataTypeSpecific.clazz = Nil,
+        .number = GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0_FinalizedEpochInfo_FieldNumber_FirstBlockHeight,
+        .hasIndex = 1,
+        .offset = (uint32_t)offsetof(GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0_FinalizedEpochInfo__storage_, firstBlockHeight),
         .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
         .dataType = GPBDataTypeUInt64,
       },
       {
-        .name = "serializedVotePollsArray",
+        .name = "firstCoreBlockHeight",
         .dataTypeSpecific.clazz = Nil,
-        .number = GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0_SerializedVotePollsByTimestamp_FieldNumber_SerializedVotePollsArray,
+        .number = GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0_FinalizedEpochInfo_FieldNumber_FirstCoreBlockHeight,
+        .hasIndex = 2,
+        .offset = (uint32_t)offsetof(GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0_FinalizedEpochInfo__storage_, firstCoreBlockHeight),
+        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
+        .dataType = GPBDataTypeUInt32,
+      },
+      {
+        .name = "firstBlockTime",
+        .dataTypeSpecific.clazz = Nil,
+        .number = GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0_FinalizedEpochInfo_FieldNumber_FirstBlockTime,
+        .hasIndex = 3,
+        .offset = (uint32_t)offsetof(GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0_FinalizedEpochInfo__storage_, firstBlockTime),
+        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
+        .dataType = GPBDataTypeUInt64,
+      },
+      {
+        .name = "feeMultiplier",
+        .dataTypeSpecific.clazz = Nil,
+        .number = GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0_FinalizedEpochInfo_FieldNumber_FeeMultiplier,
+        .hasIndex = 4,
+        .offset = (uint32_t)offsetof(GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0_FinalizedEpochInfo__storage_, feeMultiplier),
+        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
+        .dataType = GPBDataTypeDouble,
+      },
+      {
+        .name = "protocolVersion",
+        .dataTypeSpecific.clazz = Nil,
+        .number = GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0_FinalizedEpochInfo_FieldNumber_ProtocolVersion,
+        .hasIndex = 5,
+        .offset = (uint32_t)offsetof(GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0_FinalizedEpochInfo__storage_, protocolVersion),
+        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
+        .dataType = GPBDataTypeUInt32,
+      },
+      {
+        .name = "totalBlocksInEpoch",
+        .dataTypeSpecific.clazz = Nil,
+        .number = GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0_FinalizedEpochInfo_FieldNumber_TotalBlocksInEpoch,
+        .hasIndex = 6,
+        .offset = (uint32_t)offsetof(GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0_FinalizedEpochInfo__storage_, totalBlocksInEpoch),
+        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
+        .dataType = GPBDataTypeUInt64,
+      },
+      {
+        .name = "nextEpochStartCoreBlockHeight",
+        .dataTypeSpecific.clazz = Nil,
+        .number = GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0_FinalizedEpochInfo_FieldNumber_NextEpochStartCoreBlockHeight,
+        .hasIndex = 7,
+        .offset = (uint32_t)offsetof(GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0_FinalizedEpochInfo__storage_, nextEpochStartCoreBlockHeight),
+        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
+        .dataType = GPBDataTypeUInt32,
+      },
+      {
+        .name = "totalProcessingFees",
+        .dataTypeSpecific.clazz = Nil,
+        .number = GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0_FinalizedEpochInfo_FieldNumber_TotalProcessingFees,
+        .hasIndex = 8,
+        .offset = (uint32_t)offsetof(GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0_FinalizedEpochInfo__storage_, totalProcessingFees),
+        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
+        .dataType = GPBDataTypeUInt64,
+      },
+      {
+        .name = "totalDistributedStorageFees",
+        .dataTypeSpecific.clazz = Nil,
+        .number = GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0_FinalizedEpochInfo_FieldNumber_TotalDistributedStorageFees,
+        .hasIndex = 9,
+        .offset = (uint32_t)offsetof(GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0_FinalizedEpochInfo__storage_, totalDistributedStorageFees),
+        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
+        .dataType = GPBDataTypeUInt64,
+      },
+      {
+        .name = "totalCreatedStorageFees",
+        .dataTypeSpecific.clazz = Nil,
+        .number = GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0_FinalizedEpochInfo_FieldNumber_TotalCreatedStorageFees,
+        .hasIndex = 10,
+        .offset = (uint32_t)offsetof(GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0_FinalizedEpochInfo__storage_, totalCreatedStorageFees),
+        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
+        .dataType = GPBDataTypeUInt64,
+      },
+      {
+        .name = "coreBlockRewards",
+        .dataTypeSpecific.clazz = Nil,
+        .number = GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0_FinalizedEpochInfo_FieldNumber_CoreBlockRewards,
+        .hasIndex = 11,
+        .offset = (uint32_t)offsetof(GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0_FinalizedEpochInfo__storage_, coreBlockRewards),
+        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
+        .dataType = GPBDataTypeUInt64,
+      },
+      {
+        .name = "blockProposersArray",
+        .dataTypeSpecific.clazz = GPBObjCClass(GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0_BlockProposer),
+        .number = GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0_FinalizedEpochInfo_FieldNumber_BlockProposersArray,
         .hasIndex = GPBNoHasBit,
-        .offset = (uint32_t)offsetof(GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0_SerializedVotePollsByTimestamp__storage_, serializedVotePollsArray),
+        .offset = (uint32_t)offsetof(GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0_FinalizedEpochInfo__storage_, blockProposersArray),
         .flags = GPBFieldRepeated,
-        .dataType = GPBDataTypeBytes,
+        .dataType = GPBDataTypeMessage,
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0_SerializedVotePollsByTimestamp class]
+        [GPBDescriptor allocDescriptorForClass:[GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0_FinalizedEpochInfo class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0_SerializedVotePollsByTimestamp__storage_)
+                                   storageSize:sizeof(GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0_FinalizedEpochInfo__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
-    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0)];
+    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0)];
     #if defined(DEBUG) && DEBUG
       NSAssert(descriptor == nil, @"Startup recursed!");
     #endif  // DEBUG
@@ -8212,17 +8215,18 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-#pragma mark - GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0_SerializedVotePollsByTimestamps
+#pragma mark - GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0_BlockProposer
 
-@implementation GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0_SerializedVotePollsByTimestamps
+@implementation GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0_BlockProposer
 
-@dynamic votePollsByTimestampsArray, votePollsByTimestampsArray_Count;
-@dynamic finishedResults;
+@dynamic proposerId;
+@dynamic blockCount;
 
-typedef struct GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0_SerializedVotePollsByTimestamps__storage_ {
+typedef struct GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0_BlockProposer__storage_ {
   uint32_t _has_storage_[1];
-  NSMutableArray *votePollsByTimestampsArray;
-} GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0_SerializedVotePollsByTimestamps__storage_;
+  uint32_t blockCount;
+  NSData *proposerId;
+} GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0_BlockProposer__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -8231,33 +8235,33 @@ + (GPBDescriptor *)descriptor {
   if (!descriptor) {
     static GPBMessageFieldDescription fields[] = {
       {
-        .name = "votePollsByTimestampsArray",
-        .dataTypeSpecific.clazz = GPBObjCClass(GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0_SerializedVotePollsByTimestamp),
-        .number = GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0_SerializedVotePollsByTimestamps_FieldNumber_VotePollsByTimestampsArray,
-        .hasIndex = GPBNoHasBit,
-        .offset = (uint32_t)offsetof(GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0_SerializedVotePollsByTimestamps__storage_, votePollsByTimestampsArray),
-        .flags = GPBFieldRepeated,
-        .dataType = GPBDataTypeMessage,
+        .name = "proposerId",
+        .dataTypeSpecific.clazz = Nil,
+        .number = GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0_BlockProposer_FieldNumber_ProposerId,
+        .hasIndex = 0,
+        .offset = (uint32_t)offsetof(GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0_BlockProposer__storage_, proposerId),
+        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
+        .dataType = GPBDataTypeBytes,
       },
       {
-        .name = "finishedResults",
+        .name = "blockCount",
         .dataTypeSpecific.clazz = Nil,
-        .number = GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0_SerializedVotePollsByTimestamps_FieldNumber_FinishedResults,
-        .hasIndex = 0,
-        .offset = 1,  // Stored in _has_storage_ to save space.
+        .number = GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0_BlockProposer_FieldNumber_BlockCount,
+        .hasIndex = 1,
+        .offset = (uint32_t)offsetof(GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0_BlockProposer__storage_, blockCount),
         .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
-        .dataType = GPBDataTypeBool,
+        .dataType = GPBDataTypeUInt32,
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0_SerializedVotePollsByTimestamps class]
+        [GPBDescriptor allocDescriptorForClass:[GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0_BlockProposer class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0_SerializedVotePollsByTimestamps__storage_)
+                                   storageSize:sizeof(GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0_BlockProposer__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
-    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0)];
+    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetFinalizedEpochInfosResponse_GetFinalizedEpochInfosResponseV0)];
     #if defined(DEBUG) && DEBUG
       NSAssert(descriptor == nil, @"Startup recursed!");
     #endif  // DEBUG
@@ -8268,18 +8272,18 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-#pragma mark - GetContestedResourceVoteStateRequest
+#pragma mark - GetContestedResourcesRequest
 
-@implementation GetContestedResourceVoteStateRequest
+@implementation GetContestedResourcesRequest
 
 @dynamic versionOneOfCase;
 @dynamic v0;
 
-typedef struct GetContestedResourceVoteStateRequest__storage_ {
+typedef struct GetContestedResourcesRequest__storage_ {
   uint32_t _has_storage_[2];
-  GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0 *v0;
-} GetContestedResourceVoteStateRequest__storage_;
-
+  GetContestedResourcesRequest_GetContestedResourcesRequestV0 *v0;
+} GetContestedResourcesRequest__storage_;
+
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
 + (GPBDescriptor *)descriptor {
@@ -8288,21 +8292,21 @@ + (GPBDescriptor *)descriptor {
     static GPBMessageFieldDescription fields[] = {
       {
         .name = "v0",
-        .dataTypeSpecific.clazz = GPBObjCClass(GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0),
-        .number = GetContestedResourceVoteStateRequest_FieldNumber_V0,
+        .dataTypeSpecific.clazz = GPBObjCClass(GetContestedResourcesRequest_GetContestedResourcesRequestV0),
+        .number = GetContestedResourcesRequest_FieldNumber_V0,
         .hasIndex = -1,
-        .offset = (uint32_t)offsetof(GetContestedResourceVoteStateRequest__storage_, v0),
+        .offset = (uint32_t)offsetof(GetContestedResourcesRequest__storage_, v0),
         .flags = GPBFieldOptional,
         .dataType = GPBDataTypeMessage,
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetContestedResourceVoteStateRequest class]
+        [GPBDescriptor allocDescriptorForClass:[GetContestedResourcesRequest class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetContestedResourceVoteStateRequest__storage_)
+                                   storageSize:sizeof(GetContestedResourcesRequest__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
     static const char *oneofs[] = {
       "version",
@@ -8320,35 +8324,35 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-void GetContestedResourceVoteStateRequest_ClearVersionOneOfCase(GetContestedResourceVoteStateRequest *message) {
-  GPBDescriptor *descriptor = [GetContestedResourceVoteStateRequest descriptor];
+void GetContestedResourcesRequest_ClearVersionOneOfCase(GetContestedResourcesRequest *message) {
+  GPBDescriptor *descriptor = [GetContestedResourcesRequest descriptor];
   GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0];
   GPBClearOneof(message, oneof);
 }
-#pragma mark - GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0
+#pragma mark - GetContestedResourcesRequest_GetContestedResourcesRequestV0
 
-@implementation GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0
+@implementation GetContestedResourcesRequest_GetContestedResourcesRequestV0
 
 @dynamic contractId;
 @dynamic documentTypeName;
 @dynamic indexName;
-@dynamic indexValuesArray, indexValuesArray_Count;
-@dynamic resultType;
-@dynamic allowIncludeLockedAndAbstainingVoteTally;
-@dynamic hasStartAtIdentifierInfo, startAtIdentifierInfo;
+@dynamic startIndexValuesArray, startIndexValuesArray_Count;
+@dynamic endIndexValuesArray, endIndexValuesArray_Count;
+@dynamic hasStartAtValueInfo, startAtValueInfo;
 @dynamic hasCount, count;
+@dynamic orderAscending;
 @dynamic prove;
 
-typedef struct GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0__storage_ {
+typedef struct GetContestedResourcesRequest_GetContestedResourcesRequestV0__storage_ {
   uint32_t _has_storage_[1];
-  GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0_ResultType resultType;
   uint32_t count;
   NSData *contractId;
   NSString *documentTypeName;
   NSString *indexName;
-  NSMutableArray *indexValuesArray;
-  GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0_StartAtIdentifierInfo *startAtIdentifierInfo;
-} GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0__storage_;
+  NSMutableArray *startIndexValuesArray;
+  NSMutableArray *endIndexValuesArray;
+  GetContestedResourcesRequest_GetContestedResourcesRequestV0_StartAtValueInfo *startAtValueInfo;
+} GetContestedResourcesRequest_GetContestedResourcesRequestV0__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -8359,94 +8363,94 @@ + (GPBDescriptor *)descriptor {
       {
         .name = "contractId",
         .dataTypeSpecific.clazz = Nil,
-        .number = GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0_FieldNumber_ContractId,
+        .number = GetContestedResourcesRequest_GetContestedResourcesRequestV0_FieldNumber_ContractId,
         .hasIndex = 0,
-        .offset = (uint32_t)offsetof(GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0__storage_, contractId),
+        .offset = (uint32_t)offsetof(GetContestedResourcesRequest_GetContestedResourcesRequestV0__storage_, contractId),
         .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
         .dataType = GPBDataTypeBytes,
       },
       {
         .name = "documentTypeName",
         .dataTypeSpecific.clazz = Nil,
-        .number = GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0_FieldNumber_DocumentTypeName,
+        .number = GetContestedResourcesRequest_GetContestedResourcesRequestV0_FieldNumber_DocumentTypeName,
         .hasIndex = 1,
-        .offset = (uint32_t)offsetof(GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0__storage_, documentTypeName),
+        .offset = (uint32_t)offsetof(GetContestedResourcesRequest_GetContestedResourcesRequestV0__storage_, documentTypeName),
         .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
         .dataType = GPBDataTypeString,
       },
       {
         .name = "indexName",
         .dataTypeSpecific.clazz = Nil,
-        .number = GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0_FieldNumber_IndexName,
+        .number = GetContestedResourcesRequest_GetContestedResourcesRequestV0_FieldNumber_IndexName,
         .hasIndex = 2,
-        .offset = (uint32_t)offsetof(GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0__storage_, indexName),
+        .offset = (uint32_t)offsetof(GetContestedResourcesRequest_GetContestedResourcesRequestV0__storage_, indexName),
         .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
         .dataType = GPBDataTypeString,
       },
       {
-        .name = "indexValuesArray",
+        .name = "startIndexValuesArray",
         .dataTypeSpecific.clazz = Nil,
-        .number = GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0_FieldNumber_IndexValuesArray,
+        .number = GetContestedResourcesRequest_GetContestedResourcesRequestV0_FieldNumber_StartIndexValuesArray,
         .hasIndex = GPBNoHasBit,
-        .offset = (uint32_t)offsetof(GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0__storage_, indexValuesArray),
+        .offset = (uint32_t)offsetof(GetContestedResourcesRequest_GetContestedResourcesRequestV0__storage_, startIndexValuesArray),
         .flags = GPBFieldRepeated,
         .dataType = GPBDataTypeBytes,
       },
       {
-        .name = "resultType",
-        .dataTypeSpecific.enumDescFunc = GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0_ResultType_EnumDescriptor,
-        .number = GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0_FieldNumber_ResultType,
-        .hasIndex = 3,
-        .offset = (uint32_t)offsetof(GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0__storage_, resultType),
-        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldHasEnumDescriptor | GPBFieldClearHasIvarOnZero),
-        .dataType = GPBDataTypeEnum,
-      },
-      {
-        .name = "allowIncludeLockedAndAbstainingVoteTally",
+        .name = "endIndexValuesArray",
         .dataTypeSpecific.clazz = Nil,
-        .number = GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0_FieldNumber_AllowIncludeLockedAndAbstainingVoteTally,
-        .hasIndex = 4,
-        .offset = 5,  // Stored in _has_storage_ to save space.
-        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
-        .dataType = GPBDataTypeBool,
+        .number = GetContestedResourcesRequest_GetContestedResourcesRequestV0_FieldNumber_EndIndexValuesArray,
+        .hasIndex = GPBNoHasBit,
+        .offset = (uint32_t)offsetof(GetContestedResourcesRequest_GetContestedResourcesRequestV0__storage_, endIndexValuesArray),
+        .flags = GPBFieldRepeated,
+        .dataType = GPBDataTypeBytes,
       },
       {
-        .name = "startAtIdentifierInfo",
-        .dataTypeSpecific.clazz = GPBObjCClass(GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0_StartAtIdentifierInfo),
-        .number = GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0_FieldNumber_StartAtIdentifierInfo,
-        .hasIndex = 6,
-        .offset = (uint32_t)offsetof(GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0__storage_, startAtIdentifierInfo),
+        .name = "startAtValueInfo",
+        .dataTypeSpecific.clazz = GPBObjCClass(GetContestedResourcesRequest_GetContestedResourcesRequestV0_StartAtValueInfo),
+        .number = GetContestedResourcesRequest_GetContestedResourcesRequestV0_FieldNumber_StartAtValueInfo,
+        .hasIndex = 3,
+        .offset = (uint32_t)offsetof(GetContestedResourcesRequest_GetContestedResourcesRequestV0__storage_, startAtValueInfo),
         .flags = GPBFieldOptional,
         .dataType = GPBDataTypeMessage,
       },
       {
         .name = "count",
         .dataTypeSpecific.clazz = Nil,
-        .number = GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0_FieldNumber_Count,
-        .hasIndex = 7,
-        .offset = (uint32_t)offsetof(GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0__storage_, count),
+        .number = GetContestedResourcesRequest_GetContestedResourcesRequestV0_FieldNumber_Count,
+        .hasIndex = 4,
+        .offset = (uint32_t)offsetof(GetContestedResourcesRequest_GetContestedResourcesRequestV0__storage_, count),
         .flags = GPBFieldOptional,
         .dataType = GPBDataTypeUInt32,
       },
+      {
+        .name = "orderAscending",
+        .dataTypeSpecific.clazz = Nil,
+        .number = GetContestedResourcesRequest_GetContestedResourcesRequestV0_FieldNumber_OrderAscending,
+        .hasIndex = 5,
+        .offset = 6,  // Stored in _has_storage_ to save space.
+        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
+        .dataType = GPBDataTypeBool,
+      },
       {
         .name = "prove",
         .dataTypeSpecific.clazz = Nil,
-        .number = GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0_FieldNumber_Prove,
-        .hasIndex = 8,
-        .offset = 9,  // Stored in _has_storage_ to save space.
+        .number = GetContestedResourcesRequest_GetContestedResourcesRequestV0_FieldNumber_Prove,
+        .hasIndex = 7,
+        .offset = 8,  // Stored in _has_storage_ to save space.
         .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
         .dataType = GPBDataTypeBool,
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0 class]
+        [GPBDescriptor allocDescriptorForClass:[GetContestedResourcesRequest_GetContestedResourcesRequestV0 class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0__storage_)
+                                   storageSize:sizeof(GetContestedResourcesRequest_GetContestedResourcesRequestV0__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
-    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetContestedResourceVoteStateRequest)];
+    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetContestedResourcesRequest)];
     #if defined(DEBUG) && DEBUG
       NSAssert(descriptor == nil, @"Startup recursed!");
     #endif  // DEBUG
@@ -8457,67 +8461,17 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-int32_t GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0_ResultType_RawValue(GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0 *message) {
-  GPBDescriptor *descriptor = [GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0 descriptor];
-  GPBFieldDescriptor *field = [descriptor fieldWithNumber:GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0_FieldNumber_ResultType];
-  return GPBGetMessageRawEnumField(message, field);
-}
-
-void SetGetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0_ResultType_RawValue(GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0 *message, int32_t value) {
-  GPBDescriptor *descriptor = [GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0 descriptor];
-  GPBFieldDescriptor *field = [descriptor fieldWithNumber:GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0_FieldNumber_ResultType];
-  GPBSetMessageRawEnumField(message, field, value);
-}
-
-#pragma mark - Enum GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0_ResultType
-
-GPBEnumDescriptor *GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0_ResultType_EnumDescriptor(void) {
-  static _Atomic(GPBEnumDescriptor*) descriptor = nil;
-  if (!descriptor) {
-    static const char *valueNames =
-        "Documents\000VoteTally\000DocumentsAndVoteTall"
-        "y\000";
-    static const int32_t values[] = {
-        GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0_ResultType_Documents,
-        GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0_ResultType_VoteTally,
-        GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0_ResultType_DocumentsAndVoteTally,
-    };
-    GPBEnumDescriptor *worker =
-        [GPBEnumDescriptor allocDescriptorForName:GPBNSStringifySymbol(GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0_ResultType)
-                                       valueNames:valueNames
-                                           values:values
-                                            count:(uint32_t)(sizeof(values) / sizeof(int32_t))
-                                     enumVerifier:GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0_ResultType_IsValidValue];
-    GPBEnumDescriptor *expected = nil;
-    if (!atomic_compare_exchange_strong(&descriptor, &expected, worker)) {
-      [worker release];
-    }
-  }
-  return descriptor;
-}
-
-BOOL GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0_ResultType_IsValidValue(int32_t value__) {
-  switch (value__) {
-    case GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0_ResultType_Documents:
-    case GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0_ResultType_VoteTally:
-    case GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0_ResultType_DocumentsAndVoteTally:
-      return YES;
-    default:
-      return NO;
-  }
-}
-
-#pragma mark - GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0_StartAtIdentifierInfo
+#pragma mark - GetContestedResourcesRequest_GetContestedResourcesRequestV0_StartAtValueInfo
 
-@implementation GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0_StartAtIdentifierInfo
+@implementation GetContestedResourcesRequest_GetContestedResourcesRequestV0_StartAtValueInfo
 
-@dynamic startIdentifier;
-@dynamic startIdentifierIncluded;
+@dynamic startValue;
+@dynamic startValueIncluded;
 
-typedef struct GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0_StartAtIdentifierInfo__storage_ {
+typedef struct GetContestedResourcesRequest_GetContestedResourcesRequestV0_StartAtValueInfo__storage_ {
   uint32_t _has_storage_[1];
-  NSData *startIdentifier;
-} GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0_StartAtIdentifierInfo__storage_;
+  NSData *startValue;
+} GetContestedResourcesRequest_GetContestedResourcesRequestV0_StartAtValueInfo__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -8526,18 +8480,18 @@ + (GPBDescriptor *)descriptor {
   if (!descriptor) {
     static GPBMessageFieldDescription fields[] = {
       {
-        .name = "startIdentifier",
+        .name = "startValue",
         .dataTypeSpecific.clazz = Nil,
-        .number = GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0_StartAtIdentifierInfo_FieldNumber_StartIdentifier,
+        .number = GetContestedResourcesRequest_GetContestedResourcesRequestV0_StartAtValueInfo_FieldNumber_StartValue,
         .hasIndex = 0,
-        .offset = (uint32_t)offsetof(GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0_StartAtIdentifierInfo__storage_, startIdentifier),
+        .offset = (uint32_t)offsetof(GetContestedResourcesRequest_GetContestedResourcesRequestV0_StartAtValueInfo__storage_, startValue),
         .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
         .dataType = GPBDataTypeBytes,
       },
       {
-        .name = "startIdentifierIncluded",
+        .name = "startValueIncluded",
         .dataTypeSpecific.clazz = Nil,
-        .number = GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0_StartAtIdentifierInfo_FieldNumber_StartIdentifierIncluded,
+        .number = GetContestedResourcesRequest_GetContestedResourcesRequestV0_StartAtValueInfo_FieldNumber_StartValueIncluded,
         .hasIndex = 1,
         .offset = 2,  // Stored in _has_storage_ to save space.
         .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
@@ -8545,14 +8499,14 @@ + (GPBDescriptor *)descriptor {
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0_StartAtIdentifierInfo class]
+        [GPBDescriptor allocDescriptorForClass:[GetContestedResourcesRequest_GetContestedResourcesRequestV0_StartAtValueInfo class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0_StartAtIdentifierInfo__storage_)
+                                   storageSize:sizeof(GetContestedResourcesRequest_GetContestedResourcesRequestV0_StartAtValueInfo__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
-    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0)];
+    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetContestedResourcesRequest_GetContestedResourcesRequestV0)];
     #if defined(DEBUG) && DEBUG
       NSAssert(descriptor == nil, @"Startup recursed!");
     #endif  // DEBUG
@@ -8563,17 +8517,17 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-#pragma mark - GetContestedResourceVoteStateResponse
+#pragma mark - GetContestedResourcesResponse
 
-@implementation GetContestedResourceVoteStateResponse
+@implementation GetContestedResourcesResponse
 
 @dynamic versionOneOfCase;
 @dynamic v0;
 
-typedef struct GetContestedResourceVoteStateResponse__storage_ {
+typedef struct GetContestedResourcesResponse__storage_ {
   uint32_t _has_storage_[2];
-  GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0 *v0;
-} GetContestedResourceVoteStateResponse__storage_;
+  GetContestedResourcesResponse_GetContestedResourcesResponseV0 *v0;
+} GetContestedResourcesResponse__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -8583,21 +8537,21 @@ + (GPBDescriptor *)descriptor {
     static GPBMessageFieldDescription fields[] = {
       {
         .name = "v0",
-        .dataTypeSpecific.clazz = GPBObjCClass(GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0),
-        .number = GetContestedResourceVoteStateResponse_FieldNumber_V0,
+        .dataTypeSpecific.clazz = GPBObjCClass(GetContestedResourcesResponse_GetContestedResourcesResponseV0),
+        .number = GetContestedResourcesResponse_FieldNumber_V0,
         .hasIndex = -1,
-        .offset = (uint32_t)offsetof(GetContestedResourceVoteStateResponse__storage_, v0),
+        .offset = (uint32_t)offsetof(GetContestedResourcesResponse__storage_, v0),
         .flags = GPBFieldOptional,
         .dataType = GPBDataTypeMessage,
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetContestedResourceVoteStateResponse class]
+        [GPBDescriptor allocDescriptorForClass:[GetContestedResourcesResponse class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetContestedResourceVoteStateResponse__storage_)
+                                   storageSize:sizeof(GetContestedResourcesResponse__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
     static const char *oneofs[] = {
       "version",
@@ -8615,26 +8569,26 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-void GetContestedResourceVoteStateResponse_ClearVersionOneOfCase(GetContestedResourceVoteStateResponse *message) {
-  GPBDescriptor *descriptor = [GetContestedResourceVoteStateResponse descriptor];
+void GetContestedResourcesResponse_ClearVersionOneOfCase(GetContestedResourcesResponse *message) {
+  GPBDescriptor *descriptor = [GetContestedResourcesResponse descriptor];
   GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0];
   GPBClearOneof(message, oneof);
 }
-#pragma mark - GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0
+#pragma mark - GetContestedResourcesResponse_GetContestedResourcesResponseV0
 
-@implementation GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0
+@implementation GetContestedResourcesResponse_GetContestedResourcesResponseV0
 
 @dynamic resultOneOfCase;
-@dynamic contestedResourceContenders;
+@dynamic contestedResourceValues;
 @dynamic proof;
 @dynamic hasMetadata, metadata;
 
-typedef struct GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0__storage_ {
+typedef struct GetContestedResourcesResponse_GetContestedResourcesResponseV0__storage_ {
   uint32_t _has_storage_[2];
-  GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_ContestedResourceContenders *contestedResourceContenders;
+  GetContestedResourcesResponse_GetContestedResourcesResponseV0_ContestedResourceValues *contestedResourceValues;
   Proof *proof;
   ResponseMetadata *metadata;
-} GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0__storage_;
+} GetContestedResourcesResponse_GetContestedResourcesResponseV0__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -8643,40 +8597,40 @@ + (GPBDescriptor *)descriptor {
   if (!descriptor) {
     static GPBMessageFieldDescription fields[] = {
       {
-        .name = "contestedResourceContenders",
-        .dataTypeSpecific.clazz = GPBObjCClass(GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_ContestedResourceContenders),
-        .number = GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_FieldNumber_ContestedResourceContenders,
+        .name = "contestedResourceValues",
+        .dataTypeSpecific.clazz = GPBObjCClass(GetContestedResourcesResponse_GetContestedResourcesResponseV0_ContestedResourceValues),
+        .number = GetContestedResourcesResponse_GetContestedResourcesResponseV0_FieldNumber_ContestedResourceValues,
         .hasIndex = -1,
-        .offset = (uint32_t)offsetof(GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0__storage_, contestedResourceContenders),
+        .offset = (uint32_t)offsetof(GetContestedResourcesResponse_GetContestedResourcesResponseV0__storage_, contestedResourceValues),
         .flags = GPBFieldOptional,
         .dataType = GPBDataTypeMessage,
       },
       {
         .name = "proof",
         .dataTypeSpecific.clazz = GPBObjCClass(Proof),
-        .number = GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_FieldNumber_Proof,
+        .number = GetContestedResourcesResponse_GetContestedResourcesResponseV0_FieldNumber_Proof,
         .hasIndex = -1,
-        .offset = (uint32_t)offsetof(GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0__storage_, proof),
+        .offset = (uint32_t)offsetof(GetContestedResourcesResponse_GetContestedResourcesResponseV0__storage_, proof),
         .flags = GPBFieldOptional,
         .dataType = GPBDataTypeMessage,
       },
       {
         .name = "metadata",
         .dataTypeSpecific.clazz = GPBObjCClass(ResponseMetadata),
-        .number = GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_FieldNumber_Metadata,
+        .number = GetContestedResourcesResponse_GetContestedResourcesResponseV0_FieldNumber_Metadata,
         .hasIndex = 0,
-        .offset = (uint32_t)offsetof(GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0__storage_, metadata),
+        .offset = (uint32_t)offsetof(GetContestedResourcesResponse_GetContestedResourcesResponseV0__storage_, metadata),
         .flags = GPBFieldOptional,
         .dataType = GPBDataTypeMessage,
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0 class]
+        [GPBDescriptor allocDescriptorForClass:[GetContestedResourcesResponse_GetContestedResourcesResponseV0 class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0__storage_)
+                                   storageSize:sizeof(GetContestedResourcesResponse_GetContestedResourcesResponseV0__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
     static const char *oneofs[] = {
       "result",
@@ -8684,7 +8638,7 @@ + (GPBDescriptor *)descriptor {
     [localDescriptor setupOneofs:oneofs
                            count:(uint32_t)(sizeof(oneofs) / sizeof(char*))
                    firstHasIndex:-1];
-    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetContestedResourceVoteStateResponse)];
+    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetContestedResourcesResponse)];
     #if defined(DEBUG) && DEBUG
       NSAssert(descriptor == nil, @"Startup recursed!");
     #endif  // DEBUG
@@ -8695,31 +8649,21 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-void GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_ClearResultOneOfCase(GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0 *message) {
-  GPBDescriptor *descriptor = [GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0 descriptor];
-  GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0];
+void GetContestedResourcesResponse_GetContestedResourcesResponseV0_ClearResultOneOfCase(GetContestedResourcesResponse_GetContestedResourcesResponseV0 *message) {
+  GPBDescriptor *descriptor = [GetContestedResourcesResponse_GetContestedResourcesResponseV0 descriptor];
+  GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0];
   GPBClearOneof(message, oneof);
 }
-#pragma mark - GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_FinishedVoteInfo
+#pragma mark - GetContestedResourcesResponse_GetContestedResourcesResponseV0_ContestedResourceValues
 
-@implementation GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_FinishedVoteInfo
+@implementation GetContestedResourcesResponse_GetContestedResourcesResponseV0_ContestedResourceValues
 
-@dynamic finishedVoteOutcome;
-@dynamic hasWonByIdentityId, wonByIdentityId;
-@dynamic finishedAtBlockHeight;
-@dynamic finishedAtCoreBlockHeight;
-@dynamic finishedAtBlockTimeMs;
-@dynamic finishedAtEpoch;
+@dynamic contestedResourceValuesArray, contestedResourceValuesArray_Count;
 
-typedef struct GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_FinishedVoteInfo__storage_ {
+typedef struct GetContestedResourcesResponse_GetContestedResourcesResponseV0_ContestedResourceValues__storage_ {
   uint32_t _has_storage_[1];
-  GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_FinishedVoteInfo_FinishedVoteOutcome finishedVoteOutcome;
-  uint32_t finishedAtCoreBlockHeight;
-  uint32_t finishedAtEpoch;
-  NSData *wonByIdentityId;
-  uint64_t finishedAtBlockHeight;
-  uint64_t finishedAtBlockTimeMs;
-} GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_FinishedVoteInfo__storage_;
+  NSMutableArray *contestedResourceValuesArray;
+} GetContestedResourcesResponse_GetContestedResourcesResponseV0_ContestedResourceValues__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -8728,69 +8672,24 @@ + (GPBDescriptor *)descriptor {
   if (!descriptor) {
     static GPBMessageFieldDescription fields[] = {
       {
-        .name = "finishedVoteOutcome",
-        .dataTypeSpecific.enumDescFunc = GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_FinishedVoteInfo_FinishedVoteOutcome_EnumDescriptor,
-        .number = GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_FinishedVoteInfo_FieldNumber_FinishedVoteOutcome,
-        .hasIndex = 0,
-        .offset = (uint32_t)offsetof(GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_FinishedVoteInfo__storage_, finishedVoteOutcome),
-        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldHasEnumDescriptor | GPBFieldClearHasIvarOnZero),
-        .dataType = GPBDataTypeEnum,
-      },
-      {
-        .name = "wonByIdentityId",
+        .name = "contestedResourceValuesArray",
         .dataTypeSpecific.clazz = Nil,
-        .number = GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_FinishedVoteInfo_FieldNumber_WonByIdentityId,
-        .hasIndex = 1,
-        .offset = (uint32_t)offsetof(GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_FinishedVoteInfo__storage_, wonByIdentityId),
-        .flags = GPBFieldOptional,
+        .number = GetContestedResourcesResponse_GetContestedResourcesResponseV0_ContestedResourceValues_FieldNumber_ContestedResourceValuesArray,
+        .hasIndex = GPBNoHasBit,
+        .offset = (uint32_t)offsetof(GetContestedResourcesResponse_GetContestedResourcesResponseV0_ContestedResourceValues__storage_, contestedResourceValuesArray),
+        .flags = GPBFieldRepeated,
         .dataType = GPBDataTypeBytes,
       },
-      {
-        .name = "finishedAtBlockHeight",
-        .dataTypeSpecific.clazz = Nil,
-        .number = GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_FinishedVoteInfo_FieldNumber_FinishedAtBlockHeight,
-        .hasIndex = 2,
-        .offset = (uint32_t)offsetof(GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_FinishedVoteInfo__storage_, finishedAtBlockHeight),
-        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
-        .dataType = GPBDataTypeUInt64,
-      },
-      {
-        .name = "finishedAtCoreBlockHeight",
-        .dataTypeSpecific.clazz = Nil,
-        .number = GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_FinishedVoteInfo_FieldNumber_FinishedAtCoreBlockHeight,
-        .hasIndex = 3,
-        .offset = (uint32_t)offsetof(GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_FinishedVoteInfo__storage_, finishedAtCoreBlockHeight),
-        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
-        .dataType = GPBDataTypeUInt32,
-      },
-      {
-        .name = "finishedAtBlockTimeMs",
-        .dataTypeSpecific.clazz = Nil,
-        .number = GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_FinishedVoteInfo_FieldNumber_FinishedAtBlockTimeMs,
-        .hasIndex = 4,
-        .offset = (uint32_t)offsetof(GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_FinishedVoteInfo__storage_, finishedAtBlockTimeMs),
-        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
-        .dataType = GPBDataTypeUInt64,
-      },
-      {
-        .name = "finishedAtEpoch",
-        .dataTypeSpecific.clazz = Nil,
-        .number = GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_FinishedVoteInfo_FieldNumber_FinishedAtEpoch,
-        .hasIndex = 5,
-        .offset = (uint32_t)offsetof(GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_FinishedVoteInfo__storage_, finishedAtEpoch),
-        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
-        .dataType = GPBDataTypeUInt32,
-      },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_FinishedVoteInfo class]
+        [GPBDescriptor allocDescriptorForClass:[GetContestedResourcesResponse_GetContestedResourcesResponseV0_ContestedResourceValues class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_FinishedVoteInfo__storage_)
+                                   storageSize:sizeof(GetContestedResourcesResponse_GetContestedResourcesResponseV0_ContestedResourceValues__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
-    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0)];
+    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetContestedResourcesResponse_GetContestedResourcesResponseV0)];
     #if defined(DEBUG) && DEBUG
       NSAssert(descriptor == nil, @"Startup recursed!");
     #endif  // DEBUG
@@ -8801,71 +8700,17 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-int32_t GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_FinishedVoteInfo_FinishedVoteOutcome_RawValue(GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_FinishedVoteInfo *message) {
-  GPBDescriptor *descriptor = [GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_FinishedVoteInfo descriptor];
-  GPBFieldDescriptor *field = [descriptor fieldWithNumber:GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_FinishedVoteInfo_FieldNumber_FinishedVoteOutcome];
-  return GPBGetMessageRawEnumField(message, field);
-}
-
-void SetGetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_FinishedVoteInfo_FinishedVoteOutcome_RawValue(GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_FinishedVoteInfo *message, int32_t value) {
-  GPBDescriptor *descriptor = [GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_FinishedVoteInfo descriptor];
-  GPBFieldDescriptor *field = [descriptor fieldWithNumber:GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_FinishedVoteInfo_FieldNumber_FinishedVoteOutcome];
-  GPBSetMessageRawEnumField(message, field, value);
-}
-
-#pragma mark - Enum GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_FinishedVoteInfo_FinishedVoteOutcome
-
-GPBEnumDescriptor *GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_FinishedVoteInfo_FinishedVoteOutcome_EnumDescriptor(void) {
-  static _Atomic(GPBEnumDescriptor*) descriptor = nil;
-  if (!descriptor) {
-    static const char *valueNames =
-        "TowardsIdentity\000Locked\000NoPreviousWinner\000";
-    static const int32_t values[] = {
-        GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_FinishedVoteInfo_FinishedVoteOutcome_TowardsIdentity,
-        GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_FinishedVoteInfo_FinishedVoteOutcome_Locked,
-        GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_FinishedVoteInfo_FinishedVoteOutcome_NoPreviousWinner,
-    };
-    GPBEnumDescriptor *worker =
-        [GPBEnumDescriptor allocDescriptorForName:GPBNSStringifySymbol(GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_FinishedVoteInfo_FinishedVoteOutcome)
-                                       valueNames:valueNames
-                                           values:values
-                                            count:(uint32_t)(sizeof(values) / sizeof(int32_t))
-                                     enumVerifier:GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_FinishedVoteInfo_FinishedVoteOutcome_IsValidValue];
-    GPBEnumDescriptor *expected = nil;
-    if (!atomic_compare_exchange_strong(&descriptor, &expected, worker)) {
-      [worker release];
-    }
-  }
-  return descriptor;
-}
-
-BOOL GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_FinishedVoteInfo_FinishedVoteOutcome_IsValidValue(int32_t value__) {
-  switch (value__) {
-    case GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_FinishedVoteInfo_FinishedVoteOutcome_TowardsIdentity:
-    case GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_FinishedVoteInfo_FinishedVoteOutcome_Locked:
-    case GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_FinishedVoteInfo_FinishedVoteOutcome_NoPreviousWinner:
-      return YES;
-    default:
-      return NO;
-  }
-}
-
-#pragma mark - GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_ContestedResourceContenders
+#pragma mark - GetVotePollsByEndDateRequest
 
-@implementation GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_ContestedResourceContenders
+@implementation GetVotePollsByEndDateRequest
 
-@dynamic contendersArray, contendersArray_Count;
-@dynamic hasAbstainVoteTally, abstainVoteTally;
-@dynamic hasLockVoteTally, lockVoteTally;
-@dynamic hasFinishedVoteInfo, finishedVoteInfo;
+@dynamic versionOneOfCase;
+@dynamic v0;
 
-typedef struct GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_ContestedResourceContenders__storage_ {
-  uint32_t _has_storage_[1];
-  uint32_t abstainVoteTally;
-  uint32_t lockVoteTally;
-  NSMutableArray *contendersArray;
-  GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_FinishedVoteInfo *finishedVoteInfo;
-} GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_ContestedResourceContenders__storage_;
+typedef struct GetVotePollsByEndDateRequest__storage_ {
+  uint32_t _has_storage_[2];
+  GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0 *v0;
+} GetVotePollsByEndDateRequest__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -8874,51 +8719,29 @@ + (GPBDescriptor *)descriptor {
   if (!descriptor) {
     static GPBMessageFieldDescription fields[] = {
       {
-        .name = "contendersArray",
-        .dataTypeSpecific.clazz = GPBObjCClass(GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_Contender),
-        .number = GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_ContestedResourceContenders_FieldNumber_ContendersArray,
-        .hasIndex = GPBNoHasBit,
-        .offset = (uint32_t)offsetof(GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_ContestedResourceContenders__storage_, contendersArray),
-        .flags = GPBFieldRepeated,
-        .dataType = GPBDataTypeMessage,
-      },
-      {
-        .name = "abstainVoteTally",
-        .dataTypeSpecific.clazz = Nil,
-        .number = GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_ContestedResourceContenders_FieldNumber_AbstainVoteTally,
-        .hasIndex = 0,
-        .offset = (uint32_t)offsetof(GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_ContestedResourceContenders__storage_, abstainVoteTally),
-        .flags = GPBFieldOptional,
-        .dataType = GPBDataTypeUInt32,
-      },
-      {
-        .name = "lockVoteTally",
-        .dataTypeSpecific.clazz = Nil,
-        .number = GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_ContestedResourceContenders_FieldNumber_LockVoteTally,
-        .hasIndex = 1,
-        .offset = (uint32_t)offsetof(GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_ContestedResourceContenders__storage_, lockVoteTally),
-        .flags = GPBFieldOptional,
-        .dataType = GPBDataTypeUInt32,
-      },
-      {
-        .name = "finishedVoteInfo",
-        .dataTypeSpecific.clazz = GPBObjCClass(GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_FinishedVoteInfo),
-        .number = GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_ContestedResourceContenders_FieldNumber_FinishedVoteInfo,
-        .hasIndex = 2,
-        .offset = (uint32_t)offsetof(GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_ContestedResourceContenders__storage_, finishedVoteInfo),
+        .name = "v0",
+        .dataTypeSpecific.clazz = GPBObjCClass(GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0),
+        .number = GetVotePollsByEndDateRequest_FieldNumber_V0,
+        .hasIndex = -1,
+        .offset = (uint32_t)offsetof(GetVotePollsByEndDateRequest__storage_, v0),
         .flags = GPBFieldOptional,
         .dataType = GPBDataTypeMessage,
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_ContestedResourceContenders class]
+        [GPBDescriptor allocDescriptorForClass:[GetVotePollsByEndDateRequest class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_ContestedResourceContenders__storage_)
+                                   storageSize:sizeof(GetVotePollsByEndDateRequest__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
-    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0)];
+    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
@@ -8929,20 +8752,29 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-#pragma mark - GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_Contender
+void GetVotePollsByEndDateRequest_ClearVersionOneOfCase(GetVotePollsByEndDateRequest *message) {
+  GPBDescriptor *descriptor = [GetVotePollsByEndDateRequest descriptor];
+  GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0];
+  GPBClearOneof(message, oneof);
+}
+#pragma mark - GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0
 
-@implementation GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_Contender
+@implementation GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0
 
-@dynamic identifier;
-@dynamic hasVoteCount, voteCount;
-@dynamic hasDocument, document;
+@dynamic hasStartTimeInfo, startTimeInfo;
+@dynamic hasEndTimeInfo, endTimeInfo;
+@dynamic hasLimit, limit;
+@dynamic hasOffset, offset;
+@dynamic ascending;
+@dynamic prove;
 
-typedef struct GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_Contender__storage_ {
+typedef struct GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0__storage_ {
   uint32_t _has_storage_[1];
-  uint32_t voteCount;
-  NSData *identifier;
-  NSData *document;
-} GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_Contender__storage_;
+  uint32_t limit;
+  uint32_t offset;
+  GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0_StartAtTimeInfo *startTimeInfo;
+  GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0_EndAtTimeInfo *endTimeInfo;
+} GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -8951,94 +8783,69 @@ + (GPBDescriptor *)descriptor {
   if (!descriptor) {
     static GPBMessageFieldDescription fields[] = {
       {
-        .name = "identifier",
-        .dataTypeSpecific.clazz = Nil,
-        .number = GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_Contender_FieldNumber_Identifier,
+        .name = "startTimeInfo",
+        .dataTypeSpecific.clazz = GPBObjCClass(GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0_StartAtTimeInfo),
+        .number = GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0_FieldNumber_StartTimeInfo,
         .hasIndex = 0,
-        .offset = (uint32_t)offsetof(GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_Contender__storage_, identifier),
-        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
-        .dataType = GPBDataTypeBytes,
+        .offset = (uint32_t)offsetof(GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0__storage_, startTimeInfo),
+        .flags = GPBFieldOptional,
+        .dataType = GPBDataTypeMessage,
       },
       {
-        .name = "voteCount",
-        .dataTypeSpecific.clazz = Nil,
-        .number = GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_Contender_FieldNumber_VoteCount,
+        .name = "endTimeInfo",
+        .dataTypeSpecific.clazz = GPBObjCClass(GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0_EndAtTimeInfo),
+        .number = GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0_FieldNumber_EndTimeInfo,
         .hasIndex = 1,
-        .offset = (uint32_t)offsetof(GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_Contender__storage_, voteCount),
+        .offset = (uint32_t)offsetof(GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0__storage_, endTimeInfo),
         .flags = GPBFieldOptional,
-        .dataType = GPBDataTypeUInt32,
+        .dataType = GPBDataTypeMessage,
       },
       {
-        .name = "document",
+        .name = "limit",
         .dataTypeSpecific.clazz = Nil,
-        .number = GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_Contender_FieldNumber_Document,
+        .number = GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0_FieldNumber_Limit,
         .hasIndex = 2,
-        .offset = (uint32_t)offsetof(GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_Contender__storage_, document),
+        .offset = (uint32_t)offsetof(GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0__storage_, limit),
         .flags = GPBFieldOptional,
-        .dataType = GPBDataTypeBytes,
+        .dataType = GPBDataTypeUInt32,
       },
-    };
-    GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_Contender class]
-                                     rootClass:[PlatformRoot class]
-                                          file:PlatformRoot_FileDescriptor()
-                                        fields:fields
-                                    fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_Contender__storage_)
-                                         flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
-    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0)];
-    #if defined(DEBUG) && DEBUG
-      NSAssert(descriptor == nil, @"Startup recursed!");
-    #endif  // DEBUG
-    descriptor = localDescriptor;
-  }
-  return descriptor;
-}
-
-@end
-
-#pragma mark - GetContestedResourceVotersForIdentityRequest
-
-@implementation GetContestedResourceVotersForIdentityRequest
-
-@dynamic versionOneOfCase;
-@dynamic v0;
-
-typedef struct GetContestedResourceVotersForIdentityRequest__storage_ {
-  uint32_t _has_storage_[2];
-  GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0 *v0;
-} GetContestedResourceVotersForIdentityRequest__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(GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0),
-        .number = GetContestedResourceVotersForIdentityRequest_FieldNumber_V0,
-        .hasIndex = -1,
-        .offset = (uint32_t)offsetof(GetContestedResourceVotersForIdentityRequest__storage_, v0),
+        .name = "offset",
+        .dataTypeSpecific.clazz = Nil,
+        .number = GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0_FieldNumber_Offset,
+        .hasIndex = 3,
+        .offset = (uint32_t)offsetof(GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0__storage_, offset),
         .flags = GPBFieldOptional,
-        .dataType = GPBDataTypeMessage,
+        .dataType = GPBDataTypeUInt32,
+      },
+      {
+        .name = "ascending",
+        .dataTypeSpecific.clazz = Nil,
+        .number = GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0_FieldNumber_Ascending,
+        .hasIndex = 4,
+        .offset = 5,  // Stored in _has_storage_ to save space.
+        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
+        .dataType = GPBDataTypeBool,
+      },
+      {
+        .name = "prove",
+        .dataTypeSpecific.clazz = Nil,
+        .number = GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0_FieldNumber_Prove,
+        .hasIndex = 6,
+        .offset = 7,  // Stored in _has_storage_ to save space.
+        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
+        .dataType = GPBDataTypeBool,
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetContestedResourceVotersForIdentityRequest class]
+        [GPBDescriptor allocDescriptorForClass:[GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0 class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetContestedResourceVotersForIdentityRequest__storage_)
+                                   storageSize:sizeof(GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
-    static const char *oneofs[] = {
-      "version",
-    };
-    [localDescriptor setupOneofs:oneofs
-                           count:(uint32_t)(sizeof(oneofs) / sizeof(char*))
-                   firstHasIndex:-1];
+    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetVotePollsByEndDateRequest)];
     #if defined(DEBUG) && DEBUG
       NSAssert(descriptor == nil, @"Startup recursed!");
     #endif  // DEBUG
@@ -9049,35 +8856,17 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-void GetContestedResourceVotersForIdentityRequest_ClearVersionOneOfCase(GetContestedResourceVotersForIdentityRequest *message) {
-  GPBDescriptor *descriptor = [GetContestedResourceVotersForIdentityRequest descriptor];
-  GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0];
-  GPBClearOneof(message, oneof);
-}
-#pragma mark - GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0
+#pragma mark - GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0_StartAtTimeInfo
 
-@implementation GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0
+@implementation GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0_StartAtTimeInfo
 
-@dynamic contractId;
-@dynamic documentTypeName;
-@dynamic indexName;
-@dynamic indexValuesArray, indexValuesArray_Count;
-@dynamic contestantId;
-@dynamic hasStartAtIdentifierInfo, startAtIdentifierInfo;
-@dynamic hasCount, count;
-@dynamic orderAscending;
-@dynamic prove;
+@dynamic startTimeMs;
+@dynamic startTimeIncluded;
 
-typedef struct GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0__storage_ {
+typedef struct GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0_StartAtTimeInfo__storage_ {
   uint32_t _has_storage_[1];
-  uint32_t count;
-  NSData *contractId;
-  NSString *documentTypeName;
-  NSString *indexName;
-  NSMutableArray *indexValuesArray;
-  NSData *contestantId;
-  GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0_StartAtIdentifierInfo *startAtIdentifierInfo;
-} GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0__storage_;
+  uint64_t startTimeMs;
+} GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0_StartAtTimeInfo__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -9086,96 +8875,33 @@ + (GPBDescriptor *)descriptor {
   if (!descriptor) {
     static GPBMessageFieldDescription fields[] = {
       {
-        .name = "contractId",
+        .name = "startTimeMs",
         .dataTypeSpecific.clazz = Nil,
-        .number = GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0_FieldNumber_ContractId,
+        .number = GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0_StartAtTimeInfo_FieldNumber_StartTimeMs,
         .hasIndex = 0,
-        .offset = (uint32_t)offsetof(GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0__storage_, contractId),
+        .offset = (uint32_t)offsetof(GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0_StartAtTimeInfo__storage_, startTimeMs),
         .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
-        .dataType = GPBDataTypeBytes,
+        .dataType = GPBDataTypeUInt64,
       },
       {
-        .name = "documentTypeName",
+        .name = "startTimeIncluded",
         .dataTypeSpecific.clazz = Nil,
-        .number = GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0_FieldNumber_DocumentTypeName,
+        .number = GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0_StartAtTimeInfo_FieldNumber_StartTimeIncluded,
         .hasIndex = 1,
-        .offset = (uint32_t)offsetof(GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0__storage_, documentTypeName),
-        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
-        .dataType = GPBDataTypeString,
-      },
-      {
-        .name = "indexName",
-        .dataTypeSpecific.clazz = Nil,
-        .number = GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0_FieldNumber_IndexName,
-        .hasIndex = 2,
-        .offset = (uint32_t)offsetof(GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0__storage_, indexName),
-        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
-        .dataType = GPBDataTypeString,
-      },
-      {
-        .name = "indexValuesArray",
-        .dataTypeSpecific.clazz = Nil,
-        .number = GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0_FieldNumber_IndexValuesArray,
-        .hasIndex = GPBNoHasBit,
-        .offset = (uint32_t)offsetof(GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0__storage_, indexValuesArray),
-        .flags = GPBFieldRepeated,
-        .dataType = GPBDataTypeBytes,
-      },
-      {
-        .name = "contestantId",
-        .dataTypeSpecific.clazz = Nil,
-        .number = GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0_FieldNumber_ContestantId,
-        .hasIndex = 3,
-        .offset = (uint32_t)offsetof(GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0__storage_, contestantId),
-        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
-        .dataType = GPBDataTypeBytes,
-      },
-      {
-        .name = "startAtIdentifierInfo",
-        .dataTypeSpecific.clazz = GPBObjCClass(GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0_StartAtIdentifierInfo),
-        .number = GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0_FieldNumber_StartAtIdentifierInfo,
-        .hasIndex = 4,
-        .offset = (uint32_t)offsetof(GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0__storage_, startAtIdentifierInfo),
-        .flags = GPBFieldOptional,
-        .dataType = GPBDataTypeMessage,
-      },
-      {
-        .name = "count",
-        .dataTypeSpecific.clazz = Nil,
-        .number = GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0_FieldNumber_Count,
-        .hasIndex = 5,
-        .offset = (uint32_t)offsetof(GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0__storage_, count),
-        .flags = GPBFieldOptional,
-        .dataType = GPBDataTypeUInt32,
-      },
-      {
-        .name = "orderAscending",
-        .dataTypeSpecific.clazz = Nil,
-        .number = GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0_FieldNumber_OrderAscending,
-        .hasIndex = 6,
-        .offset = 7,  // Stored in _has_storage_ to save space.
-        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
-        .dataType = GPBDataTypeBool,
-      },
-      {
-        .name = "prove",
-        .dataTypeSpecific.clazz = Nil,
-        .number = GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0_FieldNumber_Prove,
-        .hasIndex = 8,
-        .offset = 9,  // Stored in _has_storage_ to save space.
+        .offset = 2,  // Stored in _has_storage_ to save space.
         .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
         .dataType = GPBDataTypeBool,
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0 class]
+        [GPBDescriptor allocDescriptorForClass:[GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0_StartAtTimeInfo class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0__storage_)
+                                   storageSize:sizeof(GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0_StartAtTimeInfo__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
-    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetContestedResourceVotersForIdentityRequest)];
+    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0)];
     #if defined(DEBUG) && DEBUG
       NSAssert(descriptor == nil, @"Startup recursed!");
     #endif  // DEBUG
@@ -9186,17 +8912,17 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-#pragma mark - GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0_StartAtIdentifierInfo
+#pragma mark - GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0_EndAtTimeInfo
 
-@implementation GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0_StartAtIdentifierInfo
+@implementation GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0_EndAtTimeInfo
 
-@dynamic startIdentifier;
-@dynamic startIdentifierIncluded;
+@dynamic endTimeMs;
+@dynamic endTimeIncluded;
 
-typedef struct GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0_StartAtIdentifierInfo__storage_ {
+typedef struct GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0_EndAtTimeInfo__storage_ {
   uint32_t _has_storage_[1];
-  NSData *startIdentifier;
-} GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0_StartAtIdentifierInfo__storage_;
+  uint64_t endTimeMs;
+} GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0_EndAtTimeInfo__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -9205,18 +8931,18 @@ + (GPBDescriptor *)descriptor {
   if (!descriptor) {
     static GPBMessageFieldDescription fields[] = {
       {
-        .name = "startIdentifier",
+        .name = "endTimeMs",
         .dataTypeSpecific.clazz = Nil,
-        .number = GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0_StartAtIdentifierInfo_FieldNumber_StartIdentifier,
+        .number = GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0_EndAtTimeInfo_FieldNumber_EndTimeMs,
         .hasIndex = 0,
-        .offset = (uint32_t)offsetof(GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0_StartAtIdentifierInfo__storage_, startIdentifier),
+        .offset = (uint32_t)offsetof(GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0_EndAtTimeInfo__storage_, endTimeMs),
         .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
-        .dataType = GPBDataTypeBytes,
+        .dataType = GPBDataTypeUInt64,
       },
       {
-        .name = "startIdentifierIncluded",
+        .name = "endTimeIncluded",
         .dataTypeSpecific.clazz = Nil,
-        .number = GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0_StartAtIdentifierInfo_FieldNumber_StartIdentifierIncluded,
+        .number = GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0_EndAtTimeInfo_FieldNumber_EndTimeIncluded,
         .hasIndex = 1,
         .offset = 2,  // Stored in _has_storage_ to save space.
         .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
@@ -9224,14 +8950,14 @@ + (GPBDescriptor *)descriptor {
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0_StartAtIdentifierInfo class]
+        [GPBDescriptor allocDescriptorForClass:[GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0_EndAtTimeInfo class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0_StartAtIdentifierInfo__storage_)
+                                   storageSize:sizeof(GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0_EndAtTimeInfo__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
-    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0)];
+    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetVotePollsByEndDateRequest_GetVotePollsByEndDateRequestV0)];
     #if defined(DEBUG) && DEBUG
       NSAssert(descriptor == nil, @"Startup recursed!");
     #endif  // DEBUG
@@ -9242,17 +8968,17 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-#pragma mark - GetContestedResourceVotersForIdentityResponse
+#pragma mark - GetVotePollsByEndDateResponse
 
-@implementation GetContestedResourceVotersForIdentityResponse
+@implementation GetVotePollsByEndDateResponse
 
 @dynamic versionOneOfCase;
 @dynamic v0;
 
-typedef struct GetContestedResourceVotersForIdentityResponse__storage_ {
+typedef struct GetVotePollsByEndDateResponse__storage_ {
   uint32_t _has_storage_[2];
-  GetContestedResourceVotersForIdentityResponse_GetContestedResourceVotersForIdentityResponseV0 *v0;
-} GetContestedResourceVotersForIdentityResponse__storage_;
+  GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0 *v0;
+} GetVotePollsByEndDateResponse__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -9262,21 +8988,21 @@ + (GPBDescriptor *)descriptor {
     static GPBMessageFieldDescription fields[] = {
       {
         .name = "v0",
-        .dataTypeSpecific.clazz = GPBObjCClass(GetContestedResourceVotersForIdentityResponse_GetContestedResourceVotersForIdentityResponseV0),
-        .number = GetContestedResourceVotersForIdentityResponse_FieldNumber_V0,
+        .dataTypeSpecific.clazz = GPBObjCClass(GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0),
+        .number = GetVotePollsByEndDateResponse_FieldNumber_V0,
         .hasIndex = -1,
-        .offset = (uint32_t)offsetof(GetContestedResourceVotersForIdentityResponse__storage_, v0),
+        .offset = (uint32_t)offsetof(GetVotePollsByEndDateResponse__storage_, v0),
         .flags = GPBFieldOptional,
         .dataType = GPBDataTypeMessage,
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetContestedResourceVotersForIdentityResponse class]
+        [GPBDescriptor allocDescriptorForClass:[GetVotePollsByEndDateResponse class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetContestedResourceVotersForIdentityResponse__storage_)
+                                   storageSize:sizeof(GetVotePollsByEndDateResponse__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
     static const char *oneofs[] = {
       "version",
@@ -9294,26 +9020,26 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-void GetContestedResourceVotersForIdentityResponse_ClearVersionOneOfCase(GetContestedResourceVotersForIdentityResponse *message) {
-  GPBDescriptor *descriptor = [GetContestedResourceVotersForIdentityResponse descriptor];
-  GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0];
+void GetVotePollsByEndDateResponse_ClearVersionOneOfCase(GetVotePollsByEndDateResponse *message) {
+  GPBDescriptor *descriptor = [GetVotePollsByEndDateResponse descriptor];
+  GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0];
   GPBClearOneof(message, oneof);
 }
-#pragma mark - GetContestedResourceVotersForIdentityResponse_GetContestedResourceVotersForIdentityResponseV0
+#pragma mark - GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0
 
-@implementation GetContestedResourceVotersForIdentityResponse_GetContestedResourceVotersForIdentityResponseV0
+@implementation GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0
 
 @dynamic resultOneOfCase;
-@dynamic contestedResourceVoters;
+@dynamic votePollsByTimestamps;
 @dynamic proof;
 @dynamic hasMetadata, metadata;
 
-typedef struct GetContestedResourceVotersForIdentityResponse_GetContestedResourceVotersForIdentityResponseV0__storage_ {
+typedef struct GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0__storage_ {
   uint32_t _has_storage_[2];
-  GetContestedResourceVotersForIdentityResponse_GetContestedResourceVotersForIdentityResponseV0_ContestedResourceVoters *contestedResourceVoters;
+  GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0_SerializedVotePollsByTimestamps *votePollsByTimestamps;
   Proof *proof;
   ResponseMetadata *metadata;
-} GetContestedResourceVotersForIdentityResponse_GetContestedResourceVotersForIdentityResponseV0__storage_;
+} GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -9322,40 +9048,40 @@ + (GPBDescriptor *)descriptor {
   if (!descriptor) {
     static GPBMessageFieldDescription fields[] = {
       {
-        .name = "contestedResourceVoters",
-        .dataTypeSpecific.clazz = GPBObjCClass(GetContestedResourceVotersForIdentityResponse_GetContestedResourceVotersForIdentityResponseV0_ContestedResourceVoters),
-        .number = GetContestedResourceVotersForIdentityResponse_GetContestedResourceVotersForIdentityResponseV0_FieldNumber_ContestedResourceVoters,
+        .name = "votePollsByTimestamps",
+        .dataTypeSpecific.clazz = GPBObjCClass(GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0_SerializedVotePollsByTimestamps),
+        .number = GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0_FieldNumber_VotePollsByTimestamps,
         .hasIndex = -1,
-        .offset = (uint32_t)offsetof(GetContestedResourceVotersForIdentityResponse_GetContestedResourceVotersForIdentityResponseV0__storage_, contestedResourceVoters),
+        .offset = (uint32_t)offsetof(GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0__storage_, votePollsByTimestamps),
         .flags = GPBFieldOptional,
         .dataType = GPBDataTypeMessage,
       },
       {
         .name = "proof",
         .dataTypeSpecific.clazz = GPBObjCClass(Proof),
-        .number = GetContestedResourceVotersForIdentityResponse_GetContestedResourceVotersForIdentityResponseV0_FieldNumber_Proof,
+        .number = GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0_FieldNumber_Proof,
         .hasIndex = -1,
-        .offset = (uint32_t)offsetof(GetContestedResourceVotersForIdentityResponse_GetContestedResourceVotersForIdentityResponseV0__storage_, proof),
+        .offset = (uint32_t)offsetof(GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0__storage_, proof),
         .flags = GPBFieldOptional,
         .dataType = GPBDataTypeMessage,
       },
       {
         .name = "metadata",
         .dataTypeSpecific.clazz = GPBObjCClass(ResponseMetadata),
-        .number = GetContestedResourceVotersForIdentityResponse_GetContestedResourceVotersForIdentityResponseV0_FieldNumber_Metadata,
+        .number = GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0_FieldNumber_Metadata,
         .hasIndex = 0,
-        .offset = (uint32_t)offsetof(GetContestedResourceVotersForIdentityResponse_GetContestedResourceVotersForIdentityResponseV0__storage_, metadata),
+        .offset = (uint32_t)offsetof(GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0__storage_, metadata),
         .flags = GPBFieldOptional,
         .dataType = GPBDataTypeMessage,
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetContestedResourceVotersForIdentityResponse_GetContestedResourceVotersForIdentityResponseV0 class]
+        [GPBDescriptor allocDescriptorForClass:[GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0 class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetContestedResourceVotersForIdentityResponse_GetContestedResourceVotersForIdentityResponseV0__storage_)
+                                   storageSize:sizeof(GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
     static const char *oneofs[] = {
       "result",
@@ -9363,7 +9089,7 @@ + (GPBDescriptor *)descriptor {
     [localDescriptor setupOneofs:oneofs
                            count:(uint32_t)(sizeof(oneofs) / sizeof(char*))
                    firstHasIndex:-1];
-    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetContestedResourceVotersForIdentityResponse)];
+    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetVotePollsByEndDateResponse)];
     #if defined(DEBUG) && DEBUG
       NSAssert(descriptor == nil, @"Startup recursed!");
     #endif  // DEBUG
@@ -9374,22 +9100,23 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-void GetContestedResourceVotersForIdentityResponse_GetContestedResourceVotersForIdentityResponseV0_ClearResultOneOfCase(GetContestedResourceVotersForIdentityResponse_GetContestedResourceVotersForIdentityResponseV0 *message) {
-  GPBDescriptor *descriptor = [GetContestedResourceVotersForIdentityResponse_GetContestedResourceVotersForIdentityResponseV0 descriptor];
+void GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0_ClearResultOneOfCase(GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0 *message) {
+  GPBDescriptor *descriptor = [GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0 descriptor];
   GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0];
   GPBClearOneof(message, oneof);
 }
-#pragma mark - GetContestedResourceVotersForIdentityResponse_GetContestedResourceVotersForIdentityResponseV0_ContestedResourceVoters
+#pragma mark - GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0_SerializedVotePollsByTimestamp
 
-@implementation GetContestedResourceVotersForIdentityResponse_GetContestedResourceVotersForIdentityResponseV0_ContestedResourceVoters
+@implementation GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0_SerializedVotePollsByTimestamp
 
-@dynamic votersArray, votersArray_Count;
-@dynamic finishedResults;
+@dynamic timestamp;
+@dynamic serializedVotePollsArray, serializedVotePollsArray_Count;
 
-typedef struct GetContestedResourceVotersForIdentityResponse_GetContestedResourceVotersForIdentityResponseV0_ContestedResourceVoters__storage_ {
+typedef struct GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0_SerializedVotePollsByTimestamp__storage_ {
   uint32_t _has_storage_[1];
-  NSMutableArray *votersArray;
-} GetContestedResourceVotersForIdentityResponse_GetContestedResourceVotersForIdentityResponseV0_ContestedResourceVoters__storage_;
+  NSMutableArray *serializedVotePollsArray;
+  uint64_t timestamp;
+} GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0_SerializedVotePollsByTimestamp__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -9398,18 +9125,74 @@ + (GPBDescriptor *)descriptor {
   if (!descriptor) {
     static GPBMessageFieldDescription fields[] = {
       {
-        .name = "votersArray",
+        .name = "timestamp",
         .dataTypeSpecific.clazz = Nil,
-        .number = GetContestedResourceVotersForIdentityResponse_GetContestedResourceVotersForIdentityResponseV0_ContestedResourceVoters_FieldNumber_VotersArray,
+        .number = GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0_SerializedVotePollsByTimestamp_FieldNumber_Timestamp,
+        .hasIndex = 0,
+        .offset = (uint32_t)offsetof(GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0_SerializedVotePollsByTimestamp__storage_, timestamp),
+        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
+        .dataType = GPBDataTypeUInt64,
+      },
+      {
+        .name = "serializedVotePollsArray",
+        .dataTypeSpecific.clazz = Nil,
+        .number = GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0_SerializedVotePollsByTimestamp_FieldNumber_SerializedVotePollsArray,
         .hasIndex = GPBNoHasBit,
-        .offset = (uint32_t)offsetof(GetContestedResourceVotersForIdentityResponse_GetContestedResourceVotersForIdentityResponseV0_ContestedResourceVoters__storage_, votersArray),
+        .offset = (uint32_t)offsetof(GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0_SerializedVotePollsByTimestamp__storage_, serializedVotePollsArray),
         .flags = GPBFieldRepeated,
         .dataType = GPBDataTypeBytes,
       },
+    };
+    GPBDescriptor *localDescriptor =
+        [GPBDescriptor allocDescriptorForClass:[GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0_SerializedVotePollsByTimestamp class]
+                                     rootClass:[PlatformRoot class]
+                                          file:PlatformRoot_FileDescriptor()
+                                        fields:fields
+                                    fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
+                                   storageSize:sizeof(GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0_SerializedVotePollsByTimestamp__storage_)
+                                         flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
+    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0)];
+    #if defined(DEBUG) && DEBUG
+      NSAssert(descriptor == nil, @"Startup recursed!");
+    #endif  // DEBUG
+    descriptor = localDescriptor;
+  }
+  return descriptor;
+}
+
+@end
+
+#pragma mark - GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0_SerializedVotePollsByTimestamps
+
+@implementation GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0_SerializedVotePollsByTimestamps
+
+@dynamic votePollsByTimestampsArray, votePollsByTimestampsArray_Count;
+@dynamic finishedResults;
+
+typedef struct GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0_SerializedVotePollsByTimestamps__storage_ {
+  uint32_t _has_storage_[1];
+  NSMutableArray *votePollsByTimestampsArray;
+} GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0_SerializedVotePollsByTimestamps__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 = "votePollsByTimestampsArray",
+        .dataTypeSpecific.clazz = GPBObjCClass(GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0_SerializedVotePollsByTimestamp),
+        .number = GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0_SerializedVotePollsByTimestamps_FieldNumber_VotePollsByTimestampsArray,
+        .hasIndex = GPBNoHasBit,
+        .offset = (uint32_t)offsetof(GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0_SerializedVotePollsByTimestamps__storage_, votePollsByTimestampsArray),
+        .flags = GPBFieldRepeated,
+        .dataType = GPBDataTypeMessage,
+      },
       {
         .name = "finishedResults",
         .dataTypeSpecific.clazz = Nil,
-        .number = GetContestedResourceVotersForIdentityResponse_GetContestedResourceVotersForIdentityResponseV0_ContestedResourceVoters_FieldNumber_FinishedResults,
+        .number = GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0_SerializedVotePollsByTimestamps_FieldNumber_FinishedResults,
         .hasIndex = 0,
         .offset = 1,  // Stored in _has_storage_ to save space.
         .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
@@ -9417,14 +9200,14 @@ + (GPBDescriptor *)descriptor {
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetContestedResourceVotersForIdentityResponse_GetContestedResourceVotersForIdentityResponseV0_ContestedResourceVoters class]
+        [GPBDescriptor allocDescriptorForClass:[GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0_SerializedVotePollsByTimestamps class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetContestedResourceVotersForIdentityResponse_GetContestedResourceVotersForIdentityResponseV0_ContestedResourceVoters__storage_)
+                                   storageSize:sizeof(GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0_SerializedVotePollsByTimestamps__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
-    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetContestedResourceVotersForIdentityResponse_GetContestedResourceVotersForIdentityResponseV0)];
+    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetVotePollsByEndDateResponse_GetVotePollsByEndDateResponseV0)];
     #if defined(DEBUG) && DEBUG
       NSAssert(descriptor == nil, @"Startup recursed!");
     #endif  // DEBUG
@@ -9435,17 +9218,17 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-#pragma mark - GetContestedResourceIdentityVotesRequest
+#pragma mark - GetContestedResourceVoteStateRequest
 
-@implementation GetContestedResourceIdentityVotesRequest
+@implementation GetContestedResourceVoteStateRequest
 
 @dynamic versionOneOfCase;
 @dynamic v0;
 
-typedef struct GetContestedResourceIdentityVotesRequest__storage_ {
+typedef struct GetContestedResourceVoteStateRequest__storage_ {
   uint32_t _has_storage_[2];
-  GetContestedResourceIdentityVotesRequest_GetContestedResourceIdentityVotesRequestV0 *v0;
-} GetContestedResourceIdentityVotesRequest__storage_;
+  GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0 *v0;
+} GetContestedResourceVoteStateRequest__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -9455,21 +9238,21 @@ + (GPBDescriptor *)descriptor {
     static GPBMessageFieldDescription fields[] = {
       {
         .name = "v0",
-        .dataTypeSpecific.clazz = GPBObjCClass(GetContestedResourceIdentityVotesRequest_GetContestedResourceIdentityVotesRequestV0),
-        .number = GetContestedResourceIdentityVotesRequest_FieldNumber_V0,
+        .dataTypeSpecific.clazz = GPBObjCClass(GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0),
+        .number = GetContestedResourceVoteStateRequest_FieldNumber_V0,
         .hasIndex = -1,
-        .offset = (uint32_t)offsetof(GetContestedResourceIdentityVotesRequest__storage_, v0),
+        .offset = (uint32_t)offsetof(GetContestedResourceVoteStateRequest__storage_, v0),
         .flags = GPBFieldOptional,
         .dataType = GPBDataTypeMessage,
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetContestedResourceIdentityVotesRequest class]
+        [GPBDescriptor allocDescriptorForClass:[GetContestedResourceVoteStateRequest class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetContestedResourceIdentityVotesRequest__storage_)
+                                   storageSize:sizeof(GetContestedResourceVoteStateRequest__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
     static const char *oneofs[] = {
       "version",
@@ -9487,29 +9270,35 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-void GetContestedResourceIdentityVotesRequest_ClearVersionOneOfCase(GetContestedResourceIdentityVotesRequest *message) {
-  GPBDescriptor *descriptor = [GetContestedResourceIdentityVotesRequest descriptor];
+void GetContestedResourceVoteStateRequest_ClearVersionOneOfCase(GetContestedResourceVoteStateRequest *message) {
+  GPBDescriptor *descriptor = [GetContestedResourceVoteStateRequest descriptor];
   GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0];
   GPBClearOneof(message, oneof);
 }
-#pragma mark - GetContestedResourceIdentityVotesRequest_GetContestedResourceIdentityVotesRequestV0
+#pragma mark - GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0
 
-@implementation GetContestedResourceIdentityVotesRequest_GetContestedResourceIdentityVotesRequestV0
+@implementation GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0
 
-@dynamic identityId;
-@dynamic hasLimit, limit;
-@dynamic hasOffset, offset;
-@dynamic orderAscending;
-@dynamic hasStartAtVotePollIdInfo, startAtVotePollIdInfo;
+@dynamic contractId;
+@dynamic documentTypeName;
+@dynamic indexName;
+@dynamic indexValuesArray, indexValuesArray_Count;
+@dynamic resultType;
+@dynamic allowIncludeLockedAndAbstainingVoteTally;
+@dynamic hasStartAtIdentifierInfo, startAtIdentifierInfo;
+@dynamic hasCount, count;
 @dynamic prove;
 
-typedef struct GetContestedResourceIdentityVotesRequest_GetContestedResourceIdentityVotesRequestV0__storage_ {
+typedef struct GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0__storage_ {
   uint32_t _has_storage_[1];
-  NSData *identityId;
-  GPBUInt32Value *limit;
-  GPBUInt32Value *offset;
-  GetContestedResourceIdentityVotesRequest_GetContestedResourceIdentityVotesRequestV0_StartAtVotePollIdInfo *startAtVotePollIdInfo;
-} GetContestedResourceIdentityVotesRequest_GetContestedResourceIdentityVotesRequestV0__storage_;
+  GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0_ResultType resultType;
+  uint32_t count;
+  NSData *contractId;
+  NSString *documentTypeName;
+  NSString *indexName;
+  NSMutableArray *indexValuesArray;
+  GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0_StartAtIdentifierInfo *startAtIdentifierInfo;
+} GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -9518,69 +9307,96 @@ + (GPBDescriptor *)descriptor {
   if (!descriptor) {
     static GPBMessageFieldDescription fields[] = {
       {
-        .name = "identityId",
+        .name = "contractId",
         .dataTypeSpecific.clazz = Nil,
-        .number = GetContestedResourceIdentityVotesRequest_GetContestedResourceIdentityVotesRequestV0_FieldNumber_IdentityId,
+        .number = GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0_FieldNumber_ContractId,
         .hasIndex = 0,
-        .offset = (uint32_t)offsetof(GetContestedResourceIdentityVotesRequest_GetContestedResourceIdentityVotesRequestV0__storage_, identityId),
+        .offset = (uint32_t)offsetof(GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0__storage_, contractId),
         .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
         .dataType = GPBDataTypeBytes,
       },
       {
-        .name = "limit",
-        .dataTypeSpecific.clazz = GPBObjCClass(GPBUInt32Value),
-        .number = GetContestedResourceIdentityVotesRequest_GetContestedResourceIdentityVotesRequestV0_FieldNumber_Limit,
+        .name = "documentTypeName",
+        .dataTypeSpecific.clazz = Nil,
+        .number = GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0_FieldNumber_DocumentTypeName,
         .hasIndex = 1,
-        .offset = (uint32_t)offsetof(GetContestedResourceIdentityVotesRequest_GetContestedResourceIdentityVotesRequestV0__storage_, limit),
-        .flags = GPBFieldOptional,
-        .dataType = GPBDataTypeMessage,
+        .offset = (uint32_t)offsetof(GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0__storage_, documentTypeName),
+        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
+        .dataType = GPBDataTypeString,
       },
       {
-        .name = "offset",
-        .dataTypeSpecific.clazz = GPBObjCClass(GPBUInt32Value),
-        .number = GetContestedResourceIdentityVotesRequest_GetContestedResourceIdentityVotesRequestV0_FieldNumber_Offset,
+        .name = "indexName",
+        .dataTypeSpecific.clazz = Nil,
+        .number = GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0_FieldNumber_IndexName,
         .hasIndex = 2,
-        .offset = (uint32_t)offsetof(GetContestedResourceIdentityVotesRequest_GetContestedResourceIdentityVotesRequestV0__storage_, offset),
-        .flags = GPBFieldOptional,
-        .dataType = GPBDataTypeMessage,
+        .offset = (uint32_t)offsetof(GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0__storage_, indexName),
+        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
+        .dataType = GPBDataTypeString,
       },
       {
-        .name = "orderAscending",
+        .name = "indexValuesArray",
         .dataTypeSpecific.clazz = Nil,
-        .number = GetContestedResourceIdentityVotesRequest_GetContestedResourceIdentityVotesRequestV0_FieldNumber_OrderAscending,
+        .number = GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0_FieldNumber_IndexValuesArray,
+        .hasIndex = GPBNoHasBit,
+        .offset = (uint32_t)offsetof(GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0__storage_, indexValuesArray),
+        .flags = GPBFieldRepeated,
+        .dataType = GPBDataTypeBytes,
+      },
+      {
+        .name = "resultType",
+        .dataTypeSpecific.enumDescFunc = GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0_ResultType_EnumDescriptor,
+        .number = GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0_FieldNumber_ResultType,
         .hasIndex = 3,
-        .offset = 4,  // Stored in _has_storage_ to save space.
+        .offset = (uint32_t)offsetof(GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0__storage_, resultType),
+        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldHasEnumDescriptor | GPBFieldClearHasIvarOnZero),
+        .dataType = GPBDataTypeEnum,
+      },
+      {
+        .name = "allowIncludeLockedAndAbstainingVoteTally",
+        .dataTypeSpecific.clazz = Nil,
+        .number = GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0_FieldNumber_AllowIncludeLockedAndAbstainingVoteTally,
+        .hasIndex = 4,
+        .offset = 5,  // Stored in _has_storage_ to save space.
         .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
         .dataType = GPBDataTypeBool,
       },
       {
-        .name = "startAtVotePollIdInfo",
-        .dataTypeSpecific.clazz = GPBObjCClass(GetContestedResourceIdentityVotesRequest_GetContestedResourceIdentityVotesRequestV0_StartAtVotePollIdInfo),
-        .number = GetContestedResourceIdentityVotesRequest_GetContestedResourceIdentityVotesRequestV0_FieldNumber_StartAtVotePollIdInfo,
-        .hasIndex = 5,
-        .offset = (uint32_t)offsetof(GetContestedResourceIdentityVotesRequest_GetContestedResourceIdentityVotesRequestV0__storage_, startAtVotePollIdInfo),
+        .name = "startAtIdentifierInfo",
+        .dataTypeSpecific.clazz = GPBObjCClass(GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0_StartAtIdentifierInfo),
+        .number = GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0_FieldNumber_StartAtIdentifierInfo,
+        .hasIndex = 6,
+        .offset = (uint32_t)offsetof(GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0__storage_, startAtIdentifierInfo),
         .flags = GPBFieldOptional,
         .dataType = GPBDataTypeMessage,
       },
+      {
+        .name = "count",
+        .dataTypeSpecific.clazz = Nil,
+        .number = GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0_FieldNumber_Count,
+        .hasIndex = 7,
+        .offset = (uint32_t)offsetof(GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0__storage_, count),
+        .flags = GPBFieldOptional,
+        .dataType = GPBDataTypeUInt32,
+      },
       {
         .name = "prove",
         .dataTypeSpecific.clazz = Nil,
-        .number = GetContestedResourceIdentityVotesRequest_GetContestedResourceIdentityVotesRequestV0_FieldNumber_Prove,
-        .hasIndex = 6,
-        .offset = 7,  // Stored in _has_storage_ to save space.
+        .number = GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0_FieldNumber_Prove,
+        .hasIndex = 8,
+        .offset = 9,  // Stored in _has_storage_ to save space.
         .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
         .dataType = GPBDataTypeBool,
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetContestedResourceIdentityVotesRequest_GetContestedResourceIdentityVotesRequestV0 class]
+        [GPBDescriptor allocDescriptorForClass:[GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0 class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetContestedResourceIdentityVotesRequest_GetContestedResourceIdentityVotesRequestV0__storage_)
+                                   storageSize:sizeof(GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
-    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetContestedResourceIdentityVotesRequest)];
+    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetContestedResourceVoteStateRequest)];
     #if defined(DEBUG) && DEBUG
       NSAssert(descriptor == nil, @"Startup recursed!");
     #endif  // DEBUG
@@ -9591,17 +9407,67 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-#pragma mark - GetContestedResourceIdentityVotesRequest_GetContestedResourceIdentityVotesRequestV0_StartAtVotePollIdInfo
+int32_t GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0_ResultType_RawValue(GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0 *message) {
+  GPBDescriptor *descriptor = [GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0 descriptor];
+  GPBFieldDescriptor *field = [descriptor fieldWithNumber:GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0_FieldNumber_ResultType];
+  return GPBGetMessageRawEnumField(message, field);
+}
 
-@implementation GetContestedResourceIdentityVotesRequest_GetContestedResourceIdentityVotesRequestV0_StartAtVotePollIdInfo
+void SetGetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0_ResultType_RawValue(GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0 *message, int32_t value) {
+  GPBDescriptor *descriptor = [GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0 descriptor];
+  GPBFieldDescriptor *field = [descriptor fieldWithNumber:GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0_FieldNumber_ResultType];
+  GPBSetMessageRawEnumField(message, field, value);
+}
 
-@dynamic startAtPollIdentifier;
-@dynamic startPollIdentifierIncluded;
+#pragma mark - Enum GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0_ResultType
 
-typedef struct GetContestedResourceIdentityVotesRequest_GetContestedResourceIdentityVotesRequestV0_StartAtVotePollIdInfo__storage_ {
+GPBEnumDescriptor *GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0_ResultType_EnumDescriptor(void) {
+  static _Atomic(GPBEnumDescriptor*) descriptor = nil;
+  if (!descriptor) {
+    static const char *valueNames =
+        "Documents\000VoteTally\000DocumentsAndVoteTall"
+        "y\000";
+    static const int32_t values[] = {
+        GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0_ResultType_Documents,
+        GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0_ResultType_VoteTally,
+        GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0_ResultType_DocumentsAndVoteTally,
+    };
+    GPBEnumDescriptor *worker =
+        [GPBEnumDescriptor allocDescriptorForName:GPBNSStringifySymbol(GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0_ResultType)
+                                       valueNames:valueNames
+                                           values:values
+                                            count:(uint32_t)(sizeof(values) / sizeof(int32_t))
+                                     enumVerifier:GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0_ResultType_IsValidValue];
+    GPBEnumDescriptor *expected = nil;
+    if (!atomic_compare_exchange_strong(&descriptor, &expected, worker)) {
+      [worker release];
+    }
+  }
+  return descriptor;
+}
+
+BOOL GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0_ResultType_IsValidValue(int32_t value__) {
+  switch (value__) {
+    case GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0_ResultType_Documents:
+    case GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0_ResultType_VoteTally:
+    case GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0_ResultType_DocumentsAndVoteTally:
+      return YES;
+    default:
+      return NO;
+  }
+}
+
+#pragma mark - GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0_StartAtIdentifierInfo
+
+@implementation GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0_StartAtIdentifierInfo
+
+@dynamic startIdentifier;
+@dynamic startIdentifierIncluded;
+
+typedef struct GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0_StartAtIdentifierInfo__storage_ {
   uint32_t _has_storage_[1];
-  NSData *startAtPollIdentifier;
-} GetContestedResourceIdentityVotesRequest_GetContestedResourceIdentityVotesRequestV0_StartAtVotePollIdInfo__storage_;
+  NSData *startIdentifier;
+} GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0_StartAtIdentifierInfo__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -9610,18 +9476,18 @@ + (GPBDescriptor *)descriptor {
   if (!descriptor) {
     static GPBMessageFieldDescription fields[] = {
       {
-        .name = "startAtPollIdentifier",
+        .name = "startIdentifier",
         .dataTypeSpecific.clazz = Nil,
-        .number = GetContestedResourceIdentityVotesRequest_GetContestedResourceIdentityVotesRequestV0_StartAtVotePollIdInfo_FieldNumber_StartAtPollIdentifier,
+        .number = GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0_StartAtIdentifierInfo_FieldNumber_StartIdentifier,
         .hasIndex = 0,
-        .offset = (uint32_t)offsetof(GetContestedResourceIdentityVotesRequest_GetContestedResourceIdentityVotesRequestV0_StartAtVotePollIdInfo__storage_, startAtPollIdentifier),
+        .offset = (uint32_t)offsetof(GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0_StartAtIdentifierInfo__storage_, startIdentifier),
         .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
         .dataType = GPBDataTypeBytes,
       },
       {
-        .name = "startPollIdentifierIncluded",
+        .name = "startIdentifierIncluded",
         .dataTypeSpecific.clazz = Nil,
-        .number = GetContestedResourceIdentityVotesRequest_GetContestedResourceIdentityVotesRequestV0_StartAtVotePollIdInfo_FieldNumber_StartPollIdentifierIncluded,
+        .number = GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0_StartAtIdentifierInfo_FieldNumber_StartIdentifierIncluded,
         .hasIndex = 1,
         .offset = 2,  // Stored in _has_storage_ to save space.
         .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
@@ -9629,14 +9495,14 @@ + (GPBDescriptor *)descriptor {
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetContestedResourceIdentityVotesRequest_GetContestedResourceIdentityVotesRequestV0_StartAtVotePollIdInfo class]
+        [GPBDescriptor allocDescriptorForClass:[GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0_StartAtIdentifierInfo class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetContestedResourceIdentityVotesRequest_GetContestedResourceIdentityVotesRequestV0_StartAtVotePollIdInfo__storage_)
+                                   storageSize:sizeof(GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0_StartAtIdentifierInfo__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
-    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetContestedResourceIdentityVotesRequest_GetContestedResourceIdentityVotesRequestV0)];
+    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetContestedResourceVoteStateRequest_GetContestedResourceVoteStateRequestV0)];
     #if defined(DEBUG) && DEBUG
       NSAssert(descriptor == nil, @"Startup recursed!");
     #endif  // DEBUG
@@ -9647,17 +9513,17 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-#pragma mark - GetContestedResourceIdentityVotesResponse
+#pragma mark - GetContestedResourceVoteStateResponse
 
-@implementation GetContestedResourceIdentityVotesResponse
+@implementation GetContestedResourceVoteStateResponse
 
 @dynamic versionOneOfCase;
 @dynamic v0;
 
-typedef struct GetContestedResourceIdentityVotesResponse__storage_ {
+typedef struct GetContestedResourceVoteStateResponse__storage_ {
   uint32_t _has_storage_[2];
-  GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0 *v0;
-} GetContestedResourceIdentityVotesResponse__storage_;
+  GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0 *v0;
+} GetContestedResourceVoteStateResponse__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -9667,21 +9533,21 @@ + (GPBDescriptor *)descriptor {
     static GPBMessageFieldDescription fields[] = {
       {
         .name = "v0",
-        .dataTypeSpecific.clazz = GPBObjCClass(GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0),
-        .number = GetContestedResourceIdentityVotesResponse_FieldNumber_V0,
+        .dataTypeSpecific.clazz = GPBObjCClass(GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0),
+        .number = GetContestedResourceVoteStateResponse_FieldNumber_V0,
         .hasIndex = -1,
-        .offset = (uint32_t)offsetof(GetContestedResourceIdentityVotesResponse__storage_, v0),
+        .offset = (uint32_t)offsetof(GetContestedResourceVoteStateResponse__storage_, v0),
         .flags = GPBFieldOptional,
         .dataType = GPBDataTypeMessage,
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetContestedResourceIdentityVotesResponse class]
+        [GPBDescriptor allocDescriptorForClass:[GetContestedResourceVoteStateResponse class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetContestedResourceIdentityVotesResponse__storage_)
+                                   storageSize:sizeof(GetContestedResourceVoteStateResponse__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
     static const char *oneofs[] = {
       "version",
@@ -9699,26 +9565,26 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-void GetContestedResourceIdentityVotesResponse_ClearVersionOneOfCase(GetContestedResourceIdentityVotesResponse *message) {
-  GPBDescriptor *descriptor = [GetContestedResourceIdentityVotesResponse descriptor];
+void GetContestedResourceVoteStateResponse_ClearVersionOneOfCase(GetContestedResourceVoteStateResponse *message) {
+  GPBDescriptor *descriptor = [GetContestedResourceVoteStateResponse descriptor];
   GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0];
   GPBClearOneof(message, oneof);
 }
-#pragma mark - GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0
+#pragma mark - GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0
 
-@implementation GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0
+@implementation GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0
 
 @dynamic resultOneOfCase;
-@dynamic votes;
+@dynamic contestedResourceContenders;
 @dynamic proof;
 @dynamic hasMetadata, metadata;
 
-typedef struct GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0__storage_ {
+typedef struct GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0__storage_ {
   uint32_t _has_storage_[2];
-  GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ContestedResourceIdentityVotes *votes;
+  GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_ContestedResourceContenders *contestedResourceContenders;
   Proof *proof;
   ResponseMetadata *metadata;
-} GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0__storage_;
+} GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -9727,40 +9593,40 @@ + (GPBDescriptor *)descriptor {
   if (!descriptor) {
     static GPBMessageFieldDescription fields[] = {
       {
-        .name = "votes",
-        .dataTypeSpecific.clazz = GPBObjCClass(GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ContestedResourceIdentityVotes),
-        .number = GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_FieldNumber_Votes,
+        .name = "contestedResourceContenders",
+        .dataTypeSpecific.clazz = GPBObjCClass(GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_ContestedResourceContenders),
+        .number = GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_FieldNumber_ContestedResourceContenders,
         .hasIndex = -1,
-        .offset = (uint32_t)offsetof(GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0__storage_, votes),
+        .offset = (uint32_t)offsetof(GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0__storage_, contestedResourceContenders),
         .flags = GPBFieldOptional,
         .dataType = GPBDataTypeMessage,
       },
       {
         .name = "proof",
         .dataTypeSpecific.clazz = GPBObjCClass(Proof),
-        .number = GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_FieldNumber_Proof,
+        .number = GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_FieldNumber_Proof,
         .hasIndex = -1,
-        .offset = (uint32_t)offsetof(GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0__storage_, proof),
+        .offset = (uint32_t)offsetof(GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0__storage_, proof),
         .flags = GPBFieldOptional,
         .dataType = GPBDataTypeMessage,
       },
       {
         .name = "metadata",
         .dataTypeSpecific.clazz = GPBObjCClass(ResponseMetadata),
-        .number = GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_FieldNumber_Metadata,
+        .number = GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_FieldNumber_Metadata,
         .hasIndex = 0,
-        .offset = (uint32_t)offsetof(GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0__storage_, metadata),
+        .offset = (uint32_t)offsetof(GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0__storage_, metadata),
         .flags = GPBFieldOptional,
         .dataType = GPBDataTypeMessage,
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0 class]
+        [GPBDescriptor allocDescriptorForClass:[GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0 class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0__storage_)
+                                   storageSize:sizeof(GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
     static const char *oneofs[] = {
       "result",
@@ -9768,7 +9634,7 @@ + (GPBDescriptor *)descriptor {
     [localDescriptor setupOneofs:oneofs
                            count:(uint32_t)(sizeof(oneofs) / sizeof(char*))
                    firstHasIndex:-1];
-    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetContestedResourceIdentityVotesResponse)];
+    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetContestedResourceVoteStateResponse)];
     #if defined(DEBUG) && DEBUG
       NSAssert(descriptor == nil, @"Startup recursed!");
     #endif  // DEBUG
@@ -9779,22 +9645,31 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-void GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ClearResultOneOfCase(GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0 *message) {
-  GPBDescriptor *descriptor = [GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0 descriptor];
+void GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_ClearResultOneOfCase(GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0 *message) {
+  GPBDescriptor *descriptor = [GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0 descriptor];
   GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0];
   GPBClearOneof(message, oneof);
 }
-#pragma mark - GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ContestedResourceIdentityVotes
+#pragma mark - GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_FinishedVoteInfo
 
-@implementation GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ContestedResourceIdentityVotes
+@implementation GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_FinishedVoteInfo
 
-@dynamic contestedResourceIdentityVotesArray, contestedResourceIdentityVotesArray_Count;
-@dynamic finishedResults;
+@dynamic finishedVoteOutcome;
+@dynamic hasWonByIdentityId, wonByIdentityId;
+@dynamic finishedAtBlockHeight;
+@dynamic finishedAtCoreBlockHeight;
+@dynamic finishedAtBlockTimeMs;
+@dynamic finishedAtEpoch;
 
-typedef struct GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ContestedResourceIdentityVotes__storage_ {
+typedef struct GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_FinishedVoteInfo__storage_ {
   uint32_t _has_storage_[1];
-  NSMutableArray *contestedResourceIdentityVotesArray;
-} GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ContestedResourceIdentityVotes__storage_;
+  GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_FinishedVoteInfo_FinishedVoteOutcome finishedVoteOutcome;
+  uint32_t finishedAtCoreBlockHeight;
+  uint32_t finishedAtEpoch;
+  NSData *wonByIdentityId;
+  uint64_t finishedAtBlockHeight;
+  uint64_t finishedAtBlockTimeMs;
+} GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_FinishedVoteInfo__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -9803,33 +9678,69 @@ + (GPBDescriptor *)descriptor {
   if (!descriptor) {
     static GPBMessageFieldDescription fields[] = {
       {
-        .name = "contestedResourceIdentityVotesArray",
-        .dataTypeSpecific.clazz = GPBObjCClass(GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ContestedResourceIdentityVote),
-        .number = GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ContestedResourceIdentityVotes_FieldNumber_ContestedResourceIdentityVotesArray,
-        .hasIndex = GPBNoHasBit,
-        .offset = (uint32_t)offsetof(GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ContestedResourceIdentityVotes__storage_, contestedResourceIdentityVotesArray),
-        .flags = GPBFieldRepeated,
-        .dataType = GPBDataTypeMessage,
+        .name = "finishedVoteOutcome",
+        .dataTypeSpecific.enumDescFunc = GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_FinishedVoteInfo_FinishedVoteOutcome_EnumDescriptor,
+        .number = GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_FinishedVoteInfo_FieldNumber_FinishedVoteOutcome,
+        .hasIndex = 0,
+        .offset = (uint32_t)offsetof(GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_FinishedVoteInfo__storage_, finishedVoteOutcome),
+        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldHasEnumDescriptor | GPBFieldClearHasIvarOnZero),
+        .dataType = GPBDataTypeEnum,
       },
       {
-        .name = "finishedResults",
+        .name = "wonByIdentityId",
         .dataTypeSpecific.clazz = Nil,
-        .number = GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ContestedResourceIdentityVotes_FieldNumber_FinishedResults,
-        .hasIndex = 0,
-        .offset = 1,  // Stored in _has_storage_ to save space.
+        .number = GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_FinishedVoteInfo_FieldNumber_WonByIdentityId,
+        .hasIndex = 1,
+        .offset = (uint32_t)offsetof(GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_FinishedVoteInfo__storage_, wonByIdentityId),
+        .flags = GPBFieldOptional,
+        .dataType = GPBDataTypeBytes,
+      },
+      {
+        .name = "finishedAtBlockHeight",
+        .dataTypeSpecific.clazz = Nil,
+        .number = GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_FinishedVoteInfo_FieldNumber_FinishedAtBlockHeight,
+        .hasIndex = 2,
+        .offset = (uint32_t)offsetof(GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_FinishedVoteInfo__storage_, finishedAtBlockHeight),
         .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
-        .dataType = GPBDataTypeBool,
+        .dataType = GPBDataTypeUInt64,
+      },
+      {
+        .name = "finishedAtCoreBlockHeight",
+        .dataTypeSpecific.clazz = Nil,
+        .number = GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_FinishedVoteInfo_FieldNumber_FinishedAtCoreBlockHeight,
+        .hasIndex = 3,
+        .offset = (uint32_t)offsetof(GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_FinishedVoteInfo__storage_, finishedAtCoreBlockHeight),
+        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
+        .dataType = GPBDataTypeUInt32,
+      },
+      {
+        .name = "finishedAtBlockTimeMs",
+        .dataTypeSpecific.clazz = Nil,
+        .number = GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_FinishedVoteInfo_FieldNumber_FinishedAtBlockTimeMs,
+        .hasIndex = 4,
+        .offset = (uint32_t)offsetof(GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_FinishedVoteInfo__storage_, finishedAtBlockTimeMs),
+        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
+        .dataType = GPBDataTypeUInt64,
+      },
+      {
+        .name = "finishedAtEpoch",
+        .dataTypeSpecific.clazz = Nil,
+        .number = GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_FinishedVoteInfo_FieldNumber_FinishedAtEpoch,
+        .hasIndex = 5,
+        .offset = (uint32_t)offsetof(GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_FinishedVoteInfo__storage_, finishedAtEpoch),
+        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
+        .dataType = GPBDataTypeUInt32,
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ContestedResourceIdentityVotes class]
+        [GPBDescriptor allocDescriptorForClass:[GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_FinishedVoteInfo class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ContestedResourceIdentityVotes__storage_)
+                                   storageSize:sizeof(GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_FinishedVoteInfo__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
-    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0)];
+    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0)];
     #if defined(DEBUG) && DEBUG
       NSAssert(descriptor == nil, @"Startup recursed!");
     #endif  // DEBUG
@@ -9840,18 +9751,71 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-#pragma mark - GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ResourceVoteChoice
+int32_t GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_FinishedVoteInfo_FinishedVoteOutcome_RawValue(GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_FinishedVoteInfo *message) {
+  GPBDescriptor *descriptor = [GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_FinishedVoteInfo descriptor];
+  GPBFieldDescriptor *field = [descriptor fieldWithNumber:GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_FinishedVoteInfo_FieldNumber_FinishedVoteOutcome];
+  return GPBGetMessageRawEnumField(message, field);
+}
 
-@implementation GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ResourceVoteChoice
+void SetGetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_FinishedVoteInfo_FinishedVoteOutcome_RawValue(GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_FinishedVoteInfo *message, int32_t value) {
+  GPBDescriptor *descriptor = [GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_FinishedVoteInfo descriptor];
+  GPBFieldDescriptor *field = [descriptor fieldWithNumber:GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_FinishedVoteInfo_FieldNumber_FinishedVoteOutcome];
+  GPBSetMessageRawEnumField(message, field, value);
+}
 
-@dynamic voteChoiceType;
-@dynamic hasIdentityId, identityId;
+#pragma mark - Enum GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_FinishedVoteInfo_FinishedVoteOutcome
 
-typedef struct GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ResourceVoteChoice__storage_ {
+GPBEnumDescriptor *GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_FinishedVoteInfo_FinishedVoteOutcome_EnumDescriptor(void) {
+  static _Atomic(GPBEnumDescriptor*) descriptor = nil;
+  if (!descriptor) {
+    static const char *valueNames =
+        "TowardsIdentity\000Locked\000NoPreviousWinner\000";
+    static const int32_t values[] = {
+        GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_FinishedVoteInfo_FinishedVoteOutcome_TowardsIdentity,
+        GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_FinishedVoteInfo_FinishedVoteOutcome_Locked,
+        GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_FinishedVoteInfo_FinishedVoteOutcome_NoPreviousWinner,
+    };
+    GPBEnumDescriptor *worker =
+        [GPBEnumDescriptor allocDescriptorForName:GPBNSStringifySymbol(GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_FinishedVoteInfo_FinishedVoteOutcome)
+                                       valueNames:valueNames
+                                           values:values
+                                            count:(uint32_t)(sizeof(values) / sizeof(int32_t))
+                                     enumVerifier:GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_FinishedVoteInfo_FinishedVoteOutcome_IsValidValue];
+    GPBEnumDescriptor *expected = nil;
+    if (!atomic_compare_exchange_strong(&descriptor, &expected, worker)) {
+      [worker release];
+    }
+  }
+  return descriptor;
+}
+
+BOOL GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_FinishedVoteInfo_FinishedVoteOutcome_IsValidValue(int32_t value__) {
+  switch (value__) {
+    case GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_FinishedVoteInfo_FinishedVoteOutcome_TowardsIdentity:
+    case GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_FinishedVoteInfo_FinishedVoteOutcome_Locked:
+    case GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_FinishedVoteInfo_FinishedVoteOutcome_NoPreviousWinner:
+      return YES;
+    default:
+      return NO;
+  }
+}
+
+#pragma mark - GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_ContestedResourceContenders
+
+@implementation GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_ContestedResourceContenders
+
+@dynamic contendersArray, contendersArray_Count;
+@dynamic hasAbstainVoteTally, abstainVoteTally;
+@dynamic hasLockVoteTally, lockVoteTally;
+@dynamic hasFinishedVoteInfo, finishedVoteInfo;
+
+typedef struct GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_ContestedResourceContenders__storage_ {
   uint32_t _has_storage_[1];
-  GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ResourceVoteChoice_VoteChoiceType voteChoiceType;
-  NSData *identityId;
-} GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ResourceVoteChoice__storage_;
+  uint32_t abstainVoteTally;
+  uint32_t lockVoteTally;
+  NSMutableArray *contendersArray;
+  GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_FinishedVoteInfo *finishedVoteInfo;
+} GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_ContestedResourceContenders__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -9860,33 +9824,51 @@ + (GPBDescriptor *)descriptor {
   if (!descriptor) {
     static GPBMessageFieldDescription fields[] = {
       {
-        .name = "voteChoiceType",
-        .dataTypeSpecific.enumDescFunc = GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ResourceVoteChoice_VoteChoiceType_EnumDescriptor,
-        .number = GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ResourceVoteChoice_FieldNumber_VoteChoiceType,
+        .name = "contendersArray",
+        .dataTypeSpecific.clazz = GPBObjCClass(GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_Contender),
+        .number = GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_ContestedResourceContenders_FieldNumber_ContendersArray,
+        .hasIndex = GPBNoHasBit,
+        .offset = (uint32_t)offsetof(GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_ContestedResourceContenders__storage_, contendersArray),
+        .flags = GPBFieldRepeated,
+        .dataType = GPBDataTypeMessage,
+      },
+      {
+        .name = "abstainVoteTally",
+        .dataTypeSpecific.clazz = Nil,
+        .number = GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_ContestedResourceContenders_FieldNumber_AbstainVoteTally,
         .hasIndex = 0,
-        .offset = (uint32_t)offsetof(GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ResourceVoteChoice__storage_, voteChoiceType),
-        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldHasEnumDescriptor | GPBFieldClearHasIvarOnZero),
-        .dataType = GPBDataTypeEnum,
+        .offset = (uint32_t)offsetof(GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_ContestedResourceContenders__storage_, abstainVoteTally),
+        .flags = GPBFieldOptional,
+        .dataType = GPBDataTypeUInt32,
       },
       {
-        .name = "identityId",
+        .name = "lockVoteTally",
         .dataTypeSpecific.clazz = Nil,
-        .number = GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ResourceVoteChoice_FieldNumber_IdentityId,
+        .number = GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_ContestedResourceContenders_FieldNumber_LockVoteTally,
         .hasIndex = 1,
-        .offset = (uint32_t)offsetof(GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ResourceVoteChoice__storage_, identityId),
+        .offset = (uint32_t)offsetof(GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_ContestedResourceContenders__storage_, lockVoteTally),
         .flags = GPBFieldOptional,
-        .dataType = GPBDataTypeBytes,
+        .dataType = GPBDataTypeUInt32,
+      },
+      {
+        .name = "finishedVoteInfo",
+        .dataTypeSpecific.clazz = GPBObjCClass(GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_FinishedVoteInfo),
+        .number = GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_ContestedResourceContenders_FieldNumber_FinishedVoteInfo,
+        .hasIndex = 2,
+        .offset = (uint32_t)offsetof(GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_ContestedResourceContenders__storage_, finishedVoteInfo),
+        .flags = GPBFieldOptional,
+        .dataType = GPBDataTypeMessage,
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ResourceVoteChoice class]
+        [GPBDescriptor allocDescriptorForClass:[GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_ContestedResourceContenders class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ResourceVoteChoice__storage_)
+                                   storageSize:sizeof(GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_ContestedResourceContenders__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
-    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0)];
+    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0)];
     #if defined(DEBUG) && DEBUG
       NSAssert(descriptor == nil, @"Startup recursed!");
     #endif  // DEBUG
@@ -9897,71 +9879,20 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-int32_t GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ResourceVoteChoice_VoteChoiceType_RawValue(GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ResourceVoteChoice *message) {
-  GPBDescriptor *descriptor = [GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ResourceVoteChoice descriptor];
-  GPBFieldDescriptor *field = [descriptor fieldWithNumber:GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ResourceVoteChoice_FieldNumber_VoteChoiceType];
-  return GPBGetMessageRawEnumField(message, field);
-}
-
-void SetGetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ResourceVoteChoice_VoteChoiceType_RawValue(GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ResourceVoteChoice *message, int32_t value) {
-  GPBDescriptor *descriptor = [GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ResourceVoteChoice descriptor];
-  GPBFieldDescriptor *field = [descriptor fieldWithNumber:GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ResourceVoteChoice_FieldNumber_VoteChoiceType];
-  GPBSetMessageRawEnumField(message, field, value);
-}
-
-#pragma mark - Enum GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ResourceVoteChoice_VoteChoiceType
-
-GPBEnumDescriptor *GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ResourceVoteChoice_VoteChoiceType_EnumDescriptor(void) {
-  static _Atomic(GPBEnumDescriptor*) descriptor = nil;
-  if (!descriptor) {
-    static const char *valueNames =
-        "TowardsIdentity\000Abstain\000Lock\000";
-    static const int32_t values[] = {
-        GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ResourceVoteChoice_VoteChoiceType_TowardsIdentity,
-        GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ResourceVoteChoice_VoteChoiceType_Abstain,
-        GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ResourceVoteChoice_VoteChoiceType_Lock,
-    };
-    GPBEnumDescriptor *worker =
-        [GPBEnumDescriptor allocDescriptorForName:GPBNSStringifySymbol(GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ResourceVoteChoice_VoteChoiceType)
-                                       valueNames:valueNames
-                                           values:values
-                                            count:(uint32_t)(sizeof(values) / sizeof(int32_t))
-                                     enumVerifier:GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ResourceVoteChoice_VoteChoiceType_IsValidValue];
-    GPBEnumDescriptor *expected = nil;
-    if (!atomic_compare_exchange_strong(&descriptor, &expected, worker)) {
-      [worker release];
-    }
-  }
-  return descriptor;
-}
-
-BOOL GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ResourceVoteChoice_VoteChoiceType_IsValidValue(int32_t value__) {
-  switch (value__) {
-    case GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ResourceVoteChoice_VoteChoiceType_TowardsIdentity:
-    case GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ResourceVoteChoice_VoteChoiceType_Abstain:
-    case GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ResourceVoteChoice_VoteChoiceType_Lock:
-      return YES;
-    default:
-      return NO;
-  }
-}
-
-#pragma mark - GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ContestedResourceIdentityVote
+#pragma mark - GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_Contender
 
-@implementation GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ContestedResourceIdentityVote
+@implementation GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_Contender
 
-@dynamic contractId;
-@dynamic documentTypeName;
-@dynamic serializedIndexStorageValuesArray, serializedIndexStorageValuesArray_Count;
-@dynamic hasVoteChoice, voteChoice;
+@dynamic identifier;
+@dynamic hasVoteCount, voteCount;
+@dynamic hasDocument, document;
 
-typedef struct GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ContestedResourceIdentityVote__storage_ {
+typedef struct GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_Contender__storage_ {
   uint32_t _has_storage_[1];
-  NSData *contractId;
-  NSString *documentTypeName;
-  NSMutableArray *serializedIndexStorageValuesArray;
-  GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ResourceVoteChoice *voteChoice;
-} GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ContestedResourceIdentityVote__storage_;
+  uint32_t voteCount;
+  NSData *identifier;
+  NSData *document;
+} GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_Contender__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -9970,51 +9901,42 @@ + (GPBDescriptor *)descriptor {
   if (!descriptor) {
     static GPBMessageFieldDescription fields[] = {
       {
-        .name = "contractId",
+        .name = "identifier",
         .dataTypeSpecific.clazz = Nil,
-        .number = GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ContestedResourceIdentityVote_FieldNumber_ContractId,
+        .number = GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_Contender_FieldNumber_Identifier,
         .hasIndex = 0,
-        .offset = (uint32_t)offsetof(GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ContestedResourceIdentityVote__storage_, contractId),
+        .offset = (uint32_t)offsetof(GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_Contender__storage_, identifier),
         .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
         .dataType = GPBDataTypeBytes,
       },
       {
-        .name = "documentTypeName",
+        .name = "voteCount",
         .dataTypeSpecific.clazz = Nil,
-        .number = GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ContestedResourceIdentityVote_FieldNumber_DocumentTypeName,
+        .number = GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_Contender_FieldNumber_VoteCount,
         .hasIndex = 1,
-        .offset = (uint32_t)offsetof(GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ContestedResourceIdentityVote__storage_, documentTypeName),
-        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
-        .dataType = GPBDataTypeString,
+        .offset = (uint32_t)offsetof(GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_Contender__storage_, voteCount),
+        .flags = GPBFieldOptional,
+        .dataType = GPBDataTypeUInt32,
       },
       {
-        .name = "serializedIndexStorageValuesArray",
+        .name = "document",
         .dataTypeSpecific.clazz = Nil,
-        .number = GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ContestedResourceIdentityVote_FieldNumber_SerializedIndexStorageValuesArray,
-        .hasIndex = GPBNoHasBit,
-        .offset = (uint32_t)offsetof(GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ContestedResourceIdentityVote__storage_, serializedIndexStorageValuesArray),
-        .flags = GPBFieldRepeated,
-        .dataType = GPBDataTypeBytes,
-      },
-      {
-        .name = "voteChoice",
-        .dataTypeSpecific.clazz = GPBObjCClass(GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ResourceVoteChoice),
-        .number = GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ContestedResourceIdentityVote_FieldNumber_VoteChoice,
+        .number = GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_Contender_FieldNumber_Document,
         .hasIndex = 2,
-        .offset = (uint32_t)offsetof(GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ContestedResourceIdentityVote__storage_, voteChoice),
+        .offset = (uint32_t)offsetof(GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_Contender__storage_, document),
         .flags = GPBFieldOptional,
-        .dataType = GPBDataTypeMessage,
+        .dataType = GPBDataTypeBytes,
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ContestedResourceIdentityVote class]
+        [GPBDescriptor allocDescriptorForClass:[GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_Contender class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ContestedResourceIdentityVote__storage_)
+                                   storageSize:sizeof(GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0_Contender__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
-    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0)];
+    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetContestedResourceVoteStateResponse_GetContestedResourceVoteStateResponseV0)];
     #if defined(DEBUG) && DEBUG
       NSAssert(descriptor == nil, @"Startup recursed!");
     #endif  // DEBUG
@@ -10025,17 +9947,17 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-#pragma mark - GetPrefundedSpecializedBalanceRequest
+#pragma mark - GetContestedResourceVotersForIdentityRequest
 
-@implementation GetPrefundedSpecializedBalanceRequest
+@implementation GetContestedResourceVotersForIdentityRequest
 
 @dynamic versionOneOfCase;
 @dynamic v0;
 
-typedef struct GetPrefundedSpecializedBalanceRequest__storage_ {
+typedef struct GetContestedResourceVotersForIdentityRequest__storage_ {
   uint32_t _has_storage_[2];
-  GetPrefundedSpecializedBalanceRequest_GetPrefundedSpecializedBalanceRequestV0 *v0;
-} GetPrefundedSpecializedBalanceRequest__storage_;
+  GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0 *v0;
+} GetContestedResourceVotersForIdentityRequest__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -10045,21 +9967,21 @@ + (GPBDescriptor *)descriptor {
     static GPBMessageFieldDescription fields[] = {
       {
         .name = "v0",
-        .dataTypeSpecific.clazz = GPBObjCClass(GetPrefundedSpecializedBalanceRequest_GetPrefundedSpecializedBalanceRequestV0),
-        .number = GetPrefundedSpecializedBalanceRequest_FieldNumber_V0,
+        .dataTypeSpecific.clazz = GPBObjCClass(GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0),
+        .number = GetContestedResourceVotersForIdentityRequest_FieldNumber_V0,
         .hasIndex = -1,
-        .offset = (uint32_t)offsetof(GetPrefundedSpecializedBalanceRequest__storage_, v0),
+        .offset = (uint32_t)offsetof(GetContestedResourceVotersForIdentityRequest__storage_, v0),
         .flags = GPBFieldOptional,
         .dataType = GPBDataTypeMessage,
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetPrefundedSpecializedBalanceRequest class]
+        [GPBDescriptor allocDescriptorForClass:[GetContestedResourceVotersForIdentityRequest class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetPrefundedSpecializedBalanceRequest__storage_)
+                                   storageSize:sizeof(GetContestedResourceVotersForIdentityRequest__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
     static const char *oneofs[] = {
       "version",
@@ -10077,42 +9999,174 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-void GetPrefundedSpecializedBalanceRequest_ClearVersionOneOfCase(GetPrefundedSpecializedBalanceRequest *message) {
-  GPBDescriptor *descriptor = [GetPrefundedSpecializedBalanceRequest descriptor];
+void GetContestedResourceVotersForIdentityRequest_ClearVersionOneOfCase(GetContestedResourceVotersForIdentityRequest *message) {
+  GPBDescriptor *descriptor = [GetContestedResourceVotersForIdentityRequest descriptor];
   GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0];
   GPBClearOneof(message, oneof);
 }
-#pragma mark - GetPrefundedSpecializedBalanceRequest_GetPrefundedSpecializedBalanceRequestV0
+#pragma mark - GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0
 
-@implementation GetPrefundedSpecializedBalanceRequest_GetPrefundedSpecializedBalanceRequestV0
+@implementation GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0
 
-@dynamic id_p;
+@dynamic contractId;
+@dynamic documentTypeName;
+@dynamic indexName;
+@dynamic indexValuesArray, indexValuesArray_Count;
+@dynamic contestantId;
+@dynamic hasStartAtIdentifierInfo, startAtIdentifierInfo;
+@dynamic hasCount, count;
+@dynamic orderAscending;
 @dynamic prove;
 
-typedef struct GetPrefundedSpecializedBalanceRequest_GetPrefundedSpecializedBalanceRequestV0__storage_ {
+typedef struct GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0__storage_ {
   uint32_t _has_storage_[1];
-  NSData *id_p;
-} GetPrefundedSpecializedBalanceRequest_GetPrefundedSpecializedBalanceRequestV0__storage_;
-
-// This method is threadsafe because it is initially called
-// in +initialize for each subclass.
-+ (GPBDescriptor *)descriptor {
-  static GPBDescriptor *descriptor = nil;
-  if (!descriptor) {
+  uint32_t count;
+  NSData *contractId;
+  NSString *documentTypeName;
+  NSString *indexName;
+  NSMutableArray *indexValuesArray;
+  NSData *contestantId;
+  GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0_StartAtIdentifierInfo *startAtIdentifierInfo;
+} GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0__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",
+        .name = "contractId",
         .dataTypeSpecific.clazz = Nil,
-        .number = GetPrefundedSpecializedBalanceRequest_GetPrefundedSpecializedBalanceRequestV0_FieldNumber_Id_p,
+        .number = GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0_FieldNumber_ContractId,
         .hasIndex = 0,
-        .offset = (uint32_t)offsetof(GetPrefundedSpecializedBalanceRequest_GetPrefundedSpecializedBalanceRequestV0__storage_, id_p),
+        .offset = (uint32_t)offsetof(GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0__storage_, contractId),
+        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
+        .dataType = GPBDataTypeBytes,
+      },
+      {
+        .name = "documentTypeName",
+        .dataTypeSpecific.clazz = Nil,
+        .number = GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0_FieldNumber_DocumentTypeName,
+        .hasIndex = 1,
+        .offset = (uint32_t)offsetof(GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0__storage_, documentTypeName),
+        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
+        .dataType = GPBDataTypeString,
+      },
+      {
+        .name = "indexName",
+        .dataTypeSpecific.clazz = Nil,
+        .number = GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0_FieldNumber_IndexName,
+        .hasIndex = 2,
+        .offset = (uint32_t)offsetof(GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0__storage_, indexName),
+        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
+        .dataType = GPBDataTypeString,
+      },
+      {
+        .name = "indexValuesArray",
+        .dataTypeSpecific.clazz = Nil,
+        .number = GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0_FieldNumber_IndexValuesArray,
+        .hasIndex = GPBNoHasBit,
+        .offset = (uint32_t)offsetof(GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0__storage_, indexValuesArray),
+        .flags = GPBFieldRepeated,
+        .dataType = GPBDataTypeBytes,
+      },
+      {
+        .name = "contestantId",
+        .dataTypeSpecific.clazz = Nil,
+        .number = GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0_FieldNumber_ContestantId,
+        .hasIndex = 3,
+        .offset = (uint32_t)offsetof(GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0__storage_, contestantId),
         .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
         .dataType = GPBDataTypeBytes,
       },
+      {
+        .name = "startAtIdentifierInfo",
+        .dataTypeSpecific.clazz = GPBObjCClass(GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0_StartAtIdentifierInfo),
+        .number = GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0_FieldNumber_StartAtIdentifierInfo,
+        .hasIndex = 4,
+        .offset = (uint32_t)offsetof(GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0__storage_, startAtIdentifierInfo),
+        .flags = GPBFieldOptional,
+        .dataType = GPBDataTypeMessage,
+      },
+      {
+        .name = "count",
+        .dataTypeSpecific.clazz = Nil,
+        .number = GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0_FieldNumber_Count,
+        .hasIndex = 5,
+        .offset = (uint32_t)offsetof(GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0__storage_, count),
+        .flags = GPBFieldOptional,
+        .dataType = GPBDataTypeUInt32,
+      },
+      {
+        .name = "orderAscending",
+        .dataTypeSpecific.clazz = Nil,
+        .number = GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0_FieldNumber_OrderAscending,
+        .hasIndex = 6,
+        .offset = 7,  // Stored in _has_storage_ to save space.
+        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
+        .dataType = GPBDataTypeBool,
+      },
       {
         .name = "prove",
         .dataTypeSpecific.clazz = Nil,
-        .number = GetPrefundedSpecializedBalanceRequest_GetPrefundedSpecializedBalanceRequestV0_FieldNumber_Prove,
+        .number = GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0_FieldNumber_Prove,
+        .hasIndex = 8,
+        .offset = 9,  // Stored in _has_storage_ to save space.
+        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
+        .dataType = GPBDataTypeBool,
+      },
+    };
+    GPBDescriptor *localDescriptor =
+        [GPBDescriptor allocDescriptorForClass:[GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0 class]
+                                     rootClass:[PlatformRoot class]
+                                          file:PlatformRoot_FileDescriptor()
+                                        fields:fields
+                                    fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
+                                   storageSize:sizeof(GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0__storage_)
+                                         flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
+    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetContestedResourceVotersForIdentityRequest)];
+    #if defined(DEBUG) && DEBUG
+      NSAssert(descriptor == nil, @"Startup recursed!");
+    #endif  // DEBUG
+    descriptor = localDescriptor;
+  }
+  return descriptor;
+}
+
+@end
+
+#pragma mark - GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0_StartAtIdentifierInfo
+
+@implementation GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0_StartAtIdentifierInfo
+
+@dynamic startIdentifier;
+@dynamic startIdentifierIncluded;
+
+typedef struct GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0_StartAtIdentifierInfo__storage_ {
+  uint32_t _has_storage_[1];
+  NSData *startIdentifier;
+} GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0_StartAtIdentifierInfo__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 = "startIdentifier",
+        .dataTypeSpecific.clazz = Nil,
+        .number = GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0_StartAtIdentifierInfo_FieldNumber_StartIdentifier,
+        .hasIndex = 0,
+        .offset = (uint32_t)offsetof(GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0_StartAtIdentifierInfo__storage_, startIdentifier),
+        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
+        .dataType = GPBDataTypeBytes,
+      },
+      {
+        .name = "startIdentifierIncluded",
+        .dataTypeSpecific.clazz = Nil,
+        .number = GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0_StartAtIdentifierInfo_FieldNumber_StartIdentifierIncluded,
         .hasIndex = 1,
         .offset = 2,  // Stored in _has_storage_ to save space.
         .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
@@ -10120,14 +10174,14 @@ + (GPBDescriptor *)descriptor {
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetPrefundedSpecializedBalanceRequest_GetPrefundedSpecializedBalanceRequestV0 class]
+        [GPBDescriptor allocDescriptorForClass:[GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0_StartAtIdentifierInfo class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetPrefundedSpecializedBalanceRequest_GetPrefundedSpecializedBalanceRequestV0__storage_)
+                                   storageSize:sizeof(GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0_StartAtIdentifierInfo__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
-    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetPrefundedSpecializedBalanceRequest)];
+    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetContestedResourceVotersForIdentityRequest_GetContestedResourceVotersForIdentityRequestV0)];
     #if defined(DEBUG) && DEBUG
       NSAssert(descriptor == nil, @"Startup recursed!");
     #endif  // DEBUG
@@ -10138,17 +10192,17 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-#pragma mark - GetPrefundedSpecializedBalanceResponse
+#pragma mark - GetContestedResourceVotersForIdentityResponse
 
-@implementation GetPrefundedSpecializedBalanceResponse
+@implementation GetContestedResourceVotersForIdentityResponse
 
 @dynamic versionOneOfCase;
 @dynamic v0;
 
-typedef struct GetPrefundedSpecializedBalanceResponse__storage_ {
+typedef struct GetContestedResourceVotersForIdentityResponse__storage_ {
   uint32_t _has_storage_[2];
-  GetPrefundedSpecializedBalanceResponse_GetPrefundedSpecializedBalanceResponseV0 *v0;
-} GetPrefundedSpecializedBalanceResponse__storage_;
+  GetContestedResourceVotersForIdentityResponse_GetContestedResourceVotersForIdentityResponseV0 *v0;
+} GetContestedResourceVotersForIdentityResponse__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -10158,21 +10212,21 @@ + (GPBDescriptor *)descriptor {
     static GPBMessageFieldDescription fields[] = {
       {
         .name = "v0",
-        .dataTypeSpecific.clazz = GPBObjCClass(GetPrefundedSpecializedBalanceResponse_GetPrefundedSpecializedBalanceResponseV0),
-        .number = GetPrefundedSpecializedBalanceResponse_FieldNumber_V0,
+        .dataTypeSpecific.clazz = GPBObjCClass(GetContestedResourceVotersForIdentityResponse_GetContestedResourceVotersForIdentityResponseV0),
+        .number = GetContestedResourceVotersForIdentityResponse_FieldNumber_V0,
         .hasIndex = -1,
-        .offset = (uint32_t)offsetof(GetPrefundedSpecializedBalanceResponse__storage_, v0),
+        .offset = (uint32_t)offsetof(GetContestedResourceVotersForIdentityResponse__storage_, v0),
         .flags = GPBFieldOptional,
         .dataType = GPBDataTypeMessage,
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetPrefundedSpecializedBalanceResponse class]
+        [GPBDescriptor allocDescriptorForClass:[GetContestedResourceVotersForIdentityResponse class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetPrefundedSpecializedBalanceResponse__storage_)
+                                   storageSize:sizeof(GetContestedResourceVotersForIdentityResponse__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
     static const char *oneofs[] = {
       "version",
@@ -10190,26 +10244,26 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-void GetPrefundedSpecializedBalanceResponse_ClearVersionOneOfCase(GetPrefundedSpecializedBalanceResponse *message) {
-  GPBDescriptor *descriptor = [GetPrefundedSpecializedBalanceResponse descriptor];
+void GetContestedResourceVotersForIdentityResponse_ClearVersionOneOfCase(GetContestedResourceVotersForIdentityResponse *message) {
+  GPBDescriptor *descriptor = [GetContestedResourceVotersForIdentityResponse descriptor];
   GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0];
   GPBClearOneof(message, oneof);
 }
-#pragma mark - GetPrefundedSpecializedBalanceResponse_GetPrefundedSpecializedBalanceResponseV0
+#pragma mark - GetContestedResourceVotersForIdentityResponse_GetContestedResourceVotersForIdentityResponseV0
 
-@implementation GetPrefundedSpecializedBalanceResponse_GetPrefundedSpecializedBalanceResponseV0
+@implementation GetContestedResourceVotersForIdentityResponse_GetContestedResourceVotersForIdentityResponseV0
 
 @dynamic resultOneOfCase;
-@dynamic balance;
+@dynamic contestedResourceVoters;
 @dynamic proof;
 @dynamic hasMetadata, metadata;
 
-typedef struct GetPrefundedSpecializedBalanceResponse_GetPrefundedSpecializedBalanceResponseV0__storage_ {
+typedef struct GetContestedResourceVotersForIdentityResponse_GetContestedResourceVotersForIdentityResponseV0__storage_ {
   uint32_t _has_storage_[2];
+  GetContestedResourceVotersForIdentityResponse_GetContestedResourceVotersForIdentityResponseV0_ContestedResourceVoters *contestedResourceVoters;
   Proof *proof;
   ResponseMetadata *metadata;
-  uint64_t balance;
-} GetPrefundedSpecializedBalanceResponse_GetPrefundedSpecializedBalanceResponseV0__storage_;
+} GetContestedResourceVotersForIdentityResponse_GetContestedResourceVotersForIdentityResponseV0__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -10218,40 +10272,40 @@ + (GPBDescriptor *)descriptor {
   if (!descriptor) {
     static GPBMessageFieldDescription fields[] = {
       {
-        .name = "balance",
-        .dataTypeSpecific.clazz = Nil,
-        .number = GetPrefundedSpecializedBalanceResponse_GetPrefundedSpecializedBalanceResponseV0_FieldNumber_Balance,
+        .name = "contestedResourceVoters",
+        .dataTypeSpecific.clazz = GPBObjCClass(GetContestedResourceVotersForIdentityResponse_GetContestedResourceVotersForIdentityResponseV0_ContestedResourceVoters),
+        .number = GetContestedResourceVotersForIdentityResponse_GetContestedResourceVotersForIdentityResponseV0_FieldNumber_ContestedResourceVoters,
         .hasIndex = -1,
-        .offset = (uint32_t)offsetof(GetPrefundedSpecializedBalanceResponse_GetPrefundedSpecializedBalanceResponseV0__storage_, balance),
+        .offset = (uint32_t)offsetof(GetContestedResourceVotersForIdentityResponse_GetContestedResourceVotersForIdentityResponseV0__storage_, contestedResourceVoters),
         .flags = GPBFieldOptional,
-        .dataType = GPBDataTypeUInt64,
+        .dataType = GPBDataTypeMessage,
       },
       {
         .name = "proof",
         .dataTypeSpecific.clazz = GPBObjCClass(Proof),
-        .number = GetPrefundedSpecializedBalanceResponse_GetPrefundedSpecializedBalanceResponseV0_FieldNumber_Proof,
+        .number = GetContestedResourceVotersForIdentityResponse_GetContestedResourceVotersForIdentityResponseV0_FieldNumber_Proof,
         .hasIndex = -1,
-        .offset = (uint32_t)offsetof(GetPrefundedSpecializedBalanceResponse_GetPrefundedSpecializedBalanceResponseV0__storage_, proof),
+        .offset = (uint32_t)offsetof(GetContestedResourceVotersForIdentityResponse_GetContestedResourceVotersForIdentityResponseV0__storage_, proof),
         .flags = GPBFieldOptional,
         .dataType = GPBDataTypeMessage,
       },
       {
         .name = "metadata",
         .dataTypeSpecific.clazz = GPBObjCClass(ResponseMetadata),
-        .number = GetPrefundedSpecializedBalanceResponse_GetPrefundedSpecializedBalanceResponseV0_FieldNumber_Metadata,
+        .number = GetContestedResourceVotersForIdentityResponse_GetContestedResourceVotersForIdentityResponseV0_FieldNumber_Metadata,
         .hasIndex = 0,
-        .offset = (uint32_t)offsetof(GetPrefundedSpecializedBalanceResponse_GetPrefundedSpecializedBalanceResponseV0__storage_, metadata),
+        .offset = (uint32_t)offsetof(GetContestedResourceVotersForIdentityResponse_GetContestedResourceVotersForIdentityResponseV0__storage_, metadata),
         .flags = GPBFieldOptional,
         .dataType = GPBDataTypeMessage,
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetPrefundedSpecializedBalanceResponse_GetPrefundedSpecializedBalanceResponseV0 class]
+        [GPBDescriptor allocDescriptorForClass:[GetContestedResourceVotersForIdentityResponse_GetContestedResourceVotersForIdentityResponseV0 class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetPrefundedSpecializedBalanceResponse_GetPrefundedSpecializedBalanceResponseV0__storage_)
+                                   storageSize:sizeof(GetContestedResourceVotersForIdentityResponse_GetContestedResourceVotersForIdentityResponseV0__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
     static const char *oneofs[] = {
       "result",
@@ -10259,7 +10313,7 @@ + (GPBDescriptor *)descriptor {
     [localDescriptor setupOneofs:oneofs
                            count:(uint32_t)(sizeof(oneofs) / sizeof(char*))
                    firstHasIndex:-1];
-    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetPrefundedSpecializedBalanceResponse)];
+    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetContestedResourceVotersForIdentityResponse)];
     #if defined(DEBUG) && DEBUG
       NSAssert(descriptor == nil, @"Startup recursed!");
     #endif  // DEBUG
@@ -10270,22 +10324,22 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-void GetPrefundedSpecializedBalanceResponse_GetPrefundedSpecializedBalanceResponseV0_ClearResultOneOfCase(GetPrefundedSpecializedBalanceResponse_GetPrefundedSpecializedBalanceResponseV0 *message) {
-  GPBDescriptor *descriptor = [GetPrefundedSpecializedBalanceResponse_GetPrefundedSpecializedBalanceResponseV0 descriptor];
+void GetContestedResourceVotersForIdentityResponse_GetContestedResourceVotersForIdentityResponseV0_ClearResultOneOfCase(GetContestedResourceVotersForIdentityResponse_GetContestedResourceVotersForIdentityResponseV0 *message) {
+  GPBDescriptor *descriptor = [GetContestedResourceVotersForIdentityResponse_GetContestedResourceVotersForIdentityResponseV0 descriptor];
   GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0];
   GPBClearOneof(message, oneof);
 }
-#pragma mark - GetTotalCreditsInPlatformRequest
+#pragma mark - GetContestedResourceVotersForIdentityResponse_GetContestedResourceVotersForIdentityResponseV0_ContestedResourceVoters
 
-@implementation GetTotalCreditsInPlatformRequest
+@implementation GetContestedResourceVotersForIdentityResponse_GetContestedResourceVotersForIdentityResponseV0_ContestedResourceVoters
 
-@dynamic versionOneOfCase;
-@dynamic v0;
+@dynamic votersArray, votersArray_Count;
+@dynamic finishedResults;
 
-typedef struct GetTotalCreditsInPlatformRequest__storage_ {
-  uint32_t _has_storage_[2];
-  GetTotalCreditsInPlatformRequest_GetTotalCreditsInPlatformRequestV0 *v0;
-} GetTotalCreditsInPlatformRequest__storage_;
+typedef struct GetContestedResourceVotersForIdentityResponse_GetContestedResourceVotersForIdentityResponseV0_ContestedResourceVoters__storage_ {
+  uint32_t _has_storage_[1];
+  NSMutableArray *votersArray;
+} GetContestedResourceVotersForIdentityResponse_GetContestedResourceVotersForIdentityResponseV0_ContestedResourceVoters__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -10294,25 +10348,81 @@ + (GPBDescriptor *)descriptor {
   if (!descriptor) {
     static GPBMessageFieldDescription fields[] = {
       {
-        .name = "v0",
-        .dataTypeSpecific.clazz = GPBObjCClass(GetTotalCreditsInPlatformRequest_GetTotalCreditsInPlatformRequestV0),
-        .number = GetTotalCreditsInPlatformRequest_FieldNumber_V0,
-        .hasIndex = -1,
-        .offset = (uint32_t)offsetof(GetTotalCreditsInPlatformRequest__storage_, v0),
-        .flags = GPBFieldOptional,
-        .dataType = GPBDataTypeMessage,
+        .name = "votersArray",
+        .dataTypeSpecific.clazz = Nil,
+        .number = GetContestedResourceVotersForIdentityResponse_GetContestedResourceVotersForIdentityResponseV0_ContestedResourceVoters_FieldNumber_VotersArray,
+        .hasIndex = GPBNoHasBit,
+        .offset = (uint32_t)offsetof(GetContestedResourceVotersForIdentityResponse_GetContestedResourceVotersForIdentityResponseV0_ContestedResourceVoters__storage_, votersArray),
+        .flags = GPBFieldRepeated,
+        .dataType = GPBDataTypeBytes,
+      },
+      {
+        .name = "finishedResults",
+        .dataTypeSpecific.clazz = Nil,
+        .number = GetContestedResourceVotersForIdentityResponse_GetContestedResourceVotersForIdentityResponseV0_ContestedResourceVoters_FieldNumber_FinishedResults,
+        .hasIndex = 0,
+        .offset = 1,  // Stored in _has_storage_ to save space.
+        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
+        .dataType = GPBDataTypeBool,
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetTotalCreditsInPlatformRequest class]
+        [GPBDescriptor allocDescriptorForClass:[GetContestedResourceVotersForIdentityResponse_GetContestedResourceVotersForIdentityResponseV0_ContestedResourceVoters class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetTotalCreditsInPlatformRequest__storage_)
+                                   storageSize:sizeof(GetContestedResourceVotersForIdentityResponse_GetContestedResourceVotersForIdentityResponseV0_ContestedResourceVoters__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
-    static const char *oneofs[] = {
-      "version",
+    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetContestedResourceVotersForIdentityResponse_GetContestedResourceVotersForIdentityResponseV0)];
+    #if defined(DEBUG) && DEBUG
+      NSAssert(descriptor == nil, @"Startup recursed!");
+    #endif  // DEBUG
+    descriptor = localDescriptor;
+  }
+  return descriptor;
+}
+
+@end
+
+#pragma mark - GetContestedResourceIdentityVotesRequest
+
+@implementation GetContestedResourceIdentityVotesRequest
+
+@dynamic versionOneOfCase;
+@dynamic v0;
+
+typedef struct GetContestedResourceIdentityVotesRequest__storage_ {
+  uint32_t _has_storage_[2];
+  GetContestedResourceIdentityVotesRequest_GetContestedResourceIdentityVotesRequestV0 *v0;
+} GetContestedResourceIdentityVotesRequest__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(GetContestedResourceIdentityVotesRequest_GetContestedResourceIdentityVotesRequestV0),
+        .number = GetContestedResourceIdentityVotesRequest_FieldNumber_V0,
+        .hasIndex = -1,
+        .offset = (uint32_t)offsetof(GetContestedResourceIdentityVotesRequest__storage_, v0),
+        .flags = GPBFieldOptional,
+        .dataType = GPBDataTypeMessage,
+      },
+    };
+    GPBDescriptor *localDescriptor =
+        [GPBDescriptor allocDescriptorForClass:[GetContestedResourceIdentityVotesRequest class]
+                                     rootClass:[PlatformRoot class]
+                                          file:PlatformRoot_FileDescriptor()
+                                        fields:fields
+                                    fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
+                                   storageSize:sizeof(GetContestedResourceIdentityVotesRequest__storage_)
+                                         flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
+    static const char *oneofs[] = {
+      "version",
     };
     [localDescriptor setupOneofs:oneofs
                            count:(uint32_t)(sizeof(oneofs) / sizeof(char*))
@@ -10327,20 +10437,29 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-void GetTotalCreditsInPlatformRequest_ClearVersionOneOfCase(GetTotalCreditsInPlatformRequest *message) {
-  GPBDescriptor *descriptor = [GetTotalCreditsInPlatformRequest descriptor];
+void GetContestedResourceIdentityVotesRequest_ClearVersionOneOfCase(GetContestedResourceIdentityVotesRequest *message) {
+  GPBDescriptor *descriptor = [GetContestedResourceIdentityVotesRequest descriptor];
   GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0];
   GPBClearOneof(message, oneof);
 }
-#pragma mark - GetTotalCreditsInPlatformRequest_GetTotalCreditsInPlatformRequestV0
+#pragma mark - GetContestedResourceIdentityVotesRequest_GetContestedResourceIdentityVotesRequestV0
 
-@implementation GetTotalCreditsInPlatformRequest_GetTotalCreditsInPlatformRequestV0
+@implementation GetContestedResourceIdentityVotesRequest_GetContestedResourceIdentityVotesRequestV0
 
+@dynamic identityId;
+@dynamic hasLimit, limit;
+@dynamic hasOffset, offset;
+@dynamic orderAscending;
+@dynamic hasStartAtVotePollIdInfo, startAtVotePollIdInfo;
 @dynamic prove;
 
-typedef struct GetTotalCreditsInPlatformRequest_GetTotalCreditsInPlatformRequestV0__storage_ {
+typedef struct GetContestedResourceIdentityVotesRequest_GetContestedResourceIdentityVotesRequestV0__storage_ {
   uint32_t _has_storage_[1];
-} GetTotalCreditsInPlatformRequest_GetTotalCreditsInPlatformRequestV0__storage_;
+  NSData *identityId;
+  GPBUInt32Value *limit;
+  GPBUInt32Value *offset;
+  GetContestedResourceIdentityVotesRequest_GetContestedResourceIdentityVotesRequestV0_StartAtVotePollIdInfo *startAtVotePollIdInfo;
+} GetContestedResourceIdentityVotesRequest_GetContestedResourceIdentityVotesRequestV0__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -10348,25 +10467,126 @@ + (GPBDescriptor *)descriptor {
   static GPBDescriptor *descriptor = nil;
   if (!descriptor) {
     static GPBMessageFieldDescription fields[] = {
+      {
+        .name = "identityId",
+        .dataTypeSpecific.clazz = Nil,
+        .number = GetContestedResourceIdentityVotesRequest_GetContestedResourceIdentityVotesRequestV0_FieldNumber_IdentityId,
+        .hasIndex = 0,
+        .offset = (uint32_t)offsetof(GetContestedResourceIdentityVotesRequest_GetContestedResourceIdentityVotesRequestV0__storage_, identityId),
+        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
+        .dataType = GPBDataTypeBytes,
+      },
+      {
+        .name = "limit",
+        .dataTypeSpecific.clazz = GPBObjCClass(GPBUInt32Value),
+        .number = GetContestedResourceIdentityVotesRequest_GetContestedResourceIdentityVotesRequestV0_FieldNumber_Limit,
+        .hasIndex = 1,
+        .offset = (uint32_t)offsetof(GetContestedResourceIdentityVotesRequest_GetContestedResourceIdentityVotesRequestV0__storage_, limit),
+        .flags = GPBFieldOptional,
+        .dataType = GPBDataTypeMessage,
+      },
+      {
+        .name = "offset",
+        .dataTypeSpecific.clazz = GPBObjCClass(GPBUInt32Value),
+        .number = GetContestedResourceIdentityVotesRequest_GetContestedResourceIdentityVotesRequestV0_FieldNumber_Offset,
+        .hasIndex = 2,
+        .offset = (uint32_t)offsetof(GetContestedResourceIdentityVotesRequest_GetContestedResourceIdentityVotesRequestV0__storage_, offset),
+        .flags = GPBFieldOptional,
+        .dataType = GPBDataTypeMessage,
+      },
+      {
+        .name = "orderAscending",
+        .dataTypeSpecific.clazz = Nil,
+        .number = GetContestedResourceIdentityVotesRequest_GetContestedResourceIdentityVotesRequestV0_FieldNumber_OrderAscending,
+        .hasIndex = 3,
+        .offset = 4,  // Stored in _has_storage_ to save space.
+        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
+        .dataType = GPBDataTypeBool,
+      },
+      {
+        .name = "startAtVotePollIdInfo",
+        .dataTypeSpecific.clazz = GPBObjCClass(GetContestedResourceIdentityVotesRequest_GetContestedResourceIdentityVotesRequestV0_StartAtVotePollIdInfo),
+        .number = GetContestedResourceIdentityVotesRequest_GetContestedResourceIdentityVotesRequestV0_FieldNumber_StartAtVotePollIdInfo,
+        .hasIndex = 5,
+        .offset = (uint32_t)offsetof(GetContestedResourceIdentityVotesRequest_GetContestedResourceIdentityVotesRequestV0__storage_, startAtVotePollIdInfo),
+        .flags = GPBFieldOptional,
+        .dataType = GPBDataTypeMessage,
+      },
       {
         .name = "prove",
         .dataTypeSpecific.clazz = Nil,
-        .number = GetTotalCreditsInPlatformRequest_GetTotalCreditsInPlatformRequestV0_FieldNumber_Prove,
+        .number = GetContestedResourceIdentityVotesRequest_GetContestedResourceIdentityVotesRequestV0_FieldNumber_Prove,
+        .hasIndex = 6,
+        .offset = 7,  // Stored in _has_storage_ to save space.
+        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
+        .dataType = GPBDataTypeBool,
+      },
+    };
+    GPBDescriptor *localDescriptor =
+        [GPBDescriptor allocDescriptorForClass:[GetContestedResourceIdentityVotesRequest_GetContestedResourceIdentityVotesRequestV0 class]
+                                     rootClass:[PlatformRoot class]
+                                          file:PlatformRoot_FileDescriptor()
+                                        fields:fields
+                                    fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
+                                   storageSize:sizeof(GetContestedResourceIdentityVotesRequest_GetContestedResourceIdentityVotesRequestV0__storage_)
+                                         flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
+    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetContestedResourceIdentityVotesRequest)];
+    #if defined(DEBUG) && DEBUG
+      NSAssert(descriptor == nil, @"Startup recursed!");
+    #endif  // DEBUG
+    descriptor = localDescriptor;
+  }
+  return descriptor;
+}
+
+@end
+
+#pragma mark - GetContestedResourceIdentityVotesRequest_GetContestedResourceIdentityVotesRequestV0_StartAtVotePollIdInfo
+
+@implementation GetContestedResourceIdentityVotesRequest_GetContestedResourceIdentityVotesRequestV0_StartAtVotePollIdInfo
+
+@dynamic startAtPollIdentifier;
+@dynamic startPollIdentifierIncluded;
+
+typedef struct GetContestedResourceIdentityVotesRequest_GetContestedResourceIdentityVotesRequestV0_StartAtVotePollIdInfo__storage_ {
+  uint32_t _has_storage_[1];
+  NSData *startAtPollIdentifier;
+} GetContestedResourceIdentityVotesRequest_GetContestedResourceIdentityVotesRequestV0_StartAtVotePollIdInfo__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 = "startAtPollIdentifier",
+        .dataTypeSpecific.clazz = Nil,
+        .number = GetContestedResourceIdentityVotesRequest_GetContestedResourceIdentityVotesRequestV0_StartAtVotePollIdInfo_FieldNumber_StartAtPollIdentifier,
         .hasIndex = 0,
-        .offset = 1,  // Stored in _has_storage_ to save space.
+        .offset = (uint32_t)offsetof(GetContestedResourceIdentityVotesRequest_GetContestedResourceIdentityVotesRequestV0_StartAtVotePollIdInfo__storage_, startAtPollIdentifier),
+        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
+        .dataType = GPBDataTypeBytes,
+      },
+      {
+        .name = "startPollIdentifierIncluded",
+        .dataTypeSpecific.clazz = Nil,
+        .number = GetContestedResourceIdentityVotesRequest_GetContestedResourceIdentityVotesRequestV0_StartAtVotePollIdInfo_FieldNumber_StartPollIdentifierIncluded,
+        .hasIndex = 1,
+        .offset = 2,  // Stored in _has_storage_ to save space.
         .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
         .dataType = GPBDataTypeBool,
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetTotalCreditsInPlatformRequest_GetTotalCreditsInPlatformRequestV0 class]
+        [GPBDescriptor allocDescriptorForClass:[GetContestedResourceIdentityVotesRequest_GetContestedResourceIdentityVotesRequestV0_StartAtVotePollIdInfo class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetTotalCreditsInPlatformRequest_GetTotalCreditsInPlatformRequestV0__storage_)
+                                   storageSize:sizeof(GetContestedResourceIdentityVotesRequest_GetContestedResourceIdentityVotesRequestV0_StartAtVotePollIdInfo__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
-    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetTotalCreditsInPlatformRequest)];
+    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetContestedResourceIdentityVotesRequest_GetContestedResourceIdentityVotesRequestV0)];
     #if defined(DEBUG) && DEBUG
       NSAssert(descriptor == nil, @"Startup recursed!");
     #endif  // DEBUG
@@ -10377,17 +10597,17 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-#pragma mark - GetTotalCreditsInPlatformResponse
+#pragma mark - GetContestedResourceIdentityVotesResponse
 
-@implementation GetTotalCreditsInPlatformResponse
+@implementation GetContestedResourceIdentityVotesResponse
 
 @dynamic versionOneOfCase;
 @dynamic v0;
 
-typedef struct GetTotalCreditsInPlatformResponse__storage_ {
+typedef struct GetContestedResourceIdentityVotesResponse__storage_ {
   uint32_t _has_storage_[2];
-  GetTotalCreditsInPlatformResponse_GetTotalCreditsInPlatformResponseV0 *v0;
-} GetTotalCreditsInPlatformResponse__storage_;
+  GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0 *v0;
+} GetContestedResourceIdentityVotesResponse__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -10397,21 +10617,21 @@ + (GPBDescriptor *)descriptor {
     static GPBMessageFieldDescription fields[] = {
       {
         .name = "v0",
-        .dataTypeSpecific.clazz = GPBObjCClass(GetTotalCreditsInPlatformResponse_GetTotalCreditsInPlatformResponseV0),
-        .number = GetTotalCreditsInPlatformResponse_FieldNumber_V0,
+        .dataTypeSpecific.clazz = GPBObjCClass(GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0),
+        .number = GetContestedResourceIdentityVotesResponse_FieldNumber_V0,
         .hasIndex = -1,
-        .offset = (uint32_t)offsetof(GetTotalCreditsInPlatformResponse__storage_, v0),
+        .offset = (uint32_t)offsetof(GetContestedResourceIdentityVotesResponse__storage_, v0),
         .flags = GPBFieldOptional,
         .dataType = GPBDataTypeMessage,
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetTotalCreditsInPlatformResponse class]
+        [GPBDescriptor allocDescriptorForClass:[GetContestedResourceIdentityVotesResponse class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetTotalCreditsInPlatformResponse__storage_)
+                                   storageSize:sizeof(GetContestedResourceIdentityVotesResponse__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
     static const char *oneofs[] = {
       "version",
@@ -10429,26 +10649,26 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-void GetTotalCreditsInPlatformResponse_ClearVersionOneOfCase(GetTotalCreditsInPlatformResponse *message) {
-  GPBDescriptor *descriptor = [GetTotalCreditsInPlatformResponse descriptor];
+void GetContestedResourceIdentityVotesResponse_ClearVersionOneOfCase(GetContestedResourceIdentityVotesResponse *message) {
+  GPBDescriptor *descriptor = [GetContestedResourceIdentityVotesResponse descriptor];
   GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0];
   GPBClearOneof(message, oneof);
 }
-#pragma mark - GetTotalCreditsInPlatformResponse_GetTotalCreditsInPlatformResponseV0
+#pragma mark - GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0
 
-@implementation GetTotalCreditsInPlatformResponse_GetTotalCreditsInPlatformResponseV0
+@implementation GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0
 
 @dynamic resultOneOfCase;
-@dynamic credits;
+@dynamic votes;
 @dynamic proof;
 @dynamic hasMetadata, metadata;
 
-typedef struct GetTotalCreditsInPlatformResponse_GetTotalCreditsInPlatformResponseV0__storage_ {
+typedef struct GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0__storage_ {
   uint32_t _has_storage_[2];
+  GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ContestedResourceIdentityVotes *votes;
   Proof *proof;
   ResponseMetadata *metadata;
-  uint64_t credits;
-} GetTotalCreditsInPlatformResponse_GetTotalCreditsInPlatformResponseV0__storage_;
+} GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -10457,40 +10677,40 @@ + (GPBDescriptor *)descriptor {
   if (!descriptor) {
     static GPBMessageFieldDescription fields[] = {
       {
-        .name = "credits",
-        .dataTypeSpecific.clazz = Nil,
-        .number = GetTotalCreditsInPlatformResponse_GetTotalCreditsInPlatformResponseV0_FieldNumber_Credits,
+        .name = "votes",
+        .dataTypeSpecific.clazz = GPBObjCClass(GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ContestedResourceIdentityVotes),
+        .number = GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_FieldNumber_Votes,
         .hasIndex = -1,
-        .offset = (uint32_t)offsetof(GetTotalCreditsInPlatformResponse_GetTotalCreditsInPlatformResponseV0__storage_, credits),
+        .offset = (uint32_t)offsetof(GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0__storage_, votes),
         .flags = GPBFieldOptional,
-        .dataType = GPBDataTypeUInt64,
+        .dataType = GPBDataTypeMessage,
       },
       {
         .name = "proof",
         .dataTypeSpecific.clazz = GPBObjCClass(Proof),
-        .number = GetTotalCreditsInPlatformResponse_GetTotalCreditsInPlatformResponseV0_FieldNumber_Proof,
+        .number = GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_FieldNumber_Proof,
         .hasIndex = -1,
-        .offset = (uint32_t)offsetof(GetTotalCreditsInPlatformResponse_GetTotalCreditsInPlatformResponseV0__storage_, proof),
+        .offset = (uint32_t)offsetof(GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0__storage_, proof),
         .flags = GPBFieldOptional,
         .dataType = GPBDataTypeMessage,
       },
       {
         .name = "metadata",
         .dataTypeSpecific.clazz = GPBObjCClass(ResponseMetadata),
-        .number = GetTotalCreditsInPlatformResponse_GetTotalCreditsInPlatformResponseV0_FieldNumber_Metadata,
+        .number = GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_FieldNumber_Metadata,
         .hasIndex = 0,
-        .offset = (uint32_t)offsetof(GetTotalCreditsInPlatformResponse_GetTotalCreditsInPlatformResponseV0__storage_, metadata),
+        .offset = (uint32_t)offsetof(GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0__storage_, metadata),
         .flags = GPBFieldOptional,
         .dataType = GPBDataTypeMessage,
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetTotalCreditsInPlatformResponse_GetTotalCreditsInPlatformResponseV0 class]
+        [GPBDescriptor allocDescriptorForClass:[GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0 class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetTotalCreditsInPlatformResponse_GetTotalCreditsInPlatformResponseV0__storage_)
+                                   storageSize:sizeof(GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
     static const char *oneofs[] = {
       "result",
@@ -10498,7 +10718,7 @@ + (GPBDescriptor *)descriptor {
     [localDescriptor setupOneofs:oneofs
                            count:(uint32_t)(sizeof(oneofs) / sizeof(char*))
                    firstHasIndex:-1];
-    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetTotalCreditsInPlatformResponse)];
+    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetContestedResourceIdentityVotesResponse)];
     #if defined(DEBUG) && DEBUG
       NSAssert(descriptor == nil, @"Startup recursed!");
     #endif  // DEBUG
@@ -10509,22 +10729,22 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-void GetTotalCreditsInPlatformResponse_GetTotalCreditsInPlatformResponseV0_ClearResultOneOfCase(GetTotalCreditsInPlatformResponse_GetTotalCreditsInPlatformResponseV0 *message) {
-  GPBDescriptor *descriptor = [GetTotalCreditsInPlatformResponse_GetTotalCreditsInPlatformResponseV0 descriptor];
+void GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ClearResultOneOfCase(GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0 *message) {
+  GPBDescriptor *descriptor = [GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0 descriptor];
   GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0];
   GPBClearOneof(message, oneof);
 }
-#pragma mark - GetPathElementsRequest
+#pragma mark - GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ContestedResourceIdentityVotes
 
-@implementation GetPathElementsRequest
+@implementation GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ContestedResourceIdentityVotes
 
-@dynamic versionOneOfCase;
-@dynamic v0;
+@dynamic contestedResourceIdentityVotesArray, contestedResourceIdentityVotesArray_Count;
+@dynamic finishedResults;
 
-typedef struct GetPathElementsRequest__storage_ {
-  uint32_t _has_storage_[2];
-  GetPathElementsRequest_GetPathElementsRequestV0 *v0;
-} GetPathElementsRequest__storage_;
+typedef struct GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ContestedResourceIdentityVotes__storage_ {
+  uint32_t _has_storage_[1];
+  NSMutableArray *contestedResourceIdentityVotesArray;
+} GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ContestedResourceIdentityVotes__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -10533,29 +10753,90 @@ + (GPBDescriptor *)descriptor {
   if (!descriptor) {
     static GPBMessageFieldDescription fields[] = {
       {
-        .name = "v0",
-        .dataTypeSpecific.clazz = GPBObjCClass(GetPathElementsRequest_GetPathElementsRequestV0),
-        .number = GetPathElementsRequest_FieldNumber_V0,
-        .hasIndex = -1,
-        .offset = (uint32_t)offsetof(GetPathElementsRequest__storage_, v0),
-        .flags = GPBFieldOptional,
+        .name = "contestedResourceIdentityVotesArray",
+        .dataTypeSpecific.clazz = GPBObjCClass(GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ContestedResourceIdentityVote),
+        .number = GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ContestedResourceIdentityVotes_FieldNumber_ContestedResourceIdentityVotesArray,
+        .hasIndex = GPBNoHasBit,
+        .offset = (uint32_t)offsetof(GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ContestedResourceIdentityVotes__storage_, contestedResourceIdentityVotesArray),
+        .flags = GPBFieldRepeated,
         .dataType = GPBDataTypeMessage,
       },
+      {
+        .name = "finishedResults",
+        .dataTypeSpecific.clazz = Nil,
+        .number = GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ContestedResourceIdentityVotes_FieldNumber_FinishedResults,
+        .hasIndex = 0,
+        .offset = 1,  // Stored in _has_storage_ to save space.
+        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
+        .dataType = GPBDataTypeBool,
+      },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetPathElementsRequest class]
+        [GPBDescriptor allocDescriptorForClass:[GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ContestedResourceIdentityVotes class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetPathElementsRequest__storage_)
+                                   storageSize:sizeof(GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ContestedResourceIdentityVotes__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
-    static const char *oneofs[] = {
-      "version",
+    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0)];
+    #if defined(DEBUG) && DEBUG
+      NSAssert(descriptor == nil, @"Startup recursed!");
+    #endif  // DEBUG
+    descriptor = localDescriptor;
+  }
+  return descriptor;
+}
+
+@end
+
+#pragma mark - GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ResourceVoteChoice
+
+@implementation GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ResourceVoteChoice
+
+@dynamic voteChoiceType;
+@dynamic hasIdentityId, identityId;
+
+typedef struct GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ResourceVoteChoice__storage_ {
+  uint32_t _has_storage_[1];
+  GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ResourceVoteChoice_VoteChoiceType voteChoiceType;
+  NSData *identityId;
+} GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ResourceVoteChoice__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 = "voteChoiceType",
+        .dataTypeSpecific.enumDescFunc = GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ResourceVoteChoice_VoteChoiceType_EnumDescriptor,
+        .number = GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ResourceVoteChoice_FieldNumber_VoteChoiceType,
+        .hasIndex = 0,
+        .offset = (uint32_t)offsetof(GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ResourceVoteChoice__storage_, voteChoiceType),
+        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldHasEnumDescriptor | GPBFieldClearHasIvarOnZero),
+        .dataType = GPBDataTypeEnum,
+      },
+      {
+        .name = "identityId",
+        .dataTypeSpecific.clazz = Nil,
+        .number = GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ResourceVoteChoice_FieldNumber_IdentityId,
+        .hasIndex = 1,
+        .offset = (uint32_t)offsetof(GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ResourceVoteChoice__storage_, identityId),
+        .flags = GPBFieldOptional,
+        .dataType = GPBDataTypeBytes,
+      },
     };
-    [localDescriptor setupOneofs:oneofs
-                           count:(uint32_t)(sizeof(oneofs) / sizeof(char*))
-                   firstHasIndex:-1];
+    GPBDescriptor *localDescriptor =
+        [GPBDescriptor allocDescriptorForClass:[GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ResourceVoteChoice class]
+                                     rootClass:[PlatformRoot class]
+                                          file:PlatformRoot_FileDescriptor()
+                                        fields:fields
+                                    fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
+                                   storageSize:sizeof(GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ResourceVoteChoice__storage_)
+                                         flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
+    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0)];
     #if defined(DEBUG) && DEBUG
       NSAssert(descriptor == nil, @"Startup recursed!");
     #endif  // DEBUG
@@ -10566,24 +10847,71 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-void GetPathElementsRequest_ClearVersionOneOfCase(GetPathElementsRequest *message) {
-  GPBDescriptor *descriptor = [GetPathElementsRequest descriptor];
-  GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0];
-  GPBClearOneof(message, oneof);
+int32_t GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ResourceVoteChoice_VoteChoiceType_RawValue(GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ResourceVoteChoice *message) {
+  GPBDescriptor *descriptor = [GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ResourceVoteChoice descriptor];
+  GPBFieldDescriptor *field = [descriptor fieldWithNumber:GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ResourceVoteChoice_FieldNumber_VoteChoiceType];
+  return GPBGetMessageRawEnumField(message, field);
 }
-#pragma mark - GetPathElementsRequest_GetPathElementsRequestV0
 
-@implementation GetPathElementsRequest_GetPathElementsRequestV0
+void SetGetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ResourceVoteChoice_VoteChoiceType_RawValue(GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ResourceVoteChoice *message, int32_t value) {
+  GPBDescriptor *descriptor = [GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ResourceVoteChoice descriptor];
+  GPBFieldDescriptor *field = [descriptor fieldWithNumber:GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ResourceVoteChoice_FieldNumber_VoteChoiceType];
+  GPBSetMessageRawEnumField(message, field, value);
+}
 
-@dynamic pathArray, pathArray_Count;
-@dynamic keysArray, keysArray_Count;
-@dynamic prove;
+#pragma mark - Enum GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ResourceVoteChoice_VoteChoiceType
 
-typedef struct GetPathElementsRequest_GetPathElementsRequestV0__storage_ {
+GPBEnumDescriptor *GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ResourceVoteChoice_VoteChoiceType_EnumDescriptor(void) {
+  static _Atomic(GPBEnumDescriptor*) descriptor = nil;
+  if (!descriptor) {
+    static const char *valueNames =
+        "TowardsIdentity\000Abstain\000Lock\000";
+    static const int32_t values[] = {
+        GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ResourceVoteChoice_VoteChoiceType_TowardsIdentity,
+        GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ResourceVoteChoice_VoteChoiceType_Abstain,
+        GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ResourceVoteChoice_VoteChoiceType_Lock,
+    };
+    GPBEnumDescriptor *worker =
+        [GPBEnumDescriptor allocDescriptorForName:GPBNSStringifySymbol(GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ResourceVoteChoice_VoteChoiceType)
+                                       valueNames:valueNames
+                                           values:values
+                                            count:(uint32_t)(sizeof(values) / sizeof(int32_t))
+                                     enumVerifier:GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ResourceVoteChoice_VoteChoiceType_IsValidValue];
+    GPBEnumDescriptor *expected = nil;
+    if (!atomic_compare_exchange_strong(&descriptor, &expected, worker)) {
+      [worker release];
+    }
+  }
+  return descriptor;
+}
+
+BOOL GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ResourceVoteChoice_VoteChoiceType_IsValidValue(int32_t value__) {
+  switch (value__) {
+    case GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ResourceVoteChoice_VoteChoiceType_TowardsIdentity:
+    case GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ResourceVoteChoice_VoteChoiceType_Abstain:
+    case GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ResourceVoteChoice_VoteChoiceType_Lock:
+      return YES;
+    default:
+      return NO;
+  }
+}
+
+#pragma mark - GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ContestedResourceIdentityVote
+
+@implementation GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ContestedResourceIdentityVote
+
+@dynamic contractId;
+@dynamic documentTypeName;
+@dynamic serializedIndexStorageValuesArray, serializedIndexStorageValuesArray_Count;
+@dynamic hasVoteChoice, voteChoice;
+
+typedef struct GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ContestedResourceIdentityVote__storage_ {
   uint32_t _has_storage_[1];
-  NSMutableArray *pathArray;
-  NSMutableArray *keysArray;
-} GetPathElementsRequest_GetPathElementsRequestV0__storage_;
+  NSData *contractId;
+  NSString *documentTypeName;
+  NSMutableArray *serializedIndexStorageValuesArray;
+  GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ResourceVoteChoice *voteChoice;
+} GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ContestedResourceIdentityVote__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -10592,42 +10920,51 @@ + (GPBDescriptor *)descriptor {
   if (!descriptor) {
     static GPBMessageFieldDescription fields[] = {
       {
-        .name = "pathArray",
+        .name = "contractId",
         .dataTypeSpecific.clazz = Nil,
-        .number = GetPathElementsRequest_GetPathElementsRequestV0_FieldNumber_PathArray,
-        .hasIndex = GPBNoHasBit,
-        .offset = (uint32_t)offsetof(GetPathElementsRequest_GetPathElementsRequestV0__storage_, pathArray),
-        .flags = GPBFieldRepeated,
+        .number = GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ContestedResourceIdentityVote_FieldNumber_ContractId,
+        .hasIndex = 0,
+        .offset = (uint32_t)offsetof(GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ContestedResourceIdentityVote__storage_, contractId),
+        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
         .dataType = GPBDataTypeBytes,
       },
       {
-        .name = "keysArray",
+        .name = "documentTypeName",
         .dataTypeSpecific.clazz = Nil,
-        .number = GetPathElementsRequest_GetPathElementsRequestV0_FieldNumber_KeysArray,
+        .number = GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ContestedResourceIdentityVote_FieldNumber_DocumentTypeName,
+        .hasIndex = 1,
+        .offset = (uint32_t)offsetof(GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ContestedResourceIdentityVote__storage_, documentTypeName),
+        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
+        .dataType = GPBDataTypeString,
+      },
+      {
+        .name = "serializedIndexStorageValuesArray",
+        .dataTypeSpecific.clazz = Nil,
+        .number = GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ContestedResourceIdentityVote_FieldNumber_SerializedIndexStorageValuesArray,
         .hasIndex = GPBNoHasBit,
-        .offset = (uint32_t)offsetof(GetPathElementsRequest_GetPathElementsRequestV0__storage_, keysArray),
+        .offset = (uint32_t)offsetof(GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ContestedResourceIdentityVote__storage_, serializedIndexStorageValuesArray),
         .flags = GPBFieldRepeated,
         .dataType = GPBDataTypeBytes,
       },
       {
-        .name = "prove",
-        .dataTypeSpecific.clazz = Nil,
-        .number = GetPathElementsRequest_GetPathElementsRequestV0_FieldNumber_Prove,
-        .hasIndex = 0,
-        .offset = 1,  // Stored in _has_storage_ to save space.
-        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
-        .dataType = GPBDataTypeBool,
+        .name = "voteChoice",
+        .dataTypeSpecific.clazz = GPBObjCClass(GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ResourceVoteChoice),
+        .number = GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ContestedResourceIdentityVote_FieldNumber_VoteChoice,
+        .hasIndex = 2,
+        .offset = (uint32_t)offsetof(GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ContestedResourceIdentityVote__storage_, voteChoice),
+        .flags = GPBFieldOptional,
+        .dataType = GPBDataTypeMessage,
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetPathElementsRequest_GetPathElementsRequestV0 class]
+        [GPBDescriptor allocDescriptorForClass:[GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ContestedResourceIdentityVote class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetPathElementsRequest_GetPathElementsRequestV0__storage_)
+                                   storageSize:sizeof(GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0_ContestedResourceIdentityVote__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
-    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetPathElementsRequest)];
+    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetContestedResourceIdentityVotesResponse_GetContestedResourceIdentityVotesResponseV0)];
     #if defined(DEBUG) && DEBUG
       NSAssert(descriptor == nil, @"Startup recursed!");
     #endif  // DEBUG
@@ -10638,17 +10975,17 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-#pragma mark - GetPathElementsResponse
+#pragma mark - GetPrefundedSpecializedBalanceRequest
 
-@implementation GetPathElementsResponse
+@implementation GetPrefundedSpecializedBalanceRequest
 
 @dynamic versionOneOfCase;
 @dynamic v0;
 
-typedef struct GetPathElementsResponse__storage_ {
+typedef struct GetPrefundedSpecializedBalanceRequest__storage_ {
   uint32_t _has_storage_[2];
-  GetPathElementsResponse_GetPathElementsResponseV0 *v0;
-} GetPathElementsResponse__storage_;
+  GetPrefundedSpecializedBalanceRequest_GetPrefundedSpecializedBalanceRequestV0 *v0;
+} GetPrefundedSpecializedBalanceRequest__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -10658,21 +10995,21 @@ + (GPBDescriptor *)descriptor {
     static GPBMessageFieldDescription fields[] = {
       {
         .name = "v0",
-        .dataTypeSpecific.clazz = GPBObjCClass(GetPathElementsResponse_GetPathElementsResponseV0),
-        .number = GetPathElementsResponse_FieldNumber_V0,
+        .dataTypeSpecific.clazz = GPBObjCClass(GetPrefundedSpecializedBalanceRequest_GetPrefundedSpecializedBalanceRequestV0),
+        .number = GetPrefundedSpecializedBalanceRequest_FieldNumber_V0,
         .hasIndex = -1,
-        .offset = (uint32_t)offsetof(GetPathElementsResponse__storage_, v0),
+        .offset = (uint32_t)offsetof(GetPrefundedSpecializedBalanceRequest__storage_, v0),
         .flags = GPBFieldOptional,
         .dataType = GPBDataTypeMessage,
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetPathElementsResponse class]
+        [GPBDescriptor allocDescriptorForClass:[GetPrefundedSpecializedBalanceRequest class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetPathElementsResponse__storage_)
+                                   storageSize:sizeof(GetPrefundedSpecializedBalanceRequest__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
     static const char *oneofs[] = {
       "version",
@@ -10690,26 +11027,22 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-void GetPathElementsResponse_ClearVersionOneOfCase(GetPathElementsResponse *message) {
-  GPBDescriptor *descriptor = [GetPathElementsResponse descriptor];
+void GetPrefundedSpecializedBalanceRequest_ClearVersionOneOfCase(GetPrefundedSpecializedBalanceRequest *message) {
+  GPBDescriptor *descriptor = [GetPrefundedSpecializedBalanceRequest descriptor];
   GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0];
   GPBClearOneof(message, oneof);
 }
-#pragma mark - GetPathElementsResponse_GetPathElementsResponseV0
+#pragma mark - GetPrefundedSpecializedBalanceRequest_GetPrefundedSpecializedBalanceRequestV0
 
-@implementation GetPathElementsResponse_GetPathElementsResponseV0
+@implementation GetPrefundedSpecializedBalanceRequest_GetPrefundedSpecializedBalanceRequestV0
 
-@dynamic resultOneOfCase;
-@dynamic elements;
-@dynamic proof;
-@dynamic hasMetadata, metadata;
+@dynamic id_p;
+@dynamic prove;
 
-typedef struct GetPathElementsResponse_GetPathElementsResponseV0__storage_ {
-  uint32_t _has_storage_[2];
-  GetPathElementsResponse_GetPathElementsResponseV0_Elements *elements;
-  Proof *proof;
-  ResponseMetadata *metadata;
-} GetPathElementsResponse_GetPathElementsResponseV0__storage_;
+typedef struct GetPrefundedSpecializedBalanceRequest_GetPrefundedSpecializedBalanceRequestV0__storage_ {
+  uint32_t _has_storage_[1];
+  NSData *id_p;
+} GetPrefundedSpecializedBalanceRequest_GetPrefundedSpecializedBalanceRequestV0__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -10718,48 +11051,85 @@ + (GPBDescriptor *)descriptor {
   if (!descriptor) {
     static GPBMessageFieldDescription fields[] = {
       {
-        .name = "elements",
-        .dataTypeSpecific.clazz = GPBObjCClass(GetPathElementsResponse_GetPathElementsResponseV0_Elements),
-        .number = GetPathElementsResponse_GetPathElementsResponseV0_FieldNumber_Elements,
-        .hasIndex = -1,
-        .offset = (uint32_t)offsetof(GetPathElementsResponse_GetPathElementsResponseV0__storage_, elements),
-        .flags = GPBFieldOptional,
-        .dataType = GPBDataTypeMessage,
+        .name = "id_p",
+        .dataTypeSpecific.clazz = Nil,
+        .number = GetPrefundedSpecializedBalanceRequest_GetPrefundedSpecializedBalanceRequestV0_FieldNumber_Id_p,
+        .hasIndex = 0,
+        .offset = (uint32_t)offsetof(GetPrefundedSpecializedBalanceRequest_GetPrefundedSpecializedBalanceRequestV0__storage_, id_p),
+        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
+        .dataType = GPBDataTypeBytes,
       },
       {
-        .name = "proof",
-        .dataTypeSpecific.clazz = GPBObjCClass(Proof),
-        .number = GetPathElementsResponse_GetPathElementsResponseV0_FieldNumber_Proof,
-        .hasIndex = -1,
-        .offset = (uint32_t)offsetof(GetPathElementsResponse_GetPathElementsResponseV0__storage_, proof),
-        .flags = GPBFieldOptional,
-        .dataType = GPBDataTypeMessage,
+        .name = "prove",
+        .dataTypeSpecific.clazz = Nil,
+        .number = GetPrefundedSpecializedBalanceRequest_GetPrefundedSpecializedBalanceRequestV0_FieldNumber_Prove,
+        .hasIndex = 1,
+        .offset = 2,  // Stored in _has_storage_ to save space.
+        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
+        .dataType = GPBDataTypeBool,
       },
+    };
+    GPBDescriptor *localDescriptor =
+        [GPBDescriptor allocDescriptorForClass:[GetPrefundedSpecializedBalanceRequest_GetPrefundedSpecializedBalanceRequestV0 class]
+                                     rootClass:[PlatformRoot class]
+                                          file:PlatformRoot_FileDescriptor()
+                                        fields:fields
+                                    fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
+                                   storageSize:sizeof(GetPrefundedSpecializedBalanceRequest_GetPrefundedSpecializedBalanceRequestV0__storage_)
+                                         flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
+    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetPrefundedSpecializedBalanceRequest)];
+    #if defined(DEBUG) && DEBUG
+      NSAssert(descriptor == nil, @"Startup recursed!");
+    #endif  // DEBUG
+    descriptor = localDescriptor;
+  }
+  return descriptor;
+}
+
+@end
+
+#pragma mark - GetPrefundedSpecializedBalanceResponse
+
+@implementation GetPrefundedSpecializedBalanceResponse
+
+@dynamic versionOneOfCase;
+@dynamic v0;
+
+typedef struct GetPrefundedSpecializedBalanceResponse__storage_ {
+  uint32_t _has_storage_[2];
+  GetPrefundedSpecializedBalanceResponse_GetPrefundedSpecializedBalanceResponseV0 *v0;
+} GetPrefundedSpecializedBalanceResponse__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 = "metadata",
-        .dataTypeSpecific.clazz = GPBObjCClass(ResponseMetadata),
-        .number = GetPathElementsResponse_GetPathElementsResponseV0_FieldNumber_Metadata,
-        .hasIndex = 0,
-        .offset = (uint32_t)offsetof(GetPathElementsResponse_GetPathElementsResponseV0__storage_, metadata),
+        .name = "v0",
+        .dataTypeSpecific.clazz = GPBObjCClass(GetPrefundedSpecializedBalanceResponse_GetPrefundedSpecializedBalanceResponseV0),
+        .number = GetPrefundedSpecializedBalanceResponse_FieldNumber_V0,
+        .hasIndex = -1,
+        .offset = (uint32_t)offsetof(GetPrefundedSpecializedBalanceResponse__storage_, v0),
         .flags = GPBFieldOptional,
         .dataType = GPBDataTypeMessage,
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetPathElementsResponse_GetPathElementsResponseV0 class]
+        [GPBDescriptor allocDescriptorForClass:[GetPrefundedSpecializedBalanceResponse class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetPathElementsResponse_GetPathElementsResponseV0__storage_)
+                                   storageSize:sizeof(GetPrefundedSpecializedBalanceResponse__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
     static const char *oneofs[] = {
-      "result",
+      "version",
     };
     [localDescriptor setupOneofs:oneofs
                            count:(uint32_t)(sizeof(oneofs) / sizeof(char*))
                    firstHasIndex:-1];
-    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetPathElementsResponse)];
     #if defined(DEBUG) && DEBUG
       NSAssert(descriptor == nil, @"Startup recursed!");
     #endif  // DEBUG
@@ -10770,21 +11140,26 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-void GetPathElementsResponse_GetPathElementsResponseV0_ClearResultOneOfCase(GetPathElementsResponse_GetPathElementsResponseV0 *message) {
-  GPBDescriptor *descriptor = [GetPathElementsResponse_GetPathElementsResponseV0 descriptor];
+void GetPrefundedSpecializedBalanceResponse_ClearVersionOneOfCase(GetPrefundedSpecializedBalanceResponse *message) {
+  GPBDescriptor *descriptor = [GetPrefundedSpecializedBalanceResponse descriptor];
   GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0];
   GPBClearOneof(message, oneof);
 }
-#pragma mark - GetPathElementsResponse_GetPathElementsResponseV0_Elements
+#pragma mark - GetPrefundedSpecializedBalanceResponse_GetPrefundedSpecializedBalanceResponseV0
 
-@implementation GetPathElementsResponse_GetPathElementsResponseV0_Elements
+@implementation GetPrefundedSpecializedBalanceResponse_GetPrefundedSpecializedBalanceResponseV0
 
-@dynamic elementsArray, elementsArray_Count;
+@dynamic resultOneOfCase;
+@dynamic balance;
+@dynamic proof;
+@dynamic hasMetadata, metadata;
 
-typedef struct GetPathElementsResponse_GetPathElementsResponseV0_Elements__storage_ {
-  uint32_t _has_storage_[1];
-  NSMutableArray *elementsArray;
-} GetPathElementsResponse_GetPathElementsResponseV0_Elements__storage_;
+typedef struct GetPrefundedSpecializedBalanceResponse_GetPrefundedSpecializedBalanceResponseV0__storage_ {
+  uint32_t _has_storage_[2];
+  Proof *proof;
+  ResponseMetadata *metadata;
+  uint64_t balance;
+} GetPrefundedSpecializedBalanceResponse_GetPrefundedSpecializedBalanceResponseV0__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -10793,24 +11168,48 @@ + (GPBDescriptor *)descriptor {
   if (!descriptor) {
     static GPBMessageFieldDescription fields[] = {
       {
-        .name = "elementsArray",
+        .name = "balance",
         .dataTypeSpecific.clazz = Nil,
-        .number = GetPathElementsResponse_GetPathElementsResponseV0_Elements_FieldNumber_ElementsArray,
-        .hasIndex = GPBNoHasBit,
-        .offset = (uint32_t)offsetof(GetPathElementsResponse_GetPathElementsResponseV0_Elements__storage_, elementsArray),
-        .flags = GPBFieldRepeated,
-        .dataType = GPBDataTypeBytes,
+        .number = GetPrefundedSpecializedBalanceResponse_GetPrefundedSpecializedBalanceResponseV0_FieldNumber_Balance,
+        .hasIndex = -1,
+        .offset = (uint32_t)offsetof(GetPrefundedSpecializedBalanceResponse_GetPrefundedSpecializedBalanceResponseV0__storage_, balance),
+        .flags = GPBFieldOptional,
+        .dataType = GPBDataTypeUInt64,
+      },
+      {
+        .name = "proof",
+        .dataTypeSpecific.clazz = GPBObjCClass(Proof),
+        .number = GetPrefundedSpecializedBalanceResponse_GetPrefundedSpecializedBalanceResponseV0_FieldNumber_Proof,
+        .hasIndex = -1,
+        .offset = (uint32_t)offsetof(GetPrefundedSpecializedBalanceResponse_GetPrefundedSpecializedBalanceResponseV0__storage_, proof),
+        .flags = GPBFieldOptional,
+        .dataType = GPBDataTypeMessage,
+      },
+      {
+        .name = "metadata",
+        .dataTypeSpecific.clazz = GPBObjCClass(ResponseMetadata),
+        .number = GetPrefundedSpecializedBalanceResponse_GetPrefundedSpecializedBalanceResponseV0_FieldNumber_Metadata,
+        .hasIndex = 0,
+        .offset = (uint32_t)offsetof(GetPrefundedSpecializedBalanceResponse_GetPrefundedSpecializedBalanceResponseV0__storage_, metadata),
+        .flags = GPBFieldOptional,
+        .dataType = GPBDataTypeMessage,
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetPathElementsResponse_GetPathElementsResponseV0_Elements class]
+        [GPBDescriptor allocDescriptorForClass:[GetPrefundedSpecializedBalanceResponse_GetPrefundedSpecializedBalanceResponseV0 class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetPathElementsResponse_GetPathElementsResponseV0_Elements__storage_)
+                                   storageSize:sizeof(GetPrefundedSpecializedBalanceResponse_GetPrefundedSpecializedBalanceResponseV0__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
-    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetPathElementsResponse_GetPathElementsResponseV0)];
+    static const char *oneofs[] = {
+      "result",
+    };
+    [localDescriptor setupOneofs:oneofs
+                           count:(uint32_t)(sizeof(oneofs) / sizeof(char*))
+                   firstHasIndex:-1];
+    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetPrefundedSpecializedBalanceResponse)];
     #if defined(DEBUG) && DEBUG
       NSAssert(descriptor == nil, @"Startup recursed!");
     #endif  // DEBUG
@@ -10821,17 +11220,22 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-#pragma mark - GetStatusRequest
+void GetPrefundedSpecializedBalanceResponse_GetPrefundedSpecializedBalanceResponseV0_ClearResultOneOfCase(GetPrefundedSpecializedBalanceResponse_GetPrefundedSpecializedBalanceResponseV0 *message) {
+  GPBDescriptor *descriptor = [GetPrefundedSpecializedBalanceResponse_GetPrefundedSpecializedBalanceResponseV0 descriptor];
+  GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0];
+  GPBClearOneof(message, oneof);
+}
+#pragma mark - GetTotalCreditsInPlatformRequest
 
-@implementation GetStatusRequest
+@implementation GetTotalCreditsInPlatformRequest
 
 @dynamic versionOneOfCase;
 @dynamic v0;
 
-typedef struct GetStatusRequest__storage_ {
+typedef struct GetTotalCreditsInPlatformRequest__storage_ {
   uint32_t _has_storage_[2];
-  GetStatusRequest_GetStatusRequestV0 *v0;
-} GetStatusRequest__storage_;
+  GetTotalCreditsInPlatformRequest_GetTotalCreditsInPlatformRequestV0 *v0;
+} GetTotalCreditsInPlatformRequest__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -10841,21 +11245,21 @@ + (GPBDescriptor *)descriptor {
     static GPBMessageFieldDescription fields[] = {
       {
         .name = "v0",
-        .dataTypeSpecific.clazz = GPBObjCClass(GetStatusRequest_GetStatusRequestV0),
-        .number = GetStatusRequest_FieldNumber_V0,
+        .dataTypeSpecific.clazz = GPBObjCClass(GetTotalCreditsInPlatformRequest_GetTotalCreditsInPlatformRequestV0),
+        .number = GetTotalCreditsInPlatformRequest_FieldNumber_V0,
         .hasIndex = -1,
-        .offset = (uint32_t)offsetof(GetStatusRequest__storage_, v0),
+        .offset = (uint32_t)offsetof(GetTotalCreditsInPlatformRequest__storage_, v0),
         .flags = GPBFieldOptional,
         .dataType = GPBDataTypeMessage,
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetStatusRequest class]
+        [GPBDescriptor allocDescriptorForClass:[GetTotalCreditsInPlatformRequest class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetStatusRequest__storage_)
+                                   storageSize:sizeof(GetTotalCreditsInPlatformRequest__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
     static const char *oneofs[] = {
       "version",
@@ -10873,34 +11277,46 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-void GetStatusRequest_ClearVersionOneOfCase(GetStatusRequest *message) {
-  GPBDescriptor *descriptor = [GetStatusRequest descriptor];
+void GetTotalCreditsInPlatformRequest_ClearVersionOneOfCase(GetTotalCreditsInPlatformRequest *message) {
+  GPBDescriptor *descriptor = [GetTotalCreditsInPlatformRequest descriptor];
   GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0];
   GPBClearOneof(message, oneof);
 }
-#pragma mark - GetStatusRequest_GetStatusRequestV0
+#pragma mark - GetTotalCreditsInPlatformRequest_GetTotalCreditsInPlatformRequestV0
 
-@implementation GetStatusRequest_GetStatusRequestV0
+@implementation GetTotalCreditsInPlatformRequest_GetTotalCreditsInPlatformRequestV0
 
+@dynamic prove;
 
-typedef struct GetStatusRequest_GetStatusRequestV0__storage_ {
+typedef struct GetTotalCreditsInPlatformRequest_GetTotalCreditsInPlatformRequestV0__storage_ {
   uint32_t _has_storage_[1];
-} GetStatusRequest_GetStatusRequestV0__storage_;
+} GetTotalCreditsInPlatformRequest_GetTotalCreditsInPlatformRequestV0__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 = GetTotalCreditsInPlatformRequest_GetTotalCreditsInPlatformRequestV0_FieldNumber_Prove,
+        .hasIndex = 0,
+        .offset = 1,  // Stored in _has_storage_ to save space.
+        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
+        .dataType = GPBDataTypeBool,
+      },
+    };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetStatusRequest_GetStatusRequestV0 class]
+        [GPBDescriptor allocDescriptorForClass:[GetTotalCreditsInPlatformRequest_GetTotalCreditsInPlatformRequestV0 class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
-                                        fields:NULL
-                                    fieldCount:0
-                                   storageSize:sizeof(GetStatusRequest_GetStatusRequestV0__storage_)
+                                        fields:fields
+                                    fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
+                                   storageSize:sizeof(GetTotalCreditsInPlatformRequest_GetTotalCreditsInPlatformRequestV0__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
-    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetStatusRequest)];
+    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetTotalCreditsInPlatformRequest)];
     #if defined(DEBUG) && DEBUG
       NSAssert(descriptor == nil, @"Startup recursed!");
     #endif  // DEBUG
@@ -10911,17 +11327,17 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-#pragma mark - GetStatusResponse
+#pragma mark - GetTotalCreditsInPlatformResponse
 
-@implementation GetStatusResponse
+@implementation GetTotalCreditsInPlatformResponse
 
 @dynamic versionOneOfCase;
 @dynamic v0;
 
-typedef struct GetStatusResponse__storage_ {
+typedef struct GetTotalCreditsInPlatformResponse__storage_ {
   uint32_t _has_storage_[2];
-  GetStatusResponse_GetStatusResponseV0 *v0;
-} GetStatusResponse__storage_;
+  GetTotalCreditsInPlatformResponse_GetTotalCreditsInPlatformResponseV0 *v0;
+} GetTotalCreditsInPlatformResponse__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -10931,21 +11347,21 @@ + (GPBDescriptor *)descriptor {
     static GPBMessageFieldDescription fields[] = {
       {
         .name = "v0",
-        .dataTypeSpecific.clazz = GPBObjCClass(GetStatusResponse_GetStatusResponseV0),
-        .number = GetStatusResponse_FieldNumber_V0,
+        .dataTypeSpecific.clazz = GPBObjCClass(GetTotalCreditsInPlatformResponse_GetTotalCreditsInPlatformResponseV0),
+        .number = GetTotalCreditsInPlatformResponse_FieldNumber_V0,
         .hasIndex = -1,
-        .offset = (uint32_t)offsetof(GetStatusResponse__storage_, v0),
+        .offset = (uint32_t)offsetof(GetTotalCreditsInPlatformResponse__storage_, v0),
         .flags = GPBFieldOptional,
         .dataType = GPBDataTypeMessage,
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetStatusResponse class]
+        [GPBDescriptor allocDescriptorForClass:[GetTotalCreditsInPlatformResponse class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetStatusResponse__storage_)
+                                   storageSize:sizeof(GetTotalCreditsInPlatformResponse__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
     static const char *oneofs[] = {
       "version",
@@ -10963,102 +11379,76 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-void GetStatusResponse_ClearVersionOneOfCase(GetStatusResponse *message) {
-  GPBDescriptor *descriptor = [GetStatusResponse descriptor];
+void GetTotalCreditsInPlatformResponse_ClearVersionOneOfCase(GetTotalCreditsInPlatformResponse *message) {
+  GPBDescriptor *descriptor = [GetTotalCreditsInPlatformResponse descriptor];
   GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0];
   GPBClearOneof(message, oneof);
 }
-#pragma mark - GetStatusResponse_GetStatusResponseV0
-
-@implementation GetStatusResponse_GetStatusResponseV0
+#pragma mark - GetTotalCreditsInPlatformResponse_GetTotalCreditsInPlatformResponseV0
 
-@dynamic hasVersion, version;
-@dynamic hasNode, node;
-@dynamic hasChain, chain;
-@dynamic hasNetwork, network;
-@dynamic hasStateSync, stateSync;
-@dynamic hasTime, time;
+@implementation GetTotalCreditsInPlatformResponse_GetTotalCreditsInPlatformResponseV0
 
-typedef struct GetStatusResponse_GetStatusResponseV0__storage_ {
-  uint32_t _has_storage_[1];
-  GetStatusResponse_GetStatusResponseV0_Version *version;
-  GetStatusResponse_GetStatusResponseV0_Node *node;
-  GetStatusResponse_GetStatusResponseV0_Chain *chain;
-  GetStatusResponse_GetStatusResponseV0_Network *network;
-  GetStatusResponse_GetStatusResponseV0_StateSync *stateSync;
-  GetStatusResponse_GetStatusResponseV0_Time *time;
-} GetStatusResponse_GetStatusResponseV0__storage_;
+@dynamic resultOneOfCase;
+@dynamic credits;
+@dynamic proof;
+@dynamic hasMetadata, metadata;
 
-// This method is threadsafe because it is initially called
-// in +initialize for each subclass.
-+ (GPBDescriptor *)descriptor {
+typedef struct GetTotalCreditsInPlatformResponse_GetTotalCreditsInPlatformResponseV0__storage_ {
+  uint32_t _has_storage_[2];
+  Proof *proof;
+  ResponseMetadata *metadata;
+  uint64_t credits;
+} GetTotalCreditsInPlatformResponse_GetTotalCreditsInPlatformResponseV0__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 = "version",
-        .dataTypeSpecific.clazz = GPBObjCClass(GetStatusResponse_GetStatusResponseV0_Version),
-        .number = GetStatusResponse_GetStatusResponseV0_FieldNumber_Version,
-        .hasIndex = 0,
-        .offset = (uint32_t)offsetof(GetStatusResponse_GetStatusResponseV0__storage_, version),
-        .flags = GPBFieldOptional,
-        .dataType = GPBDataTypeMessage,
-      },
-      {
-        .name = "node",
-        .dataTypeSpecific.clazz = GPBObjCClass(GetStatusResponse_GetStatusResponseV0_Node),
-        .number = GetStatusResponse_GetStatusResponseV0_FieldNumber_Node,
-        .hasIndex = 1,
-        .offset = (uint32_t)offsetof(GetStatusResponse_GetStatusResponseV0__storage_, node),
-        .flags = GPBFieldOptional,
-        .dataType = GPBDataTypeMessage,
-      },
-      {
-        .name = "chain",
-        .dataTypeSpecific.clazz = GPBObjCClass(GetStatusResponse_GetStatusResponseV0_Chain),
-        .number = GetStatusResponse_GetStatusResponseV0_FieldNumber_Chain,
-        .hasIndex = 2,
-        .offset = (uint32_t)offsetof(GetStatusResponse_GetStatusResponseV0__storage_, chain),
-        .flags = GPBFieldOptional,
-        .dataType = GPBDataTypeMessage,
-      },
-      {
-        .name = "network",
-        .dataTypeSpecific.clazz = GPBObjCClass(GetStatusResponse_GetStatusResponseV0_Network),
-        .number = GetStatusResponse_GetStatusResponseV0_FieldNumber_Network,
-        .hasIndex = 3,
-        .offset = (uint32_t)offsetof(GetStatusResponse_GetStatusResponseV0__storage_, network),
+        .name = "credits",
+        .dataTypeSpecific.clazz = Nil,
+        .number = GetTotalCreditsInPlatformResponse_GetTotalCreditsInPlatformResponseV0_FieldNumber_Credits,
+        .hasIndex = -1,
+        .offset = (uint32_t)offsetof(GetTotalCreditsInPlatformResponse_GetTotalCreditsInPlatformResponseV0__storage_, credits),
         .flags = GPBFieldOptional,
-        .dataType = GPBDataTypeMessage,
+        .dataType = GPBDataTypeUInt64,
       },
       {
-        .name = "stateSync",
-        .dataTypeSpecific.clazz = GPBObjCClass(GetStatusResponse_GetStatusResponseV0_StateSync),
-        .number = GetStatusResponse_GetStatusResponseV0_FieldNumber_StateSync,
-        .hasIndex = 4,
-        .offset = (uint32_t)offsetof(GetStatusResponse_GetStatusResponseV0__storage_, stateSync),
+        .name = "proof",
+        .dataTypeSpecific.clazz = GPBObjCClass(Proof),
+        .number = GetTotalCreditsInPlatformResponse_GetTotalCreditsInPlatformResponseV0_FieldNumber_Proof,
+        .hasIndex = -1,
+        .offset = (uint32_t)offsetof(GetTotalCreditsInPlatformResponse_GetTotalCreditsInPlatformResponseV0__storage_, proof),
         .flags = GPBFieldOptional,
         .dataType = GPBDataTypeMessage,
       },
       {
-        .name = "time",
-        .dataTypeSpecific.clazz = GPBObjCClass(GetStatusResponse_GetStatusResponseV0_Time),
-        .number = GetStatusResponse_GetStatusResponseV0_FieldNumber_Time,
-        .hasIndex = 5,
-        .offset = (uint32_t)offsetof(GetStatusResponse_GetStatusResponseV0__storage_, time),
+        .name = "metadata",
+        .dataTypeSpecific.clazz = GPBObjCClass(ResponseMetadata),
+        .number = GetTotalCreditsInPlatformResponse_GetTotalCreditsInPlatformResponseV0_FieldNumber_Metadata,
+        .hasIndex = 0,
+        .offset = (uint32_t)offsetof(GetTotalCreditsInPlatformResponse_GetTotalCreditsInPlatformResponseV0__storage_, metadata),
         .flags = GPBFieldOptional,
         .dataType = GPBDataTypeMessage,
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetStatusResponse_GetStatusResponseV0 class]
+        [GPBDescriptor allocDescriptorForClass:[GetTotalCreditsInPlatformResponse_GetTotalCreditsInPlatformResponseV0 class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetStatusResponse_GetStatusResponseV0__storage_)
+                                   storageSize:sizeof(GetTotalCreditsInPlatformResponse_GetTotalCreditsInPlatformResponseV0__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
-    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetStatusResponse)];
+    static const char *oneofs[] = {
+      "result",
+    };
+    [localDescriptor setupOneofs:oneofs
+                           count:(uint32_t)(sizeof(oneofs) / sizeof(char*))
+                   firstHasIndex:-1];
+    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetTotalCreditsInPlatformResponse)];
     #if defined(DEBUG) && DEBUG
       NSAssert(descriptor == nil, @"Startup recursed!");
     #endif  // DEBUG
@@ -11069,18 +11459,22 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-#pragma mark - GetStatusResponse_GetStatusResponseV0_Version
+void GetTotalCreditsInPlatformResponse_GetTotalCreditsInPlatformResponseV0_ClearResultOneOfCase(GetTotalCreditsInPlatformResponse_GetTotalCreditsInPlatformResponseV0 *message) {
+  GPBDescriptor *descriptor = [GetTotalCreditsInPlatformResponse_GetTotalCreditsInPlatformResponseV0 descriptor];
+  GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0];
+  GPBClearOneof(message, oneof);
+}
+#pragma mark - GetPathElementsRequest
 
-@implementation GetStatusResponse_GetStatusResponseV0_Version
+@implementation GetPathElementsRequest
 
-@dynamic hasSoftware, software;
-@dynamic hasProtocol, protocol;
+@dynamic versionOneOfCase;
+@dynamic v0;
 
-typedef struct GetStatusResponse_GetStatusResponseV0_Version__storage_ {
-  uint32_t _has_storage_[1];
-  GetStatusResponse_GetStatusResponseV0_Version_Software *software;
-  GetStatusResponse_GetStatusResponseV0_Version_Protocol *protocol;
-} GetStatusResponse_GetStatusResponseV0_Version__storage_;
+typedef struct GetPathElementsRequest__storage_ {
+  uint32_t _has_storage_[2];
+  GetPathElementsRequest_GetPathElementsRequestV0 *v0;
+} GetPathElementsRequest__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -11089,33 +11483,29 @@ + (GPBDescriptor *)descriptor {
   if (!descriptor) {
     static GPBMessageFieldDescription fields[] = {
       {
-        .name = "software",
-        .dataTypeSpecific.clazz = GPBObjCClass(GetStatusResponse_GetStatusResponseV0_Version_Software),
-        .number = GetStatusResponse_GetStatusResponseV0_Version_FieldNumber_Software,
-        .hasIndex = 0,
-        .offset = (uint32_t)offsetof(GetStatusResponse_GetStatusResponseV0_Version__storage_, software),
-        .flags = GPBFieldOptional,
-        .dataType = GPBDataTypeMessage,
-      },
-      {
-        .name = "protocol",
-        .dataTypeSpecific.clazz = GPBObjCClass(GetStatusResponse_GetStatusResponseV0_Version_Protocol),
-        .number = GetStatusResponse_GetStatusResponseV0_Version_FieldNumber_Protocol,
-        .hasIndex = 1,
-        .offset = (uint32_t)offsetof(GetStatusResponse_GetStatusResponseV0_Version__storage_, protocol),
+        .name = "v0",
+        .dataTypeSpecific.clazz = GPBObjCClass(GetPathElementsRequest_GetPathElementsRequestV0),
+        .number = GetPathElementsRequest_FieldNumber_V0,
+        .hasIndex = -1,
+        .offset = (uint32_t)offsetof(GetPathElementsRequest__storage_, v0),
         .flags = GPBFieldOptional,
         .dataType = GPBDataTypeMessage,
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetStatusResponse_GetStatusResponseV0_Version class]
+        [GPBDescriptor allocDescriptorForClass:[GetPathElementsRequest class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetStatusResponse_GetStatusResponseV0_Version__storage_)
+                                   storageSize:sizeof(GetPathElementsRequest__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
-    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetStatusResponse_GetStatusResponseV0)];
+    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
@@ -11126,20 +11516,24 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-#pragma mark - GetStatusResponse_GetStatusResponseV0_Version_Software
+void GetPathElementsRequest_ClearVersionOneOfCase(GetPathElementsRequest *message) {
+  GPBDescriptor *descriptor = [GetPathElementsRequest descriptor];
+  GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0];
+  GPBClearOneof(message, oneof);
+}
+#pragma mark - GetPathElementsRequest_GetPathElementsRequestV0
 
-@implementation GetStatusResponse_GetStatusResponseV0_Version_Software
+@implementation GetPathElementsRequest_GetPathElementsRequestV0
 
-@dynamic dapi;
-@dynamic hasDrive, drive;
-@dynamic hasTenderdash, tenderdash;
+@dynamic pathArray, pathArray_Count;
+@dynamic keysArray, keysArray_Count;
+@dynamic prove;
 
-typedef struct GetStatusResponse_GetStatusResponseV0_Version_Software__storage_ {
+typedef struct GetPathElementsRequest_GetPathElementsRequestV0__storage_ {
   uint32_t _has_storage_[1];
-  NSString *dapi;
-  NSString *drive;
-  NSString *tenderdash;
-} GetStatusResponse_GetStatusResponseV0_Version_Software__storage_;
+  NSMutableArray *pathArray;
+  NSMutableArray *keysArray;
+} GetPathElementsRequest_GetPathElementsRequestV0__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -11148,42 +11542,42 @@ + (GPBDescriptor *)descriptor {
   if (!descriptor) {
     static GPBMessageFieldDescription fields[] = {
       {
-        .name = "dapi",
+        .name = "pathArray",
         .dataTypeSpecific.clazz = Nil,
-        .number = GetStatusResponse_GetStatusResponseV0_Version_Software_FieldNumber_Dapi,
-        .hasIndex = 0,
-        .offset = (uint32_t)offsetof(GetStatusResponse_GetStatusResponseV0_Version_Software__storage_, dapi),
-        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
-        .dataType = GPBDataTypeString,
+        .number = GetPathElementsRequest_GetPathElementsRequestV0_FieldNumber_PathArray,
+        .hasIndex = GPBNoHasBit,
+        .offset = (uint32_t)offsetof(GetPathElementsRequest_GetPathElementsRequestV0__storage_, pathArray),
+        .flags = GPBFieldRepeated,
+        .dataType = GPBDataTypeBytes,
       },
       {
-        .name = "drive",
+        .name = "keysArray",
         .dataTypeSpecific.clazz = Nil,
-        .number = GetStatusResponse_GetStatusResponseV0_Version_Software_FieldNumber_Drive,
-        .hasIndex = 1,
-        .offset = (uint32_t)offsetof(GetStatusResponse_GetStatusResponseV0_Version_Software__storage_, drive),
-        .flags = GPBFieldOptional,
-        .dataType = GPBDataTypeString,
+        .number = GetPathElementsRequest_GetPathElementsRequestV0_FieldNumber_KeysArray,
+        .hasIndex = GPBNoHasBit,
+        .offset = (uint32_t)offsetof(GetPathElementsRequest_GetPathElementsRequestV0__storage_, keysArray),
+        .flags = GPBFieldRepeated,
+        .dataType = GPBDataTypeBytes,
       },
       {
-        .name = "tenderdash",
+        .name = "prove",
         .dataTypeSpecific.clazz = Nil,
-        .number = GetStatusResponse_GetStatusResponseV0_Version_Software_FieldNumber_Tenderdash,
-        .hasIndex = 2,
-        .offset = (uint32_t)offsetof(GetStatusResponse_GetStatusResponseV0_Version_Software__storage_, tenderdash),
-        .flags = GPBFieldOptional,
-        .dataType = GPBDataTypeString,
+        .number = GetPathElementsRequest_GetPathElementsRequestV0_FieldNumber_Prove,
+        .hasIndex = 0,
+        .offset = 1,  // Stored in _has_storage_ to save space.
+        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
+        .dataType = GPBDataTypeBool,
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetStatusResponse_GetStatusResponseV0_Version_Software class]
+        [GPBDescriptor allocDescriptorForClass:[GetPathElementsRequest_GetPathElementsRequestV0 class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetStatusResponse_GetStatusResponseV0_Version_Software__storage_)
+                                   storageSize:sizeof(GetPathElementsRequest_GetPathElementsRequestV0__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
-    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetStatusResponse_GetStatusResponseV0_Version)];
+    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetPathElementsRequest)];
     #if defined(DEBUG) && DEBUG
       NSAssert(descriptor == nil, @"Startup recursed!");
     #endif  // DEBUG
@@ -11194,18 +11588,17 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-#pragma mark - GetStatusResponse_GetStatusResponseV0_Version_Protocol
+#pragma mark - GetPathElementsResponse
 
-@implementation GetStatusResponse_GetStatusResponseV0_Version_Protocol
+@implementation GetPathElementsResponse
 
-@dynamic hasTenderdash, tenderdash;
-@dynamic hasDrive, drive;
+@dynamic versionOneOfCase;
+@dynamic v0;
 
-typedef struct GetStatusResponse_GetStatusResponseV0_Version_Protocol__storage_ {
-  uint32_t _has_storage_[1];
-  GetStatusResponse_GetStatusResponseV0_Version_Protocol_Tenderdash *tenderdash;
-  GetStatusResponse_GetStatusResponseV0_Version_Protocol_Drive *drive;
-} GetStatusResponse_GetStatusResponseV0_Version_Protocol__storage_;
+typedef struct GetPathElementsResponse__storage_ {
+  uint32_t _has_storage_[2];
+  GetPathElementsResponse_GetPathElementsResponseV0 *v0;
+} GetPathElementsResponse__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -11214,33 +11607,29 @@ + (GPBDescriptor *)descriptor {
   if (!descriptor) {
     static GPBMessageFieldDescription fields[] = {
       {
-        .name = "tenderdash",
-        .dataTypeSpecific.clazz = GPBObjCClass(GetStatusResponse_GetStatusResponseV0_Version_Protocol_Tenderdash),
-        .number = GetStatusResponse_GetStatusResponseV0_Version_Protocol_FieldNumber_Tenderdash,
-        .hasIndex = 0,
-        .offset = (uint32_t)offsetof(GetStatusResponse_GetStatusResponseV0_Version_Protocol__storage_, tenderdash),
-        .flags = GPBFieldOptional,
-        .dataType = GPBDataTypeMessage,
-      },
-      {
-        .name = "drive",
-        .dataTypeSpecific.clazz = GPBObjCClass(GetStatusResponse_GetStatusResponseV0_Version_Protocol_Drive),
-        .number = GetStatusResponse_GetStatusResponseV0_Version_Protocol_FieldNumber_Drive,
-        .hasIndex = 1,
-        .offset = (uint32_t)offsetof(GetStatusResponse_GetStatusResponseV0_Version_Protocol__storage_, drive),
+        .name = "v0",
+        .dataTypeSpecific.clazz = GPBObjCClass(GetPathElementsResponse_GetPathElementsResponseV0),
+        .number = GetPathElementsResponse_FieldNumber_V0,
+        .hasIndex = -1,
+        .offset = (uint32_t)offsetof(GetPathElementsResponse__storage_, v0),
         .flags = GPBFieldOptional,
         .dataType = GPBDataTypeMessage,
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetStatusResponse_GetStatusResponseV0_Version_Protocol class]
+        [GPBDescriptor allocDescriptorForClass:[GetPathElementsResponse class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetStatusResponse_GetStatusResponseV0_Version_Protocol__storage_)
+                                   storageSize:sizeof(GetPathElementsResponse__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
-    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetStatusResponse_GetStatusResponseV0_Version)];
+    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
@@ -11251,18 +11640,26 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-#pragma mark - GetStatusResponse_GetStatusResponseV0_Version_Protocol_Tenderdash
+void GetPathElementsResponse_ClearVersionOneOfCase(GetPathElementsResponse *message) {
+  GPBDescriptor *descriptor = [GetPathElementsResponse descriptor];
+  GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0];
+  GPBClearOneof(message, oneof);
+}
+#pragma mark - GetPathElementsResponse_GetPathElementsResponseV0
 
-@implementation GetStatusResponse_GetStatusResponseV0_Version_Protocol_Tenderdash
+@implementation GetPathElementsResponse_GetPathElementsResponseV0
 
-@dynamic p2P;
-@dynamic block;
+@dynamic resultOneOfCase;
+@dynamic elements;
+@dynamic proof;
+@dynamic hasMetadata, metadata;
 
-typedef struct GetStatusResponse_GetStatusResponseV0_Version_Protocol_Tenderdash__storage_ {
-  uint32_t _has_storage_[1];
-  uint32_t p2P;
-  uint32_t block;
-} GetStatusResponse_GetStatusResponseV0_Version_Protocol_Tenderdash__storage_;
+typedef struct GetPathElementsResponse_GetPathElementsResponseV0__storage_ {
+  uint32_t _has_storage_[2];
+  GetPathElementsResponse_GetPathElementsResponseV0_Elements *elements;
+  Proof *proof;
+  ResponseMetadata *metadata;
+} GetPathElementsResponse_GetPathElementsResponseV0__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -11271,38 +11668,48 @@ + (GPBDescriptor *)descriptor {
   if (!descriptor) {
     static GPBMessageFieldDescription fields[] = {
       {
-        .name = "p2P",
-        .dataTypeSpecific.clazz = Nil,
-        .number = GetStatusResponse_GetStatusResponseV0_Version_Protocol_Tenderdash_FieldNumber_P2P,
-        .hasIndex = 0,
-        .offset = (uint32_t)offsetof(GetStatusResponse_GetStatusResponseV0_Version_Protocol_Tenderdash__storage_, p2P),
-        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom | GPBFieldClearHasIvarOnZero),
-        .dataType = GPBDataTypeUInt32,
+        .name = "elements",
+        .dataTypeSpecific.clazz = GPBObjCClass(GetPathElementsResponse_GetPathElementsResponseV0_Elements),
+        .number = GetPathElementsResponse_GetPathElementsResponseV0_FieldNumber_Elements,
+        .hasIndex = -1,
+        .offset = (uint32_t)offsetof(GetPathElementsResponse_GetPathElementsResponseV0__storage_, elements),
+        .flags = GPBFieldOptional,
+        .dataType = GPBDataTypeMessage,
       },
       {
-        .name = "block",
-        .dataTypeSpecific.clazz = Nil,
-        .number = GetStatusResponse_GetStatusResponseV0_Version_Protocol_Tenderdash_FieldNumber_Block,
-        .hasIndex = 1,
-        .offset = (uint32_t)offsetof(GetStatusResponse_GetStatusResponseV0_Version_Protocol_Tenderdash__storage_, block),
-        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
-        .dataType = GPBDataTypeUInt32,
+        .name = "proof",
+        .dataTypeSpecific.clazz = GPBObjCClass(Proof),
+        .number = GetPathElementsResponse_GetPathElementsResponseV0_FieldNumber_Proof,
+        .hasIndex = -1,
+        .offset = (uint32_t)offsetof(GetPathElementsResponse_GetPathElementsResponseV0__storage_, proof),
+        .flags = GPBFieldOptional,
+        .dataType = GPBDataTypeMessage,
+      },
+      {
+        .name = "metadata",
+        .dataTypeSpecific.clazz = GPBObjCClass(ResponseMetadata),
+        .number = GetPathElementsResponse_GetPathElementsResponseV0_FieldNumber_Metadata,
+        .hasIndex = 0,
+        .offset = (uint32_t)offsetof(GetPathElementsResponse_GetPathElementsResponseV0__storage_, metadata),
+        .flags = GPBFieldOptional,
+        .dataType = GPBDataTypeMessage,
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetStatusResponse_GetStatusResponseV0_Version_Protocol_Tenderdash class]
+        [GPBDescriptor allocDescriptorForClass:[GetPathElementsResponse_GetPathElementsResponseV0 class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetStatusResponse_GetStatusResponseV0_Version_Protocol_Tenderdash__storage_)
+                                   storageSize:sizeof(GetPathElementsResponse_GetPathElementsResponseV0__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
-#if !GPBOBJC_SKIP_MESSAGE_TEXTFORMAT_EXTRAS
-    static const char *extraTextFormatInfo =
-        "\001\001\002!\000";
-    [localDescriptor setupExtraTextInfo:extraTextFormatInfo];
-#endif  // !GPBOBJC_SKIP_MESSAGE_TEXTFORMAT_EXTRAS
-    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetStatusResponse_GetStatusResponseV0_Version_Protocol)];
+    static const char *oneofs[] = {
+      "result",
+    };
+    [localDescriptor setupOneofs:oneofs
+                           count:(uint32_t)(sizeof(oneofs) / sizeof(char*))
+                   firstHasIndex:-1];
+    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetPathElementsResponse)];
     #if defined(DEBUG) && DEBUG
       NSAssert(descriptor == nil, @"Startup recursed!");
     #endif  // DEBUG
@@ -11313,18 +11720,21 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-#pragma mark - GetStatusResponse_GetStatusResponseV0_Version_Protocol_Drive
+void GetPathElementsResponse_GetPathElementsResponseV0_ClearResultOneOfCase(GetPathElementsResponse_GetPathElementsResponseV0 *message) {
+  GPBDescriptor *descriptor = [GetPathElementsResponse_GetPathElementsResponseV0 descriptor];
+  GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0];
+  GPBClearOneof(message, oneof);
+}
+#pragma mark - GetPathElementsResponse_GetPathElementsResponseV0_Elements
 
-@implementation GetStatusResponse_GetStatusResponseV0_Version_Protocol_Drive
+@implementation GetPathElementsResponse_GetPathElementsResponseV0_Elements
 
-@dynamic latest;
-@dynamic current;
+@dynamic elementsArray, elementsArray_Count;
 
-typedef struct GetStatusResponse_GetStatusResponseV0_Version_Protocol_Drive__storage_ {
+typedef struct GetPathElementsResponse_GetPathElementsResponseV0_Elements__storage_ {
   uint32_t _has_storage_[1];
-  uint32_t latest;
-  uint32_t current;
-} GetStatusResponse_GetStatusResponseV0_Version_Protocol_Drive__storage_;
+  NSMutableArray *elementsArray;
+} GetPathElementsResponse_GetPathElementsResponseV0_Elements__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -11333,33 +11743,24 @@ + (GPBDescriptor *)descriptor {
   if (!descriptor) {
     static GPBMessageFieldDescription fields[] = {
       {
-        .name = "latest",
-        .dataTypeSpecific.clazz = Nil,
-        .number = GetStatusResponse_GetStatusResponseV0_Version_Protocol_Drive_FieldNumber_Latest,
-        .hasIndex = 0,
-        .offset = (uint32_t)offsetof(GetStatusResponse_GetStatusResponseV0_Version_Protocol_Drive__storage_, latest),
-        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
-        .dataType = GPBDataTypeUInt32,
-      },
-      {
-        .name = "current",
+        .name = "elementsArray",
         .dataTypeSpecific.clazz = Nil,
-        .number = GetStatusResponse_GetStatusResponseV0_Version_Protocol_Drive_FieldNumber_Current,
-        .hasIndex = 1,
-        .offset = (uint32_t)offsetof(GetStatusResponse_GetStatusResponseV0_Version_Protocol_Drive__storage_, current),
-        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
-        .dataType = GPBDataTypeUInt32,
+        .number = GetPathElementsResponse_GetPathElementsResponseV0_Elements_FieldNumber_ElementsArray,
+        .hasIndex = GPBNoHasBit,
+        .offset = (uint32_t)offsetof(GetPathElementsResponse_GetPathElementsResponseV0_Elements__storage_, elementsArray),
+        .flags = GPBFieldRepeated,
+        .dataType = GPBDataTypeBytes,
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetStatusResponse_GetStatusResponseV0_Version_Protocol_Drive class]
+        [GPBDescriptor allocDescriptorForClass:[GetPathElementsResponse_GetPathElementsResponseV0_Elements class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetStatusResponse_GetStatusResponseV0_Version_Protocol_Drive__storage_)
+                                   storageSize:sizeof(GetPathElementsResponse_GetPathElementsResponseV0_Elements__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
-    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetStatusResponse_GetStatusResponseV0_Version_Protocol)];
+    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetPathElementsResponse_GetPathElementsResponseV0)];
     #if defined(DEBUG) && DEBUG
       NSAssert(descriptor == nil, @"Startup recursed!");
     #endif  // DEBUG
@@ -11370,22 +11771,17 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-#pragma mark - GetStatusResponse_GetStatusResponseV0_Time
+#pragma mark - GetStatusRequest
 
-@implementation GetStatusResponse_GetStatusResponseV0_Time
+@implementation GetStatusRequest
 
-@dynamic local;
-@dynamic hasBlock, block;
-@dynamic hasGenesis, genesis;
-@dynamic hasEpoch, epoch;
+@dynamic versionOneOfCase;
+@dynamic v0;
 
-typedef struct GetStatusResponse_GetStatusResponseV0_Time__storage_ {
-  uint32_t _has_storage_[1];
-  uint32_t epoch;
-  uint64_t local;
-  uint64_t block;
-  uint64_t genesis;
-} GetStatusResponse_GetStatusResponseV0_Time__storage_;
+typedef struct GetStatusRequest__storage_ {
+  uint32_t _has_storage_[2];
+  GetStatusRequest_GetStatusRequestV0 *v0;
+} GetStatusRequest__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -11394,51 +11790,29 @@ + (GPBDescriptor *)descriptor {
   if (!descriptor) {
     static GPBMessageFieldDescription fields[] = {
       {
-        .name = "local",
-        .dataTypeSpecific.clazz = Nil,
-        .number = GetStatusResponse_GetStatusResponseV0_Time_FieldNumber_Local,
-        .hasIndex = 0,
-        .offset = (uint32_t)offsetof(GetStatusResponse_GetStatusResponseV0_Time__storage_, local),
-        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
-        .dataType = GPBDataTypeUInt64,
-      },
-      {
-        .name = "block",
-        .dataTypeSpecific.clazz = Nil,
-        .number = GetStatusResponse_GetStatusResponseV0_Time_FieldNumber_Block,
-        .hasIndex = 1,
-        .offset = (uint32_t)offsetof(GetStatusResponse_GetStatusResponseV0_Time__storage_, block),
-        .flags = GPBFieldOptional,
-        .dataType = GPBDataTypeUInt64,
-      },
-      {
-        .name = "genesis",
-        .dataTypeSpecific.clazz = Nil,
-        .number = GetStatusResponse_GetStatusResponseV0_Time_FieldNumber_Genesis,
-        .hasIndex = 2,
-        .offset = (uint32_t)offsetof(GetStatusResponse_GetStatusResponseV0_Time__storage_, genesis),
-        .flags = GPBFieldOptional,
-        .dataType = GPBDataTypeUInt64,
-      },
-      {
-        .name = "epoch",
-        .dataTypeSpecific.clazz = Nil,
-        .number = GetStatusResponse_GetStatusResponseV0_Time_FieldNumber_Epoch,
-        .hasIndex = 3,
-        .offset = (uint32_t)offsetof(GetStatusResponse_GetStatusResponseV0_Time__storage_, epoch),
+        .name = "v0",
+        .dataTypeSpecific.clazz = GPBObjCClass(GetStatusRequest_GetStatusRequestV0),
+        .number = GetStatusRequest_FieldNumber_V0,
+        .hasIndex = -1,
+        .offset = (uint32_t)offsetof(GetStatusRequest__storage_, v0),
         .flags = GPBFieldOptional,
-        .dataType = GPBDataTypeUInt32,
+        .dataType = GPBDataTypeMessage,
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetStatusResponse_GetStatusResponseV0_Time class]
+        [GPBDescriptor allocDescriptorForClass:[GetStatusRequest class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetStatusResponse_GetStatusResponseV0_Time__storage_)
+                                   storageSize:sizeof(GetStatusRequest__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
-    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetStatusResponse_GetStatusResponseV0)];
+    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
@@ -11449,53 +11823,34 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-#pragma mark - GetStatusResponse_GetStatusResponseV0_Node
+void GetStatusRequest_ClearVersionOneOfCase(GetStatusRequest *message) {
+  GPBDescriptor *descriptor = [GetStatusRequest descriptor];
+  GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0];
+  GPBClearOneof(message, oneof);
+}
+#pragma mark - GetStatusRequest_GetStatusRequestV0
 
-@implementation GetStatusResponse_GetStatusResponseV0_Node
+@implementation GetStatusRequest_GetStatusRequestV0
 
-@dynamic id_p;
-@dynamic hasProTxHash, proTxHash;
 
-typedef struct GetStatusResponse_GetStatusResponseV0_Node__storage_ {
+typedef struct GetStatusRequest_GetStatusRequestV0__storage_ {
   uint32_t _has_storage_[1];
-  NSData *id_p;
-  NSData *proTxHash;
-} GetStatusResponse_GetStatusResponseV0_Node__storage_;
+} GetStatusRequest_GetStatusRequestV0__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 = GetStatusResponse_GetStatusResponseV0_Node_FieldNumber_Id_p,
-        .hasIndex = 0,
-        .offset = (uint32_t)offsetof(GetStatusResponse_GetStatusResponseV0_Node__storage_, id_p),
-        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
-        .dataType = GPBDataTypeBytes,
-      },
-      {
-        .name = "proTxHash",
-        .dataTypeSpecific.clazz = Nil,
-        .number = GetStatusResponse_GetStatusResponseV0_Node_FieldNumber_ProTxHash,
-        .hasIndex = 1,
-        .offset = (uint32_t)offsetof(GetStatusResponse_GetStatusResponseV0_Node__storage_, proTxHash),
-        .flags = GPBFieldOptional,
-        .dataType = GPBDataTypeBytes,
-      },
-    };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetStatusResponse_GetStatusResponseV0_Node class]
+        [GPBDescriptor allocDescriptorForClass:[GetStatusRequest_GetStatusRequestV0 class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
-                                        fields:fields
-                                    fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetStatusResponse_GetStatusResponseV0_Node__storage_)
+                                        fields:NULL
+                                    fieldCount:0
+                                   storageSize:sizeof(GetStatusRequest_GetStatusRequestV0__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
-    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetStatusResponse_GetStatusResponseV0)];
+    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetStatusRequest)];
     #if defined(DEBUG) && DEBUG
       NSAssert(descriptor == nil, @"Startup recursed!");
     #endif  // DEBUG
@@ -11506,31 +11861,17 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-#pragma mark - GetStatusResponse_GetStatusResponseV0_Chain
+#pragma mark - GetStatusResponse
 
-@implementation GetStatusResponse_GetStatusResponseV0_Chain
+@implementation GetStatusResponse
 
-@dynamic catchingUp;
-@dynamic latestBlockHash;
-@dynamic latestAppHash;
-@dynamic latestBlockHeight;
-@dynamic earliestBlockHash;
-@dynamic earliestAppHash;
-@dynamic earliestBlockHeight;
-@dynamic maxPeerBlockHeight;
-@dynamic hasCoreChainLockedHeight, coreChainLockedHeight;
+@dynamic versionOneOfCase;
+@dynamic v0;
 
-typedef struct GetStatusResponse_GetStatusResponseV0_Chain__storage_ {
-  uint32_t _has_storage_[1];
-  uint32_t coreChainLockedHeight;
-  NSData *latestBlockHash;
-  NSData *latestAppHash;
-  NSData *earliestBlockHash;
-  NSData *earliestAppHash;
-  uint64_t latestBlockHeight;
-  uint64_t earliestBlockHeight;
-  uint64_t maxPeerBlockHeight;
-} GetStatusResponse_GetStatusResponseV0_Chain__storage_;
+typedef struct GetStatusResponse__storage_ {
+  uint32_t _has_storage_[2];
+  GetStatusResponse_GetStatusResponseV0 *v0;
+} GetStatusResponse__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -11539,96 +11880,29 @@ + (GPBDescriptor *)descriptor {
   if (!descriptor) {
     static GPBMessageFieldDescription fields[] = {
       {
-        .name = "catchingUp",
-        .dataTypeSpecific.clazz = Nil,
-        .number = GetStatusResponse_GetStatusResponseV0_Chain_FieldNumber_CatchingUp,
-        .hasIndex = 0,
-        .offset = 1,  // Stored in _has_storage_ to save space.
-        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
-        .dataType = GPBDataTypeBool,
-      },
-      {
-        .name = "latestBlockHash",
-        .dataTypeSpecific.clazz = Nil,
-        .number = GetStatusResponse_GetStatusResponseV0_Chain_FieldNumber_LatestBlockHash,
-        .hasIndex = 2,
-        .offset = (uint32_t)offsetof(GetStatusResponse_GetStatusResponseV0_Chain__storage_, latestBlockHash),
-        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
-        .dataType = GPBDataTypeBytes,
-      },
-      {
-        .name = "latestAppHash",
-        .dataTypeSpecific.clazz = Nil,
-        .number = GetStatusResponse_GetStatusResponseV0_Chain_FieldNumber_LatestAppHash,
-        .hasIndex = 3,
-        .offset = (uint32_t)offsetof(GetStatusResponse_GetStatusResponseV0_Chain__storage_, latestAppHash),
-        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
-        .dataType = GPBDataTypeBytes,
-      },
-      {
-        .name = "latestBlockHeight",
-        .dataTypeSpecific.clazz = Nil,
-        .number = GetStatusResponse_GetStatusResponseV0_Chain_FieldNumber_LatestBlockHeight,
-        .hasIndex = 4,
-        .offset = (uint32_t)offsetof(GetStatusResponse_GetStatusResponseV0_Chain__storage_, latestBlockHeight),
-        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
-        .dataType = GPBDataTypeUInt64,
-      },
-      {
-        .name = "earliestBlockHash",
-        .dataTypeSpecific.clazz = Nil,
-        .number = GetStatusResponse_GetStatusResponseV0_Chain_FieldNumber_EarliestBlockHash,
-        .hasIndex = 5,
-        .offset = (uint32_t)offsetof(GetStatusResponse_GetStatusResponseV0_Chain__storage_, earliestBlockHash),
-        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
-        .dataType = GPBDataTypeBytes,
-      },
-      {
-        .name = "earliestAppHash",
-        .dataTypeSpecific.clazz = Nil,
-        .number = GetStatusResponse_GetStatusResponseV0_Chain_FieldNumber_EarliestAppHash,
-        .hasIndex = 6,
-        .offset = (uint32_t)offsetof(GetStatusResponse_GetStatusResponseV0_Chain__storage_, earliestAppHash),
-        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
-        .dataType = GPBDataTypeBytes,
-      },
-      {
-        .name = "earliestBlockHeight",
-        .dataTypeSpecific.clazz = Nil,
-        .number = GetStatusResponse_GetStatusResponseV0_Chain_FieldNumber_EarliestBlockHeight,
-        .hasIndex = 7,
-        .offset = (uint32_t)offsetof(GetStatusResponse_GetStatusResponseV0_Chain__storage_, earliestBlockHeight),
-        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
-        .dataType = GPBDataTypeUInt64,
-      },
-      {
-        .name = "maxPeerBlockHeight",
-        .dataTypeSpecific.clazz = Nil,
-        .number = GetStatusResponse_GetStatusResponseV0_Chain_FieldNumber_MaxPeerBlockHeight,
-        .hasIndex = 8,
-        .offset = (uint32_t)offsetof(GetStatusResponse_GetStatusResponseV0_Chain__storage_, maxPeerBlockHeight),
-        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
-        .dataType = GPBDataTypeUInt64,
-      },
-      {
-        .name = "coreChainLockedHeight",
-        .dataTypeSpecific.clazz = Nil,
-        .number = GetStatusResponse_GetStatusResponseV0_Chain_FieldNumber_CoreChainLockedHeight,
-        .hasIndex = 9,
-        .offset = (uint32_t)offsetof(GetStatusResponse_GetStatusResponseV0_Chain__storage_, coreChainLockedHeight),
+        .name = "v0",
+        .dataTypeSpecific.clazz = GPBObjCClass(GetStatusResponse_GetStatusResponseV0),
+        .number = GetStatusResponse_FieldNumber_V0,
+        .hasIndex = -1,
+        .offset = (uint32_t)offsetof(GetStatusResponse__storage_, v0),
         .flags = GPBFieldOptional,
-        .dataType = GPBDataTypeUInt32,
+        .dataType = GPBDataTypeMessage,
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetStatusResponse_GetStatusResponseV0_Chain class]
+        [GPBDescriptor allocDescriptorForClass:[GetStatusResponse class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetStatusResponse_GetStatusResponseV0_Chain__storage_)
+                                   storageSize:sizeof(GetStatusResponse__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
-    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetStatusResponse_GetStatusResponseV0)];
+    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
@@ -11639,19 +11913,31 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-#pragma mark - GetStatusResponse_GetStatusResponseV0_Network
+void GetStatusResponse_ClearVersionOneOfCase(GetStatusResponse *message) {
+  GPBDescriptor *descriptor = [GetStatusResponse descriptor];
+  GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0];
+  GPBClearOneof(message, oneof);
+}
+#pragma mark - GetStatusResponse_GetStatusResponseV0
 
-@implementation GetStatusResponse_GetStatusResponseV0_Network
+@implementation GetStatusResponse_GetStatusResponseV0
 
-@dynamic chainId;
-@dynamic peersCount;
-@dynamic listening;
+@dynamic hasVersion, version;
+@dynamic hasNode, node;
+@dynamic hasChain, chain;
+@dynamic hasNetwork, network;
+@dynamic hasStateSync, stateSync;
+@dynamic hasTime, time;
 
-typedef struct GetStatusResponse_GetStatusResponseV0_Network__storage_ {
+typedef struct GetStatusResponse_GetStatusResponseV0__storage_ {
   uint32_t _has_storage_[1];
-  uint32_t peersCount;
-  NSString *chainId;
-} GetStatusResponse_GetStatusResponseV0_Network__storage_;
+  GetStatusResponse_GetStatusResponseV0_Version *version;
+  GetStatusResponse_GetStatusResponseV0_Node *node;
+  GetStatusResponse_GetStatusResponseV0_Chain *chain;
+  GetStatusResponse_GetStatusResponseV0_Network *network;
+  GetStatusResponse_GetStatusResponseV0_StateSync *stateSync;
+  GetStatusResponse_GetStatusResponseV0_Time *time;
+} GetStatusResponse_GetStatusResponseV0__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -11660,42 +11946,69 @@ + (GPBDescriptor *)descriptor {
   if (!descriptor) {
     static GPBMessageFieldDescription fields[] = {
       {
-        .name = "chainId",
-        .dataTypeSpecific.clazz = Nil,
-        .number = GetStatusResponse_GetStatusResponseV0_Network_FieldNumber_ChainId,
+        .name = "version",
+        .dataTypeSpecific.clazz = GPBObjCClass(GetStatusResponse_GetStatusResponseV0_Version),
+        .number = GetStatusResponse_GetStatusResponseV0_FieldNumber_Version,
         .hasIndex = 0,
-        .offset = (uint32_t)offsetof(GetStatusResponse_GetStatusResponseV0_Network__storage_, chainId),
-        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
-        .dataType = GPBDataTypeString,
+        .offset = (uint32_t)offsetof(GetStatusResponse_GetStatusResponseV0__storage_, version),
+        .flags = GPBFieldOptional,
+        .dataType = GPBDataTypeMessage,
       },
       {
-        .name = "peersCount",
-        .dataTypeSpecific.clazz = Nil,
-        .number = GetStatusResponse_GetStatusResponseV0_Network_FieldNumber_PeersCount,
+        .name = "node",
+        .dataTypeSpecific.clazz = GPBObjCClass(GetStatusResponse_GetStatusResponseV0_Node),
+        .number = GetStatusResponse_GetStatusResponseV0_FieldNumber_Node,
         .hasIndex = 1,
-        .offset = (uint32_t)offsetof(GetStatusResponse_GetStatusResponseV0_Network__storage_, peersCount),
-        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
-        .dataType = GPBDataTypeUInt32,
+        .offset = (uint32_t)offsetof(GetStatusResponse_GetStatusResponseV0__storage_, node),
+        .flags = GPBFieldOptional,
+        .dataType = GPBDataTypeMessage,
       },
       {
-        .name = "listening",
-        .dataTypeSpecific.clazz = Nil,
-        .number = GetStatusResponse_GetStatusResponseV0_Network_FieldNumber_Listening,
+        .name = "chain",
+        .dataTypeSpecific.clazz = GPBObjCClass(GetStatusResponse_GetStatusResponseV0_Chain),
+        .number = GetStatusResponse_GetStatusResponseV0_FieldNumber_Chain,
         .hasIndex = 2,
-        .offset = 3,  // Stored in _has_storage_ to save space.
-        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
-        .dataType = GPBDataTypeBool,
+        .offset = (uint32_t)offsetof(GetStatusResponse_GetStatusResponseV0__storage_, chain),
+        .flags = GPBFieldOptional,
+        .dataType = GPBDataTypeMessage,
+      },
+      {
+        .name = "network",
+        .dataTypeSpecific.clazz = GPBObjCClass(GetStatusResponse_GetStatusResponseV0_Network),
+        .number = GetStatusResponse_GetStatusResponseV0_FieldNumber_Network,
+        .hasIndex = 3,
+        .offset = (uint32_t)offsetof(GetStatusResponse_GetStatusResponseV0__storage_, network),
+        .flags = GPBFieldOptional,
+        .dataType = GPBDataTypeMessage,
+      },
+      {
+        .name = "stateSync",
+        .dataTypeSpecific.clazz = GPBObjCClass(GetStatusResponse_GetStatusResponseV0_StateSync),
+        .number = GetStatusResponse_GetStatusResponseV0_FieldNumber_StateSync,
+        .hasIndex = 4,
+        .offset = (uint32_t)offsetof(GetStatusResponse_GetStatusResponseV0__storage_, stateSync),
+        .flags = GPBFieldOptional,
+        .dataType = GPBDataTypeMessage,
+      },
+      {
+        .name = "time",
+        .dataTypeSpecific.clazz = GPBObjCClass(GetStatusResponse_GetStatusResponseV0_Time),
+        .number = GetStatusResponse_GetStatusResponseV0_FieldNumber_Time,
+        .hasIndex = 5,
+        .offset = (uint32_t)offsetof(GetStatusResponse_GetStatusResponseV0__storage_, time),
+        .flags = GPBFieldOptional,
+        .dataType = GPBDataTypeMessage,
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetStatusResponse_GetStatusResponseV0_Network class]
+        [GPBDescriptor allocDescriptorForClass:[GetStatusResponse_GetStatusResponseV0 class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetStatusResponse_GetStatusResponseV0_Network__storage_)
+                                   storageSize:sizeof(GetStatusResponse_GetStatusResponseV0__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
-    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetStatusResponse_GetStatusResponseV0)];
+    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetStatusResponse)];
     #if defined(DEBUG) && DEBUG
       NSAssert(descriptor == nil, @"Startup recursed!");
     #endif  // DEBUG
@@ -11706,30 +12019,18 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-#pragma mark - GetStatusResponse_GetStatusResponseV0_StateSync
+#pragma mark - GetStatusResponse_GetStatusResponseV0_Version
 
-@implementation GetStatusResponse_GetStatusResponseV0_StateSync
+@implementation GetStatusResponse_GetStatusResponseV0_Version
 
-@dynamic totalSyncedTime;
-@dynamic remainingTime;
-@dynamic totalSnapshots;
-@dynamic chunkProcessAvgTime;
-@dynamic snapshotHeight;
-@dynamic snapshotChunksCount;
-@dynamic backfilledBlocks;
-@dynamic backfillBlocksTotal;
+@dynamic hasSoftware, software;
+@dynamic hasProtocol, protocol;
 
-typedef struct GetStatusResponse_GetStatusResponseV0_StateSync__storage_ {
+typedef struct GetStatusResponse_GetStatusResponseV0_Version__storage_ {
   uint32_t _has_storage_[1];
-  uint32_t totalSnapshots;
-  uint64_t totalSyncedTime;
-  uint64_t remainingTime;
-  uint64_t chunkProcessAvgTime;
-  uint64_t snapshotHeight;
-  uint64_t snapshotChunksCount;
-  uint64_t backfilledBlocks;
-  uint64_t backfillBlocksTotal;
-} GetStatusResponse_GetStatusResponseV0_StateSync__storage_;
+  GetStatusResponse_GetStatusResponseV0_Version_Software *software;
+  GetStatusResponse_GetStatusResponseV0_Version_Protocol *protocol;
+} GetStatusResponse_GetStatusResponseV0_Version__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -11738,87 +12039,1483 @@ + (GPBDescriptor *)descriptor {
   if (!descriptor) {
     static GPBMessageFieldDescription fields[] = {
       {
-        .name = "totalSyncedTime",
-        .dataTypeSpecific.clazz = Nil,
-        .number = GetStatusResponse_GetStatusResponseV0_StateSync_FieldNumber_TotalSyncedTime,
+        .name = "software",
+        .dataTypeSpecific.clazz = GPBObjCClass(GetStatusResponse_GetStatusResponseV0_Version_Software),
+        .number = GetStatusResponse_GetStatusResponseV0_Version_FieldNumber_Software,
         .hasIndex = 0,
-        .offset = (uint32_t)offsetof(GetStatusResponse_GetStatusResponseV0_StateSync__storage_, totalSyncedTime),
-        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
-        .dataType = GPBDataTypeUInt64,
+        .offset = (uint32_t)offsetof(GetStatusResponse_GetStatusResponseV0_Version__storage_, software),
+        .flags = GPBFieldOptional,
+        .dataType = GPBDataTypeMessage,
       },
       {
-        .name = "remainingTime",
-        .dataTypeSpecific.clazz = Nil,
-        .number = GetStatusResponse_GetStatusResponseV0_StateSync_FieldNumber_RemainingTime,
+        .name = "protocol",
+        .dataTypeSpecific.clazz = GPBObjCClass(GetStatusResponse_GetStatusResponseV0_Version_Protocol),
+        .number = GetStatusResponse_GetStatusResponseV0_Version_FieldNumber_Protocol,
         .hasIndex = 1,
-        .offset = (uint32_t)offsetof(GetStatusResponse_GetStatusResponseV0_StateSync__storage_, remainingTime),
-        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
-        .dataType = GPBDataTypeUInt64,
+        .offset = (uint32_t)offsetof(GetStatusResponse_GetStatusResponseV0_Version__storage_, protocol),
+        .flags = GPBFieldOptional,
+        .dataType = GPBDataTypeMessage,
       },
-      {
-        .name = "totalSnapshots",
+    };
+    GPBDescriptor *localDescriptor =
+        [GPBDescriptor allocDescriptorForClass:[GetStatusResponse_GetStatusResponseV0_Version class]
+                                     rootClass:[PlatformRoot class]
+                                          file:PlatformRoot_FileDescriptor()
+                                        fields:fields
+                                    fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
+                                   storageSize:sizeof(GetStatusResponse_GetStatusResponseV0_Version__storage_)
+                                         flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
+    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetStatusResponse_GetStatusResponseV0)];
+    #if defined(DEBUG) && DEBUG
+      NSAssert(descriptor == nil, @"Startup recursed!");
+    #endif  // DEBUG
+    descriptor = localDescriptor;
+  }
+  return descriptor;
+}
+
+@end
+
+#pragma mark - GetStatusResponse_GetStatusResponseV0_Version_Software
+
+@implementation GetStatusResponse_GetStatusResponseV0_Version_Software
+
+@dynamic dapi;
+@dynamic hasDrive, drive;
+@dynamic hasTenderdash, tenderdash;
+
+typedef struct GetStatusResponse_GetStatusResponseV0_Version_Software__storage_ {
+  uint32_t _has_storage_[1];
+  NSString *dapi;
+  NSString *drive;
+  NSString *tenderdash;
+} GetStatusResponse_GetStatusResponseV0_Version_Software__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 = "dapi",
         .dataTypeSpecific.clazz = Nil,
-        .number = GetStatusResponse_GetStatusResponseV0_StateSync_FieldNumber_TotalSnapshots,
-        .hasIndex = 2,
-        .offset = (uint32_t)offsetof(GetStatusResponse_GetStatusResponseV0_StateSync__storage_, totalSnapshots),
+        .number = GetStatusResponse_GetStatusResponseV0_Version_Software_FieldNumber_Dapi,
+        .hasIndex = 0,
+        .offset = (uint32_t)offsetof(GetStatusResponse_GetStatusResponseV0_Version_Software__storage_, dapi),
         .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
-        .dataType = GPBDataTypeUInt32,
+        .dataType = GPBDataTypeString,
       },
       {
-        .name = "chunkProcessAvgTime",
+        .name = "drive",
         .dataTypeSpecific.clazz = Nil,
-        .number = GetStatusResponse_GetStatusResponseV0_StateSync_FieldNumber_ChunkProcessAvgTime,
-        .hasIndex = 3,
-        .offset = (uint32_t)offsetof(GetStatusResponse_GetStatusResponseV0_StateSync__storage_, chunkProcessAvgTime),
-        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
-        .dataType = GPBDataTypeUInt64,
+        .number = GetStatusResponse_GetStatusResponseV0_Version_Software_FieldNumber_Drive,
+        .hasIndex = 1,
+        .offset = (uint32_t)offsetof(GetStatusResponse_GetStatusResponseV0_Version_Software__storage_, drive),
+        .flags = GPBFieldOptional,
+        .dataType = GPBDataTypeString,
       },
       {
-        .name = "snapshotHeight",
+        .name = "tenderdash",
         .dataTypeSpecific.clazz = Nil,
-        .number = GetStatusResponse_GetStatusResponseV0_StateSync_FieldNumber_SnapshotHeight,
-        .hasIndex = 4,
-        .offset = (uint32_t)offsetof(GetStatusResponse_GetStatusResponseV0_StateSync__storage_, snapshotHeight),
+        .number = GetStatusResponse_GetStatusResponseV0_Version_Software_FieldNumber_Tenderdash,
+        .hasIndex = 2,
+        .offset = (uint32_t)offsetof(GetStatusResponse_GetStatusResponseV0_Version_Software__storage_, tenderdash),
+        .flags = GPBFieldOptional,
+        .dataType = GPBDataTypeString,
+      },
+    };
+    GPBDescriptor *localDescriptor =
+        [GPBDescriptor allocDescriptorForClass:[GetStatusResponse_GetStatusResponseV0_Version_Software class]
+                                     rootClass:[PlatformRoot class]
+                                          file:PlatformRoot_FileDescriptor()
+                                        fields:fields
+                                    fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
+                                   storageSize:sizeof(GetStatusResponse_GetStatusResponseV0_Version_Software__storage_)
+                                         flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
+    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetStatusResponse_GetStatusResponseV0_Version)];
+    #if defined(DEBUG) && DEBUG
+      NSAssert(descriptor == nil, @"Startup recursed!");
+    #endif  // DEBUG
+    descriptor = localDescriptor;
+  }
+  return descriptor;
+}
+
+@end
+
+#pragma mark - GetStatusResponse_GetStatusResponseV0_Version_Protocol
+
+@implementation GetStatusResponse_GetStatusResponseV0_Version_Protocol
+
+@dynamic hasTenderdash, tenderdash;
+@dynamic hasDrive, drive;
+
+typedef struct GetStatusResponse_GetStatusResponseV0_Version_Protocol__storage_ {
+  uint32_t _has_storage_[1];
+  GetStatusResponse_GetStatusResponseV0_Version_Protocol_Tenderdash *tenderdash;
+  GetStatusResponse_GetStatusResponseV0_Version_Protocol_Drive *drive;
+} GetStatusResponse_GetStatusResponseV0_Version_Protocol__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 = "tenderdash",
+        .dataTypeSpecific.clazz = GPBObjCClass(GetStatusResponse_GetStatusResponseV0_Version_Protocol_Tenderdash),
+        .number = GetStatusResponse_GetStatusResponseV0_Version_Protocol_FieldNumber_Tenderdash,
+        .hasIndex = 0,
+        .offset = (uint32_t)offsetof(GetStatusResponse_GetStatusResponseV0_Version_Protocol__storage_, tenderdash),
+        .flags = GPBFieldOptional,
+        .dataType = GPBDataTypeMessage,
+      },
+      {
+        .name = "drive",
+        .dataTypeSpecific.clazz = GPBObjCClass(GetStatusResponse_GetStatusResponseV0_Version_Protocol_Drive),
+        .number = GetStatusResponse_GetStatusResponseV0_Version_Protocol_FieldNumber_Drive,
+        .hasIndex = 1,
+        .offset = (uint32_t)offsetof(GetStatusResponse_GetStatusResponseV0_Version_Protocol__storage_, drive),
+        .flags = GPBFieldOptional,
+        .dataType = GPBDataTypeMessage,
+      },
+    };
+    GPBDescriptor *localDescriptor =
+        [GPBDescriptor allocDescriptorForClass:[GetStatusResponse_GetStatusResponseV0_Version_Protocol class]
+                                     rootClass:[PlatformRoot class]
+                                          file:PlatformRoot_FileDescriptor()
+                                        fields:fields
+                                    fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
+                                   storageSize:sizeof(GetStatusResponse_GetStatusResponseV0_Version_Protocol__storage_)
+                                         flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
+    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetStatusResponse_GetStatusResponseV0_Version)];
+    #if defined(DEBUG) && DEBUG
+      NSAssert(descriptor == nil, @"Startup recursed!");
+    #endif  // DEBUG
+    descriptor = localDescriptor;
+  }
+  return descriptor;
+}
+
+@end
+
+#pragma mark - GetStatusResponse_GetStatusResponseV0_Version_Protocol_Tenderdash
+
+@implementation GetStatusResponse_GetStatusResponseV0_Version_Protocol_Tenderdash
+
+@dynamic p2P;
+@dynamic block;
+
+typedef struct GetStatusResponse_GetStatusResponseV0_Version_Protocol_Tenderdash__storage_ {
+  uint32_t _has_storage_[1];
+  uint32_t p2P;
+  uint32_t block;
+} GetStatusResponse_GetStatusResponseV0_Version_Protocol_Tenderdash__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 = "p2P",
+        .dataTypeSpecific.clazz = Nil,
+        .number = GetStatusResponse_GetStatusResponseV0_Version_Protocol_Tenderdash_FieldNumber_P2P,
+        .hasIndex = 0,
+        .offset = (uint32_t)offsetof(GetStatusResponse_GetStatusResponseV0_Version_Protocol_Tenderdash__storage_, p2P),
+        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom | GPBFieldClearHasIvarOnZero),
+        .dataType = GPBDataTypeUInt32,
+      },
+      {
+        .name = "block",
+        .dataTypeSpecific.clazz = Nil,
+        .number = GetStatusResponse_GetStatusResponseV0_Version_Protocol_Tenderdash_FieldNumber_Block,
+        .hasIndex = 1,
+        .offset = (uint32_t)offsetof(GetStatusResponse_GetStatusResponseV0_Version_Protocol_Tenderdash__storage_, block),
         .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
-        .dataType = GPBDataTypeUInt64,
+        .dataType = GPBDataTypeUInt32,
       },
+    };
+    GPBDescriptor *localDescriptor =
+        [GPBDescriptor allocDescriptorForClass:[GetStatusResponse_GetStatusResponseV0_Version_Protocol_Tenderdash class]
+                                     rootClass:[PlatformRoot class]
+                                          file:PlatformRoot_FileDescriptor()
+                                        fields:fields
+                                    fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
+                                   storageSize:sizeof(GetStatusResponse_GetStatusResponseV0_Version_Protocol_Tenderdash__storage_)
+                                         flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
+#if !GPBOBJC_SKIP_MESSAGE_TEXTFORMAT_EXTRAS
+    static const char *extraTextFormatInfo =
+        "\001\001\002!\000";
+    [localDescriptor setupExtraTextInfo:extraTextFormatInfo];
+#endif  // !GPBOBJC_SKIP_MESSAGE_TEXTFORMAT_EXTRAS
+    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetStatusResponse_GetStatusResponseV0_Version_Protocol)];
+    #if defined(DEBUG) && DEBUG
+      NSAssert(descriptor == nil, @"Startup recursed!");
+    #endif  // DEBUG
+    descriptor = localDescriptor;
+  }
+  return descriptor;
+}
+
+@end
+
+#pragma mark - GetStatusResponse_GetStatusResponseV0_Version_Protocol_Drive
+
+@implementation GetStatusResponse_GetStatusResponseV0_Version_Protocol_Drive
+
+@dynamic latest;
+@dynamic current;
+
+typedef struct GetStatusResponse_GetStatusResponseV0_Version_Protocol_Drive__storage_ {
+  uint32_t _has_storage_[1];
+  uint32_t latest;
+  uint32_t current;
+} GetStatusResponse_GetStatusResponseV0_Version_Protocol_Drive__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 = "snapshotChunksCount",
+        .name = "latest",
         .dataTypeSpecific.clazz = Nil,
-        .number = GetStatusResponse_GetStatusResponseV0_StateSync_FieldNumber_SnapshotChunksCount,
-        .hasIndex = 5,
-        .offset = (uint32_t)offsetof(GetStatusResponse_GetStatusResponseV0_StateSync__storage_, snapshotChunksCount),
+        .number = GetStatusResponse_GetStatusResponseV0_Version_Protocol_Drive_FieldNumber_Latest,
+        .hasIndex = 0,
+        .offset = (uint32_t)offsetof(GetStatusResponse_GetStatusResponseV0_Version_Protocol_Drive__storage_, latest),
         .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
-        .dataType = GPBDataTypeUInt64,
+        .dataType = GPBDataTypeUInt32,
       },
       {
-        .name = "backfilledBlocks",
+        .name = "current",
         .dataTypeSpecific.clazz = Nil,
-        .number = GetStatusResponse_GetStatusResponseV0_StateSync_FieldNumber_BackfilledBlocks,
-        .hasIndex = 6,
-        .offset = (uint32_t)offsetof(GetStatusResponse_GetStatusResponseV0_StateSync__storage_, backfilledBlocks),
+        .number = GetStatusResponse_GetStatusResponseV0_Version_Protocol_Drive_FieldNumber_Current,
+        .hasIndex = 1,
+        .offset = (uint32_t)offsetof(GetStatusResponse_GetStatusResponseV0_Version_Protocol_Drive__storage_, current),
         .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
-        .dataType = GPBDataTypeUInt64,
+        .dataType = GPBDataTypeUInt32,
       },
+    };
+    GPBDescriptor *localDescriptor =
+        [GPBDescriptor allocDescriptorForClass:[GetStatusResponse_GetStatusResponseV0_Version_Protocol_Drive class]
+                                     rootClass:[PlatformRoot class]
+                                          file:PlatformRoot_FileDescriptor()
+                                        fields:fields
+                                    fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
+                                   storageSize:sizeof(GetStatusResponse_GetStatusResponseV0_Version_Protocol_Drive__storage_)
+                                         flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
+    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetStatusResponse_GetStatusResponseV0_Version_Protocol)];
+    #if defined(DEBUG) && DEBUG
+      NSAssert(descriptor == nil, @"Startup recursed!");
+    #endif  // DEBUG
+    descriptor = localDescriptor;
+  }
+  return descriptor;
+}
+
+@end
+
+#pragma mark - GetStatusResponse_GetStatusResponseV0_Time
+
+@implementation GetStatusResponse_GetStatusResponseV0_Time
+
+@dynamic local;
+@dynamic hasBlock, block;
+@dynamic hasGenesis, genesis;
+@dynamic hasEpoch, epoch;
+
+typedef struct GetStatusResponse_GetStatusResponseV0_Time__storage_ {
+  uint32_t _has_storage_[1];
+  uint32_t epoch;
+  uint64_t local;
+  uint64_t block;
+  uint64_t genesis;
+} GetStatusResponse_GetStatusResponseV0_Time__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 = "local",
+        .dataTypeSpecific.clazz = Nil,
+        .number = GetStatusResponse_GetStatusResponseV0_Time_FieldNumber_Local,
+        .hasIndex = 0,
+        .offset = (uint32_t)offsetof(GetStatusResponse_GetStatusResponseV0_Time__storage_, local),
+        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
+        .dataType = GPBDataTypeUInt64,
+      },
+      {
+        .name = "block",
+        .dataTypeSpecific.clazz = Nil,
+        .number = GetStatusResponse_GetStatusResponseV0_Time_FieldNumber_Block,
+        .hasIndex = 1,
+        .offset = (uint32_t)offsetof(GetStatusResponse_GetStatusResponseV0_Time__storage_, block),
+        .flags = GPBFieldOptional,
+        .dataType = GPBDataTypeUInt64,
+      },
+      {
+        .name = "genesis",
+        .dataTypeSpecific.clazz = Nil,
+        .number = GetStatusResponse_GetStatusResponseV0_Time_FieldNumber_Genesis,
+        .hasIndex = 2,
+        .offset = (uint32_t)offsetof(GetStatusResponse_GetStatusResponseV0_Time__storage_, genesis),
+        .flags = GPBFieldOptional,
+        .dataType = GPBDataTypeUInt64,
+      },
+      {
+        .name = "epoch",
+        .dataTypeSpecific.clazz = Nil,
+        .number = GetStatusResponse_GetStatusResponseV0_Time_FieldNumber_Epoch,
+        .hasIndex = 3,
+        .offset = (uint32_t)offsetof(GetStatusResponse_GetStatusResponseV0_Time__storage_, epoch),
+        .flags = GPBFieldOptional,
+        .dataType = GPBDataTypeUInt32,
+      },
+    };
+    GPBDescriptor *localDescriptor =
+        [GPBDescriptor allocDescriptorForClass:[GetStatusResponse_GetStatusResponseV0_Time class]
+                                     rootClass:[PlatformRoot class]
+                                          file:PlatformRoot_FileDescriptor()
+                                        fields:fields
+                                    fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
+                                   storageSize:sizeof(GetStatusResponse_GetStatusResponseV0_Time__storage_)
+                                         flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
+    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetStatusResponse_GetStatusResponseV0)];
+    #if defined(DEBUG) && DEBUG
+      NSAssert(descriptor == nil, @"Startup recursed!");
+    #endif  // DEBUG
+    descriptor = localDescriptor;
+  }
+  return descriptor;
+}
+
+@end
+
+#pragma mark - GetStatusResponse_GetStatusResponseV0_Node
+
+@implementation GetStatusResponse_GetStatusResponseV0_Node
+
+@dynamic id_p;
+@dynamic hasProTxHash, proTxHash;
+
+typedef struct GetStatusResponse_GetStatusResponseV0_Node__storage_ {
+  uint32_t _has_storage_[1];
+  NSData *id_p;
+  NSData *proTxHash;
+} GetStatusResponse_GetStatusResponseV0_Node__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 = GetStatusResponse_GetStatusResponseV0_Node_FieldNumber_Id_p,
+        .hasIndex = 0,
+        .offset = (uint32_t)offsetof(GetStatusResponse_GetStatusResponseV0_Node__storage_, id_p),
+        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
+        .dataType = GPBDataTypeBytes,
+      },
+      {
+        .name = "proTxHash",
+        .dataTypeSpecific.clazz = Nil,
+        .number = GetStatusResponse_GetStatusResponseV0_Node_FieldNumber_ProTxHash,
+        .hasIndex = 1,
+        .offset = (uint32_t)offsetof(GetStatusResponse_GetStatusResponseV0_Node__storage_, proTxHash),
+        .flags = GPBFieldOptional,
+        .dataType = GPBDataTypeBytes,
+      },
+    };
+    GPBDescriptor *localDescriptor =
+        [GPBDescriptor allocDescriptorForClass:[GetStatusResponse_GetStatusResponseV0_Node class]
+                                     rootClass:[PlatformRoot class]
+                                          file:PlatformRoot_FileDescriptor()
+                                        fields:fields
+                                    fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
+                                   storageSize:sizeof(GetStatusResponse_GetStatusResponseV0_Node__storage_)
+                                         flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
+    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetStatusResponse_GetStatusResponseV0)];
+    #if defined(DEBUG) && DEBUG
+      NSAssert(descriptor == nil, @"Startup recursed!");
+    #endif  // DEBUG
+    descriptor = localDescriptor;
+  }
+  return descriptor;
+}
+
+@end
+
+#pragma mark - GetStatusResponse_GetStatusResponseV0_Chain
+
+@implementation GetStatusResponse_GetStatusResponseV0_Chain
+
+@dynamic catchingUp;
+@dynamic latestBlockHash;
+@dynamic latestAppHash;
+@dynamic latestBlockHeight;
+@dynamic earliestBlockHash;
+@dynamic earliestAppHash;
+@dynamic earliestBlockHeight;
+@dynamic maxPeerBlockHeight;
+@dynamic hasCoreChainLockedHeight, coreChainLockedHeight;
+
+typedef struct GetStatusResponse_GetStatusResponseV0_Chain__storage_ {
+  uint32_t _has_storage_[1];
+  uint32_t coreChainLockedHeight;
+  NSData *latestBlockHash;
+  NSData *latestAppHash;
+  NSData *earliestBlockHash;
+  NSData *earliestAppHash;
+  uint64_t latestBlockHeight;
+  uint64_t earliestBlockHeight;
+  uint64_t maxPeerBlockHeight;
+} GetStatusResponse_GetStatusResponseV0_Chain__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 = "catchingUp",
+        .dataTypeSpecific.clazz = Nil,
+        .number = GetStatusResponse_GetStatusResponseV0_Chain_FieldNumber_CatchingUp,
+        .hasIndex = 0,
+        .offset = 1,  // Stored in _has_storage_ to save space.
+        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
+        .dataType = GPBDataTypeBool,
+      },
+      {
+        .name = "latestBlockHash",
+        .dataTypeSpecific.clazz = Nil,
+        .number = GetStatusResponse_GetStatusResponseV0_Chain_FieldNumber_LatestBlockHash,
+        .hasIndex = 2,
+        .offset = (uint32_t)offsetof(GetStatusResponse_GetStatusResponseV0_Chain__storage_, latestBlockHash),
+        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
+        .dataType = GPBDataTypeBytes,
+      },
+      {
+        .name = "latestAppHash",
+        .dataTypeSpecific.clazz = Nil,
+        .number = GetStatusResponse_GetStatusResponseV0_Chain_FieldNumber_LatestAppHash,
+        .hasIndex = 3,
+        .offset = (uint32_t)offsetof(GetStatusResponse_GetStatusResponseV0_Chain__storage_, latestAppHash),
+        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
+        .dataType = GPBDataTypeBytes,
+      },
+      {
+        .name = "latestBlockHeight",
+        .dataTypeSpecific.clazz = Nil,
+        .number = GetStatusResponse_GetStatusResponseV0_Chain_FieldNumber_LatestBlockHeight,
+        .hasIndex = 4,
+        .offset = (uint32_t)offsetof(GetStatusResponse_GetStatusResponseV0_Chain__storage_, latestBlockHeight),
+        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
+        .dataType = GPBDataTypeUInt64,
+      },
+      {
+        .name = "earliestBlockHash",
+        .dataTypeSpecific.clazz = Nil,
+        .number = GetStatusResponse_GetStatusResponseV0_Chain_FieldNumber_EarliestBlockHash,
+        .hasIndex = 5,
+        .offset = (uint32_t)offsetof(GetStatusResponse_GetStatusResponseV0_Chain__storage_, earliestBlockHash),
+        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
+        .dataType = GPBDataTypeBytes,
+      },
+      {
+        .name = "earliestAppHash",
+        .dataTypeSpecific.clazz = Nil,
+        .number = GetStatusResponse_GetStatusResponseV0_Chain_FieldNumber_EarliestAppHash,
+        .hasIndex = 6,
+        .offset = (uint32_t)offsetof(GetStatusResponse_GetStatusResponseV0_Chain__storage_, earliestAppHash),
+        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
+        .dataType = GPBDataTypeBytes,
+      },
+      {
+        .name = "earliestBlockHeight",
+        .dataTypeSpecific.clazz = Nil,
+        .number = GetStatusResponse_GetStatusResponseV0_Chain_FieldNumber_EarliestBlockHeight,
+        .hasIndex = 7,
+        .offset = (uint32_t)offsetof(GetStatusResponse_GetStatusResponseV0_Chain__storage_, earliestBlockHeight),
+        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
+        .dataType = GPBDataTypeUInt64,
+      },
+      {
+        .name = "maxPeerBlockHeight",
+        .dataTypeSpecific.clazz = Nil,
+        .number = GetStatusResponse_GetStatusResponseV0_Chain_FieldNumber_MaxPeerBlockHeight,
+        .hasIndex = 8,
+        .offset = (uint32_t)offsetof(GetStatusResponse_GetStatusResponseV0_Chain__storage_, maxPeerBlockHeight),
+        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
+        .dataType = GPBDataTypeUInt64,
+      },
+      {
+        .name = "coreChainLockedHeight",
+        .dataTypeSpecific.clazz = Nil,
+        .number = GetStatusResponse_GetStatusResponseV0_Chain_FieldNumber_CoreChainLockedHeight,
+        .hasIndex = 9,
+        .offset = (uint32_t)offsetof(GetStatusResponse_GetStatusResponseV0_Chain__storage_, coreChainLockedHeight),
+        .flags = GPBFieldOptional,
+        .dataType = GPBDataTypeUInt32,
+      },
+    };
+    GPBDescriptor *localDescriptor =
+        [GPBDescriptor allocDescriptorForClass:[GetStatusResponse_GetStatusResponseV0_Chain class]
+                                     rootClass:[PlatformRoot class]
+                                          file:PlatformRoot_FileDescriptor()
+                                        fields:fields
+                                    fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
+                                   storageSize:sizeof(GetStatusResponse_GetStatusResponseV0_Chain__storage_)
+                                         flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
+    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetStatusResponse_GetStatusResponseV0)];
+    #if defined(DEBUG) && DEBUG
+      NSAssert(descriptor == nil, @"Startup recursed!");
+    #endif  // DEBUG
+    descriptor = localDescriptor;
+  }
+  return descriptor;
+}
+
+@end
+
+#pragma mark - GetStatusResponse_GetStatusResponseV0_Network
+
+@implementation GetStatusResponse_GetStatusResponseV0_Network
+
+@dynamic chainId;
+@dynamic peersCount;
+@dynamic listening;
+
+typedef struct GetStatusResponse_GetStatusResponseV0_Network__storage_ {
+  uint32_t _has_storage_[1];
+  uint32_t peersCount;
+  NSString *chainId;
+} GetStatusResponse_GetStatusResponseV0_Network__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 = "chainId",
+        .dataTypeSpecific.clazz = Nil,
+        .number = GetStatusResponse_GetStatusResponseV0_Network_FieldNumber_ChainId,
+        .hasIndex = 0,
+        .offset = (uint32_t)offsetof(GetStatusResponse_GetStatusResponseV0_Network__storage_, chainId),
+        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
+        .dataType = GPBDataTypeString,
+      },
+      {
+        .name = "peersCount",
+        .dataTypeSpecific.clazz = Nil,
+        .number = GetStatusResponse_GetStatusResponseV0_Network_FieldNumber_PeersCount,
+        .hasIndex = 1,
+        .offset = (uint32_t)offsetof(GetStatusResponse_GetStatusResponseV0_Network__storage_, peersCount),
+        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
+        .dataType = GPBDataTypeUInt32,
+      },
+      {
+        .name = "listening",
+        .dataTypeSpecific.clazz = Nil,
+        .number = GetStatusResponse_GetStatusResponseV0_Network_FieldNumber_Listening,
+        .hasIndex = 2,
+        .offset = 3,  // Stored in _has_storage_ to save space.
+        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
+        .dataType = GPBDataTypeBool,
+      },
+    };
+    GPBDescriptor *localDescriptor =
+        [GPBDescriptor allocDescriptorForClass:[GetStatusResponse_GetStatusResponseV0_Network class]
+                                     rootClass:[PlatformRoot class]
+                                          file:PlatformRoot_FileDescriptor()
+                                        fields:fields
+                                    fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
+                                   storageSize:sizeof(GetStatusResponse_GetStatusResponseV0_Network__storage_)
+                                         flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
+    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetStatusResponse_GetStatusResponseV0)];
+    #if defined(DEBUG) && DEBUG
+      NSAssert(descriptor == nil, @"Startup recursed!");
+    #endif  // DEBUG
+    descriptor = localDescriptor;
+  }
+  return descriptor;
+}
+
+@end
+
+#pragma mark - GetStatusResponse_GetStatusResponseV0_StateSync
+
+@implementation GetStatusResponse_GetStatusResponseV0_StateSync
+
+@dynamic totalSyncedTime;
+@dynamic remainingTime;
+@dynamic totalSnapshots;
+@dynamic chunkProcessAvgTime;
+@dynamic snapshotHeight;
+@dynamic snapshotChunksCount;
+@dynamic backfilledBlocks;
+@dynamic backfillBlocksTotal;
+
+typedef struct GetStatusResponse_GetStatusResponseV0_StateSync__storage_ {
+  uint32_t _has_storage_[1];
+  uint32_t totalSnapshots;
+  uint64_t totalSyncedTime;
+  uint64_t remainingTime;
+  uint64_t chunkProcessAvgTime;
+  uint64_t snapshotHeight;
+  uint64_t snapshotChunksCount;
+  uint64_t backfilledBlocks;
+  uint64_t backfillBlocksTotal;
+} GetStatusResponse_GetStatusResponseV0_StateSync__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 = "totalSyncedTime",
+        .dataTypeSpecific.clazz = Nil,
+        .number = GetStatusResponse_GetStatusResponseV0_StateSync_FieldNumber_TotalSyncedTime,
+        .hasIndex = 0,
+        .offset = (uint32_t)offsetof(GetStatusResponse_GetStatusResponseV0_StateSync__storage_, totalSyncedTime),
+        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
+        .dataType = GPBDataTypeUInt64,
+      },
+      {
+        .name = "remainingTime",
+        .dataTypeSpecific.clazz = Nil,
+        .number = GetStatusResponse_GetStatusResponseV0_StateSync_FieldNumber_RemainingTime,
+        .hasIndex = 1,
+        .offset = (uint32_t)offsetof(GetStatusResponse_GetStatusResponseV0_StateSync__storage_, remainingTime),
+        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
+        .dataType = GPBDataTypeUInt64,
+      },
+      {
+        .name = "totalSnapshots",
+        .dataTypeSpecific.clazz = Nil,
+        .number = GetStatusResponse_GetStatusResponseV0_StateSync_FieldNumber_TotalSnapshots,
+        .hasIndex = 2,
+        .offset = (uint32_t)offsetof(GetStatusResponse_GetStatusResponseV0_StateSync__storage_, totalSnapshots),
+        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
+        .dataType = GPBDataTypeUInt32,
+      },
+      {
+        .name = "chunkProcessAvgTime",
+        .dataTypeSpecific.clazz = Nil,
+        .number = GetStatusResponse_GetStatusResponseV0_StateSync_FieldNumber_ChunkProcessAvgTime,
+        .hasIndex = 3,
+        .offset = (uint32_t)offsetof(GetStatusResponse_GetStatusResponseV0_StateSync__storage_, chunkProcessAvgTime),
+        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
+        .dataType = GPBDataTypeUInt64,
+      },
+      {
+        .name = "snapshotHeight",
+        .dataTypeSpecific.clazz = Nil,
+        .number = GetStatusResponse_GetStatusResponseV0_StateSync_FieldNumber_SnapshotHeight,
+        .hasIndex = 4,
+        .offset = (uint32_t)offsetof(GetStatusResponse_GetStatusResponseV0_StateSync__storage_, snapshotHeight),
+        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
+        .dataType = GPBDataTypeUInt64,
+      },
+      {
+        .name = "snapshotChunksCount",
+        .dataTypeSpecific.clazz = Nil,
+        .number = GetStatusResponse_GetStatusResponseV0_StateSync_FieldNumber_SnapshotChunksCount,
+        .hasIndex = 5,
+        .offset = (uint32_t)offsetof(GetStatusResponse_GetStatusResponseV0_StateSync__storage_, snapshotChunksCount),
+        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
+        .dataType = GPBDataTypeUInt64,
+      },
+      {
+        .name = "backfilledBlocks",
+        .dataTypeSpecific.clazz = Nil,
+        .number = GetStatusResponse_GetStatusResponseV0_StateSync_FieldNumber_BackfilledBlocks,
+        .hasIndex = 6,
+        .offset = (uint32_t)offsetof(GetStatusResponse_GetStatusResponseV0_StateSync__storage_, backfilledBlocks),
+        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
+        .dataType = GPBDataTypeUInt64,
+      },
+      {
+        .name = "backfillBlocksTotal",
+        .dataTypeSpecific.clazz = Nil,
+        .number = GetStatusResponse_GetStatusResponseV0_StateSync_FieldNumber_BackfillBlocksTotal,
+        .hasIndex = 7,
+        .offset = (uint32_t)offsetof(GetStatusResponse_GetStatusResponseV0_StateSync__storage_, backfillBlocksTotal),
+        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
+        .dataType = GPBDataTypeUInt64,
+      },
+    };
+    GPBDescriptor *localDescriptor =
+        [GPBDescriptor allocDescriptorForClass:[GetStatusResponse_GetStatusResponseV0_StateSync class]
+                                     rootClass:[PlatformRoot class]
+                                          file:PlatformRoot_FileDescriptor()
+                                        fields:fields
+                                    fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
+                                   storageSize:sizeof(GetStatusResponse_GetStatusResponseV0_StateSync__storage_)
+                                         flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
+    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetStatusResponse_GetStatusResponseV0)];
+    #if defined(DEBUG) && DEBUG
+      NSAssert(descriptor == nil, @"Startup recursed!");
+    #endif  // DEBUG
+    descriptor = localDescriptor;
+  }
+  return descriptor;
+}
+
+@end
+
+#pragma mark - GetCurrentQuorumsInfoRequest
+
+@implementation GetCurrentQuorumsInfoRequest
+
+@dynamic versionOneOfCase;
+@dynamic v0;
+
+typedef struct GetCurrentQuorumsInfoRequest__storage_ {
+  uint32_t _has_storage_[2];
+  GetCurrentQuorumsInfoRequest_GetCurrentQuorumsInfoRequestV0 *v0;
+} GetCurrentQuorumsInfoRequest__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(GetCurrentQuorumsInfoRequest_GetCurrentQuorumsInfoRequestV0),
+        .number = GetCurrentQuorumsInfoRequest_FieldNumber_V0,
+        .hasIndex = -1,
+        .offset = (uint32_t)offsetof(GetCurrentQuorumsInfoRequest__storage_, v0),
+        .flags = GPBFieldOptional,
+        .dataType = GPBDataTypeMessage,
+      },
+    };
+    GPBDescriptor *localDescriptor =
+        [GPBDescriptor allocDescriptorForClass:[GetCurrentQuorumsInfoRequest class]
+                                     rootClass:[PlatformRoot class]
+                                          file:PlatformRoot_FileDescriptor()
+                                        fields:fields
+                                    fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
+                                   storageSize:sizeof(GetCurrentQuorumsInfoRequest__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 GetCurrentQuorumsInfoRequest_ClearVersionOneOfCase(GetCurrentQuorumsInfoRequest *message) {
+  GPBDescriptor *descriptor = [GetCurrentQuorumsInfoRequest descriptor];
+  GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0];
+  GPBClearOneof(message, oneof);
+}
+#pragma mark - GetCurrentQuorumsInfoRequest_GetCurrentQuorumsInfoRequestV0
+
+@implementation GetCurrentQuorumsInfoRequest_GetCurrentQuorumsInfoRequestV0
+
+
+typedef struct GetCurrentQuorumsInfoRequest_GetCurrentQuorumsInfoRequestV0__storage_ {
+  uint32_t _has_storage_[1];
+} GetCurrentQuorumsInfoRequest_GetCurrentQuorumsInfoRequestV0__storage_;
+
+// This method is threadsafe because it is initially called
+// in +initialize for each subclass.
++ (GPBDescriptor *)descriptor {
+  static GPBDescriptor *descriptor = nil;
+  if (!descriptor) {
+    GPBDescriptor *localDescriptor =
+        [GPBDescriptor allocDescriptorForClass:[GetCurrentQuorumsInfoRequest_GetCurrentQuorumsInfoRequestV0 class]
+                                     rootClass:[PlatformRoot class]
+                                          file:PlatformRoot_FileDescriptor()
+                                        fields:NULL
+                                    fieldCount:0
+                                   storageSize:sizeof(GetCurrentQuorumsInfoRequest_GetCurrentQuorumsInfoRequestV0__storage_)
+                                         flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
+    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetCurrentQuorumsInfoRequest)];
+    #if defined(DEBUG) && DEBUG
+      NSAssert(descriptor == nil, @"Startup recursed!");
+    #endif  // DEBUG
+    descriptor = localDescriptor;
+  }
+  return descriptor;
+}
+
+@end
+
+#pragma mark - GetCurrentQuorumsInfoResponse
+
+@implementation GetCurrentQuorumsInfoResponse
+
+@dynamic versionOneOfCase;
+@dynamic v0;
+
+typedef struct GetCurrentQuorumsInfoResponse__storage_ {
+  uint32_t _has_storage_[2];
+  GetCurrentQuorumsInfoResponse_GetCurrentQuorumsInfoResponseV0 *v0;
+} GetCurrentQuorumsInfoResponse__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(GetCurrentQuorumsInfoResponse_GetCurrentQuorumsInfoResponseV0),
+        .number = GetCurrentQuorumsInfoResponse_FieldNumber_V0,
+        .hasIndex = -1,
+        .offset = (uint32_t)offsetof(GetCurrentQuorumsInfoResponse__storage_, v0),
+        .flags = GPBFieldOptional,
+        .dataType = GPBDataTypeMessage,
+      },
+    };
+    GPBDescriptor *localDescriptor =
+        [GPBDescriptor allocDescriptorForClass:[GetCurrentQuorumsInfoResponse class]
+                                     rootClass:[PlatformRoot class]
+                                          file:PlatformRoot_FileDescriptor()
+                                        fields:fields
+                                    fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
+                                   storageSize:sizeof(GetCurrentQuorumsInfoResponse__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 GetCurrentQuorumsInfoResponse_ClearVersionOneOfCase(GetCurrentQuorumsInfoResponse *message) {
+  GPBDescriptor *descriptor = [GetCurrentQuorumsInfoResponse descriptor];
+  GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0];
+  GPBClearOneof(message, oneof);
+}
+#pragma mark - GetCurrentQuorumsInfoResponse_ValidatorV0
+
+@implementation GetCurrentQuorumsInfoResponse_ValidatorV0
+
+@dynamic proTxHash;
+@dynamic nodeIp;
+@dynamic isBanned;
+
+typedef struct GetCurrentQuorumsInfoResponse_ValidatorV0__storage_ {
+  uint32_t _has_storage_[1];
+  NSData *proTxHash;
+  NSString *nodeIp;
+} GetCurrentQuorumsInfoResponse_ValidatorV0__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 = GetCurrentQuorumsInfoResponse_ValidatorV0_FieldNumber_ProTxHash,
+        .hasIndex = 0,
+        .offset = (uint32_t)offsetof(GetCurrentQuorumsInfoResponse_ValidatorV0__storage_, proTxHash),
+        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
+        .dataType = GPBDataTypeBytes,
+      },
+      {
+        .name = "nodeIp",
+        .dataTypeSpecific.clazz = Nil,
+        .number = GetCurrentQuorumsInfoResponse_ValidatorV0_FieldNumber_NodeIp,
+        .hasIndex = 1,
+        .offset = (uint32_t)offsetof(GetCurrentQuorumsInfoResponse_ValidatorV0__storage_, nodeIp),
+        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
+        .dataType = GPBDataTypeString,
+      },
+      {
+        .name = "isBanned",
+        .dataTypeSpecific.clazz = Nil,
+        .number = GetCurrentQuorumsInfoResponse_ValidatorV0_FieldNumber_IsBanned,
+        .hasIndex = 2,
+        .offset = 3,  // Stored in _has_storage_ to save space.
+        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
+        .dataType = GPBDataTypeBool,
+      },
+    };
+    GPBDescriptor *localDescriptor =
+        [GPBDescriptor allocDescriptorForClass:[GetCurrentQuorumsInfoResponse_ValidatorV0 class]
+                                     rootClass:[PlatformRoot class]
+                                          file:PlatformRoot_FileDescriptor()
+                                        fields:fields
+                                    fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
+                                   storageSize:sizeof(GetCurrentQuorumsInfoResponse_ValidatorV0__storage_)
+                                         flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
+    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetCurrentQuorumsInfoResponse)];
+    #if defined(DEBUG) && DEBUG
+      NSAssert(descriptor == nil, @"Startup recursed!");
+    #endif  // DEBUG
+    descriptor = localDescriptor;
+  }
+  return descriptor;
+}
+
+@end
+
+#pragma mark - GetCurrentQuorumsInfoResponse_ValidatorSetV0
+
+@implementation GetCurrentQuorumsInfoResponse_ValidatorSetV0
+
+@dynamic quorumHash;
+@dynamic coreHeight;
+@dynamic membersArray, membersArray_Count;
+@dynamic thresholdPublicKey;
+
+typedef struct GetCurrentQuorumsInfoResponse_ValidatorSetV0__storage_ {
+  uint32_t _has_storage_[1];
+  uint32_t coreHeight;
+  NSData *quorumHash;
+  NSMutableArray *membersArray;
+  NSData *thresholdPublicKey;
+} GetCurrentQuorumsInfoResponse_ValidatorSetV0__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 = "quorumHash",
+        .dataTypeSpecific.clazz = Nil,
+        .number = GetCurrentQuorumsInfoResponse_ValidatorSetV0_FieldNumber_QuorumHash,
+        .hasIndex = 0,
+        .offset = (uint32_t)offsetof(GetCurrentQuorumsInfoResponse_ValidatorSetV0__storage_, quorumHash),
+        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
+        .dataType = GPBDataTypeBytes,
+      },
+      {
+        .name = "coreHeight",
+        .dataTypeSpecific.clazz = Nil,
+        .number = GetCurrentQuorumsInfoResponse_ValidatorSetV0_FieldNumber_CoreHeight,
+        .hasIndex = 1,
+        .offset = (uint32_t)offsetof(GetCurrentQuorumsInfoResponse_ValidatorSetV0__storage_, coreHeight),
+        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
+        .dataType = GPBDataTypeUInt32,
+      },
+      {
+        .name = "membersArray",
+        .dataTypeSpecific.clazz = GPBObjCClass(GetCurrentQuorumsInfoResponse_ValidatorV0),
+        .number = GetCurrentQuorumsInfoResponse_ValidatorSetV0_FieldNumber_MembersArray,
+        .hasIndex = GPBNoHasBit,
+        .offset = (uint32_t)offsetof(GetCurrentQuorumsInfoResponse_ValidatorSetV0__storage_, membersArray),
+        .flags = GPBFieldRepeated,
+        .dataType = GPBDataTypeMessage,
+      },
+      {
+        .name = "thresholdPublicKey",
+        .dataTypeSpecific.clazz = Nil,
+        .number = GetCurrentQuorumsInfoResponse_ValidatorSetV0_FieldNumber_ThresholdPublicKey,
+        .hasIndex = 2,
+        .offset = (uint32_t)offsetof(GetCurrentQuorumsInfoResponse_ValidatorSetV0__storage_, thresholdPublicKey),
+        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
+        .dataType = GPBDataTypeBytes,
+      },
+    };
+    GPBDescriptor *localDescriptor =
+        [GPBDescriptor allocDescriptorForClass:[GetCurrentQuorumsInfoResponse_ValidatorSetV0 class]
+                                     rootClass:[PlatformRoot class]
+                                          file:PlatformRoot_FileDescriptor()
+                                        fields:fields
+                                    fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
+                                   storageSize:sizeof(GetCurrentQuorumsInfoResponse_ValidatorSetV0__storage_)
+                                         flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
+    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetCurrentQuorumsInfoResponse)];
+    #if defined(DEBUG) && DEBUG
+      NSAssert(descriptor == nil, @"Startup recursed!");
+    #endif  // DEBUG
+    descriptor = localDescriptor;
+  }
+  return descriptor;
+}
+
+@end
+
+#pragma mark - GetCurrentQuorumsInfoResponse_GetCurrentQuorumsInfoResponseV0
+
+@implementation GetCurrentQuorumsInfoResponse_GetCurrentQuorumsInfoResponseV0
+
+@dynamic quorumHashesArray, quorumHashesArray_Count;
+@dynamic currentQuorumHash;
+@dynamic validatorSetsArray, validatorSetsArray_Count;
+@dynamic lastBlockProposer;
+@dynamic hasMetadata, metadata;
+
+typedef struct GetCurrentQuorumsInfoResponse_GetCurrentQuorumsInfoResponseV0__storage_ {
+  uint32_t _has_storage_[1];
+  NSMutableArray *quorumHashesArray;
+  NSData *currentQuorumHash;
+  NSMutableArray *validatorSetsArray;
+  NSData *lastBlockProposer;
+  ResponseMetadata *metadata;
+} GetCurrentQuorumsInfoResponse_GetCurrentQuorumsInfoResponseV0__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 = "quorumHashesArray",
+        .dataTypeSpecific.clazz = Nil,
+        .number = GetCurrentQuorumsInfoResponse_GetCurrentQuorumsInfoResponseV0_FieldNumber_QuorumHashesArray,
+        .hasIndex = GPBNoHasBit,
+        .offset = (uint32_t)offsetof(GetCurrentQuorumsInfoResponse_GetCurrentQuorumsInfoResponseV0__storage_, quorumHashesArray),
+        .flags = GPBFieldRepeated,
+        .dataType = GPBDataTypeBytes,
+      },
+      {
+        .name = "currentQuorumHash",
+        .dataTypeSpecific.clazz = Nil,
+        .number = GetCurrentQuorumsInfoResponse_GetCurrentQuorumsInfoResponseV0_FieldNumber_CurrentQuorumHash,
+        .hasIndex = 0,
+        .offset = (uint32_t)offsetof(GetCurrentQuorumsInfoResponse_GetCurrentQuorumsInfoResponseV0__storage_, currentQuorumHash),
+        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
+        .dataType = GPBDataTypeBytes,
+      },
+      {
+        .name = "validatorSetsArray",
+        .dataTypeSpecific.clazz = GPBObjCClass(GetCurrentQuorumsInfoResponse_ValidatorSetV0),
+        .number = GetCurrentQuorumsInfoResponse_GetCurrentQuorumsInfoResponseV0_FieldNumber_ValidatorSetsArray,
+        .hasIndex = GPBNoHasBit,
+        .offset = (uint32_t)offsetof(GetCurrentQuorumsInfoResponse_GetCurrentQuorumsInfoResponseV0__storage_, validatorSetsArray),
+        .flags = GPBFieldRepeated,
+        .dataType = GPBDataTypeMessage,
+      },
+      {
+        .name = "lastBlockProposer",
+        .dataTypeSpecific.clazz = Nil,
+        .number = GetCurrentQuorumsInfoResponse_GetCurrentQuorumsInfoResponseV0_FieldNumber_LastBlockProposer,
+        .hasIndex = 1,
+        .offset = (uint32_t)offsetof(GetCurrentQuorumsInfoResponse_GetCurrentQuorumsInfoResponseV0__storage_, lastBlockProposer),
+        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
+        .dataType = GPBDataTypeBytes,
+      },
+      {
+        .name = "metadata",
+        .dataTypeSpecific.clazz = GPBObjCClass(ResponseMetadata),
+        .number = GetCurrentQuorumsInfoResponse_GetCurrentQuorumsInfoResponseV0_FieldNumber_Metadata,
+        .hasIndex = 2,
+        .offset = (uint32_t)offsetof(GetCurrentQuorumsInfoResponse_GetCurrentQuorumsInfoResponseV0__storage_, metadata),
+        .flags = GPBFieldOptional,
+        .dataType = GPBDataTypeMessage,
+      },
+    };
+    GPBDescriptor *localDescriptor =
+        [GPBDescriptor allocDescriptorForClass:[GetCurrentQuorumsInfoResponse_GetCurrentQuorumsInfoResponseV0 class]
+                                     rootClass:[PlatformRoot class]
+                                          file:PlatformRoot_FileDescriptor()
+                                        fields:fields
+                                    fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
+                                   storageSize:sizeof(GetCurrentQuorumsInfoResponse_GetCurrentQuorumsInfoResponseV0__storage_)
+                                         flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
+    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetCurrentQuorumsInfoResponse)];
+    #if defined(DEBUG) && DEBUG
+      NSAssert(descriptor == nil, @"Startup recursed!");
+    #endif  // DEBUG
+    descriptor = localDescriptor;
+  }
+  return descriptor;
+}
+
+@end
+
+#pragma mark - GetIdentityTokenBalancesRequest
+
+@implementation GetIdentityTokenBalancesRequest
+
+@dynamic versionOneOfCase;
+@dynamic v0;
+
+typedef struct GetIdentityTokenBalancesRequest__storage_ {
+  uint32_t _has_storage_[2];
+  GetIdentityTokenBalancesRequest_GetIdentityTokenBalancesRequestV0 *v0;
+} GetIdentityTokenBalancesRequest__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(GetIdentityTokenBalancesRequest_GetIdentityTokenBalancesRequestV0),
+        .number = GetIdentityTokenBalancesRequest_FieldNumber_V0,
+        .hasIndex = -1,
+        .offset = (uint32_t)offsetof(GetIdentityTokenBalancesRequest__storage_, v0),
+        .flags = GPBFieldOptional,
+        .dataType = GPBDataTypeMessage,
+      },
+    };
+    GPBDescriptor *localDescriptor =
+        [GPBDescriptor allocDescriptorForClass:[GetIdentityTokenBalancesRequest class]
+                                     rootClass:[PlatformRoot class]
+                                          file:PlatformRoot_FileDescriptor()
+                                        fields:fields
+                                    fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
+                                   storageSize:sizeof(GetIdentityTokenBalancesRequest__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 GetIdentityTokenBalancesRequest_ClearVersionOneOfCase(GetIdentityTokenBalancesRequest *message) {
+  GPBDescriptor *descriptor = [GetIdentityTokenBalancesRequest descriptor];
+  GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0];
+  GPBClearOneof(message, oneof);
+}
+#pragma mark - GetIdentityTokenBalancesRequest_GetIdentityTokenBalancesRequestV0
+
+@implementation GetIdentityTokenBalancesRequest_GetIdentityTokenBalancesRequestV0
+
+@dynamic identityId;
+@dynamic tokenIdsArray, tokenIdsArray_Count;
+@dynamic prove;
+
+typedef struct GetIdentityTokenBalancesRequest_GetIdentityTokenBalancesRequestV0__storage_ {
+  uint32_t _has_storage_[1];
+  NSData *identityId;
+  NSMutableArray *tokenIdsArray;
+} GetIdentityTokenBalancesRequest_GetIdentityTokenBalancesRequestV0__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 = GetIdentityTokenBalancesRequest_GetIdentityTokenBalancesRequestV0_FieldNumber_IdentityId,
+        .hasIndex = 0,
+        .offset = (uint32_t)offsetof(GetIdentityTokenBalancesRequest_GetIdentityTokenBalancesRequestV0__storage_, identityId),
+        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
+        .dataType = GPBDataTypeBytes,
+      },
+      {
+        .name = "tokenIdsArray",
+        .dataTypeSpecific.clazz = Nil,
+        .number = GetIdentityTokenBalancesRequest_GetIdentityTokenBalancesRequestV0_FieldNumber_TokenIdsArray,
+        .hasIndex = GPBNoHasBit,
+        .offset = (uint32_t)offsetof(GetIdentityTokenBalancesRequest_GetIdentityTokenBalancesRequestV0__storage_, tokenIdsArray),
+        .flags = GPBFieldRepeated,
+        .dataType = GPBDataTypeBytes,
+      },
+      {
+        .name = "prove",
+        .dataTypeSpecific.clazz = Nil,
+        .number = GetIdentityTokenBalancesRequest_GetIdentityTokenBalancesRequestV0_FieldNumber_Prove,
+        .hasIndex = 1,
+        .offset = 2,  // Stored in _has_storage_ to save space.
+        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
+        .dataType = GPBDataTypeBool,
+      },
+    };
+    GPBDescriptor *localDescriptor =
+        [GPBDescriptor allocDescriptorForClass:[GetIdentityTokenBalancesRequest_GetIdentityTokenBalancesRequestV0 class]
+                                     rootClass:[PlatformRoot class]
+                                          file:PlatformRoot_FileDescriptor()
+                                        fields:fields
+                                    fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
+                                   storageSize:sizeof(GetIdentityTokenBalancesRequest_GetIdentityTokenBalancesRequestV0__storage_)
+                                         flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
+    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetIdentityTokenBalancesRequest)];
+    #if defined(DEBUG) && DEBUG
+      NSAssert(descriptor == nil, @"Startup recursed!");
+    #endif  // DEBUG
+    descriptor = localDescriptor;
+  }
+  return descriptor;
+}
+
+@end
+
+#pragma mark - GetIdentityTokenBalancesResponse
+
+@implementation GetIdentityTokenBalancesResponse
+
+@dynamic versionOneOfCase;
+@dynamic v0;
+
+typedef struct GetIdentityTokenBalancesResponse__storage_ {
+  uint32_t _has_storage_[2];
+  GetIdentityTokenBalancesResponse_GetIdentityTokenBalancesResponseV0 *v0;
+} GetIdentityTokenBalancesResponse__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(GetIdentityTokenBalancesResponse_GetIdentityTokenBalancesResponseV0),
+        .number = GetIdentityTokenBalancesResponse_FieldNumber_V0,
+        .hasIndex = -1,
+        .offset = (uint32_t)offsetof(GetIdentityTokenBalancesResponse__storage_, v0),
+        .flags = GPBFieldOptional,
+        .dataType = GPBDataTypeMessage,
+      },
+    };
+    GPBDescriptor *localDescriptor =
+        [GPBDescriptor allocDescriptorForClass:[GetIdentityTokenBalancesResponse class]
+                                     rootClass:[PlatformRoot class]
+                                          file:PlatformRoot_FileDescriptor()
+                                        fields:fields
+                                    fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
+                                   storageSize:sizeof(GetIdentityTokenBalancesResponse__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 GetIdentityTokenBalancesResponse_ClearVersionOneOfCase(GetIdentityTokenBalancesResponse *message) {
+  GPBDescriptor *descriptor = [GetIdentityTokenBalancesResponse descriptor];
+  GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0];
+  GPBClearOneof(message, oneof);
+}
+#pragma mark - GetIdentityTokenBalancesResponse_GetIdentityTokenBalancesResponseV0
+
+@implementation GetIdentityTokenBalancesResponse_GetIdentityTokenBalancesResponseV0
+
+@dynamic resultOneOfCase;
+@dynamic tokenBalances;
+@dynamic proof;
+@dynamic hasMetadata, metadata;
+
+typedef struct GetIdentityTokenBalancesResponse_GetIdentityTokenBalancesResponseV0__storage_ {
+  uint32_t _has_storage_[2];
+  GetIdentityTokenBalancesResponse_GetIdentityTokenBalancesResponseV0_TokenBalances *tokenBalances;
+  Proof *proof;
+  ResponseMetadata *metadata;
+} GetIdentityTokenBalancesResponse_GetIdentityTokenBalancesResponseV0__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 = "tokenBalances",
+        .dataTypeSpecific.clazz = GPBObjCClass(GetIdentityTokenBalancesResponse_GetIdentityTokenBalancesResponseV0_TokenBalances),
+        .number = GetIdentityTokenBalancesResponse_GetIdentityTokenBalancesResponseV0_FieldNumber_TokenBalances,
+        .hasIndex = -1,
+        .offset = (uint32_t)offsetof(GetIdentityTokenBalancesResponse_GetIdentityTokenBalancesResponseV0__storage_, tokenBalances),
+        .flags = GPBFieldOptional,
+        .dataType = GPBDataTypeMessage,
+      },
+      {
+        .name = "proof",
+        .dataTypeSpecific.clazz = GPBObjCClass(Proof),
+        .number = GetIdentityTokenBalancesResponse_GetIdentityTokenBalancesResponseV0_FieldNumber_Proof,
+        .hasIndex = -1,
+        .offset = (uint32_t)offsetof(GetIdentityTokenBalancesResponse_GetIdentityTokenBalancesResponseV0__storage_, proof),
+        .flags = GPBFieldOptional,
+        .dataType = GPBDataTypeMessage,
+      },
+      {
+        .name = "metadata",
+        .dataTypeSpecific.clazz = GPBObjCClass(ResponseMetadata),
+        .number = GetIdentityTokenBalancesResponse_GetIdentityTokenBalancesResponseV0_FieldNumber_Metadata,
+        .hasIndex = 0,
+        .offset = (uint32_t)offsetof(GetIdentityTokenBalancesResponse_GetIdentityTokenBalancesResponseV0__storage_, metadata),
+        .flags = GPBFieldOptional,
+        .dataType = GPBDataTypeMessage,
+      },
+    };
+    GPBDescriptor *localDescriptor =
+        [GPBDescriptor allocDescriptorForClass:[GetIdentityTokenBalancesResponse_GetIdentityTokenBalancesResponseV0 class]
+                                     rootClass:[PlatformRoot class]
+                                          file:PlatformRoot_FileDescriptor()
+                                        fields:fields
+                                    fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
+                                   storageSize:sizeof(GetIdentityTokenBalancesResponse_GetIdentityTokenBalancesResponseV0__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(GetIdentityTokenBalancesResponse)];
+    #if defined(DEBUG) && DEBUG
+      NSAssert(descriptor == nil, @"Startup recursed!");
+    #endif  // DEBUG
+    descriptor = localDescriptor;
+  }
+  return descriptor;
+}
+
+@end
+
+void GetIdentityTokenBalancesResponse_GetIdentityTokenBalancesResponseV0_ClearResultOneOfCase(GetIdentityTokenBalancesResponse_GetIdentityTokenBalancesResponseV0 *message) {
+  GPBDescriptor *descriptor = [GetIdentityTokenBalancesResponse_GetIdentityTokenBalancesResponseV0 descriptor];
+  GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0];
+  GPBClearOneof(message, oneof);
+}
+#pragma mark - GetIdentityTokenBalancesResponse_GetIdentityTokenBalancesResponseV0_TokenBalanceEntry
+
+@implementation GetIdentityTokenBalancesResponse_GetIdentityTokenBalancesResponseV0_TokenBalanceEntry
+
+@dynamic tokenId;
+@dynamic hasBalance, balance;
+
+typedef struct GetIdentityTokenBalancesResponse_GetIdentityTokenBalancesResponseV0_TokenBalanceEntry__storage_ {
+  uint32_t _has_storage_[1];
+  NSData *tokenId;
+  uint64_t balance;
+} GetIdentityTokenBalancesResponse_GetIdentityTokenBalancesResponseV0_TokenBalanceEntry__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 = "tokenId",
+        .dataTypeSpecific.clazz = Nil,
+        .number = GetIdentityTokenBalancesResponse_GetIdentityTokenBalancesResponseV0_TokenBalanceEntry_FieldNumber_TokenId,
+        .hasIndex = 0,
+        .offset = (uint32_t)offsetof(GetIdentityTokenBalancesResponse_GetIdentityTokenBalancesResponseV0_TokenBalanceEntry__storage_, tokenId),
+        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
+        .dataType = GPBDataTypeBytes,
+      },
+      {
+        .name = "balance",
+        .dataTypeSpecific.clazz = Nil,
+        .number = GetIdentityTokenBalancesResponse_GetIdentityTokenBalancesResponseV0_TokenBalanceEntry_FieldNumber_Balance,
+        .hasIndex = 1,
+        .offset = (uint32_t)offsetof(GetIdentityTokenBalancesResponse_GetIdentityTokenBalancesResponseV0_TokenBalanceEntry__storage_, balance),
+        .flags = GPBFieldOptional,
+        .dataType = GPBDataTypeUInt64,
+      },
+    };
+    GPBDescriptor *localDescriptor =
+        [GPBDescriptor allocDescriptorForClass:[GetIdentityTokenBalancesResponse_GetIdentityTokenBalancesResponseV0_TokenBalanceEntry class]
+                                     rootClass:[PlatformRoot class]
+                                          file:PlatformRoot_FileDescriptor()
+                                        fields:fields
+                                    fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
+                                   storageSize:sizeof(GetIdentityTokenBalancesResponse_GetIdentityTokenBalancesResponseV0_TokenBalanceEntry__storage_)
+                                         flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
+    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetIdentityTokenBalancesResponse_GetIdentityTokenBalancesResponseV0)];
+    #if defined(DEBUG) && DEBUG
+      NSAssert(descriptor == nil, @"Startup recursed!");
+    #endif  // DEBUG
+    descriptor = localDescriptor;
+  }
+  return descriptor;
+}
+
+@end
+
+#pragma mark - GetIdentityTokenBalancesResponse_GetIdentityTokenBalancesResponseV0_TokenBalances
+
+@implementation GetIdentityTokenBalancesResponse_GetIdentityTokenBalancesResponseV0_TokenBalances
+
+@dynamic tokenBalancesArray, tokenBalancesArray_Count;
+
+typedef struct GetIdentityTokenBalancesResponse_GetIdentityTokenBalancesResponseV0_TokenBalances__storage_ {
+  uint32_t _has_storage_[1];
+  NSMutableArray *tokenBalancesArray;
+} GetIdentityTokenBalancesResponse_GetIdentityTokenBalancesResponseV0_TokenBalances__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 = "backfillBlocksTotal",
-        .dataTypeSpecific.clazz = Nil,
-        .number = GetStatusResponse_GetStatusResponseV0_StateSync_FieldNumber_BackfillBlocksTotal,
-        .hasIndex = 7,
-        .offset = (uint32_t)offsetof(GetStatusResponse_GetStatusResponseV0_StateSync__storage_, backfillBlocksTotal),
-        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
-        .dataType = GPBDataTypeUInt64,
+        .name = "tokenBalancesArray",
+        .dataTypeSpecific.clazz = GPBObjCClass(GetIdentityTokenBalancesResponse_GetIdentityTokenBalancesResponseV0_TokenBalanceEntry),
+        .number = GetIdentityTokenBalancesResponse_GetIdentityTokenBalancesResponseV0_TokenBalances_FieldNumber_TokenBalancesArray,
+        .hasIndex = GPBNoHasBit,
+        .offset = (uint32_t)offsetof(GetIdentityTokenBalancesResponse_GetIdentityTokenBalancesResponseV0_TokenBalances__storage_, tokenBalancesArray),
+        .flags = GPBFieldRepeated,
+        .dataType = GPBDataTypeMessage,
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetStatusResponse_GetStatusResponseV0_StateSync class]
+        [GPBDescriptor allocDescriptorForClass:[GetIdentityTokenBalancesResponse_GetIdentityTokenBalancesResponseV0_TokenBalances class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetStatusResponse_GetStatusResponseV0_StateSync__storage_)
+                                   storageSize:sizeof(GetIdentityTokenBalancesResponse_GetIdentityTokenBalancesResponseV0_TokenBalances__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
-    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetStatusResponse_GetStatusResponseV0)];
+    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetIdentityTokenBalancesResponse_GetIdentityTokenBalancesResponseV0)];
     #if defined(DEBUG) && DEBUG
       NSAssert(descriptor == nil, @"Startup recursed!");
     #endif  // DEBUG
@@ -11829,17 +13526,17 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-#pragma mark - GetCurrentQuorumsInfoRequest
+#pragma mark - GetIdentitiesTokenBalancesRequest
 
-@implementation GetCurrentQuorumsInfoRequest
+@implementation GetIdentitiesTokenBalancesRequest
 
 @dynamic versionOneOfCase;
 @dynamic v0;
 
-typedef struct GetCurrentQuorumsInfoRequest__storage_ {
+typedef struct GetIdentitiesTokenBalancesRequest__storage_ {
   uint32_t _has_storage_[2];
-  GetCurrentQuorumsInfoRequest_GetCurrentQuorumsInfoRequestV0 *v0;
-} GetCurrentQuorumsInfoRequest__storage_;
+  GetIdentitiesTokenBalancesRequest_GetIdentitiesTokenBalancesRequestV0 *v0;
+} GetIdentitiesTokenBalancesRequest__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -11849,21 +13546,21 @@ + (GPBDescriptor *)descriptor {
     static GPBMessageFieldDescription fields[] = {
       {
         .name = "v0",
-        .dataTypeSpecific.clazz = GPBObjCClass(GetCurrentQuorumsInfoRequest_GetCurrentQuorumsInfoRequestV0),
-        .number = GetCurrentQuorumsInfoRequest_FieldNumber_V0,
+        .dataTypeSpecific.clazz = GPBObjCClass(GetIdentitiesTokenBalancesRequest_GetIdentitiesTokenBalancesRequestV0),
+        .number = GetIdentitiesTokenBalancesRequest_FieldNumber_V0,
         .hasIndex = -1,
-        .offset = (uint32_t)offsetof(GetCurrentQuorumsInfoRequest__storage_, v0),
+        .offset = (uint32_t)offsetof(GetIdentitiesTokenBalancesRequest__storage_, v0),
         .flags = GPBFieldOptional,
         .dataType = GPBDataTypeMessage,
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetCurrentQuorumsInfoRequest class]
+        [GPBDescriptor allocDescriptorForClass:[GetIdentitiesTokenBalancesRequest class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetCurrentQuorumsInfoRequest__storage_)
+                                   storageSize:sizeof(GetIdentitiesTokenBalancesRequest__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
     static const char *oneofs[] = {
       "version",
@@ -11881,34 +13578,68 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-void GetCurrentQuorumsInfoRequest_ClearVersionOneOfCase(GetCurrentQuorumsInfoRequest *message) {
-  GPBDescriptor *descriptor = [GetCurrentQuorumsInfoRequest descriptor];
+void GetIdentitiesTokenBalancesRequest_ClearVersionOneOfCase(GetIdentitiesTokenBalancesRequest *message) {
+  GPBDescriptor *descriptor = [GetIdentitiesTokenBalancesRequest descriptor];
   GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0];
   GPBClearOneof(message, oneof);
 }
-#pragma mark - GetCurrentQuorumsInfoRequest_GetCurrentQuorumsInfoRequestV0
+#pragma mark - GetIdentitiesTokenBalancesRequest_GetIdentitiesTokenBalancesRequestV0
 
-@implementation GetCurrentQuorumsInfoRequest_GetCurrentQuorumsInfoRequestV0
+@implementation GetIdentitiesTokenBalancesRequest_GetIdentitiesTokenBalancesRequestV0
 
+@dynamic tokenId;
+@dynamic identityIdsArray, identityIdsArray_Count;
+@dynamic prove;
 
-typedef struct GetCurrentQuorumsInfoRequest_GetCurrentQuorumsInfoRequestV0__storage_ {
+typedef struct GetIdentitiesTokenBalancesRequest_GetIdentitiesTokenBalancesRequestV0__storage_ {
   uint32_t _has_storage_[1];
-} GetCurrentQuorumsInfoRequest_GetCurrentQuorumsInfoRequestV0__storage_;
+  NSData *tokenId;
+  NSMutableArray *identityIdsArray;
+} GetIdentitiesTokenBalancesRequest_GetIdentitiesTokenBalancesRequestV0__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 = "tokenId",
+        .dataTypeSpecific.clazz = Nil,
+        .number = GetIdentitiesTokenBalancesRequest_GetIdentitiesTokenBalancesRequestV0_FieldNumber_TokenId,
+        .hasIndex = 0,
+        .offset = (uint32_t)offsetof(GetIdentitiesTokenBalancesRequest_GetIdentitiesTokenBalancesRequestV0__storage_, tokenId),
+        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
+        .dataType = GPBDataTypeBytes,
+      },
+      {
+        .name = "identityIdsArray",
+        .dataTypeSpecific.clazz = Nil,
+        .number = GetIdentitiesTokenBalancesRequest_GetIdentitiesTokenBalancesRequestV0_FieldNumber_IdentityIdsArray,
+        .hasIndex = GPBNoHasBit,
+        .offset = (uint32_t)offsetof(GetIdentitiesTokenBalancesRequest_GetIdentitiesTokenBalancesRequestV0__storage_, identityIdsArray),
+        .flags = GPBFieldRepeated,
+        .dataType = GPBDataTypeBytes,
+      },
+      {
+        .name = "prove",
+        .dataTypeSpecific.clazz = Nil,
+        .number = GetIdentitiesTokenBalancesRequest_GetIdentitiesTokenBalancesRequestV0_FieldNumber_Prove,
+        .hasIndex = 1,
+        .offset = 2,  // Stored in _has_storage_ to save space.
+        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
+        .dataType = GPBDataTypeBool,
+      },
+    };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetCurrentQuorumsInfoRequest_GetCurrentQuorumsInfoRequestV0 class]
+        [GPBDescriptor allocDescriptorForClass:[GetIdentitiesTokenBalancesRequest_GetIdentitiesTokenBalancesRequestV0 class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
-                                        fields:NULL
-                                    fieldCount:0
-                                   storageSize:sizeof(GetCurrentQuorumsInfoRequest_GetCurrentQuorumsInfoRequestV0__storage_)
+                                        fields:fields
+                                    fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
+                                   storageSize:sizeof(GetIdentitiesTokenBalancesRequest_GetIdentitiesTokenBalancesRequestV0__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
-    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetCurrentQuorumsInfoRequest)];
+    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetIdentitiesTokenBalancesRequest)];
     #if defined(DEBUG) && DEBUG
       NSAssert(descriptor == nil, @"Startup recursed!");
     #endif  // DEBUG
@@ -11919,17 +13650,17 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-#pragma mark - GetCurrentQuorumsInfoResponse
+#pragma mark - GetIdentitiesTokenBalancesResponse
 
-@implementation GetCurrentQuorumsInfoResponse
+@implementation GetIdentitiesTokenBalancesResponse
 
 @dynamic versionOneOfCase;
 @dynamic v0;
 
-typedef struct GetCurrentQuorumsInfoResponse__storage_ {
+typedef struct GetIdentitiesTokenBalancesResponse__storage_ {
   uint32_t _has_storage_[2];
-  GetCurrentQuorumsInfoResponse_GetCurrentQuorumsInfoResponseV0 *v0;
-} GetCurrentQuorumsInfoResponse__storage_;
+  GetIdentitiesTokenBalancesResponse_GetIdentitiesTokenBalancesResponseV0 *v0;
+} GetIdentitiesTokenBalancesResponse__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -11939,21 +13670,21 @@ + (GPBDescriptor *)descriptor {
     static GPBMessageFieldDescription fields[] = {
       {
         .name = "v0",
-        .dataTypeSpecific.clazz = GPBObjCClass(GetCurrentQuorumsInfoResponse_GetCurrentQuorumsInfoResponseV0),
-        .number = GetCurrentQuorumsInfoResponse_FieldNumber_V0,
+        .dataTypeSpecific.clazz = GPBObjCClass(GetIdentitiesTokenBalancesResponse_GetIdentitiesTokenBalancesResponseV0),
+        .number = GetIdentitiesTokenBalancesResponse_FieldNumber_V0,
         .hasIndex = -1,
-        .offset = (uint32_t)offsetof(GetCurrentQuorumsInfoResponse__storage_, v0),
+        .offset = (uint32_t)offsetof(GetIdentitiesTokenBalancesResponse__storage_, v0),
         .flags = GPBFieldOptional,
         .dataType = GPBDataTypeMessage,
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetCurrentQuorumsInfoResponse class]
+        [GPBDescriptor allocDescriptorForClass:[GetIdentitiesTokenBalancesResponse class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetCurrentQuorumsInfoResponse__storage_)
+                                   storageSize:sizeof(GetIdentitiesTokenBalancesResponse__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
     static const char *oneofs[] = {
       "version",
@@ -11971,24 +13702,26 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-void GetCurrentQuorumsInfoResponse_ClearVersionOneOfCase(GetCurrentQuorumsInfoResponse *message) {
-  GPBDescriptor *descriptor = [GetCurrentQuorumsInfoResponse descriptor];
+void GetIdentitiesTokenBalancesResponse_ClearVersionOneOfCase(GetIdentitiesTokenBalancesResponse *message) {
+  GPBDescriptor *descriptor = [GetIdentitiesTokenBalancesResponse descriptor];
   GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0];
   GPBClearOneof(message, oneof);
 }
-#pragma mark - GetCurrentQuorumsInfoResponse_ValidatorV0
+#pragma mark - GetIdentitiesTokenBalancesResponse_GetIdentitiesTokenBalancesResponseV0
 
-@implementation GetCurrentQuorumsInfoResponse_ValidatorV0
+@implementation GetIdentitiesTokenBalancesResponse_GetIdentitiesTokenBalancesResponseV0
 
-@dynamic proTxHash;
-@dynamic nodeIp;
-@dynamic isBanned;
+@dynamic resultOneOfCase;
+@dynamic identityTokenBalances;
+@dynamic proof;
+@dynamic hasMetadata, metadata;
 
-typedef struct GetCurrentQuorumsInfoResponse_ValidatorV0__storage_ {
-  uint32_t _has_storage_[1];
-  NSData *proTxHash;
-  NSString *nodeIp;
-} GetCurrentQuorumsInfoResponse_ValidatorV0__storage_;
+typedef struct GetIdentitiesTokenBalancesResponse_GetIdentitiesTokenBalancesResponseV0__storage_ {
+  uint32_t _has_storage_[2];
+  GetIdentitiesTokenBalancesResponse_GetIdentitiesTokenBalancesResponseV0_IdentityTokenBalances *identityTokenBalances;
+  Proof *proof;
+  ResponseMetadata *metadata;
+} GetIdentitiesTokenBalancesResponse_GetIdentitiesTokenBalancesResponseV0__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -11997,42 +13730,48 @@ + (GPBDescriptor *)descriptor {
   if (!descriptor) {
     static GPBMessageFieldDescription fields[] = {
       {
-        .name = "proTxHash",
-        .dataTypeSpecific.clazz = Nil,
-        .number = GetCurrentQuorumsInfoResponse_ValidatorV0_FieldNumber_ProTxHash,
-        .hasIndex = 0,
-        .offset = (uint32_t)offsetof(GetCurrentQuorumsInfoResponse_ValidatorV0__storage_, proTxHash),
-        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
-        .dataType = GPBDataTypeBytes,
+        .name = "identityTokenBalances",
+        .dataTypeSpecific.clazz = GPBObjCClass(GetIdentitiesTokenBalancesResponse_GetIdentitiesTokenBalancesResponseV0_IdentityTokenBalances),
+        .number = GetIdentitiesTokenBalancesResponse_GetIdentitiesTokenBalancesResponseV0_FieldNumber_IdentityTokenBalances,
+        .hasIndex = -1,
+        .offset = (uint32_t)offsetof(GetIdentitiesTokenBalancesResponse_GetIdentitiesTokenBalancesResponseV0__storage_, identityTokenBalances),
+        .flags = GPBFieldOptional,
+        .dataType = GPBDataTypeMessage,
       },
       {
-        .name = "nodeIp",
-        .dataTypeSpecific.clazz = Nil,
-        .number = GetCurrentQuorumsInfoResponse_ValidatorV0_FieldNumber_NodeIp,
-        .hasIndex = 1,
-        .offset = (uint32_t)offsetof(GetCurrentQuorumsInfoResponse_ValidatorV0__storage_, nodeIp),
-        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
-        .dataType = GPBDataTypeString,
+        .name = "proof",
+        .dataTypeSpecific.clazz = GPBObjCClass(Proof),
+        .number = GetIdentitiesTokenBalancesResponse_GetIdentitiesTokenBalancesResponseV0_FieldNumber_Proof,
+        .hasIndex = -1,
+        .offset = (uint32_t)offsetof(GetIdentitiesTokenBalancesResponse_GetIdentitiesTokenBalancesResponseV0__storage_, proof),
+        .flags = GPBFieldOptional,
+        .dataType = GPBDataTypeMessage,
       },
       {
-        .name = "isBanned",
-        .dataTypeSpecific.clazz = Nil,
-        .number = GetCurrentQuorumsInfoResponse_ValidatorV0_FieldNumber_IsBanned,
-        .hasIndex = 2,
-        .offset = 3,  // Stored in _has_storage_ to save space.
-        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
-        .dataType = GPBDataTypeBool,
+        .name = "metadata",
+        .dataTypeSpecific.clazz = GPBObjCClass(ResponseMetadata),
+        .number = GetIdentitiesTokenBalancesResponse_GetIdentitiesTokenBalancesResponseV0_FieldNumber_Metadata,
+        .hasIndex = 0,
+        .offset = (uint32_t)offsetof(GetIdentitiesTokenBalancesResponse_GetIdentitiesTokenBalancesResponseV0__storage_, metadata),
+        .flags = GPBFieldOptional,
+        .dataType = GPBDataTypeMessage,
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetCurrentQuorumsInfoResponse_ValidatorV0 class]
+        [GPBDescriptor allocDescriptorForClass:[GetIdentitiesTokenBalancesResponse_GetIdentitiesTokenBalancesResponseV0 class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetCurrentQuorumsInfoResponse_ValidatorV0__storage_)
+                                   storageSize:sizeof(GetIdentitiesTokenBalancesResponse_GetIdentitiesTokenBalancesResponseV0__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
-    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetCurrentQuorumsInfoResponse)];
+    static const char *oneofs[] = {
+      "result",
+    };
+    [localDescriptor setupOneofs:oneofs
+                           count:(uint32_t)(sizeof(oneofs) / sizeof(char*))
+                   firstHasIndex:-1];
+    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetIdentitiesTokenBalancesResponse)];
     #if defined(DEBUG) && DEBUG
       NSAssert(descriptor == nil, @"Startup recursed!");
     #endif  // DEBUG
@@ -12043,75 +13782,58 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-#pragma mark - GetCurrentQuorumsInfoResponse_ValidatorSetV0
+void GetIdentitiesTokenBalancesResponse_GetIdentitiesTokenBalancesResponseV0_ClearResultOneOfCase(GetIdentitiesTokenBalancesResponse_GetIdentitiesTokenBalancesResponseV0 *message) {
+  GPBDescriptor *descriptor = [GetIdentitiesTokenBalancesResponse_GetIdentitiesTokenBalancesResponseV0 descriptor];
+  GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0];
+  GPBClearOneof(message, oneof);
+}
+#pragma mark - GetIdentitiesTokenBalancesResponse_GetIdentitiesTokenBalancesResponseV0_IdentityTokenBalanceEntry
 
-@implementation GetCurrentQuorumsInfoResponse_ValidatorSetV0
+@implementation GetIdentitiesTokenBalancesResponse_GetIdentitiesTokenBalancesResponseV0_IdentityTokenBalanceEntry
 
-@dynamic quorumHash;
-@dynamic coreHeight;
-@dynamic membersArray, membersArray_Count;
-@dynamic thresholdPublicKey;
+@dynamic identityId;
+@dynamic hasBalance, balance;
 
-typedef struct GetCurrentQuorumsInfoResponse_ValidatorSetV0__storage_ {
+typedef struct GetIdentitiesTokenBalancesResponse_GetIdentitiesTokenBalancesResponseV0_IdentityTokenBalanceEntry__storage_ {
   uint32_t _has_storage_[1];
-  uint32_t coreHeight;
-  NSData *quorumHash;
-  NSMutableArray *membersArray;
-  NSData *thresholdPublicKey;
-} GetCurrentQuorumsInfoResponse_ValidatorSetV0__storage_;
+  NSData *identityId;
+  uint64_t balance;
+} GetIdentitiesTokenBalancesResponse_GetIdentitiesTokenBalancesResponseV0_IdentityTokenBalanceEntry__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 = "quorumHash",
-        .dataTypeSpecific.clazz = Nil,
-        .number = GetCurrentQuorumsInfoResponse_ValidatorSetV0_FieldNumber_QuorumHash,
-        .hasIndex = 0,
-        .offset = (uint32_t)offsetof(GetCurrentQuorumsInfoResponse_ValidatorSetV0__storage_, quorumHash),
-        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
-        .dataType = GPBDataTypeBytes,
-      },
-      {
-        .name = "coreHeight",
-        .dataTypeSpecific.clazz = Nil,
-        .number = GetCurrentQuorumsInfoResponse_ValidatorSetV0_FieldNumber_CoreHeight,
-        .hasIndex = 1,
-        .offset = (uint32_t)offsetof(GetCurrentQuorumsInfoResponse_ValidatorSetV0__storage_, coreHeight),
-        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
-        .dataType = GPBDataTypeUInt32,
-      },
-      {
-        .name = "membersArray",
-        .dataTypeSpecific.clazz = GPBObjCClass(GetCurrentQuorumsInfoResponse_ValidatorV0),
-        .number = GetCurrentQuorumsInfoResponse_ValidatorSetV0_FieldNumber_MembersArray,
-        .hasIndex = GPBNoHasBit,
-        .offset = (uint32_t)offsetof(GetCurrentQuorumsInfoResponse_ValidatorSetV0__storage_, membersArray),
-        .flags = GPBFieldRepeated,
-        .dataType = GPBDataTypeMessage,
-      },
+// 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 = "thresholdPublicKey",
+        .name = "identityId",
         .dataTypeSpecific.clazz = Nil,
-        .number = GetCurrentQuorumsInfoResponse_ValidatorSetV0_FieldNumber_ThresholdPublicKey,
-        .hasIndex = 2,
-        .offset = (uint32_t)offsetof(GetCurrentQuorumsInfoResponse_ValidatorSetV0__storage_, thresholdPublicKey),
+        .number = GetIdentitiesTokenBalancesResponse_GetIdentitiesTokenBalancesResponseV0_IdentityTokenBalanceEntry_FieldNumber_IdentityId,
+        .hasIndex = 0,
+        .offset = (uint32_t)offsetof(GetIdentitiesTokenBalancesResponse_GetIdentitiesTokenBalancesResponseV0_IdentityTokenBalanceEntry__storage_, identityId),
         .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
         .dataType = GPBDataTypeBytes,
       },
+      {
+        .name = "balance",
+        .dataTypeSpecific.clazz = Nil,
+        .number = GetIdentitiesTokenBalancesResponse_GetIdentitiesTokenBalancesResponseV0_IdentityTokenBalanceEntry_FieldNumber_Balance,
+        .hasIndex = 1,
+        .offset = (uint32_t)offsetof(GetIdentitiesTokenBalancesResponse_GetIdentitiesTokenBalancesResponseV0_IdentityTokenBalanceEntry__storage_, balance),
+        .flags = GPBFieldOptional,
+        .dataType = GPBDataTypeUInt64,
+      },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetCurrentQuorumsInfoResponse_ValidatorSetV0 class]
+        [GPBDescriptor allocDescriptorForClass:[GetIdentitiesTokenBalancesResponse_GetIdentitiesTokenBalancesResponseV0_IdentityTokenBalanceEntry class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetCurrentQuorumsInfoResponse_ValidatorSetV0__storage_)
+                                   storageSize:sizeof(GetIdentitiesTokenBalancesResponse_GetIdentitiesTokenBalancesResponseV0_IdentityTokenBalanceEntry__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
-    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetCurrentQuorumsInfoResponse)];
+    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetIdentitiesTokenBalancesResponse_GetIdentitiesTokenBalancesResponseV0)];
     #if defined(DEBUG) && DEBUG
       NSAssert(descriptor == nil, @"Startup recursed!");
     #endif  // DEBUG
@@ -12122,24 +13844,16 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-#pragma mark - GetCurrentQuorumsInfoResponse_GetCurrentQuorumsInfoResponseV0
+#pragma mark - GetIdentitiesTokenBalancesResponse_GetIdentitiesTokenBalancesResponseV0_IdentityTokenBalances
 
-@implementation GetCurrentQuorumsInfoResponse_GetCurrentQuorumsInfoResponseV0
+@implementation GetIdentitiesTokenBalancesResponse_GetIdentitiesTokenBalancesResponseV0_IdentityTokenBalances
 
-@dynamic quorumHashesArray, quorumHashesArray_Count;
-@dynamic currentQuorumHash;
-@dynamic validatorSetsArray, validatorSetsArray_Count;
-@dynamic lastBlockProposer;
-@dynamic hasMetadata, metadata;
+@dynamic identityTokenBalancesArray, identityTokenBalancesArray_Count;
 
-typedef struct GetCurrentQuorumsInfoResponse_GetCurrentQuorumsInfoResponseV0__storage_ {
+typedef struct GetIdentitiesTokenBalancesResponse_GetIdentitiesTokenBalancesResponseV0_IdentityTokenBalances__storage_ {
   uint32_t _has_storage_[1];
-  NSMutableArray *quorumHashesArray;
-  NSData *currentQuorumHash;
-  NSMutableArray *validatorSetsArray;
-  NSData *lastBlockProposer;
-  ResponseMetadata *metadata;
-} GetCurrentQuorumsInfoResponse_GetCurrentQuorumsInfoResponseV0__storage_;
+  NSMutableArray *identityTokenBalancesArray;
+} GetIdentitiesTokenBalancesResponse_GetIdentitiesTokenBalancesResponseV0_IdentityTokenBalances__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -12148,60 +13862,24 @@ + (GPBDescriptor *)descriptor {
   if (!descriptor) {
     static GPBMessageFieldDescription fields[] = {
       {
-        .name = "quorumHashesArray",
-        .dataTypeSpecific.clazz = Nil,
-        .number = GetCurrentQuorumsInfoResponse_GetCurrentQuorumsInfoResponseV0_FieldNumber_QuorumHashesArray,
-        .hasIndex = GPBNoHasBit,
-        .offset = (uint32_t)offsetof(GetCurrentQuorumsInfoResponse_GetCurrentQuorumsInfoResponseV0__storage_, quorumHashesArray),
-        .flags = GPBFieldRepeated,
-        .dataType = GPBDataTypeBytes,
-      },
-      {
-        .name = "currentQuorumHash",
-        .dataTypeSpecific.clazz = Nil,
-        .number = GetCurrentQuorumsInfoResponse_GetCurrentQuorumsInfoResponseV0_FieldNumber_CurrentQuorumHash,
-        .hasIndex = 0,
-        .offset = (uint32_t)offsetof(GetCurrentQuorumsInfoResponse_GetCurrentQuorumsInfoResponseV0__storage_, currentQuorumHash),
-        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
-        .dataType = GPBDataTypeBytes,
-      },
-      {
-        .name = "validatorSetsArray",
-        .dataTypeSpecific.clazz = GPBObjCClass(GetCurrentQuorumsInfoResponse_ValidatorSetV0),
-        .number = GetCurrentQuorumsInfoResponse_GetCurrentQuorumsInfoResponseV0_FieldNumber_ValidatorSetsArray,
+        .name = "identityTokenBalancesArray",
+        .dataTypeSpecific.clazz = GPBObjCClass(GetIdentitiesTokenBalancesResponse_GetIdentitiesTokenBalancesResponseV0_IdentityTokenBalanceEntry),
+        .number = GetIdentitiesTokenBalancesResponse_GetIdentitiesTokenBalancesResponseV0_IdentityTokenBalances_FieldNumber_IdentityTokenBalancesArray,
         .hasIndex = GPBNoHasBit,
-        .offset = (uint32_t)offsetof(GetCurrentQuorumsInfoResponse_GetCurrentQuorumsInfoResponseV0__storage_, validatorSetsArray),
+        .offset = (uint32_t)offsetof(GetIdentitiesTokenBalancesResponse_GetIdentitiesTokenBalancesResponseV0_IdentityTokenBalances__storage_, identityTokenBalancesArray),
         .flags = GPBFieldRepeated,
         .dataType = GPBDataTypeMessage,
       },
-      {
-        .name = "lastBlockProposer",
-        .dataTypeSpecific.clazz = Nil,
-        .number = GetCurrentQuorumsInfoResponse_GetCurrentQuorumsInfoResponseV0_FieldNumber_LastBlockProposer,
-        .hasIndex = 1,
-        .offset = (uint32_t)offsetof(GetCurrentQuorumsInfoResponse_GetCurrentQuorumsInfoResponseV0__storage_, lastBlockProposer),
-        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
-        .dataType = GPBDataTypeBytes,
-      },
-      {
-        .name = "metadata",
-        .dataTypeSpecific.clazz = GPBObjCClass(ResponseMetadata),
-        .number = GetCurrentQuorumsInfoResponse_GetCurrentQuorumsInfoResponseV0_FieldNumber_Metadata,
-        .hasIndex = 2,
-        .offset = (uint32_t)offsetof(GetCurrentQuorumsInfoResponse_GetCurrentQuorumsInfoResponseV0__storage_, metadata),
-        .flags = GPBFieldOptional,
-        .dataType = GPBDataTypeMessage,
-      },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetCurrentQuorumsInfoResponse_GetCurrentQuorumsInfoResponseV0 class]
+        [GPBDescriptor allocDescriptorForClass:[GetIdentitiesTokenBalancesResponse_GetIdentitiesTokenBalancesResponseV0_IdentityTokenBalances class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetCurrentQuorumsInfoResponse_GetCurrentQuorumsInfoResponseV0__storage_)
+                                   storageSize:sizeof(GetIdentitiesTokenBalancesResponse_GetIdentitiesTokenBalancesResponseV0_IdentityTokenBalances__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
-    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetCurrentQuorumsInfoResponse)];
+    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetIdentitiesTokenBalancesResponse_GetIdentitiesTokenBalancesResponseV0)];
     #if defined(DEBUG) && DEBUG
       NSAssert(descriptor == nil, @"Startup recursed!");
     #endif  // DEBUG
@@ -12212,17 +13890,17 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-#pragma mark - GetIdentityTokenBalancesRequest
+#pragma mark - GetIdentityTokenInfosRequest
 
-@implementation GetIdentityTokenBalancesRequest
+@implementation GetIdentityTokenInfosRequest
 
 @dynamic versionOneOfCase;
 @dynamic v0;
 
-typedef struct GetIdentityTokenBalancesRequest__storage_ {
+typedef struct GetIdentityTokenInfosRequest__storage_ {
   uint32_t _has_storage_[2];
-  GetIdentityTokenBalancesRequest_GetIdentityTokenBalancesRequestV0 *v0;
-} GetIdentityTokenBalancesRequest__storage_;
+  GetIdentityTokenInfosRequest_GetIdentityTokenInfosRequestV0 *v0;
+} GetIdentityTokenInfosRequest__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -12232,21 +13910,21 @@ + (GPBDescriptor *)descriptor {
     static GPBMessageFieldDescription fields[] = {
       {
         .name = "v0",
-        .dataTypeSpecific.clazz = GPBObjCClass(GetIdentityTokenBalancesRequest_GetIdentityTokenBalancesRequestV0),
-        .number = GetIdentityTokenBalancesRequest_FieldNumber_V0,
+        .dataTypeSpecific.clazz = GPBObjCClass(GetIdentityTokenInfosRequest_GetIdentityTokenInfosRequestV0),
+        .number = GetIdentityTokenInfosRequest_FieldNumber_V0,
         .hasIndex = -1,
-        .offset = (uint32_t)offsetof(GetIdentityTokenBalancesRequest__storage_, v0),
+        .offset = (uint32_t)offsetof(GetIdentityTokenInfosRequest__storage_, v0),
         .flags = GPBFieldOptional,
         .dataType = GPBDataTypeMessage,
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetIdentityTokenBalancesRequest class]
+        [GPBDescriptor allocDescriptorForClass:[GetIdentityTokenInfosRequest class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetIdentityTokenBalancesRequest__storage_)
+                                   storageSize:sizeof(GetIdentityTokenInfosRequest__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
     static const char *oneofs[] = {
       "version",
@@ -12264,24 +13942,24 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-void GetIdentityTokenBalancesRequest_ClearVersionOneOfCase(GetIdentityTokenBalancesRequest *message) {
-  GPBDescriptor *descriptor = [GetIdentityTokenBalancesRequest descriptor];
+void GetIdentityTokenInfosRequest_ClearVersionOneOfCase(GetIdentityTokenInfosRequest *message) {
+  GPBDescriptor *descriptor = [GetIdentityTokenInfosRequest descriptor];
   GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0];
   GPBClearOneof(message, oneof);
 }
-#pragma mark - GetIdentityTokenBalancesRequest_GetIdentityTokenBalancesRequestV0
+#pragma mark - GetIdentityTokenInfosRequest_GetIdentityTokenInfosRequestV0
 
-@implementation GetIdentityTokenBalancesRequest_GetIdentityTokenBalancesRequestV0
+@implementation GetIdentityTokenInfosRequest_GetIdentityTokenInfosRequestV0
 
 @dynamic identityId;
 @dynamic tokenIdsArray, tokenIdsArray_Count;
 @dynamic prove;
 
-typedef struct GetIdentityTokenBalancesRequest_GetIdentityTokenBalancesRequestV0__storage_ {
+typedef struct GetIdentityTokenInfosRequest_GetIdentityTokenInfosRequestV0__storage_ {
   uint32_t _has_storage_[1];
   NSData *identityId;
   NSMutableArray *tokenIdsArray;
-} GetIdentityTokenBalancesRequest_GetIdentityTokenBalancesRequestV0__storage_;
+} GetIdentityTokenInfosRequest_GetIdentityTokenInfosRequestV0__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -12292,25 +13970,25 @@ + (GPBDescriptor *)descriptor {
       {
         .name = "identityId",
         .dataTypeSpecific.clazz = Nil,
-        .number = GetIdentityTokenBalancesRequest_GetIdentityTokenBalancesRequestV0_FieldNumber_IdentityId,
+        .number = GetIdentityTokenInfosRequest_GetIdentityTokenInfosRequestV0_FieldNumber_IdentityId,
         .hasIndex = 0,
-        .offset = (uint32_t)offsetof(GetIdentityTokenBalancesRequest_GetIdentityTokenBalancesRequestV0__storage_, identityId),
+        .offset = (uint32_t)offsetof(GetIdentityTokenInfosRequest_GetIdentityTokenInfosRequestV0__storage_, identityId),
         .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
         .dataType = GPBDataTypeBytes,
       },
       {
         .name = "tokenIdsArray",
         .dataTypeSpecific.clazz = Nil,
-        .number = GetIdentityTokenBalancesRequest_GetIdentityTokenBalancesRequestV0_FieldNumber_TokenIdsArray,
+        .number = GetIdentityTokenInfosRequest_GetIdentityTokenInfosRequestV0_FieldNumber_TokenIdsArray,
         .hasIndex = GPBNoHasBit,
-        .offset = (uint32_t)offsetof(GetIdentityTokenBalancesRequest_GetIdentityTokenBalancesRequestV0__storage_, tokenIdsArray),
+        .offset = (uint32_t)offsetof(GetIdentityTokenInfosRequest_GetIdentityTokenInfosRequestV0__storage_, tokenIdsArray),
         .flags = GPBFieldRepeated,
         .dataType = GPBDataTypeBytes,
       },
       {
         .name = "prove",
         .dataTypeSpecific.clazz = Nil,
-        .number = GetIdentityTokenBalancesRequest_GetIdentityTokenBalancesRequestV0_FieldNumber_Prove,
+        .number = GetIdentityTokenInfosRequest_GetIdentityTokenInfosRequestV0_FieldNumber_Prove,
         .hasIndex = 1,
         .offset = 2,  // Stored in _has_storage_ to save space.
         .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
@@ -12318,14 +13996,14 @@ + (GPBDescriptor *)descriptor {
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetIdentityTokenBalancesRequest_GetIdentityTokenBalancesRequestV0 class]
+        [GPBDescriptor allocDescriptorForClass:[GetIdentityTokenInfosRequest_GetIdentityTokenInfosRequestV0 class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetIdentityTokenBalancesRequest_GetIdentityTokenBalancesRequestV0__storage_)
+                                   storageSize:sizeof(GetIdentityTokenInfosRequest_GetIdentityTokenInfosRequestV0__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
-    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetIdentityTokenBalancesRequest)];
+    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetIdentityTokenInfosRequest)];
     #if defined(DEBUG) && DEBUG
       NSAssert(descriptor == nil, @"Startup recursed!");
     #endif  // DEBUG
@@ -12336,17 +14014,17 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-#pragma mark - GetIdentityTokenBalancesResponse
+#pragma mark - GetIdentityTokenInfosResponse
 
-@implementation GetIdentityTokenBalancesResponse
+@implementation GetIdentityTokenInfosResponse
 
 @dynamic versionOneOfCase;
 @dynamic v0;
 
-typedef struct GetIdentityTokenBalancesResponse__storage_ {
+typedef struct GetIdentityTokenInfosResponse__storage_ {
   uint32_t _has_storage_[2];
-  GetIdentityTokenBalancesResponse_GetIdentityTokenBalancesResponseV0 *v0;
-} GetIdentityTokenBalancesResponse__storage_;
+  GetIdentityTokenInfosResponse_GetIdentityTokenInfosResponseV0 *v0;
+} GetIdentityTokenInfosResponse__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -12356,21 +14034,21 @@ + (GPBDescriptor *)descriptor {
     static GPBMessageFieldDescription fields[] = {
       {
         .name = "v0",
-        .dataTypeSpecific.clazz = GPBObjCClass(GetIdentityTokenBalancesResponse_GetIdentityTokenBalancesResponseV0),
-        .number = GetIdentityTokenBalancesResponse_FieldNumber_V0,
+        .dataTypeSpecific.clazz = GPBObjCClass(GetIdentityTokenInfosResponse_GetIdentityTokenInfosResponseV0),
+        .number = GetIdentityTokenInfosResponse_FieldNumber_V0,
         .hasIndex = -1,
-        .offset = (uint32_t)offsetof(GetIdentityTokenBalancesResponse__storage_, v0),
+        .offset = (uint32_t)offsetof(GetIdentityTokenInfosResponse__storage_, v0),
         .flags = GPBFieldOptional,
         .dataType = GPBDataTypeMessage,
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetIdentityTokenBalancesResponse class]
+        [GPBDescriptor allocDescriptorForClass:[GetIdentityTokenInfosResponse class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetIdentityTokenBalancesResponse__storage_)
+                                   storageSize:sizeof(GetIdentityTokenInfosResponse__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
     static const char *oneofs[] = {
       "version",
@@ -12388,26 +14066,100 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-void GetIdentityTokenBalancesResponse_ClearVersionOneOfCase(GetIdentityTokenBalancesResponse *message) {
-  GPBDescriptor *descriptor = [GetIdentityTokenBalancesResponse descriptor];
+void GetIdentityTokenInfosResponse_ClearVersionOneOfCase(GetIdentityTokenInfosResponse *message) {
+  GPBDescriptor *descriptor = [GetIdentityTokenInfosResponse descriptor];
   GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0];
   GPBClearOneof(message, oneof);
 }
-#pragma mark - GetIdentityTokenBalancesResponse_GetIdentityTokenBalancesResponseV0
+#pragma mark - GetIdentityTokenInfosResponse_GetIdentityTokenInfosResponseV0
 
-@implementation GetIdentityTokenBalancesResponse_GetIdentityTokenBalancesResponseV0
+@implementation GetIdentityTokenInfosResponse_GetIdentityTokenInfosResponseV0
 
 @dynamic resultOneOfCase;
-@dynamic tokenBalances;
+@dynamic tokenInfos;
 @dynamic proof;
 @dynamic hasMetadata, metadata;
 
-typedef struct GetIdentityTokenBalancesResponse_GetIdentityTokenBalancesResponseV0__storage_ {
+typedef struct GetIdentityTokenInfosResponse_GetIdentityTokenInfosResponseV0__storage_ {
   uint32_t _has_storage_[2];
-  GetIdentityTokenBalancesResponse_GetIdentityTokenBalancesResponseV0_TokenBalances *tokenBalances;
+  GetIdentityTokenInfosResponse_GetIdentityTokenInfosResponseV0_TokenInfos *tokenInfos;
   Proof *proof;
   ResponseMetadata *metadata;
-} GetIdentityTokenBalancesResponse_GetIdentityTokenBalancesResponseV0__storage_;
+} GetIdentityTokenInfosResponse_GetIdentityTokenInfosResponseV0__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 = "tokenInfos",
+        .dataTypeSpecific.clazz = GPBObjCClass(GetIdentityTokenInfosResponse_GetIdentityTokenInfosResponseV0_TokenInfos),
+        .number = GetIdentityTokenInfosResponse_GetIdentityTokenInfosResponseV0_FieldNumber_TokenInfos,
+        .hasIndex = -1,
+        .offset = (uint32_t)offsetof(GetIdentityTokenInfosResponse_GetIdentityTokenInfosResponseV0__storage_, tokenInfos),
+        .flags = GPBFieldOptional,
+        .dataType = GPBDataTypeMessage,
+      },
+      {
+        .name = "proof",
+        .dataTypeSpecific.clazz = GPBObjCClass(Proof),
+        .number = GetIdentityTokenInfosResponse_GetIdentityTokenInfosResponseV0_FieldNumber_Proof,
+        .hasIndex = -1,
+        .offset = (uint32_t)offsetof(GetIdentityTokenInfosResponse_GetIdentityTokenInfosResponseV0__storage_, proof),
+        .flags = GPBFieldOptional,
+        .dataType = GPBDataTypeMessage,
+      },
+      {
+        .name = "metadata",
+        .dataTypeSpecific.clazz = GPBObjCClass(ResponseMetadata),
+        .number = GetIdentityTokenInfosResponse_GetIdentityTokenInfosResponseV0_FieldNumber_Metadata,
+        .hasIndex = 0,
+        .offset = (uint32_t)offsetof(GetIdentityTokenInfosResponse_GetIdentityTokenInfosResponseV0__storage_, metadata),
+        .flags = GPBFieldOptional,
+        .dataType = GPBDataTypeMessage,
+      },
+    };
+    GPBDescriptor *localDescriptor =
+        [GPBDescriptor allocDescriptorForClass:[GetIdentityTokenInfosResponse_GetIdentityTokenInfosResponseV0 class]
+                                     rootClass:[PlatformRoot class]
+                                          file:PlatformRoot_FileDescriptor()
+                                        fields:fields
+                                    fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
+                                   storageSize:sizeof(GetIdentityTokenInfosResponse_GetIdentityTokenInfosResponseV0__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(GetIdentityTokenInfosResponse)];
+    #if defined(DEBUG) && DEBUG
+      NSAssert(descriptor == nil, @"Startup recursed!");
+    #endif  // DEBUG
+    descriptor = localDescriptor;
+  }
+  return descriptor;
+}
+
+@end
+
+void GetIdentityTokenInfosResponse_GetIdentityTokenInfosResponseV0_ClearResultOneOfCase(GetIdentityTokenInfosResponse_GetIdentityTokenInfosResponseV0 *message) {
+  GPBDescriptor *descriptor = [GetIdentityTokenInfosResponse_GetIdentityTokenInfosResponseV0 descriptor];
+  GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0];
+  GPBClearOneof(message, oneof);
+}
+#pragma mark - GetIdentityTokenInfosResponse_GetIdentityTokenInfosResponseV0_TokenIdentityInfoEntry
+
+@implementation GetIdentityTokenInfosResponse_GetIdentityTokenInfosResponseV0_TokenIdentityInfoEntry
+
+@dynamic frozen;
+
+typedef struct GetIdentityTokenInfosResponse_GetIdentityTokenInfosResponseV0_TokenIdentityInfoEntry__storage_ {
+  uint32_t _has_storage_[1];
+} GetIdentityTokenInfosResponse_GetIdentityTokenInfosResponseV0_TokenIdentityInfoEntry__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -12416,48 +14168,24 @@ + (GPBDescriptor *)descriptor {
   if (!descriptor) {
     static GPBMessageFieldDescription fields[] = {
       {
-        .name = "tokenBalances",
-        .dataTypeSpecific.clazz = GPBObjCClass(GetIdentityTokenBalancesResponse_GetIdentityTokenBalancesResponseV0_TokenBalances),
-        .number = GetIdentityTokenBalancesResponse_GetIdentityTokenBalancesResponseV0_FieldNumber_TokenBalances,
-        .hasIndex = -1,
-        .offset = (uint32_t)offsetof(GetIdentityTokenBalancesResponse_GetIdentityTokenBalancesResponseV0__storage_, tokenBalances),
-        .flags = GPBFieldOptional,
-        .dataType = GPBDataTypeMessage,
-      },
-      {
-        .name = "proof",
-        .dataTypeSpecific.clazz = GPBObjCClass(Proof),
-        .number = GetIdentityTokenBalancesResponse_GetIdentityTokenBalancesResponseV0_FieldNumber_Proof,
-        .hasIndex = -1,
-        .offset = (uint32_t)offsetof(GetIdentityTokenBalancesResponse_GetIdentityTokenBalancesResponseV0__storage_, proof),
-        .flags = GPBFieldOptional,
-        .dataType = GPBDataTypeMessage,
-      },
-      {
-        .name = "metadata",
-        .dataTypeSpecific.clazz = GPBObjCClass(ResponseMetadata),
-        .number = GetIdentityTokenBalancesResponse_GetIdentityTokenBalancesResponseV0_FieldNumber_Metadata,
+        .name = "frozen",
+        .dataTypeSpecific.clazz = Nil,
+        .number = GetIdentityTokenInfosResponse_GetIdentityTokenInfosResponseV0_TokenIdentityInfoEntry_FieldNumber_Frozen,
         .hasIndex = 0,
-        .offset = (uint32_t)offsetof(GetIdentityTokenBalancesResponse_GetIdentityTokenBalancesResponseV0__storage_, metadata),
-        .flags = GPBFieldOptional,
-        .dataType = GPBDataTypeMessage,
+        .offset = 1,  // Stored in _has_storage_ to save space.
+        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
+        .dataType = GPBDataTypeBool,
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetIdentityTokenBalancesResponse_GetIdentityTokenBalancesResponseV0 class]
+        [GPBDescriptor allocDescriptorForClass:[GetIdentityTokenInfosResponse_GetIdentityTokenInfosResponseV0_TokenIdentityInfoEntry class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetIdentityTokenBalancesResponse_GetIdentityTokenBalancesResponseV0__storage_)
+                                   storageSize:sizeof(GetIdentityTokenInfosResponse_GetIdentityTokenInfosResponseV0_TokenIdentityInfoEntry__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(GetIdentityTokenBalancesResponse)];
+    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetIdentityTokenInfosResponse_GetIdentityTokenInfosResponseV0)];
     #if defined(DEBUG) && DEBUG
       NSAssert(descriptor == nil, @"Startup recursed!");
     #endif  // DEBUG
@@ -12468,23 +14196,18 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-void GetIdentityTokenBalancesResponse_GetIdentityTokenBalancesResponseV0_ClearResultOneOfCase(GetIdentityTokenBalancesResponse_GetIdentityTokenBalancesResponseV0 *message) {
-  GPBDescriptor *descriptor = [GetIdentityTokenBalancesResponse_GetIdentityTokenBalancesResponseV0 descriptor];
-  GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0];
-  GPBClearOneof(message, oneof);
-}
-#pragma mark - GetIdentityTokenBalancesResponse_GetIdentityTokenBalancesResponseV0_TokenBalanceEntry
+#pragma mark - GetIdentityTokenInfosResponse_GetIdentityTokenInfosResponseV0_TokenInfoEntry
 
-@implementation GetIdentityTokenBalancesResponse_GetIdentityTokenBalancesResponseV0_TokenBalanceEntry
+@implementation GetIdentityTokenInfosResponse_GetIdentityTokenInfosResponseV0_TokenInfoEntry
 
 @dynamic tokenId;
-@dynamic hasBalance, balance;
+@dynamic hasInfo, info;
 
-typedef struct GetIdentityTokenBalancesResponse_GetIdentityTokenBalancesResponseV0_TokenBalanceEntry__storage_ {
+typedef struct GetIdentityTokenInfosResponse_GetIdentityTokenInfosResponseV0_TokenInfoEntry__storage_ {
   uint32_t _has_storage_[1];
   NSData *tokenId;
-  uint64_t balance;
-} GetIdentityTokenBalancesResponse_GetIdentityTokenBalancesResponseV0_TokenBalanceEntry__storage_;
+  GetIdentityTokenInfosResponse_GetIdentityTokenInfosResponseV0_TokenIdentityInfoEntry *info;
+} GetIdentityTokenInfosResponse_GetIdentityTokenInfosResponseV0_TokenInfoEntry__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -12495,31 +14218,31 @@ + (GPBDescriptor *)descriptor {
       {
         .name = "tokenId",
         .dataTypeSpecific.clazz = Nil,
-        .number = GetIdentityTokenBalancesResponse_GetIdentityTokenBalancesResponseV0_TokenBalanceEntry_FieldNumber_TokenId,
+        .number = GetIdentityTokenInfosResponse_GetIdentityTokenInfosResponseV0_TokenInfoEntry_FieldNumber_TokenId,
         .hasIndex = 0,
-        .offset = (uint32_t)offsetof(GetIdentityTokenBalancesResponse_GetIdentityTokenBalancesResponseV0_TokenBalanceEntry__storage_, tokenId),
+        .offset = (uint32_t)offsetof(GetIdentityTokenInfosResponse_GetIdentityTokenInfosResponseV0_TokenInfoEntry__storage_, tokenId),
         .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
         .dataType = GPBDataTypeBytes,
       },
       {
-        .name = "balance",
-        .dataTypeSpecific.clazz = Nil,
-        .number = GetIdentityTokenBalancesResponse_GetIdentityTokenBalancesResponseV0_TokenBalanceEntry_FieldNumber_Balance,
+        .name = "info",
+        .dataTypeSpecific.clazz = GPBObjCClass(GetIdentityTokenInfosResponse_GetIdentityTokenInfosResponseV0_TokenIdentityInfoEntry),
+        .number = GetIdentityTokenInfosResponse_GetIdentityTokenInfosResponseV0_TokenInfoEntry_FieldNumber_Info,
         .hasIndex = 1,
-        .offset = (uint32_t)offsetof(GetIdentityTokenBalancesResponse_GetIdentityTokenBalancesResponseV0_TokenBalanceEntry__storage_, balance),
+        .offset = (uint32_t)offsetof(GetIdentityTokenInfosResponse_GetIdentityTokenInfosResponseV0_TokenInfoEntry__storage_, info),
         .flags = GPBFieldOptional,
-        .dataType = GPBDataTypeUInt64,
+        .dataType = GPBDataTypeMessage,
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetIdentityTokenBalancesResponse_GetIdentityTokenBalancesResponseV0_TokenBalanceEntry class]
+        [GPBDescriptor allocDescriptorForClass:[GetIdentityTokenInfosResponse_GetIdentityTokenInfosResponseV0_TokenInfoEntry class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetIdentityTokenBalancesResponse_GetIdentityTokenBalancesResponseV0_TokenBalanceEntry__storage_)
+                                   storageSize:sizeof(GetIdentityTokenInfosResponse_GetIdentityTokenInfosResponseV0_TokenInfoEntry__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
-    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetIdentityTokenBalancesResponse_GetIdentityTokenBalancesResponseV0)];
+    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetIdentityTokenInfosResponse_GetIdentityTokenInfosResponseV0)];
     #if defined(DEBUG) && DEBUG
       NSAssert(descriptor == nil, @"Startup recursed!");
     #endif  // DEBUG
@@ -12530,16 +14253,16 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-#pragma mark - GetIdentityTokenBalancesResponse_GetIdentityTokenBalancesResponseV0_TokenBalances
+#pragma mark - GetIdentityTokenInfosResponse_GetIdentityTokenInfosResponseV0_TokenInfos
 
-@implementation GetIdentityTokenBalancesResponse_GetIdentityTokenBalancesResponseV0_TokenBalances
+@implementation GetIdentityTokenInfosResponse_GetIdentityTokenInfosResponseV0_TokenInfos
 
-@dynamic tokenBalancesArray, tokenBalancesArray_Count;
+@dynamic tokenInfosArray, tokenInfosArray_Count;
 
-typedef struct GetIdentityTokenBalancesResponse_GetIdentityTokenBalancesResponseV0_TokenBalances__storage_ {
+typedef struct GetIdentityTokenInfosResponse_GetIdentityTokenInfosResponseV0_TokenInfos__storage_ {
   uint32_t _has_storage_[1];
-  NSMutableArray *tokenBalancesArray;
-} GetIdentityTokenBalancesResponse_GetIdentityTokenBalancesResponseV0_TokenBalances__storage_;
+  NSMutableArray *tokenInfosArray;
+} GetIdentityTokenInfosResponse_GetIdentityTokenInfosResponseV0_TokenInfos__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -12548,24 +14271,24 @@ + (GPBDescriptor *)descriptor {
   if (!descriptor) {
     static GPBMessageFieldDescription fields[] = {
       {
-        .name = "tokenBalancesArray",
-        .dataTypeSpecific.clazz = GPBObjCClass(GetIdentityTokenBalancesResponse_GetIdentityTokenBalancesResponseV0_TokenBalanceEntry),
-        .number = GetIdentityTokenBalancesResponse_GetIdentityTokenBalancesResponseV0_TokenBalances_FieldNumber_TokenBalancesArray,
+        .name = "tokenInfosArray",
+        .dataTypeSpecific.clazz = GPBObjCClass(GetIdentityTokenInfosResponse_GetIdentityTokenInfosResponseV0_TokenInfoEntry),
+        .number = GetIdentityTokenInfosResponse_GetIdentityTokenInfosResponseV0_TokenInfos_FieldNumber_TokenInfosArray,
         .hasIndex = GPBNoHasBit,
-        .offset = (uint32_t)offsetof(GetIdentityTokenBalancesResponse_GetIdentityTokenBalancesResponseV0_TokenBalances__storage_, tokenBalancesArray),
+        .offset = (uint32_t)offsetof(GetIdentityTokenInfosResponse_GetIdentityTokenInfosResponseV0_TokenInfos__storage_, tokenInfosArray),
         .flags = GPBFieldRepeated,
         .dataType = GPBDataTypeMessage,
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetIdentityTokenBalancesResponse_GetIdentityTokenBalancesResponseV0_TokenBalances class]
+        [GPBDescriptor allocDescriptorForClass:[GetIdentityTokenInfosResponse_GetIdentityTokenInfosResponseV0_TokenInfos class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetIdentityTokenBalancesResponse_GetIdentityTokenBalancesResponseV0_TokenBalances__storage_)
+                                   storageSize:sizeof(GetIdentityTokenInfosResponse_GetIdentityTokenInfosResponseV0_TokenInfos__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
-    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetIdentityTokenBalancesResponse_GetIdentityTokenBalancesResponseV0)];
+    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetIdentityTokenInfosResponse_GetIdentityTokenInfosResponseV0)];
     #if defined(DEBUG) && DEBUG
       NSAssert(descriptor == nil, @"Startup recursed!");
     #endif  // DEBUG
@@ -12576,17 +14299,17 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-#pragma mark - GetIdentitiesTokenBalancesRequest
+#pragma mark - GetIdentitiesTokenInfosRequest
 
-@implementation GetIdentitiesTokenBalancesRequest
+@implementation GetIdentitiesTokenInfosRequest
 
 @dynamic versionOneOfCase;
 @dynamic v0;
 
-typedef struct GetIdentitiesTokenBalancesRequest__storage_ {
+typedef struct GetIdentitiesTokenInfosRequest__storage_ {
   uint32_t _has_storage_[2];
-  GetIdentitiesTokenBalancesRequest_GetIdentitiesTokenBalancesRequestV0 *v0;
-} GetIdentitiesTokenBalancesRequest__storage_;
+  GetIdentitiesTokenInfosRequest_GetIdentitiesTokenInfosRequestV0 *v0;
+} GetIdentitiesTokenInfosRequest__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -12596,21 +14319,21 @@ + (GPBDescriptor *)descriptor {
     static GPBMessageFieldDescription fields[] = {
       {
         .name = "v0",
-        .dataTypeSpecific.clazz = GPBObjCClass(GetIdentitiesTokenBalancesRequest_GetIdentitiesTokenBalancesRequestV0),
-        .number = GetIdentitiesTokenBalancesRequest_FieldNumber_V0,
+        .dataTypeSpecific.clazz = GPBObjCClass(GetIdentitiesTokenInfosRequest_GetIdentitiesTokenInfosRequestV0),
+        .number = GetIdentitiesTokenInfosRequest_FieldNumber_V0,
         .hasIndex = -1,
-        .offset = (uint32_t)offsetof(GetIdentitiesTokenBalancesRequest__storage_, v0),
+        .offset = (uint32_t)offsetof(GetIdentitiesTokenInfosRequest__storage_, v0),
         .flags = GPBFieldOptional,
         .dataType = GPBDataTypeMessage,
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetIdentitiesTokenBalancesRequest class]
+        [GPBDescriptor allocDescriptorForClass:[GetIdentitiesTokenInfosRequest class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetIdentitiesTokenBalancesRequest__storage_)
+                                   storageSize:sizeof(GetIdentitiesTokenInfosRequest__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
     static const char *oneofs[] = {
       "version",
@@ -12628,24 +14351,24 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-void GetIdentitiesTokenBalancesRequest_ClearVersionOneOfCase(GetIdentitiesTokenBalancesRequest *message) {
-  GPBDescriptor *descriptor = [GetIdentitiesTokenBalancesRequest descriptor];
+void GetIdentitiesTokenInfosRequest_ClearVersionOneOfCase(GetIdentitiesTokenInfosRequest *message) {
+  GPBDescriptor *descriptor = [GetIdentitiesTokenInfosRequest descriptor];
   GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0];
   GPBClearOneof(message, oneof);
 }
-#pragma mark - GetIdentitiesTokenBalancesRequest_GetIdentitiesTokenBalancesRequestV0
+#pragma mark - GetIdentitiesTokenInfosRequest_GetIdentitiesTokenInfosRequestV0
 
-@implementation GetIdentitiesTokenBalancesRequest_GetIdentitiesTokenBalancesRequestV0
+@implementation GetIdentitiesTokenInfosRequest_GetIdentitiesTokenInfosRequestV0
 
 @dynamic tokenId;
 @dynamic identityIdsArray, identityIdsArray_Count;
 @dynamic prove;
 
-typedef struct GetIdentitiesTokenBalancesRequest_GetIdentitiesTokenBalancesRequestV0__storage_ {
+typedef struct GetIdentitiesTokenInfosRequest_GetIdentitiesTokenInfosRequestV0__storage_ {
   uint32_t _has_storage_[1];
   NSData *tokenId;
   NSMutableArray *identityIdsArray;
-} GetIdentitiesTokenBalancesRequest_GetIdentitiesTokenBalancesRequestV0__storage_;
+} GetIdentitiesTokenInfosRequest_GetIdentitiesTokenInfosRequestV0__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -12656,25 +14379,25 @@ + (GPBDescriptor *)descriptor {
       {
         .name = "tokenId",
         .dataTypeSpecific.clazz = Nil,
-        .number = GetIdentitiesTokenBalancesRequest_GetIdentitiesTokenBalancesRequestV0_FieldNumber_TokenId,
+        .number = GetIdentitiesTokenInfosRequest_GetIdentitiesTokenInfosRequestV0_FieldNumber_TokenId,
         .hasIndex = 0,
-        .offset = (uint32_t)offsetof(GetIdentitiesTokenBalancesRequest_GetIdentitiesTokenBalancesRequestV0__storage_, tokenId),
+        .offset = (uint32_t)offsetof(GetIdentitiesTokenInfosRequest_GetIdentitiesTokenInfosRequestV0__storage_, tokenId),
         .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
         .dataType = GPBDataTypeBytes,
       },
       {
         .name = "identityIdsArray",
         .dataTypeSpecific.clazz = Nil,
-        .number = GetIdentitiesTokenBalancesRequest_GetIdentitiesTokenBalancesRequestV0_FieldNumber_IdentityIdsArray,
+        .number = GetIdentitiesTokenInfosRequest_GetIdentitiesTokenInfosRequestV0_FieldNumber_IdentityIdsArray,
         .hasIndex = GPBNoHasBit,
-        .offset = (uint32_t)offsetof(GetIdentitiesTokenBalancesRequest_GetIdentitiesTokenBalancesRequestV0__storage_, identityIdsArray),
+        .offset = (uint32_t)offsetof(GetIdentitiesTokenInfosRequest_GetIdentitiesTokenInfosRequestV0__storage_, identityIdsArray),
         .flags = GPBFieldRepeated,
         .dataType = GPBDataTypeBytes,
       },
       {
         .name = "prove",
         .dataTypeSpecific.clazz = Nil,
-        .number = GetIdentitiesTokenBalancesRequest_GetIdentitiesTokenBalancesRequestV0_FieldNumber_Prove,
+        .number = GetIdentitiesTokenInfosRequest_GetIdentitiesTokenInfosRequestV0_FieldNumber_Prove,
         .hasIndex = 1,
         .offset = 2,  // Stored in _has_storage_ to save space.
         .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
@@ -12682,14 +14405,14 @@ + (GPBDescriptor *)descriptor {
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetIdentitiesTokenBalancesRequest_GetIdentitiesTokenBalancesRequestV0 class]
+        [GPBDescriptor allocDescriptorForClass:[GetIdentitiesTokenInfosRequest_GetIdentitiesTokenInfosRequestV0 class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetIdentitiesTokenBalancesRequest_GetIdentitiesTokenBalancesRequestV0__storage_)
+                                   storageSize:sizeof(GetIdentitiesTokenInfosRequest_GetIdentitiesTokenInfosRequestV0__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
-    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetIdentitiesTokenBalancesRequest)];
+    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetIdentitiesTokenInfosRequest)];
     #if defined(DEBUG) && DEBUG
       NSAssert(descriptor == nil, @"Startup recursed!");
     #endif  // DEBUG
@@ -12700,17 +14423,17 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-#pragma mark - GetIdentitiesTokenBalancesResponse
+#pragma mark - GetIdentitiesTokenInfosResponse
 
-@implementation GetIdentitiesTokenBalancesResponse
+@implementation GetIdentitiesTokenInfosResponse
 
 @dynamic versionOneOfCase;
 @dynamic v0;
 
-typedef struct GetIdentitiesTokenBalancesResponse__storage_ {
+typedef struct GetIdentitiesTokenInfosResponse__storage_ {
   uint32_t _has_storage_[2];
-  GetIdentitiesTokenBalancesResponse_GetIdentitiesTokenBalancesResponseV0 *v0;
-} GetIdentitiesTokenBalancesResponse__storage_;
+  GetIdentitiesTokenInfosResponse_GetIdentitiesTokenInfosResponseV0 *v0;
+} GetIdentitiesTokenInfosResponse__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -12720,21 +14443,21 @@ + (GPBDescriptor *)descriptor {
     static GPBMessageFieldDescription fields[] = {
       {
         .name = "v0",
-        .dataTypeSpecific.clazz = GPBObjCClass(GetIdentitiesTokenBalancesResponse_GetIdentitiesTokenBalancesResponseV0),
-        .number = GetIdentitiesTokenBalancesResponse_FieldNumber_V0,
+        .dataTypeSpecific.clazz = GPBObjCClass(GetIdentitiesTokenInfosResponse_GetIdentitiesTokenInfosResponseV0),
+        .number = GetIdentitiesTokenInfosResponse_FieldNumber_V0,
         .hasIndex = -1,
-        .offset = (uint32_t)offsetof(GetIdentitiesTokenBalancesResponse__storage_, v0),
+        .offset = (uint32_t)offsetof(GetIdentitiesTokenInfosResponse__storage_, v0),
         .flags = GPBFieldOptional,
         .dataType = GPBDataTypeMessage,
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetIdentitiesTokenBalancesResponse class]
+        [GPBDescriptor allocDescriptorForClass:[GetIdentitiesTokenInfosResponse class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetIdentitiesTokenBalancesResponse__storage_)
+                                   storageSize:sizeof(GetIdentitiesTokenInfosResponse__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
     static const char *oneofs[] = {
       "version",
@@ -12752,26 +14475,26 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-void GetIdentitiesTokenBalancesResponse_ClearVersionOneOfCase(GetIdentitiesTokenBalancesResponse *message) {
-  GPBDescriptor *descriptor = [GetIdentitiesTokenBalancesResponse descriptor];
+void GetIdentitiesTokenInfosResponse_ClearVersionOneOfCase(GetIdentitiesTokenInfosResponse *message) {
+  GPBDescriptor *descriptor = [GetIdentitiesTokenInfosResponse descriptor];
   GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0];
   GPBClearOneof(message, oneof);
 }
-#pragma mark - GetIdentitiesTokenBalancesResponse_GetIdentitiesTokenBalancesResponseV0
+#pragma mark - GetIdentitiesTokenInfosResponse_GetIdentitiesTokenInfosResponseV0
 
-@implementation GetIdentitiesTokenBalancesResponse_GetIdentitiesTokenBalancesResponseV0
+@implementation GetIdentitiesTokenInfosResponse_GetIdentitiesTokenInfosResponseV0
 
 @dynamic resultOneOfCase;
-@dynamic identityTokenBalances;
+@dynamic identityTokenInfos;
 @dynamic proof;
 @dynamic hasMetadata, metadata;
 
-typedef struct GetIdentitiesTokenBalancesResponse_GetIdentitiesTokenBalancesResponseV0__storage_ {
+typedef struct GetIdentitiesTokenInfosResponse_GetIdentitiesTokenInfosResponseV0__storage_ {
   uint32_t _has_storage_[2];
-  GetIdentitiesTokenBalancesResponse_GetIdentitiesTokenBalancesResponseV0_IdentityTokenBalances *identityTokenBalances;
+  GetIdentitiesTokenInfosResponse_GetIdentitiesTokenInfosResponseV0_IdentityTokenInfos *identityTokenInfos;
   Proof *proof;
   ResponseMetadata *metadata;
-} GetIdentitiesTokenBalancesResponse_GetIdentitiesTokenBalancesResponseV0__storage_;
+} GetIdentitiesTokenInfosResponse_GetIdentitiesTokenInfosResponseV0__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -12780,48 +14503,98 @@ + (GPBDescriptor *)descriptor {
   if (!descriptor) {
     static GPBMessageFieldDescription fields[] = {
       {
-        .name = "identityTokenBalances",
-        .dataTypeSpecific.clazz = GPBObjCClass(GetIdentitiesTokenBalancesResponse_GetIdentitiesTokenBalancesResponseV0_IdentityTokenBalances),
-        .number = GetIdentitiesTokenBalancesResponse_GetIdentitiesTokenBalancesResponseV0_FieldNumber_IdentityTokenBalances,
+        .name = "identityTokenInfos",
+        .dataTypeSpecific.clazz = GPBObjCClass(GetIdentitiesTokenInfosResponse_GetIdentitiesTokenInfosResponseV0_IdentityTokenInfos),
+        .number = GetIdentitiesTokenInfosResponse_GetIdentitiesTokenInfosResponseV0_FieldNumber_IdentityTokenInfos,
         .hasIndex = -1,
-        .offset = (uint32_t)offsetof(GetIdentitiesTokenBalancesResponse_GetIdentitiesTokenBalancesResponseV0__storage_, identityTokenBalances),
+        .offset = (uint32_t)offsetof(GetIdentitiesTokenInfosResponse_GetIdentitiesTokenInfosResponseV0__storage_, identityTokenInfos),
         .flags = GPBFieldOptional,
         .dataType = GPBDataTypeMessage,
       },
       {
         .name = "proof",
         .dataTypeSpecific.clazz = GPBObjCClass(Proof),
-        .number = GetIdentitiesTokenBalancesResponse_GetIdentitiesTokenBalancesResponseV0_FieldNumber_Proof,
+        .number = GetIdentitiesTokenInfosResponse_GetIdentitiesTokenInfosResponseV0_FieldNumber_Proof,
         .hasIndex = -1,
-        .offset = (uint32_t)offsetof(GetIdentitiesTokenBalancesResponse_GetIdentitiesTokenBalancesResponseV0__storage_, proof),
+        .offset = (uint32_t)offsetof(GetIdentitiesTokenInfosResponse_GetIdentitiesTokenInfosResponseV0__storage_, proof),
+        .flags = GPBFieldOptional,
+        .dataType = GPBDataTypeMessage,
+      },
+      {
+        .name = "metadata",
+        .dataTypeSpecific.clazz = GPBObjCClass(ResponseMetadata),
+        .number = GetIdentitiesTokenInfosResponse_GetIdentitiesTokenInfosResponseV0_FieldNumber_Metadata,
+        .hasIndex = 0,
+        .offset = (uint32_t)offsetof(GetIdentitiesTokenInfosResponse_GetIdentitiesTokenInfosResponseV0__storage_, metadata),
         .flags = GPBFieldOptional,
         .dataType = GPBDataTypeMessage,
       },
+    };
+    GPBDescriptor *localDescriptor =
+        [GPBDescriptor allocDescriptorForClass:[GetIdentitiesTokenInfosResponse_GetIdentitiesTokenInfosResponseV0 class]
+                                     rootClass:[PlatformRoot class]
+                                          file:PlatformRoot_FileDescriptor()
+                                        fields:fields
+                                    fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
+                                   storageSize:sizeof(GetIdentitiesTokenInfosResponse_GetIdentitiesTokenInfosResponseV0__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(GetIdentitiesTokenInfosResponse)];
+    #if defined(DEBUG) && DEBUG
+      NSAssert(descriptor == nil, @"Startup recursed!");
+    #endif  // DEBUG
+    descriptor = localDescriptor;
+  }
+  return descriptor;
+}
+
+@end
+
+void GetIdentitiesTokenInfosResponse_GetIdentitiesTokenInfosResponseV0_ClearResultOneOfCase(GetIdentitiesTokenInfosResponse_GetIdentitiesTokenInfosResponseV0 *message) {
+  GPBDescriptor *descriptor = [GetIdentitiesTokenInfosResponse_GetIdentitiesTokenInfosResponseV0 descriptor];
+  GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0];
+  GPBClearOneof(message, oneof);
+}
+#pragma mark - GetIdentitiesTokenInfosResponse_GetIdentitiesTokenInfosResponseV0_TokenIdentityInfoEntry
+
+@implementation GetIdentitiesTokenInfosResponse_GetIdentitiesTokenInfosResponseV0_TokenIdentityInfoEntry
+
+@dynamic frozen;
+
+typedef struct GetIdentitiesTokenInfosResponse_GetIdentitiesTokenInfosResponseV0_TokenIdentityInfoEntry__storage_ {
+  uint32_t _has_storage_[1];
+} GetIdentitiesTokenInfosResponse_GetIdentitiesTokenInfosResponseV0_TokenIdentityInfoEntry__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 = "metadata",
-        .dataTypeSpecific.clazz = GPBObjCClass(ResponseMetadata),
-        .number = GetIdentitiesTokenBalancesResponse_GetIdentitiesTokenBalancesResponseV0_FieldNumber_Metadata,
+        .name = "frozen",
+        .dataTypeSpecific.clazz = Nil,
+        .number = GetIdentitiesTokenInfosResponse_GetIdentitiesTokenInfosResponseV0_TokenIdentityInfoEntry_FieldNumber_Frozen,
         .hasIndex = 0,
-        .offset = (uint32_t)offsetof(GetIdentitiesTokenBalancesResponse_GetIdentitiesTokenBalancesResponseV0__storage_, metadata),
-        .flags = GPBFieldOptional,
-        .dataType = GPBDataTypeMessage,
+        .offset = 1,  // Stored in _has_storage_ to save space.
+        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
+        .dataType = GPBDataTypeBool,
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetIdentitiesTokenBalancesResponse_GetIdentitiesTokenBalancesResponseV0 class]
+        [GPBDescriptor allocDescriptorForClass:[GetIdentitiesTokenInfosResponse_GetIdentitiesTokenInfosResponseV0_TokenIdentityInfoEntry class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetIdentitiesTokenBalancesResponse_GetIdentitiesTokenBalancesResponseV0__storage_)
+                                   storageSize:sizeof(GetIdentitiesTokenInfosResponse_GetIdentitiesTokenInfosResponseV0_TokenIdentityInfoEntry__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(GetIdentitiesTokenBalancesResponse)];
+    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetIdentitiesTokenInfosResponse_GetIdentitiesTokenInfosResponseV0)];
     #if defined(DEBUG) && DEBUG
       NSAssert(descriptor == nil, @"Startup recursed!");
     #endif  // DEBUG
@@ -12832,23 +14605,18 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-void GetIdentitiesTokenBalancesResponse_GetIdentitiesTokenBalancesResponseV0_ClearResultOneOfCase(GetIdentitiesTokenBalancesResponse_GetIdentitiesTokenBalancesResponseV0 *message) {
-  GPBDescriptor *descriptor = [GetIdentitiesTokenBalancesResponse_GetIdentitiesTokenBalancesResponseV0 descriptor];
-  GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0];
-  GPBClearOneof(message, oneof);
-}
-#pragma mark - GetIdentitiesTokenBalancesResponse_GetIdentitiesTokenBalancesResponseV0_IdentityTokenBalanceEntry
+#pragma mark - GetIdentitiesTokenInfosResponse_GetIdentitiesTokenInfosResponseV0_TokenInfoEntry
 
-@implementation GetIdentitiesTokenBalancesResponse_GetIdentitiesTokenBalancesResponseV0_IdentityTokenBalanceEntry
+@implementation GetIdentitiesTokenInfosResponse_GetIdentitiesTokenInfosResponseV0_TokenInfoEntry
 
 @dynamic identityId;
-@dynamic hasBalance, balance;
+@dynamic hasInfo, info;
 
-typedef struct GetIdentitiesTokenBalancesResponse_GetIdentitiesTokenBalancesResponseV0_IdentityTokenBalanceEntry__storage_ {
+typedef struct GetIdentitiesTokenInfosResponse_GetIdentitiesTokenInfosResponseV0_TokenInfoEntry__storage_ {
   uint32_t _has_storage_[1];
   NSData *identityId;
-  uint64_t balance;
-} GetIdentitiesTokenBalancesResponse_GetIdentitiesTokenBalancesResponseV0_IdentityTokenBalanceEntry__storage_;
+  GetIdentitiesTokenInfosResponse_GetIdentitiesTokenInfosResponseV0_TokenIdentityInfoEntry *info;
+} GetIdentitiesTokenInfosResponse_GetIdentitiesTokenInfosResponseV0_TokenInfoEntry__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -12859,31 +14627,31 @@ + (GPBDescriptor *)descriptor {
       {
         .name = "identityId",
         .dataTypeSpecific.clazz = Nil,
-        .number = GetIdentitiesTokenBalancesResponse_GetIdentitiesTokenBalancesResponseV0_IdentityTokenBalanceEntry_FieldNumber_IdentityId,
+        .number = GetIdentitiesTokenInfosResponse_GetIdentitiesTokenInfosResponseV0_TokenInfoEntry_FieldNumber_IdentityId,
         .hasIndex = 0,
-        .offset = (uint32_t)offsetof(GetIdentitiesTokenBalancesResponse_GetIdentitiesTokenBalancesResponseV0_IdentityTokenBalanceEntry__storage_, identityId),
+        .offset = (uint32_t)offsetof(GetIdentitiesTokenInfosResponse_GetIdentitiesTokenInfosResponseV0_TokenInfoEntry__storage_, identityId),
         .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
         .dataType = GPBDataTypeBytes,
       },
       {
-        .name = "balance",
-        .dataTypeSpecific.clazz = Nil,
-        .number = GetIdentitiesTokenBalancesResponse_GetIdentitiesTokenBalancesResponseV0_IdentityTokenBalanceEntry_FieldNumber_Balance,
+        .name = "info",
+        .dataTypeSpecific.clazz = GPBObjCClass(GetIdentitiesTokenInfosResponse_GetIdentitiesTokenInfosResponseV0_TokenIdentityInfoEntry),
+        .number = GetIdentitiesTokenInfosResponse_GetIdentitiesTokenInfosResponseV0_TokenInfoEntry_FieldNumber_Info,
         .hasIndex = 1,
-        .offset = (uint32_t)offsetof(GetIdentitiesTokenBalancesResponse_GetIdentitiesTokenBalancesResponseV0_IdentityTokenBalanceEntry__storage_, balance),
+        .offset = (uint32_t)offsetof(GetIdentitiesTokenInfosResponse_GetIdentitiesTokenInfosResponseV0_TokenInfoEntry__storage_, info),
         .flags = GPBFieldOptional,
-        .dataType = GPBDataTypeUInt64,
+        .dataType = GPBDataTypeMessage,
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetIdentitiesTokenBalancesResponse_GetIdentitiesTokenBalancesResponseV0_IdentityTokenBalanceEntry class]
+        [GPBDescriptor allocDescriptorForClass:[GetIdentitiesTokenInfosResponse_GetIdentitiesTokenInfosResponseV0_TokenInfoEntry class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetIdentitiesTokenBalancesResponse_GetIdentitiesTokenBalancesResponseV0_IdentityTokenBalanceEntry__storage_)
+                                   storageSize:sizeof(GetIdentitiesTokenInfosResponse_GetIdentitiesTokenInfosResponseV0_TokenInfoEntry__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
-    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetIdentitiesTokenBalancesResponse_GetIdentitiesTokenBalancesResponseV0)];
+    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetIdentitiesTokenInfosResponse_GetIdentitiesTokenInfosResponseV0)];
     #if defined(DEBUG) && DEBUG
       NSAssert(descriptor == nil, @"Startup recursed!");
     #endif  // DEBUG
@@ -12894,16 +14662,16 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-#pragma mark - GetIdentitiesTokenBalancesResponse_GetIdentitiesTokenBalancesResponseV0_IdentityTokenBalances
+#pragma mark - GetIdentitiesTokenInfosResponse_GetIdentitiesTokenInfosResponseV0_IdentityTokenInfos
 
-@implementation GetIdentitiesTokenBalancesResponse_GetIdentitiesTokenBalancesResponseV0_IdentityTokenBalances
+@implementation GetIdentitiesTokenInfosResponse_GetIdentitiesTokenInfosResponseV0_IdentityTokenInfos
 
-@dynamic identityTokenBalancesArray, identityTokenBalancesArray_Count;
+@dynamic tokenInfosArray, tokenInfosArray_Count;
 
-typedef struct GetIdentitiesTokenBalancesResponse_GetIdentitiesTokenBalancesResponseV0_IdentityTokenBalances__storage_ {
+typedef struct GetIdentitiesTokenInfosResponse_GetIdentitiesTokenInfosResponseV0_IdentityTokenInfos__storage_ {
   uint32_t _has_storage_[1];
-  NSMutableArray *identityTokenBalancesArray;
-} GetIdentitiesTokenBalancesResponse_GetIdentitiesTokenBalancesResponseV0_IdentityTokenBalances__storage_;
+  NSMutableArray *tokenInfosArray;
+} GetIdentitiesTokenInfosResponse_GetIdentitiesTokenInfosResponseV0_IdentityTokenInfos__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -12912,24 +14680,24 @@ + (GPBDescriptor *)descriptor {
   if (!descriptor) {
     static GPBMessageFieldDescription fields[] = {
       {
-        .name = "identityTokenBalancesArray",
-        .dataTypeSpecific.clazz = GPBObjCClass(GetIdentitiesTokenBalancesResponse_GetIdentitiesTokenBalancesResponseV0_IdentityTokenBalanceEntry),
-        .number = GetIdentitiesTokenBalancesResponse_GetIdentitiesTokenBalancesResponseV0_IdentityTokenBalances_FieldNumber_IdentityTokenBalancesArray,
+        .name = "tokenInfosArray",
+        .dataTypeSpecific.clazz = GPBObjCClass(GetIdentitiesTokenInfosResponse_GetIdentitiesTokenInfosResponseV0_TokenInfoEntry),
+        .number = GetIdentitiesTokenInfosResponse_GetIdentitiesTokenInfosResponseV0_IdentityTokenInfos_FieldNumber_TokenInfosArray,
         .hasIndex = GPBNoHasBit,
-        .offset = (uint32_t)offsetof(GetIdentitiesTokenBalancesResponse_GetIdentitiesTokenBalancesResponseV0_IdentityTokenBalances__storage_, identityTokenBalancesArray),
+        .offset = (uint32_t)offsetof(GetIdentitiesTokenInfosResponse_GetIdentitiesTokenInfosResponseV0_IdentityTokenInfos__storage_, tokenInfosArray),
         .flags = GPBFieldRepeated,
         .dataType = GPBDataTypeMessage,
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetIdentitiesTokenBalancesResponse_GetIdentitiesTokenBalancesResponseV0_IdentityTokenBalances class]
+        [GPBDescriptor allocDescriptorForClass:[GetIdentitiesTokenInfosResponse_GetIdentitiesTokenInfosResponseV0_IdentityTokenInfos class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetIdentitiesTokenBalancesResponse_GetIdentitiesTokenBalancesResponseV0_IdentityTokenBalances__storage_)
+                                   storageSize:sizeof(GetIdentitiesTokenInfosResponse_GetIdentitiesTokenInfosResponseV0_IdentityTokenInfos__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
-    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetIdentitiesTokenBalancesResponse_GetIdentitiesTokenBalancesResponseV0)];
+    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetIdentitiesTokenInfosResponse_GetIdentitiesTokenInfosResponseV0)];
     #if defined(DEBUG) && DEBUG
       NSAssert(descriptor == nil, @"Startup recursed!");
     #endif  // DEBUG
@@ -12940,17 +14708,17 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-#pragma mark - GetIdentityTokenInfosRequest
+#pragma mark - GetTokenStatusesRequest
 
-@implementation GetIdentityTokenInfosRequest
+@implementation GetTokenStatusesRequest
 
 @dynamic versionOneOfCase;
 @dynamic v0;
 
-typedef struct GetIdentityTokenInfosRequest__storage_ {
+typedef struct GetTokenStatusesRequest__storage_ {
   uint32_t _has_storage_[2];
-  GetIdentityTokenInfosRequest_GetIdentityTokenInfosRequestV0 *v0;
-} GetIdentityTokenInfosRequest__storage_;
+  GetTokenStatusesRequest_GetTokenStatusesRequestV0 *v0;
+} GetTokenStatusesRequest__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -12960,21 +14728,21 @@ + (GPBDescriptor *)descriptor {
     static GPBMessageFieldDescription fields[] = {
       {
         .name = "v0",
-        .dataTypeSpecific.clazz = GPBObjCClass(GetIdentityTokenInfosRequest_GetIdentityTokenInfosRequestV0),
-        .number = GetIdentityTokenInfosRequest_FieldNumber_V0,
+        .dataTypeSpecific.clazz = GPBObjCClass(GetTokenStatusesRequest_GetTokenStatusesRequestV0),
+        .number = GetTokenStatusesRequest_FieldNumber_V0,
         .hasIndex = -1,
-        .offset = (uint32_t)offsetof(GetIdentityTokenInfosRequest__storage_, v0),
+        .offset = (uint32_t)offsetof(GetTokenStatusesRequest__storage_, v0),
         .flags = GPBFieldOptional,
         .dataType = GPBDataTypeMessage,
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetIdentityTokenInfosRequest class]
+        [GPBDescriptor allocDescriptorForClass:[GetTokenStatusesRequest class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetIdentityTokenInfosRequest__storage_)
+                                   storageSize:sizeof(GetTokenStatusesRequest__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
     static const char *oneofs[] = {
       "version",
@@ -12992,24 +14760,22 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-void GetIdentityTokenInfosRequest_ClearVersionOneOfCase(GetIdentityTokenInfosRequest *message) {
-  GPBDescriptor *descriptor = [GetIdentityTokenInfosRequest descriptor];
+void GetTokenStatusesRequest_ClearVersionOneOfCase(GetTokenStatusesRequest *message) {
+  GPBDescriptor *descriptor = [GetTokenStatusesRequest descriptor];
   GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0];
   GPBClearOneof(message, oneof);
 }
-#pragma mark - GetIdentityTokenInfosRequest_GetIdentityTokenInfosRequestV0
+#pragma mark - GetTokenStatusesRequest_GetTokenStatusesRequestV0
 
-@implementation GetIdentityTokenInfosRequest_GetIdentityTokenInfosRequestV0
+@implementation GetTokenStatusesRequest_GetTokenStatusesRequestV0
 
-@dynamic identityId;
 @dynamic tokenIdsArray, tokenIdsArray_Count;
 @dynamic prove;
 
-typedef struct GetIdentityTokenInfosRequest_GetIdentityTokenInfosRequestV0__storage_ {
+typedef struct GetTokenStatusesRequest_GetTokenStatusesRequestV0__storage_ {
   uint32_t _has_storage_[1];
-  NSData *identityId;
   NSMutableArray *tokenIdsArray;
-} GetIdentityTokenInfosRequest_GetIdentityTokenInfosRequestV0__storage_;
+} GetTokenStatusesRequest_GetTokenStatusesRequestV0__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -13017,43 +14783,34 @@ + (GPBDescriptor *)descriptor {
   static GPBDescriptor *descriptor = nil;
   if (!descriptor) {
     static GPBMessageFieldDescription fields[] = {
-      {
-        .name = "identityId",
-        .dataTypeSpecific.clazz = Nil,
-        .number = GetIdentityTokenInfosRequest_GetIdentityTokenInfosRequestV0_FieldNumber_IdentityId,
-        .hasIndex = 0,
-        .offset = (uint32_t)offsetof(GetIdentityTokenInfosRequest_GetIdentityTokenInfosRequestV0__storage_, identityId),
-        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
-        .dataType = GPBDataTypeBytes,
-      },
       {
         .name = "tokenIdsArray",
         .dataTypeSpecific.clazz = Nil,
-        .number = GetIdentityTokenInfosRequest_GetIdentityTokenInfosRequestV0_FieldNumber_TokenIdsArray,
+        .number = GetTokenStatusesRequest_GetTokenStatusesRequestV0_FieldNumber_TokenIdsArray,
         .hasIndex = GPBNoHasBit,
-        .offset = (uint32_t)offsetof(GetIdentityTokenInfosRequest_GetIdentityTokenInfosRequestV0__storage_, tokenIdsArray),
+        .offset = (uint32_t)offsetof(GetTokenStatusesRequest_GetTokenStatusesRequestV0__storage_, tokenIdsArray),
         .flags = GPBFieldRepeated,
         .dataType = GPBDataTypeBytes,
       },
       {
         .name = "prove",
         .dataTypeSpecific.clazz = Nil,
-        .number = GetIdentityTokenInfosRequest_GetIdentityTokenInfosRequestV0_FieldNumber_Prove,
-        .hasIndex = 1,
-        .offset = 2,  // Stored in _has_storage_ to save space.
+        .number = GetTokenStatusesRequest_GetTokenStatusesRequestV0_FieldNumber_Prove,
+        .hasIndex = 0,
+        .offset = 1,  // Stored in _has_storage_ to save space.
         .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
         .dataType = GPBDataTypeBool,
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetIdentityTokenInfosRequest_GetIdentityTokenInfosRequestV0 class]
+        [GPBDescriptor allocDescriptorForClass:[GetTokenStatusesRequest_GetTokenStatusesRequestV0 class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetIdentityTokenInfosRequest_GetIdentityTokenInfosRequestV0__storage_)
+                                   storageSize:sizeof(GetTokenStatusesRequest_GetTokenStatusesRequestV0__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
-    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetIdentityTokenInfosRequest)];
+    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetTokenStatusesRequest)];
     #if defined(DEBUG) && DEBUG
       NSAssert(descriptor == nil, @"Startup recursed!");
     #endif  // DEBUG
@@ -13064,17 +14821,17 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-#pragma mark - GetIdentityTokenInfosResponse
+#pragma mark - GetTokenStatusesResponse
 
-@implementation GetIdentityTokenInfosResponse
+@implementation GetTokenStatusesResponse
 
 @dynamic versionOneOfCase;
 @dynamic v0;
 
-typedef struct GetIdentityTokenInfosResponse__storage_ {
+typedef struct GetTokenStatusesResponse__storage_ {
   uint32_t _has_storage_[2];
-  GetIdentityTokenInfosResponse_GetIdentityTokenInfosResponseV0 *v0;
-} GetIdentityTokenInfosResponse__storage_;
+  GetTokenStatusesResponse_GetTokenStatusesResponseV0 *v0;
+} GetTokenStatusesResponse__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -13084,21 +14841,21 @@ + (GPBDescriptor *)descriptor {
     static GPBMessageFieldDescription fields[] = {
       {
         .name = "v0",
-        .dataTypeSpecific.clazz = GPBObjCClass(GetIdentityTokenInfosResponse_GetIdentityTokenInfosResponseV0),
-        .number = GetIdentityTokenInfosResponse_FieldNumber_V0,
+        .dataTypeSpecific.clazz = GPBObjCClass(GetTokenStatusesResponse_GetTokenStatusesResponseV0),
+        .number = GetTokenStatusesResponse_FieldNumber_V0,
         .hasIndex = -1,
-        .offset = (uint32_t)offsetof(GetIdentityTokenInfosResponse__storage_, v0),
+        .offset = (uint32_t)offsetof(GetTokenStatusesResponse__storage_, v0),
         .flags = GPBFieldOptional,
         .dataType = GPBDataTypeMessage,
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetIdentityTokenInfosResponse class]
+        [GPBDescriptor allocDescriptorForClass:[GetTokenStatusesResponse class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetIdentityTokenInfosResponse__storage_)
+                                   storageSize:sizeof(GetTokenStatusesResponse__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
     static const char *oneofs[] = {
       "version",
@@ -13116,26 +14873,26 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-void GetIdentityTokenInfosResponse_ClearVersionOneOfCase(GetIdentityTokenInfosResponse *message) {
-  GPBDescriptor *descriptor = [GetIdentityTokenInfosResponse descriptor];
+void GetTokenStatusesResponse_ClearVersionOneOfCase(GetTokenStatusesResponse *message) {
+  GPBDescriptor *descriptor = [GetTokenStatusesResponse descriptor];
   GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0];
   GPBClearOneof(message, oneof);
 }
-#pragma mark - GetIdentityTokenInfosResponse_GetIdentityTokenInfosResponseV0
+#pragma mark - GetTokenStatusesResponse_GetTokenStatusesResponseV0
 
-@implementation GetIdentityTokenInfosResponse_GetIdentityTokenInfosResponseV0
+@implementation GetTokenStatusesResponse_GetTokenStatusesResponseV0
 
 @dynamic resultOneOfCase;
-@dynamic tokenInfos;
+@dynamic tokenStatuses;
 @dynamic proof;
 @dynamic hasMetadata, metadata;
 
-typedef struct GetIdentityTokenInfosResponse_GetIdentityTokenInfosResponseV0__storage_ {
+typedef struct GetTokenStatusesResponse_GetTokenStatusesResponseV0__storage_ {
   uint32_t _has_storage_[2];
-  GetIdentityTokenInfosResponse_GetIdentityTokenInfosResponseV0_TokenInfos *tokenInfos;
+  GetTokenStatusesResponse_GetTokenStatusesResponseV0_TokenStatuses *tokenStatuses;
   Proof *proof;
   ResponseMetadata *metadata;
-} GetIdentityTokenInfosResponse_GetIdentityTokenInfosResponseV0__storage_;
+} GetTokenStatusesResponse_GetTokenStatusesResponseV0__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -13144,98 +14901,48 @@ + (GPBDescriptor *)descriptor {
   if (!descriptor) {
     static GPBMessageFieldDescription fields[] = {
       {
-        .name = "tokenInfos",
-        .dataTypeSpecific.clazz = GPBObjCClass(GetIdentityTokenInfosResponse_GetIdentityTokenInfosResponseV0_TokenInfos),
-        .number = GetIdentityTokenInfosResponse_GetIdentityTokenInfosResponseV0_FieldNumber_TokenInfos,
+        .name = "tokenStatuses",
+        .dataTypeSpecific.clazz = GPBObjCClass(GetTokenStatusesResponse_GetTokenStatusesResponseV0_TokenStatuses),
+        .number = GetTokenStatusesResponse_GetTokenStatusesResponseV0_FieldNumber_TokenStatuses,
         .hasIndex = -1,
-        .offset = (uint32_t)offsetof(GetIdentityTokenInfosResponse_GetIdentityTokenInfosResponseV0__storage_, tokenInfos),
+        .offset = (uint32_t)offsetof(GetTokenStatusesResponse_GetTokenStatusesResponseV0__storage_, tokenStatuses),
         .flags = GPBFieldOptional,
         .dataType = GPBDataTypeMessage,
       },
       {
         .name = "proof",
         .dataTypeSpecific.clazz = GPBObjCClass(Proof),
-        .number = GetIdentityTokenInfosResponse_GetIdentityTokenInfosResponseV0_FieldNumber_Proof,
+        .number = GetTokenStatusesResponse_GetTokenStatusesResponseV0_FieldNumber_Proof,
         .hasIndex = -1,
-        .offset = (uint32_t)offsetof(GetIdentityTokenInfosResponse_GetIdentityTokenInfosResponseV0__storage_, proof),
+        .offset = (uint32_t)offsetof(GetTokenStatusesResponse_GetTokenStatusesResponseV0__storage_, proof),
         .flags = GPBFieldOptional,
         .dataType = GPBDataTypeMessage,
       },
       {
         .name = "metadata",
         .dataTypeSpecific.clazz = GPBObjCClass(ResponseMetadata),
-        .number = GetIdentityTokenInfosResponse_GetIdentityTokenInfosResponseV0_FieldNumber_Metadata,
+        .number = GetTokenStatusesResponse_GetTokenStatusesResponseV0_FieldNumber_Metadata,
         .hasIndex = 0,
-        .offset = (uint32_t)offsetof(GetIdentityTokenInfosResponse_GetIdentityTokenInfosResponseV0__storage_, metadata),
+        .offset = (uint32_t)offsetof(GetTokenStatusesResponse_GetTokenStatusesResponseV0__storage_, metadata),
         .flags = GPBFieldOptional,
         .dataType = GPBDataTypeMessage,
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetIdentityTokenInfosResponse_GetIdentityTokenInfosResponseV0 class]
-                                     rootClass:[PlatformRoot class]
-                                          file:PlatformRoot_FileDescriptor()
-                                        fields:fields
-                                    fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetIdentityTokenInfosResponse_GetIdentityTokenInfosResponseV0__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(GetIdentityTokenInfosResponse)];
-    #if defined(DEBUG) && DEBUG
-      NSAssert(descriptor == nil, @"Startup recursed!");
-    #endif  // DEBUG
-    descriptor = localDescriptor;
-  }
-  return descriptor;
-}
-
-@end
-
-void GetIdentityTokenInfosResponse_GetIdentityTokenInfosResponseV0_ClearResultOneOfCase(GetIdentityTokenInfosResponse_GetIdentityTokenInfosResponseV0 *message) {
-  GPBDescriptor *descriptor = [GetIdentityTokenInfosResponse_GetIdentityTokenInfosResponseV0 descriptor];
-  GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0];
-  GPBClearOneof(message, oneof);
-}
-#pragma mark - GetIdentityTokenInfosResponse_GetIdentityTokenInfosResponseV0_TokenIdentityInfoEntry
-
-@implementation GetIdentityTokenInfosResponse_GetIdentityTokenInfosResponseV0_TokenIdentityInfoEntry
-
-@dynamic frozen;
-
-typedef struct GetIdentityTokenInfosResponse_GetIdentityTokenInfosResponseV0_TokenIdentityInfoEntry__storage_ {
-  uint32_t _has_storage_[1];
-} GetIdentityTokenInfosResponse_GetIdentityTokenInfosResponseV0_TokenIdentityInfoEntry__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 = "frozen",
-        .dataTypeSpecific.clazz = Nil,
-        .number = GetIdentityTokenInfosResponse_GetIdentityTokenInfosResponseV0_TokenIdentityInfoEntry_FieldNumber_Frozen,
-        .hasIndex = 0,
-        .offset = 1,  // Stored in _has_storage_ to save space.
-        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
-        .dataType = GPBDataTypeBool,
-      },
-    };
-    GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetIdentityTokenInfosResponse_GetIdentityTokenInfosResponseV0_TokenIdentityInfoEntry class]
+        [GPBDescriptor allocDescriptorForClass:[GetTokenStatusesResponse_GetTokenStatusesResponseV0 class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetIdentityTokenInfosResponse_GetIdentityTokenInfosResponseV0_TokenIdentityInfoEntry__storage_)
+                                   storageSize:sizeof(GetTokenStatusesResponse_GetTokenStatusesResponseV0__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
-    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetIdentityTokenInfosResponse_GetIdentityTokenInfosResponseV0)];
+    static const char *oneofs[] = {
+      "result",
+    };
+    [localDescriptor setupOneofs:oneofs
+                           count:(uint32_t)(sizeof(oneofs) / sizeof(char*))
+                   firstHasIndex:-1];
+    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetTokenStatusesResponse)];
     #if defined(DEBUG) && DEBUG
       NSAssert(descriptor == nil, @"Startup recursed!");
     #endif  // DEBUG
@@ -13246,18 +14953,22 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-#pragma mark - GetIdentityTokenInfosResponse_GetIdentityTokenInfosResponseV0_TokenInfoEntry
+void GetTokenStatusesResponse_GetTokenStatusesResponseV0_ClearResultOneOfCase(GetTokenStatusesResponse_GetTokenStatusesResponseV0 *message) {
+  GPBDescriptor *descriptor = [GetTokenStatusesResponse_GetTokenStatusesResponseV0 descriptor];
+  GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0];
+  GPBClearOneof(message, oneof);
+}
+#pragma mark - GetTokenStatusesResponse_GetTokenStatusesResponseV0_TokenStatusEntry
 
-@implementation GetIdentityTokenInfosResponse_GetIdentityTokenInfosResponseV0_TokenInfoEntry
+@implementation GetTokenStatusesResponse_GetTokenStatusesResponseV0_TokenStatusEntry
 
 @dynamic tokenId;
-@dynamic hasInfo, info;
+@dynamic hasPaused, paused;
 
-typedef struct GetIdentityTokenInfosResponse_GetIdentityTokenInfosResponseV0_TokenInfoEntry__storage_ {
+typedef struct GetTokenStatusesResponse_GetTokenStatusesResponseV0_TokenStatusEntry__storage_ {
   uint32_t _has_storage_[1];
   NSData *tokenId;
-  GetIdentityTokenInfosResponse_GetIdentityTokenInfosResponseV0_TokenIdentityInfoEntry *info;
-} GetIdentityTokenInfosResponse_GetIdentityTokenInfosResponseV0_TokenInfoEntry__storage_;
+} GetTokenStatusesResponse_GetTokenStatusesResponseV0_TokenStatusEntry__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -13268,31 +14979,31 @@ + (GPBDescriptor *)descriptor {
       {
         .name = "tokenId",
         .dataTypeSpecific.clazz = Nil,
-        .number = GetIdentityTokenInfosResponse_GetIdentityTokenInfosResponseV0_TokenInfoEntry_FieldNumber_TokenId,
+        .number = GetTokenStatusesResponse_GetTokenStatusesResponseV0_TokenStatusEntry_FieldNumber_TokenId,
         .hasIndex = 0,
-        .offset = (uint32_t)offsetof(GetIdentityTokenInfosResponse_GetIdentityTokenInfosResponseV0_TokenInfoEntry__storage_, tokenId),
+        .offset = (uint32_t)offsetof(GetTokenStatusesResponse_GetTokenStatusesResponseV0_TokenStatusEntry__storage_, tokenId),
         .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
         .dataType = GPBDataTypeBytes,
       },
       {
-        .name = "info",
-        .dataTypeSpecific.clazz = GPBObjCClass(GetIdentityTokenInfosResponse_GetIdentityTokenInfosResponseV0_TokenIdentityInfoEntry),
-        .number = GetIdentityTokenInfosResponse_GetIdentityTokenInfosResponseV0_TokenInfoEntry_FieldNumber_Info,
+        .name = "paused",
+        .dataTypeSpecific.clazz = Nil,
+        .number = GetTokenStatusesResponse_GetTokenStatusesResponseV0_TokenStatusEntry_FieldNumber_Paused,
         .hasIndex = 1,
-        .offset = (uint32_t)offsetof(GetIdentityTokenInfosResponse_GetIdentityTokenInfosResponseV0_TokenInfoEntry__storage_, info),
+        .offset = 2,  // Stored in _has_storage_ to save space.
         .flags = GPBFieldOptional,
-        .dataType = GPBDataTypeMessage,
+        .dataType = GPBDataTypeBool,
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetIdentityTokenInfosResponse_GetIdentityTokenInfosResponseV0_TokenInfoEntry class]
+        [GPBDescriptor allocDescriptorForClass:[GetTokenStatusesResponse_GetTokenStatusesResponseV0_TokenStatusEntry class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetIdentityTokenInfosResponse_GetIdentityTokenInfosResponseV0_TokenInfoEntry__storage_)
+                                   storageSize:sizeof(GetTokenStatusesResponse_GetTokenStatusesResponseV0_TokenStatusEntry__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
-    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetIdentityTokenInfosResponse_GetIdentityTokenInfosResponseV0)];
+    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetTokenStatusesResponse_GetTokenStatusesResponseV0)];
     #if defined(DEBUG) && DEBUG
       NSAssert(descriptor == nil, @"Startup recursed!");
     #endif  // DEBUG
@@ -13303,16 +15014,16 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-#pragma mark - GetIdentityTokenInfosResponse_GetIdentityTokenInfosResponseV0_TokenInfos
+#pragma mark - GetTokenStatusesResponse_GetTokenStatusesResponseV0_TokenStatuses
 
-@implementation GetIdentityTokenInfosResponse_GetIdentityTokenInfosResponseV0_TokenInfos
+@implementation GetTokenStatusesResponse_GetTokenStatusesResponseV0_TokenStatuses
 
-@dynamic tokenInfosArray, tokenInfosArray_Count;
+@dynamic tokenStatusesArray, tokenStatusesArray_Count;
 
-typedef struct GetIdentityTokenInfosResponse_GetIdentityTokenInfosResponseV0_TokenInfos__storage_ {
+typedef struct GetTokenStatusesResponse_GetTokenStatusesResponseV0_TokenStatuses__storage_ {
   uint32_t _has_storage_[1];
-  NSMutableArray *tokenInfosArray;
-} GetIdentityTokenInfosResponse_GetIdentityTokenInfosResponseV0_TokenInfos__storage_;
+  NSMutableArray *tokenStatusesArray;
+} GetTokenStatusesResponse_GetTokenStatusesResponseV0_TokenStatuses__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -13321,24 +15032,24 @@ + (GPBDescriptor *)descriptor {
   if (!descriptor) {
     static GPBMessageFieldDescription fields[] = {
       {
-        .name = "tokenInfosArray",
-        .dataTypeSpecific.clazz = GPBObjCClass(GetIdentityTokenInfosResponse_GetIdentityTokenInfosResponseV0_TokenInfoEntry),
-        .number = GetIdentityTokenInfosResponse_GetIdentityTokenInfosResponseV0_TokenInfos_FieldNumber_TokenInfosArray,
+        .name = "tokenStatusesArray",
+        .dataTypeSpecific.clazz = GPBObjCClass(GetTokenStatusesResponse_GetTokenStatusesResponseV0_TokenStatusEntry),
+        .number = GetTokenStatusesResponse_GetTokenStatusesResponseV0_TokenStatuses_FieldNumber_TokenStatusesArray,
         .hasIndex = GPBNoHasBit,
-        .offset = (uint32_t)offsetof(GetIdentityTokenInfosResponse_GetIdentityTokenInfosResponseV0_TokenInfos__storage_, tokenInfosArray),
+        .offset = (uint32_t)offsetof(GetTokenStatusesResponse_GetTokenStatusesResponseV0_TokenStatuses__storage_, tokenStatusesArray),
         .flags = GPBFieldRepeated,
         .dataType = GPBDataTypeMessage,
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetIdentityTokenInfosResponse_GetIdentityTokenInfosResponseV0_TokenInfos class]
+        [GPBDescriptor allocDescriptorForClass:[GetTokenStatusesResponse_GetTokenStatusesResponseV0_TokenStatuses class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetIdentityTokenInfosResponse_GetIdentityTokenInfosResponseV0_TokenInfos__storage_)
+                                   storageSize:sizeof(GetTokenStatusesResponse_GetTokenStatusesResponseV0_TokenStatuses__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
-    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetIdentityTokenInfosResponse_GetIdentityTokenInfosResponseV0)];
+    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetTokenStatusesResponse_GetTokenStatusesResponseV0)];
     #if defined(DEBUG) && DEBUG
       NSAssert(descriptor == nil, @"Startup recursed!");
     #endif  // DEBUG
@@ -13349,17 +15060,17 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-#pragma mark - GetIdentitiesTokenInfosRequest
+#pragma mark - GetTokenDirectPurchasePricesRequest
 
-@implementation GetIdentitiesTokenInfosRequest
+@implementation GetTokenDirectPurchasePricesRequest
 
 @dynamic versionOneOfCase;
 @dynamic v0;
 
-typedef struct GetIdentitiesTokenInfosRequest__storage_ {
+typedef struct GetTokenDirectPurchasePricesRequest__storage_ {
   uint32_t _has_storage_[2];
-  GetIdentitiesTokenInfosRequest_GetIdentitiesTokenInfosRequestV0 *v0;
-} GetIdentitiesTokenInfosRequest__storage_;
+  GetTokenDirectPurchasePricesRequest_GetTokenDirectPurchasePricesRequestV0 *v0;
+} GetTokenDirectPurchasePricesRequest__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -13369,21 +15080,21 @@ + (GPBDescriptor *)descriptor {
     static GPBMessageFieldDescription fields[] = {
       {
         .name = "v0",
-        .dataTypeSpecific.clazz = GPBObjCClass(GetIdentitiesTokenInfosRequest_GetIdentitiesTokenInfosRequestV0),
-        .number = GetIdentitiesTokenInfosRequest_FieldNumber_V0,
+        .dataTypeSpecific.clazz = GPBObjCClass(GetTokenDirectPurchasePricesRequest_GetTokenDirectPurchasePricesRequestV0),
+        .number = GetTokenDirectPurchasePricesRequest_FieldNumber_V0,
         .hasIndex = -1,
-        .offset = (uint32_t)offsetof(GetIdentitiesTokenInfosRequest__storage_, v0),
+        .offset = (uint32_t)offsetof(GetTokenDirectPurchasePricesRequest__storage_, v0),
         .flags = GPBFieldOptional,
         .dataType = GPBDataTypeMessage,
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetIdentitiesTokenInfosRequest class]
+        [GPBDescriptor allocDescriptorForClass:[GetTokenDirectPurchasePricesRequest class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetIdentitiesTokenInfosRequest__storage_)
+                                   storageSize:sizeof(GetTokenDirectPurchasePricesRequest__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
     static const char *oneofs[] = {
       "version",
@@ -13401,24 +15112,22 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-void GetIdentitiesTokenInfosRequest_ClearVersionOneOfCase(GetIdentitiesTokenInfosRequest *message) {
-  GPBDescriptor *descriptor = [GetIdentitiesTokenInfosRequest descriptor];
+void GetTokenDirectPurchasePricesRequest_ClearVersionOneOfCase(GetTokenDirectPurchasePricesRequest *message) {
+  GPBDescriptor *descriptor = [GetTokenDirectPurchasePricesRequest descriptor];
   GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0];
   GPBClearOneof(message, oneof);
 }
-#pragma mark - GetIdentitiesTokenInfosRequest_GetIdentitiesTokenInfosRequestV0
+#pragma mark - GetTokenDirectPurchasePricesRequest_GetTokenDirectPurchasePricesRequestV0
 
-@implementation GetIdentitiesTokenInfosRequest_GetIdentitiesTokenInfosRequestV0
+@implementation GetTokenDirectPurchasePricesRequest_GetTokenDirectPurchasePricesRequestV0
 
-@dynamic tokenId;
-@dynamic identityIdsArray, identityIdsArray_Count;
+@dynamic tokenIdsArray, tokenIdsArray_Count;
 @dynamic prove;
 
-typedef struct GetIdentitiesTokenInfosRequest_GetIdentitiesTokenInfosRequestV0__storage_ {
+typedef struct GetTokenDirectPurchasePricesRequest_GetTokenDirectPurchasePricesRequestV0__storage_ {
   uint32_t _has_storage_[1];
-  NSData *tokenId;
-  NSMutableArray *identityIdsArray;
-} GetIdentitiesTokenInfosRequest_GetIdentitiesTokenInfosRequestV0__storage_;
+  NSMutableArray *tokenIdsArray;
+} GetTokenDirectPurchasePricesRequest_GetTokenDirectPurchasePricesRequestV0__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -13427,42 +15136,33 @@ + (GPBDescriptor *)descriptor {
   if (!descriptor) {
     static GPBMessageFieldDescription fields[] = {
       {
-        .name = "tokenId",
-        .dataTypeSpecific.clazz = Nil,
-        .number = GetIdentitiesTokenInfosRequest_GetIdentitiesTokenInfosRequestV0_FieldNumber_TokenId,
-        .hasIndex = 0,
-        .offset = (uint32_t)offsetof(GetIdentitiesTokenInfosRequest_GetIdentitiesTokenInfosRequestV0__storage_, tokenId),
-        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
-        .dataType = GPBDataTypeBytes,
-      },
-      {
-        .name = "identityIdsArray",
+        .name = "tokenIdsArray",
         .dataTypeSpecific.clazz = Nil,
-        .number = GetIdentitiesTokenInfosRequest_GetIdentitiesTokenInfosRequestV0_FieldNumber_IdentityIdsArray,
+        .number = GetTokenDirectPurchasePricesRequest_GetTokenDirectPurchasePricesRequestV0_FieldNumber_TokenIdsArray,
         .hasIndex = GPBNoHasBit,
-        .offset = (uint32_t)offsetof(GetIdentitiesTokenInfosRequest_GetIdentitiesTokenInfosRequestV0__storage_, identityIdsArray),
+        .offset = (uint32_t)offsetof(GetTokenDirectPurchasePricesRequest_GetTokenDirectPurchasePricesRequestV0__storage_, tokenIdsArray),
         .flags = GPBFieldRepeated,
         .dataType = GPBDataTypeBytes,
       },
       {
         .name = "prove",
         .dataTypeSpecific.clazz = Nil,
-        .number = GetIdentitiesTokenInfosRequest_GetIdentitiesTokenInfosRequestV0_FieldNumber_Prove,
-        .hasIndex = 1,
-        .offset = 2,  // Stored in _has_storage_ to save space.
+        .number = GetTokenDirectPurchasePricesRequest_GetTokenDirectPurchasePricesRequestV0_FieldNumber_Prove,
+        .hasIndex = 0,
+        .offset = 1,  // Stored in _has_storage_ to save space.
         .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
         .dataType = GPBDataTypeBool,
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetIdentitiesTokenInfosRequest_GetIdentitiesTokenInfosRequestV0 class]
+        [GPBDescriptor allocDescriptorForClass:[GetTokenDirectPurchasePricesRequest_GetTokenDirectPurchasePricesRequestV0 class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetIdentitiesTokenInfosRequest_GetIdentitiesTokenInfosRequestV0__storage_)
+                                   storageSize:sizeof(GetTokenDirectPurchasePricesRequest_GetTokenDirectPurchasePricesRequestV0__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
-    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetIdentitiesTokenInfosRequest)];
+    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetTokenDirectPurchasePricesRequest)];
     #if defined(DEBUG) && DEBUG
       NSAssert(descriptor == nil, @"Startup recursed!");
     #endif  // DEBUG
@@ -13473,17 +15173,17 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-#pragma mark - GetIdentitiesTokenInfosResponse
+#pragma mark - GetTokenDirectPurchasePricesResponse
 
-@implementation GetIdentitiesTokenInfosResponse
+@implementation GetTokenDirectPurchasePricesResponse
 
 @dynamic versionOneOfCase;
 @dynamic v0;
 
-typedef struct GetIdentitiesTokenInfosResponse__storage_ {
+typedef struct GetTokenDirectPurchasePricesResponse__storage_ {
   uint32_t _has_storage_[2];
-  GetIdentitiesTokenInfosResponse_GetIdentitiesTokenInfosResponseV0 *v0;
-} GetIdentitiesTokenInfosResponse__storage_;
+  GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0 *v0;
+} GetTokenDirectPurchasePricesResponse__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -13493,21 +15193,21 @@ + (GPBDescriptor *)descriptor {
     static GPBMessageFieldDescription fields[] = {
       {
         .name = "v0",
-        .dataTypeSpecific.clazz = GPBObjCClass(GetIdentitiesTokenInfosResponse_GetIdentitiesTokenInfosResponseV0),
-        .number = GetIdentitiesTokenInfosResponse_FieldNumber_V0,
+        .dataTypeSpecific.clazz = GPBObjCClass(GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0),
+        .number = GetTokenDirectPurchasePricesResponse_FieldNumber_V0,
         .hasIndex = -1,
-        .offset = (uint32_t)offsetof(GetIdentitiesTokenInfosResponse__storage_, v0),
+        .offset = (uint32_t)offsetof(GetTokenDirectPurchasePricesResponse__storage_, v0),
         .flags = GPBFieldOptional,
         .dataType = GPBDataTypeMessage,
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetIdentitiesTokenInfosResponse class]
+        [GPBDescriptor allocDescriptorForClass:[GetTokenDirectPurchasePricesResponse class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetIdentitiesTokenInfosResponse__storage_)
+                                   storageSize:sizeof(GetTokenDirectPurchasePricesResponse__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
     static const char *oneofs[] = {
       "version",
@@ -13525,26 +15225,26 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-void GetIdentitiesTokenInfosResponse_ClearVersionOneOfCase(GetIdentitiesTokenInfosResponse *message) {
-  GPBDescriptor *descriptor = [GetIdentitiesTokenInfosResponse descriptor];
+void GetTokenDirectPurchasePricesResponse_ClearVersionOneOfCase(GetTokenDirectPurchasePricesResponse *message) {
+  GPBDescriptor *descriptor = [GetTokenDirectPurchasePricesResponse descriptor];
   GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0];
   GPBClearOneof(message, oneof);
 }
-#pragma mark - GetIdentitiesTokenInfosResponse_GetIdentitiesTokenInfosResponseV0
+#pragma mark - GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0
 
-@implementation GetIdentitiesTokenInfosResponse_GetIdentitiesTokenInfosResponseV0
+@implementation GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0
 
 @dynamic resultOneOfCase;
-@dynamic identityTokenInfos;
+@dynamic tokenDirectPurchasePrices;
 @dynamic proof;
 @dynamic hasMetadata, metadata;
 
-typedef struct GetIdentitiesTokenInfosResponse_GetIdentitiesTokenInfosResponseV0__storage_ {
+typedef struct GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0__storage_ {
   uint32_t _has_storage_[2];
-  GetIdentitiesTokenInfosResponse_GetIdentitiesTokenInfosResponseV0_IdentityTokenInfos *identityTokenInfos;
+  GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0_TokenDirectPurchasePrices *tokenDirectPurchasePrices;
   Proof *proof;
   ResponseMetadata *metadata;
-} GetIdentitiesTokenInfosResponse_GetIdentitiesTokenInfosResponseV0__storage_;
+} GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -13553,40 +15253,40 @@ + (GPBDescriptor *)descriptor {
   if (!descriptor) {
     static GPBMessageFieldDescription fields[] = {
       {
-        .name = "identityTokenInfos",
-        .dataTypeSpecific.clazz = GPBObjCClass(GetIdentitiesTokenInfosResponse_GetIdentitiesTokenInfosResponseV0_IdentityTokenInfos),
-        .number = GetIdentitiesTokenInfosResponse_GetIdentitiesTokenInfosResponseV0_FieldNumber_IdentityTokenInfos,
+        .name = "tokenDirectPurchasePrices",
+        .dataTypeSpecific.clazz = GPBObjCClass(GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0_TokenDirectPurchasePrices),
+        .number = GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0_FieldNumber_TokenDirectPurchasePrices,
         .hasIndex = -1,
-        .offset = (uint32_t)offsetof(GetIdentitiesTokenInfosResponse_GetIdentitiesTokenInfosResponseV0__storage_, identityTokenInfos),
+        .offset = (uint32_t)offsetof(GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0__storage_, tokenDirectPurchasePrices),
         .flags = GPBFieldOptional,
         .dataType = GPBDataTypeMessage,
       },
       {
         .name = "proof",
         .dataTypeSpecific.clazz = GPBObjCClass(Proof),
-        .number = GetIdentitiesTokenInfosResponse_GetIdentitiesTokenInfosResponseV0_FieldNumber_Proof,
+        .number = GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0_FieldNumber_Proof,
         .hasIndex = -1,
-        .offset = (uint32_t)offsetof(GetIdentitiesTokenInfosResponse_GetIdentitiesTokenInfosResponseV0__storage_, proof),
+        .offset = (uint32_t)offsetof(GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0__storage_, proof),
         .flags = GPBFieldOptional,
         .dataType = GPBDataTypeMessage,
       },
       {
         .name = "metadata",
         .dataTypeSpecific.clazz = GPBObjCClass(ResponseMetadata),
-        .number = GetIdentitiesTokenInfosResponse_GetIdentitiesTokenInfosResponseV0_FieldNumber_Metadata,
+        .number = GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0_FieldNumber_Metadata,
         .hasIndex = 0,
-        .offset = (uint32_t)offsetof(GetIdentitiesTokenInfosResponse_GetIdentitiesTokenInfosResponseV0__storage_, metadata),
+        .offset = (uint32_t)offsetof(GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0__storage_, metadata),
         .flags = GPBFieldOptional,
         .dataType = GPBDataTypeMessage,
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetIdentitiesTokenInfosResponse_GetIdentitiesTokenInfosResponseV0 class]
+        [GPBDescriptor allocDescriptorForClass:[GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0 class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetIdentitiesTokenInfosResponse_GetIdentitiesTokenInfosResponseV0__storage_)
+                                   storageSize:sizeof(GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
     static const char *oneofs[] = {
       "result",
@@ -13594,7 +15294,7 @@ + (GPBDescriptor *)descriptor {
     [localDescriptor setupOneofs:oneofs
                            count:(uint32_t)(sizeof(oneofs) / sizeof(char*))
                    firstHasIndex:-1];
-    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetIdentitiesTokenInfosResponse)];
+    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetTokenDirectPurchasePricesResponse)];
     #if defined(DEBUG) && DEBUG
       NSAssert(descriptor == nil, @"Startup recursed!");
     #endif  // DEBUG
@@ -13605,20 +15305,78 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-void GetIdentitiesTokenInfosResponse_GetIdentitiesTokenInfosResponseV0_ClearResultOneOfCase(GetIdentitiesTokenInfosResponse_GetIdentitiesTokenInfosResponseV0 *message) {
-  GPBDescriptor *descriptor = [GetIdentitiesTokenInfosResponse_GetIdentitiesTokenInfosResponseV0 descriptor];
+void GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0_ClearResultOneOfCase(GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0 *message) {
+  GPBDescriptor *descriptor = [GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0 descriptor];
   GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0];
   GPBClearOneof(message, oneof);
 }
-#pragma mark - GetIdentitiesTokenInfosResponse_GetIdentitiesTokenInfosResponseV0_TokenIdentityInfoEntry
+#pragma mark - GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0_PriceForQuantity
+
+@implementation GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0_PriceForQuantity
+
+@dynamic quantity;
+@dynamic price;
+
+typedef struct GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0_PriceForQuantity__storage_ {
+  uint32_t _has_storage_[1];
+  uint64_t quantity;
+  uint64_t price;
+} GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0_PriceForQuantity__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 = "quantity",
+        .dataTypeSpecific.clazz = Nil,
+        .number = GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0_PriceForQuantity_FieldNumber_Quantity,
+        .hasIndex = 0,
+        .offset = (uint32_t)offsetof(GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0_PriceForQuantity__storage_, quantity),
+        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
+        .dataType = GPBDataTypeUInt64,
+      },
+      {
+        .name = "price",
+        .dataTypeSpecific.clazz = Nil,
+        .number = GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0_PriceForQuantity_FieldNumber_Price,
+        .hasIndex = 1,
+        .offset = (uint32_t)offsetof(GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0_PriceForQuantity__storage_, price),
+        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
+        .dataType = GPBDataTypeUInt64,
+      },
+    };
+    GPBDescriptor *localDescriptor =
+        [GPBDescriptor allocDescriptorForClass:[GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0_PriceForQuantity class]
+                                     rootClass:[PlatformRoot class]
+                                          file:PlatformRoot_FileDescriptor()
+                                        fields:fields
+                                    fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
+                                   storageSize:sizeof(GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0_PriceForQuantity__storage_)
+                                         flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
+    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0)];
+    #if defined(DEBUG) && DEBUG
+      NSAssert(descriptor == nil, @"Startup recursed!");
+    #endif  // DEBUG
+    descriptor = localDescriptor;
+  }
+  return descriptor;
+}
 
-@implementation GetIdentitiesTokenInfosResponse_GetIdentitiesTokenInfosResponseV0_TokenIdentityInfoEntry
+@end
 
-@dynamic frozen;
+#pragma mark - GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0_PricingSchedule
 
-typedef struct GetIdentitiesTokenInfosResponse_GetIdentitiesTokenInfosResponseV0_TokenIdentityInfoEntry__storage_ {
+@implementation GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0_PricingSchedule
+
+@dynamic priceForQuantityArray, priceForQuantityArray_Count;
+
+typedef struct GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0_PricingSchedule__storage_ {
   uint32_t _has_storage_[1];
-} GetIdentitiesTokenInfosResponse_GetIdentitiesTokenInfosResponseV0_TokenIdentityInfoEntry__storage_;
+  NSMutableArray *priceForQuantityArray;
+} GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0_PricingSchedule__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -13627,24 +15385,24 @@ + (GPBDescriptor *)descriptor {
   if (!descriptor) {
     static GPBMessageFieldDescription fields[] = {
       {
-        .name = "frozen",
-        .dataTypeSpecific.clazz = Nil,
-        .number = GetIdentitiesTokenInfosResponse_GetIdentitiesTokenInfosResponseV0_TokenIdentityInfoEntry_FieldNumber_Frozen,
-        .hasIndex = 0,
-        .offset = 1,  // Stored in _has_storage_ to save space.
-        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
-        .dataType = GPBDataTypeBool,
+        .name = "priceForQuantityArray",
+        .dataTypeSpecific.clazz = GPBObjCClass(GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0_PriceForQuantity),
+        .number = GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0_PricingSchedule_FieldNumber_PriceForQuantityArray,
+        .hasIndex = GPBNoHasBit,
+        .offset = (uint32_t)offsetof(GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0_PricingSchedule__storage_, priceForQuantityArray),
+        .flags = GPBFieldRepeated,
+        .dataType = GPBDataTypeMessage,
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetIdentitiesTokenInfosResponse_GetIdentitiesTokenInfosResponseV0_TokenIdentityInfoEntry class]
+        [GPBDescriptor allocDescriptorForClass:[GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0_PricingSchedule class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetIdentitiesTokenInfosResponse_GetIdentitiesTokenInfosResponseV0_TokenIdentityInfoEntry__storage_)
+                                   storageSize:sizeof(GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0_PricingSchedule__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
-    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetIdentitiesTokenInfosResponse_GetIdentitiesTokenInfosResponseV0)];
+    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0)];
     #if defined(DEBUG) && DEBUG
       NSAssert(descriptor == nil, @"Startup recursed!");
     #endif  // DEBUG
@@ -13655,18 +15413,21 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-#pragma mark - GetIdentitiesTokenInfosResponse_GetIdentitiesTokenInfosResponseV0_TokenInfoEntry
+#pragma mark - GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0_TokenDirectPurchasePriceEntry
 
-@implementation GetIdentitiesTokenInfosResponse_GetIdentitiesTokenInfosResponseV0_TokenInfoEntry
+@implementation GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0_TokenDirectPurchasePriceEntry
 
-@dynamic identityId;
-@dynamic hasInfo, info;
+@dynamic priceOneOfCase;
+@dynamic tokenId;
+@dynamic fixedPrice;
+@dynamic variablePrice;
 
-typedef struct GetIdentitiesTokenInfosResponse_GetIdentitiesTokenInfosResponseV0_TokenInfoEntry__storage_ {
-  uint32_t _has_storage_[1];
-  NSData *identityId;
-  GetIdentitiesTokenInfosResponse_GetIdentitiesTokenInfosResponseV0_TokenIdentityInfoEntry *info;
-} GetIdentitiesTokenInfosResponse_GetIdentitiesTokenInfosResponseV0_TokenInfoEntry__storage_;
+typedef struct GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0_TokenDirectPurchasePriceEntry__storage_ {
+  uint32_t _has_storage_[2];
+  NSData *tokenId;
+  GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0_PricingSchedule *variablePrice;
+  uint64_t fixedPrice;
+} GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0_TokenDirectPurchasePriceEntry__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -13675,33 +15436,48 @@ + (GPBDescriptor *)descriptor {
   if (!descriptor) {
     static GPBMessageFieldDescription fields[] = {
       {
-        .name = "identityId",
+        .name = "tokenId",
         .dataTypeSpecific.clazz = Nil,
-        .number = GetIdentitiesTokenInfosResponse_GetIdentitiesTokenInfosResponseV0_TokenInfoEntry_FieldNumber_IdentityId,
+        .number = GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0_TokenDirectPurchasePriceEntry_FieldNumber_TokenId,
         .hasIndex = 0,
-        .offset = (uint32_t)offsetof(GetIdentitiesTokenInfosResponse_GetIdentitiesTokenInfosResponseV0_TokenInfoEntry__storage_, identityId),
+        .offset = (uint32_t)offsetof(GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0_TokenDirectPurchasePriceEntry__storage_, tokenId),
         .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
         .dataType = GPBDataTypeBytes,
       },
       {
-        .name = "info",
-        .dataTypeSpecific.clazz = GPBObjCClass(GetIdentitiesTokenInfosResponse_GetIdentitiesTokenInfosResponseV0_TokenIdentityInfoEntry),
-        .number = GetIdentitiesTokenInfosResponse_GetIdentitiesTokenInfosResponseV0_TokenInfoEntry_FieldNumber_Info,
-        .hasIndex = 1,
-        .offset = (uint32_t)offsetof(GetIdentitiesTokenInfosResponse_GetIdentitiesTokenInfosResponseV0_TokenInfoEntry__storage_, info),
+        .name = "fixedPrice",
+        .dataTypeSpecific.clazz = Nil,
+        .number = GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0_TokenDirectPurchasePriceEntry_FieldNumber_FixedPrice,
+        .hasIndex = -1,
+        .offset = (uint32_t)offsetof(GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0_TokenDirectPurchasePriceEntry__storage_, fixedPrice),
+        .flags = GPBFieldOptional,
+        .dataType = GPBDataTypeUInt64,
+      },
+      {
+        .name = "variablePrice",
+        .dataTypeSpecific.clazz = GPBObjCClass(GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0_PricingSchedule),
+        .number = GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0_TokenDirectPurchasePriceEntry_FieldNumber_VariablePrice,
+        .hasIndex = -1,
+        .offset = (uint32_t)offsetof(GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0_TokenDirectPurchasePriceEntry__storage_, variablePrice),
         .flags = GPBFieldOptional,
         .dataType = GPBDataTypeMessage,
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetIdentitiesTokenInfosResponse_GetIdentitiesTokenInfosResponseV0_TokenInfoEntry class]
+        [GPBDescriptor allocDescriptorForClass:[GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0_TokenDirectPurchasePriceEntry class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetIdentitiesTokenInfosResponse_GetIdentitiesTokenInfosResponseV0_TokenInfoEntry__storage_)
+                                   storageSize:sizeof(GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0_TokenDirectPurchasePriceEntry__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
-    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetIdentitiesTokenInfosResponse_GetIdentitiesTokenInfosResponseV0)];
+    static const char *oneofs[] = {
+      "price",
+    };
+    [localDescriptor setupOneofs:oneofs
+                           count:(uint32_t)(sizeof(oneofs) / sizeof(char*))
+                   firstHasIndex:-1];
+    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0)];
     #if defined(DEBUG) && DEBUG
       NSAssert(descriptor == nil, @"Startup recursed!");
     #endif  // DEBUG
@@ -13712,16 +15488,21 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-#pragma mark - GetIdentitiesTokenInfosResponse_GetIdentitiesTokenInfosResponseV0_IdentityTokenInfos
+void GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0_TokenDirectPurchasePriceEntry_ClearPriceOneOfCase(GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0_TokenDirectPurchasePriceEntry *message) {
+  GPBDescriptor *descriptor = [GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0_TokenDirectPurchasePriceEntry descriptor];
+  GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0];
+  GPBClearOneof(message, oneof);
+}
+#pragma mark - GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0_TokenDirectPurchasePrices
 
-@implementation GetIdentitiesTokenInfosResponse_GetIdentitiesTokenInfosResponseV0_IdentityTokenInfos
+@implementation GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0_TokenDirectPurchasePrices
 
-@dynamic tokenInfosArray, tokenInfosArray_Count;
+@dynamic tokenDirectPurchasePriceArray, tokenDirectPurchasePriceArray_Count;
 
-typedef struct GetIdentitiesTokenInfosResponse_GetIdentitiesTokenInfosResponseV0_IdentityTokenInfos__storage_ {
+typedef struct GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0_TokenDirectPurchasePrices__storage_ {
   uint32_t _has_storage_[1];
-  NSMutableArray *tokenInfosArray;
-} GetIdentitiesTokenInfosResponse_GetIdentitiesTokenInfosResponseV0_IdentityTokenInfos__storage_;
+  NSMutableArray *tokenDirectPurchasePriceArray;
+} GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0_TokenDirectPurchasePrices__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -13730,24 +15511,24 @@ + (GPBDescriptor *)descriptor {
   if (!descriptor) {
     static GPBMessageFieldDescription fields[] = {
       {
-        .name = "tokenInfosArray",
-        .dataTypeSpecific.clazz = GPBObjCClass(GetIdentitiesTokenInfosResponse_GetIdentitiesTokenInfosResponseV0_TokenInfoEntry),
-        .number = GetIdentitiesTokenInfosResponse_GetIdentitiesTokenInfosResponseV0_IdentityTokenInfos_FieldNumber_TokenInfosArray,
+        .name = "tokenDirectPurchasePriceArray",
+        .dataTypeSpecific.clazz = GPBObjCClass(GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0_TokenDirectPurchasePriceEntry),
+        .number = GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0_TokenDirectPurchasePrices_FieldNumber_TokenDirectPurchasePriceArray,
         .hasIndex = GPBNoHasBit,
-        .offset = (uint32_t)offsetof(GetIdentitiesTokenInfosResponse_GetIdentitiesTokenInfosResponseV0_IdentityTokenInfos__storage_, tokenInfosArray),
+        .offset = (uint32_t)offsetof(GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0_TokenDirectPurchasePrices__storage_, tokenDirectPurchasePriceArray),
         .flags = GPBFieldRepeated,
         .dataType = GPBDataTypeMessage,
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetIdentitiesTokenInfosResponse_GetIdentitiesTokenInfosResponseV0_IdentityTokenInfos class]
+        [GPBDescriptor allocDescriptorForClass:[GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0_TokenDirectPurchasePrices class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetIdentitiesTokenInfosResponse_GetIdentitiesTokenInfosResponseV0_IdentityTokenInfos__storage_)
+                                   storageSize:sizeof(GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0_TokenDirectPurchasePrices__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
-    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetIdentitiesTokenInfosResponse_GetIdentitiesTokenInfosResponseV0)];
+    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0)];
     #if defined(DEBUG) && DEBUG
       NSAssert(descriptor == nil, @"Startup recursed!");
     #endif  // DEBUG
@@ -13758,17 +15539,17 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-#pragma mark - GetTokenStatusesRequest
+#pragma mark - GetTokenContractInfoRequest
 
-@implementation GetTokenStatusesRequest
+@implementation GetTokenContractInfoRequest
 
 @dynamic versionOneOfCase;
 @dynamic v0;
 
-typedef struct GetTokenStatusesRequest__storage_ {
+typedef struct GetTokenContractInfoRequest__storage_ {
   uint32_t _has_storage_[2];
-  GetTokenStatusesRequest_GetTokenStatusesRequestV0 *v0;
-} GetTokenStatusesRequest__storage_;
+  GetTokenContractInfoRequest_GetTokenContractInfoRequestV0 *v0;
+} GetTokenContractInfoRequest__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -13778,21 +15559,21 @@ + (GPBDescriptor *)descriptor {
     static GPBMessageFieldDescription fields[] = {
       {
         .name = "v0",
-        .dataTypeSpecific.clazz = GPBObjCClass(GetTokenStatusesRequest_GetTokenStatusesRequestV0),
-        .number = GetTokenStatusesRequest_FieldNumber_V0,
+        .dataTypeSpecific.clazz = GPBObjCClass(GetTokenContractInfoRequest_GetTokenContractInfoRequestV0),
+        .number = GetTokenContractInfoRequest_FieldNumber_V0,
         .hasIndex = -1,
-        .offset = (uint32_t)offsetof(GetTokenStatusesRequest__storage_, v0),
+        .offset = (uint32_t)offsetof(GetTokenContractInfoRequest__storage_, v0),
         .flags = GPBFieldOptional,
         .dataType = GPBDataTypeMessage,
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetTokenStatusesRequest class]
+        [GPBDescriptor allocDescriptorForClass:[GetTokenContractInfoRequest class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetTokenStatusesRequest__storage_)
+                                   storageSize:sizeof(GetTokenContractInfoRequest__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
     static const char *oneofs[] = {
       "version",
@@ -13810,22 +15591,22 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-void GetTokenStatusesRequest_ClearVersionOneOfCase(GetTokenStatusesRequest *message) {
-  GPBDescriptor *descriptor = [GetTokenStatusesRequest descriptor];
+void GetTokenContractInfoRequest_ClearVersionOneOfCase(GetTokenContractInfoRequest *message) {
+  GPBDescriptor *descriptor = [GetTokenContractInfoRequest descriptor];
   GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0];
   GPBClearOneof(message, oneof);
 }
-#pragma mark - GetTokenStatusesRequest_GetTokenStatusesRequestV0
+#pragma mark - GetTokenContractInfoRequest_GetTokenContractInfoRequestV0
 
-@implementation GetTokenStatusesRequest_GetTokenStatusesRequestV0
+@implementation GetTokenContractInfoRequest_GetTokenContractInfoRequestV0
 
-@dynamic tokenIdsArray, tokenIdsArray_Count;
+@dynamic tokenId;
 @dynamic prove;
 
-typedef struct GetTokenStatusesRequest_GetTokenStatusesRequestV0__storage_ {
+typedef struct GetTokenContractInfoRequest_GetTokenContractInfoRequestV0__storage_ {
   uint32_t _has_storage_[1];
-  NSMutableArray *tokenIdsArray;
-} GetTokenStatusesRequest_GetTokenStatusesRequestV0__storage_;
+  NSData *tokenId;
+} GetTokenContractInfoRequest_GetTokenContractInfoRequestV0__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -13834,33 +15615,33 @@ + (GPBDescriptor *)descriptor {
   if (!descriptor) {
     static GPBMessageFieldDescription fields[] = {
       {
-        .name = "tokenIdsArray",
+        .name = "tokenId",
         .dataTypeSpecific.clazz = Nil,
-        .number = GetTokenStatusesRequest_GetTokenStatusesRequestV0_FieldNumber_TokenIdsArray,
-        .hasIndex = GPBNoHasBit,
-        .offset = (uint32_t)offsetof(GetTokenStatusesRequest_GetTokenStatusesRequestV0__storage_, tokenIdsArray),
-        .flags = GPBFieldRepeated,
+        .number = GetTokenContractInfoRequest_GetTokenContractInfoRequestV0_FieldNumber_TokenId,
+        .hasIndex = 0,
+        .offset = (uint32_t)offsetof(GetTokenContractInfoRequest_GetTokenContractInfoRequestV0__storage_, tokenId),
+        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
         .dataType = GPBDataTypeBytes,
       },
       {
         .name = "prove",
         .dataTypeSpecific.clazz = Nil,
-        .number = GetTokenStatusesRequest_GetTokenStatusesRequestV0_FieldNumber_Prove,
-        .hasIndex = 0,
-        .offset = 1,  // Stored in _has_storage_ to save space.
+        .number = GetTokenContractInfoRequest_GetTokenContractInfoRequestV0_FieldNumber_Prove,
+        .hasIndex = 1,
+        .offset = 2,  // Stored in _has_storage_ to save space.
         .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
         .dataType = GPBDataTypeBool,
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetTokenStatusesRequest_GetTokenStatusesRequestV0 class]
+        [GPBDescriptor allocDescriptorForClass:[GetTokenContractInfoRequest_GetTokenContractInfoRequestV0 class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetTokenStatusesRequest_GetTokenStatusesRequestV0__storage_)
+                                   storageSize:sizeof(GetTokenContractInfoRequest_GetTokenContractInfoRequestV0__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
-    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetTokenStatusesRequest)];
+    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetTokenContractInfoRequest)];
     #if defined(DEBUG) && DEBUG
       NSAssert(descriptor == nil, @"Startup recursed!");
     #endif  // DEBUG
@@ -13871,17 +15652,17 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-#pragma mark - GetTokenStatusesResponse
+#pragma mark - GetTokenContractInfoResponse
 
-@implementation GetTokenStatusesResponse
+@implementation GetTokenContractInfoResponse
 
 @dynamic versionOneOfCase;
 @dynamic v0;
 
-typedef struct GetTokenStatusesResponse__storage_ {
+typedef struct GetTokenContractInfoResponse__storage_ {
   uint32_t _has_storage_[2];
-  GetTokenStatusesResponse_GetTokenStatusesResponseV0 *v0;
-} GetTokenStatusesResponse__storage_;
+  GetTokenContractInfoResponse_GetTokenContractInfoResponseV0 *v0;
+} GetTokenContractInfoResponse__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -13891,21 +15672,21 @@ + (GPBDescriptor *)descriptor {
     static GPBMessageFieldDescription fields[] = {
       {
         .name = "v0",
-        .dataTypeSpecific.clazz = GPBObjCClass(GetTokenStatusesResponse_GetTokenStatusesResponseV0),
-        .number = GetTokenStatusesResponse_FieldNumber_V0,
+        .dataTypeSpecific.clazz = GPBObjCClass(GetTokenContractInfoResponse_GetTokenContractInfoResponseV0),
+        .number = GetTokenContractInfoResponse_FieldNumber_V0,
         .hasIndex = -1,
-        .offset = (uint32_t)offsetof(GetTokenStatusesResponse__storage_, v0),
+        .offset = (uint32_t)offsetof(GetTokenContractInfoResponse__storage_, v0),
         .flags = GPBFieldOptional,
         .dataType = GPBDataTypeMessage,
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetTokenStatusesResponse class]
+        [GPBDescriptor allocDescriptorForClass:[GetTokenContractInfoResponse class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetTokenStatusesResponse__storage_)
+                                   storageSize:sizeof(GetTokenContractInfoResponse__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
     static const char *oneofs[] = {
       "version",
@@ -13923,102 +15704,26 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-void GetTokenStatusesResponse_ClearVersionOneOfCase(GetTokenStatusesResponse *message) {
-  GPBDescriptor *descriptor = [GetTokenStatusesResponse descriptor];
+void GetTokenContractInfoResponse_ClearVersionOneOfCase(GetTokenContractInfoResponse *message) {
+  GPBDescriptor *descriptor = [GetTokenContractInfoResponse descriptor];
   GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0];
   GPBClearOneof(message, oneof);
 }
-#pragma mark - GetTokenStatusesResponse_GetTokenStatusesResponseV0
+#pragma mark - GetTokenContractInfoResponse_GetTokenContractInfoResponseV0
 
-@implementation GetTokenStatusesResponse_GetTokenStatusesResponseV0
+@implementation GetTokenContractInfoResponse_GetTokenContractInfoResponseV0
 
 @dynamic resultOneOfCase;
-@dynamic tokenStatuses;
+@dynamic data_p;
 @dynamic proof;
 @dynamic hasMetadata, metadata;
 
-typedef struct GetTokenStatusesResponse_GetTokenStatusesResponseV0__storage_ {
-  uint32_t _has_storage_[2];
-  GetTokenStatusesResponse_GetTokenStatusesResponseV0_TokenStatuses *tokenStatuses;
-  Proof *proof;
-  ResponseMetadata *metadata;
-} GetTokenStatusesResponse_GetTokenStatusesResponseV0__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 = "tokenStatuses",
-        .dataTypeSpecific.clazz = GPBObjCClass(GetTokenStatusesResponse_GetTokenStatusesResponseV0_TokenStatuses),
-        .number = GetTokenStatusesResponse_GetTokenStatusesResponseV0_FieldNumber_TokenStatuses,
-        .hasIndex = -1,
-        .offset = (uint32_t)offsetof(GetTokenStatusesResponse_GetTokenStatusesResponseV0__storage_, tokenStatuses),
-        .flags = GPBFieldOptional,
-        .dataType = GPBDataTypeMessage,
-      },
-      {
-        .name = "proof",
-        .dataTypeSpecific.clazz = GPBObjCClass(Proof),
-        .number = GetTokenStatusesResponse_GetTokenStatusesResponseV0_FieldNumber_Proof,
-        .hasIndex = -1,
-        .offset = (uint32_t)offsetof(GetTokenStatusesResponse_GetTokenStatusesResponseV0__storage_, proof),
-        .flags = GPBFieldOptional,
-        .dataType = GPBDataTypeMessage,
-      },
-      {
-        .name = "metadata",
-        .dataTypeSpecific.clazz = GPBObjCClass(ResponseMetadata),
-        .number = GetTokenStatusesResponse_GetTokenStatusesResponseV0_FieldNumber_Metadata,
-        .hasIndex = 0,
-        .offset = (uint32_t)offsetof(GetTokenStatusesResponse_GetTokenStatusesResponseV0__storage_, metadata),
-        .flags = GPBFieldOptional,
-        .dataType = GPBDataTypeMessage,
-      },
-    };
-    GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetTokenStatusesResponse_GetTokenStatusesResponseV0 class]
-                                     rootClass:[PlatformRoot class]
-                                          file:PlatformRoot_FileDescriptor()
-                                        fields:fields
-                                    fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetTokenStatusesResponse_GetTokenStatusesResponseV0__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(GetTokenStatusesResponse)];
-    #if defined(DEBUG) && DEBUG
-      NSAssert(descriptor == nil, @"Startup recursed!");
-    #endif  // DEBUG
-    descriptor = localDescriptor;
-  }
-  return descriptor;
-}
-
-@end
-
-void GetTokenStatusesResponse_GetTokenStatusesResponseV0_ClearResultOneOfCase(GetTokenStatusesResponse_GetTokenStatusesResponseV0 *message) {
-  GPBDescriptor *descriptor = [GetTokenStatusesResponse_GetTokenStatusesResponseV0 descriptor];
-  GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0];
-  GPBClearOneof(message, oneof);
-}
-#pragma mark - GetTokenStatusesResponse_GetTokenStatusesResponseV0_TokenStatusEntry
-
-@implementation GetTokenStatusesResponse_GetTokenStatusesResponseV0_TokenStatusEntry
-
-@dynamic tokenId;
-@dynamic hasPaused, paused;
-
-typedef struct GetTokenStatusesResponse_GetTokenStatusesResponseV0_TokenStatusEntry__storage_ {
-  uint32_t _has_storage_[1];
-  NSData *tokenId;
-} GetTokenStatusesResponse_GetTokenStatusesResponseV0_TokenStatusEntry__storage_;
+typedef struct GetTokenContractInfoResponse_GetTokenContractInfoResponseV0__storage_ {
+  uint32_t _has_storage_[2];
+  GetTokenContractInfoResponse_GetTokenContractInfoResponseV0_TokenContractInfoData *data_p;
+  Proof *proof;
+  ResponseMetadata *metadata;
+} GetTokenContractInfoResponse_GetTokenContractInfoResponseV0__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -14027,33 +15732,48 @@ + (GPBDescriptor *)descriptor {
   if (!descriptor) {
     static GPBMessageFieldDescription fields[] = {
       {
-        .name = "tokenId",
-        .dataTypeSpecific.clazz = Nil,
-        .number = GetTokenStatusesResponse_GetTokenStatusesResponseV0_TokenStatusEntry_FieldNumber_TokenId,
-        .hasIndex = 0,
-        .offset = (uint32_t)offsetof(GetTokenStatusesResponse_GetTokenStatusesResponseV0_TokenStatusEntry__storage_, tokenId),
-        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
-        .dataType = GPBDataTypeBytes,
+        .name = "data_p",
+        .dataTypeSpecific.clazz = GPBObjCClass(GetTokenContractInfoResponse_GetTokenContractInfoResponseV0_TokenContractInfoData),
+        .number = GetTokenContractInfoResponse_GetTokenContractInfoResponseV0_FieldNumber_Data_p,
+        .hasIndex = -1,
+        .offset = (uint32_t)offsetof(GetTokenContractInfoResponse_GetTokenContractInfoResponseV0__storage_, data_p),
+        .flags = GPBFieldOptional,
+        .dataType = GPBDataTypeMessage,
       },
       {
-        .name = "paused",
-        .dataTypeSpecific.clazz = Nil,
-        .number = GetTokenStatusesResponse_GetTokenStatusesResponseV0_TokenStatusEntry_FieldNumber_Paused,
-        .hasIndex = 1,
-        .offset = 2,  // Stored in _has_storage_ to save space.
+        .name = "proof",
+        .dataTypeSpecific.clazz = GPBObjCClass(Proof),
+        .number = GetTokenContractInfoResponse_GetTokenContractInfoResponseV0_FieldNumber_Proof,
+        .hasIndex = -1,
+        .offset = (uint32_t)offsetof(GetTokenContractInfoResponse_GetTokenContractInfoResponseV0__storage_, proof),
         .flags = GPBFieldOptional,
-        .dataType = GPBDataTypeBool,
+        .dataType = GPBDataTypeMessage,
+      },
+      {
+        .name = "metadata",
+        .dataTypeSpecific.clazz = GPBObjCClass(ResponseMetadata),
+        .number = GetTokenContractInfoResponse_GetTokenContractInfoResponseV0_FieldNumber_Metadata,
+        .hasIndex = 0,
+        .offset = (uint32_t)offsetof(GetTokenContractInfoResponse_GetTokenContractInfoResponseV0__storage_, metadata),
+        .flags = GPBFieldOptional,
+        .dataType = GPBDataTypeMessage,
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetTokenStatusesResponse_GetTokenStatusesResponseV0_TokenStatusEntry class]
+        [GPBDescriptor allocDescriptorForClass:[GetTokenContractInfoResponse_GetTokenContractInfoResponseV0 class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetTokenStatusesResponse_GetTokenStatusesResponseV0_TokenStatusEntry__storage_)
+                                   storageSize:sizeof(GetTokenContractInfoResponse_GetTokenContractInfoResponseV0__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
-    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetTokenStatusesResponse_GetTokenStatusesResponseV0)];
+    static const char *oneofs[] = {
+      "result",
+    };
+    [localDescriptor setupOneofs:oneofs
+                           count:(uint32_t)(sizeof(oneofs) / sizeof(char*))
+                   firstHasIndex:-1];
+    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetTokenContractInfoResponse)];
     #if defined(DEBUG) && DEBUG
       NSAssert(descriptor == nil, @"Startup recursed!");
     #endif  // DEBUG
@@ -14064,16 +15784,23 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-#pragma mark - GetTokenStatusesResponse_GetTokenStatusesResponseV0_TokenStatuses
+void GetTokenContractInfoResponse_GetTokenContractInfoResponseV0_ClearResultOneOfCase(GetTokenContractInfoResponse_GetTokenContractInfoResponseV0 *message) {
+  GPBDescriptor *descriptor = [GetTokenContractInfoResponse_GetTokenContractInfoResponseV0 descriptor];
+  GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0];
+  GPBClearOneof(message, oneof);
+}
+#pragma mark - GetTokenContractInfoResponse_GetTokenContractInfoResponseV0_TokenContractInfoData
 
-@implementation GetTokenStatusesResponse_GetTokenStatusesResponseV0_TokenStatuses
+@implementation GetTokenContractInfoResponse_GetTokenContractInfoResponseV0_TokenContractInfoData
 
-@dynamic tokenStatusesArray, tokenStatusesArray_Count;
+@dynamic contractId;
+@dynamic tokenContractPosition;
 
-typedef struct GetTokenStatusesResponse_GetTokenStatusesResponseV0_TokenStatuses__storage_ {
+typedef struct GetTokenContractInfoResponse_GetTokenContractInfoResponseV0_TokenContractInfoData__storage_ {
   uint32_t _has_storage_[1];
-  NSMutableArray *tokenStatusesArray;
-} GetTokenStatusesResponse_GetTokenStatusesResponseV0_TokenStatuses__storage_;
+  uint32_t tokenContractPosition;
+  NSData *contractId;
+} GetTokenContractInfoResponse_GetTokenContractInfoResponseV0_TokenContractInfoData__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -14082,24 +15809,33 @@ + (GPBDescriptor *)descriptor {
   if (!descriptor) {
     static GPBMessageFieldDescription fields[] = {
       {
-        .name = "tokenStatusesArray",
-        .dataTypeSpecific.clazz = GPBObjCClass(GetTokenStatusesResponse_GetTokenStatusesResponseV0_TokenStatusEntry),
-        .number = GetTokenStatusesResponse_GetTokenStatusesResponseV0_TokenStatuses_FieldNumber_TokenStatusesArray,
-        .hasIndex = GPBNoHasBit,
-        .offset = (uint32_t)offsetof(GetTokenStatusesResponse_GetTokenStatusesResponseV0_TokenStatuses__storage_, tokenStatusesArray),
-        .flags = GPBFieldRepeated,
-        .dataType = GPBDataTypeMessage,
+        .name = "contractId",
+        .dataTypeSpecific.clazz = Nil,
+        .number = GetTokenContractInfoResponse_GetTokenContractInfoResponseV0_TokenContractInfoData_FieldNumber_ContractId,
+        .hasIndex = 0,
+        .offset = (uint32_t)offsetof(GetTokenContractInfoResponse_GetTokenContractInfoResponseV0_TokenContractInfoData__storage_, contractId),
+        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
+        .dataType = GPBDataTypeBytes,
+      },
+      {
+        .name = "tokenContractPosition",
+        .dataTypeSpecific.clazz = Nil,
+        .number = GetTokenContractInfoResponse_GetTokenContractInfoResponseV0_TokenContractInfoData_FieldNumber_TokenContractPosition,
+        .hasIndex = 1,
+        .offset = (uint32_t)offsetof(GetTokenContractInfoResponse_GetTokenContractInfoResponseV0_TokenContractInfoData__storage_, tokenContractPosition),
+        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
+        .dataType = GPBDataTypeUInt32,
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetTokenStatusesResponse_GetTokenStatusesResponseV0_TokenStatuses class]
+        [GPBDescriptor allocDescriptorForClass:[GetTokenContractInfoResponse_GetTokenContractInfoResponseV0_TokenContractInfoData class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetTokenStatusesResponse_GetTokenStatusesResponseV0_TokenStatuses__storage_)
+                                   storageSize:sizeof(GetTokenContractInfoResponse_GetTokenContractInfoResponseV0_TokenContractInfoData__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
-    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetTokenStatusesResponse_GetTokenStatusesResponseV0)];
+    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetTokenContractInfoResponse_GetTokenContractInfoResponseV0)];
     #if defined(DEBUG) && DEBUG
       NSAssert(descriptor == nil, @"Startup recursed!");
     #endif  // DEBUG
@@ -14110,17 +15846,17 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-#pragma mark - GetTokenDirectPurchasePricesResponse
+#pragma mark - GetTokenPreProgrammedDistributionsRequest
 
-@implementation GetTokenDirectPurchasePricesResponse
+@implementation GetTokenPreProgrammedDistributionsRequest
 
 @dynamic versionOneOfCase;
 @dynamic v0;
 
-typedef struct GetTokenDirectPurchasePricesResponse__storage_ {
+typedef struct GetTokenPreProgrammedDistributionsRequest__storage_ {
   uint32_t _has_storage_[2];
-  GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0 *v0;
-} GetTokenDirectPurchasePricesResponse__storage_;
+  GetTokenPreProgrammedDistributionsRequest_GetTokenPreProgrammedDistributionsRequestV0 *v0;
+} GetTokenPreProgrammedDistributionsRequest__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -14130,21 +15866,21 @@ + (GPBDescriptor *)descriptor {
     static GPBMessageFieldDescription fields[] = {
       {
         .name = "v0",
-        .dataTypeSpecific.clazz = GPBObjCClass(GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0),
-        .number = GetTokenDirectPurchasePricesResponse_FieldNumber_V0,
+        .dataTypeSpecific.clazz = GPBObjCClass(GetTokenPreProgrammedDistributionsRequest_GetTokenPreProgrammedDistributionsRequestV0),
+        .number = GetTokenPreProgrammedDistributionsRequest_FieldNumber_V0,
         .hasIndex = -1,
-        .offset = (uint32_t)offsetof(GetTokenDirectPurchasePricesResponse__storage_, v0),
+        .offset = (uint32_t)offsetof(GetTokenPreProgrammedDistributionsRequest__storage_, v0),
         .flags = GPBFieldOptional,
         .dataType = GPBDataTypeMessage,
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetTokenDirectPurchasePricesResponse class]
+        [GPBDescriptor allocDescriptorForClass:[GetTokenPreProgrammedDistributionsRequest class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetTokenDirectPurchasePricesResponse__storage_)
+                                   storageSize:sizeof(GetTokenPreProgrammedDistributionsRequest__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
     static const char *oneofs[] = {
       "version",
@@ -14162,26 +15898,26 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-void GetTokenDirectPurchasePricesResponse_ClearVersionOneOfCase(GetTokenDirectPurchasePricesResponse *message) {
-  GPBDescriptor *descriptor = [GetTokenDirectPurchasePricesResponse descriptor];
+void GetTokenPreProgrammedDistributionsRequest_ClearVersionOneOfCase(GetTokenPreProgrammedDistributionsRequest *message) {
+  GPBDescriptor *descriptor = [GetTokenPreProgrammedDistributionsRequest descriptor];
   GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0];
   GPBClearOneof(message, oneof);
 }
-#pragma mark - GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0
+#pragma mark - GetTokenPreProgrammedDistributionsRequest_GetTokenPreProgrammedDistributionsRequestV0
 
-@implementation GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0
+@implementation GetTokenPreProgrammedDistributionsRequest_GetTokenPreProgrammedDistributionsRequestV0
 
-@dynamic resultOneOfCase;
-@dynamic tokenDirectPurchasePrices;
-@dynamic proof;
-@dynamic hasMetadata, metadata;
+@dynamic tokenId;
+@dynamic hasStartAtInfo, startAtInfo;
+@dynamic hasLimit, limit;
+@dynamic prove;
 
-typedef struct GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0__storage_ {
-  uint32_t _has_storage_[2];
-  GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0_TokenDirectPurchasePrices *tokenDirectPurchasePrices;
-  Proof *proof;
-  ResponseMetadata *metadata;
-} GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0__storage_;
+typedef struct GetTokenPreProgrammedDistributionsRequest_GetTokenPreProgrammedDistributionsRequestV0__storage_ {
+  uint32_t _has_storage_[1];
+  uint32_t limit;
+  NSData *tokenId;
+  GetTokenPreProgrammedDistributionsRequest_GetTokenPreProgrammedDistributionsRequestV0_StartAtInfo *startAtInfo;
+} GetTokenPreProgrammedDistributionsRequest_GetTokenPreProgrammedDistributionsRequestV0__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -14190,48 +15926,51 @@ + (GPBDescriptor *)descriptor {
   if (!descriptor) {
     static GPBMessageFieldDescription fields[] = {
       {
-        .name = "tokenDirectPurchasePrices",
-        .dataTypeSpecific.clazz = GPBObjCClass(GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0_TokenDirectPurchasePrices),
-        .number = GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0_FieldNumber_TokenDirectPurchasePrices,
-        .hasIndex = -1,
-        .offset = (uint32_t)offsetof(GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0__storage_, tokenDirectPurchasePrices),
-        .flags = GPBFieldOptional,
-        .dataType = GPBDataTypeMessage,
+        .name = "tokenId",
+        .dataTypeSpecific.clazz = Nil,
+        .number = GetTokenPreProgrammedDistributionsRequest_GetTokenPreProgrammedDistributionsRequestV0_FieldNumber_TokenId,
+        .hasIndex = 0,
+        .offset = (uint32_t)offsetof(GetTokenPreProgrammedDistributionsRequest_GetTokenPreProgrammedDistributionsRequestV0__storage_, tokenId),
+        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
+        .dataType = GPBDataTypeBytes,
       },
       {
-        .name = "proof",
-        .dataTypeSpecific.clazz = GPBObjCClass(Proof),
-        .number = GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0_FieldNumber_Proof,
-        .hasIndex = -1,
-        .offset = (uint32_t)offsetof(GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0__storage_, proof),
+        .name = "startAtInfo",
+        .dataTypeSpecific.clazz = GPBObjCClass(GetTokenPreProgrammedDistributionsRequest_GetTokenPreProgrammedDistributionsRequestV0_StartAtInfo),
+        .number = GetTokenPreProgrammedDistributionsRequest_GetTokenPreProgrammedDistributionsRequestV0_FieldNumber_StartAtInfo,
+        .hasIndex = 1,
+        .offset = (uint32_t)offsetof(GetTokenPreProgrammedDistributionsRequest_GetTokenPreProgrammedDistributionsRequestV0__storage_, startAtInfo),
         .flags = GPBFieldOptional,
         .dataType = GPBDataTypeMessage,
       },
       {
-        .name = "metadata",
-        .dataTypeSpecific.clazz = GPBObjCClass(ResponseMetadata),
-        .number = GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0_FieldNumber_Metadata,
-        .hasIndex = 0,
-        .offset = (uint32_t)offsetof(GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0__storage_, metadata),
+        .name = "limit",
+        .dataTypeSpecific.clazz = Nil,
+        .number = GetTokenPreProgrammedDistributionsRequest_GetTokenPreProgrammedDistributionsRequestV0_FieldNumber_Limit,
+        .hasIndex = 2,
+        .offset = (uint32_t)offsetof(GetTokenPreProgrammedDistributionsRequest_GetTokenPreProgrammedDistributionsRequestV0__storage_, limit),
         .flags = GPBFieldOptional,
-        .dataType = GPBDataTypeMessage,
+        .dataType = GPBDataTypeUInt32,
+      },
+      {
+        .name = "prove",
+        .dataTypeSpecific.clazz = Nil,
+        .number = GetTokenPreProgrammedDistributionsRequest_GetTokenPreProgrammedDistributionsRequestV0_FieldNumber_Prove,
+        .hasIndex = 3,
+        .offset = 4,  // Stored in _has_storage_ to save space.
+        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
+        .dataType = GPBDataTypeBool,
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0 class]
+        [GPBDescriptor allocDescriptorForClass:[GetTokenPreProgrammedDistributionsRequest_GetTokenPreProgrammedDistributionsRequestV0 class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0__storage_)
+                                   storageSize:sizeof(GetTokenPreProgrammedDistributionsRequest_GetTokenPreProgrammedDistributionsRequestV0__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(GetTokenDirectPurchasePricesResponse)];
+    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetTokenPreProgrammedDistributionsRequest)];
     #if defined(DEBUG) && DEBUG
       NSAssert(descriptor == nil, @"Startup recursed!");
     #endif  // DEBUG
@@ -14242,23 +15981,19 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-void GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0_ClearResultOneOfCase(GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0 *message) {
-  GPBDescriptor *descriptor = [GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0 descriptor];
-  GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0];
-  GPBClearOneof(message, oneof);
-}
-#pragma mark - GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0_PriceForQuantity
+#pragma mark - GetTokenPreProgrammedDistributionsRequest_GetTokenPreProgrammedDistributionsRequestV0_StartAtInfo
 
-@implementation GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0_PriceForQuantity
+@implementation GetTokenPreProgrammedDistributionsRequest_GetTokenPreProgrammedDistributionsRequestV0_StartAtInfo
 
-@dynamic quantity;
-@dynamic price;
+@dynamic startTimeMs;
+@dynamic hasStartRecipient, startRecipient;
+@dynamic hasStartRecipientIncluded, startRecipientIncluded;
 
-typedef struct GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0_PriceForQuantity__storage_ {
+typedef struct GetTokenPreProgrammedDistributionsRequest_GetTokenPreProgrammedDistributionsRequestV0_StartAtInfo__storage_ {
   uint32_t _has_storage_[1];
-  uint64_t quantity;
-  uint64_t price;
-} GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0_PriceForQuantity__storage_;
+  NSData *startRecipient;
+  uint64_t startTimeMs;
+} GetTokenPreProgrammedDistributionsRequest_GetTokenPreProgrammedDistributionsRequestV0_StartAtInfo__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -14267,33 +16002,42 @@ + (GPBDescriptor *)descriptor {
   if (!descriptor) {
     static GPBMessageFieldDescription fields[] = {
       {
-        .name = "quantity",
+        .name = "startTimeMs",
         .dataTypeSpecific.clazz = Nil,
-        .number = GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0_PriceForQuantity_FieldNumber_Quantity,
+        .number = GetTokenPreProgrammedDistributionsRequest_GetTokenPreProgrammedDistributionsRequestV0_StartAtInfo_FieldNumber_StartTimeMs,
         .hasIndex = 0,
-        .offset = (uint32_t)offsetof(GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0_PriceForQuantity__storage_, quantity),
+        .offset = (uint32_t)offsetof(GetTokenPreProgrammedDistributionsRequest_GetTokenPreProgrammedDistributionsRequestV0_StartAtInfo__storage_, startTimeMs),
         .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
         .dataType = GPBDataTypeUInt64,
       },
       {
-        .name = "price",
+        .name = "startRecipient",
         .dataTypeSpecific.clazz = Nil,
-        .number = GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0_PriceForQuantity_FieldNumber_Price,
+        .number = GetTokenPreProgrammedDistributionsRequest_GetTokenPreProgrammedDistributionsRequestV0_StartAtInfo_FieldNumber_StartRecipient,
         .hasIndex = 1,
-        .offset = (uint32_t)offsetof(GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0_PriceForQuantity__storage_, price),
-        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
-        .dataType = GPBDataTypeUInt64,
+        .offset = (uint32_t)offsetof(GetTokenPreProgrammedDistributionsRequest_GetTokenPreProgrammedDistributionsRequestV0_StartAtInfo__storage_, startRecipient),
+        .flags = GPBFieldOptional,
+        .dataType = GPBDataTypeBytes,
+      },
+      {
+        .name = "startRecipientIncluded",
+        .dataTypeSpecific.clazz = Nil,
+        .number = GetTokenPreProgrammedDistributionsRequest_GetTokenPreProgrammedDistributionsRequestV0_StartAtInfo_FieldNumber_StartRecipientIncluded,
+        .hasIndex = 2,
+        .offset = 3,  // Stored in _has_storage_ to save space.
+        .flags = GPBFieldOptional,
+        .dataType = GPBDataTypeBool,
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0_PriceForQuantity class]
+        [GPBDescriptor allocDescriptorForClass:[GetTokenPreProgrammedDistributionsRequest_GetTokenPreProgrammedDistributionsRequestV0_StartAtInfo class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0_PriceForQuantity__storage_)
+                                   storageSize:sizeof(GetTokenPreProgrammedDistributionsRequest_GetTokenPreProgrammedDistributionsRequestV0_StartAtInfo__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
-    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0)];
+    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetTokenPreProgrammedDistributionsRequest_GetTokenPreProgrammedDistributionsRequestV0)];
     #if defined(DEBUG) && DEBUG
       NSAssert(descriptor == nil, @"Startup recursed!");
     #endif  // DEBUG
@@ -14304,42 +16048,48 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-#pragma mark - GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0_PricingSchedule
+#pragma mark - GetTokenPreProgrammedDistributionsResponse
 
-@implementation GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0_PricingSchedule
+@implementation GetTokenPreProgrammedDistributionsResponse
 
-@dynamic priceForQuantityArray, priceForQuantityArray_Count;
+@dynamic versionOneOfCase;
+@dynamic v0;
 
-typedef struct GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0_PricingSchedule__storage_ {
-  uint32_t _has_storage_[1];
-  NSMutableArray *priceForQuantityArray;
-} GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0_PricingSchedule__storage_;
+typedef struct GetTokenPreProgrammedDistributionsResponse__storage_ {
+  uint32_t _has_storage_[2];
+  GetTokenPreProgrammedDistributionsResponse_GetTokenPreProgrammedDistributionsResponseV0 *v0;
+} GetTokenPreProgrammedDistributionsResponse__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 = "priceForQuantityArray",
-        .dataTypeSpecific.clazz = GPBObjCClass(GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0_PriceForQuantity),
-        .number = GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0_PricingSchedule_FieldNumber_PriceForQuantityArray,
-        .hasIndex = GPBNoHasBit,
-        .offset = (uint32_t)offsetof(GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0_PricingSchedule__storage_, priceForQuantityArray),
-        .flags = GPBFieldRepeated,
++ (GPBDescriptor *)descriptor {
+  static GPBDescriptor *descriptor = nil;
+  if (!descriptor) {
+    static GPBMessageFieldDescription fields[] = {
+      {
+        .name = "v0",
+        .dataTypeSpecific.clazz = GPBObjCClass(GetTokenPreProgrammedDistributionsResponse_GetTokenPreProgrammedDistributionsResponseV0),
+        .number = GetTokenPreProgrammedDistributionsResponse_FieldNumber_V0,
+        .hasIndex = -1,
+        .offset = (uint32_t)offsetof(GetTokenPreProgrammedDistributionsResponse__storage_, v0),
+        .flags = GPBFieldOptional,
         .dataType = GPBDataTypeMessage,
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0_PricingSchedule class]
+        [GPBDescriptor allocDescriptorForClass:[GetTokenPreProgrammedDistributionsResponse class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0_PricingSchedule__storage_)
+                                   storageSize:sizeof(GetTokenPreProgrammedDistributionsResponse__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
-    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0)];
+    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
@@ -14350,21 +16100,26 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-#pragma mark - GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0_TokenDirectPurchasePriceEntry
+void GetTokenPreProgrammedDistributionsResponse_ClearVersionOneOfCase(GetTokenPreProgrammedDistributionsResponse *message) {
+  GPBDescriptor *descriptor = [GetTokenPreProgrammedDistributionsResponse descriptor];
+  GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0];
+  GPBClearOneof(message, oneof);
+}
+#pragma mark - GetTokenPreProgrammedDistributionsResponse_GetTokenPreProgrammedDistributionsResponseV0
 
-@implementation GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0_TokenDirectPurchasePriceEntry
+@implementation GetTokenPreProgrammedDistributionsResponse_GetTokenPreProgrammedDistributionsResponseV0
 
-@dynamic priceOneOfCase;
-@dynamic tokenId;
-@dynamic fixedPrice;
-@dynamic variablePrice;
+@dynamic resultOneOfCase;
+@dynamic tokenDistributions;
+@dynamic proof;
+@dynamic hasMetadata, metadata;
 
-typedef struct GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0_TokenDirectPurchasePriceEntry__storage_ {
+typedef struct GetTokenPreProgrammedDistributionsResponse_GetTokenPreProgrammedDistributionsResponseV0__storage_ {
   uint32_t _has_storage_[2];
-  NSData *tokenId;
-  GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0_PricingSchedule *variablePrice;
-  uint64_t fixedPrice;
-} GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0_TokenDirectPurchasePriceEntry__storage_;
+  GetTokenPreProgrammedDistributionsResponse_GetTokenPreProgrammedDistributionsResponseV0_TokenDistributions *tokenDistributions;
+  Proof *proof;
+  ResponseMetadata *metadata;
+} GetTokenPreProgrammedDistributionsResponse_GetTokenPreProgrammedDistributionsResponseV0__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -14373,48 +16128,48 @@ + (GPBDescriptor *)descriptor {
   if (!descriptor) {
     static GPBMessageFieldDescription fields[] = {
       {
-        .name = "tokenId",
-        .dataTypeSpecific.clazz = Nil,
-        .number = GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0_TokenDirectPurchasePriceEntry_FieldNumber_TokenId,
-        .hasIndex = 0,
-        .offset = (uint32_t)offsetof(GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0_TokenDirectPurchasePriceEntry__storage_, tokenId),
-        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
-        .dataType = GPBDataTypeBytes,
+        .name = "tokenDistributions",
+        .dataTypeSpecific.clazz = GPBObjCClass(GetTokenPreProgrammedDistributionsResponse_GetTokenPreProgrammedDistributionsResponseV0_TokenDistributions),
+        .number = GetTokenPreProgrammedDistributionsResponse_GetTokenPreProgrammedDistributionsResponseV0_FieldNumber_TokenDistributions,
+        .hasIndex = -1,
+        .offset = (uint32_t)offsetof(GetTokenPreProgrammedDistributionsResponse_GetTokenPreProgrammedDistributionsResponseV0__storage_, tokenDistributions),
+        .flags = GPBFieldOptional,
+        .dataType = GPBDataTypeMessage,
       },
       {
-        .name = "fixedPrice",
-        .dataTypeSpecific.clazz = Nil,
-        .number = GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0_TokenDirectPurchasePriceEntry_FieldNumber_FixedPrice,
+        .name = "proof",
+        .dataTypeSpecific.clazz = GPBObjCClass(Proof),
+        .number = GetTokenPreProgrammedDistributionsResponse_GetTokenPreProgrammedDistributionsResponseV0_FieldNumber_Proof,
         .hasIndex = -1,
-        .offset = (uint32_t)offsetof(GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0_TokenDirectPurchasePriceEntry__storage_, fixedPrice),
+        .offset = (uint32_t)offsetof(GetTokenPreProgrammedDistributionsResponse_GetTokenPreProgrammedDistributionsResponseV0__storage_, proof),
         .flags = GPBFieldOptional,
-        .dataType = GPBDataTypeUInt64,
+        .dataType = GPBDataTypeMessage,
       },
       {
-        .name = "variablePrice",
-        .dataTypeSpecific.clazz = GPBObjCClass(GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0_PricingSchedule),
-        .number = GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0_TokenDirectPurchasePriceEntry_FieldNumber_VariablePrice,
-        .hasIndex = -1,
-        .offset = (uint32_t)offsetof(GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0_TokenDirectPurchasePriceEntry__storage_, variablePrice),
+        .name = "metadata",
+        .dataTypeSpecific.clazz = GPBObjCClass(ResponseMetadata),
+        .number = GetTokenPreProgrammedDistributionsResponse_GetTokenPreProgrammedDistributionsResponseV0_FieldNumber_Metadata,
+        .hasIndex = 0,
+        .offset = (uint32_t)offsetof(GetTokenPreProgrammedDistributionsResponse_GetTokenPreProgrammedDistributionsResponseV0__storage_, metadata),
         .flags = GPBFieldOptional,
         .dataType = GPBDataTypeMessage,
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0_TokenDirectPurchasePriceEntry class]
+        [GPBDescriptor allocDescriptorForClass:[GetTokenPreProgrammedDistributionsResponse_GetTokenPreProgrammedDistributionsResponseV0 class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0_TokenDirectPurchasePriceEntry__storage_)
+                                   storageSize:sizeof(GetTokenPreProgrammedDistributionsResponse_GetTokenPreProgrammedDistributionsResponseV0__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
     static const char *oneofs[] = {
-      "price",
+      "result",
     };
     [localDescriptor setupOneofs:oneofs
                            count:(uint32_t)(sizeof(oneofs) / sizeof(char*))
                    firstHasIndex:-1];
-    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0)];
+    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetTokenPreProgrammedDistributionsResponse)];
     #if defined(DEBUG) && DEBUG
       NSAssert(descriptor == nil, @"Startup recursed!");
     #endif  // DEBUG
@@ -14425,21 +16180,23 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-void GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0_TokenDirectPurchasePriceEntry_ClearPriceOneOfCase(GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0_TokenDirectPurchasePriceEntry *message) {
-  GPBDescriptor *descriptor = [GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0_TokenDirectPurchasePriceEntry descriptor];
+void GetTokenPreProgrammedDistributionsResponse_GetTokenPreProgrammedDistributionsResponseV0_ClearResultOneOfCase(GetTokenPreProgrammedDistributionsResponse_GetTokenPreProgrammedDistributionsResponseV0 *message) {
+  GPBDescriptor *descriptor = [GetTokenPreProgrammedDistributionsResponse_GetTokenPreProgrammedDistributionsResponseV0 descriptor];
   GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0];
   GPBClearOneof(message, oneof);
 }
-#pragma mark - GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0_TokenDirectPurchasePrices
+#pragma mark - GetTokenPreProgrammedDistributionsResponse_GetTokenPreProgrammedDistributionsResponseV0_TokenDistributionEntry
 
-@implementation GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0_TokenDirectPurchasePrices
+@implementation GetTokenPreProgrammedDistributionsResponse_GetTokenPreProgrammedDistributionsResponseV0_TokenDistributionEntry
 
-@dynamic tokenDirectPurchasePriceArray, tokenDirectPurchasePriceArray_Count;
+@dynamic recipientId;
+@dynamic amount;
 
-typedef struct GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0_TokenDirectPurchasePrices__storage_ {
+typedef struct GetTokenPreProgrammedDistributionsResponse_GetTokenPreProgrammedDistributionsResponseV0_TokenDistributionEntry__storage_ {
   uint32_t _has_storage_[1];
-  NSMutableArray *tokenDirectPurchasePriceArray;
-} GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0_TokenDirectPurchasePrices__storage_;
+  NSData *recipientId;
+  uint64_t amount;
+} GetTokenPreProgrammedDistributionsResponse_GetTokenPreProgrammedDistributionsResponseV0_TokenDistributionEntry__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -14448,24 +16205,33 @@ + (GPBDescriptor *)descriptor {
   if (!descriptor) {
     static GPBMessageFieldDescription fields[] = {
       {
-        .name = "tokenDirectPurchasePriceArray",
-        .dataTypeSpecific.clazz = GPBObjCClass(GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0_TokenDirectPurchasePriceEntry),
-        .number = GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0_TokenDirectPurchasePrices_FieldNumber_TokenDirectPurchasePriceArray,
-        .hasIndex = GPBNoHasBit,
-        .offset = (uint32_t)offsetof(GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0_TokenDirectPurchasePrices__storage_, tokenDirectPurchasePriceArray),
-        .flags = GPBFieldRepeated,
-        .dataType = GPBDataTypeMessage,
+        .name = "recipientId",
+        .dataTypeSpecific.clazz = Nil,
+        .number = GetTokenPreProgrammedDistributionsResponse_GetTokenPreProgrammedDistributionsResponseV0_TokenDistributionEntry_FieldNumber_RecipientId,
+        .hasIndex = 0,
+        .offset = (uint32_t)offsetof(GetTokenPreProgrammedDistributionsResponse_GetTokenPreProgrammedDistributionsResponseV0_TokenDistributionEntry__storage_, recipientId),
+        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
+        .dataType = GPBDataTypeBytes,
+      },
+      {
+        .name = "amount",
+        .dataTypeSpecific.clazz = Nil,
+        .number = GetTokenPreProgrammedDistributionsResponse_GetTokenPreProgrammedDistributionsResponseV0_TokenDistributionEntry_FieldNumber_Amount,
+        .hasIndex = 1,
+        .offset = (uint32_t)offsetof(GetTokenPreProgrammedDistributionsResponse_GetTokenPreProgrammedDistributionsResponseV0_TokenDistributionEntry__storage_, amount),
+        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
+        .dataType = GPBDataTypeUInt64,
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0_TokenDirectPurchasePrices class]
+        [GPBDescriptor allocDescriptorForClass:[GetTokenPreProgrammedDistributionsResponse_GetTokenPreProgrammedDistributionsResponseV0_TokenDistributionEntry class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0_TokenDirectPurchasePrices__storage_)
+                                   storageSize:sizeof(GetTokenPreProgrammedDistributionsResponse_GetTokenPreProgrammedDistributionsResponseV0_TokenDistributionEntry__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
-    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetTokenDirectPurchasePricesResponse_GetTokenDirectPurchasePricesResponseV0)];
+    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetTokenPreProgrammedDistributionsResponse_GetTokenPreProgrammedDistributionsResponseV0)];
     #if defined(DEBUG) && DEBUG
       NSAssert(descriptor == nil, @"Startup recursed!");
     #endif  // DEBUG
@@ -14476,17 +16242,18 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-#pragma mark - GetTokenDirectPurchasePricesRequest
+#pragma mark - GetTokenPreProgrammedDistributionsResponse_GetTokenPreProgrammedDistributionsResponseV0_TokenTimedDistributionEntry
 
-@implementation GetTokenDirectPurchasePricesRequest
+@implementation GetTokenPreProgrammedDistributionsResponse_GetTokenPreProgrammedDistributionsResponseV0_TokenTimedDistributionEntry
 
-@dynamic versionOneOfCase;
-@dynamic v0;
+@dynamic timestamp;
+@dynamic distributionsArray, distributionsArray_Count;
 
-typedef struct GetTokenDirectPurchasePricesRequest__storage_ {
-  uint32_t _has_storage_[2];
-  GetTokenDirectPurchasePricesRequest_GetTokenDirectPurchasePricesRequestV0 *v0;
-} GetTokenDirectPurchasePricesRequest__storage_;
+typedef struct GetTokenPreProgrammedDistributionsResponse_GetTokenPreProgrammedDistributionsResponseV0_TokenTimedDistributionEntry__storage_ {
+  uint32_t _has_storage_[1];
+  NSMutableArray *distributionsArray;
+  uint64_t timestamp;
+} GetTokenPreProgrammedDistributionsResponse_GetTokenPreProgrammedDistributionsResponseV0_TokenTimedDistributionEntry__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -14495,29 +16262,33 @@ + (GPBDescriptor *)descriptor {
   if (!descriptor) {
     static GPBMessageFieldDescription fields[] = {
       {
-        .name = "v0",
-        .dataTypeSpecific.clazz = GPBObjCClass(GetTokenDirectPurchasePricesRequest_GetTokenDirectPurchasePricesRequestV0),
-        .number = GetTokenDirectPurchasePricesRequest_FieldNumber_V0,
-        .hasIndex = -1,
-        .offset = (uint32_t)offsetof(GetTokenDirectPurchasePricesRequest__storage_, v0),
-        .flags = GPBFieldOptional,
+        .name = "timestamp",
+        .dataTypeSpecific.clazz = Nil,
+        .number = GetTokenPreProgrammedDistributionsResponse_GetTokenPreProgrammedDistributionsResponseV0_TokenTimedDistributionEntry_FieldNumber_Timestamp,
+        .hasIndex = 0,
+        .offset = (uint32_t)offsetof(GetTokenPreProgrammedDistributionsResponse_GetTokenPreProgrammedDistributionsResponseV0_TokenTimedDistributionEntry__storage_, timestamp),
+        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
+        .dataType = GPBDataTypeUInt64,
+      },
+      {
+        .name = "distributionsArray",
+        .dataTypeSpecific.clazz = GPBObjCClass(GetTokenPreProgrammedDistributionsResponse_GetTokenPreProgrammedDistributionsResponseV0_TokenDistributionEntry),
+        .number = GetTokenPreProgrammedDistributionsResponse_GetTokenPreProgrammedDistributionsResponseV0_TokenTimedDistributionEntry_FieldNumber_DistributionsArray,
+        .hasIndex = GPBNoHasBit,
+        .offset = (uint32_t)offsetof(GetTokenPreProgrammedDistributionsResponse_GetTokenPreProgrammedDistributionsResponseV0_TokenTimedDistributionEntry__storage_, distributionsArray),
+        .flags = GPBFieldRepeated,
         .dataType = GPBDataTypeMessage,
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetTokenDirectPurchasePricesRequest class]
+        [GPBDescriptor allocDescriptorForClass:[GetTokenPreProgrammedDistributionsResponse_GetTokenPreProgrammedDistributionsResponseV0_TokenTimedDistributionEntry class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetTokenDirectPurchasePricesRequest__storage_)
+                                   storageSize:sizeof(GetTokenPreProgrammedDistributionsResponse_GetTokenPreProgrammedDistributionsResponseV0_TokenTimedDistributionEntry__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
-    static const char *oneofs[] = {
-      "version",
-    };
-    [localDescriptor setupOneofs:oneofs
-                           count:(uint32_t)(sizeof(oneofs) / sizeof(char*))
-                   firstHasIndex:-1];
+    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetTokenPreProgrammedDistributionsResponse_GetTokenPreProgrammedDistributionsResponseV0)];
     #if defined(DEBUG) && DEBUG
       NSAssert(descriptor == nil, @"Startup recursed!");
     #endif  // DEBUG
@@ -14528,22 +16299,16 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-void GetTokenDirectPurchasePricesRequest_ClearVersionOneOfCase(GetTokenDirectPurchasePricesRequest *message) {
-  GPBDescriptor *descriptor = [GetTokenDirectPurchasePricesRequest descriptor];
-  GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0];
-  GPBClearOneof(message, oneof);
-}
-#pragma mark - GetTokenDirectPurchasePricesRequest_GetTokenDirectPurchasePricesRequestV0
+#pragma mark - GetTokenPreProgrammedDistributionsResponse_GetTokenPreProgrammedDistributionsResponseV0_TokenDistributions
 
-@implementation GetTokenDirectPurchasePricesRequest_GetTokenDirectPurchasePricesRequestV0
+@implementation GetTokenPreProgrammedDistributionsResponse_GetTokenPreProgrammedDistributionsResponseV0_TokenDistributions
 
-@dynamic tokenIdsArray, tokenIdsArray_Count;
-@dynamic prove;
+@dynamic tokenDistributionsArray, tokenDistributionsArray_Count;
 
-typedef struct GetTokenDirectPurchasePricesRequest_GetTokenDirectPurchasePricesRequestV0__storage_ {
+typedef struct GetTokenPreProgrammedDistributionsResponse_GetTokenPreProgrammedDistributionsResponseV0_TokenDistributions__storage_ {
   uint32_t _has_storage_[1];
-  NSMutableArray *tokenIdsArray;
-} GetTokenDirectPurchasePricesRequest_GetTokenDirectPurchasePricesRequestV0__storage_;
+  NSMutableArray *tokenDistributionsArray;
+} GetTokenPreProgrammedDistributionsResponse_GetTokenPreProgrammedDistributionsResponseV0_TokenDistributions__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -14552,33 +16317,24 @@ + (GPBDescriptor *)descriptor {
   if (!descriptor) {
     static GPBMessageFieldDescription fields[] = {
       {
-        .name = "tokenIdsArray",
-        .dataTypeSpecific.clazz = Nil,
-        .number = GetTokenDirectPurchasePricesRequest_GetTokenDirectPurchasePricesRequestV0_FieldNumber_TokenIdsArray,
+        .name = "tokenDistributionsArray",
+        .dataTypeSpecific.clazz = GPBObjCClass(GetTokenPreProgrammedDistributionsResponse_GetTokenPreProgrammedDistributionsResponseV0_TokenTimedDistributionEntry),
+        .number = GetTokenPreProgrammedDistributionsResponse_GetTokenPreProgrammedDistributionsResponseV0_TokenDistributions_FieldNumber_TokenDistributionsArray,
         .hasIndex = GPBNoHasBit,
-        .offset = (uint32_t)offsetof(GetTokenDirectPurchasePricesRequest_GetTokenDirectPurchasePricesRequestV0__storage_, tokenIdsArray),
+        .offset = (uint32_t)offsetof(GetTokenPreProgrammedDistributionsResponse_GetTokenPreProgrammedDistributionsResponseV0_TokenDistributions__storage_, tokenDistributionsArray),
         .flags = GPBFieldRepeated,
-        .dataType = GPBDataTypeBytes,
-      },
-      {
-        .name = "prove",
-        .dataTypeSpecific.clazz = Nil,
-        .number = GetTokenDirectPurchasePricesRequest_GetTokenDirectPurchasePricesRequestV0_FieldNumber_Prove,
-        .hasIndex = 0,
-        .offset = 1,  // Stored in _has_storage_ to save space.
-        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
-        .dataType = GPBDataTypeBool,
+        .dataType = GPBDataTypeMessage,
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetTokenDirectPurchasePricesRequest_GetTokenDirectPurchasePricesRequestV0 class]
+        [GPBDescriptor allocDescriptorForClass:[GetTokenPreProgrammedDistributionsResponse_GetTokenPreProgrammedDistributionsResponseV0_TokenDistributions class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetTokenDirectPurchasePricesRequest_GetTokenDirectPurchasePricesRequestV0__storage_)
+                                   storageSize:sizeof(GetTokenPreProgrammedDistributionsResponse_GetTokenPreProgrammedDistributionsResponseV0_TokenDistributions__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
-    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetTokenDirectPurchasePricesRequest)];
+    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetTokenPreProgrammedDistributionsResponse_GetTokenPreProgrammedDistributionsResponseV0)];
     #if defined(DEBUG) && DEBUG
       NSAssert(descriptor == nil, @"Startup recursed!");
     #endif  // DEBUG
@@ -14589,17 +16345,17 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-#pragma mark - GetTokenPreProgrammedDistributionsRequest
+#pragma mark - GetTokenPerpetualDistributionLastClaimRequest
 
-@implementation GetTokenPreProgrammedDistributionsRequest
+@implementation GetTokenPerpetualDistributionLastClaimRequest
 
 @dynamic versionOneOfCase;
 @dynamic v0;
 
-typedef struct GetTokenPreProgrammedDistributionsRequest__storage_ {
+typedef struct GetTokenPerpetualDistributionLastClaimRequest__storage_ {
   uint32_t _has_storage_[2];
-  GetTokenPreProgrammedDistributionsRequest_GetTokenPreProgrammedDistributionsRequestV0 *v0;
-} GetTokenPreProgrammedDistributionsRequest__storage_;
+  GetTokenPerpetualDistributionLastClaimRequest_GetTokenPerpetualDistributionLastClaimRequestV0 *v0;
+} GetTokenPerpetualDistributionLastClaimRequest__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -14609,21 +16365,21 @@ + (GPBDescriptor *)descriptor {
     static GPBMessageFieldDescription fields[] = {
       {
         .name = "v0",
-        .dataTypeSpecific.clazz = GPBObjCClass(GetTokenPreProgrammedDistributionsRequest_GetTokenPreProgrammedDistributionsRequestV0),
-        .number = GetTokenPreProgrammedDistributionsRequest_FieldNumber_V0,
+        .dataTypeSpecific.clazz = GPBObjCClass(GetTokenPerpetualDistributionLastClaimRequest_GetTokenPerpetualDistributionLastClaimRequestV0),
+        .number = GetTokenPerpetualDistributionLastClaimRequest_FieldNumber_V0,
         .hasIndex = -1,
-        .offset = (uint32_t)offsetof(GetTokenPreProgrammedDistributionsRequest__storage_, v0),
+        .offset = (uint32_t)offsetof(GetTokenPerpetualDistributionLastClaimRequest__storage_, v0),
         .flags = GPBFieldOptional,
         .dataType = GPBDataTypeMessage,
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetTokenPreProgrammedDistributionsRequest class]
+        [GPBDescriptor allocDescriptorForClass:[GetTokenPerpetualDistributionLastClaimRequest class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetTokenPreProgrammedDistributionsRequest__storage_)
+                                   storageSize:sizeof(GetTokenPerpetualDistributionLastClaimRequest__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
     static const char *oneofs[] = {
       "version",
@@ -14641,26 +16397,23 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-void GetTokenPreProgrammedDistributionsRequest_ClearVersionOneOfCase(GetTokenPreProgrammedDistributionsRequest *message) {
-  GPBDescriptor *descriptor = [GetTokenPreProgrammedDistributionsRequest descriptor];
+void GetTokenPerpetualDistributionLastClaimRequest_ClearVersionOneOfCase(GetTokenPerpetualDistributionLastClaimRequest *message) {
+  GPBDescriptor *descriptor = [GetTokenPerpetualDistributionLastClaimRequest descriptor];
   GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0];
   GPBClearOneof(message, oneof);
 }
-#pragma mark - GetTokenPreProgrammedDistributionsRequest_GetTokenPreProgrammedDistributionsRequestV0
+#pragma mark - GetTokenPerpetualDistributionLastClaimRequest_ContractTokenInfo
 
-@implementation GetTokenPreProgrammedDistributionsRequest_GetTokenPreProgrammedDistributionsRequestV0
+@implementation GetTokenPerpetualDistributionLastClaimRequest_ContractTokenInfo
 
-@dynamic tokenId;
-@dynamic hasStartAtInfo, startAtInfo;
-@dynamic hasLimit, limit;
-@dynamic prove;
+@dynamic contractId;
+@dynamic tokenContractPosition;
 
-typedef struct GetTokenPreProgrammedDistributionsRequest_GetTokenPreProgrammedDistributionsRequestV0__storage_ {
+typedef struct GetTokenPerpetualDistributionLastClaimRequest_ContractTokenInfo__storage_ {
   uint32_t _has_storage_[1];
-  uint32_t limit;
-  NSData *tokenId;
-  GetTokenPreProgrammedDistributionsRequest_GetTokenPreProgrammedDistributionsRequestV0_StartAtInfo *startAtInfo;
-} GetTokenPreProgrammedDistributionsRequest_GetTokenPreProgrammedDistributionsRequestV0__storage_;
+  uint32_t tokenContractPosition;
+  NSData *contractId;
+} GetTokenPerpetualDistributionLastClaimRequest_ContractTokenInfo__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -14669,51 +16422,33 @@ + (GPBDescriptor *)descriptor {
   if (!descriptor) {
     static GPBMessageFieldDescription fields[] = {
       {
-        .name = "tokenId",
+        .name = "contractId",
         .dataTypeSpecific.clazz = Nil,
-        .number = GetTokenPreProgrammedDistributionsRequest_GetTokenPreProgrammedDistributionsRequestV0_FieldNumber_TokenId,
+        .number = GetTokenPerpetualDistributionLastClaimRequest_ContractTokenInfo_FieldNumber_ContractId,
         .hasIndex = 0,
-        .offset = (uint32_t)offsetof(GetTokenPreProgrammedDistributionsRequest_GetTokenPreProgrammedDistributionsRequestV0__storage_, tokenId),
+        .offset = (uint32_t)offsetof(GetTokenPerpetualDistributionLastClaimRequest_ContractTokenInfo__storage_, contractId),
         .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
         .dataType = GPBDataTypeBytes,
       },
       {
-        .name = "startAtInfo",
-        .dataTypeSpecific.clazz = GPBObjCClass(GetTokenPreProgrammedDistributionsRequest_GetTokenPreProgrammedDistributionsRequestV0_StartAtInfo),
-        .number = GetTokenPreProgrammedDistributionsRequest_GetTokenPreProgrammedDistributionsRequestV0_FieldNumber_StartAtInfo,
-        .hasIndex = 1,
-        .offset = (uint32_t)offsetof(GetTokenPreProgrammedDistributionsRequest_GetTokenPreProgrammedDistributionsRequestV0__storage_, startAtInfo),
-        .flags = GPBFieldOptional,
-        .dataType = GPBDataTypeMessage,
-      },
-      {
-        .name = "limit",
-        .dataTypeSpecific.clazz = Nil,
-        .number = GetTokenPreProgrammedDistributionsRequest_GetTokenPreProgrammedDistributionsRequestV0_FieldNumber_Limit,
-        .hasIndex = 2,
-        .offset = (uint32_t)offsetof(GetTokenPreProgrammedDistributionsRequest_GetTokenPreProgrammedDistributionsRequestV0__storage_, limit),
-        .flags = GPBFieldOptional,
-        .dataType = GPBDataTypeUInt32,
-      },
-      {
-        .name = "prove",
+        .name = "tokenContractPosition",
         .dataTypeSpecific.clazz = Nil,
-        .number = GetTokenPreProgrammedDistributionsRequest_GetTokenPreProgrammedDistributionsRequestV0_FieldNumber_Prove,
-        .hasIndex = 3,
-        .offset = 4,  // Stored in _has_storage_ to save space.
+        .number = GetTokenPerpetualDistributionLastClaimRequest_ContractTokenInfo_FieldNumber_TokenContractPosition,
+        .hasIndex = 1,
+        .offset = (uint32_t)offsetof(GetTokenPerpetualDistributionLastClaimRequest_ContractTokenInfo__storage_, tokenContractPosition),
         .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
-        .dataType = GPBDataTypeBool,
+        .dataType = GPBDataTypeUInt32,
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetTokenPreProgrammedDistributionsRequest_GetTokenPreProgrammedDistributionsRequestV0 class]
+        [GPBDescriptor allocDescriptorForClass:[GetTokenPerpetualDistributionLastClaimRequest_ContractTokenInfo class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetTokenPreProgrammedDistributionsRequest_GetTokenPreProgrammedDistributionsRequestV0__storage_)
+                                   storageSize:sizeof(GetTokenPerpetualDistributionLastClaimRequest_ContractTokenInfo__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
-    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetTokenPreProgrammedDistributionsRequest)];
+    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetTokenPerpetualDistributionLastClaimRequest)];
     #if defined(DEBUG) && DEBUG
       NSAssert(descriptor == nil, @"Startup recursed!");
     #endif  // DEBUG
@@ -14724,19 +16459,21 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-#pragma mark - GetTokenPreProgrammedDistributionsRequest_GetTokenPreProgrammedDistributionsRequestV0_StartAtInfo
+#pragma mark - GetTokenPerpetualDistributionLastClaimRequest_GetTokenPerpetualDistributionLastClaimRequestV0
 
-@implementation GetTokenPreProgrammedDistributionsRequest_GetTokenPreProgrammedDistributionsRequestV0_StartAtInfo
+@implementation GetTokenPerpetualDistributionLastClaimRequest_GetTokenPerpetualDistributionLastClaimRequestV0
 
-@dynamic startTimeMs;
-@dynamic hasStartRecipient, startRecipient;
-@dynamic hasStartRecipientIncluded, startRecipientIncluded;
+@dynamic tokenId;
+@dynamic hasContractInfo, contractInfo;
+@dynamic identityId;
+@dynamic prove;
 
-typedef struct GetTokenPreProgrammedDistributionsRequest_GetTokenPreProgrammedDistributionsRequestV0_StartAtInfo__storage_ {
+typedef struct GetTokenPerpetualDistributionLastClaimRequest_GetTokenPerpetualDistributionLastClaimRequestV0__storage_ {
   uint32_t _has_storage_[1];
-  NSData *startRecipient;
-  uint64_t startTimeMs;
-} GetTokenPreProgrammedDistributionsRequest_GetTokenPreProgrammedDistributionsRequestV0_StartAtInfo__storage_;
+  NSData *tokenId;
+  GetTokenPerpetualDistributionLastClaimRequest_ContractTokenInfo *contractInfo;
+  NSData *identityId;
+} GetTokenPerpetualDistributionLastClaimRequest_GetTokenPerpetualDistributionLastClaimRequestV0__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -14745,42 +16482,51 @@ + (GPBDescriptor *)descriptor {
   if (!descriptor) {
     static GPBMessageFieldDescription fields[] = {
       {
-        .name = "startTimeMs",
+        .name = "tokenId",
         .dataTypeSpecific.clazz = Nil,
-        .number = GetTokenPreProgrammedDistributionsRequest_GetTokenPreProgrammedDistributionsRequestV0_StartAtInfo_FieldNumber_StartTimeMs,
+        .number = GetTokenPerpetualDistributionLastClaimRequest_GetTokenPerpetualDistributionLastClaimRequestV0_FieldNumber_TokenId,
         .hasIndex = 0,
-        .offset = (uint32_t)offsetof(GetTokenPreProgrammedDistributionsRequest_GetTokenPreProgrammedDistributionsRequestV0_StartAtInfo__storage_, startTimeMs),
+        .offset = (uint32_t)offsetof(GetTokenPerpetualDistributionLastClaimRequest_GetTokenPerpetualDistributionLastClaimRequestV0__storage_, tokenId),
         .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
-        .dataType = GPBDataTypeUInt64,
+        .dataType = GPBDataTypeBytes,
       },
       {
-        .name = "startRecipient",
-        .dataTypeSpecific.clazz = Nil,
-        .number = GetTokenPreProgrammedDistributionsRequest_GetTokenPreProgrammedDistributionsRequestV0_StartAtInfo_FieldNumber_StartRecipient,
+        .name = "contractInfo",
+        .dataTypeSpecific.clazz = GPBObjCClass(GetTokenPerpetualDistributionLastClaimRequest_ContractTokenInfo),
+        .number = GetTokenPerpetualDistributionLastClaimRequest_GetTokenPerpetualDistributionLastClaimRequestV0_FieldNumber_ContractInfo,
         .hasIndex = 1,
-        .offset = (uint32_t)offsetof(GetTokenPreProgrammedDistributionsRequest_GetTokenPreProgrammedDistributionsRequestV0_StartAtInfo__storage_, startRecipient),
+        .offset = (uint32_t)offsetof(GetTokenPerpetualDistributionLastClaimRequest_GetTokenPerpetualDistributionLastClaimRequestV0__storage_, contractInfo),
         .flags = GPBFieldOptional,
-        .dataType = GPBDataTypeBytes,
+        .dataType = GPBDataTypeMessage,
       },
       {
-        .name = "startRecipientIncluded",
+        .name = "identityId",
         .dataTypeSpecific.clazz = Nil,
-        .number = GetTokenPreProgrammedDistributionsRequest_GetTokenPreProgrammedDistributionsRequestV0_StartAtInfo_FieldNumber_StartRecipientIncluded,
+        .number = GetTokenPerpetualDistributionLastClaimRequest_GetTokenPerpetualDistributionLastClaimRequestV0_FieldNumber_IdentityId,
         .hasIndex = 2,
-        .offset = 3,  // Stored in _has_storage_ to save space.
-        .flags = GPBFieldOptional,
+        .offset = (uint32_t)offsetof(GetTokenPerpetualDistributionLastClaimRequest_GetTokenPerpetualDistributionLastClaimRequestV0__storage_, identityId),
+        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
+        .dataType = GPBDataTypeBytes,
+      },
+      {
+        .name = "prove",
+        .dataTypeSpecific.clazz = Nil,
+        .number = GetTokenPerpetualDistributionLastClaimRequest_GetTokenPerpetualDistributionLastClaimRequestV0_FieldNumber_Prove,
+        .hasIndex = 3,
+        .offset = 4,  // Stored in _has_storage_ to save space.
+        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
         .dataType = GPBDataTypeBool,
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetTokenPreProgrammedDistributionsRequest_GetTokenPreProgrammedDistributionsRequestV0_StartAtInfo class]
+        [GPBDescriptor allocDescriptorForClass:[GetTokenPerpetualDistributionLastClaimRequest_GetTokenPerpetualDistributionLastClaimRequestV0 class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetTokenPreProgrammedDistributionsRequest_GetTokenPreProgrammedDistributionsRequestV0_StartAtInfo__storage_)
+                                   storageSize:sizeof(GetTokenPerpetualDistributionLastClaimRequest_GetTokenPerpetualDistributionLastClaimRequestV0__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
-    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetTokenPreProgrammedDistributionsRequest_GetTokenPreProgrammedDistributionsRequestV0)];
+    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetTokenPerpetualDistributionLastClaimRequest)];
     #if defined(DEBUG) && DEBUG
       NSAssert(descriptor == nil, @"Startup recursed!");
     #endif  // DEBUG
@@ -14791,17 +16537,17 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-#pragma mark - GetTokenPreProgrammedDistributionsResponse
+#pragma mark - GetTokenPerpetualDistributionLastClaimResponse
 
-@implementation GetTokenPreProgrammedDistributionsResponse
+@implementation GetTokenPerpetualDistributionLastClaimResponse
 
 @dynamic versionOneOfCase;
 @dynamic v0;
 
-typedef struct GetTokenPreProgrammedDistributionsResponse__storage_ {
+typedef struct GetTokenPerpetualDistributionLastClaimResponse__storage_ {
   uint32_t _has_storage_[2];
-  GetTokenPreProgrammedDistributionsResponse_GetTokenPreProgrammedDistributionsResponseV0 *v0;
-} GetTokenPreProgrammedDistributionsResponse__storage_;
+  GetTokenPerpetualDistributionLastClaimResponse_GetTokenPerpetualDistributionLastClaimResponseV0 *v0;
+} GetTokenPerpetualDistributionLastClaimResponse__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -14811,21 +16557,21 @@ + (GPBDescriptor *)descriptor {
     static GPBMessageFieldDescription fields[] = {
       {
         .name = "v0",
-        .dataTypeSpecific.clazz = GPBObjCClass(GetTokenPreProgrammedDistributionsResponse_GetTokenPreProgrammedDistributionsResponseV0),
-        .number = GetTokenPreProgrammedDistributionsResponse_FieldNumber_V0,
+        .dataTypeSpecific.clazz = GPBObjCClass(GetTokenPerpetualDistributionLastClaimResponse_GetTokenPerpetualDistributionLastClaimResponseV0),
+        .number = GetTokenPerpetualDistributionLastClaimResponse_FieldNumber_V0,
         .hasIndex = -1,
-        .offset = (uint32_t)offsetof(GetTokenPreProgrammedDistributionsResponse__storage_, v0),
+        .offset = (uint32_t)offsetof(GetTokenPerpetualDistributionLastClaimResponse__storage_, v0),
         .flags = GPBFieldOptional,
         .dataType = GPBDataTypeMessage,
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetTokenPreProgrammedDistributionsResponse class]
+        [GPBDescriptor allocDescriptorForClass:[GetTokenPerpetualDistributionLastClaimResponse class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetTokenPreProgrammedDistributionsResponse__storage_)
+                                   storageSize:sizeof(GetTokenPerpetualDistributionLastClaimResponse__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
     static const char *oneofs[] = {
       "version",
@@ -14843,26 +16589,26 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-void GetTokenPreProgrammedDistributionsResponse_ClearVersionOneOfCase(GetTokenPreProgrammedDistributionsResponse *message) {
-  GPBDescriptor *descriptor = [GetTokenPreProgrammedDistributionsResponse descriptor];
+void GetTokenPerpetualDistributionLastClaimResponse_ClearVersionOneOfCase(GetTokenPerpetualDistributionLastClaimResponse *message) {
+  GPBDescriptor *descriptor = [GetTokenPerpetualDistributionLastClaimResponse descriptor];
   GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0];
   GPBClearOneof(message, oneof);
 }
-#pragma mark - GetTokenPreProgrammedDistributionsResponse_GetTokenPreProgrammedDistributionsResponseV0
+#pragma mark - GetTokenPerpetualDistributionLastClaimResponse_GetTokenPerpetualDistributionLastClaimResponseV0
 
-@implementation GetTokenPreProgrammedDistributionsResponse_GetTokenPreProgrammedDistributionsResponseV0
+@implementation GetTokenPerpetualDistributionLastClaimResponse_GetTokenPerpetualDistributionLastClaimResponseV0
 
 @dynamic resultOneOfCase;
-@dynamic tokenDistributions;
+@dynamic lastClaim;
 @dynamic proof;
 @dynamic hasMetadata, metadata;
 
-typedef struct GetTokenPreProgrammedDistributionsResponse_GetTokenPreProgrammedDistributionsResponseV0__storage_ {
+typedef struct GetTokenPerpetualDistributionLastClaimResponse_GetTokenPerpetualDistributionLastClaimResponseV0__storage_ {
   uint32_t _has_storage_[2];
-  GetTokenPreProgrammedDistributionsResponse_GetTokenPreProgrammedDistributionsResponseV0_TokenDistributions *tokenDistributions;
+  GetTokenPerpetualDistributionLastClaimResponse_GetTokenPerpetualDistributionLastClaimResponseV0_LastClaimInfo *lastClaim;
   Proof *proof;
   ResponseMetadata *metadata;
-} GetTokenPreProgrammedDistributionsResponse_GetTokenPreProgrammedDistributionsResponseV0__storage_;
+} GetTokenPerpetualDistributionLastClaimResponse_GetTokenPerpetualDistributionLastClaimResponseV0__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -14871,40 +16617,40 @@ + (GPBDescriptor *)descriptor {
   if (!descriptor) {
     static GPBMessageFieldDescription fields[] = {
       {
-        .name = "tokenDistributions",
-        .dataTypeSpecific.clazz = GPBObjCClass(GetTokenPreProgrammedDistributionsResponse_GetTokenPreProgrammedDistributionsResponseV0_TokenDistributions),
-        .number = GetTokenPreProgrammedDistributionsResponse_GetTokenPreProgrammedDistributionsResponseV0_FieldNumber_TokenDistributions,
+        .name = "lastClaim",
+        .dataTypeSpecific.clazz = GPBObjCClass(GetTokenPerpetualDistributionLastClaimResponse_GetTokenPerpetualDistributionLastClaimResponseV0_LastClaimInfo),
+        .number = GetTokenPerpetualDistributionLastClaimResponse_GetTokenPerpetualDistributionLastClaimResponseV0_FieldNumber_LastClaim,
         .hasIndex = -1,
-        .offset = (uint32_t)offsetof(GetTokenPreProgrammedDistributionsResponse_GetTokenPreProgrammedDistributionsResponseV0__storage_, tokenDistributions),
+        .offset = (uint32_t)offsetof(GetTokenPerpetualDistributionLastClaimResponse_GetTokenPerpetualDistributionLastClaimResponseV0__storage_, lastClaim),
         .flags = GPBFieldOptional,
         .dataType = GPBDataTypeMessage,
       },
       {
         .name = "proof",
         .dataTypeSpecific.clazz = GPBObjCClass(Proof),
-        .number = GetTokenPreProgrammedDistributionsResponse_GetTokenPreProgrammedDistributionsResponseV0_FieldNumber_Proof,
+        .number = GetTokenPerpetualDistributionLastClaimResponse_GetTokenPerpetualDistributionLastClaimResponseV0_FieldNumber_Proof,
         .hasIndex = -1,
-        .offset = (uint32_t)offsetof(GetTokenPreProgrammedDistributionsResponse_GetTokenPreProgrammedDistributionsResponseV0__storage_, proof),
+        .offset = (uint32_t)offsetof(GetTokenPerpetualDistributionLastClaimResponse_GetTokenPerpetualDistributionLastClaimResponseV0__storage_, proof),
         .flags = GPBFieldOptional,
         .dataType = GPBDataTypeMessage,
       },
       {
         .name = "metadata",
         .dataTypeSpecific.clazz = GPBObjCClass(ResponseMetadata),
-        .number = GetTokenPreProgrammedDistributionsResponse_GetTokenPreProgrammedDistributionsResponseV0_FieldNumber_Metadata,
+        .number = GetTokenPerpetualDistributionLastClaimResponse_GetTokenPerpetualDistributionLastClaimResponseV0_FieldNumber_Metadata,
         .hasIndex = 0,
-        .offset = (uint32_t)offsetof(GetTokenPreProgrammedDistributionsResponse_GetTokenPreProgrammedDistributionsResponseV0__storage_, metadata),
+        .offset = (uint32_t)offsetof(GetTokenPerpetualDistributionLastClaimResponse_GetTokenPerpetualDistributionLastClaimResponseV0__storage_, metadata),
         .flags = GPBFieldOptional,
         .dataType = GPBDataTypeMessage,
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetTokenPreProgrammedDistributionsResponse_GetTokenPreProgrammedDistributionsResponseV0 class]
+        [GPBDescriptor allocDescriptorForClass:[GetTokenPerpetualDistributionLastClaimResponse_GetTokenPerpetualDistributionLastClaimResponseV0 class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetTokenPreProgrammedDistributionsResponse_GetTokenPreProgrammedDistributionsResponseV0__storage_)
+                                   storageSize:sizeof(GetTokenPerpetualDistributionLastClaimResponse_GetTokenPerpetualDistributionLastClaimResponseV0__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
     static const char *oneofs[] = {
       "result",
@@ -14912,7 +16658,7 @@ + (GPBDescriptor *)descriptor {
     [localDescriptor setupOneofs:oneofs
                            count:(uint32_t)(sizeof(oneofs) / sizeof(char*))
                    firstHasIndex:-1];
-    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetTokenPreProgrammedDistributionsResponse)];
+    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetTokenPerpetualDistributionLastClaimResponse)];
     #if defined(DEBUG) && DEBUG
       NSAssert(descriptor == nil, @"Startup recursed!");
     #endif  // DEBUG
@@ -14923,23 +16669,28 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
-void GetTokenPreProgrammedDistributionsResponse_GetTokenPreProgrammedDistributionsResponseV0_ClearResultOneOfCase(GetTokenPreProgrammedDistributionsResponse_GetTokenPreProgrammedDistributionsResponseV0 *message) {
-  GPBDescriptor *descriptor = [GetTokenPreProgrammedDistributionsResponse_GetTokenPreProgrammedDistributionsResponseV0 descriptor];
+void GetTokenPerpetualDistributionLastClaimResponse_GetTokenPerpetualDistributionLastClaimResponseV0_ClearResultOneOfCase(GetTokenPerpetualDistributionLastClaimResponse_GetTokenPerpetualDistributionLastClaimResponseV0 *message) {
+  GPBDescriptor *descriptor = [GetTokenPerpetualDistributionLastClaimResponse_GetTokenPerpetualDistributionLastClaimResponseV0 descriptor];
   GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0];
   GPBClearOneof(message, oneof);
 }
-#pragma mark - GetTokenPreProgrammedDistributionsResponse_GetTokenPreProgrammedDistributionsResponseV0_TokenDistributionEntry
+#pragma mark - GetTokenPerpetualDistributionLastClaimResponse_GetTokenPerpetualDistributionLastClaimResponseV0_LastClaimInfo
 
-@implementation GetTokenPreProgrammedDistributionsResponse_GetTokenPreProgrammedDistributionsResponseV0_TokenDistributionEntry
+@implementation GetTokenPerpetualDistributionLastClaimResponse_GetTokenPerpetualDistributionLastClaimResponseV0_LastClaimInfo
 
-@dynamic recipientId;
-@dynamic amount;
+@dynamic paidAtOneOfCase;
+@dynamic timestampMs;
+@dynamic blockHeight;
+@dynamic epoch;
+@dynamic rawBytes;
 
-typedef struct GetTokenPreProgrammedDistributionsResponse_GetTokenPreProgrammedDistributionsResponseV0_TokenDistributionEntry__storage_ {
-  uint32_t _has_storage_[1];
-  NSData *recipientId;
-  uint64_t amount;
-} GetTokenPreProgrammedDistributionsResponse_GetTokenPreProgrammedDistributionsResponseV0_TokenDistributionEntry__storage_;
+typedef struct GetTokenPerpetualDistributionLastClaimResponse_GetTokenPerpetualDistributionLastClaimResponseV0_LastClaimInfo__storage_ {
+  uint32_t _has_storage_[2];
+  uint32_t epoch;
+  NSData *rawBytes;
+  uint64_t timestampMs;
+  uint64_t blockHeight;
+} GetTokenPerpetualDistributionLastClaimResponse_GetTokenPerpetualDistributionLastClaimResponseV0_LastClaimInfo__storage_;
 
 // This method is threadsafe because it is initially called
 // in +initialize for each subclass.
@@ -14948,136 +16699,57 @@ + (GPBDescriptor *)descriptor {
   if (!descriptor) {
     static GPBMessageFieldDescription fields[] = {
       {
-        .name = "recipientId",
+        .name = "timestampMs",
         .dataTypeSpecific.clazz = Nil,
-        .number = GetTokenPreProgrammedDistributionsResponse_GetTokenPreProgrammedDistributionsResponseV0_TokenDistributionEntry_FieldNumber_RecipientId,
-        .hasIndex = 0,
-        .offset = (uint32_t)offsetof(GetTokenPreProgrammedDistributionsResponse_GetTokenPreProgrammedDistributionsResponseV0_TokenDistributionEntry__storage_, recipientId),
-        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
-        .dataType = GPBDataTypeBytes,
+        .number = GetTokenPerpetualDistributionLastClaimResponse_GetTokenPerpetualDistributionLastClaimResponseV0_LastClaimInfo_FieldNumber_TimestampMs,
+        .hasIndex = -1,
+        .offset = (uint32_t)offsetof(GetTokenPerpetualDistributionLastClaimResponse_GetTokenPerpetualDistributionLastClaimResponseV0_LastClaimInfo__storage_, timestampMs),
+        .flags = GPBFieldOptional,
+        .dataType = GPBDataTypeUInt64,
       },
       {
-        .name = "amount",
+        .name = "blockHeight",
         .dataTypeSpecific.clazz = Nil,
-        .number = GetTokenPreProgrammedDistributionsResponse_GetTokenPreProgrammedDistributionsResponseV0_TokenDistributionEntry_FieldNumber_Amount,
-        .hasIndex = 1,
-        .offset = (uint32_t)offsetof(GetTokenPreProgrammedDistributionsResponse_GetTokenPreProgrammedDistributionsResponseV0_TokenDistributionEntry__storage_, amount),
-        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
+        .number = GetTokenPerpetualDistributionLastClaimResponse_GetTokenPerpetualDistributionLastClaimResponseV0_LastClaimInfo_FieldNumber_BlockHeight,
+        .hasIndex = -1,
+        .offset = (uint32_t)offsetof(GetTokenPerpetualDistributionLastClaimResponse_GetTokenPerpetualDistributionLastClaimResponseV0_LastClaimInfo__storage_, blockHeight),
+        .flags = GPBFieldOptional,
         .dataType = GPBDataTypeUInt64,
       },
-    };
-    GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetTokenPreProgrammedDistributionsResponse_GetTokenPreProgrammedDistributionsResponseV0_TokenDistributionEntry class]
-                                     rootClass:[PlatformRoot class]
-                                          file:PlatformRoot_FileDescriptor()
-                                        fields:fields
-                                    fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetTokenPreProgrammedDistributionsResponse_GetTokenPreProgrammedDistributionsResponseV0_TokenDistributionEntry__storage_)
-                                         flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
-    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetTokenPreProgrammedDistributionsResponse_GetTokenPreProgrammedDistributionsResponseV0)];
-    #if defined(DEBUG) && DEBUG
-      NSAssert(descriptor == nil, @"Startup recursed!");
-    #endif  // DEBUG
-    descriptor = localDescriptor;
-  }
-  return descriptor;
-}
-
-@end
-
-#pragma mark - GetTokenPreProgrammedDistributionsResponse_GetTokenPreProgrammedDistributionsResponseV0_TokenTimedDistributionEntry
-
-@implementation GetTokenPreProgrammedDistributionsResponse_GetTokenPreProgrammedDistributionsResponseV0_TokenTimedDistributionEntry
-
-@dynamic timestamp;
-@dynamic distributionsArray, distributionsArray_Count;
-
-typedef struct GetTokenPreProgrammedDistributionsResponse_GetTokenPreProgrammedDistributionsResponseV0_TokenTimedDistributionEntry__storage_ {
-  uint32_t _has_storage_[1];
-  NSMutableArray *distributionsArray;
-  uint64_t timestamp;
-} GetTokenPreProgrammedDistributionsResponse_GetTokenPreProgrammedDistributionsResponseV0_TokenTimedDistributionEntry__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 = "timestamp",
+        .name = "epoch",
         .dataTypeSpecific.clazz = Nil,
-        .number = GetTokenPreProgrammedDistributionsResponse_GetTokenPreProgrammedDistributionsResponseV0_TokenTimedDistributionEntry_FieldNumber_Timestamp,
-        .hasIndex = 0,
-        .offset = (uint32_t)offsetof(GetTokenPreProgrammedDistributionsResponse_GetTokenPreProgrammedDistributionsResponseV0_TokenTimedDistributionEntry__storage_, timestamp),
-        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
-        .dataType = GPBDataTypeUInt64,
+        .number = GetTokenPerpetualDistributionLastClaimResponse_GetTokenPerpetualDistributionLastClaimResponseV0_LastClaimInfo_FieldNumber_Epoch,
+        .hasIndex = -1,
+        .offset = (uint32_t)offsetof(GetTokenPerpetualDistributionLastClaimResponse_GetTokenPerpetualDistributionLastClaimResponseV0_LastClaimInfo__storage_, epoch),
+        .flags = GPBFieldOptional,
+        .dataType = GPBDataTypeUInt32,
       },
       {
-        .name = "distributionsArray",
-        .dataTypeSpecific.clazz = GPBObjCClass(GetTokenPreProgrammedDistributionsResponse_GetTokenPreProgrammedDistributionsResponseV0_TokenDistributionEntry),
-        .number = GetTokenPreProgrammedDistributionsResponse_GetTokenPreProgrammedDistributionsResponseV0_TokenTimedDistributionEntry_FieldNumber_DistributionsArray,
-        .hasIndex = GPBNoHasBit,
-        .offset = (uint32_t)offsetof(GetTokenPreProgrammedDistributionsResponse_GetTokenPreProgrammedDistributionsResponseV0_TokenTimedDistributionEntry__storage_, distributionsArray),
-        .flags = GPBFieldRepeated,
-        .dataType = GPBDataTypeMessage,
+        .name = "rawBytes",
+        .dataTypeSpecific.clazz = Nil,
+        .number = GetTokenPerpetualDistributionLastClaimResponse_GetTokenPerpetualDistributionLastClaimResponseV0_LastClaimInfo_FieldNumber_RawBytes,
+        .hasIndex = -1,
+        .offset = (uint32_t)offsetof(GetTokenPerpetualDistributionLastClaimResponse_GetTokenPerpetualDistributionLastClaimResponseV0_LastClaimInfo__storage_, rawBytes),
+        .flags = GPBFieldOptional,
+        .dataType = GPBDataTypeBytes,
       },
     };
     GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetTokenPreProgrammedDistributionsResponse_GetTokenPreProgrammedDistributionsResponseV0_TokenTimedDistributionEntry class]
+        [GPBDescriptor allocDescriptorForClass:[GetTokenPerpetualDistributionLastClaimResponse_GetTokenPerpetualDistributionLastClaimResponseV0_LastClaimInfo class]
                                      rootClass:[PlatformRoot class]
                                           file:PlatformRoot_FileDescriptor()
                                         fields:fields
                                     fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetTokenPreProgrammedDistributionsResponse_GetTokenPreProgrammedDistributionsResponseV0_TokenTimedDistributionEntry__storage_)
+                                   storageSize:sizeof(GetTokenPerpetualDistributionLastClaimResponse_GetTokenPerpetualDistributionLastClaimResponseV0_LastClaimInfo__storage_)
                                          flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
-    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetTokenPreProgrammedDistributionsResponse_GetTokenPreProgrammedDistributionsResponseV0)];
-    #if defined(DEBUG) && DEBUG
-      NSAssert(descriptor == nil, @"Startup recursed!");
-    #endif  // DEBUG
-    descriptor = localDescriptor;
-  }
-  return descriptor;
-}
-
-@end
-
-#pragma mark - GetTokenPreProgrammedDistributionsResponse_GetTokenPreProgrammedDistributionsResponseV0_TokenDistributions
-
-@implementation GetTokenPreProgrammedDistributionsResponse_GetTokenPreProgrammedDistributionsResponseV0_TokenDistributions
-
-@dynamic tokenDistributionsArray, tokenDistributionsArray_Count;
-
-typedef struct GetTokenPreProgrammedDistributionsResponse_GetTokenPreProgrammedDistributionsResponseV0_TokenDistributions__storage_ {
-  uint32_t _has_storage_[1];
-  NSMutableArray *tokenDistributionsArray;
-} GetTokenPreProgrammedDistributionsResponse_GetTokenPreProgrammedDistributionsResponseV0_TokenDistributions__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 = "tokenDistributionsArray",
-        .dataTypeSpecific.clazz = GPBObjCClass(GetTokenPreProgrammedDistributionsResponse_GetTokenPreProgrammedDistributionsResponseV0_TokenTimedDistributionEntry),
-        .number = GetTokenPreProgrammedDistributionsResponse_GetTokenPreProgrammedDistributionsResponseV0_TokenDistributions_FieldNumber_TokenDistributionsArray,
-        .hasIndex = GPBNoHasBit,
-        .offset = (uint32_t)offsetof(GetTokenPreProgrammedDistributionsResponse_GetTokenPreProgrammedDistributionsResponseV0_TokenDistributions__storage_, tokenDistributionsArray),
-        .flags = GPBFieldRepeated,
-        .dataType = GPBDataTypeMessage,
-      },
+    static const char *oneofs[] = {
+      "paidAt",
     };
-    GPBDescriptor *localDescriptor =
-        [GPBDescriptor allocDescriptorForClass:[GetTokenPreProgrammedDistributionsResponse_GetTokenPreProgrammedDistributionsResponseV0_TokenDistributions class]
-                                     rootClass:[PlatformRoot class]
-                                          file:PlatformRoot_FileDescriptor()
-                                        fields:fields
-                                    fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
-                                   storageSize:sizeof(GetTokenPreProgrammedDistributionsResponse_GetTokenPreProgrammedDistributionsResponseV0_TokenDistributions__storage_)
-                                         flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
-    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetTokenPreProgrammedDistributionsResponse_GetTokenPreProgrammedDistributionsResponseV0)];
+    [localDescriptor setupOneofs:oneofs
+                           count:(uint32_t)(sizeof(oneofs) / sizeof(char*))
+                   firstHasIndex:-1];
+    [localDescriptor setupContainingMessageClass:GPBObjCClass(GetTokenPerpetualDistributionLastClaimResponse_GetTokenPerpetualDistributionLastClaimResponseV0)];
     #if defined(DEBUG) && DEBUG
       NSAssert(descriptor == nil, @"Startup recursed!");
     #endif  // DEBUG
@@ -15088,6 +16760,11 @@ + (GPBDescriptor *)descriptor {
 
 @end
 
+void GetTokenPerpetualDistributionLastClaimResponse_GetTokenPerpetualDistributionLastClaimResponseV0_LastClaimInfo_ClearPaidAtOneOfCase(GetTokenPerpetualDistributionLastClaimResponse_GetTokenPerpetualDistributionLastClaimResponseV0_LastClaimInfo *message) {
+  GPBDescriptor *descriptor = [GetTokenPerpetualDistributionLastClaimResponse_GetTokenPerpetualDistributionLastClaimResponseV0_LastClaimInfo descriptor];
+  GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0];
+  GPBClearOneof(message, oneof);
+}
 #pragma mark - GetTokenTotalSupplyRequest
 
 @implementation GetTokenTotalSupplyRequest
@@ -16796,10 +18473,12 @@ + (GPBDescriptor *)descriptor {
 @implementation GetGroupActionsResponse_GetGroupActionsResponseV0_BurnEvent
 
 @dynamic amount;
+@dynamic burnFromId;
 @dynamic hasPublicNote, publicNote;
 
 typedef struct GetGroupActionsResponse_GetGroupActionsResponseV0_BurnEvent__storage_ {
   uint32_t _has_storage_[1];
+  NSData *burnFromId;
   NSString *publicNote;
   uint64_t amount;
 } GetGroupActionsResponse_GetGroupActionsResponseV0_BurnEvent__storage_;
@@ -16819,11 +18498,20 @@ + (GPBDescriptor *)descriptor {
         .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
         .dataType = GPBDataTypeUInt64,
       },
+      {
+        .name = "burnFromId",
+        .dataTypeSpecific.clazz = Nil,
+        .number = GetGroupActionsResponse_GetGroupActionsResponseV0_BurnEvent_FieldNumber_BurnFromId,
+        .hasIndex = 1,
+        .offset = (uint32_t)offsetof(GetGroupActionsResponse_GetGroupActionsResponseV0_BurnEvent__storage_, burnFromId),
+        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
+        .dataType = GPBDataTypeBytes,
+      },
       {
         .name = "publicNote",
         .dataTypeSpecific.clazz = Nil,
         .number = GetGroupActionsResponse_GetGroupActionsResponseV0_BurnEvent_FieldNumber_PublicNote,
-        .hasIndex = 1,
+        .hasIndex = 2,
         .offset = (uint32_t)offsetof(GetGroupActionsResponse_GetGroupActionsResponseV0_BurnEvent__storage_, publicNote),
         .flags = GPBFieldOptional,
         .dataType = GPBDataTypeString,
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 c96ef04f0f..253f5abe1d 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
@@ -41,6 +41,8 @@
 @class GetEvonodesProposedEpochBlocksByIdsRequest;
 @class GetEvonodesProposedEpochBlocksByRangeRequest;
 @class GetEvonodesProposedEpochBlocksResponse;
+@class GetFinalizedEpochInfosRequest;
+@class GetFinalizedEpochInfosResponse;
 @class GetGroupActionSignersRequest;
 @class GetGroupActionSignersResponse;
 @class GetGroupActionsRequest;
@@ -61,6 +63,8 @@
 @class GetIdentityBalanceAndRevisionResponse;
 @class GetIdentityBalanceRequest;
 @class GetIdentityBalanceResponse;
+@class GetIdentityByNonUniquePublicKeyHashRequest;
+@class GetIdentityByNonUniquePublicKeyHashResponse;
 @class GetIdentityByPublicKeyHashRequest;
 @class GetIdentityByPublicKeyHashResponse;
 @class GetIdentityContractNonceRequest;
@@ -85,8 +89,12 @@
 @class GetProtocolVersionUpgradeVoteStatusResponse;
 @class GetStatusRequest;
 @class GetStatusResponse;
+@class GetTokenContractInfoRequest;
+@class GetTokenContractInfoResponse;
 @class GetTokenDirectPurchasePricesRequest;
 @class GetTokenDirectPurchasePricesResponse;
+@class GetTokenPerpetualDistributionLastClaimRequest;
+@class GetTokenPerpetualDistributionLastClaimResponse;
 @class GetTokenPreProgrammedDistributionsRequest;
 @class GetTokenPreProgrammedDistributionsResponse;
 @class GetTokenStatusesRequest;
@@ -193,6 +201,10 @@ NS_ASSUME_NONNULL_BEGIN
 
 - (GRPCUnaryProtoCall *)getIdentityByPublicKeyHashWithMessage:(GetIdentityByPublicKeyHashRequest *)message responseHandler:(id)handler callOptions:(GRPCCallOptions *_Nullable)callOptions;
 
+#pragma mark getIdentityByNonUniquePublicKeyHash(GetIdentityByNonUniquePublicKeyHashRequest) returns (GetIdentityByNonUniquePublicKeyHashResponse)
+
+- (GRPCUnaryProtoCall *)getIdentityByNonUniquePublicKeyHashWithMessage:(GetIdentityByNonUniquePublicKeyHashRequest *)message responseHandler:(id)handler callOptions:(GRPCCallOptions *_Nullable)callOptions;
+
 #pragma mark waitForStateTransitionResult(WaitForStateTransitionResultRequest) returns (WaitForStateTransitionResultResponse)
 
 - (GRPCUnaryProtoCall *)waitForStateTransitionResultWithMessage:(WaitForStateTransitionResultRequest *)message responseHandler:(id)handler callOptions:(GRPCCallOptions *_Nullable)callOptions;
@@ -213,6 +225,10 @@ NS_ASSUME_NONNULL_BEGIN
 
 - (GRPCUnaryProtoCall *)getEpochsInfoWithMessage:(GetEpochsInfoRequest *)message responseHandler:(id)handler callOptions:(GRPCCallOptions *_Nullable)callOptions;
 
+#pragma mark getFinalizedEpochInfos(GetFinalizedEpochInfosRequest) returns (GetFinalizedEpochInfosResponse)
+
+- (GRPCUnaryProtoCall *)getFinalizedEpochInfosWithMessage:(GetFinalizedEpochInfosRequest *)message responseHandler:(id)handler callOptions:(GRPCCallOptions *_Nullable)callOptions;
+
 #pragma mark getContestedResources(GetContestedResourcesRequest) returns (GetContestedResourcesResponse)
 
 /**
@@ -292,10 +308,18 @@ NS_ASSUME_NONNULL_BEGIN
 
 - (GRPCUnaryProtoCall *)getTokenDirectPurchasePricesWithMessage:(GetTokenDirectPurchasePricesRequest *)message responseHandler:(id)handler callOptions:(GRPCCallOptions *_Nullable)callOptions;
 
+#pragma mark getTokenContractInfo(GetTokenContractInfoRequest) returns (GetTokenContractInfoResponse)
+
+- (GRPCUnaryProtoCall *)getTokenContractInfoWithMessage:(GetTokenContractInfoRequest *)message responseHandler:(id)handler callOptions:(GRPCCallOptions *_Nullable)callOptions;
+
 #pragma mark getTokenPreProgrammedDistributions(GetTokenPreProgrammedDistributionsRequest) returns (GetTokenPreProgrammedDistributionsResponse)
 
 - (GRPCUnaryProtoCall *)getTokenPreProgrammedDistributionsWithMessage:(GetTokenPreProgrammedDistributionsRequest *)message responseHandler:(id)handler callOptions:(GRPCCallOptions *_Nullable)callOptions;
 
+#pragma mark getTokenPerpetualDistributionLastClaim(GetTokenPerpetualDistributionLastClaimRequest) returns (GetTokenPerpetualDistributionLastClaimResponse)
+
+- (GRPCUnaryProtoCall *)getTokenPerpetualDistributionLastClaimWithMessage:(GetTokenPerpetualDistributionLastClaimRequest *)message responseHandler:(id)handler callOptions:(GRPCCallOptions *_Nullable)callOptions;
+
 #pragma mark getTokenTotalSupply(GetTokenTotalSupplyRequest) returns (GetTokenTotalSupplyResponse)
 
 - (GRPCUnaryProtoCall *)getTokenTotalSupplyWithMessage:(GetTokenTotalSupplyRequest *)message responseHandler:(id)handler callOptions:(GRPCCallOptions *_Nullable)callOptions;
@@ -436,6 +460,13 @@ NS_ASSUME_NONNULL_BEGIN
 - (GRPCProtoCall *)RPCTogetIdentityByPublicKeyHashWithRequest:(GetIdentityByPublicKeyHashRequest *)request handler:(void(^)(GetIdentityByPublicKeyHashResponse *_Nullable response, NSError *_Nullable error))handler;
 
 
+#pragma mark getIdentityByNonUniquePublicKeyHash(GetIdentityByNonUniquePublicKeyHashRequest) returns (GetIdentityByNonUniquePublicKeyHashResponse)
+
+- (void)getIdentityByNonUniquePublicKeyHashWithRequest:(GetIdentityByNonUniquePublicKeyHashRequest *)request handler:(void(^)(GetIdentityByNonUniquePublicKeyHashResponse *_Nullable response, NSError *_Nullable error))handler;
+
+- (GRPCProtoCall *)RPCTogetIdentityByNonUniquePublicKeyHashWithRequest:(GetIdentityByNonUniquePublicKeyHashRequest *)request handler:(void(^)(GetIdentityByNonUniquePublicKeyHashResponse *_Nullable response, NSError *_Nullable error))handler;
+
+
 #pragma mark waitForStateTransitionResult(WaitForStateTransitionResultRequest) returns (WaitForStateTransitionResultResponse)
 
 - (void)waitForStateTransitionResultWithRequest:(WaitForStateTransitionResultRequest *)request handler:(void(^)(WaitForStateTransitionResultResponse *_Nullable response, NSError *_Nullable error))handler;
@@ -471,6 +502,13 @@ NS_ASSUME_NONNULL_BEGIN
 - (GRPCProtoCall *)RPCTogetEpochsInfoWithRequest:(GetEpochsInfoRequest *)request handler:(void(^)(GetEpochsInfoResponse *_Nullable response, NSError *_Nullable error))handler;
 
 
+#pragma mark getFinalizedEpochInfos(GetFinalizedEpochInfosRequest) returns (GetFinalizedEpochInfosResponse)
+
+- (void)getFinalizedEpochInfosWithRequest:(GetFinalizedEpochInfosRequest *)request handler:(void(^)(GetFinalizedEpochInfosResponse *_Nullable response, NSError *_Nullable error))handler;
+
+- (GRPCProtoCall *)RPCTogetFinalizedEpochInfosWithRequest:(GetFinalizedEpochInfosRequest *)request handler:(void(^)(GetFinalizedEpochInfosResponse *_Nullable response, NSError *_Nullable error))handler;
+
+
 #pragma mark getContestedResources(GetContestedResourcesRequest) returns (GetContestedResourcesResponse)
 
 /**
@@ -633,6 +671,13 @@ NS_ASSUME_NONNULL_BEGIN
 - (GRPCProtoCall *)RPCTogetTokenDirectPurchasePricesWithRequest:(GetTokenDirectPurchasePricesRequest *)request handler:(void(^)(GetTokenDirectPurchasePricesResponse *_Nullable response, NSError *_Nullable error))handler;
 
 
+#pragma mark getTokenContractInfo(GetTokenContractInfoRequest) returns (GetTokenContractInfoResponse)
+
+- (void)getTokenContractInfoWithRequest:(GetTokenContractInfoRequest *)request handler:(void(^)(GetTokenContractInfoResponse *_Nullable response, NSError *_Nullable error))handler;
+
+- (GRPCProtoCall *)RPCTogetTokenContractInfoWithRequest:(GetTokenContractInfoRequest *)request handler:(void(^)(GetTokenContractInfoResponse *_Nullable response, NSError *_Nullable error))handler;
+
+
 #pragma mark getTokenPreProgrammedDistributions(GetTokenPreProgrammedDistributionsRequest) returns (GetTokenPreProgrammedDistributionsResponse)
 
 - (void)getTokenPreProgrammedDistributionsWithRequest:(GetTokenPreProgrammedDistributionsRequest *)request handler:(void(^)(GetTokenPreProgrammedDistributionsResponse *_Nullable response, NSError *_Nullable error))handler;
@@ -640,6 +685,13 @@ NS_ASSUME_NONNULL_BEGIN
 - (GRPCProtoCall *)RPCTogetTokenPreProgrammedDistributionsWithRequest:(GetTokenPreProgrammedDistributionsRequest *)request handler:(void(^)(GetTokenPreProgrammedDistributionsResponse *_Nullable response, NSError *_Nullable error))handler;
 
 
+#pragma mark getTokenPerpetualDistributionLastClaim(GetTokenPerpetualDistributionLastClaimRequest) returns (GetTokenPerpetualDistributionLastClaimResponse)
+
+- (void)getTokenPerpetualDistributionLastClaimWithRequest:(GetTokenPerpetualDistributionLastClaimRequest *)request handler:(void(^)(GetTokenPerpetualDistributionLastClaimResponse *_Nullable response, NSError *_Nullable error))handler;
+
+- (GRPCProtoCall *)RPCTogetTokenPerpetualDistributionLastClaimWithRequest:(GetTokenPerpetualDistributionLastClaimRequest *)request handler:(void(^)(GetTokenPerpetualDistributionLastClaimResponse *_Nullable response, NSError *_Nullable error))handler;
+
+
 #pragma mark getTokenTotalSupply(GetTokenTotalSupplyRequest) returns (GetTokenTotalSupplyResponse)
 
 - (void)getTokenTotalSupplyWithRequest:(GetTokenTotalSupplyRequest *)request handler:(void(^)(GetTokenTotalSupplyResponse *_Nullable response, NSError *_Nullable error))handler;
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 805823572c..8b57e69c3a 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
@@ -390,6 +390,26 @@ - (GRPCUnaryProtoCall *)getIdentityByPublicKeyHashWithMessage:(GetIdentityByPubl
              responseClass:[GetIdentityByPublicKeyHashResponse class]];
 }
 
+#pragma mark getIdentityByNonUniquePublicKeyHash(GetIdentityByNonUniquePublicKeyHashRequest) returns (GetIdentityByNonUniquePublicKeyHashResponse)
+
+- (void)getIdentityByNonUniquePublicKeyHashWithRequest:(GetIdentityByNonUniquePublicKeyHashRequest *)request handler:(void(^)(GetIdentityByNonUniquePublicKeyHashResponse *_Nullable response, NSError *_Nullable error))handler{
+  [[self RPCTogetIdentityByNonUniquePublicKeyHashWithRequest:request handler:handler] start];
+}
+// Returns a not-yet-started RPC object.
+- (GRPCProtoCall *)RPCTogetIdentityByNonUniquePublicKeyHashWithRequest:(GetIdentityByNonUniquePublicKeyHashRequest *)request handler:(void(^)(GetIdentityByNonUniquePublicKeyHashResponse *_Nullable response, NSError *_Nullable error))handler{
+  return [self RPCToMethod:@"getIdentityByNonUniquePublicKeyHash"
+            requestsWriter:[GRXWriter writerWithValue:request]
+             responseClass:[GetIdentityByNonUniquePublicKeyHashResponse class]
+        responsesWriteable:[GRXWriteable writeableWithSingleHandler:handler]];
+}
+- (GRPCUnaryProtoCall *)getIdentityByNonUniquePublicKeyHashWithMessage:(GetIdentityByNonUniquePublicKeyHashRequest *)message responseHandler:(id)handler callOptions:(GRPCCallOptions *_Nullable)callOptions {
+  return [self RPCToMethod:@"getIdentityByNonUniquePublicKeyHash"
+                   message:message
+           responseHandler:handler
+               callOptions:callOptions
+             responseClass:[GetIdentityByNonUniquePublicKeyHashResponse class]];
+}
+
 #pragma mark waitForStateTransitionResult(WaitForStateTransitionResultRequest) returns (WaitForStateTransitionResultResponse)
 
 - (void)waitForStateTransitionResultWithRequest:(WaitForStateTransitionResultRequest *)request handler:(void(^)(WaitForStateTransitionResultResponse *_Nullable response, NSError *_Nullable error))handler{
@@ -490,6 +510,26 @@ - (GRPCUnaryProtoCall *)getEpochsInfoWithMessage:(GetEpochsInfoRequest *)message
              responseClass:[GetEpochsInfoResponse class]];
 }
 
+#pragma mark getFinalizedEpochInfos(GetFinalizedEpochInfosRequest) returns (GetFinalizedEpochInfosResponse)
+
+- (void)getFinalizedEpochInfosWithRequest:(GetFinalizedEpochInfosRequest *)request handler:(void(^)(GetFinalizedEpochInfosResponse *_Nullable response, NSError *_Nullable error))handler{
+  [[self RPCTogetFinalizedEpochInfosWithRequest:request handler:handler] start];
+}
+// Returns a not-yet-started RPC object.
+- (GRPCProtoCall *)RPCTogetFinalizedEpochInfosWithRequest:(GetFinalizedEpochInfosRequest *)request handler:(void(^)(GetFinalizedEpochInfosResponse *_Nullable response, NSError *_Nullable error))handler{
+  return [self RPCToMethod:@"getFinalizedEpochInfos"
+            requestsWriter:[GRXWriter writerWithValue:request]
+             responseClass:[GetFinalizedEpochInfosResponse class]
+        responsesWriteable:[GRXWriteable writeableWithSingleHandler:handler]];
+}
+- (GRPCUnaryProtoCall *)getFinalizedEpochInfosWithMessage:(GetFinalizedEpochInfosRequest *)message responseHandler:(id)handler callOptions:(GRPCCallOptions *_Nullable)callOptions {
+  return [self RPCToMethod:@"getFinalizedEpochInfos"
+                   message:message
+           responseHandler:handler
+               callOptions:callOptions
+             responseClass:[GetFinalizedEpochInfosResponse class]];
+}
+
 #pragma mark getContestedResources(GetContestedResourcesRequest) returns (GetContestedResourcesResponse)
 
 /**
@@ -875,6 +915,26 @@ - (GRPCUnaryProtoCall *)getTokenDirectPurchasePricesWithMessage:(GetTokenDirectP
              responseClass:[GetTokenDirectPurchasePricesResponse class]];
 }
 
+#pragma mark getTokenContractInfo(GetTokenContractInfoRequest) returns (GetTokenContractInfoResponse)
+
+- (void)getTokenContractInfoWithRequest:(GetTokenContractInfoRequest *)request handler:(void(^)(GetTokenContractInfoResponse *_Nullable response, NSError *_Nullable error))handler{
+  [[self RPCTogetTokenContractInfoWithRequest:request handler:handler] start];
+}
+// Returns a not-yet-started RPC object.
+- (GRPCProtoCall *)RPCTogetTokenContractInfoWithRequest:(GetTokenContractInfoRequest *)request handler:(void(^)(GetTokenContractInfoResponse *_Nullable response, NSError *_Nullable error))handler{
+  return [self RPCToMethod:@"getTokenContractInfo"
+            requestsWriter:[GRXWriter writerWithValue:request]
+             responseClass:[GetTokenContractInfoResponse class]
+        responsesWriteable:[GRXWriteable writeableWithSingleHandler:handler]];
+}
+- (GRPCUnaryProtoCall *)getTokenContractInfoWithMessage:(GetTokenContractInfoRequest *)message responseHandler:(id)handler callOptions:(GRPCCallOptions *_Nullable)callOptions {
+  return [self RPCToMethod:@"getTokenContractInfo"
+                   message:message
+           responseHandler:handler
+               callOptions:callOptions
+             responseClass:[GetTokenContractInfoResponse class]];
+}
+
 #pragma mark getTokenPreProgrammedDistributions(GetTokenPreProgrammedDistributionsRequest) returns (GetTokenPreProgrammedDistributionsResponse)
 
 - (void)getTokenPreProgrammedDistributionsWithRequest:(GetTokenPreProgrammedDistributionsRequest *)request handler:(void(^)(GetTokenPreProgrammedDistributionsResponse *_Nullable response, NSError *_Nullable error))handler{
@@ -895,6 +955,26 @@ - (GRPCUnaryProtoCall *)getTokenPreProgrammedDistributionsWithMessage:(GetTokenP
              responseClass:[GetTokenPreProgrammedDistributionsResponse class]];
 }
 
+#pragma mark getTokenPerpetualDistributionLastClaim(GetTokenPerpetualDistributionLastClaimRequest) returns (GetTokenPerpetualDistributionLastClaimResponse)
+
+- (void)getTokenPerpetualDistributionLastClaimWithRequest:(GetTokenPerpetualDistributionLastClaimRequest *)request handler:(void(^)(GetTokenPerpetualDistributionLastClaimResponse *_Nullable response, NSError *_Nullable error))handler{
+  [[self RPCTogetTokenPerpetualDistributionLastClaimWithRequest:request handler:handler] start];
+}
+// Returns a not-yet-started RPC object.
+- (GRPCProtoCall *)RPCTogetTokenPerpetualDistributionLastClaimWithRequest:(GetTokenPerpetualDistributionLastClaimRequest *)request handler:(void(^)(GetTokenPerpetualDistributionLastClaimResponse *_Nullable response, NSError *_Nullable error))handler{
+  return [self RPCToMethod:@"getTokenPerpetualDistributionLastClaim"
+            requestsWriter:[GRXWriter writerWithValue:request]
+             responseClass:[GetTokenPerpetualDistributionLastClaimResponse class]
+        responsesWriteable:[GRXWriteable writeableWithSingleHandler:handler]];
+}
+- (GRPCUnaryProtoCall *)getTokenPerpetualDistributionLastClaimWithMessage:(GetTokenPerpetualDistributionLastClaimRequest *)message responseHandler:(id)handler callOptions:(GRPCCallOptions *_Nullable)callOptions {
+  return [self RPCToMethod:@"getTokenPerpetualDistributionLastClaim"
+                   message:message
+           responseHandler:handler
+               callOptions:callOptions
+             responseClass:[GetTokenPerpetualDistributionLastClaimResponse class]];
+}
+
 #pragma mark getTokenTotalSupply(GetTokenTotalSupplyRequest) returns (GetTokenTotalSupplyResponse)
 
 - (void)getTokenTotalSupplyWithRequest:(GetTokenTotalSupplyRequest *)request handler:(void(^)(GetTokenTotalSupplyResponse *_Nullable response, NSError *_Nullable error))handler{
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 621f5325cd..5dfcceeb9e 100644
--- a/packages/dapi-grpc/clients/platform/v0/python/platform_pb2.py
+++ b/packages/dapi-grpc/clients/platform/v0/python/platform_pb2.py
@@ -23,7 +23,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\"\x98\x01\n\x10ResponseMetadata\x12\x12\n\x06height\x18\x01 \x01(\x04\x42\x02\x30\x01\x12 \n\x18\x63ore_chain_locked_height\x18\x02 \x01(\r\x12\r\n\x05\x65poch\x18\x03 \x01(\r\x12\x13\n\x07time_ms\x18\x04 \x01(\x04\x42\x02\x30\x01\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\"\xc1\x01\n\x17GetIdentityNonceRequest\x12Z\n\x02v0\x18\x01 \x01(\x0b\x32L.org.dash.platform.dapi.v0.GetIdentityNonceRequest.GetIdentityNonceRequestV0H\x00\x1a?\n\x19GetIdentityNonceRequestV0\x12\x13\n\x0bidentity_id\x18\x01 \x01(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\xf6\x01\n\x1fGetIdentityContractNonceRequest\x12j\n\x02v0\x18\x01 \x01(\x0b\x32\\.org.dash.platform.dapi.v0.GetIdentityContractNonceRequest.GetIdentityContractNonceRequestV0H\x00\x1a\\\n!GetIdentityContractNonceRequestV0\x12\x13\n\x0bidentity_id\x18\x01 \x01(\x0c\x12\x13\n\x0b\x63ontract_id\x18\x02 \x01(\x0c\x12\r\n\x05prove\x18\x03 \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\"\xbc\x02\n\x18GetIdentityNonceResponse\x12\\\n\x02v0\x18\x01 \x01(\x0b\x32N.org.dash.platform.dapi.v0.GetIdentityNonceResponse.GetIdentityNonceResponseV0H\x00\x1a\xb6\x01\n\x1aGetIdentityNonceResponseV0\x12\x1c\n\x0eidentity_nonce\x18\x01 \x01(\x04\x42\x02\x30\x01H\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\"\xe5\x02\n GetIdentityContractNonceResponse\x12l\n\x02v0\x18\x01 \x01(\x0b\x32^.org.dash.platform.dapi.v0.GetIdentityContractNonceResponse.GetIdentityContractNonceResponseV0H\x00\x1a\xc7\x01\n\"GetIdentityContractNonceResponseV0\x12%\n\x17identity_contract_nonce\x18\x01 \x01(\x04\x42\x02\x30\x01H\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\"\xbd\x02\n\x1aGetIdentityBalanceResponse\x12`\n\x02v0\x18\x01 \x01(\x0b\x32R.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0H\x00\x1a\xb1\x01\n\x1cGetIdentityBalanceResponseV0\x12\x15\n\x07\x62\x61lance\x18\x01 \x01(\x04\x42\x02\x30\x01H\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\"\xb1\x04\n%GetIdentityBalanceAndRevisionResponse\x12v\n\x02v0\x18\x01 \x01(\x0b\x32h.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0H\x00\x1a\x84\x03\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?\n\x12\x42\x61lanceAndRevision\x12\x13\n\x07\x62\x61lance\x18\x01 \x01(\x04\x42\x02\x30\x01\x12\x14\n\x08revision\x18\x02 \x01(\x04\x42\x02\x30\x01\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\"\xef\x02\n GetIdentitiesContractKeysRequest\x12l\n\x02v0\x18\x01 \x01(\x0b\x32^.org.dash.platform.dapi.v0.GetIdentitiesContractKeysRequest.GetIdentitiesContractKeysRequestV0H\x00\x1a\xd1\x01\n\"GetIdentitiesContractKeysRequestV0\x12\x16\n\x0eidentities_ids\x18\x01 \x03(\x0c\x12\x13\n\x0b\x63ontract_id\x18\x02 \x01(\x0c\x12\x1f\n\x12\x64ocument_type_name\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x37\n\x08purposes\x18\x04 \x03(\x0e\x32%.org.dash.platform.dapi.v0.KeyPurpose\x12\r\n\x05prove\x18\x05 \x01(\x08\x42\x15\n\x13_document_type_nameB\t\n\x07version\"\xdf\x06\n!GetIdentitiesContractKeysResponse\x12n\n\x02v0\x18\x01 \x01(\x0b\x32`.org.dash.platform.dapi.v0.GetIdentitiesContractKeysResponse.GetIdentitiesContractKeysResponseV0H\x00\x1a\xbe\x05\n#GetIdentitiesContractKeysResponseV0\x12\x8a\x01\n\x0fidentities_keys\x18\x01 \x01(\x0b\x32o.org.dash.platform.dapi.v0.GetIdentitiesContractKeysResponse.GetIdentitiesContractKeysResponseV0.IdentitiesKeysH\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\x1aY\n\x0bPurposeKeys\x12\x36\n\x07purpose\x18\x01 \x01(\x0e\x32%.org.dash.platform.dapi.v0.KeyPurpose\x12\x12\n\nkeys_bytes\x18\x02 \x03(\x0c\x1a\x9f\x01\n\x0cIdentityKeys\x12\x13\n\x0bidentity_id\x18\x01 \x01(\x0c\x12z\n\x04keys\x18\x02 \x03(\x0b\x32l.org.dash.platform.dapi.v0.GetIdentitiesContractKeysResponse.GetIdentitiesContractKeysResponseV0.PurposeKeys\x1a\x90\x01\n\x0eIdentitiesKeys\x12~\n\x07\x65ntries\x18\x01 \x03(\x0b\x32m.org.dash.platform.dapi.v0.GetIdentitiesContractKeysResponse.GetIdentitiesContractKeysResponseV0.IdentityKeysB\x08\n\x06resultB\t\n\x07version\"\xa4\x02\n*GetEvonodesProposedEpochBlocksByIdsRequest\x12\x80\x01\n\x02v0\x18\x01 \x01(\x0b\x32r.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0H\x00\x1ah\n,GetEvonodesProposedEpochBlocksByIdsRequestV0\x12\x12\n\x05\x65poch\x18\x01 \x01(\rH\x00\x88\x01\x01\x12\x0b\n\x03ids\x18\x02 \x03(\x0c\x12\r\n\x05prove\x18\x03 \x01(\x08\x42\x08\n\x06_epochB\t\n\x07version\"\x92\x06\n&GetEvonodesProposedEpochBlocksResponse\x12x\n\x02v0\x18\x01 \x01(\x0b\x32j.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0H\x00\x1a\xe2\x04\n(GetEvonodesProposedEpochBlocksResponseV0\x12\xb1\x01\n#evonodes_proposed_block_counts_info\x18\x01 \x01(\x0b\x32\x81\x01.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodesProposedBlocksH\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\x15\x45vonodeProposedBlocks\x12\x13\n\x0bpro_tx_hash\x18\x01 \x01(\x0c\x12\x11\n\x05\x63ount\x18\x02 \x01(\x04\x42\x02\x30\x01\x1a\xc4\x01\n\x16\x45vonodesProposedBlocks\x12\xa9\x01\n\x1e\x65vonodes_proposed_block_counts\x18\x01 \x03(\x0b\x32\x80\x01.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodeProposedBlocksB\x08\n\x06resultB\t\n\x07version\"\xf2\x02\n,GetEvonodesProposedEpochBlocksByRangeRequest\x12\x84\x01\n\x02v0\x18\x01 \x01(\x0b\x32v.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0H\x00\x1a\xaf\x01\n.GetEvonodesProposedEpochBlocksByRangeRequestV0\x12\x12\n\x05\x65poch\x18\x01 \x01(\rH\x01\x88\x01\x01\x12\x12\n\x05limit\x18\x02 \x01(\rH\x02\x88\x01\x01\x12\x15\n\x0bstart_after\x18\x03 \x01(\x0cH\x00\x12\x12\n\x08start_at\x18\x04 \x01(\x0cH\x00\x12\r\n\x05prove\x18\x05 \x01(\x08\x42\x07\n\x05startB\x08\n\x06_epochB\x08\n\x06_limitB\t\n\x07version\"\xcd\x01\n\x1cGetIdentitiesBalancesRequest\x12\x64\n\x02v0\x18\x01 \x01(\x0b\x32V.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0H\x00\x1a<\n\x1eGetIdentitiesBalancesRequestV0\x12\x0b\n\x03ids\x18\x01 \x03(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\x9f\x05\n\x1dGetIdentitiesBalancesResponse\x12\x66\n\x02v0\x18\x01 \x01(\x0b\x32X.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0H\x00\x1a\x8a\x04\n\x1fGetIdentitiesBalancesResponseV0\x12\x8a\x01\n\x13identities_balances\x18\x01 \x01(\x0b\x32k.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentitiesBalancesH\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\x1aL\n\x0fIdentityBalance\x12\x13\n\x0bidentity_id\x18\x01 \x01(\x0c\x12\x18\n\x07\x62\x61lance\x18\x02 \x01(\x04\x42\x02\x30\x01H\x00\x88\x01\x01\x42\n\n\x08_balance\x1a\x8f\x01\n\x12IdentitiesBalances\x12y\n\x07\x65ntries\x18\x01 \x03(\x0b\x32h.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentityBalanceB\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\"\xc5\x02\n\x1dGetDataContractHistoryRequest\x12\x66\n\x02v0\x18\x01 \x01(\x0b\x32X.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0H\x00\x1a\xb0\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\x17\n\x0bstart_at_ms\x18\x04 \x01(\x04\x42\x02\x30\x01\x12\r\n\x05prove\x18\x05 \x01(\x08\x42\t\n\x07version\"\xb2\x05\n\x1eGetDataContractHistoryResponse\x12h\n\x02v0\x18\x01 \x01(\x0b\x32Z.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0H\x00\x1a\x9a\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;\n\x18\x44\x61taContractHistoryEntry\x12\x10\n\x04\x64\x61te\x18\x01 \x01(\x04\x42\x02\x30\x01\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\"\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\"\xe4\x01\n%GetProtocolVersionUpgradeStateRequest\x12v\n\x02v0\x18\x01 \x01(\x0b\x32h.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0H\x00\x1a\x38\n\'GetProtocolVersionUpgradeStateRequestV0\x12\r\n\x05prove\x18\x01 \x01(\x08\x42\t\n\x07version\"\xb5\x05\n&GetProtocolVersionUpgradeStateResponse\x12x\n\x02v0\x18\x01 \x01(\x0b\x32j.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0H\x00\x1a\x85\x04\n(GetProtocolVersionUpgradeStateResponseV0\x12\x87\x01\n\x08versions\x18\x01 \x01(\x0b\x32s.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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\x96\x01\n\x08Versions\x12\x89\x01\n\x08versions\x18\x01 \x03(\x0b\x32w.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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\"\xa3\x02\n*GetProtocolVersionUpgradeVoteStatusRequest\x12\x80\x01\n\x02v0\x18\x01 \x01(\x0b\x32r.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0H\x00\x1ag\n,GetProtocolVersionUpgradeVoteStatusRequestV0\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\"\xef\x05\n+GetProtocolVersionUpgradeVoteStatusResponse\x12\x82\x01\n\x02v0\x18\x01 \x01(\x0b\x32t.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0H\x00\x1a\xaf\x04\n-GetProtocolVersionUpgradeVoteStatusResponseV0\x12\x98\x01\n\x08versions\x18\x01 \x01(\x0b\x32\x83\x01.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.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\xaf\x01\n\x0eVersionSignals\x12\x9c\x01\n\x0fversion_signals\x18\x01 \x03(\x0b\x32\x82\x01.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.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\"\x99\x05\n\x15GetEpochsInfoResponse\x12V\n\x02v0\x18\x01 \x01(\x0b\x32H.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0H\x00\x1a\x9c\x04\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\xa6\x01\n\tEpochInfo\x12\x0e\n\x06number\x18\x01 \x01(\r\x12\x1e\n\x12\x66irst_block_height\x18\x02 \x01(\x04\x42\x02\x30\x01\x12\x1f\n\x17\x66irst_core_block_height\x18\x03 \x01(\r\x12\x16\n\nstart_time\x18\x04 \x01(\x04\x42\x02\x30\x01\x12\x16\n\x0e\x66\x65\x65_multiplier\x18\x05 \x01(\x01\x12\x18\n\x10protocol_version\x18\x06 \x01(\rB\x08\n\x06resultB\t\n\x07version\"\xde\x04\n\x1cGetContestedResourcesRequest\x12\x64\n\x02v0\x18\x01 \x01(\x0b\x32V.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0H\x00\x1a\xcc\x03\n\x1eGetContestedResourcesRequestV0\x12\x13\n\x0b\x63ontract_id\x18\x01 \x01(\x0c\x12\x1a\n\x12\x64ocument_type_name\x18\x02 \x01(\t\x12\x12\n\nindex_name\x18\x03 \x01(\t\x12\x1a\n\x12start_index_values\x18\x04 \x03(\x0c\x12\x18\n\x10\x65nd_index_values\x18\x05 \x03(\x0c\x12\x89\x01\n\x13start_at_value_info\x18\x06 \x01(\x0b\x32g.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfoH\x00\x88\x01\x01\x12\x12\n\x05\x63ount\x18\x07 \x01(\rH\x01\x88\x01\x01\x12\x17\n\x0forder_ascending\x18\x08 \x01(\x08\x12\r\n\x05prove\x18\t \x01(\x08\x1a\x45\n\x10StartAtValueInfo\x12\x13\n\x0bstart_value\x18\x01 \x01(\x0c\x12\x1c\n\x14start_value_included\x18\x02 \x01(\x08\x42\x16\n\x14_start_at_value_infoB\x08\n\x06_countB\t\n\x07version\"\x88\x04\n\x1dGetContestedResourcesResponse\x12\x66\n\x02v0\x18\x01 \x01(\x0b\x32X.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0H\x00\x1a\xf3\x02\n\x1fGetContestedResourcesResponseV0\x12\x95\x01\n\x19\x63ontested_resource_values\x18\x01 \x01(\x0b\x32p.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValuesH\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\x17\x43ontestedResourceValues\x12!\n\x19\x63ontested_resource_values\x18\x01 \x03(\x0c\x42\x08\n\x06resultB\t\n\x07version\"\xd2\x05\n\x1cGetVotePollsByEndDateRequest\x12\x64\n\x02v0\x18\x01 \x01(\x0b\x32V.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0H\x00\x1a\xc0\x04\n\x1eGetVotePollsByEndDateRequestV0\x12\x84\x01\n\x0fstart_time_info\x18\x01 \x01(\x0b\x32\x66.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfoH\x00\x88\x01\x01\x12\x80\x01\n\rend_time_info\x18\x02 \x01(\x0b\x32\x64.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfoH\x01\x88\x01\x01\x12\x12\n\x05limit\x18\x03 \x01(\rH\x02\x88\x01\x01\x12\x13\n\x06offset\x18\x04 \x01(\rH\x03\x88\x01\x01\x12\x11\n\tascending\x18\x05 \x01(\x08\x12\r\n\x05prove\x18\x06 \x01(\x08\x1aI\n\x0fStartAtTimeInfo\x12\x19\n\rstart_time_ms\x18\x01 \x01(\x04\x42\x02\x30\x01\x12\x1b\n\x13start_time_included\x18\x02 \x01(\x08\x1a\x43\n\rEndAtTimeInfo\x12\x17\n\x0b\x65nd_time_ms\x18\x01 \x01(\x04\x42\x02\x30\x01\x12\x19\n\x11\x65nd_time_included\x18\x02 \x01(\x08\x42\x12\n\x10_start_time_infoB\x10\n\x0e_end_time_infoB\x08\n\x06_limitB\t\n\x07_offsetB\t\n\x07version\"\x83\x06\n\x1dGetVotePollsByEndDateResponse\x12\x66\n\x02v0\x18\x01 \x01(\x0b\x32X.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0H\x00\x1a\xee\x04\n\x1fGetVotePollsByEndDateResponseV0\x12\x9c\x01\n\x18vote_polls_by_timestamps\x18\x01 \x01(\x0b\x32x.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestampsH\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\x1aV\n\x1eSerializedVotePollsByTimestamp\x12\x15\n\ttimestamp\x18\x01 \x01(\x04\x42\x02\x30\x01\x12\x1d\n\x15serialized_vote_polls\x18\x02 \x03(\x0c\x1a\xd7\x01\n\x1fSerializedVotePollsByTimestamps\x12\x99\x01\n\x18vote_polls_by_timestamps\x18\x01 \x03(\x0b\x32w.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp\x12\x18\n\x10\x66inished_results\x18\x02 \x01(\x08\x42\x08\n\x06resultB\t\n\x07version\"\xff\x06\n$GetContestedResourceVoteStateRequest\x12t\n\x02v0\x18\x01 \x01(\x0b\x32\x66.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0H\x00\x1a\xd5\x05\n&GetContestedResourceVoteStateRequestV0\x12\x13\n\x0b\x63ontract_id\x18\x01 \x01(\x0c\x12\x1a\n\x12\x64ocument_type_name\x18\x02 \x01(\t\x12\x12\n\nindex_name\x18\x03 \x01(\t\x12\x14\n\x0cindex_values\x18\x04 \x03(\x0c\x12\x86\x01\n\x0bresult_type\x18\x05 \x01(\x0e\x32q.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.ResultType\x12\x36\n.allow_include_locked_and_abstaining_vote_tally\x18\x06 \x01(\x08\x12\xa3\x01\n\x18start_at_identifier_info\x18\x07 \x01(\x0b\x32|.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfoH\x00\x88\x01\x01\x12\x12\n\x05\x63ount\x18\x08 \x01(\rH\x01\x88\x01\x01\x12\r\n\x05prove\x18\t \x01(\x08\x1aT\n\x15StartAtIdentifierInfo\x12\x18\n\x10start_identifier\x18\x01 \x01(\x0c\x12!\n\x19start_identifier_included\x18\x02 \x01(\x08\"I\n\nResultType\x12\r\n\tDOCUMENTS\x10\x00\x12\x0e\n\nVOTE_TALLY\x10\x01\x12\x1c\n\x18\x44OCUMENTS_AND_VOTE_TALLY\x10\x02\x42\x1b\n\x19_start_at_identifier_infoB\x08\n\x06_countB\t\n\x07version\"\x94\x0c\n%GetContestedResourceVoteStateResponse\x12v\n\x02v0\x18\x01 \x01(\x0b\x32h.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0H\x00\x1a\xe7\n\n\'GetContestedResourceVoteStateResponseV0\x12\xae\x01\n\x1d\x63ontested_resource_contenders\x18\x01 \x01(\x0b\x32\x84\x01.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContendersH\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\xda\x03\n\x10\x46inishedVoteInfo\x12\xad\x01\n\x15\x66inished_vote_outcome\x18\x01 \x01(\x0e\x32\x8d\x01.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.FinishedVoteOutcome\x12\x1f\n\x12won_by_identity_id\x18\x02 \x01(\x0cH\x00\x88\x01\x01\x12$\n\x18\x66inished_at_block_height\x18\x03 \x01(\x04\x42\x02\x30\x01\x12%\n\x1d\x66inished_at_core_block_height\x18\x04 \x01(\r\x12%\n\x19\x66inished_at_block_time_ms\x18\x05 \x01(\x04\x42\x02\x30\x01\x12\x19\n\x11\x66inished_at_epoch\x18\x06 \x01(\r\"O\n\x13\x46inishedVoteOutcome\x12\x14\n\x10TOWARDS_IDENTITY\x10\x00\x12\n\n\x06LOCKED\x10\x01\x12\x16\n\x12NO_PREVIOUS_WINNER\x10\x02\x42\x15\n\x13_won_by_identity_id\x1a\xc4\x03\n\x1b\x43ontestedResourceContenders\x12\x86\x01\n\ncontenders\x18\x01 \x03(\x0b\x32r.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender\x12\x1f\n\x12\x61\x62stain_vote_tally\x18\x02 \x01(\rH\x00\x88\x01\x01\x12\x1c\n\x0flock_vote_tally\x18\x03 \x01(\rH\x01\x88\x01\x01\x12\x9a\x01\n\x12\x66inished_vote_info\x18\x04 \x01(\x0b\x32y.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfoH\x02\x88\x01\x01\x42\x15\n\x13_abstain_vote_tallyB\x12\n\x10_lock_vote_tallyB\x15\n\x13_finished_vote_info\x1ak\n\tContender\x12\x12\n\nidentifier\x18\x01 \x01(\x0c\x12\x17\n\nvote_count\x18\x02 \x01(\rH\x00\x88\x01\x01\x12\x15\n\x08\x64ocument\x18\x03 \x01(\x0cH\x01\x88\x01\x01\x42\r\n\x0b_vote_countB\x0b\n\t_documentB\x08\n\x06resultB\t\n\x07version\"\xd5\x05\n,GetContestedResourceVotersForIdentityRequest\x12\x84\x01\n\x02v0\x18\x01 \x01(\x0b\x32v.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0H\x00\x1a\x92\x04\n.GetContestedResourceVotersForIdentityRequestV0\x12\x13\n\x0b\x63ontract_id\x18\x01 \x01(\x0c\x12\x1a\n\x12\x64ocument_type_name\x18\x02 \x01(\t\x12\x12\n\nindex_name\x18\x03 \x01(\t\x12\x14\n\x0cindex_values\x18\x04 \x03(\x0c\x12\x15\n\rcontestant_id\x18\x05 \x01(\x0c\x12\xb4\x01\n\x18start_at_identifier_info\x18\x06 \x01(\x0b\x32\x8c\x01.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfoH\x00\x88\x01\x01\x12\x12\n\x05\x63ount\x18\x07 \x01(\rH\x01\x88\x01\x01\x12\x17\n\x0forder_ascending\x18\x08 \x01(\x08\x12\r\n\x05prove\x18\t \x01(\x08\x1aT\n\x15StartAtIdentifierInfo\x12\x18\n\x10start_identifier\x18\x01 \x01(\x0c\x12!\n\x19start_identifier_included\x18\x02 \x01(\x08\x42\x1b\n\x19_start_at_identifier_infoB\x08\n\x06_countB\t\n\x07version\"\xf1\x04\n-GetContestedResourceVotersForIdentityResponse\x12\x86\x01\n\x02v0\x18\x01 \x01(\x0b\x32x.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0H\x00\x1a\xab\x03\n/GetContestedResourceVotersForIdentityResponseV0\x12\xb6\x01\n\x19\x63ontested_resource_voters\x18\x01 \x01(\x0b\x32\x90\x01.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVotersH\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\x43\n\x17\x43ontestedResourceVoters\x12\x0e\n\x06voters\x18\x01 \x03(\x0c\x12\x18\n\x10\x66inished_results\x18\x02 \x01(\x08\x42\x08\n\x06resultB\t\n\x07version\"\xad\x05\n(GetContestedResourceIdentityVotesRequest\x12|\n\x02v0\x18\x01 \x01(\x0b\x32n.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0H\x00\x1a\xf7\x03\n*GetContestedResourceIdentityVotesRequestV0\x12\x13\n\x0bidentity_id\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\x17\n\x0forder_ascending\x18\x04 \x01(\x08\x12\xae\x01\n\x1astart_at_vote_poll_id_info\x18\x05 \x01(\x0b\x32\x84\x01.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfoH\x00\x88\x01\x01\x12\r\n\x05prove\x18\x06 \x01(\x08\x1a\x61\n\x15StartAtVotePollIdInfo\x12 \n\x18start_at_poll_identifier\x18\x01 \x01(\x0c\x12&\n\x1estart_poll_identifier_included\x18\x02 \x01(\x08\x42\x1d\n\x1b_start_at_vote_poll_id_infoB\t\n\x07version\"\xc8\n\n)GetContestedResourceIdentityVotesResponse\x12~\n\x02v0\x18\x01 \x01(\x0b\x32p.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0H\x00\x1a\x8f\t\n+GetContestedResourceIdentityVotesResponseV0\x12\xa1\x01\n\x05votes\x18\x01 \x01(\x0b\x32\x8f\x01.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotesH\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\xf7\x01\n\x1e\x43ontestedResourceIdentityVotes\x12\xba\x01\n!contested_resource_identity_votes\x18\x01 \x03(\x0b\x32\x8e\x01.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote\x12\x18\n\x10\x66inished_results\x18\x02 \x01(\x08\x1a\xad\x02\n\x12ResourceVoteChoice\x12\xad\x01\n\x10vote_choice_type\x18\x01 \x01(\x0e\x32\x92\x01.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.VoteChoiceType\x12\x18\n\x0bidentity_id\x18\x02 \x01(\x0cH\x00\x88\x01\x01\"=\n\x0eVoteChoiceType\x12\x14\n\x10TOWARDS_IDENTITY\x10\x00\x12\x0b\n\x07\x41\x42STAIN\x10\x01\x12\x08\n\x04LOCK\x10\x02\x42\x0e\n\x0c_identity_id\x1a\x95\x02\n\x1d\x43ontestedResourceIdentityVote\x12\x13\n\x0b\x63ontract_id\x18\x01 \x01(\x0c\x12\x1a\n\x12\x64ocument_type_name\x18\x02 \x01(\t\x12\'\n\x1fserialized_index_storage_values\x18\x03 \x03(\x0c\x12\x99\x01\n\x0bvote_choice\x18\x04 \x01(\x0b\x32\x83\x01.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoiceB\x08\n\x06resultB\t\n\x07version\"\xf0\x01\n%GetPrefundedSpecializedBalanceRequest\x12v\n\x02v0\x18\x01 \x01(\x0b\x32h.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0H\x00\x1a\x44\n\'GetPrefundedSpecializedBalanceRequestV0\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\xed\x02\n&GetPrefundedSpecializedBalanceResponse\x12x\n\x02v0\x18\x01 \x01(\x0b\x32j.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0H\x00\x1a\xbd\x01\n(GetPrefundedSpecializedBalanceResponseV0\x12\x15\n\x07\x62\x61lance\x18\x01 \x01(\x04\x42\x02\x30\x01H\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\"\xd0\x01\n GetTotalCreditsInPlatformRequest\x12l\n\x02v0\x18\x01 \x01(\x0b\x32^.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0H\x00\x1a\x33\n\"GetTotalCreditsInPlatformRequestV0\x12\r\n\x05prove\x18\x01 \x01(\x08\x42\t\n\x07version\"\xd9\x02\n!GetTotalCreditsInPlatformResponse\x12n\n\x02v0\x18\x01 \x01(\x0b\x32`.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0H\x00\x1a\xb8\x01\n#GetTotalCreditsInPlatformResponseV0\x12\x15\n\x07\x63redits\x18\x01 \x01(\x04\x42\x02\x30\x01H\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\x16GetPathElementsRequest\x12X\n\x02v0\x18\x01 \x01(\x0b\x32J.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0H\x00\x1a\x45\n\x18GetPathElementsRequestV0\x12\x0c\n\x04path\x18\x01 \x03(\x0c\x12\x0c\n\x04keys\x18\x02 \x03(\x0c\x12\r\n\x05prove\x18\x03 \x01(\x08\x42\t\n\x07version\"\xa3\x03\n\x17GetPathElementsResponse\x12Z\n\x02v0\x18\x01 \x01(\x0b\x32L.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0H\x00\x1a\xa0\x02\n\x19GetPathElementsResponseV0\x12i\n\x08\x65lements\x18\x01 \x01(\x0b\x32U.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.ElementsH\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\x1c\n\x08\x45lements\x12\x10\n\x08\x65lements\x18\x01 \x03(\x0c\x42\x08\n\x06resultB\t\n\x07version\"\x81\x01\n\x10GetStatusRequest\x12L\n\x02v0\x18\x01 \x01(\x0b\x32>.org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0H\x00\x1a\x14\n\x12GetStatusRequestV0B\t\n\x07version\"\xd0\x10\n\x11GetStatusResponse\x12N\n\x02v0\x18\x01 \x01(\x0b\x32@.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0H\x00\x1a\xdf\x0f\n\x13GetStatusResponseV0\x12Y\n\x07version\x18\x01 \x01(\x0b\x32H.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version\x12S\n\x04node\x18\x02 \x01(\x0b\x32\x45.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node\x12U\n\x05\x63hain\x18\x03 \x01(\x0b\x32\x46.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain\x12Y\n\x07network\x18\x04 \x01(\x0b\x32H.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network\x12^\n\nstate_sync\x18\x05 \x01(\x0b\x32J.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync\x12S\n\x04time\x18\x06 \x01(\x0b\x32\x45.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time\x1a\xee\x04\n\x07Version\x12\x63\n\x08software\x18\x01 \x01(\x0b\x32Q.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software\x12\x63\n\x08protocol\x18\x02 \x01(\x0b\x32Q.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol\x1a^\n\x08Software\x12\x0c\n\x04\x64\x61pi\x18\x01 \x01(\t\x12\x12\n\x05\x64rive\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x17\n\ntenderdash\x18\x03 \x01(\tH\x01\x88\x01\x01\x42\x08\n\x06_driveB\r\n\x0b_tenderdash\x1a\xb8\x02\n\x08Protocol\x12p\n\ntenderdash\x18\x01 \x01(\x0b\x32\\.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash\x12\x66\n\x05\x64rive\x18\x02 \x01(\x0b\x32W.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive\x1a(\n\nTenderdash\x12\x0b\n\x03p2p\x18\x01 \x01(\r\x12\r\n\x05\x62lock\x18\x02 \x01(\r\x1a(\n\x05\x44rive\x12\x0e\n\x06latest\x18\x03 \x01(\r\x12\x0f\n\x07\x63urrent\x18\x04 \x01(\r\x1a\x7f\n\x04Time\x12\x11\n\x05local\x18\x01 \x01(\x04\x42\x02\x30\x01\x12\x16\n\x05\x62lock\x18\x02 \x01(\x04\x42\x02\x30\x01H\x00\x88\x01\x01\x12\x18\n\x07genesis\x18\x03 \x01(\x04\x42\x02\x30\x01H\x01\x88\x01\x01\x12\x12\n\x05\x65poch\x18\x04 \x01(\rH\x02\x88\x01\x01\x42\x08\n\x06_blockB\n\n\x08_genesisB\x08\n\x06_epoch\x1a<\n\x04Node\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\x18\n\x0bpro_tx_hash\x18\x02 \x01(\x0cH\x00\x88\x01\x01\x42\x0e\n\x0c_pro_tx_hash\x1a\xb3\x02\n\x05\x43hain\x12\x13\n\x0b\x63\x61tching_up\x18\x01 \x01(\x08\x12\x19\n\x11latest_block_hash\x18\x02 \x01(\x0c\x12\x17\n\x0flatest_app_hash\x18\x03 \x01(\x0c\x12\x1f\n\x13latest_block_height\x18\x04 \x01(\x04\x42\x02\x30\x01\x12\x1b\n\x13\x65\x61rliest_block_hash\x18\x05 \x01(\x0c\x12\x19\n\x11\x65\x61rliest_app_hash\x18\x06 \x01(\x0c\x12!\n\x15\x65\x61rliest_block_height\x18\x07 \x01(\x04\x42\x02\x30\x01\x12!\n\x15max_peer_block_height\x18\t \x01(\x04\x42\x02\x30\x01\x12%\n\x18\x63ore_chain_locked_height\x18\n \x01(\rH\x00\x88\x01\x01\x42\x1b\n\x19_core_chain_locked_height\x1a\x43\n\x07Network\x12\x10\n\x08\x63hain_id\x18\x01 \x01(\t\x12\x13\n\x0bpeers_count\x18\x02 \x01(\r\x12\x11\n\tlistening\x18\x03 \x01(\x08\x1a\x85\x02\n\tStateSync\x12\x1d\n\x11total_synced_time\x18\x01 \x01(\x04\x42\x02\x30\x01\x12\x1a\n\x0eremaining_time\x18\x02 \x01(\x04\x42\x02\x30\x01\x12\x17\n\x0ftotal_snapshots\x18\x03 \x01(\r\x12\"\n\x16\x63hunk_process_avg_time\x18\x04 \x01(\x04\x42\x02\x30\x01\x12\x1b\n\x0fsnapshot_height\x18\x05 \x01(\x04\x42\x02\x30\x01\x12!\n\x15snapshot_chunks_count\x18\x06 \x01(\x04\x42\x02\x30\x01\x12\x1d\n\x11\x62\x61\x63kfilled_blocks\x18\x07 \x01(\x04\x42\x02\x30\x01\x12!\n\x15\x62\x61\x63kfill_blocks_total\x18\x08 \x01(\x04\x42\x02\x30\x01\x42\t\n\x07version\"\xb1\x01\n\x1cGetCurrentQuorumsInfoRequest\x12\x64\n\x02v0\x18\x01 \x01(\x0b\x32V.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0H\x00\x1a \n\x1eGetCurrentQuorumsInfoRequestV0B\t\n\x07version\"\xa1\x05\n\x1dGetCurrentQuorumsInfoResponse\x12\x66\n\x02v0\x18\x01 \x01(\x0b\x32X.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0H\x00\x1a\x46\n\x0bValidatorV0\x12\x13\n\x0bpro_tx_hash\x18\x01 \x01(\x0c\x12\x0f\n\x07node_ip\x18\x02 \x01(\t\x12\x11\n\tis_banned\x18\x03 \x01(\x08\x1a\xaf\x01\n\x0eValidatorSetV0\x12\x13\n\x0bquorum_hash\x18\x01 \x01(\x0c\x12\x13\n\x0b\x63ore_height\x18\x02 \x01(\r\x12U\n\x07members\x18\x03 \x03(\x0b\x32\x44.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0\x12\x1c\n\x14threshold_public_key\x18\x04 \x01(\x0c\x1a\x92\x02\n\x1fGetCurrentQuorumsInfoResponseV0\x12\x15\n\rquorum_hashes\x18\x01 \x03(\x0c\x12\x1b\n\x13\x63urrent_quorum_hash\x18\x02 \x01(\x0c\x12_\n\x0evalidator_sets\x18\x03 \x03(\x0b\x32G.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0\x12\x1b\n\x13last_block_proposer\x18\x04 \x01(\x0c\x12=\n\x08metadata\x18\x05 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\t\n\x07version\"\xf4\x01\n\x1fGetIdentityTokenBalancesRequest\x12j\n\x02v0\x18\x01 \x01(\x0b\x32\\.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0H\x00\x1aZ\n!GetIdentityTokenBalancesRequestV0\x12\x13\n\x0bidentity_id\x18\x01 \x01(\x0c\x12\x11\n\ttoken_ids\x18\x02 \x03(\x0c\x12\r\n\x05prove\x18\x03 \x01(\x08\x42\t\n\x07version\"\xad\x05\n GetIdentityTokenBalancesResponse\x12l\n\x02v0\x18\x01 \x01(\x0b\x32^.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0H\x00\x1a\x8f\x04\n\"GetIdentityTokenBalancesResponseV0\x12\x86\x01\n\x0etoken_balances\x18\x01 \x01(\x0b\x32l.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalancesH\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\x1aG\n\x11TokenBalanceEntry\x12\x10\n\x08token_id\x18\x01 \x01(\x0c\x12\x14\n\x07\x62\x61lance\x18\x02 \x01(\x04H\x00\x88\x01\x01\x42\n\n\x08_balance\x1a\x9a\x01\n\rTokenBalances\x12\x88\x01\n\x0etoken_balances\x18\x01 \x03(\x0b\x32p.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntryB\x08\n\x06resultB\t\n\x07version\"\xfc\x01\n!GetIdentitiesTokenBalancesRequest\x12n\n\x02v0\x18\x01 \x01(\x0b\x32`.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0H\x00\x1a\\\n#GetIdentitiesTokenBalancesRequestV0\x12\x10\n\x08token_id\x18\x01 \x01(\x0c\x12\x14\n\x0cidentity_ids\x18\x02 \x03(\x0c\x12\r\n\x05prove\x18\x03 \x01(\x08\x42\t\n\x07version\"\xf2\x05\n\"GetIdentitiesTokenBalancesResponse\x12p\n\x02v0\x18\x01 \x01(\x0b\x32\x62.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0H\x00\x1a\xce\x04\n$GetIdentitiesTokenBalancesResponseV0\x12\x9b\x01\n\x17identity_token_balances\x18\x01 \x01(\x0b\x32x.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalancesH\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\x1aR\n\x19IdentityTokenBalanceEntry\x12\x13\n\x0bidentity_id\x18\x01 \x01(\x0c\x12\x14\n\x07\x62\x61lance\x18\x02 \x01(\x04H\x00\x88\x01\x01\x42\n\n\x08_balance\x1a\xb7\x01\n\x15IdentityTokenBalances\x12\x9d\x01\n\x17identity_token_balances\x18\x01 \x03(\x0b\x32|.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntryB\x08\n\x06resultB\t\n\x07version\"\xe8\x01\n\x1cGetIdentityTokenInfosRequest\x12\x64\n\x02v0\x18\x01 \x01(\x0b\x32V.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0H\x00\x1aW\n\x1eGetIdentityTokenInfosRequestV0\x12\x13\n\x0bidentity_id\x18\x01 \x01(\x0c\x12\x11\n\ttoken_ids\x18\x02 \x03(\x0c\x12\r\n\x05prove\x18\x03 \x01(\x08\x42\t\n\x07version\"\x98\x06\n\x1dGetIdentityTokenInfosResponse\x12\x66\n\x02v0\x18\x01 \x01(\x0b\x32X.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0H\x00\x1a\x83\x05\n\x1fGetIdentityTokenInfosResponseV0\x12z\n\x0btoken_infos\x18\x01 \x01(\x0b\x32\x63.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfosH\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\x16TokenIdentityInfoEntry\x12\x0e\n\x06\x66rozen\x18\x01 \x01(\x08\x1a\xb0\x01\n\x0eTokenInfoEntry\x12\x10\n\x08token_id\x18\x01 \x01(\x0c\x12\x82\x01\n\x04info\x18\x02 \x01(\x0b\x32o.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntryH\x00\x88\x01\x01\x42\x07\n\x05_info\x1a\x8a\x01\n\nTokenInfos\x12|\n\x0btoken_infos\x18\x01 \x03(\x0b\x32g.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntryB\x08\n\x06resultB\t\n\x07version\"\xf0\x01\n\x1eGetIdentitiesTokenInfosRequest\x12h\n\x02v0\x18\x01 \x01(\x0b\x32Z.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0H\x00\x1aY\n GetIdentitiesTokenInfosRequestV0\x12\x10\n\x08token_id\x18\x01 \x01(\x0c\x12\x14\n\x0cidentity_ids\x18\x02 \x03(\x0c\x12\r\n\x05prove\x18\x03 \x01(\x08\x42\t\n\x07version\"\xca\x06\n\x1fGetIdentitiesTokenInfosResponse\x12j\n\x02v0\x18\x01 \x01(\x0b\x32\\.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0H\x00\x1a\xaf\x05\n!GetIdentitiesTokenInfosResponseV0\x12\x8f\x01\n\x14identity_token_infos\x18\x01 \x01(\x0b\x32o.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfosH\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\x16TokenIdentityInfoEntry\x12\x0e\n\x06\x66rozen\x18\x01 \x01(\x08\x1a\xb7\x01\n\x0eTokenInfoEntry\x12\x13\n\x0bidentity_id\x18\x01 \x01(\x0c\x12\x86\x01\n\x04info\x18\x02 \x01(\x0b\x32s.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntryH\x00\x88\x01\x01\x42\x07\n\x05_info\x1a\x97\x01\n\x12IdentityTokenInfos\x12\x80\x01\n\x0btoken_infos\x18\x01 \x03(\x0b\x32k.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntryB\x08\n\x06resultB\t\n\x07version\"\xbf\x01\n\x17GetTokenStatusesRequest\x12Z\n\x02v0\x18\x01 \x01(\x0b\x32L.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0H\x00\x1a=\n\x19GetTokenStatusesRequestV0\x12\x11\n\ttoken_ids\x18\x01 \x03(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\xe7\x04\n\x18GetTokenStatusesResponse\x12\\\n\x02v0\x18\x01 \x01(\x0b\x32N.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0H\x00\x1a\xe1\x03\n\x1aGetTokenStatusesResponseV0\x12v\n\x0etoken_statuses\x18\x01 \x01(\x0b\x32\\.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusesH\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\x44\n\x10TokenStatusEntry\x12\x10\n\x08token_id\x18\x01 \x01(\x0c\x12\x13\n\x06paused\x18\x02 \x01(\x08H\x00\x88\x01\x01\x42\t\n\x07_paused\x1a\x88\x01\n\rTokenStatuses\x12w\n\x0etoken_statuses\x18\x01 \x03(\x0b\x32_.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntryB\x08\n\x06resultB\t\n\x07version\"\x8b\t\n$GetTokenDirectPurchasePricesResponse\x12t\n\x02v0\x18\x01 \x01(\x0b\x32\x66.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0H\x00\x1a\xe1\x07\n&GetTokenDirectPurchasePricesResponseV0\x12\xa9\x01\n\x1ctoken_direct_purchase_prices\x18\x01 \x01(\x0b\x32\x80\x01.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePricesH\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\x33\n\x10PriceForQuantity\x12\x10\n\x08quantity\x18\x01 \x01(\x04\x12\r\n\x05price\x18\x02 \x01(\x04\x1a\xa7\x01\n\x0fPricingSchedule\x12\x93\x01\n\x12price_for_quantity\x18\x01 \x03(\x0b\x32w.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity\x1a\xe4\x01\n\x1dTokenDirectPurchasePriceEntry\x12\x10\n\x08token_id\x18\x01 \x01(\x0c\x12\x15\n\x0b\x66ixed_price\x18\x02 \x01(\x04H\x00\x12\x90\x01\n\x0evariable_price\x18\x03 \x01(\x0b\x32v.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingScheduleH\x00\x42\x07\n\x05price\x1a\xc8\x01\n\x19TokenDirectPurchasePrices\x12\xaa\x01\n\x1btoken_direct_purchase_price\x18\x01 \x03(\x0b\x32\x84\x01.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntryB\x08\n\x06resultB\t\n\x07version\"\xef\x01\n#GetTokenDirectPurchasePricesRequest\x12r\n\x02v0\x18\x01 \x01(\x0b\x32\x64.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0H\x00\x1aI\n%GetTokenDirectPurchasePricesRequestV0\x12\x11\n\ttoken_ids\x18\x01 \x03(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\xef\x04\n)GetTokenPreProgrammedDistributionsRequest\x12~\n\x02v0\x18\x01 \x01(\x0b\x32p.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0H\x00\x1a\xb6\x03\n+GetTokenPreProgrammedDistributionsRequestV0\x12\x10\n\x08token_id\x18\x01 \x01(\x0c\x12\x98\x01\n\rstart_at_info\x18\x02 \x01(\x0b\x32|.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfoH\x00\x88\x01\x01\x12\x12\n\x05limit\x18\x03 \x01(\rH\x01\x88\x01\x01\x12\r\n\x05prove\x18\x04 \x01(\x08\x1a\x9a\x01\n\x0bStartAtInfo\x12\x15\n\rstart_time_ms\x18\x01 \x01(\x04\x12\x1c\n\x0fstart_recipient\x18\x02 \x01(\x0cH\x00\x88\x01\x01\x12%\n\x18start_recipient_included\x18\x03 \x01(\x08H\x01\x88\x01\x01\x42\x12\n\x10_start_recipientB\x1b\n\x19_start_recipient_includedB\x10\n\x0e_start_at_infoB\x08\n\x06_limitB\t\n\x07version\"\xec\x07\n*GetTokenPreProgrammedDistributionsResponse\x12\x80\x01\n\x02v0\x18\x01 \x01(\x0b\x32r.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0H\x00\x1a\xaf\x06\n,GetTokenPreProgrammedDistributionsResponseV0\x12\xa5\x01\n\x13token_distributions\x18\x01 \x01(\x0b\x32\x85\x01.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionsH\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\x16TokenDistributionEntry\x12\x14\n\x0crecipient_id\x18\x01 \x01(\x0c\x12\x0e\n\x06\x61mount\x18\x02 \x01(\x04\x1a\xd4\x01\n\x1bTokenTimedDistributionEntry\x12\x11\n\ttimestamp\x18\x01 \x01(\x04\x12\xa1\x01\n\rdistributions\x18\x02 \x03(\x0b\x32\x89\x01.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry\x1a\xc3\x01\n\x12TokenDistributions\x12\xac\x01\n\x13token_distributions\x18\x01 \x03(\x0b\x32\x8e\x01.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntryB\x08\n\x06resultB\t\n\x07version\"\xca\x01\n\x1aGetTokenTotalSupplyRequest\x12`\n\x02v0\x18\x01 \x01(\x0b\x32R.org.dash.platform.dapi.v0.GetTokenTotalSupplyRequest.GetTokenTotalSupplyRequestV0H\x00\x1a?\n\x1cGetTokenTotalSupplyRequestV0\x12\x10\n\x08token_id\x18\x01 \x01(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\xaf\x04\n\x1bGetTokenTotalSupplyResponse\x12\x62\n\x02v0\x18\x01 \x01(\x0b\x32T.org.dash.platform.dapi.v0.GetTokenTotalSupplyResponse.GetTokenTotalSupplyResponseV0H\x00\x1a\xa0\x03\n\x1dGetTokenTotalSupplyResponseV0\x12\x88\x01\n\x12token_total_supply\x18\x01 \x01(\x0b\x32j.org.dash.platform.dapi.v0.GetTokenTotalSupplyResponse.GetTokenTotalSupplyResponseV0.TokenTotalSupplyEntryH\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\x1ax\n\x15TokenTotalSupplyEntry\x12\x10\n\x08token_id\x18\x01 \x01(\x0c\x12\x30\n(total_aggregated_amount_in_user_accounts\x18\x02 \x01(\x04\x12\x1b\n\x13total_system_amount\x18\x03 \x01(\x04\x42\x08\n\x06resultB\t\n\x07version\"\xd2\x01\n\x13GetGroupInfoRequest\x12R\n\x02v0\x18\x01 \x01(\x0b\x32\x44.org.dash.platform.dapi.v0.GetGroupInfoRequest.GetGroupInfoRequestV0H\x00\x1a\\\n\x15GetGroupInfoRequestV0\x12\x13\n\x0b\x63ontract_id\x18\x01 \x01(\x0c\x12\x1f\n\x17group_contract_position\x18\x02 \x01(\r\x12\r\n\x05prove\x18\x03 \x01(\x08\x42\t\n\x07version\"\xd4\x05\n\x14GetGroupInfoResponse\x12T\n\x02v0\x18\x01 \x01(\x0b\x32\x46.org.dash.platform.dapi.v0.GetGroupInfoResponse.GetGroupInfoResponseV0H\x00\x1a\xda\x04\n\x16GetGroupInfoResponseV0\x12\x66\n\ngroup_info\x18\x01 \x01(\x0b\x32P.org.dash.platform.dapi.v0.GetGroupInfoResponse.GetGroupInfoResponseV0.GroupInfoH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x04 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\x34\n\x10GroupMemberEntry\x12\x11\n\tmember_id\x18\x01 \x01(\x0c\x12\r\n\x05power\x18\x02 \x01(\r\x1a\x98\x01\n\x0eGroupInfoEntry\x12h\n\x07members\x18\x01 \x03(\x0b\x32W.org.dash.platform.dapi.v0.GetGroupInfoResponse.GetGroupInfoResponseV0.GroupMemberEntry\x12\x1c\n\x14group_required_power\x18\x02 \x01(\r\x1a\x8a\x01\n\tGroupInfo\x12n\n\ngroup_info\x18\x01 \x01(\x0b\x32U.org.dash.platform.dapi.v0.GetGroupInfoResponse.GetGroupInfoResponseV0.GroupInfoEntryH\x00\x88\x01\x01\x42\r\n\x0b_group_infoB\x08\n\x06resultB\t\n\x07version\"\xed\x03\n\x14GetGroupInfosRequest\x12T\n\x02v0\x18\x01 \x01(\x0b\x32\x46.org.dash.platform.dapi.v0.GetGroupInfosRequest.GetGroupInfosRequestV0H\x00\x1au\n\x1cStartAtGroupContractPosition\x12%\n\x1dstart_group_contract_position\x18\x01 \x01(\r\x12.\n&start_group_contract_position_included\x18\x02 \x01(\x08\x1a\xfc\x01\n\x16GetGroupInfosRequestV0\x12\x13\n\x0b\x63ontract_id\x18\x01 \x01(\x0c\x12{\n start_at_group_contract_position\x18\x02 \x01(\x0b\x32L.org.dash.platform.dapi.v0.GetGroupInfosRequest.StartAtGroupContractPositionH\x00\x88\x01\x01\x12\x12\n\x05\x63ount\x18\x03 \x01(\rH\x01\x88\x01\x01\x12\r\n\x05prove\x18\x04 \x01(\x08\x42#\n!_start_at_group_contract_positionB\x08\n\x06_countB\t\n\x07version\"\xff\x05\n\x15GetGroupInfosResponse\x12V\n\x02v0\x18\x01 \x01(\x0b\x32H.org.dash.platform.dapi.v0.GetGroupInfosResponse.GetGroupInfosResponseV0H\x00\x1a\x82\x05\n\x17GetGroupInfosResponseV0\x12j\n\x0bgroup_infos\x18\x01 \x01(\x0b\x32S.org.dash.platform.dapi.v0.GetGroupInfosResponse.GetGroupInfosResponseV0.GroupInfosH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x04 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\x34\n\x10GroupMemberEntry\x12\x11\n\tmember_id\x18\x01 \x01(\x0c\x12\r\n\x05power\x18\x02 \x01(\r\x1a\xc3\x01\n\x16GroupPositionInfoEntry\x12\x1f\n\x17group_contract_position\x18\x01 \x01(\r\x12j\n\x07members\x18\x02 \x03(\x0b\x32Y.org.dash.platform.dapi.v0.GetGroupInfosResponse.GetGroupInfosResponseV0.GroupMemberEntry\x12\x1c\n\x14group_required_power\x18\x03 \x01(\r\x1a\x82\x01\n\nGroupInfos\x12t\n\x0bgroup_infos\x18\x01 \x03(\x0b\x32_.org.dash.platform.dapi.v0.GetGroupInfosResponse.GetGroupInfosResponseV0.GroupPositionInfoEntryB\x08\n\x06resultB\t\n\x07version\"\xbe\x04\n\x16GetGroupActionsRequest\x12X\n\x02v0\x18\x01 \x01(\x0b\x32J.org.dash.platform.dapi.v0.GetGroupActionsRequest.GetGroupActionsRequestV0H\x00\x1aL\n\x0fStartAtActionId\x12\x17\n\x0fstart_action_id\x18\x01 \x01(\x0c\x12 \n\x18start_action_id_included\x18\x02 \x01(\x08\x1a\xc8\x02\n\x18GetGroupActionsRequestV0\x12\x13\n\x0b\x63ontract_id\x18\x01 \x01(\x0c\x12\x1f\n\x17group_contract_position\x18\x02 \x01(\r\x12N\n\x06status\x18\x03 \x01(\x0e\x32>.org.dash.platform.dapi.v0.GetGroupActionsRequest.ActionStatus\x12\x62\n\x12start_at_action_id\x18\x04 \x01(\x0b\x32\x41.org.dash.platform.dapi.v0.GetGroupActionsRequest.StartAtActionIdH\x00\x88\x01\x01\x12\x12\n\x05\x63ount\x18\x05 \x01(\rH\x01\x88\x01\x01\x12\r\n\x05prove\x18\x06 \x01(\x08\x42\x15\n\x13_start_at_action_idB\x08\n\x06_count\"&\n\x0c\x41\x63tionStatus\x12\n\n\x06\x41\x43TIVE\x10\x00\x12\n\n\x06\x43LOSED\x10\x01\x42\t\n\x07version\"\xc0\x1e\n\x17GetGroupActionsResponse\x12Z\n\x02v0\x18\x01 \x01(\x0b\x32L.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0H\x00\x1a\xbd\x1d\n\x19GetGroupActionsResponseV0\x12r\n\rgroup_actions\x18\x01 \x01(\x0b\x32Y.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.GroupActionsH\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\tMintEvent\x12\x0e\n\x06\x61mount\x18\x01 \x01(\x04\x12\x14\n\x0crecipient_id\x18\x02 \x01(\x0c\x12\x18\n\x0bpublic_note\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\x0e\n\x0c_public_note\x1a\x45\n\tBurnEvent\x12\x0e\n\x06\x61mount\x18\x01 \x01(\x04\x12\x18\n\x0bpublic_note\x18\x02 \x01(\tH\x00\x88\x01\x01\x42\x0e\n\x0c_public_note\x1aJ\n\x0b\x46reezeEvent\x12\x11\n\tfrozen_id\x18\x01 \x01(\x0c\x12\x18\n\x0bpublic_note\x18\x02 \x01(\tH\x00\x88\x01\x01\x42\x0e\n\x0c_public_note\x1aL\n\rUnfreezeEvent\x12\x11\n\tfrozen_id\x18\x01 \x01(\x0c\x12\x18\n\x0bpublic_note\x18\x02 \x01(\tH\x00\x88\x01\x01\x42\x0e\n\x0c_public_note\x1a\x66\n\x17\x44\x65stroyFrozenFundsEvent\x12\x11\n\tfrozen_id\x18\x01 \x01(\x0c\x12\x0e\n\x06\x61mount\x18\x02 \x01(\x04\x12\x18\n\x0bpublic_note\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\x0e\n\x0c_public_note\x1a\x64\n\x13SharedEncryptedNote\x12\x18\n\x10sender_key_index\x18\x01 \x01(\r\x12\x1b\n\x13recipient_key_index\x18\x02 \x01(\r\x12\x16\n\x0e\x65ncrypted_data\x18\x03 \x01(\x0c\x1a{\n\x15PersonalEncryptedNote\x12!\n\x19root_encryption_key_index\x18\x01 \x01(\r\x12\'\n\x1f\x64\x65rivation_encryption_key_index\x18\x02 \x01(\r\x12\x16\n\x0e\x65ncrypted_data\x18\x03 \x01(\x0c\x1a\xe9\x01\n\x14\x45mergencyActionEvent\x12\x81\x01\n\x0b\x61\x63tion_type\x18\x01 \x01(\x0e\x32l.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.EmergencyActionEvent.ActionType\x12\x18\n\x0bpublic_note\x18\x02 \x01(\tH\x00\x88\x01\x01\"#\n\nActionType\x12\t\n\x05PAUSE\x10\x00\x12\n\n\x06RESUME\x10\x01\x42\x0e\n\x0c_public_note\x1a\x64\n\x16TokenConfigUpdateEvent\x12 \n\x18token_config_update_item\x18\x01 \x01(\x0c\x12\x18\n\x0bpublic_note\x18\x02 \x01(\tH\x00\x88\x01\x01\x42\x0e\n\x0c_public_note\x1a\xe6\x03\n\x1eUpdateDirectPurchasePriceEvent\x12\x15\n\x0b\x66ixed_price\x18\x01 \x01(\x04H\x00\x12\x95\x01\n\x0evariable_price\x18\x02 \x01(\x0b\x32{.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.UpdateDirectPurchasePriceEvent.PricingScheduleH\x00\x12\x18\n\x0bpublic_note\x18\x03 \x01(\tH\x01\x88\x01\x01\x1a\x33\n\x10PriceForQuantity\x12\x10\n\x08quantity\x18\x01 \x01(\x04\x12\r\n\x05price\x18\x02 \x01(\x04\x1a\xac\x01\n\x0fPricingSchedule\x12\x98\x01\n\x12price_for_quantity\x18\x01 \x03(\x0b\x32|.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.UpdateDirectPurchasePriceEvent.PriceForQuantityB\x07\n\x05priceB\x0e\n\x0c_public_note\x1a\xfc\x02\n\x10GroupActionEvent\x12n\n\x0btoken_event\x18\x01 \x01(\x0b\x32W.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.TokenEventH\x00\x12t\n\x0e\x64ocument_event\x18\x02 \x01(\x0b\x32Z.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.DocumentEventH\x00\x12t\n\x0e\x63ontract_event\x18\x03 \x01(\x0b\x32Z.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.ContractEventH\x00\x42\x0c\n\nevent_type\x1a\x8b\x01\n\rDocumentEvent\x12r\n\x06\x63reate\x18\x01 \x01(\x0b\x32`.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.DocumentCreateEventH\x00\x42\x06\n\x04type\x1a/\n\x13\x44ocumentCreateEvent\x12\x18\n\x10\x63reated_document\x18\x01 \x01(\x0c\x1a/\n\x13\x43ontractUpdateEvent\x12\x18\n\x10updated_contract\x18\x01 \x01(\x0c\x1a\x8b\x01\n\rContractEvent\x12r\n\x06update\x18\x01 \x01(\x0b\x32`.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.ContractUpdateEventH\x00\x42\x06\n\x04type\x1a\xd1\x07\n\nTokenEvent\x12\x66\n\x04mint\x18\x01 \x01(\x0b\x32V.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.MintEventH\x00\x12\x66\n\x04\x62urn\x18\x02 \x01(\x0b\x32V.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.BurnEventH\x00\x12j\n\x06\x66reeze\x18\x03 \x01(\x0b\x32X.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.FreezeEventH\x00\x12n\n\x08unfreeze\x18\x04 \x01(\x0b\x32Z.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.UnfreezeEventH\x00\x12\x84\x01\n\x14\x64\x65stroy_frozen_funds\x18\x05 \x01(\x0b\x32\x64.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.DestroyFrozenFundsEventH\x00\x12}\n\x10\x65mergency_action\x18\x06 \x01(\x0b\x32\x61.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.EmergencyActionEventH\x00\x12\x82\x01\n\x13token_config_update\x18\x07 \x01(\x0b\x32\x63.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.TokenConfigUpdateEventH\x00\x12\x83\x01\n\x0cupdate_price\x18\x08 \x01(\x0b\x32k.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.UpdateDirectPurchasePriceEventH\x00\x42\x06\n\x04type\x1a\x93\x01\n\x10GroupActionEntry\x12\x11\n\taction_id\x18\x01 \x01(\x0c\x12l\n\x05\x65vent\x18\x02 \x01(\x0b\x32].org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.GroupActionEvent\x1a\x84\x01\n\x0cGroupActions\x12t\n\rgroup_actions\x18\x01 \x03(\x0b\x32].org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.GroupActionEntryB\x08\n\x06resultB\t\n\x07version\"\x88\x03\n\x1cGetGroupActionSignersRequest\x12\x64\n\x02v0\x18\x01 \x01(\x0b\x32V.org.dash.platform.dapi.v0.GetGroupActionSignersRequest.GetGroupActionSignersRequestV0H\x00\x1a\xce\x01\n\x1eGetGroupActionSignersRequestV0\x12\x13\n\x0b\x63ontract_id\x18\x01 \x01(\x0c\x12\x1f\n\x17group_contract_position\x18\x02 \x01(\r\x12T\n\x06status\x18\x03 \x01(\x0e\x32\x44.org.dash.platform.dapi.v0.GetGroupActionSignersRequest.ActionStatus\x12\x11\n\taction_id\x18\x04 \x01(\x0c\x12\r\n\x05prove\x18\x05 \x01(\x08\"&\n\x0c\x41\x63tionStatus\x12\n\n\x06\x41\x43TIVE\x10\x00\x12\n\n\x06\x43LOSED\x10\x01\x42\t\n\x07version\"\x8b\x05\n\x1dGetGroupActionSignersResponse\x12\x66\n\x02v0\x18\x01 \x01(\x0b\x32X.org.dash.platform.dapi.v0.GetGroupActionSignersResponse.GetGroupActionSignersResponseV0H\x00\x1a\xf6\x03\n\x1fGetGroupActionSignersResponseV0\x12\x8b\x01\n\x14group_action_signers\x18\x01 \x01(\x0b\x32k.org.dash.platform.dapi.v0.GetGroupActionSignersResponse.GetGroupActionSignersResponseV0.GroupActionSignersH\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\x35\n\x11GroupActionSigner\x12\x11\n\tsigner_id\x18\x01 \x01(\x0c\x12\r\n\x05power\x18\x02 \x01(\r\x1a\x91\x01\n\x12GroupActionSigners\x12{\n\x07signers\x18\x01 \x03(\x0b\x32j.org.dash.platform.dapi.v0.GetGroupActionSignersResponse.GetGroupActionSignersResponseV0.GroupActionSignerB\x08\n\x06resultB\t\n\x07version*Z\n\nKeyPurpose\x12\x12\n\x0e\x41UTHENTICATION\x10\x00\x12\x0e\n\nENCRYPTION\x10\x01\x12\x0e\n\nDECRYPTION\x10\x02\x12\x0c\n\x08TRANSFER\x10\x03\x12\n\n\x06VOTING\x10\x05\x32\xd4\x30\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\x12x\n\x0fgetIdentityKeys\x12\x31.org.dash.platform.dapi.v0.GetIdentityKeysRequest\x1a\x32.org.dash.platform.dapi.v0.GetIdentityKeysResponse\x12\x96\x01\n\x19getIdentitiesContractKeys\x12;.org.dash.platform.dapi.v0.GetIdentitiesContractKeysRequest\x1a<.org.dash.platform.dapi.v0.GetIdentitiesContractKeysResponse\x12{\n\x10getIdentityNonce\x12\x32.org.dash.platform.dapi.v0.GetIdentityNonceRequest\x1a\x33.org.dash.platform.dapi.v0.GetIdentityNonceResponse\x12\x93\x01\n\x18getIdentityContractNonce\x12:.org.dash.platform.dapi.v0.GetIdentityContractNonceRequest\x1a;.org.dash.platform.dapi.v0.GetIdentityContractNonceResponse\x12\x81\x01\n\x12getIdentityBalance\x12\x34.org.dash.platform.dapi.v0.GetIdentityBalanceRequest\x1a\x35.org.dash.platform.dapi.v0.GetIdentityBalanceResponse\x12\x8a\x01\n\x15getIdentitiesBalances\x12\x37.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest\x1a\x38.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse\x12\xa2\x01\n\x1dgetIdentityBalanceAndRevision\x12?.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest\x1a@.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse\x12\xaf\x01\n#getEvonodesProposedEpochBlocksByIds\x12\x45.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest\x1a\x41.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse\x12\xb3\x01\n%getEvonodesProposedEpochBlocksByRange\x12G.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest\x1a\x41.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse\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\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\xa5\x01\n\x1egetProtocolVersionUpgradeState\x12@.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest\x1a\x41.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse\x12\xb4\x01\n#getProtocolVersionUpgradeVoteStatus\x12\x45.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest\x1a\x46.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse\x12r\n\rgetEpochsInfo\x12/.org.dash.platform.dapi.v0.GetEpochsInfoRequest\x1a\x30.org.dash.platform.dapi.v0.GetEpochsInfoResponse\x12\x8a\x01\n\x15getContestedResources\x12\x37.org.dash.platform.dapi.v0.GetContestedResourcesRequest\x1a\x38.org.dash.platform.dapi.v0.GetContestedResourcesResponse\x12\xa2\x01\n\x1dgetContestedResourceVoteState\x12?.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest\x1a@.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse\x12\xba\x01\n%getContestedResourceVotersForIdentity\x12G.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest\x1aH.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse\x12\xae\x01\n!getContestedResourceIdentityVotes\x12\x43.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest\x1a\x44.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse\x12\x8a\x01\n\x15getVotePollsByEndDate\x12\x37.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest\x1a\x38.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse\x12\xa5\x01\n\x1egetPrefundedSpecializedBalance\x12@.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest\x1a\x41.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse\x12\x96\x01\n\x19getTotalCreditsInPlatform\x12;.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest\x1a<.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse\x12x\n\x0fgetPathElements\x12\x31.org.dash.platform.dapi.v0.GetPathElementsRequest\x1a\x32.org.dash.platform.dapi.v0.GetPathElementsResponse\x12\x66\n\tgetStatus\x12+.org.dash.platform.dapi.v0.GetStatusRequest\x1a,.org.dash.platform.dapi.v0.GetStatusResponse\x12\x8a\x01\n\x15getCurrentQuorumsInfo\x12\x37.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest\x1a\x38.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse\x12\x93\x01\n\x18getIdentityTokenBalances\x12:.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest\x1a;.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse\x12\x99\x01\n\x1agetIdentitiesTokenBalances\x12<.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest\x1a=.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse\x12\x8a\x01\n\x15getIdentityTokenInfos\x12\x37.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest\x1a\x38.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse\x12\x90\x01\n\x17getIdentitiesTokenInfos\x12\x39.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest\x1a:.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse\x12{\n\x10getTokenStatuses\x12\x32.org.dash.platform.dapi.v0.GetTokenStatusesRequest\x1a\x33.org.dash.platform.dapi.v0.GetTokenStatusesResponse\x12\x9f\x01\n\x1cgetTokenDirectPurchasePrices\x12>.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest\x1a?.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse\x12\xb1\x01\n\"getTokenPreProgrammedDistributions\x12\x44.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest\x1a\x45.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse\x12\x84\x01\n\x13getTokenTotalSupply\x12\x35.org.dash.platform.dapi.v0.GetTokenTotalSupplyRequest\x1a\x36.org.dash.platform.dapi.v0.GetTokenTotalSupplyResponse\x12o\n\x0cgetGroupInfo\x12..org.dash.platform.dapi.v0.GetGroupInfoRequest\x1a/.org.dash.platform.dapi.v0.GetGroupInfoResponse\x12r\n\rgetGroupInfos\x12/.org.dash.platform.dapi.v0.GetGroupInfosRequest\x1a\x30.org.dash.platform.dapi.v0.GetGroupInfosResponse\x12x\n\x0fgetGroupActions\x12\x31.org.dash.platform.dapi.v0.GetGroupActionsRequest\x1a\x32.org.dash.platform.dapi.v0.GetGroupActionsResponse\x12\x8a\x01\n\x15getGroupActionSigners\x12\x37.org.dash.platform.dapi.v0.GetGroupActionSignersRequest\x1a\x38.org.dash.platform.dapi.v0.GetGroupActionSignersResponseb\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\"\x98\x01\n\x10ResponseMetadata\x12\x12\n\x06height\x18\x01 \x01(\x04\x42\x02\x30\x01\x12 \n\x18\x63ore_chain_locked_height\x18\x02 \x01(\r\x12\r\n\x05\x65poch\x18\x03 \x01(\r\x12\x13\n\x07time_ms\x18\x04 \x01(\x04\x42\x02\x30\x01\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\"\xc1\x01\n\x17GetIdentityNonceRequest\x12Z\n\x02v0\x18\x01 \x01(\x0b\x32L.org.dash.platform.dapi.v0.GetIdentityNonceRequest.GetIdentityNonceRequestV0H\x00\x1a?\n\x19GetIdentityNonceRequestV0\x12\x13\n\x0bidentity_id\x18\x01 \x01(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\xf6\x01\n\x1fGetIdentityContractNonceRequest\x12j\n\x02v0\x18\x01 \x01(\x0b\x32\\.org.dash.platform.dapi.v0.GetIdentityContractNonceRequest.GetIdentityContractNonceRequestV0H\x00\x1a\\\n!GetIdentityContractNonceRequestV0\x12\x13\n\x0bidentity_id\x18\x01 \x01(\x0c\x12\x13\n\x0b\x63ontract_id\x18\x02 \x01(\x0c\x12\r\n\x05prove\x18\x03 \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\"\xbc\x02\n\x18GetIdentityNonceResponse\x12\\\n\x02v0\x18\x01 \x01(\x0b\x32N.org.dash.platform.dapi.v0.GetIdentityNonceResponse.GetIdentityNonceResponseV0H\x00\x1a\xb6\x01\n\x1aGetIdentityNonceResponseV0\x12\x1c\n\x0eidentity_nonce\x18\x01 \x01(\x04\x42\x02\x30\x01H\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\"\xe5\x02\n GetIdentityContractNonceResponse\x12l\n\x02v0\x18\x01 \x01(\x0b\x32^.org.dash.platform.dapi.v0.GetIdentityContractNonceResponse.GetIdentityContractNonceResponseV0H\x00\x1a\xc7\x01\n\"GetIdentityContractNonceResponseV0\x12%\n\x17identity_contract_nonce\x18\x01 \x01(\x04\x42\x02\x30\x01H\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\"\xbd\x02\n\x1aGetIdentityBalanceResponse\x12`\n\x02v0\x18\x01 \x01(\x0b\x32R.org.dash.platform.dapi.v0.GetIdentityBalanceResponse.GetIdentityBalanceResponseV0H\x00\x1a\xb1\x01\n\x1cGetIdentityBalanceResponseV0\x12\x15\n\x07\x62\x61lance\x18\x01 \x01(\x04\x42\x02\x30\x01H\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\"\xb1\x04\n%GetIdentityBalanceAndRevisionResponse\x12v\n\x02v0\x18\x01 \x01(\x0b\x32h.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse.GetIdentityBalanceAndRevisionResponseV0H\x00\x1a\x84\x03\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?\n\x12\x42\x61lanceAndRevision\x12\x13\n\x07\x62\x61lance\x18\x01 \x01(\x04\x42\x02\x30\x01\x12\x14\n\x08revision\x18\x02 \x01(\x04\x42\x02\x30\x01\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\"\xef\x02\n GetIdentitiesContractKeysRequest\x12l\n\x02v0\x18\x01 \x01(\x0b\x32^.org.dash.platform.dapi.v0.GetIdentitiesContractKeysRequest.GetIdentitiesContractKeysRequestV0H\x00\x1a\xd1\x01\n\"GetIdentitiesContractKeysRequestV0\x12\x16\n\x0eidentities_ids\x18\x01 \x03(\x0c\x12\x13\n\x0b\x63ontract_id\x18\x02 \x01(\x0c\x12\x1f\n\x12\x64ocument_type_name\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x37\n\x08purposes\x18\x04 \x03(\x0e\x32%.org.dash.platform.dapi.v0.KeyPurpose\x12\r\n\x05prove\x18\x05 \x01(\x08\x42\x15\n\x13_document_type_nameB\t\n\x07version\"\xdf\x06\n!GetIdentitiesContractKeysResponse\x12n\n\x02v0\x18\x01 \x01(\x0b\x32`.org.dash.platform.dapi.v0.GetIdentitiesContractKeysResponse.GetIdentitiesContractKeysResponseV0H\x00\x1a\xbe\x05\n#GetIdentitiesContractKeysResponseV0\x12\x8a\x01\n\x0fidentities_keys\x18\x01 \x01(\x0b\x32o.org.dash.platform.dapi.v0.GetIdentitiesContractKeysResponse.GetIdentitiesContractKeysResponseV0.IdentitiesKeysH\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\x1aY\n\x0bPurposeKeys\x12\x36\n\x07purpose\x18\x01 \x01(\x0e\x32%.org.dash.platform.dapi.v0.KeyPurpose\x12\x12\n\nkeys_bytes\x18\x02 \x03(\x0c\x1a\x9f\x01\n\x0cIdentityKeys\x12\x13\n\x0bidentity_id\x18\x01 \x01(\x0c\x12z\n\x04keys\x18\x02 \x03(\x0b\x32l.org.dash.platform.dapi.v0.GetIdentitiesContractKeysResponse.GetIdentitiesContractKeysResponseV0.PurposeKeys\x1a\x90\x01\n\x0eIdentitiesKeys\x12~\n\x07\x65ntries\x18\x01 \x03(\x0b\x32m.org.dash.platform.dapi.v0.GetIdentitiesContractKeysResponse.GetIdentitiesContractKeysResponseV0.IdentityKeysB\x08\n\x06resultB\t\n\x07version\"\xa4\x02\n*GetEvonodesProposedEpochBlocksByIdsRequest\x12\x80\x01\n\x02v0\x18\x01 \x01(\x0b\x32r.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest.GetEvonodesProposedEpochBlocksByIdsRequestV0H\x00\x1ah\n,GetEvonodesProposedEpochBlocksByIdsRequestV0\x12\x12\n\x05\x65poch\x18\x01 \x01(\rH\x00\x88\x01\x01\x12\x0b\n\x03ids\x18\x02 \x03(\x0c\x12\r\n\x05prove\x18\x03 \x01(\x08\x42\x08\n\x06_epochB\t\n\x07version\"\x92\x06\n&GetEvonodesProposedEpochBlocksResponse\x12x\n\x02v0\x18\x01 \x01(\x0b\x32j.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0H\x00\x1a\xe2\x04\n(GetEvonodesProposedEpochBlocksResponseV0\x12\xb1\x01\n#evonodes_proposed_block_counts_info\x18\x01 \x01(\x0b\x32\x81\x01.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodesProposedBlocksH\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\x15\x45vonodeProposedBlocks\x12\x13\n\x0bpro_tx_hash\x18\x01 \x01(\x0c\x12\x11\n\x05\x63ount\x18\x02 \x01(\x04\x42\x02\x30\x01\x1a\xc4\x01\n\x16\x45vonodesProposedBlocks\x12\xa9\x01\n\x1e\x65vonodes_proposed_block_counts\x18\x01 \x03(\x0b\x32\x80\x01.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodeProposedBlocksB\x08\n\x06resultB\t\n\x07version\"\xf2\x02\n,GetEvonodesProposedEpochBlocksByRangeRequest\x12\x84\x01\n\x02v0\x18\x01 \x01(\x0b\x32v.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest.GetEvonodesProposedEpochBlocksByRangeRequestV0H\x00\x1a\xaf\x01\n.GetEvonodesProposedEpochBlocksByRangeRequestV0\x12\x12\n\x05\x65poch\x18\x01 \x01(\rH\x01\x88\x01\x01\x12\x12\n\x05limit\x18\x02 \x01(\rH\x02\x88\x01\x01\x12\x15\n\x0bstart_after\x18\x03 \x01(\x0cH\x00\x12\x12\n\x08start_at\x18\x04 \x01(\x0cH\x00\x12\r\n\x05prove\x18\x05 \x01(\x08\x42\x07\n\x05startB\x08\n\x06_epochB\x08\n\x06_limitB\t\n\x07version\"\xcd\x01\n\x1cGetIdentitiesBalancesRequest\x12\x64\n\x02v0\x18\x01 \x01(\x0b\x32V.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest.GetIdentitiesBalancesRequestV0H\x00\x1a<\n\x1eGetIdentitiesBalancesRequestV0\x12\x0b\n\x03ids\x18\x01 \x03(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\x9f\x05\n\x1dGetIdentitiesBalancesResponse\x12\x66\n\x02v0\x18\x01 \x01(\x0b\x32X.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0H\x00\x1a\x8a\x04\n\x1fGetIdentitiesBalancesResponseV0\x12\x8a\x01\n\x13identities_balances\x18\x01 \x01(\x0b\x32k.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentitiesBalancesH\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\x1aL\n\x0fIdentityBalance\x12\x13\n\x0bidentity_id\x18\x01 \x01(\x0c\x12\x18\n\x07\x62\x61lance\x18\x02 \x01(\x04\x42\x02\x30\x01H\x00\x88\x01\x01\x42\n\n\x08_balance\x1a\x8f\x01\n\x12IdentitiesBalances\x12y\n\x07\x65ntries\x18\x01 \x03(\x0b\x32h.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse.GetIdentitiesBalancesResponseV0.IdentityBalanceB\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\"\xc5\x02\n\x1dGetDataContractHistoryRequest\x12\x66\n\x02v0\x18\x01 \x01(\x0b\x32X.org.dash.platform.dapi.v0.GetDataContractHistoryRequest.GetDataContractHistoryRequestV0H\x00\x1a\xb0\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\x17\n\x0bstart_at_ms\x18\x04 \x01(\x04\x42\x02\x30\x01\x12\r\n\x05prove\x18\x05 \x01(\x08\x42\t\n\x07version\"\xb2\x05\n\x1eGetDataContractHistoryResponse\x12h\n\x02v0\x18\x01 \x01(\x0b\x32Z.org.dash.platform.dapi.v0.GetDataContractHistoryResponse.GetDataContractHistoryResponseV0H\x00\x1a\x9a\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;\n\x18\x44\x61taContractHistoryEntry\x12\x10\n\x04\x64\x61te\x18\x01 \x01(\x04\x42\x02\x30\x01\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\"\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\"\xbd\x02\n*GetIdentityByNonUniquePublicKeyHashRequest\x12\x80\x01\n\x02v0\x18\x01 \x01(\x0b\x32r.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0H\x00\x1a\x80\x01\n,GetIdentityByNonUniquePublicKeyHashRequestV0\x12\x17\n\x0fpublic_key_hash\x18\x01 \x01(\x0c\x12\x18\n\x0bstart_after\x18\x02 \x01(\x0cH\x00\x88\x01\x01\x12\r\n\x05prove\x18\x03 \x01(\x08\x42\x0e\n\x0c_start_afterB\t\n\x07version\"\xd6\x06\n+GetIdentityByNonUniquePublicKeyHashResponse\x12\x82\x01\n\x02v0\x18\x01 \x01(\x0b\x32t.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0H\x00\x1a\x96\x05\n-GetIdentityByNonUniquePublicKeyHashResponseV0\x12\x9a\x01\n\x08identity\x18\x01 \x01(\x0b\x32\x85\x01.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponseH\x00\x12\x9d\x01\n\x05proof\x18\x02 \x01(\x0b\x32\x8b\x01.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponseH\x00\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\x36\n\x10IdentityResponse\x12\x15\n\x08identity\x18\x01 \x01(\x0cH\x00\x88\x01\x01\x42\x0b\n\t_identity\x1a\xa6\x01\n\x16IdentityProvedResponse\x12P\n&grovedb_identity_public_key_hash_proof\x18\x01 \x01(\x0b\x32 .org.dash.platform.dapi.v0.Proof\x12!\n\x14identity_proof_bytes\x18\x02 \x01(\x0cH\x00\x88\x01\x01\x42\x17\n\x15_identity_proof_bytesB\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\"\xe4\x01\n%GetProtocolVersionUpgradeStateRequest\x12v\n\x02v0\x18\x01 \x01(\x0b\x32h.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0H\x00\x1a\x38\n\'GetProtocolVersionUpgradeStateRequestV0\x12\r\n\x05prove\x18\x01 \x01(\x08\x42\t\n\x07version\"\xb5\x05\n&GetProtocolVersionUpgradeStateResponse\x12x\n\x02v0\x18\x01 \x01(\x0b\x32j.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0H\x00\x1a\x85\x04\n(GetProtocolVersionUpgradeStateResponseV0\x12\x87\x01\n\x08versions\x18\x01 \x01(\x0b\x32s.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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\x96\x01\n\x08Versions\x12\x89\x01\n\x08versions\x18\x01 \x03(\x0b\x32w.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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\"\xa3\x02\n*GetProtocolVersionUpgradeVoteStatusRequest\x12\x80\x01\n\x02v0\x18\x01 \x01(\x0b\x32r.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0H\x00\x1ag\n,GetProtocolVersionUpgradeVoteStatusRequestV0\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\"\xef\x05\n+GetProtocolVersionUpgradeVoteStatusResponse\x12\x82\x01\n\x02v0\x18\x01 \x01(\x0b\x32t.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0H\x00\x1a\xaf\x04\n-GetProtocolVersionUpgradeVoteStatusResponseV0\x12\x98\x01\n\x08versions\x18\x01 \x01(\x0b\x32\x83\x01.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.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\xaf\x01\n\x0eVersionSignals\x12\x9c\x01\n\x0fversion_signals\x18\x01 \x03(\x0b\x32\x82\x01.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.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\"\x99\x05\n\x15GetEpochsInfoResponse\x12V\n\x02v0\x18\x01 \x01(\x0b\x32H.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0H\x00\x1a\x9c\x04\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\xa6\x01\n\tEpochInfo\x12\x0e\n\x06number\x18\x01 \x01(\r\x12\x1e\n\x12\x66irst_block_height\x18\x02 \x01(\x04\x42\x02\x30\x01\x12\x1f\n\x17\x66irst_core_block_height\x18\x03 \x01(\r\x12\x16\n\nstart_time\x18\x04 \x01(\x04\x42\x02\x30\x01\x12\x16\n\x0e\x66\x65\x65_multiplier\x18\x05 \x01(\x01\x12\x18\n\x10protocol_version\x18\x06 \x01(\rB\x08\n\x06resultB\t\n\x07version\"\xbf\x02\n\x1dGetFinalizedEpochInfosRequest\x12\x66\n\x02v0\x18\x01 \x01(\x0b\x32X.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0H\x00\x1a\xaa\x01\n\x1fGetFinalizedEpochInfosRequestV0\x12\x19\n\x11start_epoch_index\x18\x01 \x01(\r\x12\"\n\x1astart_epoch_index_included\x18\x02 \x01(\x08\x12\x17\n\x0f\x65nd_epoch_index\x18\x03 \x01(\r\x12 \n\x18\x65nd_epoch_index_included\x18\x04 \x01(\x08\x12\r\n\x05prove\x18\x05 \x01(\x08\x42\t\n\x07version\"\xbd\t\n\x1eGetFinalizedEpochInfosResponse\x12h\n\x02v0\x18\x01 \x01(\x0b\x32Z.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0H\x00\x1a\xa5\x08\n GetFinalizedEpochInfosResponseV0\x12\x80\x01\n\x06\x65pochs\x18\x01 \x01(\x0b\x32n.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfosH\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\xa4\x01\n\x13\x46inalizedEpochInfos\x12\x8c\x01\n\x15\x66inalized_epoch_infos\x18\x01 \x03(\x0b\x32m.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo\x1a\x9f\x04\n\x12\x46inalizedEpochInfo\x12\x0e\n\x06number\x18\x01 \x01(\r\x12\x1e\n\x12\x66irst_block_height\x18\x02 \x01(\x04\x42\x02\x30\x01\x12\x1f\n\x17\x66irst_core_block_height\x18\x03 \x01(\r\x12\x1c\n\x10\x66irst_block_time\x18\x04 \x01(\x04\x42\x02\x30\x01\x12\x16\n\x0e\x66\x65\x65_multiplier\x18\x05 \x01(\x01\x12\x18\n\x10protocol_version\x18\x06 \x01(\r\x12!\n\x15total_blocks_in_epoch\x18\x07 \x01(\x04\x42\x02\x30\x01\x12*\n\"next_epoch_start_core_block_height\x18\x08 \x01(\r\x12!\n\x15total_processing_fees\x18\t \x01(\x04\x42\x02\x30\x01\x12*\n\x1etotal_distributed_storage_fees\x18\n \x01(\x04\x42\x02\x30\x01\x12&\n\x1atotal_created_storage_fees\x18\x0b \x01(\x04\x42\x02\x30\x01\x12\x1e\n\x12\x63ore_block_rewards\x18\x0c \x01(\x04\x42\x02\x30\x01\x12\x81\x01\n\x0f\x62lock_proposers\x18\r \x03(\x0b\x32h.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer\x1a\x39\n\rBlockProposer\x12\x13\n\x0bproposer_id\x18\x01 \x01(\x0c\x12\x13\n\x0b\x62lock_count\x18\x02 \x01(\rB\x08\n\x06resultB\t\n\x07version\"\xde\x04\n\x1cGetContestedResourcesRequest\x12\x64\n\x02v0\x18\x01 \x01(\x0b\x32V.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0H\x00\x1a\xcc\x03\n\x1eGetContestedResourcesRequestV0\x12\x13\n\x0b\x63ontract_id\x18\x01 \x01(\x0c\x12\x1a\n\x12\x64ocument_type_name\x18\x02 \x01(\t\x12\x12\n\nindex_name\x18\x03 \x01(\t\x12\x1a\n\x12start_index_values\x18\x04 \x03(\x0c\x12\x18\n\x10\x65nd_index_values\x18\x05 \x03(\x0c\x12\x89\x01\n\x13start_at_value_info\x18\x06 \x01(\x0b\x32g.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfoH\x00\x88\x01\x01\x12\x12\n\x05\x63ount\x18\x07 \x01(\rH\x01\x88\x01\x01\x12\x17\n\x0forder_ascending\x18\x08 \x01(\x08\x12\r\n\x05prove\x18\t \x01(\x08\x1a\x45\n\x10StartAtValueInfo\x12\x13\n\x0bstart_value\x18\x01 \x01(\x0c\x12\x1c\n\x14start_value_included\x18\x02 \x01(\x08\x42\x16\n\x14_start_at_value_infoB\x08\n\x06_countB\t\n\x07version\"\x88\x04\n\x1dGetContestedResourcesResponse\x12\x66\n\x02v0\x18\x01 \x01(\x0b\x32X.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0H\x00\x1a\xf3\x02\n\x1fGetContestedResourcesResponseV0\x12\x95\x01\n\x19\x63ontested_resource_values\x18\x01 \x01(\x0b\x32p.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValuesH\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\x17\x43ontestedResourceValues\x12!\n\x19\x63ontested_resource_values\x18\x01 \x03(\x0c\x42\x08\n\x06resultB\t\n\x07version\"\xd2\x05\n\x1cGetVotePollsByEndDateRequest\x12\x64\n\x02v0\x18\x01 \x01(\x0b\x32V.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0H\x00\x1a\xc0\x04\n\x1eGetVotePollsByEndDateRequestV0\x12\x84\x01\n\x0fstart_time_info\x18\x01 \x01(\x0b\x32\x66.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfoH\x00\x88\x01\x01\x12\x80\x01\n\rend_time_info\x18\x02 \x01(\x0b\x32\x64.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfoH\x01\x88\x01\x01\x12\x12\n\x05limit\x18\x03 \x01(\rH\x02\x88\x01\x01\x12\x13\n\x06offset\x18\x04 \x01(\rH\x03\x88\x01\x01\x12\x11\n\tascending\x18\x05 \x01(\x08\x12\r\n\x05prove\x18\x06 \x01(\x08\x1aI\n\x0fStartAtTimeInfo\x12\x19\n\rstart_time_ms\x18\x01 \x01(\x04\x42\x02\x30\x01\x12\x1b\n\x13start_time_included\x18\x02 \x01(\x08\x1a\x43\n\rEndAtTimeInfo\x12\x17\n\x0b\x65nd_time_ms\x18\x01 \x01(\x04\x42\x02\x30\x01\x12\x19\n\x11\x65nd_time_included\x18\x02 \x01(\x08\x42\x12\n\x10_start_time_infoB\x10\n\x0e_end_time_infoB\x08\n\x06_limitB\t\n\x07_offsetB\t\n\x07version\"\x83\x06\n\x1dGetVotePollsByEndDateResponse\x12\x66\n\x02v0\x18\x01 \x01(\x0b\x32X.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0H\x00\x1a\xee\x04\n\x1fGetVotePollsByEndDateResponseV0\x12\x9c\x01\n\x18vote_polls_by_timestamps\x18\x01 \x01(\x0b\x32x.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestampsH\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\x1aV\n\x1eSerializedVotePollsByTimestamp\x12\x15\n\ttimestamp\x18\x01 \x01(\x04\x42\x02\x30\x01\x12\x1d\n\x15serialized_vote_polls\x18\x02 \x03(\x0c\x1a\xd7\x01\n\x1fSerializedVotePollsByTimestamps\x12\x99\x01\n\x18vote_polls_by_timestamps\x18\x01 \x03(\x0b\x32w.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp\x12\x18\n\x10\x66inished_results\x18\x02 \x01(\x08\x42\x08\n\x06resultB\t\n\x07version\"\xff\x06\n$GetContestedResourceVoteStateRequest\x12t\n\x02v0\x18\x01 \x01(\x0b\x32\x66.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0H\x00\x1a\xd5\x05\n&GetContestedResourceVoteStateRequestV0\x12\x13\n\x0b\x63ontract_id\x18\x01 \x01(\x0c\x12\x1a\n\x12\x64ocument_type_name\x18\x02 \x01(\t\x12\x12\n\nindex_name\x18\x03 \x01(\t\x12\x14\n\x0cindex_values\x18\x04 \x03(\x0c\x12\x86\x01\n\x0bresult_type\x18\x05 \x01(\x0e\x32q.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.ResultType\x12\x36\n.allow_include_locked_and_abstaining_vote_tally\x18\x06 \x01(\x08\x12\xa3\x01\n\x18start_at_identifier_info\x18\x07 \x01(\x0b\x32|.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfoH\x00\x88\x01\x01\x12\x12\n\x05\x63ount\x18\x08 \x01(\rH\x01\x88\x01\x01\x12\r\n\x05prove\x18\t \x01(\x08\x1aT\n\x15StartAtIdentifierInfo\x12\x18\n\x10start_identifier\x18\x01 \x01(\x0c\x12!\n\x19start_identifier_included\x18\x02 \x01(\x08\"I\n\nResultType\x12\r\n\tDOCUMENTS\x10\x00\x12\x0e\n\nVOTE_TALLY\x10\x01\x12\x1c\n\x18\x44OCUMENTS_AND_VOTE_TALLY\x10\x02\x42\x1b\n\x19_start_at_identifier_infoB\x08\n\x06_countB\t\n\x07version\"\x94\x0c\n%GetContestedResourceVoteStateResponse\x12v\n\x02v0\x18\x01 \x01(\x0b\x32h.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0H\x00\x1a\xe7\n\n\'GetContestedResourceVoteStateResponseV0\x12\xae\x01\n\x1d\x63ontested_resource_contenders\x18\x01 \x01(\x0b\x32\x84\x01.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContendersH\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\xda\x03\n\x10\x46inishedVoteInfo\x12\xad\x01\n\x15\x66inished_vote_outcome\x18\x01 \x01(\x0e\x32\x8d\x01.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.FinishedVoteOutcome\x12\x1f\n\x12won_by_identity_id\x18\x02 \x01(\x0cH\x00\x88\x01\x01\x12$\n\x18\x66inished_at_block_height\x18\x03 \x01(\x04\x42\x02\x30\x01\x12%\n\x1d\x66inished_at_core_block_height\x18\x04 \x01(\r\x12%\n\x19\x66inished_at_block_time_ms\x18\x05 \x01(\x04\x42\x02\x30\x01\x12\x19\n\x11\x66inished_at_epoch\x18\x06 \x01(\r\"O\n\x13\x46inishedVoteOutcome\x12\x14\n\x10TOWARDS_IDENTITY\x10\x00\x12\n\n\x06LOCKED\x10\x01\x12\x16\n\x12NO_PREVIOUS_WINNER\x10\x02\x42\x15\n\x13_won_by_identity_id\x1a\xc4\x03\n\x1b\x43ontestedResourceContenders\x12\x86\x01\n\ncontenders\x18\x01 \x03(\x0b\x32r.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender\x12\x1f\n\x12\x61\x62stain_vote_tally\x18\x02 \x01(\rH\x00\x88\x01\x01\x12\x1c\n\x0flock_vote_tally\x18\x03 \x01(\rH\x01\x88\x01\x01\x12\x9a\x01\n\x12\x66inished_vote_info\x18\x04 \x01(\x0b\x32y.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfoH\x02\x88\x01\x01\x42\x15\n\x13_abstain_vote_tallyB\x12\n\x10_lock_vote_tallyB\x15\n\x13_finished_vote_info\x1ak\n\tContender\x12\x12\n\nidentifier\x18\x01 \x01(\x0c\x12\x17\n\nvote_count\x18\x02 \x01(\rH\x00\x88\x01\x01\x12\x15\n\x08\x64ocument\x18\x03 \x01(\x0cH\x01\x88\x01\x01\x42\r\n\x0b_vote_countB\x0b\n\t_documentB\x08\n\x06resultB\t\n\x07version\"\xd5\x05\n,GetContestedResourceVotersForIdentityRequest\x12\x84\x01\n\x02v0\x18\x01 \x01(\x0b\x32v.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0H\x00\x1a\x92\x04\n.GetContestedResourceVotersForIdentityRequestV0\x12\x13\n\x0b\x63ontract_id\x18\x01 \x01(\x0c\x12\x1a\n\x12\x64ocument_type_name\x18\x02 \x01(\t\x12\x12\n\nindex_name\x18\x03 \x01(\t\x12\x14\n\x0cindex_values\x18\x04 \x03(\x0c\x12\x15\n\rcontestant_id\x18\x05 \x01(\x0c\x12\xb4\x01\n\x18start_at_identifier_info\x18\x06 \x01(\x0b\x32\x8c\x01.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfoH\x00\x88\x01\x01\x12\x12\n\x05\x63ount\x18\x07 \x01(\rH\x01\x88\x01\x01\x12\x17\n\x0forder_ascending\x18\x08 \x01(\x08\x12\r\n\x05prove\x18\t \x01(\x08\x1aT\n\x15StartAtIdentifierInfo\x12\x18\n\x10start_identifier\x18\x01 \x01(\x0c\x12!\n\x19start_identifier_included\x18\x02 \x01(\x08\x42\x1b\n\x19_start_at_identifier_infoB\x08\n\x06_countB\t\n\x07version\"\xf1\x04\n-GetContestedResourceVotersForIdentityResponse\x12\x86\x01\n\x02v0\x18\x01 \x01(\x0b\x32x.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0H\x00\x1a\xab\x03\n/GetContestedResourceVotersForIdentityResponseV0\x12\xb6\x01\n\x19\x63ontested_resource_voters\x18\x01 \x01(\x0b\x32\x90\x01.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVotersH\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\x43\n\x17\x43ontestedResourceVoters\x12\x0e\n\x06voters\x18\x01 \x03(\x0c\x12\x18\n\x10\x66inished_results\x18\x02 \x01(\x08\x42\x08\n\x06resultB\t\n\x07version\"\xad\x05\n(GetContestedResourceIdentityVotesRequest\x12|\n\x02v0\x18\x01 \x01(\x0b\x32n.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0H\x00\x1a\xf7\x03\n*GetContestedResourceIdentityVotesRequestV0\x12\x13\n\x0bidentity_id\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\x17\n\x0forder_ascending\x18\x04 \x01(\x08\x12\xae\x01\n\x1astart_at_vote_poll_id_info\x18\x05 \x01(\x0b\x32\x84\x01.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfoH\x00\x88\x01\x01\x12\r\n\x05prove\x18\x06 \x01(\x08\x1a\x61\n\x15StartAtVotePollIdInfo\x12 \n\x18start_at_poll_identifier\x18\x01 \x01(\x0c\x12&\n\x1estart_poll_identifier_included\x18\x02 \x01(\x08\x42\x1d\n\x1b_start_at_vote_poll_id_infoB\t\n\x07version\"\xc8\n\n)GetContestedResourceIdentityVotesResponse\x12~\n\x02v0\x18\x01 \x01(\x0b\x32p.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0H\x00\x1a\x8f\t\n+GetContestedResourceIdentityVotesResponseV0\x12\xa1\x01\n\x05votes\x18\x01 \x01(\x0b\x32\x8f\x01.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotesH\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\xf7\x01\n\x1e\x43ontestedResourceIdentityVotes\x12\xba\x01\n!contested_resource_identity_votes\x18\x01 \x03(\x0b\x32\x8e\x01.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote\x12\x18\n\x10\x66inished_results\x18\x02 \x01(\x08\x1a\xad\x02\n\x12ResourceVoteChoice\x12\xad\x01\n\x10vote_choice_type\x18\x01 \x01(\x0e\x32\x92\x01.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.VoteChoiceType\x12\x18\n\x0bidentity_id\x18\x02 \x01(\x0cH\x00\x88\x01\x01\"=\n\x0eVoteChoiceType\x12\x14\n\x10TOWARDS_IDENTITY\x10\x00\x12\x0b\n\x07\x41\x42STAIN\x10\x01\x12\x08\n\x04LOCK\x10\x02\x42\x0e\n\x0c_identity_id\x1a\x95\x02\n\x1d\x43ontestedResourceIdentityVote\x12\x13\n\x0b\x63ontract_id\x18\x01 \x01(\x0c\x12\x1a\n\x12\x64ocument_type_name\x18\x02 \x01(\t\x12\'\n\x1fserialized_index_storage_values\x18\x03 \x03(\x0c\x12\x99\x01\n\x0bvote_choice\x18\x04 \x01(\x0b\x32\x83\x01.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoiceB\x08\n\x06resultB\t\n\x07version\"\xf0\x01\n%GetPrefundedSpecializedBalanceRequest\x12v\n\x02v0\x18\x01 \x01(\x0b\x32h.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0H\x00\x1a\x44\n\'GetPrefundedSpecializedBalanceRequestV0\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\xed\x02\n&GetPrefundedSpecializedBalanceResponse\x12x\n\x02v0\x18\x01 \x01(\x0b\x32j.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0H\x00\x1a\xbd\x01\n(GetPrefundedSpecializedBalanceResponseV0\x12\x15\n\x07\x62\x61lance\x18\x01 \x01(\x04\x42\x02\x30\x01H\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\"\xd0\x01\n GetTotalCreditsInPlatformRequest\x12l\n\x02v0\x18\x01 \x01(\x0b\x32^.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0H\x00\x1a\x33\n\"GetTotalCreditsInPlatformRequestV0\x12\r\n\x05prove\x18\x01 \x01(\x08\x42\t\n\x07version\"\xd9\x02\n!GetTotalCreditsInPlatformResponse\x12n\n\x02v0\x18\x01 \x01(\x0b\x32`.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0H\x00\x1a\xb8\x01\n#GetTotalCreditsInPlatformResponseV0\x12\x15\n\x07\x63redits\x18\x01 \x01(\x04\x42\x02\x30\x01H\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\x16GetPathElementsRequest\x12X\n\x02v0\x18\x01 \x01(\x0b\x32J.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0H\x00\x1a\x45\n\x18GetPathElementsRequestV0\x12\x0c\n\x04path\x18\x01 \x03(\x0c\x12\x0c\n\x04keys\x18\x02 \x03(\x0c\x12\r\n\x05prove\x18\x03 \x01(\x08\x42\t\n\x07version\"\xa3\x03\n\x17GetPathElementsResponse\x12Z\n\x02v0\x18\x01 \x01(\x0b\x32L.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0H\x00\x1a\xa0\x02\n\x19GetPathElementsResponseV0\x12i\n\x08\x65lements\x18\x01 \x01(\x0b\x32U.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.ElementsH\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\x1c\n\x08\x45lements\x12\x10\n\x08\x65lements\x18\x01 \x03(\x0c\x42\x08\n\x06resultB\t\n\x07version\"\x81\x01\n\x10GetStatusRequest\x12L\n\x02v0\x18\x01 \x01(\x0b\x32>.org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0H\x00\x1a\x14\n\x12GetStatusRequestV0B\t\n\x07version\"\xd0\x10\n\x11GetStatusResponse\x12N\n\x02v0\x18\x01 \x01(\x0b\x32@.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0H\x00\x1a\xdf\x0f\n\x13GetStatusResponseV0\x12Y\n\x07version\x18\x01 \x01(\x0b\x32H.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version\x12S\n\x04node\x18\x02 \x01(\x0b\x32\x45.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node\x12U\n\x05\x63hain\x18\x03 \x01(\x0b\x32\x46.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain\x12Y\n\x07network\x18\x04 \x01(\x0b\x32H.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network\x12^\n\nstate_sync\x18\x05 \x01(\x0b\x32J.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync\x12S\n\x04time\x18\x06 \x01(\x0b\x32\x45.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time\x1a\xee\x04\n\x07Version\x12\x63\n\x08software\x18\x01 \x01(\x0b\x32Q.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software\x12\x63\n\x08protocol\x18\x02 \x01(\x0b\x32Q.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol\x1a^\n\x08Software\x12\x0c\n\x04\x64\x61pi\x18\x01 \x01(\t\x12\x12\n\x05\x64rive\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x17\n\ntenderdash\x18\x03 \x01(\tH\x01\x88\x01\x01\x42\x08\n\x06_driveB\r\n\x0b_tenderdash\x1a\xb8\x02\n\x08Protocol\x12p\n\ntenderdash\x18\x01 \x01(\x0b\x32\\.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash\x12\x66\n\x05\x64rive\x18\x02 \x01(\x0b\x32W.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive\x1a(\n\nTenderdash\x12\x0b\n\x03p2p\x18\x01 \x01(\r\x12\r\n\x05\x62lock\x18\x02 \x01(\r\x1a(\n\x05\x44rive\x12\x0e\n\x06latest\x18\x03 \x01(\r\x12\x0f\n\x07\x63urrent\x18\x04 \x01(\r\x1a\x7f\n\x04Time\x12\x11\n\x05local\x18\x01 \x01(\x04\x42\x02\x30\x01\x12\x16\n\x05\x62lock\x18\x02 \x01(\x04\x42\x02\x30\x01H\x00\x88\x01\x01\x12\x18\n\x07genesis\x18\x03 \x01(\x04\x42\x02\x30\x01H\x01\x88\x01\x01\x12\x12\n\x05\x65poch\x18\x04 \x01(\rH\x02\x88\x01\x01\x42\x08\n\x06_blockB\n\n\x08_genesisB\x08\n\x06_epoch\x1a<\n\x04Node\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\x18\n\x0bpro_tx_hash\x18\x02 \x01(\x0cH\x00\x88\x01\x01\x42\x0e\n\x0c_pro_tx_hash\x1a\xb3\x02\n\x05\x43hain\x12\x13\n\x0b\x63\x61tching_up\x18\x01 \x01(\x08\x12\x19\n\x11latest_block_hash\x18\x02 \x01(\x0c\x12\x17\n\x0flatest_app_hash\x18\x03 \x01(\x0c\x12\x1f\n\x13latest_block_height\x18\x04 \x01(\x04\x42\x02\x30\x01\x12\x1b\n\x13\x65\x61rliest_block_hash\x18\x05 \x01(\x0c\x12\x19\n\x11\x65\x61rliest_app_hash\x18\x06 \x01(\x0c\x12!\n\x15\x65\x61rliest_block_height\x18\x07 \x01(\x04\x42\x02\x30\x01\x12!\n\x15max_peer_block_height\x18\t \x01(\x04\x42\x02\x30\x01\x12%\n\x18\x63ore_chain_locked_height\x18\n \x01(\rH\x00\x88\x01\x01\x42\x1b\n\x19_core_chain_locked_height\x1a\x43\n\x07Network\x12\x10\n\x08\x63hain_id\x18\x01 \x01(\t\x12\x13\n\x0bpeers_count\x18\x02 \x01(\r\x12\x11\n\tlistening\x18\x03 \x01(\x08\x1a\x85\x02\n\tStateSync\x12\x1d\n\x11total_synced_time\x18\x01 \x01(\x04\x42\x02\x30\x01\x12\x1a\n\x0eremaining_time\x18\x02 \x01(\x04\x42\x02\x30\x01\x12\x17\n\x0ftotal_snapshots\x18\x03 \x01(\r\x12\"\n\x16\x63hunk_process_avg_time\x18\x04 \x01(\x04\x42\x02\x30\x01\x12\x1b\n\x0fsnapshot_height\x18\x05 \x01(\x04\x42\x02\x30\x01\x12!\n\x15snapshot_chunks_count\x18\x06 \x01(\x04\x42\x02\x30\x01\x12\x1d\n\x11\x62\x61\x63kfilled_blocks\x18\x07 \x01(\x04\x42\x02\x30\x01\x12!\n\x15\x62\x61\x63kfill_blocks_total\x18\x08 \x01(\x04\x42\x02\x30\x01\x42\t\n\x07version\"\xb1\x01\n\x1cGetCurrentQuorumsInfoRequest\x12\x64\n\x02v0\x18\x01 \x01(\x0b\x32V.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0H\x00\x1a \n\x1eGetCurrentQuorumsInfoRequestV0B\t\n\x07version\"\xa1\x05\n\x1dGetCurrentQuorumsInfoResponse\x12\x66\n\x02v0\x18\x01 \x01(\x0b\x32X.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0H\x00\x1a\x46\n\x0bValidatorV0\x12\x13\n\x0bpro_tx_hash\x18\x01 \x01(\x0c\x12\x0f\n\x07node_ip\x18\x02 \x01(\t\x12\x11\n\tis_banned\x18\x03 \x01(\x08\x1a\xaf\x01\n\x0eValidatorSetV0\x12\x13\n\x0bquorum_hash\x18\x01 \x01(\x0c\x12\x13\n\x0b\x63ore_height\x18\x02 \x01(\r\x12U\n\x07members\x18\x03 \x03(\x0b\x32\x44.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0\x12\x1c\n\x14threshold_public_key\x18\x04 \x01(\x0c\x1a\x92\x02\n\x1fGetCurrentQuorumsInfoResponseV0\x12\x15\n\rquorum_hashes\x18\x01 \x03(\x0c\x12\x1b\n\x13\x63urrent_quorum_hash\x18\x02 \x01(\x0c\x12_\n\x0evalidator_sets\x18\x03 \x03(\x0b\x32G.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0\x12\x1b\n\x13last_block_proposer\x18\x04 \x01(\x0c\x12=\n\x08metadata\x18\x05 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadataB\t\n\x07version\"\xf4\x01\n\x1fGetIdentityTokenBalancesRequest\x12j\n\x02v0\x18\x01 \x01(\x0b\x32\\.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0H\x00\x1aZ\n!GetIdentityTokenBalancesRequestV0\x12\x13\n\x0bidentity_id\x18\x01 \x01(\x0c\x12\x11\n\ttoken_ids\x18\x02 \x03(\x0c\x12\r\n\x05prove\x18\x03 \x01(\x08\x42\t\n\x07version\"\xad\x05\n GetIdentityTokenBalancesResponse\x12l\n\x02v0\x18\x01 \x01(\x0b\x32^.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0H\x00\x1a\x8f\x04\n\"GetIdentityTokenBalancesResponseV0\x12\x86\x01\n\x0etoken_balances\x18\x01 \x01(\x0b\x32l.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalancesH\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\x1aG\n\x11TokenBalanceEntry\x12\x10\n\x08token_id\x18\x01 \x01(\x0c\x12\x14\n\x07\x62\x61lance\x18\x02 \x01(\x04H\x00\x88\x01\x01\x42\n\n\x08_balance\x1a\x9a\x01\n\rTokenBalances\x12\x88\x01\n\x0etoken_balances\x18\x01 \x03(\x0b\x32p.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntryB\x08\n\x06resultB\t\n\x07version\"\xfc\x01\n!GetIdentitiesTokenBalancesRequest\x12n\n\x02v0\x18\x01 \x01(\x0b\x32`.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0H\x00\x1a\\\n#GetIdentitiesTokenBalancesRequestV0\x12\x10\n\x08token_id\x18\x01 \x01(\x0c\x12\x14\n\x0cidentity_ids\x18\x02 \x03(\x0c\x12\r\n\x05prove\x18\x03 \x01(\x08\x42\t\n\x07version\"\xf2\x05\n\"GetIdentitiesTokenBalancesResponse\x12p\n\x02v0\x18\x01 \x01(\x0b\x32\x62.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0H\x00\x1a\xce\x04\n$GetIdentitiesTokenBalancesResponseV0\x12\x9b\x01\n\x17identity_token_balances\x18\x01 \x01(\x0b\x32x.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalancesH\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\x1aR\n\x19IdentityTokenBalanceEntry\x12\x13\n\x0bidentity_id\x18\x01 \x01(\x0c\x12\x14\n\x07\x62\x61lance\x18\x02 \x01(\x04H\x00\x88\x01\x01\x42\n\n\x08_balance\x1a\xb7\x01\n\x15IdentityTokenBalances\x12\x9d\x01\n\x17identity_token_balances\x18\x01 \x03(\x0b\x32|.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntryB\x08\n\x06resultB\t\n\x07version\"\xe8\x01\n\x1cGetIdentityTokenInfosRequest\x12\x64\n\x02v0\x18\x01 \x01(\x0b\x32V.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0H\x00\x1aW\n\x1eGetIdentityTokenInfosRequestV0\x12\x13\n\x0bidentity_id\x18\x01 \x01(\x0c\x12\x11\n\ttoken_ids\x18\x02 \x03(\x0c\x12\r\n\x05prove\x18\x03 \x01(\x08\x42\t\n\x07version\"\x98\x06\n\x1dGetIdentityTokenInfosResponse\x12\x66\n\x02v0\x18\x01 \x01(\x0b\x32X.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0H\x00\x1a\x83\x05\n\x1fGetIdentityTokenInfosResponseV0\x12z\n\x0btoken_infos\x18\x01 \x01(\x0b\x32\x63.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfosH\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\x16TokenIdentityInfoEntry\x12\x0e\n\x06\x66rozen\x18\x01 \x01(\x08\x1a\xb0\x01\n\x0eTokenInfoEntry\x12\x10\n\x08token_id\x18\x01 \x01(\x0c\x12\x82\x01\n\x04info\x18\x02 \x01(\x0b\x32o.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntryH\x00\x88\x01\x01\x42\x07\n\x05_info\x1a\x8a\x01\n\nTokenInfos\x12|\n\x0btoken_infos\x18\x01 \x03(\x0b\x32g.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntryB\x08\n\x06resultB\t\n\x07version\"\xf0\x01\n\x1eGetIdentitiesTokenInfosRequest\x12h\n\x02v0\x18\x01 \x01(\x0b\x32Z.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0H\x00\x1aY\n GetIdentitiesTokenInfosRequestV0\x12\x10\n\x08token_id\x18\x01 \x01(\x0c\x12\x14\n\x0cidentity_ids\x18\x02 \x03(\x0c\x12\r\n\x05prove\x18\x03 \x01(\x08\x42\t\n\x07version\"\xca\x06\n\x1fGetIdentitiesTokenInfosResponse\x12j\n\x02v0\x18\x01 \x01(\x0b\x32\\.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0H\x00\x1a\xaf\x05\n!GetIdentitiesTokenInfosResponseV0\x12\x8f\x01\n\x14identity_token_infos\x18\x01 \x01(\x0b\x32o.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfosH\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\x16TokenIdentityInfoEntry\x12\x0e\n\x06\x66rozen\x18\x01 \x01(\x08\x1a\xb7\x01\n\x0eTokenInfoEntry\x12\x13\n\x0bidentity_id\x18\x01 \x01(\x0c\x12\x86\x01\n\x04info\x18\x02 \x01(\x0b\x32s.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntryH\x00\x88\x01\x01\x42\x07\n\x05_info\x1a\x97\x01\n\x12IdentityTokenInfos\x12\x80\x01\n\x0btoken_infos\x18\x01 \x03(\x0b\x32k.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntryB\x08\n\x06resultB\t\n\x07version\"\xbf\x01\n\x17GetTokenStatusesRequest\x12Z\n\x02v0\x18\x01 \x01(\x0b\x32L.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0H\x00\x1a=\n\x19GetTokenStatusesRequestV0\x12\x11\n\ttoken_ids\x18\x01 \x03(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\xe7\x04\n\x18GetTokenStatusesResponse\x12\\\n\x02v0\x18\x01 \x01(\x0b\x32N.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0H\x00\x1a\xe1\x03\n\x1aGetTokenStatusesResponseV0\x12v\n\x0etoken_statuses\x18\x01 \x01(\x0b\x32\\.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusesH\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\x44\n\x10TokenStatusEntry\x12\x10\n\x08token_id\x18\x01 \x01(\x0c\x12\x13\n\x06paused\x18\x02 \x01(\x08H\x00\x88\x01\x01\x42\t\n\x07_paused\x1a\x88\x01\n\rTokenStatuses\x12w\n\x0etoken_statuses\x18\x01 \x03(\x0b\x32_.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntryB\x08\n\x06resultB\t\n\x07version\"\xef\x01\n#GetTokenDirectPurchasePricesRequest\x12r\n\x02v0\x18\x01 \x01(\x0b\x32\x64.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0H\x00\x1aI\n%GetTokenDirectPurchasePricesRequestV0\x12\x11\n\ttoken_ids\x18\x01 \x03(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\x8b\t\n$GetTokenDirectPurchasePricesResponse\x12t\n\x02v0\x18\x01 \x01(\x0b\x32\x66.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0H\x00\x1a\xe1\x07\n&GetTokenDirectPurchasePricesResponseV0\x12\xa9\x01\n\x1ctoken_direct_purchase_prices\x18\x01 \x01(\x0b\x32\x80\x01.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePricesH\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\x33\n\x10PriceForQuantity\x12\x10\n\x08quantity\x18\x01 \x01(\x04\x12\r\n\x05price\x18\x02 \x01(\x04\x1a\xa7\x01\n\x0fPricingSchedule\x12\x93\x01\n\x12price_for_quantity\x18\x01 \x03(\x0b\x32w.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity\x1a\xe4\x01\n\x1dTokenDirectPurchasePriceEntry\x12\x10\n\x08token_id\x18\x01 \x01(\x0c\x12\x15\n\x0b\x66ixed_price\x18\x02 \x01(\x04H\x00\x12\x90\x01\n\x0evariable_price\x18\x03 \x01(\x0b\x32v.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingScheduleH\x00\x42\x07\n\x05price\x1a\xc8\x01\n\x19TokenDirectPurchasePrices\x12\xaa\x01\n\x1btoken_direct_purchase_price\x18\x01 \x03(\x0b\x32\x84\x01.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntryB\x08\n\x06resultB\t\n\x07version\"\xce\x01\n\x1bGetTokenContractInfoRequest\x12\x62\n\x02v0\x18\x01 \x01(\x0b\x32T.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0H\x00\x1a@\n\x1dGetTokenContractInfoRequestV0\x12\x10\n\x08token_id\x18\x01 \x01(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\xfb\x03\n\x1cGetTokenContractInfoResponse\x12\x64\n\x02v0\x18\x01 \x01(\x0b\x32V.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0H\x00\x1a\xe9\x02\n\x1eGetTokenContractInfoResponseV0\x12|\n\x04\x64\x61ta\x18\x01 \x01(\x0b\x32l.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoDataH\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\x1aM\n\x15TokenContractInfoData\x12\x13\n\x0b\x63ontract_id\x18\x01 \x01(\x0c\x12\x1f\n\x17token_contract_position\x18\x02 \x01(\rB\x08\n\x06resultB\t\n\x07version\"\xef\x04\n)GetTokenPreProgrammedDistributionsRequest\x12~\n\x02v0\x18\x01 \x01(\x0b\x32p.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0H\x00\x1a\xb6\x03\n+GetTokenPreProgrammedDistributionsRequestV0\x12\x10\n\x08token_id\x18\x01 \x01(\x0c\x12\x98\x01\n\rstart_at_info\x18\x02 \x01(\x0b\x32|.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfoH\x00\x88\x01\x01\x12\x12\n\x05limit\x18\x03 \x01(\rH\x01\x88\x01\x01\x12\r\n\x05prove\x18\x04 \x01(\x08\x1a\x9a\x01\n\x0bStartAtInfo\x12\x15\n\rstart_time_ms\x18\x01 \x01(\x04\x12\x1c\n\x0fstart_recipient\x18\x02 \x01(\x0cH\x00\x88\x01\x01\x12%\n\x18start_recipient_included\x18\x03 \x01(\x08H\x01\x88\x01\x01\x42\x12\n\x10_start_recipientB\x1b\n\x19_start_recipient_includedB\x10\n\x0e_start_at_infoB\x08\n\x06_limitB\t\n\x07version\"\xec\x07\n*GetTokenPreProgrammedDistributionsResponse\x12\x80\x01\n\x02v0\x18\x01 \x01(\x0b\x32r.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0H\x00\x1a\xaf\x06\n,GetTokenPreProgrammedDistributionsResponseV0\x12\xa5\x01\n\x13token_distributions\x18\x01 \x01(\x0b\x32\x85\x01.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionsH\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\x16TokenDistributionEntry\x12\x14\n\x0crecipient_id\x18\x01 \x01(\x0c\x12\x0e\n\x06\x61mount\x18\x02 \x01(\x04\x1a\xd4\x01\n\x1bTokenTimedDistributionEntry\x12\x11\n\ttimestamp\x18\x01 \x01(\x04\x12\xa1\x01\n\rdistributions\x18\x02 \x03(\x0b\x32\x89\x01.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry\x1a\xc3\x01\n\x12TokenDistributions\x12\xac\x01\n\x13token_distributions\x18\x01 \x03(\x0b\x32\x8e\x01.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntryB\x08\n\x06resultB\t\n\x07version\"\x82\x04\n-GetTokenPerpetualDistributionLastClaimRequest\x12\x86\x01\n\x02v0\x18\x01 \x01(\x0b\x32x.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0H\x00\x1aI\n\x11\x43ontractTokenInfo\x12\x13\n\x0b\x63ontract_id\x18\x01 \x01(\x0c\x12\x1f\n\x17token_contract_position\x18\x02 \x01(\r\x1a\xf1\x01\n/GetTokenPerpetualDistributionLastClaimRequestV0\x12\x10\n\x08token_id\x18\x01 \x01(\x0c\x12v\n\rcontract_info\x18\x02 \x01(\x0b\x32Z.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfoH\x00\x88\x01\x01\x12\x13\n\x0bidentity_id\x18\x04 \x01(\x0c\x12\r\n\x05prove\x18\x05 \x01(\x08\x42\x10\n\x0e_contract_infoB\t\n\x07version\"\x93\x05\n.GetTokenPerpetualDistributionLastClaimResponse\x12\x88\x01\n\x02v0\x18\x01 \x01(\x0b\x32z.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0H\x00\x1a\xca\x03\n0GetTokenPerpetualDistributionLastClaimResponseV0\x12\x9f\x01\n\nlast_claim\x18\x01 \x01(\x0b\x32\x88\x01.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfoH\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\x1ax\n\rLastClaimInfo\x12\x1a\n\x0ctimestamp_ms\x18\x01 \x01(\x04\x42\x02\x30\x01H\x00\x12\x1a\n\x0c\x62lock_height\x18\x02 \x01(\x04\x42\x02\x30\x01H\x00\x12\x0f\n\x05\x65poch\x18\x03 \x01(\rH\x00\x12\x13\n\traw_bytes\x18\x04 \x01(\x0cH\x00\x42\t\n\x07paid_atB\x08\n\x06resultB\t\n\x07version\"\xca\x01\n\x1aGetTokenTotalSupplyRequest\x12`\n\x02v0\x18\x01 \x01(\x0b\x32R.org.dash.platform.dapi.v0.GetTokenTotalSupplyRequest.GetTokenTotalSupplyRequestV0H\x00\x1a?\n\x1cGetTokenTotalSupplyRequestV0\x12\x10\n\x08token_id\x18\x01 \x01(\x0c\x12\r\n\x05prove\x18\x02 \x01(\x08\x42\t\n\x07version\"\xaf\x04\n\x1bGetTokenTotalSupplyResponse\x12\x62\n\x02v0\x18\x01 \x01(\x0b\x32T.org.dash.platform.dapi.v0.GetTokenTotalSupplyResponse.GetTokenTotalSupplyResponseV0H\x00\x1a\xa0\x03\n\x1dGetTokenTotalSupplyResponseV0\x12\x88\x01\n\x12token_total_supply\x18\x01 \x01(\x0b\x32j.org.dash.platform.dapi.v0.GetTokenTotalSupplyResponse.GetTokenTotalSupplyResponseV0.TokenTotalSupplyEntryH\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\x1ax\n\x15TokenTotalSupplyEntry\x12\x10\n\x08token_id\x18\x01 \x01(\x0c\x12\x30\n(total_aggregated_amount_in_user_accounts\x18\x02 \x01(\x04\x12\x1b\n\x13total_system_amount\x18\x03 \x01(\x04\x42\x08\n\x06resultB\t\n\x07version\"\xd2\x01\n\x13GetGroupInfoRequest\x12R\n\x02v0\x18\x01 \x01(\x0b\x32\x44.org.dash.platform.dapi.v0.GetGroupInfoRequest.GetGroupInfoRequestV0H\x00\x1a\\\n\x15GetGroupInfoRequestV0\x12\x13\n\x0b\x63ontract_id\x18\x01 \x01(\x0c\x12\x1f\n\x17group_contract_position\x18\x02 \x01(\r\x12\r\n\x05prove\x18\x03 \x01(\x08\x42\t\n\x07version\"\xd4\x05\n\x14GetGroupInfoResponse\x12T\n\x02v0\x18\x01 \x01(\x0b\x32\x46.org.dash.platform.dapi.v0.GetGroupInfoResponse.GetGroupInfoResponseV0H\x00\x1a\xda\x04\n\x16GetGroupInfoResponseV0\x12\x66\n\ngroup_info\x18\x01 \x01(\x0b\x32P.org.dash.platform.dapi.v0.GetGroupInfoResponse.GetGroupInfoResponseV0.GroupInfoH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x04 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\x34\n\x10GroupMemberEntry\x12\x11\n\tmember_id\x18\x01 \x01(\x0c\x12\r\n\x05power\x18\x02 \x01(\r\x1a\x98\x01\n\x0eGroupInfoEntry\x12h\n\x07members\x18\x01 \x03(\x0b\x32W.org.dash.platform.dapi.v0.GetGroupInfoResponse.GetGroupInfoResponseV0.GroupMemberEntry\x12\x1c\n\x14group_required_power\x18\x02 \x01(\r\x1a\x8a\x01\n\tGroupInfo\x12n\n\ngroup_info\x18\x01 \x01(\x0b\x32U.org.dash.platform.dapi.v0.GetGroupInfoResponse.GetGroupInfoResponseV0.GroupInfoEntryH\x00\x88\x01\x01\x42\r\n\x0b_group_infoB\x08\n\x06resultB\t\n\x07version\"\xed\x03\n\x14GetGroupInfosRequest\x12T\n\x02v0\x18\x01 \x01(\x0b\x32\x46.org.dash.platform.dapi.v0.GetGroupInfosRequest.GetGroupInfosRequestV0H\x00\x1au\n\x1cStartAtGroupContractPosition\x12%\n\x1dstart_group_contract_position\x18\x01 \x01(\r\x12.\n&start_group_contract_position_included\x18\x02 \x01(\x08\x1a\xfc\x01\n\x16GetGroupInfosRequestV0\x12\x13\n\x0b\x63ontract_id\x18\x01 \x01(\x0c\x12{\n start_at_group_contract_position\x18\x02 \x01(\x0b\x32L.org.dash.platform.dapi.v0.GetGroupInfosRequest.StartAtGroupContractPositionH\x00\x88\x01\x01\x12\x12\n\x05\x63ount\x18\x03 \x01(\rH\x01\x88\x01\x01\x12\r\n\x05prove\x18\x04 \x01(\x08\x42#\n!_start_at_group_contract_positionB\x08\n\x06_countB\t\n\x07version\"\xff\x05\n\x15GetGroupInfosResponse\x12V\n\x02v0\x18\x01 \x01(\x0b\x32H.org.dash.platform.dapi.v0.GetGroupInfosResponse.GetGroupInfosResponseV0H\x00\x1a\x82\x05\n\x17GetGroupInfosResponseV0\x12j\n\x0bgroup_infos\x18\x01 \x01(\x0b\x32S.org.dash.platform.dapi.v0.GetGroupInfosResponse.GetGroupInfosResponseV0.GroupInfosH\x00\x12\x31\n\x05proof\x18\x02 \x01(\x0b\x32 .org.dash.platform.dapi.v0.ProofH\x00\x12=\n\x08metadata\x18\x04 \x01(\x0b\x32+.org.dash.platform.dapi.v0.ResponseMetadata\x1a\x34\n\x10GroupMemberEntry\x12\x11\n\tmember_id\x18\x01 \x01(\x0c\x12\r\n\x05power\x18\x02 \x01(\r\x1a\xc3\x01\n\x16GroupPositionInfoEntry\x12\x1f\n\x17group_contract_position\x18\x01 \x01(\r\x12j\n\x07members\x18\x02 \x03(\x0b\x32Y.org.dash.platform.dapi.v0.GetGroupInfosResponse.GetGroupInfosResponseV0.GroupMemberEntry\x12\x1c\n\x14group_required_power\x18\x03 \x01(\r\x1a\x82\x01\n\nGroupInfos\x12t\n\x0bgroup_infos\x18\x01 \x03(\x0b\x32_.org.dash.platform.dapi.v0.GetGroupInfosResponse.GetGroupInfosResponseV0.GroupPositionInfoEntryB\x08\n\x06resultB\t\n\x07version\"\xbe\x04\n\x16GetGroupActionsRequest\x12X\n\x02v0\x18\x01 \x01(\x0b\x32J.org.dash.platform.dapi.v0.GetGroupActionsRequest.GetGroupActionsRequestV0H\x00\x1aL\n\x0fStartAtActionId\x12\x17\n\x0fstart_action_id\x18\x01 \x01(\x0c\x12 \n\x18start_action_id_included\x18\x02 \x01(\x08\x1a\xc8\x02\n\x18GetGroupActionsRequestV0\x12\x13\n\x0b\x63ontract_id\x18\x01 \x01(\x0c\x12\x1f\n\x17group_contract_position\x18\x02 \x01(\r\x12N\n\x06status\x18\x03 \x01(\x0e\x32>.org.dash.platform.dapi.v0.GetGroupActionsRequest.ActionStatus\x12\x62\n\x12start_at_action_id\x18\x04 \x01(\x0b\x32\x41.org.dash.platform.dapi.v0.GetGroupActionsRequest.StartAtActionIdH\x00\x88\x01\x01\x12\x12\n\x05\x63ount\x18\x05 \x01(\rH\x01\x88\x01\x01\x12\r\n\x05prove\x18\x06 \x01(\x08\x42\x15\n\x13_start_at_action_idB\x08\n\x06_count\"&\n\x0c\x41\x63tionStatus\x12\n\n\x06\x41\x43TIVE\x10\x00\x12\n\n\x06\x43LOSED\x10\x01\x42\t\n\x07version\"\xd6\x1e\n\x17GetGroupActionsResponse\x12Z\n\x02v0\x18\x01 \x01(\x0b\x32L.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0H\x00\x1a\xd3\x1d\n\x19GetGroupActionsResponseV0\x12r\n\rgroup_actions\x18\x01 \x01(\x0b\x32Y.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.GroupActionsH\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\tMintEvent\x12\x0e\n\x06\x61mount\x18\x01 \x01(\x04\x12\x14\n\x0crecipient_id\x18\x02 \x01(\x0c\x12\x18\n\x0bpublic_note\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\x0e\n\x0c_public_note\x1a[\n\tBurnEvent\x12\x0e\n\x06\x61mount\x18\x01 \x01(\x04\x12\x14\n\x0c\x62urn_from_id\x18\x02 \x01(\x0c\x12\x18\n\x0bpublic_note\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\x0e\n\x0c_public_note\x1aJ\n\x0b\x46reezeEvent\x12\x11\n\tfrozen_id\x18\x01 \x01(\x0c\x12\x18\n\x0bpublic_note\x18\x02 \x01(\tH\x00\x88\x01\x01\x42\x0e\n\x0c_public_note\x1aL\n\rUnfreezeEvent\x12\x11\n\tfrozen_id\x18\x01 \x01(\x0c\x12\x18\n\x0bpublic_note\x18\x02 \x01(\tH\x00\x88\x01\x01\x42\x0e\n\x0c_public_note\x1a\x66\n\x17\x44\x65stroyFrozenFundsEvent\x12\x11\n\tfrozen_id\x18\x01 \x01(\x0c\x12\x0e\n\x06\x61mount\x18\x02 \x01(\x04\x12\x18\n\x0bpublic_note\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\x0e\n\x0c_public_note\x1a\x64\n\x13SharedEncryptedNote\x12\x18\n\x10sender_key_index\x18\x01 \x01(\r\x12\x1b\n\x13recipient_key_index\x18\x02 \x01(\r\x12\x16\n\x0e\x65ncrypted_data\x18\x03 \x01(\x0c\x1a{\n\x15PersonalEncryptedNote\x12!\n\x19root_encryption_key_index\x18\x01 \x01(\r\x12\'\n\x1f\x64\x65rivation_encryption_key_index\x18\x02 \x01(\r\x12\x16\n\x0e\x65ncrypted_data\x18\x03 \x01(\x0c\x1a\xe9\x01\n\x14\x45mergencyActionEvent\x12\x81\x01\n\x0b\x61\x63tion_type\x18\x01 \x01(\x0e\x32l.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.EmergencyActionEvent.ActionType\x12\x18\n\x0bpublic_note\x18\x02 \x01(\tH\x00\x88\x01\x01\"#\n\nActionType\x12\t\n\x05PAUSE\x10\x00\x12\n\n\x06RESUME\x10\x01\x42\x0e\n\x0c_public_note\x1a\x64\n\x16TokenConfigUpdateEvent\x12 \n\x18token_config_update_item\x18\x01 \x01(\x0c\x12\x18\n\x0bpublic_note\x18\x02 \x01(\tH\x00\x88\x01\x01\x42\x0e\n\x0c_public_note\x1a\xe6\x03\n\x1eUpdateDirectPurchasePriceEvent\x12\x15\n\x0b\x66ixed_price\x18\x01 \x01(\x04H\x00\x12\x95\x01\n\x0evariable_price\x18\x02 \x01(\x0b\x32{.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.UpdateDirectPurchasePriceEvent.PricingScheduleH\x00\x12\x18\n\x0bpublic_note\x18\x03 \x01(\tH\x01\x88\x01\x01\x1a\x33\n\x10PriceForQuantity\x12\x10\n\x08quantity\x18\x01 \x01(\x04\x12\r\n\x05price\x18\x02 \x01(\x04\x1a\xac\x01\n\x0fPricingSchedule\x12\x98\x01\n\x12price_for_quantity\x18\x01 \x03(\x0b\x32|.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.UpdateDirectPurchasePriceEvent.PriceForQuantityB\x07\n\x05priceB\x0e\n\x0c_public_note\x1a\xfc\x02\n\x10GroupActionEvent\x12n\n\x0btoken_event\x18\x01 \x01(\x0b\x32W.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.TokenEventH\x00\x12t\n\x0e\x64ocument_event\x18\x02 \x01(\x0b\x32Z.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.DocumentEventH\x00\x12t\n\x0e\x63ontract_event\x18\x03 \x01(\x0b\x32Z.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.ContractEventH\x00\x42\x0c\n\nevent_type\x1a\x8b\x01\n\rDocumentEvent\x12r\n\x06\x63reate\x18\x01 \x01(\x0b\x32`.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.DocumentCreateEventH\x00\x42\x06\n\x04type\x1a/\n\x13\x44ocumentCreateEvent\x12\x18\n\x10\x63reated_document\x18\x01 \x01(\x0c\x1a/\n\x13\x43ontractUpdateEvent\x12\x18\n\x10updated_contract\x18\x01 \x01(\x0c\x1a\x8b\x01\n\rContractEvent\x12r\n\x06update\x18\x01 \x01(\x0b\x32`.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.ContractUpdateEventH\x00\x42\x06\n\x04type\x1a\xd1\x07\n\nTokenEvent\x12\x66\n\x04mint\x18\x01 \x01(\x0b\x32V.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.MintEventH\x00\x12\x66\n\x04\x62urn\x18\x02 \x01(\x0b\x32V.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.BurnEventH\x00\x12j\n\x06\x66reeze\x18\x03 \x01(\x0b\x32X.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.FreezeEventH\x00\x12n\n\x08unfreeze\x18\x04 \x01(\x0b\x32Z.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.UnfreezeEventH\x00\x12\x84\x01\n\x14\x64\x65stroy_frozen_funds\x18\x05 \x01(\x0b\x32\x64.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.DestroyFrozenFundsEventH\x00\x12}\n\x10\x65mergency_action\x18\x06 \x01(\x0b\x32\x61.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.EmergencyActionEventH\x00\x12\x82\x01\n\x13token_config_update\x18\x07 \x01(\x0b\x32\x63.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.TokenConfigUpdateEventH\x00\x12\x83\x01\n\x0cupdate_price\x18\x08 \x01(\x0b\x32k.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.UpdateDirectPurchasePriceEventH\x00\x42\x06\n\x04type\x1a\x93\x01\n\x10GroupActionEntry\x12\x11\n\taction_id\x18\x01 \x01(\x0c\x12l\n\x05\x65vent\x18\x02 \x01(\x0b\x32].org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.GroupActionEvent\x1a\x84\x01\n\x0cGroupActions\x12t\n\rgroup_actions\x18\x01 \x03(\x0b\x32].org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.GroupActionEntryB\x08\n\x06resultB\t\n\x07version\"\x88\x03\n\x1cGetGroupActionSignersRequest\x12\x64\n\x02v0\x18\x01 \x01(\x0b\x32V.org.dash.platform.dapi.v0.GetGroupActionSignersRequest.GetGroupActionSignersRequestV0H\x00\x1a\xce\x01\n\x1eGetGroupActionSignersRequestV0\x12\x13\n\x0b\x63ontract_id\x18\x01 \x01(\x0c\x12\x1f\n\x17group_contract_position\x18\x02 \x01(\r\x12T\n\x06status\x18\x03 \x01(\x0e\x32\x44.org.dash.platform.dapi.v0.GetGroupActionSignersRequest.ActionStatus\x12\x11\n\taction_id\x18\x04 \x01(\x0c\x12\r\n\x05prove\x18\x05 \x01(\x08\"&\n\x0c\x41\x63tionStatus\x12\n\n\x06\x41\x43TIVE\x10\x00\x12\n\n\x06\x43LOSED\x10\x01\x42\t\n\x07version\"\x8b\x05\n\x1dGetGroupActionSignersResponse\x12\x66\n\x02v0\x18\x01 \x01(\x0b\x32X.org.dash.platform.dapi.v0.GetGroupActionSignersResponse.GetGroupActionSignersResponseV0H\x00\x1a\xf6\x03\n\x1fGetGroupActionSignersResponseV0\x12\x8b\x01\n\x14group_action_signers\x18\x01 \x01(\x0b\x32k.org.dash.platform.dapi.v0.GetGroupActionSignersResponse.GetGroupActionSignersResponseV0.GroupActionSignersH\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\x35\n\x11GroupActionSigner\x12\x11\n\tsigner_id\x18\x01 \x01(\x0c\x12\r\n\x05power\x18\x02 \x01(\r\x1a\x91\x01\n\x12GroupActionSigners\x12{\n\x07signers\x18\x01 \x03(\x0b\x32j.org.dash.platform.dapi.v0.GetGroupActionSignersResponse.GetGroupActionSignersResponseV0.GroupActionSignerB\x08\n\x06resultB\t\n\x07version*Z\n\nKeyPurpose\x12\x12\n\x0e\x41UTHENTICATION\x10\x00\x12\x0e\n\nENCRYPTION\x10\x01\x12\x0e\n\nDECRYPTION\x10\x02\x12\x0c\n\x08TRANSFER\x10\x03\x12\n\n\x06VOTING\x10\x05\x32\xe5\x35\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\x12x\n\x0fgetIdentityKeys\x12\x31.org.dash.platform.dapi.v0.GetIdentityKeysRequest\x1a\x32.org.dash.platform.dapi.v0.GetIdentityKeysResponse\x12\x96\x01\n\x19getIdentitiesContractKeys\x12;.org.dash.platform.dapi.v0.GetIdentitiesContractKeysRequest\x1a<.org.dash.platform.dapi.v0.GetIdentitiesContractKeysResponse\x12{\n\x10getIdentityNonce\x12\x32.org.dash.platform.dapi.v0.GetIdentityNonceRequest\x1a\x33.org.dash.platform.dapi.v0.GetIdentityNonceResponse\x12\x93\x01\n\x18getIdentityContractNonce\x12:.org.dash.platform.dapi.v0.GetIdentityContractNonceRequest\x1a;.org.dash.platform.dapi.v0.GetIdentityContractNonceResponse\x12\x81\x01\n\x12getIdentityBalance\x12\x34.org.dash.platform.dapi.v0.GetIdentityBalanceRequest\x1a\x35.org.dash.platform.dapi.v0.GetIdentityBalanceResponse\x12\x8a\x01\n\x15getIdentitiesBalances\x12\x37.org.dash.platform.dapi.v0.GetIdentitiesBalancesRequest\x1a\x38.org.dash.platform.dapi.v0.GetIdentitiesBalancesResponse\x12\xa2\x01\n\x1dgetIdentityBalanceAndRevision\x12?.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionRequest\x1a@.org.dash.platform.dapi.v0.GetIdentityBalanceAndRevisionResponse\x12\xaf\x01\n#getEvonodesProposedEpochBlocksByIds\x12\x45.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByIdsRequest\x1a\x41.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse\x12\xb3\x01\n%getEvonodesProposedEpochBlocksByRange\x12G.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksByRangeRequest\x1a\x41.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse\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\x99\x01\n\x1agetIdentityByPublicKeyHash\x12<.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashRequest\x1a=.org.dash.platform.dapi.v0.GetIdentityByPublicKeyHashResponse\x12\xb4\x01\n#getIdentityByNonUniquePublicKeyHash\x12\x45.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest\x1a\x46.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse\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\xa5\x01\n\x1egetProtocolVersionUpgradeState\x12@.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest\x1a\x41.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse\x12\xb4\x01\n#getProtocolVersionUpgradeVoteStatus\x12\x45.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest\x1a\x46.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse\x12r\n\rgetEpochsInfo\x12/.org.dash.platform.dapi.v0.GetEpochsInfoRequest\x1a\x30.org.dash.platform.dapi.v0.GetEpochsInfoResponse\x12\x8d\x01\n\x16getFinalizedEpochInfos\x12\x38.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest\x1a\x39.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse\x12\x8a\x01\n\x15getContestedResources\x12\x37.org.dash.platform.dapi.v0.GetContestedResourcesRequest\x1a\x38.org.dash.platform.dapi.v0.GetContestedResourcesResponse\x12\xa2\x01\n\x1dgetContestedResourceVoteState\x12?.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest\x1a@.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse\x12\xba\x01\n%getContestedResourceVotersForIdentity\x12G.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest\x1aH.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse\x12\xae\x01\n!getContestedResourceIdentityVotes\x12\x43.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest\x1a\x44.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse\x12\x8a\x01\n\x15getVotePollsByEndDate\x12\x37.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest\x1a\x38.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse\x12\xa5\x01\n\x1egetPrefundedSpecializedBalance\x12@.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest\x1a\x41.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse\x12\x96\x01\n\x19getTotalCreditsInPlatform\x12;.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest\x1a<.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse\x12x\n\x0fgetPathElements\x12\x31.org.dash.platform.dapi.v0.GetPathElementsRequest\x1a\x32.org.dash.platform.dapi.v0.GetPathElementsResponse\x12\x66\n\tgetStatus\x12+.org.dash.platform.dapi.v0.GetStatusRequest\x1a,.org.dash.platform.dapi.v0.GetStatusResponse\x12\x8a\x01\n\x15getCurrentQuorumsInfo\x12\x37.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest\x1a\x38.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse\x12\x93\x01\n\x18getIdentityTokenBalances\x12:.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest\x1a;.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse\x12\x99\x01\n\x1agetIdentitiesTokenBalances\x12<.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest\x1a=.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse\x12\x8a\x01\n\x15getIdentityTokenInfos\x12\x37.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest\x1a\x38.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse\x12\x90\x01\n\x17getIdentitiesTokenInfos\x12\x39.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest\x1a:.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse\x12{\n\x10getTokenStatuses\x12\x32.org.dash.platform.dapi.v0.GetTokenStatusesRequest\x1a\x33.org.dash.platform.dapi.v0.GetTokenStatusesResponse\x12\x9f\x01\n\x1cgetTokenDirectPurchasePrices\x12>.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest\x1a?.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse\x12\x87\x01\n\x14getTokenContractInfo\x12\x36.org.dash.platform.dapi.v0.GetTokenContractInfoRequest\x1a\x37.org.dash.platform.dapi.v0.GetTokenContractInfoResponse\x12\xb1\x01\n\"getTokenPreProgrammedDistributions\x12\x44.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest\x1a\x45.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse\x12\xbd\x01\n&getTokenPerpetualDistributionLastClaim\x12H.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest\x1aI.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse\x12\x84\x01\n\x13getTokenTotalSupply\x12\x35.org.dash.platform.dapi.v0.GetTokenTotalSupplyRequest\x1a\x36.org.dash.platform.dapi.v0.GetTokenTotalSupplyResponse\x12o\n\x0cgetGroupInfo\x12..org.dash.platform.dapi.v0.GetGroupInfoRequest\x1a/.org.dash.platform.dapi.v0.GetGroupInfoResponse\x12r\n\rgetGroupInfos\x12/.org.dash.platform.dapi.v0.GetGroupInfosRequest\x1a\x30.org.dash.platform.dapi.v0.GetGroupInfosResponse\x12x\n\x0fgetGroupActions\x12\x31.org.dash.platform.dapi.v0.GetGroupActionsRequest\x1a\x32.org.dash.platform.dapi.v0.GetGroupActionsResponse\x12\x8a\x01\n\x15getGroupActionSigners\x12\x37.org.dash.platform.dapi.v0.GetGroupActionSignersRequest\x1a\x38.org.dash.platform.dapi.v0.GetGroupActionSignersResponseb\x06proto3'
   ,
   dependencies=[google_dot_protobuf_dot_wrappers__pb2.DESCRIPTOR,google_dot_protobuf_dot_struct__pb2.DESCRIPTOR,google_dot_protobuf_dot_timestamp__pb2.DESCRIPTOR,])
 
@@ -62,8 +62,8 @@
   ],
   containing_type=None,
   serialized_options=None,
-  serialized_start=46321,
-  serialized_end=46411,
+  serialized_start=50956,
+  serialized_end=51046,
 )
 _sym_db.RegisterEnumDescriptor(_KEYPURPOSE)
 
@@ -125,8 +125,8 @@
   ],
   containing_type=None,
   serialized_options=None,
-  serialized_start=19904,
-  serialized_end=19977,
+  serialized_start=22619,
+  serialized_end=22692,
 )
 _sym_db.RegisterEnumDescriptor(_GETCONTESTEDRESOURCEVOTESTATEREQUEST_GETCONTESTEDRESOURCEVOTESTATEREQUESTV0_RESULTTYPE)
 
@@ -155,8 +155,8 @@
   ],
   containing_type=None,
   serialized_options=None,
-  serialized_start=20899,
-  serialized_end=20978,
+  serialized_start=23614,
+  serialized_end=23693,
 )
 _sym_db.RegisterEnumDescriptor(_GETCONTESTEDRESOURCEVOTESTATERESPONSE_GETCONTESTEDRESOURCEVOTESTATERESPONSEV0_FINISHEDVOTEINFO_FINISHEDVOTEOUTCOME)
 
@@ -185,8 +185,8 @@
   ],
   containing_type=None,
   serialized_options=None,
-  serialized_start=24607,
-  serialized_end=24668,
+  serialized_start=27322,
+  serialized_end=27383,
 )
 _sym_db.RegisterEnumDescriptor(_GETCONTESTEDRESOURCEIDENTITYVOTESRESPONSE_GETCONTESTEDRESOURCEIDENTITYVOTESRESPONSEV0_RESOURCEVOTECHOICE_VOTECHOICETYPE)
 
@@ -210,8 +210,8 @@
   ],
   containing_type=None,
   serialized_options=None,
-  serialized_start=41314,
-  serialized_end=41352,
+  serialized_start=45927,
+  serialized_end=45965,
 )
 _sym_db.RegisterEnumDescriptor(_GETGROUPACTIONSREQUEST_ACTIONSTATUS)
 
@@ -235,8 +235,8 @@
   ],
   containing_type=None,
   serialized_options=None,
-  serialized_start=42577,
-  serialized_end=42612,
+  serialized_start=47212,
+  serialized_end=47247,
 )
 _sym_db.RegisterEnumDescriptor(_GETGROUPACTIONSRESPONSE_GETGROUPACTIONSRESPONSEV0_EMERGENCYACTIONEVENT_ACTIONTYPE)
 
@@ -260,8 +260,8 @@
   ],
   containing_type=None,
   serialized_options=None,
-  serialized_start=41314,
-  serialized_end=41352,
+  serialized_start=45927,
+  serialized_end=45965,
 )
 _sym_db.RegisterEnumDescriptor(_GETGROUPACTIONSIGNERSREQUEST_ACTIONSTATUS)
 
@@ -3753,6 +3753,259 @@
 )
 
 
+_GETIDENTITYBYNONUNIQUEPUBLICKEYHASHREQUEST_GETIDENTITYBYNONUNIQUEPUBLICKEYHASHREQUESTV0 = _descriptor.Descriptor(
+  name='GetIdentityByNonUniquePublicKeyHashRequestV0',
+  full_name='org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0',
+  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.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0.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='start_after', full_name='org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0.start_after', 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),
+    _descriptor.FieldDescriptor(
+      name='prove', full_name='org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0.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=[
+    _descriptor.OneofDescriptor(
+      name='_start_after', full_name='org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0._start_after',
+      index=0, containing_type=None,
+      create_key=_descriptor._internal_create_key,
+    fields=[]),
+  ],
+  serialized_start=12380,
+  serialized_end=12508,
+)
+
+_GETIDENTITYBYNONUNIQUEPUBLICKEYHASHREQUEST = _descriptor.Descriptor(
+  name='GetIdentityByNonUniquePublicKeyHashRequest',
+  full_name='org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest',
+  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.GetIdentityByNonUniquePublicKeyHashRequest.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=[_GETIDENTITYBYNONUNIQUEPUBLICKEYHASHREQUEST_GETIDENTITYBYNONUNIQUEPUBLICKEYHASHREQUESTV0, ],
+  enum_types=[
+  ],
+  serialized_options=None,
+  is_extendable=False,
+  syntax='proto3',
+  extension_ranges=[],
+  oneofs=[
+    _descriptor.OneofDescriptor(
+      name='version', full_name='org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.version',
+      index=0, containing_type=None,
+      create_key=_descriptor._internal_create_key,
+    fields=[]),
+  ],
+  serialized_start=12202,
+  serialized_end=12519,
+)
+
+
+_GETIDENTITYBYNONUNIQUEPUBLICKEYHASHRESPONSE_GETIDENTITYBYNONUNIQUEPUBLICKEYHASHRESPONSEV0_IDENTITYRESPONSE = _descriptor.Descriptor(
+  name='IdentityResponse',
+  full_name='org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse',
+  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.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse.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),
+  ],
+  extensions=[
+  ],
+  nested_types=[],
+  enum_types=[
+  ],
+  serialized_options=None,
+  is_extendable=False,
+  syntax='proto3',
+  extension_ranges=[],
+  oneofs=[
+    _descriptor.OneofDescriptor(
+      name='_identity', full_name='org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse._identity',
+      index=0, containing_type=None,
+      create_key=_descriptor._internal_create_key,
+    fields=[]),
+  ],
+  serialized_start=13132,
+  serialized_end=13186,
+)
+
+_GETIDENTITYBYNONUNIQUEPUBLICKEYHASHRESPONSE_GETIDENTITYBYNONUNIQUEPUBLICKEYHASHRESPONSEV0_IDENTITYPROVEDRESPONSE = _descriptor.Descriptor(
+  name='IdentityProvedResponse',
+  full_name='org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  create_key=_descriptor._internal_create_key,
+  fields=[
+    _descriptor.FieldDescriptor(
+      name='grovedb_identity_public_key_hash_proof', full_name='org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse.grovedb_identity_public_key_hash_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='identity_proof_bytes', full_name='org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse.identity_proof_bytes', 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=[
+  ],
+  serialized_options=None,
+  is_extendable=False,
+  syntax='proto3',
+  extension_ranges=[],
+  oneofs=[
+    _descriptor.OneofDescriptor(
+      name='_identity_proof_bytes', full_name='org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse._identity_proof_bytes',
+      index=0, containing_type=None,
+      create_key=_descriptor._internal_create_key,
+    fields=[]),
+  ],
+  serialized_start=13189,
+  serialized_end=13355,
+)
+
+_GETIDENTITYBYNONUNIQUEPUBLICKEYHASHRESPONSE_GETIDENTITYBYNONUNIQUEPUBLICKEYHASHRESPONSEV0 = _descriptor.Descriptor(
+  name='GetIdentityByNonUniquePublicKeyHashResponseV0',
+  full_name='org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0',
+  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.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.identity', 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.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.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.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.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=[_GETIDENTITYBYNONUNIQUEPUBLICKEYHASHRESPONSE_GETIDENTITYBYNONUNIQUEPUBLICKEYHASHRESPONSEV0_IDENTITYRESPONSE, _GETIDENTITYBYNONUNIQUEPUBLICKEYHASHRESPONSE_GETIDENTITYBYNONUNIQUEPUBLICKEYHASHRESPONSEV0_IDENTITYPROVEDRESPONSE, ],
+  enum_types=[
+  ],
+  serialized_options=None,
+  is_extendable=False,
+  syntax='proto3',
+  extension_ranges=[],
+  oneofs=[
+    _descriptor.OneofDescriptor(
+      name='result', full_name='org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.result',
+      index=0, containing_type=None,
+      create_key=_descriptor._internal_create_key,
+    fields=[]),
+  ],
+  serialized_start=12703,
+  serialized_end=13365,
+)
+
+_GETIDENTITYBYNONUNIQUEPUBLICKEYHASHRESPONSE = _descriptor.Descriptor(
+  name='GetIdentityByNonUniquePublicKeyHashResponse',
+  full_name='org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse',
+  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.GetIdentityByNonUniquePublicKeyHashResponse.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=[_GETIDENTITYBYNONUNIQUEPUBLICKEYHASHRESPONSE_GETIDENTITYBYNONUNIQUEPUBLICKEYHASHRESPONSEV0, ],
+  enum_types=[
+  ],
+  serialized_options=None,
+  is_extendable=False,
+  syntax='proto3',
+  extension_ranges=[],
+  oneofs=[
+    _descriptor.OneofDescriptor(
+      name='version', full_name='org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.version',
+      index=0, containing_type=None,
+      create_key=_descriptor._internal_create_key,
+    fields=[]),
+  ],
+  serialized_start=12522,
+  serialized_end=13376,
+)
+
+
 _WAITFORSTATETRANSITIONRESULTREQUEST_WAITFORSTATETRANSITIONRESULTREQUESTV0 = _descriptor.Descriptor(
   name='WaitForStateTransitionResultRequestV0',
   full_name='org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0',
@@ -3787,8 +4040,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=12357,
-  serialized_end=12442,
+  serialized_start=13534,
+  serialized_end=13619,
 )
 
 _WAITFORSTATETRANSITIONRESULTREQUEST = _descriptor.Descriptor(
@@ -3823,8 +4076,8 @@
       create_key=_descriptor._internal_create_key,
     fields=[]),
   ],
-  serialized_start=12202,
-  serialized_end=12453,
+  serialized_start=13379,
+  serialized_end=13630,
 )
 
 
@@ -3874,8 +4127,8 @@
       create_key=_descriptor._internal_create_key,
     fields=[]),
   ],
-  serialized_start=12615,
-  serialized_end=12854,
+  serialized_start=13792,
+  serialized_end=14031,
 )
 
 _WAITFORSTATETRANSITIONRESULTRESPONSE = _descriptor.Descriptor(
@@ -3910,8 +4163,8 @@
       create_key=_descriptor._internal_create_key,
     fields=[]),
   ],
-  serialized_start=12456,
-  serialized_end=12865,
+  serialized_start=13633,
+  serialized_end=14042,
 )
 
 
@@ -3949,8 +4202,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=12993,
-  serialized_end=13053,
+  serialized_start=14170,
+  serialized_end=14230,
 )
 
 _GETCONSENSUSPARAMSREQUEST = _descriptor.Descriptor(
@@ -3985,8 +4238,8 @@
       create_key=_descriptor._internal_create_key,
     fields=[]),
   ],
-  serialized_start=12868,
-  serialized_end=13064,
+  serialized_start=14045,
+  serialized_end=14241,
 )
 
 
@@ -4031,8 +4284,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=13195,
-  serialized_end=13275,
+  serialized_start=14372,
+  serialized_end=14452,
 )
 
 _GETCONSENSUSPARAMSRESPONSE_CONSENSUSPARAMSEVIDENCE = _descriptor.Descriptor(
@@ -4076,8 +4329,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=13277,
-  serialized_end=13375,
+  serialized_start=14454,
+  serialized_end=14552,
 )
 
 _GETCONSENSUSPARAMSRESPONSE_GETCONSENSUSPARAMSRESPONSEV0 = _descriptor.Descriptor(
@@ -4114,8 +4367,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=13378,
-  serialized_end=13596,
+  serialized_start=14555,
+  serialized_end=14773,
 )
 
 _GETCONSENSUSPARAMSRESPONSE = _descriptor.Descriptor(
@@ -4150,8 +4403,8 @@
       create_key=_descriptor._internal_create_key,
     fields=[]),
   ],
-  serialized_start=13067,
-  serialized_end=13607,
+  serialized_start=14244,
+  serialized_end=14784,
 )
 
 
@@ -4182,8 +4435,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=13771,
-  serialized_end=13827,
+  serialized_start=14948,
+  serialized_end=15004,
 )
 
 _GETPROTOCOLVERSIONUPGRADESTATEREQUEST = _descriptor.Descriptor(
@@ -4218,8 +4471,8 @@
       create_key=_descriptor._internal_create_key,
     fields=[]),
   ],
-  serialized_start=13610,
-  serialized_end=13838,
+  serialized_start=14787,
+  serialized_end=15015,
 )
 
 
@@ -4250,8 +4503,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=14303,
-  serialized_end=14453,
+  serialized_start=15480,
+  serialized_end=15630,
 )
 
 _GETPROTOCOLVERSIONUPGRADESTATERESPONSE_GETPROTOCOLVERSIONUPGRADESTATERESPONSEV0_VERSIONENTRY = _descriptor.Descriptor(
@@ -4288,8 +4541,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=14455,
-  serialized_end=14513,
+  serialized_start=15632,
+  serialized_end=15690,
 )
 
 _GETPROTOCOLVERSIONUPGRADESTATERESPONSE_GETPROTOCOLVERSIONUPGRADESTATERESPONSEV0 = _descriptor.Descriptor(
@@ -4338,8 +4591,8 @@
       create_key=_descriptor._internal_create_key,
     fields=[]),
   ],
-  serialized_start=14006,
-  serialized_end=14523,
+  serialized_start=15183,
+  serialized_end=15700,
 )
 
 _GETPROTOCOLVERSIONUPGRADESTATERESPONSE = _descriptor.Descriptor(
@@ -4374,8 +4627,8 @@
       create_key=_descriptor._internal_create_key,
     fields=[]),
   ],
-  serialized_start=13841,
-  serialized_end=14534,
+  serialized_start=15018,
+  serialized_end=15711,
 )
 
 
@@ -4420,8 +4673,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=14714,
-  serialized_end=14817,
+  serialized_start=15891,
+  serialized_end=15994,
 )
 
 _GETPROTOCOLVERSIONUPGRADEVOTESTATUSREQUEST = _descriptor.Descriptor(
@@ -4456,8 +4709,8 @@
       create_key=_descriptor._internal_create_key,
     fields=[]),
   ],
-  serialized_start=14537,
-  serialized_end=14828,
+  serialized_start=15714,
+  serialized_end=16005,
 )
 
 
@@ -4488,8 +4741,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=15331,
-  serialized_end=15506,
+  serialized_start=16508,
+  serialized_end=16683,
 )
 
 _GETPROTOCOLVERSIONUPGRADEVOTESTATUSRESPONSE_GETPROTOCOLVERSIONUPGRADEVOTESTATUSRESPONSEV0_VERSIONSIGNAL = _descriptor.Descriptor(
@@ -4526,8 +4779,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=15508,
-  serialized_end=15561,
+  serialized_start=16685,
+  serialized_end=16738,
 )
 
 _GETPROTOCOLVERSIONUPGRADEVOTESTATUSRESPONSE_GETPROTOCOLVERSIONUPGRADEVOTESTATUSRESPONSEV0 = _descriptor.Descriptor(
@@ -4576,8 +4829,8 @@
       create_key=_descriptor._internal_create_key,
     fields=[]),
   ],
-  serialized_start=15012,
-  serialized_end=15571,
+  serialized_start=16189,
+  serialized_end=16748,
 )
 
 _GETPROTOCOLVERSIONUPGRADEVOTESTATUSRESPONSE = _descriptor.Descriptor(
@@ -4612,8 +4865,8 @@
       create_key=_descriptor._internal_create_key,
     fields=[]),
   ],
-  serialized_start=14831,
-  serialized_end=15582,
+  serialized_start=16008,
+  serialized_end=16759,
 )
 
 
@@ -4665,8 +4918,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=15695,
-  serialized_end=15819,
+  serialized_start=16872,
+  serialized_end=16996,
 )
 
 _GETEPOCHSINFOREQUEST = _descriptor.Descriptor(
@@ -4701,8 +4954,8 @@
       create_key=_descriptor._internal_create_key,
     fields=[]),
   ],
-  serialized_start=15585,
-  serialized_end=15830,
+  serialized_start=16762,
+  serialized_end=17007,
 )
 
 
@@ -4733,8 +4986,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=16191,
-  serialized_end=16308,
+  serialized_start=17368,
+  serialized_end=17485,
 )
 
 _GETEPOCHSINFORESPONSE_GETEPOCHSINFORESPONSEV0_EPOCHINFO = _descriptor.Descriptor(
@@ -4799,8 +5052,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=16311,
-  serialized_end=16477,
+  serialized_start=17488,
+  serialized_end=17654,
 )
 
 _GETEPOCHSINFORESPONSE_GETEPOCHSINFORESPONSEV0 = _descriptor.Descriptor(
@@ -4849,8 +5102,8 @@
       create_key=_descriptor._internal_create_key,
     fields=[]),
   ],
-  serialized_start=15947,
-  serialized_end=16487,
+  serialized_start=17124,
+  serialized_end=17664,
 )
 
 _GETEPOCHSINFORESPONSE = _descriptor.Descriptor(
@@ -4885,33 +5138,54 @@
       create_key=_descriptor._internal_create_key,
     fields=[]),
   ],
-  serialized_start=15833,
-  serialized_end=16498,
+  serialized_start=17010,
+  serialized_end=17675,
 )
 
 
-_GETCONTESTEDRESOURCESREQUEST_GETCONTESTEDRESOURCESREQUESTV0_STARTATVALUEINFO = _descriptor.Descriptor(
-  name='StartAtValueInfo',
-  full_name='org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo',
+_GETFINALIZEDEPOCHINFOSREQUEST_GETFINALIZEDEPOCHINFOSREQUESTV0 = _descriptor.Descriptor(
+  name='GetFinalizedEpochInfosRequestV0',
+  full_name='org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0',
   filename=None,
   file=DESCRIPTOR,
   containing_type=None,
   create_key=_descriptor._internal_create_key,
   fields=[
     _descriptor.FieldDescriptor(
-      name='start_value', full_name='org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.start_value', index=0,
-      number=1, type=12, cpp_type=9, label=1,
-      has_default_value=False, default_value=b"",
+      name='start_epoch_index', full_name='org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0.start_epoch_index', 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='start_value_included', full_name='org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.start_value_included', index=1,
+      name='start_epoch_index_included', full_name='org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0.start_epoch_index_included', 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),
+    _descriptor.FieldDescriptor(
+      name='end_epoch_index', full_name='org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0.end_epoch_index', 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='end_epoch_index_included', full_name='org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0.end_epoch_index_included', 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),
+    _descriptor.FieldDescriptor(
+      name='prove', full_name='org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0.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=[
   ],
@@ -4924,41 +5198,387 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=16993,
-  serialized_end=17062,
+  serialized_start=17816,
+  serialized_end=17986,
 )
 
-_GETCONTESTEDRESOURCESREQUEST_GETCONTESTEDRESOURCESREQUESTV0 = _descriptor.Descriptor(
-  name='GetContestedResourcesRequestV0',
-  full_name='org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0',
+_GETFINALIZEDEPOCHINFOSREQUEST = _descriptor.Descriptor(
+  name='GetFinalizedEpochInfosRequest',
+  full_name='org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest',
   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.GetContestedResourcesRequest.GetContestedResourcesRequestV0.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_name', full_name='org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.document_type_name', 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='index_name', full_name='org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.index_name', index=2,
-      number=3, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=b"".decode('utf-8'),
+      name='v0', full_name='org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.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='start_index_values', full_name='org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.start_index_values', index=3,
+  ],
+  extensions=[
+  ],
+  nested_types=[_GETFINALIZEDEPOCHINFOSREQUEST_GETFINALIZEDEPOCHINFOSREQUESTV0, ],
+  enum_types=[
+  ],
+  serialized_options=None,
+  is_extendable=False,
+  syntax='proto3',
+  extension_ranges=[],
+  oneofs=[
+    _descriptor.OneofDescriptor(
+      name='version', full_name='org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.version',
+      index=0, containing_type=None,
+      create_key=_descriptor._internal_create_key,
+    fields=[]),
+  ],
+  serialized_start=17678,
+  serialized_end=17997,
+)
+
+
+_GETFINALIZEDEPOCHINFOSRESPONSE_GETFINALIZEDEPOCHINFOSRESPONSEV0_FINALIZEDEPOCHINFOS = _descriptor.Descriptor(
+  name='FinalizedEpochInfos',
+  full_name='org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  create_key=_descriptor._internal_create_key,
+  fields=[
+    _descriptor.FieldDescriptor(
+      name='finalized_epoch_infos', full_name='org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos.finalized_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=18423,
+  serialized_end=18587,
+)
+
+_GETFINALIZEDEPOCHINFOSRESPONSE_GETFINALIZEDEPOCHINFOSRESPONSEV0_FINALIZEDEPOCHINFO = _descriptor.Descriptor(
+  name='FinalizedEpochInfo',
+  full_name='org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo',
+  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.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo.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.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo.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=b'0\001', file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
+    _descriptor.FieldDescriptor(
+      name='first_core_block_height', full_name='org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo.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='first_block_time', full_name='org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo.first_block_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=b'0\001', file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
+    _descriptor.FieldDescriptor(
+      name='fee_multiplier', full_name='org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo.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),
+    _descriptor.FieldDescriptor(
+      name='protocol_version', full_name='org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo.protocol_version', index=5,
+      number=6, 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='total_blocks_in_epoch', full_name='org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo.total_blocks_in_epoch', index=6,
+      number=7, 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=b'0\001', file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
+    _descriptor.FieldDescriptor(
+      name='next_epoch_start_core_block_height', full_name='org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo.next_epoch_start_core_block_height', index=7,
+      number=8, 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='total_processing_fees', full_name='org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo.total_processing_fees', index=8,
+      number=9, 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=b'0\001', file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
+    _descriptor.FieldDescriptor(
+      name='total_distributed_storage_fees', full_name='org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo.total_distributed_storage_fees', index=9,
+      number=10, 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=b'0\001', file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
+    _descriptor.FieldDescriptor(
+      name='total_created_storage_fees', full_name='org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo.total_created_storage_fees', index=10,
+      number=11, 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=b'0\001', file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
+    _descriptor.FieldDescriptor(
+      name='core_block_rewards', full_name='org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo.core_block_rewards', index=11,
+      number=12, 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=b'0\001', file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
+    _descriptor.FieldDescriptor(
+      name='block_proposers', full_name='org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo.block_proposers', index=12,
+      number=13, 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=18590,
+  serialized_end=19133,
+)
+
+_GETFINALIZEDEPOCHINFOSRESPONSE_GETFINALIZEDEPOCHINFOSRESPONSEV0_BLOCKPROPOSER = _descriptor.Descriptor(
+  name='BlockProposer',
+  full_name='org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  create_key=_descriptor._internal_create_key,
+  fields=[
+    _descriptor.FieldDescriptor(
+      name='proposer_id', full_name='org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer.proposer_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='block_count', full_name='org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer.block_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=19135,
+  serialized_end=19192,
+)
+
+_GETFINALIZEDEPOCHINFOSRESPONSE_GETFINALIZEDEPOCHINFOSRESPONSEV0 = _descriptor.Descriptor(
+  name='GetFinalizedEpochInfosResponseV0',
+  full_name='org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0',
+  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.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.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.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.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.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.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=[_GETFINALIZEDEPOCHINFOSRESPONSE_GETFINALIZEDEPOCHINFOSRESPONSEV0_FINALIZEDEPOCHINFOS, _GETFINALIZEDEPOCHINFOSRESPONSE_GETFINALIZEDEPOCHINFOSRESPONSEV0_FINALIZEDEPOCHINFO, _GETFINALIZEDEPOCHINFOSRESPONSE_GETFINALIZEDEPOCHINFOSRESPONSEV0_BLOCKPROPOSER, ],
+  enum_types=[
+  ],
+  serialized_options=None,
+  is_extendable=False,
+  syntax='proto3',
+  extension_ranges=[],
+  oneofs=[
+    _descriptor.OneofDescriptor(
+      name='result', full_name='org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.result',
+      index=0, containing_type=None,
+      create_key=_descriptor._internal_create_key,
+    fields=[]),
+  ],
+  serialized_start=18141,
+  serialized_end=19202,
+)
+
+_GETFINALIZEDEPOCHINFOSRESPONSE = _descriptor.Descriptor(
+  name='GetFinalizedEpochInfosResponse',
+  full_name='org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse',
+  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.GetFinalizedEpochInfosResponse.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=[_GETFINALIZEDEPOCHINFOSRESPONSE_GETFINALIZEDEPOCHINFOSRESPONSEV0, ],
+  enum_types=[
+  ],
+  serialized_options=None,
+  is_extendable=False,
+  syntax='proto3',
+  extension_ranges=[],
+  oneofs=[
+    _descriptor.OneofDescriptor(
+      name='version', full_name='org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.version',
+      index=0, containing_type=None,
+      create_key=_descriptor._internal_create_key,
+    fields=[]),
+  ],
+  serialized_start=18000,
+  serialized_end=19213,
+)
+
+
+_GETCONTESTEDRESOURCESREQUEST_GETCONTESTEDRESOURCESREQUESTV0_STARTATVALUEINFO = _descriptor.Descriptor(
+  name='StartAtValueInfo',
+  full_name='org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  create_key=_descriptor._internal_create_key,
+  fields=[
+    _descriptor.FieldDescriptor(
+      name='start_value', full_name='org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.start_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),
+    _descriptor.FieldDescriptor(
+      name='start_value_included', full_name='org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.start_value_included', 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=19708,
+  serialized_end=19777,
+)
+
+_GETCONTESTEDRESOURCESREQUEST_GETCONTESTEDRESOURCESREQUESTV0 = _descriptor.Descriptor(
+  name='GetContestedResourcesRequestV0',
+  full_name='org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0',
+  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.GetContestedResourcesRequest.GetContestedResourcesRequestV0.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_name', full_name='org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.document_type_name', 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='index_name', full_name='org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.index_name', 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,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
+    _descriptor.FieldDescriptor(
+      name='start_index_values', full_name='org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.start_index_values', index=3,
       number=4, type=12, cpp_type=9, label=3,
       has_default_value=False, default_value=[],
       message_type=None, enum_type=None, containing_type=None,
@@ -5021,8 +5641,8 @@
       create_key=_descriptor._internal_create_key,
     fields=[]),
   ],
-  serialized_start=16636,
-  serialized_end=17096,
+  serialized_start=19351,
+  serialized_end=19811,
 )
 
 _GETCONTESTEDRESOURCESREQUEST = _descriptor.Descriptor(
@@ -5057,8 +5677,8 @@
       create_key=_descriptor._internal_create_key,
     fields=[]),
   ],
-  serialized_start=16501,
-  serialized_end=17107,
+  serialized_start=19216,
+  serialized_end=19822,
 )
 
 
@@ -5089,8 +5709,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=17549,
-  serialized_end=17609,
+  serialized_start=20264,
+  serialized_end=20324,
 )
 
 _GETCONTESTEDRESOURCESRESPONSE_GETCONTESTEDRESOURCESRESPONSEV0 = _descriptor.Descriptor(
@@ -5139,8 +5759,8 @@
       create_key=_descriptor._internal_create_key,
     fields=[]),
   ],
-  serialized_start=17248,
-  serialized_end=17619,
+  serialized_start=19963,
+  serialized_end=20334,
 )
 
 _GETCONTESTEDRESOURCESRESPONSE = _descriptor.Descriptor(
@@ -5175,8 +5795,8 @@
       create_key=_descriptor._internal_create_key,
     fields=[]),
   ],
-  serialized_start=17110,
-  serialized_end=17630,
+  serialized_start=19825,
+  serialized_end=20345,
 )
 
 
@@ -5214,8 +5834,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=18143,
-  serialized_end=18216,
+  serialized_start=20858,
+  serialized_end=20931,
 )
 
 _GETVOTEPOLLSBYENDDATEREQUEST_GETVOTEPOLLSBYENDDATEREQUESTV0_ENDATTIMEINFO = _descriptor.Descriptor(
@@ -5252,8 +5872,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=18218,
-  serialized_end=18285,
+  serialized_start=20933,
+  serialized_end=21000,
 )
 
 _GETVOTEPOLLSBYENDDATEREQUEST_GETVOTEPOLLSBYENDDATEREQUESTV0 = _descriptor.Descriptor(
@@ -5338,8 +5958,8 @@
       create_key=_descriptor._internal_create_key,
     fields=[]),
   ],
-  serialized_start=17768,
-  serialized_end=18344,
+  serialized_start=20483,
+  serialized_end=21059,
 )
 
 _GETVOTEPOLLSBYENDDATEREQUEST = _descriptor.Descriptor(
@@ -5374,8 +5994,8 @@
       create_key=_descriptor._internal_create_key,
     fields=[]),
   ],
-  serialized_start=17633,
-  serialized_end=18355,
+  serialized_start=20348,
+  serialized_end=21070,
 )
 
 
@@ -5413,8 +6033,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=18804,
-  serialized_end=18890,
+  serialized_start=21519,
+  serialized_end=21605,
 )
 
 _GETVOTEPOLLSBYENDDATERESPONSE_GETVOTEPOLLSBYENDDATERESPONSEV0_SERIALIZEDVOTEPOLLSBYTIMESTAMPS = _descriptor.Descriptor(
@@ -5451,8 +6071,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=18893,
-  serialized_end=19108,
+  serialized_start=21608,
+  serialized_end=21823,
 )
 
 _GETVOTEPOLLSBYENDDATERESPONSE_GETVOTEPOLLSBYENDDATERESPONSEV0 = _descriptor.Descriptor(
@@ -5501,8 +6121,8 @@
       create_key=_descriptor._internal_create_key,
     fields=[]),
   ],
-  serialized_start=18496,
-  serialized_end=19118,
+  serialized_start=21211,
+  serialized_end=21833,
 )
 
 _GETVOTEPOLLSBYENDDATERESPONSE = _descriptor.Descriptor(
@@ -5537,8 +6157,8 @@
       create_key=_descriptor._internal_create_key,
     fields=[]),
   ],
-  serialized_start=18358,
-  serialized_end=19129,
+  serialized_start=21073,
+  serialized_end=21844,
 )
 
 
@@ -5576,8 +6196,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=19818,
-  serialized_end=19902,
+  serialized_start=22533,
+  serialized_end=22617,
 )
 
 _GETCONTESTEDRESOURCEVOTESTATEREQUEST_GETCONTESTEDRESOURCEVOTESTATEREQUESTV0 = _descriptor.Descriptor(
@@ -5674,8 +6294,8 @@
       create_key=_descriptor._internal_create_key,
     fields=[]),
   ],
-  serialized_start=19291,
-  serialized_end=20016,
+  serialized_start=22006,
+  serialized_end=22731,
 )
 
 _GETCONTESTEDRESOURCEVOTESTATEREQUEST = _descriptor.Descriptor(
@@ -5710,8 +6330,8 @@
       create_key=_descriptor._internal_create_key,
     fields=[]),
   ],
-  serialized_start=19132,
-  serialized_end=20027,
+  serialized_start=21847,
+  serialized_end=22742,
 )
 
 
@@ -5783,8 +6403,8 @@
       create_key=_descriptor._internal_create_key,
     fields=[]),
   ],
-  serialized_start=20527,
-  serialized_end=21001,
+  serialized_start=23242,
+  serialized_end=23716,
 )
 
 _GETCONTESTEDRESOURCEVOTESTATERESPONSE_GETCONTESTEDRESOURCEVOTESTATERESPONSEV0_CONTESTEDRESOURCECONTENDERS = _descriptor.Descriptor(
@@ -5850,8 +6470,8 @@
       create_key=_descriptor._internal_create_key,
     fields=[]),
   ],
-  serialized_start=21004,
-  serialized_end=21456,
+  serialized_start=23719,
+  serialized_end=24171,
 )
 
 _GETCONTESTEDRESOURCEVOTESTATERESPONSE_GETCONTESTEDRESOURCEVOTESTATERESPONSEV0_CONTENDER = _descriptor.Descriptor(
@@ -5905,8 +6525,8 @@
       create_key=_descriptor._internal_create_key,
     fields=[]),
   ],
-  serialized_start=21458,
-  serialized_end=21565,
+  serialized_start=24173,
+  serialized_end=24280,
 )
 
 _GETCONTESTEDRESOURCEVOTESTATERESPONSE_GETCONTESTEDRESOURCEVOTESTATERESPONSEV0 = _descriptor.Descriptor(
@@ -5955,8 +6575,8 @@
       create_key=_descriptor._internal_create_key,
     fields=[]),
   ],
-  serialized_start=20192,
-  serialized_end=21575,
+  serialized_start=22907,
+  serialized_end=24290,
 )
 
 _GETCONTESTEDRESOURCEVOTESTATERESPONSE = _descriptor.Descriptor(
@@ -5991,8 +6611,8 @@
       create_key=_descriptor._internal_create_key,
     fields=[]),
   ],
-  serialized_start=20030,
-  serialized_end=21586,
+  serialized_start=22745,
+  serialized_end=24301,
 )
 
 
@@ -6030,8 +6650,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=19818,
-  serialized_end=19902,
+  serialized_start=22533,
+  serialized_end=22617,
 )
 
 _GETCONTESTEDRESOURCEVOTERSFORIDENTITYREQUEST_GETCONTESTEDRESOURCEVOTERSFORIDENTITYREQUESTV0 = _descriptor.Descriptor(
@@ -6127,8 +6747,8 @@
       create_key=_descriptor._internal_create_key,
     fields=[]),
   ],
-  serialized_start=21773,
-  serialized_end=22303,
+  serialized_start=24488,
+  serialized_end=25018,
 )
 
 _GETCONTESTEDRESOURCEVOTERSFORIDENTITYREQUEST = _descriptor.Descriptor(
@@ -6163,8 +6783,8 @@
       create_key=_descriptor._internal_create_key,
     fields=[]),
   ],
-  serialized_start=21589,
-  serialized_end=22314,
+  serialized_start=24304,
+  serialized_end=25029,
 )
 
 
@@ -6202,8 +6822,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=22854,
-  serialized_end=22921,
+  serialized_start=25569,
+  serialized_end=25636,
 )
 
 _GETCONTESTEDRESOURCEVOTERSFORIDENTITYRESPONSE_GETCONTESTEDRESOURCEVOTERSFORIDENTITYRESPONSEV0 = _descriptor.Descriptor(
@@ -6252,8 +6872,8 @@
       create_key=_descriptor._internal_create_key,
     fields=[]),
   ],
-  serialized_start=22504,
-  serialized_end=22931,
+  serialized_start=25219,
+  serialized_end=25646,
 )
 
 _GETCONTESTEDRESOURCEVOTERSFORIDENTITYRESPONSE = _descriptor.Descriptor(
@@ -6288,8 +6908,8 @@
       create_key=_descriptor._internal_create_key,
     fields=[]),
   ],
-  serialized_start=22317,
-  serialized_end=22942,
+  serialized_start=25032,
+  serialized_end=25657,
 )
 
 
@@ -6327,8 +6947,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=23491,
-  serialized_end=23588,
+  serialized_start=26206,
+  serialized_end=26303,
 )
 
 _GETCONTESTEDRESOURCEIDENTITYVOTESREQUEST_GETCONTESTEDRESOURCEIDENTITYVOTESREQUESTV0 = _descriptor.Descriptor(
@@ -6398,8 +7018,8 @@
       create_key=_descriptor._internal_create_key,
     fields=[]),
   ],
-  serialized_start=23116,
-  serialized_end=23619,
+  serialized_start=25831,
+  serialized_end=26334,
 )
 
 _GETCONTESTEDRESOURCEIDENTITYVOTESREQUEST = _descriptor.Descriptor(
@@ -6434,8 +7054,8 @@
       create_key=_descriptor._internal_create_key,
     fields=[]),
   ],
-  serialized_start=22945,
-  serialized_end=23630,
+  serialized_start=25660,
+  serialized_end=26345,
 )
 
 
@@ -6473,8 +7093,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=24133,
-  serialized_end=24380,
+  serialized_start=26848,
+  serialized_end=27095,
 )
 
 _GETCONTESTEDRESOURCEIDENTITYVOTESRESPONSE_GETCONTESTEDRESOURCEIDENTITYVOTESRESPONSEV0_RESOURCEVOTECHOICE = _descriptor.Descriptor(
@@ -6517,8 +7137,8 @@
       create_key=_descriptor._internal_create_key,
     fields=[]),
   ],
-  serialized_start=24383,
-  serialized_end=24684,
+  serialized_start=27098,
+  serialized_end=27399,
 )
 
 _GETCONTESTEDRESOURCEIDENTITYVOTESRESPONSE_GETCONTESTEDRESOURCEIDENTITYVOTESRESPONSEV0_CONTESTEDRESOURCEIDENTITYVOTE = _descriptor.Descriptor(
@@ -6569,8 +7189,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=24687,
-  serialized_end=24964,
+  serialized_start=27402,
+  serialized_end=27679,
 )
 
 _GETCONTESTEDRESOURCEIDENTITYVOTESRESPONSE_GETCONTESTEDRESOURCEIDENTITYVOTESRESPONSEV0 = _descriptor.Descriptor(
@@ -6619,8 +7239,8 @@
       create_key=_descriptor._internal_create_key,
     fields=[]),
   ],
-  serialized_start=23807,
-  serialized_end=24974,
+  serialized_start=26522,
+  serialized_end=27689,
 )
 
 _GETCONTESTEDRESOURCEIDENTITYVOTESRESPONSE = _descriptor.Descriptor(
@@ -6655,8 +7275,8 @@
       create_key=_descriptor._internal_create_key,
     fields=[]),
   ],
-  serialized_start=23633,
-  serialized_end=24985,
+  serialized_start=26348,
+  serialized_end=27700,
 )
 
 
@@ -6694,8 +7314,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=25149,
-  serialized_end=25217,
+  serialized_start=27864,
+  serialized_end=27932,
 )
 
 _GETPREFUNDEDSPECIALIZEDBALANCEREQUEST = _descriptor.Descriptor(
@@ -6730,8 +7350,8 @@
       create_key=_descriptor._internal_create_key,
     fields=[]),
   ],
-  serialized_start=24988,
-  serialized_end=25228,
+  serialized_start=27703,
+  serialized_end=27943,
 )
 
 
@@ -6781,8 +7401,8 @@
       create_key=_descriptor._internal_create_key,
     fields=[]),
   ],
-  serialized_start=25396,
-  serialized_end=25585,
+  serialized_start=28111,
+  serialized_end=28300,
 )
 
 _GETPREFUNDEDSPECIALIZEDBALANCERESPONSE = _descriptor.Descriptor(
@@ -6817,8 +7437,8 @@
       create_key=_descriptor._internal_create_key,
     fields=[]),
   ],
-  serialized_start=25231,
-  serialized_end=25596,
+  serialized_start=27946,
+  serialized_end=28311,
 )
 
 
@@ -6849,8 +7469,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=25745,
-  serialized_end=25796,
+  serialized_start=28460,
+  serialized_end=28511,
 )
 
 _GETTOTALCREDITSINPLATFORMREQUEST = _descriptor.Descriptor(
@@ -6885,8 +7505,8 @@
       create_key=_descriptor._internal_create_key,
     fields=[]),
   ],
-  serialized_start=25599,
-  serialized_end=25807,
+  serialized_start=28314,
+  serialized_end=28522,
 )
 
 
@@ -6936,8 +7556,8 @@
       create_key=_descriptor._internal_create_key,
     fields=[]),
   ],
-  serialized_start=25960,
-  serialized_end=26144,
+  serialized_start=28675,
+  serialized_end=28859,
 )
 
 _GETTOTALCREDITSINPLATFORMRESPONSE = _descriptor.Descriptor(
@@ -6972,8 +7592,8 @@
       create_key=_descriptor._internal_create_key,
     fields=[]),
   ],
-  serialized_start=25810,
-  serialized_end=26155,
+  serialized_start=28525,
+  serialized_end=28870,
 )
 
 
@@ -7018,8 +7638,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=26274,
-  serialized_end=26343,
+  serialized_start=28989,
+  serialized_end=29058,
 )
 
 _GETPATHELEMENTSREQUEST = _descriptor.Descriptor(
@@ -7054,8 +7674,8 @@
       create_key=_descriptor._internal_create_key,
     fields=[]),
   ],
-  serialized_start=26158,
-  serialized_end=26354,
+  serialized_start=28873,
+  serialized_end=29069,
 )
 
 
@@ -7086,8 +7706,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=26727,
-  serialized_end=26755,
+  serialized_start=29442,
+  serialized_end=29470,
 )
 
 _GETPATHELEMENTSRESPONSE_GETPATHELEMENTSRESPONSEV0 = _descriptor.Descriptor(
@@ -7136,8 +7756,8 @@
       create_key=_descriptor._internal_create_key,
     fields=[]),
   ],
-  serialized_start=26477,
-  serialized_end=26765,
+  serialized_start=29192,
+  serialized_end=29480,
 )
 
 _GETPATHELEMENTSRESPONSE = _descriptor.Descriptor(
@@ -7172,8 +7792,8 @@
       create_key=_descriptor._internal_create_key,
     fields=[]),
   ],
-  serialized_start=26357,
-  serialized_end=26776,
+  serialized_start=29072,
+  serialized_end=29491,
 )
 
 
@@ -7197,8 +7817,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=26877,
-  serialized_end=26897,
+  serialized_start=29592,
+  serialized_end=29612,
 )
 
 _GETSTATUSREQUEST = _descriptor.Descriptor(
@@ -7233,8 +7853,8 @@
       create_key=_descriptor._internal_create_key,
     fields=[]),
   ],
-  serialized_start=26779,
-  serialized_end=26908,
+  serialized_start=29494,
+  serialized_end=29623,
 )
 
 
@@ -7289,8 +7909,8 @@
       create_key=_descriptor._internal_create_key,
     fields=[]),
   ],
-  serialized_start=27785,
-  serialized_end=27879,
+  serialized_start=30500,
+  serialized_end=30594,
 )
 
 _GETSTATUSRESPONSE_GETSTATUSRESPONSEV0_VERSION_PROTOCOL_TENDERDASH = _descriptor.Descriptor(
@@ -7327,8 +7947,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=28112,
-  serialized_end=28152,
+  serialized_start=30827,
+  serialized_end=30867,
 )
 
 _GETSTATUSRESPONSE_GETSTATUSRESPONSEV0_VERSION_PROTOCOL_DRIVE = _descriptor.Descriptor(
@@ -7365,8 +7985,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=28154,
-  serialized_end=28194,
+  serialized_start=30869,
+  serialized_end=30909,
 )
 
 _GETSTATUSRESPONSE_GETSTATUSRESPONSEV0_VERSION_PROTOCOL = _descriptor.Descriptor(
@@ -7403,8 +8023,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=27882,
-  serialized_end=28194,
+  serialized_start=30597,
+  serialized_end=30909,
 )
 
 _GETSTATUSRESPONSE_GETSTATUSRESPONSEV0_VERSION = _descriptor.Descriptor(
@@ -7441,8 +8061,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=27572,
-  serialized_end=28194,
+  serialized_start=30287,
+  serialized_end=30909,
 )
 
 _GETSTATUSRESPONSE_GETSTATUSRESPONSEV0_TIME = _descriptor.Descriptor(
@@ -7508,8 +8128,8 @@
       create_key=_descriptor._internal_create_key,
     fields=[]),
   ],
-  serialized_start=28196,
-  serialized_end=28323,
+  serialized_start=30911,
+  serialized_end=31038,
 )
 
 _GETSTATUSRESPONSE_GETSTATUSRESPONSEV0_NODE = _descriptor.Descriptor(
@@ -7551,8 +8171,8 @@
       create_key=_descriptor._internal_create_key,
     fields=[]),
   ],
-  serialized_start=28325,
-  serialized_end=28385,
+  serialized_start=31040,
+  serialized_end=31100,
 )
 
 _GETSTATUSRESPONSE_GETSTATUSRESPONSEV0_CHAIN = _descriptor.Descriptor(
@@ -7643,8 +8263,8 @@
       create_key=_descriptor._internal_create_key,
     fields=[]),
   ],
-  serialized_start=28388,
-  serialized_end=28695,
+  serialized_start=31103,
+  serialized_end=31410,
 )
 
 _GETSTATUSRESPONSE_GETSTATUSRESPONSEV0_NETWORK = _descriptor.Descriptor(
@@ -7688,8 +8308,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=28697,
-  serialized_end=28764,
+  serialized_start=31412,
+  serialized_end=31479,
 )
 
 _GETSTATUSRESPONSE_GETSTATUSRESPONSEV0_STATESYNC = _descriptor.Descriptor(
@@ -7768,8 +8388,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=28767,
-  serialized_end=29028,
+  serialized_start=31482,
+  serialized_end=31743,
 )
 
 _GETSTATUSRESPONSE_GETSTATUSRESPONSEV0 = _descriptor.Descriptor(
@@ -7834,8 +8454,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=27013,
-  serialized_end=29028,
+  serialized_start=29728,
+  serialized_end=31743,
 )
 
 _GETSTATUSRESPONSE = _descriptor.Descriptor(
@@ -7870,8 +8490,8 @@
       create_key=_descriptor._internal_create_key,
     fields=[]),
   ],
-  serialized_start=26911,
-  serialized_end=29039,
+  serialized_start=29626,
+  serialized_end=31754,
 )
 
 
@@ -7895,8 +8515,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=29176,
-  serialized_end=29208,
+  serialized_start=31891,
+  serialized_end=31923,
 )
 
 _GETCURRENTQUORUMSINFOREQUEST = _descriptor.Descriptor(
@@ -7931,8 +8551,8 @@
       create_key=_descriptor._internal_create_key,
     fields=[]),
   ],
-  serialized_start=29042,
-  serialized_end=29219,
+  serialized_start=31757,
+  serialized_end=31934,
 )
 
 
@@ -7977,8 +8597,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=29359,
-  serialized_end=29429,
+  serialized_start=32074,
+  serialized_end=32144,
 )
 
 _GETCURRENTQUORUMSINFORESPONSE_VALIDATORSETV0 = _descriptor.Descriptor(
@@ -8029,8 +8649,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=29432,
-  serialized_end=29607,
+  serialized_start=32147,
+  serialized_end=32322,
 )
 
 _GETCURRENTQUORUMSINFORESPONSE_GETCURRENTQUORUMSINFORESPONSEV0 = _descriptor.Descriptor(
@@ -8088,8 +8708,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=29610,
-  serialized_end=29884,
+  serialized_start=32325,
+  serialized_end=32599,
 )
 
 _GETCURRENTQUORUMSINFORESPONSE = _descriptor.Descriptor(
@@ -8124,8 +8744,8 @@
       create_key=_descriptor._internal_create_key,
     fields=[]),
   ],
-  serialized_start=29222,
-  serialized_end=29895,
+  serialized_start=31937,
+  serialized_end=32610,
 )
 
 
@@ -8170,8 +8790,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=30041,
-  serialized_end=30131,
+  serialized_start=32756,
+  serialized_end=32846,
 )
 
 _GETIDENTITYTOKENBALANCESREQUEST = _descriptor.Descriptor(
@@ -8206,8 +8826,8 @@
       create_key=_descriptor._internal_create_key,
     fields=[]),
   ],
-  serialized_start=29898,
-  serialized_end=30142,
+  serialized_start=32613,
+  serialized_end=32857,
 )
 
 
@@ -8250,8 +8870,8 @@
       create_key=_descriptor._internal_create_key,
     fields=[]),
   ],
-  serialized_start=30581,
-  serialized_end=30652,
+  serialized_start=33296,
+  serialized_end=33367,
 )
 
 _GETIDENTITYTOKENBALANCESRESPONSE_GETIDENTITYTOKENBALANCESRESPONSEV0_TOKENBALANCES = _descriptor.Descriptor(
@@ -8281,8 +8901,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=30655,
-  serialized_end=30809,
+  serialized_start=33370,
+  serialized_end=33524,
 )
 
 _GETIDENTITYTOKENBALANCESRESPONSE_GETIDENTITYTOKENBALANCESRESPONSEV0 = _descriptor.Descriptor(
@@ -8331,8 +8951,8 @@
       create_key=_descriptor._internal_create_key,
     fields=[]),
   ],
-  serialized_start=30292,
-  serialized_end=30819,
+  serialized_start=33007,
+  serialized_end=33534,
 )
 
 _GETIDENTITYTOKENBALANCESRESPONSE = _descriptor.Descriptor(
@@ -8367,8 +8987,8 @@
       create_key=_descriptor._internal_create_key,
     fields=[]),
   ],
-  serialized_start=30145,
-  serialized_end=30830,
+  serialized_start=32860,
+  serialized_end=33545,
 )
 
 
@@ -8413,8 +9033,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=30982,
-  serialized_end=31074,
+  serialized_start=33697,
+  serialized_end=33789,
 )
 
 _GETIDENTITIESTOKENBALANCESREQUEST = _descriptor.Descriptor(
@@ -8449,8 +9069,8 @@
       create_key=_descriptor._internal_create_key,
     fields=[]),
   ],
-  serialized_start=30833,
-  serialized_end=31085,
+  serialized_start=33548,
+  serialized_end=33800,
 )
 
 
@@ -8493,8 +9113,8 @@
       create_key=_descriptor._internal_create_key,
     fields=[]),
   ],
-  serialized_start=31553,
-  serialized_end=31635,
+  serialized_start=34268,
+  serialized_end=34350,
 )
 
 _GETIDENTITIESTOKENBALANCESRESPONSE_GETIDENTITIESTOKENBALANCESRESPONSEV0_IDENTITYTOKENBALANCES = _descriptor.Descriptor(
@@ -8524,8 +9144,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=31638,
-  serialized_end=31821,
+  serialized_start=34353,
+  serialized_end=34536,
 )
 
 _GETIDENTITIESTOKENBALANCESRESPONSE_GETIDENTITIESTOKENBALANCESRESPONSEV0 = _descriptor.Descriptor(
@@ -8574,8 +9194,8 @@
       create_key=_descriptor._internal_create_key,
     fields=[]),
   ],
-  serialized_start=31241,
-  serialized_end=31831,
+  serialized_start=33956,
+  serialized_end=34546,
 )
 
 _GETIDENTITIESTOKENBALANCESRESPONSE = _descriptor.Descriptor(
@@ -8610,8 +9230,8 @@
       create_key=_descriptor._internal_create_key,
     fields=[]),
   ],
-  serialized_start=31088,
-  serialized_end=31842,
+  serialized_start=33803,
+  serialized_end=34557,
 )
 
 
@@ -8656,8 +9276,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=31979,
-  serialized_end=32066,
+  serialized_start=34694,
+  serialized_end=34781,
 )
 
 _GETIDENTITYTOKENINFOSREQUEST = _descriptor.Descriptor(
@@ -8692,8 +9312,8 @@
       create_key=_descriptor._internal_create_key,
     fields=[]),
   ],
-  serialized_start=31845,
-  serialized_end=32077,
+  serialized_start=34560,
+  serialized_end=34792,
 )
 
 
@@ -8724,8 +9344,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=32491,
-  serialized_end=32531,
+  serialized_start=35206,
+  serialized_end=35246,
 )
 
 _GETIDENTITYTOKENINFOSRESPONSE_GETIDENTITYTOKENINFOSRESPONSEV0_TOKENINFOENTRY = _descriptor.Descriptor(
@@ -8767,8 +9387,8 @@
       create_key=_descriptor._internal_create_key,
     fields=[]),
   ],
-  serialized_start=32534,
-  serialized_end=32710,
+  serialized_start=35249,
+  serialized_end=35425,
 )
 
 _GETIDENTITYTOKENINFOSRESPONSE_GETIDENTITYTOKENINFOSRESPONSEV0_TOKENINFOS = _descriptor.Descriptor(
@@ -8798,8 +9418,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=32713,
-  serialized_end=32851,
+  serialized_start=35428,
+  serialized_end=35566,
 )
 
 _GETIDENTITYTOKENINFOSRESPONSE_GETIDENTITYTOKENINFOSRESPONSEV0 = _descriptor.Descriptor(
@@ -8848,8 +9468,8 @@
       create_key=_descriptor._internal_create_key,
     fields=[]),
   ],
-  serialized_start=32218,
-  serialized_end=32861,
+  serialized_start=34933,
+  serialized_end=35576,
 )
 
 _GETIDENTITYTOKENINFOSRESPONSE = _descriptor.Descriptor(
@@ -8884,8 +9504,8 @@
       create_key=_descriptor._internal_create_key,
     fields=[]),
   ],
-  serialized_start=32080,
-  serialized_end=32872,
+  serialized_start=34795,
+  serialized_end=35587,
 )
 
 
@@ -8930,8 +9550,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=33015,
-  serialized_end=33104,
+  serialized_start=35730,
+  serialized_end=35819,
 )
 
 _GETIDENTITIESTOKENINFOSREQUEST = _descriptor.Descriptor(
@@ -8966,8 +9586,8 @@
       create_key=_descriptor._internal_create_key,
     fields=[]),
   ],
-  serialized_start=32875,
-  serialized_end=33115,
+  serialized_start=35590,
+  serialized_end=35830,
 )
 
 
@@ -8998,8 +9618,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=32491,
-  serialized_end=32531,
+  serialized_start=35206,
+  serialized_end=35246,
 )
 
 _GETIDENTITIESTOKENINFOSRESPONSE_GETIDENTITIESTOKENINFOSRESPONSEV0_TOKENINFOENTRY = _descriptor.Descriptor(
@@ -9041,8 +9661,8 @@
       create_key=_descriptor._internal_create_key,
     fields=[]),
   ],
-  serialized_start=33602,
-  serialized_end=33785,
+  serialized_start=36317,
+  serialized_end=36500,
 )
 
 _GETIDENTITIESTOKENINFOSRESPONSE_GETIDENTITIESTOKENINFOSRESPONSEV0_IDENTITYTOKENINFOS = _descriptor.Descriptor(
@@ -9072,8 +9692,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=33788,
-  serialized_end=33939,
+  serialized_start=36503,
+  serialized_end=36654,
 )
 
 _GETIDENTITIESTOKENINFOSRESPONSE_GETIDENTITIESTOKENINFOSRESPONSEV0 = _descriptor.Descriptor(
@@ -9122,8 +9742,8 @@
       create_key=_descriptor._internal_create_key,
     fields=[]),
   ],
-  serialized_start=33262,
-  serialized_end=33949,
+  serialized_start=35977,
+  serialized_end=36664,
 )
 
 _GETIDENTITIESTOKENINFOSRESPONSE = _descriptor.Descriptor(
@@ -9158,8 +9778,8 @@
       create_key=_descriptor._internal_create_key,
     fields=[]),
   ],
-  serialized_start=33118,
-  serialized_end=33960,
+  serialized_start=35833,
+  serialized_end=36675,
 )
 
 
@@ -9197,8 +9817,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=34082,
-  serialized_end=34143,
+  serialized_start=36797,
+  serialized_end=36858,
 )
 
 _GETTOKENSTATUSESREQUEST = _descriptor.Descriptor(
@@ -9233,8 +9853,8 @@
       create_key=_descriptor._internal_create_key,
     fields=[]),
   ],
-  serialized_start=33963,
-  serialized_end=34154,
+  serialized_start=36678,
+  serialized_end=36869,
 )
 
 
@@ -9277,8 +9897,8 @@
       create_key=_descriptor._internal_create_key,
     fields=[]),
   ],
-  serialized_start=34544,
-  serialized_end=34612,
+  serialized_start=37259,
+  serialized_end=37327,
 )
 
 _GETTOKENSTATUSESRESPONSE_GETTOKENSTATUSESRESPONSEV0_TOKENSTATUSES = _descriptor.Descriptor(
@@ -9308,8 +9928,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=34615,
-  serialized_end=34751,
+  serialized_start=37330,
+  serialized_end=37466,
 )
 
 _GETTOKENSTATUSESRESPONSE_GETTOKENSTATUSESRESPONSEV0 = _descriptor.Descriptor(
@@ -9358,8 +9978,8 @@
       create_key=_descriptor._internal_create_key,
     fields=[]),
   ],
-  serialized_start=34280,
-  serialized_end=34761,
+  serialized_start=36995,
+  serialized_end=37476,
 )
 
 _GETTOKENSTATUSESRESPONSE = _descriptor.Descriptor(
@@ -9394,8 +10014,83 @@
       create_key=_descriptor._internal_create_key,
     fields=[]),
   ],
-  serialized_start=34157,
-  serialized_end=34772,
+  serialized_start=36872,
+  serialized_end=37487,
+)
+
+
+_GETTOKENDIRECTPURCHASEPRICESREQUEST_GETTOKENDIRECTPURCHASEPRICESREQUESTV0 = _descriptor.Descriptor(
+  name='GetTokenDirectPurchasePricesRequestV0',
+  full_name='org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  create_key=_descriptor._internal_create_key,
+  fields=[
+    _descriptor.FieldDescriptor(
+      name='token_ids', full_name='org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.token_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.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.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=37645,
+  serialized_end=37718,
+)
+
+_GETTOKENDIRECTPURCHASEPRICESREQUEST = _descriptor.Descriptor(
+  name='GetTokenDirectPurchasePricesRequest',
+  full_name='org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest',
+  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.GetTokenDirectPurchasePricesRequest.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=[_GETTOKENDIRECTPURCHASEPRICESREQUEST_GETTOKENDIRECTPURCHASEPRICESREQUESTV0, ],
+  enum_types=[
+  ],
+  serialized_options=None,
+  is_extendable=False,
+  syntax='proto3',
+  extension_ranges=[],
+  oneofs=[
+    _descriptor.OneofDescriptor(
+      name='version', full_name='org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.version',
+      index=0, containing_type=None,
+      create_key=_descriptor._internal_create_key,
+    fields=[]),
+  ],
+  serialized_start=37490,
+  serialized_end=37729,
 )
 
 
@@ -9433,8 +10128,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=35262,
-  serialized_end=35313,
+  serialized_start=38219,
+  serialized_end=38270,
 )
 
 _GETTOKENDIRECTPURCHASEPRICESRESPONSE_GETTOKENDIRECTPURCHASEPRICESRESPONSEV0_PRICINGSCHEDULE = _descriptor.Descriptor(
@@ -9464,8 +10159,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=35316,
-  serialized_end=35483,
+  serialized_start=38273,
+  serialized_end=38440,
 )
 
 _GETTOKENDIRECTPURCHASEPRICESRESPONSE_GETTOKENDIRECTPURCHASEPRICESRESPONSEV0_TOKENDIRECTPURCHASEPRICEENTRY = _descriptor.Descriptor(
@@ -9514,8 +10209,8 @@
       create_key=_descriptor._internal_create_key,
     fields=[]),
   ],
-  serialized_start=35486,
-  serialized_end=35714,
+  serialized_start=38443,
+  serialized_end=38671,
 )
 
 _GETTOKENDIRECTPURCHASEPRICESRESPONSE_GETTOKENDIRECTPURCHASEPRICESRESPONSEV0_TOKENDIRECTPURCHASEPRICES = _descriptor.Descriptor(
@@ -9545,8 +10240,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=35717,
-  serialized_end=35917,
+  serialized_start=38674,
+  serialized_end=38874,
 )
 
 _GETTOKENDIRECTPURCHASEPRICESRESPONSE_GETTOKENDIRECTPURCHASEPRICESRESPONSEV0 = _descriptor.Descriptor(
@@ -9595,8 +10290,8 @@
       create_key=_descriptor._internal_create_key,
     fields=[]),
   ],
-  serialized_start=34934,
-  serialized_end=35927,
+  serialized_start=37891,
+  serialized_end=38884,
 )
 
 _GETTOKENDIRECTPURCHASEPRICESRESPONSE = _descriptor.Descriptor(
@@ -9608,16 +10303,135 @@
   create_key=_descriptor._internal_create_key,
   fields=[
     _descriptor.FieldDescriptor(
-      name='v0', full_name='org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.v0', index=0,
-      number=1, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
+      name='v0', full_name='org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.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=[_GETTOKENDIRECTPURCHASEPRICESRESPONSE_GETTOKENDIRECTPURCHASEPRICESRESPONSEV0, ],
+  enum_types=[
+  ],
+  serialized_options=None,
+  is_extendable=False,
+  syntax='proto3',
+  extension_ranges=[],
+  oneofs=[
+    _descriptor.OneofDescriptor(
+      name='version', full_name='org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.version',
+      index=0, containing_type=None,
+      create_key=_descriptor._internal_create_key,
+    fields=[]),
+  ],
+  serialized_start=37732,
+  serialized_end=38895,
+)
+
+
+_GETTOKENCONTRACTINFOREQUEST_GETTOKENCONTRACTINFOREQUESTV0 = _descriptor.Descriptor(
+  name='GetTokenContractInfoRequestV0',
+  full_name='org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  create_key=_descriptor._internal_create_key,
+  fields=[
+    _descriptor.FieldDescriptor(
+      name='token_id', full_name='org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0.token_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.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0.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=39029,
+  serialized_end=39093,
+)
+
+_GETTOKENCONTRACTINFOREQUEST = _descriptor.Descriptor(
+  name='GetTokenContractInfoRequest',
+  full_name='org.dash.platform.dapi.v0.GetTokenContractInfoRequest',
+  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.GetTokenContractInfoRequest.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=[_GETTOKENCONTRACTINFOREQUEST_GETTOKENCONTRACTINFOREQUESTV0, ],
+  enum_types=[
+  ],
+  serialized_options=None,
+  is_extendable=False,
+  syntax='proto3',
+  extension_ranges=[],
+  oneofs=[
+    _descriptor.OneofDescriptor(
+      name='version', full_name='org.dash.platform.dapi.v0.GetTokenContractInfoRequest.version',
+      index=0, containing_type=None,
+      create_key=_descriptor._internal_create_key,
+    fields=[]),
+  ],
+  serialized_start=38898,
+  serialized_end=39104,
+)
+
+
+_GETTOKENCONTRACTINFORESPONSE_GETTOKENCONTRACTINFORESPONSEV0_TOKENCONTRACTINFODATA = _descriptor.Descriptor(
+  name='TokenContractInfoData',
+  full_name='org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData',
+  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.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData.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='token_contract_position', full_name='org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData.token_contract_position', 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=[_GETTOKENDIRECTPURCHASEPRICESRESPONSE_GETTOKENDIRECTPURCHASEPRICESRESPONSEV0, ],
+  nested_types=[],
   enum_types=[
   ],
   serialized_options=None,
@@ -9625,43 +10439,44 @@
   syntax='proto3',
   extension_ranges=[],
   oneofs=[
-    _descriptor.OneofDescriptor(
-      name='version', full_name='org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.version',
-      index=0, containing_type=None,
-      create_key=_descriptor._internal_create_key,
-    fields=[]),
   ],
-  serialized_start=34775,
-  serialized_end=35938,
+  serialized_start=39516,
+  serialized_end=39593,
 )
 
-
-_GETTOKENDIRECTPURCHASEPRICESREQUEST_GETTOKENDIRECTPURCHASEPRICESREQUESTV0 = _descriptor.Descriptor(
-  name='GetTokenDirectPurchasePricesRequestV0',
-  full_name='org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0',
+_GETTOKENCONTRACTINFORESPONSE_GETTOKENCONTRACTINFORESPONSEV0 = _descriptor.Descriptor(
+  name='GetTokenContractInfoResponseV0',
+  full_name='org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0',
   filename=None,
   file=DESCRIPTOR,
   containing_type=None,
   create_key=_descriptor._internal_create_key,
   fields=[
     _descriptor.FieldDescriptor(
-      name='token_ids', full_name='org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.token_ids', index=0,
-      number=1, type=12, cpp_type=9, label=3,
-      has_default_value=False, default_value=[],
+      name='data', full_name='org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.data', 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.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.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.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.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.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.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=[_GETTOKENCONTRACTINFORESPONSE_GETTOKENCONTRACTINFORESPONSEV0_TOKENCONTRACTINFODATA, ],
   enum_types=[
   ],
   serialized_options=None,
@@ -9669,21 +10484,26 @@
   syntax='proto3',
   extension_ranges=[],
   oneofs=[
+    _descriptor.OneofDescriptor(
+      name='result', full_name='org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.result',
+      index=0, containing_type=None,
+      create_key=_descriptor._internal_create_key,
+    fields=[]),
   ],
-  serialized_start=36096,
-  serialized_end=36169,
+  serialized_start=39242,
+  serialized_end=39603,
 )
 
-_GETTOKENDIRECTPURCHASEPRICESREQUEST = _descriptor.Descriptor(
-  name='GetTokenDirectPurchasePricesRequest',
-  full_name='org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest',
+_GETTOKENCONTRACTINFORESPONSE = _descriptor.Descriptor(
+  name='GetTokenContractInfoResponse',
+  full_name='org.dash.platform.dapi.v0.GetTokenContractInfoResponse',
   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.GetTokenDirectPurchasePricesRequest.v0', index=0,
+      name='v0', full_name='org.dash.platform.dapi.v0.GetTokenContractInfoResponse.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,
@@ -9692,7 +10512,7 @@
   ],
   extensions=[
   ],
-  nested_types=[_GETTOKENDIRECTPURCHASEPRICESREQUEST_GETTOKENDIRECTPURCHASEPRICESREQUESTV0, ],
+  nested_types=[_GETTOKENCONTRACTINFORESPONSE_GETTOKENCONTRACTINFORESPONSEV0, ],
   enum_types=[
   ],
   serialized_options=None,
@@ -9701,13 +10521,13 @@
   extension_ranges=[],
   oneofs=[
     _descriptor.OneofDescriptor(
-      name='version', full_name='org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.version',
+      name='version', full_name='org.dash.platform.dapi.v0.GetTokenContractInfoResponse.version',
       index=0, containing_type=None,
       create_key=_descriptor._internal_create_key,
     fields=[]),
   ],
-  serialized_start=35941,
-  serialized_end=36180,
+  serialized_start=39107,
+  serialized_end=39614,
 )
 
 
@@ -9762,8 +10582,8 @@
       create_key=_descriptor._internal_create_key,
     fields=[]),
   ],
-  serialized_start=36613,
-  serialized_end=36767,
+  serialized_start=40047,
+  serialized_end=40201,
 )
 
 _GETTOKENPREPROGRAMMEDDISTRIBUTIONSREQUEST_GETTOKENPREPROGRAMMEDDISTRIBUTIONSREQUESTV0 = _descriptor.Descriptor(
@@ -9824,8 +10644,8 @@
       create_key=_descriptor._internal_create_key,
     fields=[]),
   ],
-  serialized_start=36357,
-  serialized_end=36795,
+  serialized_start=39791,
+  serialized_end=40229,
 )
 
 _GETTOKENPREPROGRAMMEDDISTRIBUTIONSREQUEST = _descriptor.Descriptor(
@@ -9860,8 +10680,8 @@
       create_key=_descriptor._internal_create_key,
     fields=[]),
   ],
-  serialized_start=36183,
-  serialized_end=36806,
+  serialized_start=39617,
+  serialized_end=40240,
 )
 
 
@@ -9899,8 +10719,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=37317,
-  serialized_end=37379,
+  serialized_start=40751,
+  serialized_end=40813,
 )
 
 _GETTOKENPREPROGRAMMEDDISTRIBUTIONSRESPONSE_GETTOKENPREPROGRAMMEDDISTRIBUTIONSRESPONSEV0_TOKENTIMEDDISTRIBUTIONENTRY = _descriptor.Descriptor(
@@ -9919,16 +10739,260 @@
       is_extension=False, extension_scope=None,
       serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
     _descriptor.FieldDescriptor(
-      name='distributions', full_name='org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry.distributions', index=1,
-      number=2, type=11, cpp_type=10, label=3,
-      has_default_value=False, default_value=[],
+      name='distributions', full_name='org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry.distributions', 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),
+  ],
+  extensions=[
+  ],
+  nested_types=[],
+  enum_types=[
+  ],
+  serialized_options=None,
+  is_extendable=False,
+  syntax='proto3',
+  extension_ranges=[],
+  oneofs=[
+  ],
+  serialized_start=40816,
+  serialized_end=41028,
+)
+
+_GETTOKENPREPROGRAMMEDDISTRIBUTIONSRESPONSE_GETTOKENPREPROGRAMMEDDISTRIBUTIONSRESPONSEV0_TOKENDISTRIBUTIONS = _descriptor.Descriptor(
+  name='TokenDistributions',
+  full_name='org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  create_key=_descriptor._internal_create_key,
+  fields=[
+    _descriptor.FieldDescriptor(
+      name='token_distributions', full_name='org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions.token_distributions', 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=41031,
+  serialized_end=41226,
+)
+
+_GETTOKENPREPROGRAMMEDDISTRIBUTIONSRESPONSE_GETTOKENPREPROGRAMMEDDISTRIBUTIONSRESPONSEV0 = _descriptor.Descriptor(
+  name='GetTokenPreProgrammedDistributionsResponseV0',
+  full_name='org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  create_key=_descriptor._internal_create_key,
+  fields=[
+    _descriptor.FieldDescriptor(
+      name='token_distributions', full_name='org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.token_distributions', 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.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.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.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.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=[_GETTOKENPREPROGRAMMEDDISTRIBUTIONSRESPONSE_GETTOKENPREPROGRAMMEDDISTRIBUTIONSRESPONSEV0_TOKENDISTRIBUTIONENTRY, _GETTOKENPREPROGRAMMEDDISTRIBUTIONSRESPONSE_GETTOKENPREPROGRAMMEDDISTRIBUTIONSRESPONSEV0_TOKENTIMEDDISTRIBUTIONENTRY, _GETTOKENPREPROGRAMMEDDISTRIBUTIONSRESPONSE_GETTOKENPREPROGRAMMEDDISTRIBUTIONSRESPONSEV0_TOKENDISTRIBUTIONS, ],
+  enum_types=[
+  ],
+  serialized_options=None,
+  is_extendable=False,
+  syntax='proto3',
+  extension_ranges=[],
+  oneofs=[
+    _descriptor.OneofDescriptor(
+      name='result', full_name='org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.result',
+      index=0, containing_type=None,
+      create_key=_descriptor._internal_create_key,
+    fields=[]),
+  ],
+  serialized_start=40421,
+  serialized_end=41236,
+)
+
+_GETTOKENPREPROGRAMMEDDISTRIBUTIONSRESPONSE = _descriptor.Descriptor(
+  name='GetTokenPreProgrammedDistributionsResponse',
+  full_name='org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse',
+  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.GetTokenPreProgrammedDistributionsResponse.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=[_GETTOKENPREPROGRAMMEDDISTRIBUTIONSRESPONSE_GETTOKENPREPROGRAMMEDDISTRIBUTIONSRESPONSEV0, ],
+  enum_types=[
+  ],
+  serialized_options=None,
+  is_extendable=False,
+  syntax='proto3',
+  extension_ranges=[],
+  oneofs=[
+    _descriptor.OneofDescriptor(
+      name='version', full_name='org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.version',
+      index=0, containing_type=None,
+      create_key=_descriptor._internal_create_key,
+    fields=[]),
+  ],
+  serialized_start=40243,
+  serialized_end=41247,
+)
+
+
+_GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMREQUEST_CONTRACTTOKENINFO = _descriptor.Descriptor(
+  name='ContractTokenInfo',
+  full_name='org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo',
+  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.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo.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='token_contract_position', full_name='org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo.token_contract_position', 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=41436,
+  serialized_end=41509,
+)
+
+_GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMREQUEST_GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMREQUESTV0 = _descriptor.Descriptor(
+  name='GetTokenPerpetualDistributionLastClaimRequestV0',
+  full_name='org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  create_key=_descriptor._internal_create_key,
+  fields=[
+    _descriptor.FieldDescriptor(
+      name='token_id', full_name='org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0.token_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='contract_info', full_name='org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0.contract_info', 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='identity_id', full_name='org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0.identity_id', index=2,
+      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='prove', full_name='org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0.prove', index=3,
+      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=[
+    _descriptor.OneofDescriptor(
+      name='_contract_info', full_name='org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0._contract_info',
+      index=0, containing_type=None,
+      create_key=_descriptor._internal_create_key,
+    fields=[]),
+  ],
+  serialized_start=41512,
+  serialized_end=41753,
+)
+
+_GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMREQUEST = _descriptor.Descriptor(
+  name='GetTokenPerpetualDistributionLastClaimRequest',
+  full_name='org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest',
+  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.GetTokenPerpetualDistributionLastClaimRequest.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=[_GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMREQUEST_CONTRACTTOKENINFO, _GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMREQUEST_GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMREQUESTV0, ],
   enum_types=[
   ],
   serialized_options=None,
@@ -9936,23 +11000,50 @@
   syntax='proto3',
   extension_ranges=[],
   oneofs=[
+    _descriptor.OneofDescriptor(
+      name='version', full_name='org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.version',
+      index=0, containing_type=None,
+      create_key=_descriptor._internal_create_key,
+    fields=[]),
   ],
-  serialized_start=37382,
-  serialized_end=37594,
+  serialized_start=41250,
+  serialized_end=41764,
 )
 
-_GETTOKENPREPROGRAMMEDDISTRIBUTIONSRESPONSE_GETTOKENPREPROGRAMMEDDISTRIBUTIONSRESPONSEV0_TOKENDISTRIBUTIONS = _descriptor.Descriptor(
-  name='TokenDistributions',
-  full_name='org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions',
+
+_GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMRESPONSE_GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMRESPONSEV0_LASTCLAIMINFO = _descriptor.Descriptor(
+  name='LastClaimInfo',
+  full_name='org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo',
   filename=None,
   file=DESCRIPTOR,
   containing_type=None,
   create_key=_descriptor._internal_create_key,
   fields=[
     _descriptor.FieldDescriptor(
-      name='token_distributions', full_name='org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions.token_distributions', index=0,
-      number=1, type=11, cpp_type=10, label=3,
-      has_default_value=False, default_value=[],
+      name='timestamp_ms', full_name='org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo.timestamp_ms', 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=b'0\001', file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
+    _descriptor.FieldDescriptor(
+      name='block_height', full_name='org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo.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=b'0\001', file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
+    _descriptor.FieldDescriptor(
+      name='epoch', full_name='org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo.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='raw_bytes', full_name='org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo.raw_bytes', 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),
@@ -9967,35 +11058,40 @@
   syntax='proto3',
   extension_ranges=[],
   oneofs=[
+    _descriptor.OneofDescriptor(
+      name='paid_at', full_name='org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo.paid_at',
+      index=0, containing_type=None,
+      create_key=_descriptor._internal_create_key,
+    fields=[]),
   ],
-  serialized_start=37597,
-  serialized_end=37792,
+  serialized_start=42285,
+  serialized_end=42405,
 )
 
-_GETTOKENPREPROGRAMMEDDISTRIBUTIONSRESPONSE_GETTOKENPREPROGRAMMEDDISTRIBUTIONSRESPONSEV0 = _descriptor.Descriptor(
-  name='GetTokenPreProgrammedDistributionsResponseV0',
-  full_name='org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0',
+_GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMRESPONSE_GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMRESPONSEV0 = _descriptor.Descriptor(
+  name='GetTokenPerpetualDistributionLastClaimResponseV0',
+  full_name='org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0',
   filename=None,
   file=DESCRIPTOR,
   containing_type=None,
   create_key=_descriptor._internal_create_key,
   fields=[
     _descriptor.FieldDescriptor(
-      name='token_distributions', full_name='org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.token_distributions', index=0,
+      name='last_claim', full_name='org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.last_claim', 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.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.proof', index=1,
+      name='proof', full_name='org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.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.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.metadata', index=2,
+      name='metadata', full_name='org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.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,
@@ -10004,7 +11100,7 @@
   ],
   extensions=[
   ],
-  nested_types=[_GETTOKENPREPROGRAMMEDDISTRIBUTIONSRESPONSE_GETTOKENPREPROGRAMMEDDISTRIBUTIONSRESPONSEV0_TOKENDISTRIBUTIONENTRY, _GETTOKENPREPROGRAMMEDDISTRIBUTIONSRESPONSE_GETTOKENPREPROGRAMMEDDISTRIBUTIONSRESPONSEV0_TOKENTIMEDDISTRIBUTIONENTRY, _GETTOKENPREPROGRAMMEDDISTRIBUTIONSRESPONSE_GETTOKENPREPROGRAMMEDDISTRIBUTIONSRESPONSEV0_TOKENDISTRIBUTIONS, ],
+  nested_types=[_GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMRESPONSE_GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMRESPONSEV0_LASTCLAIMINFO, ],
   enum_types=[
   ],
   serialized_options=None,
@@ -10013,25 +11109,25 @@
   extension_ranges=[],
   oneofs=[
     _descriptor.OneofDescriptor(
-      name='result', full_name='org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.result',
+      name='result', full_name='org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.result',
       index=0, containing_type=None,
       create_key=_descriptor._internal_create_key,
     fields=[]),
   ],
-  serialized_start=36987,
-  serialized_end=37802,
+  serialized_start=41957,
+  serialized_end=42415,
 )
 
-_GETTOKENPREPROGRAMMEDDISTRIBUTIONSRESPONSE = _descriptor.Descriptor(
-  name='GetTokenPreProgrammedDistributionsResponse',
-  full_name='org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse',
+_GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMRESPONSE = _descriptor.Descriptor(
+  name='GetTokenPerpetualDistributionLastClaimResponse',
+  full_name='org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse',
   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.GetTokenPreProgrammedDistributionsResponse.v0', index=0,
+      name='v0', full_name='org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.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,
@@ -10040,7 +11136,7 @@
   ],
   extensions=[
   ],
-  nested_types=[_GETTOKENPREPROGRAMMEDDISTRIBUTIONSRESPONSE_GETTOKENPREPROGRAMMEDDISTRIBUTIONSRESPONSEV0, ],
+  nested_types=[_GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMRESPONSE_GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMRESPONSEV0, ],
   enum_types=[
   ],
   serialized_options=None,
@@ -10049,13 +11145,13 @@
   extension_ranges=[],
   oneofs=[
     _descriptor.OneofDescriptor(
-      name='version', full_name='org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.version',
+      name='version', full_name='org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.version',
       index=0, containing_type=None,
       create_key=_descriptor._internal_create_key,
     fields=[]),
   ],
-  serialized_start=36809,
-  serialized_end=37813,
+  serialized_start=41767,
+  serialized_end=42426,
 )
 
 
@@ -10093,8 +11189,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=37944,
-  serialized_end=38007,
+  serialized_start=42557,
+  serialized_end=42620,
 )
 
 _GETTOKENTOTALSUPPLYREQUEST = _descriptor.Descriptor(
@@ -10129,8 +11225,8 @@
       create_key=_descriptor._internal_create_key,
     fields=[]),
   ],
-  serialized_start=37816,
-  serialized_end=38018,
+  serialized_start=42429,
+  serialized_end=42631,
 )
 
 
@@ -10175,8 +11271,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=38439,
-  serialized_end=38559,
+  serialized_start=43052,
+  serialized_end=43172,
 )
 
 _GETTOKENTOTALSUPPLYRESPONSE_GETTOKENTOTALSUPPLYRESPONSEV0 = _descriptor.Descriptor(
@@ -10225,8 +11321,8 @@
       create_key=_descriptor._internal_create_key,
     fields=[]),
   ],
-  serialized_start=38153,
-  serialized_end=38569,
+  serialized_start=42766,
+  serialized_end=43182,
 )
 
 _GETTOKENTOTALSUPPLYRESPONSE = _descriptor.Descriptor(
@@ -10261,8 +11357,8 @@
       create_key=_descriptor._internal_create_key,
     fields=[]),
   ],
-  serialized_start=38021,
-  serialized_end=38580,
+  serialized_start=42634,
+  serialized_end=43193,
 )
 
 
@@ -10307,8 +11403,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=38690,
-  serialized_end=38782,
+  serialized_start=43303,
+  serialized_end=43395,
 )
 
 _GETGROUPINFOREQUEST = _descriptor.Descriptor(
@@ -10343,8 +11439,8 @@
       create_key=_descriptor._internal_create_key,
     fields=[]),
   ],
-  serialized_start=38583,
-  serialized_end=38793,
+  serialized_start=43196,
+  serialized_end=43406,
 )
 
 
@@ -10382,8 +11478,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=39151,
-  serialized_end=39203,
+  serialized_start=43764,
+  serialized_end=43816,
 )
 
 _GETGROUPINFORESPONSE_GETGROUPINFORESPONSEV0_GROUPINFOENTRY = _descriptor.Descriptor(
@@ -10420,8 +11516,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=39206,
-  serialized_end=39358,
+  serialized_start=43819,
+  serialized_end=43971,
 )
 
 _GETGROUPINFORESPONSE_GETGROUPINFORESPONSEV0_GROUPINFO = _descriptor.Descriptor(
@@ -10456,8 +11552,8 @@
       create_key=_descriptor._internal_create_key,
     fields=[]),
   ],
-  serialized_start=39361,
-  serialized_end=39499,
+  serialized_start=43974,
+  serialized_end=44112,
 )
 
 _GETGROUPINFORESPONSE_GETGROUPINFORESPONSEV0 = _descriptor.Descriptor(
@@ -10506,8 +11602,8 @@
       create_key=_descriptor._internal_create_key,
     fields=[]),
   ],
-  serialized_start=38907,
-  serialized_end=39509,
+  serialized_start=43520,
+  serialized_end=44122,
 )
 
 _GETGROUPINFORESPONSE = _descriptor.Descriptor(
@@ -10542,8 +11638,8 @@
       create_key=_descriptor._internal_create_key,
     fields=[]),
   ],
-  serialized_start=38796,
-  serialized_end=39520,
+  serialized_start=43409,
+  serialized_end=44133,
 )
 
 
@@ -10581,8 +11677,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=39633,
-  serialized_end=39750,
+  serialized_start=44246,
+  serialized_end=44363,
 )
 
 _GETGROUPINFOSREQUEST_GETGROUPINFOSREQUESTV0 = _descriptor.Descriptor(
@@ -10643,8 +11739,8 @@
       create_key=_descriptor._internal_create_key,
     fields=[]),
   ],
-  serialized_start=39753,
-  serialized_end=40005,
+  serialized_start=44366,
+  serialized_end=44618,
 )
 
 _GETGROUPINFOSREQUEST = _descriptor.Descriptor(
@@ -10679,8 +11775,8 @@
       create_key=_descriptor._internal_create_key,
     fields=[]),
   ],
-  serialized_start=39523,
-  serialized_end=40016,
+  serialized_start=44136,
+  serialized_end=44629,
 )
 
 
@@ -10718,8 +11814,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=39151,
-  serialized_end=39203,
+  serialized_start=43764,
+  serialized_end=43816,
 )
 
 _GETGROUPINFOSRESPONSE_GETGROUPINFOSRESPONSEV0_GROUPPOSITIONINFOENTRY = _descriptor.Descriptor(
@@ -10763,8 +11859,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=40437,
-  serialized_end=40632,
+  serialized_start=45050,
+  serialized_end=45245,
 )
 
 _GETGROUPINFOSRESPONSE_GETGROUPINFOSRESPONSEV0_GROUPINFOS = _descriptor.Descriptor(
@@ -10794,8 +11890,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=40635,
-  serialized_end=40765,
+  serialized_start=45248,
+  serialized_end=45378,
 )
 
 _GETGROUPINFOSRESPONSE_GETGROUPINFOSRESPONSEV0 = _descriptor.Descriptor(
@@ -10844,8 +11940,8 @@
       create_key=_descriptor._internal_create_key,
     fields=[]),
   ],
-  serialized_start=40133,
-  serialized_end=40775,
+  serialized_start=44746,
+  serialized_end=45388,
 )
 
 _GETGROUPINFOSRESPONSE = _descriptor.Descriptor(
@@ -10880,8 +11976,8 @@
       create_key=_descriptor._internal_create_key,
     fields=[]),
   ],
-  serialized_start=40019,
-  serialized_end=40786,
+  serialized_start=44632,
+  serialized_end=45399,
 )
 
 
@@ -10919,8 +12015,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=40905,
-  serialized_end=40981,
+  serialized_start=45518,
+  serialized_end=45594,
 )
 
 _GETGROUPACTIONSREQUEST_GETGROUPACTIONSREQUESTV0 = _descriptor.Descriptor(
@@ -10995,8 +12091,8 @@
       create_key=_descriptor._internal_create_key,
     fields=[]),
   ],
-  serialized_start=40984,
-  serialized_end=41312,
+  serialized_start=45597,
+  serialized_end=45925,
 )
 
 _GETGROUPACTIONSREQUEST = _descriptor.Descriptor(
@@ -11032,8 +12128,8 @@
       create_key=_descriptor._internal_create_key,
     fields=[]),
   ],
-  serialized_start=40789,
-  serialized_end=41363,
+  serialized_start=45402,
+  serialized_end=45976,
 )
 
 
@@ -11083,8 +12179,8 @@
       create_key=_descriptor._internal_create_key,
     fields=[]),
   ],
-  serialized_start=41745,
-  serialized_end=41836,
+  serialized_start=46358,
+  serialized_end=46449,
 )
 
 _GETGROUPACTIONSRESPONSE_GETGROUPACTIONSRESPONSEV0_BURNEVENT = _descriptor.Descriptor(
@@ -11103,8 +12199,15 @@
       is_extension=False, extension_scope=None,
       serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
     _descriptor.FieldDescriptor(
-      name='public_note', full_name='org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.BurnEvent.public_note', index=1,
-      number=2, type=9, cpp_type=9, label=1,
+      name='burn_from_id', full_name='org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.BurnEvent.burn_from_id', 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),
+    _descriptor.FieldDescriptor(
+      name='public_note', full_name='org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.BurnEvent.public_note', 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,
       is_extension=False, extension_scope=None,
@@ -11126,8 +12229,8 @@
       create_key=_descriptor._internal_create_key,
     fields=[]),
   ],
-  serialized_start=41838,
-  serialized_end=41907,
+  serialized_start=46451,
+  serialized_end=46542,
 )
 
 _GETGROUPACTIONSRESPONSE_GETGROUPACTIONSRESPONSEV0_FREEZEEVENT = _descriptor.Descriptor(
@@ -11169,8 +12272,8 @@
       create_key=_descriptor._internal_create_key,
     fields=[]),
   ],
-  serialized_start=41909,
-  serialized_end=41983,
+  serialized_start=46544,
+  serialized_end=46618,
 )
 
 _GETGROUPACTIONSRESPONSE_GETGROUPACTIONSRESPONSEV0_UNFREEZEEVENT = _descriptor.Descriptor(
@@ -11212,8 +12315,8 @@
       create_key=_descriptor._internal_create_key,
     fields=[]),
   ],
-  serialized_start=41985,
-  serialized_end=42061,
+  serialized_start=46620,
+  serialized_end=46696,
 )
 
 _GETGROUPACTIONSRESPONSE_GETGROUPACTIONSRESPONSEV0_DESTROYFROZENFUNDSEVENT = _descriptor.Descriptor(
@@ -11262,8 +12365,8 @@
       create_key=_descriptor._internal_create_key,
     fields=[]),
   ],
-  serialized_start=42063,
-  serialized_end=42165,
+  serialized_start=46698,
+  serialized_end=46800,
 )
 
 _GETGROUPACTIONSRESPONSE_GETGROUPACTIONSRESPONSEV0_SHAREDENCRYPTEDNOTE = _descriptor.Descriptor(
@@ -11307,8 +12410,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=42167,
-  serialized_end=42267,
+  serialized_start=46802,
+  serialized_end=46902,
 )
 
 _GETGROUPACTIONSRESPONSE_GETGROUPACTIONSRESPONSEV0_PERSONALENCRYPTEDNOTE = _descriptor.Descriptor(
@@ -11352,8 +12455,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=42269,
-  serialized_end=42392,
+  serialized_start=46904,
+  serialized_end=47027,
 )
 
 _GETGROUPACTIONSRESPONSE_GETGROUPACTIONSRESPONSEV0_EMERGENCYACTIONEVENT = _descriptor.Descriptor(
@@ -11396,8 +12499,8 @@
       create_key=_descriptor._internal_create_key,
     fields=[]),
   ],
-  serialized_start=42395,
-  serialized_end=42628,
+  serialized_start=47030,
+  serialized_end=47263,
 )
 
 _GETGROUPACTIONSRESPONSE_GETGROUPACTIONSRESPONSEV0_TOKENCONFIGUPDATEEVENT = _descriptor.Descriptor(
@@ -11439,8 +12542,8 @@
       create_key=_descriptor._internal_create_key,
     fields=[]),
   ],
-  serialized_start=42630,
-  serialized_end=42730,
+  serialized_start=47265,
+  serialized_end=47365,
 )
 
 _GETGROUPACTIONSRESPONSE_GETGROUPACTIONSRESPONSEV0_UPDATEDIRECTPURCHASEPRICEEVENT_PRICEFORQUANTITY = _descriptor.Descriptor(
@@ -11477,8 +12580,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=35262,
-  serialized_end=35313,
+  serialized_start=38219,
+  serialized_end=38270,
 )
 
 _GETGROUPACTIONSRESPONSE_GETGROUPACTIONSRESPONSEV0_UPDATEDIRECTPURCHASEPRICEEVENT_PRICINGSCHEDULE = _descriptor.Descriptor(
@@ -11508,8 +12611,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=43022,
-  serialized_end=43194,
+  serialized_start=47657,
+  serialized_end=47829,
 )
 
 _GETGROUPACTIONSRESPONSE_GETGROUPACTIONSRESPONSEV0_UPDATEDIRECTPURCHASEPRICEEVENT = _descriptor.Descriptor(
@@ -11563,8 +12666,8 @@
       create_key=_descriptor._internal_create_key,
     fields=[]),
   ],
-  serialized_start=42733,
-  serialized_end=43219,
+  serialized_start=47368,
+  serialized_end=47854,
 )
 
 _GETGROUPACTIONSRESPONSE_GETGROUPACTIONSRESPONSEV0_GROUPACTIONEVENT = _descriptor.Descriptor(
@@ -11613,8 +12716,8 @@
       create_key=_descriptor._internal_create_key,
     fields=[]),
   ],
-  serialized_start=43222,
-  serialized_end=43602,
+  serialized_start=47857,
+  serialized_end=48237,
 )
 
 _GETGROUPACTIONSRESPONSE_GETGROUPACTIONSRESPONSEV0_DOCUMENTEVENT = _descriptor.Descriptor(
@@ -11649,8 +12752,8 @@
       create_key=_descriptor._internal_create_key,
     fields=[]),
   ],
-  serialized_start=43605,
-  serialized_end=43744,
+  serialized_start=48240,
+  serialized_end=48379,
 )
 
 _GETGROUPACTIONSRESPONSE_GETGROUPACTIONSRESPONSEV0_DOCUMENTCREATEEVENT = _descriptor.Descriptor(
@@ -11680,8 +12783,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=43746,
-  serialized_end=43793,
+  serialized_start=48381,
+  serialized_end=48428,
 )
 
 _GETGROUPACTIONSRESPONSE_GETGROUPACTIONSRESPONSEV0_CONTRACTUPDATEEVENT = _descriptor.Descriptor(
@@ -11711,8 +12814,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=43795,
-  serialized_end=43842,
+  serialized_start=48430,
+  serialized_end=48477,
 )
 
 _GETGROUPACTIONSRESPONSE_GETGROUPACTIONSRESPONSEV0_CONTRACTEVENT = _descriptor.Descriptor(
@@ -11747,8 +12850,8 @@
       create_key=_descriptor._internal_create_key,
     fields=[]),
   ],
-  serialized_start=43845,
-  serialized_end=43984,
+  serialized_start=48480,
+  serialized_end=48619,
 )
 
 _GETGROUPACTIONSRESPONSE_GETGROUPACTIONSRESPONSEV0_TOKENEVENT = _descriptor.Descriptor(
@@ -11832,8 +12935,8 @@
       create_key=_descriptor._internal_create_key,
     fields=[]),
   ],
-  serialized_start=43987,
-  serialized_end=44964,
+  serialized_start=48622,
+  serialized_end=49599,
 )
 
 _GETGROUPACTIONSRESPONSE_GETGROUPACTIONSRESPONSEV0_GROUPACTIONENTRY = _descriptor.Descriptor(
@@ -11870,8 +12973,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=44967,
-  serialized_end=45114,
+  serialized_start=49602,
+  serialized_end=49749,
 )
 
 _GETGROUPACTIONSRESPONSE_GETGROUPACTIONSRESPONSEV0_GROUPACTIONS = _descriptor.Descriptor(
@@ -11901,8 +13004,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=45117,
-  serialized_end=45249,
+  serialized_start=49752,
+  serialized_end=49884,
 )
 
 _GETGROUPACTIONSRESPONSE_GETGROUPACTIONSRESPONSEV0 = _descriptor.Descriptor(
@@ -11951,8 +13054,8 @@
       create_key=_descriptor._internal_create_key,
     fields=[]),
   ],
-  serialized_start=41486,
-  serialized_end=45259,
+  serialized_start=46099,
+  serialized_end=49894,
 )
 
 _GETGROUPACTIONSRESPONSE = _descriptor.Descriptor(
@@ -11987,8 +13090,8 @@
       create_key=_descriptor._internal_create_key,
     fields=[]),
   ],
-  serialized_start=41366,
-  serialized_end=45270,
+  serialized_start=45979,
+  serialized_end=49905,
 )
 
 
@@ -12047,8 +13150,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=45408,
-  serialized_end=45614,
+  serialized_start=50043,
+  serialized_end=50249,
 )
 
 _GETGROUPACTIONSIGNERSREQUEST = _descriptor.Descriptor(
@@ -12084,8 +13187,8 @@
       create_key=_descriptor._internal_create_key,
     fields=[]),
   ],
-  serialized_start=45273,
-  serialized_end=45665,
+  serialized_start=49908,
+  serialized_end=50300,
 )
 
 
@@ -12123,8 +13226,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=46097,
-  serialized_end=46150,
+  serialized_start=50732,
+  serialized_end=50785,
 )
 
 _GETGROUPACTIONSIGNERSRESPONSE_GETGROUPACTIONSIGNERSRESPONSEV0_GROUPACTIONSIGNERS = _descriptor.Descriptor(
@@ -12154,8 +13257,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=46153,
-  serialized_end=46298,
+  serialized_start=50788,
+  serialized_end=50933,
 )
 
 _GETGROUPACTIONSIGNERSRESPONSE_GETGROUPACTIONSIGNERSRESPONSEV0 = _descriptor.Descriptor(
@@ -12204,8 +13307,8 @@
       create_key=_descriptor._internal_create_key,
     fields=[]),
   ],
-  serialized_start=45806,
-  serialized_end=46308,
+  serialized_start=50441,
+  serialized_end=50943,
 )
 
 _GETGROUPACTIONSIGNERSRESPONSE = _descriptor.Descriptor(
@@ -12240,8 +13343,8 @@
       create_key=_descriptor._internal_create_key,
     fields=[]),
   ],
-  serialized_start=45668,
-  serialized_end=46319,
+  serialized_start=50303,
+  serialized_end=50954,
 )
 
 _GETIDENTITYREQUEST_GETIDENTITYREQUESTV0.containing_type = _GETIDENTITYREQUEST
@@ -12583,6 +13686,37 @@
 _GETIDENTITYBYPUBLICKEYHASHRESPONSE.oneofs_by_name['version'].fields.append(
   _GETIDENTITYBYPUBLICKEYHASHRESPONSE.fields_by_name['v0'])
 _GETIDENTITYBYPUBLICKEYHASHRESPONSE.fields_by_name['v0'].containing_oneof = _GETIDENTITYBYPUBLICKEYHASHRESPONSE.oneofs_by_name['version']
+_GETIDENTITYBYNONUNIQUEPUBLICKEYHASHREQUEST_GETIDENTITYBYNONUNIQUEPUBLICKEYHASHREQUESTV0.containing_type = _GETIDENTITYBYNONUNIQUEPUBLICKEYHASHREQUEST
+_GETIDENTITYBYNONUNIQUEPUBLICKEYHASHREQUEST_GETIDENTITYBYNONUNIQUEPUBLICKEYHASHREQUESTV0.oneofs_by_name['_start_after'].fields.append(
+  _GETIDENTITYBYNONUNIQUEPUBLICKEYHASHREQUEST_GETIDENTITYBYNONUNIQUEPUBLICKEYHASHREQUESTV0.fields_by_name['start_after'])
+_GETIDENTITYBYNONUNIQUEPUBLICKEYHASHREQUEST_GETIDENTITYBYNONUNIQUEPUBLICKEYHASHREQUESTV0.fields_by_name['start_after'].containing_oneof = _GETIDENTITYBYNONUNIQUEPUBLICKEYHASHREQUEST_GETIDENTITYBYNONUNIQUEPUBLICKEYHASHREQUESTV0.oneofs_by_name['_start_after']
+_GETIDENTITYBYNONUNIQUEPUBLICKEYHASHREQUEST.fields_by_name['v0'].message_type = _GETIDENTITYBYNONUNIQUEPUBLICKEYHASHREQUEST_GETIDENTITYBYNONUNIQUEPUBLICKEYHASHREQUESTV0
+_GETIDENTITYBYNONUNIQUEPUBLICKEYHASHREQUEST.oneofs_by_name['version'].fields.append(
+  _GETIDENTITYBYNONUNIQUEPUBLICKEYHASHREQUEST.fields_by_name['v0'])
+_GETIDENTITYBYNONUNIQUEPUBLICKEYHASHREQUEST.fields_by_name['v0'].containing_oneof = _GETIDENTITYBYNONUNIQUEPUBLICKEYHASHREQUEST.oneofs_by_name['version']
+_GETIDENTITYBYNONUNIQUEPUBLICKEYHASHRESPONSE_GETIDENTITYBYNONUNIQUEPUBLICKEYHASHRESPONSEV0_IDENTITYRESPONSE.containing_type = _GETIDENTITYBYNONUNIQUEPUBLICKEYHASHRESPONSE_GETIDENTITYBYNONUNIQUEPUBLICKEYHASHRESPONSEV0
+_GETIDENTITYBYNONUNIQUEPUBLICKEYHASHRESPONSE_GETIDENTITYBYNONUNIQUEPUBLICKEYHASHRESPONSEV0_IDENTITYRESPONSE.oneofs_by_name['_identity'].fields.append(
+  _GETIDENTITYBYNONUNIQUEPUBLICKEYHASHRESPONSE_GETIDENTITYBYNONUNIQUEPUBLICKEYHASHRESPONSEV0_IDENTITYRESPONSE.fields_by_name['identity'])
+_GETIDENTITYBYNONUNIQUEPUBLICKEYHASHRESPONSE_GETIDENTITYBYNONUNIQUEPUBLICKEYHASHRESPONSEV0_IDENTITYRESPONSE.fields_by_name['identity'].containing_oneof = _GETIDENTITYBYNONUNIQUEPUBLICKEYHASHRESPONSE_GETIDENTITYBYNONUNIQUEPUBLICKEYHASHRESPONSEV0_IDENTITYRESPONSE.oneofs_by_name['_identity']
+_GETIDENTITYBYNONUNIQUEPUBLICKEYHASHRESPONSE_GETIDENTITYBYNONUNIQUEPUBLICKEYHASHRESPONSEV0_IDENTITYPROVEDRESPONSE.fields_by_name['grovedb_identity_public_key_hash_proof'].message_type = _PROOF
+_GETIDENTITYBYNONUNIQUEPUBLICKEYHASHRESPONSE_GETIDENTITYBYNONUNIQUEPUBLICKEYHASHRESPONSEV0_IDENTITYPROVEDRESPONSE.containing_type = _GETIDENTITYBYNONUNIQUEPUBLICKEYHASHRESPONSE_GETIDENTITYBYNONUNIQUEPUBLICKEYHASHRESPONSEV0
+_GETIDENTITYBYNONUNIQUEPUBLICKEYHASHRESPONSE_GETIDENTITYBYNONUNIQUEPUBLICKEYHASHRESPONSEV0_IDENTITYPROVEDRESPONSE.oneofs_by_name['_identity_proof_bytes'].fields.append(
+  _GETIDENTITYBYNONUNIQUEPUBLICKEYHASHRESPONSE_GETIDENTITYBYNONUNIQUEPUBLICKEYHASHRESPONSEV0_IDENTITYPROVEDRESPONSE.fields_by_name['identity_proof_bytes'])
+_GETIDENTITYBYNONUNIQUEPUBLICKEYHASHRESPONSE_GETIDENTITYBYNONUNIQUEPUBLICKEYHASHRESPONSEV0_IDENTITYPROVEDRESPONSE.fields_by_name['identity_proof_bytes'].containing_oneof = _GETIDENTITYBYNONUNIQUEPUBLICKEYHASHRESPONSE_GETIDENTITYBYNONUNIQUEPUBLICKEYHASHRESPONSEV0_IDENTITYPROVEDRESPONSE.oneofs_by_name['_identity_proof_bytes']
+_GETIDENTITYBYNONUNIQUEPUBLICKEYHASHRESPONSE_GETIDENTITYBYNONUNIQUEPUBLICKEYHASHRESPONSEV0.fields_by_name['identity'].message_type = _GETIDENTITYBYNONUNIQUEPUBLICKEYHASHRESPONSE_GETIDENTITYBYNONUNIQUEPUBLICKEYHASHRESPONSEV0_IDENTITYRESPONSE
+_GETIDENTITYBYNONUNIQUEPUBLICKEYHASHRESPONSE_GETIDENTITYBYNONUNIQUEPUBLICKEYHASHRESPONSEV0.fields_by_name['proof'].message_type = _GETIDENTITYBYNONUNIQUEPUBLICKEYHASHRESPONSE_GETIDENTITYBYNONUNIQUEPUBLICKEYHASHRESPONSEV0_IDENTITYPROVEDRESPONSE
+_GETIDENTITYBYNONUNIQUEPUBLICKEYHASHRESPONSE_GETIDENTITYBYNONUNIQUEPUBLICKEYHASHRESPONSEV0.fields_by_name['metadata'].message_type = _RESPONSEMETADATA
+_GETIDENTITYBYNONUNIQUEPUBLICKEYHASHRESPONSE_GETIDENTITYBYNONUNIQUEPUBLICKEYHASHRESPONSEV0.containing_type = _GETIDENTITYBYNONUNIQUEPUBLICKEYHASHRESPONSE
+_GETIDENTITYBYNONUNIQUEPUBLICKEYHASHRESPONSE_GETIDENTITYBYNONUNIQUEPUBLICKEYHASHRESPONSEV0.oneofs_by_name['result'].fields.append(
+  _GETIDENTITYBYNONUNIQUEPUBLICKEYHASHRESPONSE_GETIDENTITYBYNONUNIQUEPUBLICKEYHASHRESPONSEV0.fields_by_name['identity'])
+_GETIDENTITYBYNONUNIQUEPUBLICKEYHASHRESPONSE_GETIDENTITYBYNONUNIQUEPUBLICKEYHASHRESPONSEV0.fields_by_name['identity'].containing_oneof = _GETIDENTITYBYNONUNIQUEPUBLICKEYHASHRESPONSE_GETIDENTITYBYNONUNIQUEPUBLICKEYHASHRESPONSEV0.oneofs_by_name['result']
+_GETIDENTITYBYNONUNIQUEPUBLICKEYHASHRESPONSE_GETIDENTITYBYNONUNIQUEPUBLICKEYHASHRESPONSEV0.oneofs_by_name['result'].fields.append(
+  _GETIDENTITYBYNONUNIQUEPUBLICKEYHASHRESPONSE_GETIDENTITYBYNONUNIQUEPUBLICKEYHASHRESPONSEV0.fields_by_name['proof'])
+_GETIDENTITYBYNONUNIQUEPUBLICKEYHASHRESPONSE_GETIDENTITYBYNONUNIQUEPUBLICKEYHASHRESPONSEV0.fields_by_name['proof'].containing_oneof = _GETIDENTITYBYNONUNIQUEPUBLICKEYHASHRESPONSE_GETIDENTITYBYNONUNIQUEPUBLICKEYHASHRESPONSEV0.oneofs_by_name['result']
+_GETIDENTITYBYNONUNIQUEPUBLICKEYHASHRESPONSE.fields_by_name['v0'].message_type = _GETIDENTITYBYNONUNIQUEPUBLICKEYHASHRESPONSE_GETIDENTITYBYNONUNIQUEPUBLICKEYHASHRESPONSEV0
+_GETIDENTITYBYNONUNIQUEPUBLICKEYHASHRESPONSE.oneofs_by_name['version'].fields.append(
+  _GETIDENTITYBYNONUNIQUEPUBLICKEYHASHRESPONSE.fields_by_name['v0'])
+_GETIDENTITYBYNONUNIQUEPUBLICKEYHASHRESPONSE.fields_by_name['v0'].containing_oneof = _GETIDENTITYBYNONUNIQUEPUBLICKEYHASHRESPONSE.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(
@@ -12683,6 +13817,30 @@
 _GETEPOCHSINFORESPONSE.oneofs_by_name['version'].fields.append(
   _GETEPOCHSINFORESPONSE.fields_by_name['v0'])
 _GETEPOCHSINFORESPONSE.fields_by_name['v0'].containing_oneof = _GETEPOCHSINFORESPONSE.oneofs_by_name['version']
+_GETFINALIZEDEPOCHINFOSREQUEST_GETFINALIZEDEPOCHINFOSREQUESTV0.containing_type = _GETFINALIZEDEPOCHINFOSREQUEST
+_GETFINALIZEDEPOCHINFOSREQUEST.fields_by_name['v0'].message_type = _GETFINALIZEDEPOCHINFOSREQUEST_GETFINALIZEDEPOCHINFOSREQUESTV0
+_GETFINALIZEDEPOCHINFOSREQUEST.oneofs_by_name['version'].fields.append(
+  _GETFINALIZEDEPOCHINFOSREQUEST.fields_by_name['v0'])
+_GETFINALIZEDEPOCHINFOSREQUEST.fields_by_name['v0'].containing_oneof = _GETFINALIZEDEPOCHINFOSREQUEST.oneofs_by_name['version']
+_GETFINALIZEDEPOCHINFOSRESPONSE_GETFINALIZEDEPOCHINFOSRESPONSEV0_FINALIZEDEPOCHINFOS.fields_by_name['finalized_epoch_infos'].message_type = _GETFINALIZEDEPOCHINFOSRESPONSE_GETFINALIZEDEPOCHINFOSRESPONSEV0_FINALIZEDEPOCHINFO
+_GETFINALIZEDEPOCHINFOSRESPONSE_GETFINALIZEDEPOCHINFOSRESPONSEV0_FINALIZEDEPOCHINFOS.containing_type = _GETFINALIZEDEPOCHINFOSRESPONSE_GETFINALIZEDEPOCHINFOSRESPONSEV0
+_GETFINALIZEDEPOCHINFOSRESPONSE_GETFINALIZEDEPOCHINFOSRESPONSEV0_FINALIZEDEPOCHINFO.fields_by_name['block_proposers'].message_type = _GETFINALIZEDEPOCHINFOSRESPONSE_GETFINALIZEDEPOCHINFOSRESPONSEV0_BLOCKPROPOSER
+_GETFINALIZEDEPOCHINFOSRESPONSE_GETFINALIZEDEPOCHINFOSRESPONSEV0_FINALIZEDEPOCHINFO.containing_type = _GETFINALIZEDEPOCHINFOSRESPONSE_GETFINALIZEDEPOCHINFOSRESPONSEV0
+_GETFINALIZEDEPOCHINFOSRESPONSE_GETFINALIZEDEPOCHINFOSRESPONSEV0_BLOCKPROPOSER.containing_type = _GETFINALIZEDEPOCHINFOSRESPONSE_GETFINALIZEDEPOCHINFOSRESPONSEV0
+_GETFINALIZEDEPOCHINFOSRESPONSE_GETFINALIZEDEPOCHINFOSRESPONSEV0.fields_by_name['epochs'].message_type = _GETFINALIZEDEPOCHINFOSRESPONSE_GETFINALIZEDEPOCHINFOSRESPONSEV0_FINALIZEDEPOCHINFOS
+_GETFINALIZEDEPOCHINFOSRESPONSE_GETFINALIZEDEPOCHINFOSRESPONSEV0.fields_by_name['proof'].message_type = _PROOF
+_GETFINALIZEDEPOCHINFOSRESPONSE_GETFINALIZEDEPOCHINFOSRESPONSEV0.fields_by_name['metadata'].message_type = _RESPONSEMETADATA
+_GETFINALIZEDEPOCHINFOSRESPONSE_GETFINALIZEDEPOCHINFOSRESPONSEV0.containing_type = _GETFINALIZEDEPOCHINFOSRESPONSE
+_GETFINALIZEDEPOCHINFOSRESPONSE_GETFINALIZEDEPOCHINFOSRESPONSEV0.oneofs_by_name['result'].fields.append(
+  _GETFINALIZEDEPOCHINFOSRESPONSE_GETFINALIZEDEPOCHINFOSRESPONSEV0.fields_by_name['epochs'])
+_GETFINALIZEDEPOCHINFOSRESPONSE_GETFINALIZEDEPOCHINFOSRESPONSEV0.fields_by_name['epochs'].containing_oneof = _GETFINALIZEDEPOCHINFOSRESPONSE_GETFINALIZEDEPOCHINFOSRESPONSEV0.oneofs_by_name['result']
+_GETFINALIZEDEPOCHINFOSRESPONSE_GETFINALIZEDEPOCHINFOSRESPONSEV0.oneofs_by_name['result'].fields.append(
+  _GETFINALIZEDEPOCHINFOSRESPONSE_GETFINALIZEDEPOCHINFOSRESPONSEV0.fields_by_name['proof'])
+_GETFINALIZEDEPOCHINFOSRESPONSE_GETFINALIZEDEPOCHINFOSRESPONSEV0.fields_by_name['proof'].containing_oneof = _GETFINALIZEDEPOCHINFOSRESPONSE_GETFINALIZEDEPOCHINFOSRESPONSEV0.oneofs_by_name['result']
+_GETFINALIZEDEPOCHINFOSRESPONSE.fields_by_name['v0'].message_type = _GETFINALIZEDEPOCHINFOSRESPONSE_GETFINALIZEDEPOCHINFOSRESPONSEV0
+_GETFINALIZEDEPOCHINFOSRESPONSE.oneofs_by_name['version'].fields.append(
+  _GETFINALIZEDEPOCHINFOSRESPONSE.fields_by_name['v0'])
+_GETFINALIZEDEPOCHINFOSRESPONSE.fields_by_name['v0'].containing_oneof = _GETFINALIZEDEPOCHINFOSRESPONSE.oneofs_by_name['version']
 _GETCONTESTEDRESOURCESREQUEST_GETCONTESTEDRESOURCESREQUESTV0_STARTATVALUEINFO.containing_type = _GETCONTESTEDRESOURCESREQUEST_GETCONTESTEDRESOURCESREQUESTV0
 _GETCONTESTEDRESOURCESREQUEST_GETCONTESTEDRESOURCESREQUESTV0.fields_by_name['start_at_value_info'].message_type = _GETCONTESTEDRESOURCESREQUEST_GETCONTESTEDRESOURCESREQUESTV0_STARTATVALUEINFO
 _GETCONTESTEDRESOURCESREQUEST_GETCONTESTEDRESOURCESREQUESTV0.containing_type = _GETCONTESTEDRESOURCESREQUEST
@@ -13118,6 +14276,11 @@
 _GETTOKENSTATUSESRESPONSE.oneofs_by_name['version'].fields.append(
   _GETTOKENSTATUSESRESPONSE.fields_by_name['v0'])
 _GETTOKENSTATUSESRESPONSE.fields_by_name['v0'].containing_oneof = _GETTOKENSTATUSESRESPONSE.oneofs_by_name['version']
+_GETTOKENDIRECTPURCHASEPRICESREQUEST_GETTOKENDIRECTPURCHASEPRICESREQUESTV0.containing_type = _GETTOKENDIRECTPURCHASEPRICESREQUEST
+_GETTOKENDIRECTPURCHASEPRICESREQUEST.fields_by_name['v0'].message_type = _GETTOKENDIRECTPURCHASEPRICESREQUEST_GETTOKENDIRECTPURCHASEPRICESREQUESTV0
+_GETTOKENDIRECTPURCHASEPRICESREQUEST.oneofs_by_name['version'].fields.append(
+  _GETTOKENDIRECTPURCHASEPRICESREQUEST.fields_by_name['v0'])
+_GETTOKENDIRECTPURCHASEPRICESREQUEST.fields_by_name['v0'].containing_oneof = _GETTOKENDIRECTPURCHASEPRICESREQUEST.oneofs_by_name['version']
 _GETTOKENDIRECTPURCHASEPRICESRESPONSE_GETTOKENDIRECTPURCHASEPRICESRESPONSEV0_PRICEFORQUANTITY.containing_type = _GETTOKENDIRECTPURCHASEPRICESRESPONSE_GETTOKENDIRECTPURCHASEPRICESRESPONSEV0
 _GETTOKENDIRECTPURCHASEPRICESRESPONSE_GETTOKENDIRECTPURCHASEPRICESRESPONSEV0_PRICINGSCHEDULE.fields_by_name['price_for_quantity'].message_type = _GETTOKENDIRECTPURCHASEPRICESRESPONSE_GETTOKENDIRECTPURCHASEPRICESRESPONSEV0_PRICEFORQUANTITY
 _GETTOKENDIRECTPURCHASEPRICESRESPONSE_GETTOKENDIRECTPURCHASEPRICESRESPONSEV0_PRICINGSCHEDULE.containing_type = _GETTOKENDIRECTPURCHASEPRICESRESPONSE_GETTOKENDIRECTPURCHASEPRICESRESPONSEV0
@@ -13145,11 +14308,26 @@
 _GETTOKENDIRECTPURCHASEPRICESRESPONSE.oneofs_by_name['version'].fields.append(
   _GETTOKENDIRECTPURCHASEPRICESRESPONSE.fields_by_name['v0'])
 _GETTOKENDIRECTPURCHASEPRICESRESPONSE.fields_by_name['v0'].containing_oneof = _GETTOKENDIRECTPURCHASEPRICESRESPONSE.oneofs_by_name['version']
-_GETTOKENDIRECTPURCHASEPRICESREQUEST_GETTOKENDIRECTPURCHASEPRICESREQUESTV0.containing_type = _GETTOKENDIRECTPURCHASEPRICESREQUEST
-_GETTOKENDIRECTPURCHASEPRICESREQUEST.fields_by_name['v0'].message_type = _GETTOKENDIRECTPURCHASEPRICESREQUEST_GETTOKENDIRECTPURCHASEPRICESREQUESTV0
-_GETTOKENDIRECTPURCHASEPRICESREQUEST.oneofs_by_name['version'].fields.append(
-  _GETTOKENDIRECTPURCHASEPRICESREQUEST.fields_by_name['v0'])
-_GETTOKENDIRECTPURCHASEPRICESREQUEST.fields_by_name['v0'].containing_oneof = _GETTOKENDIRECTPURCHASEPRICESREQUEST.oneofs_by_name['version']
+_GETTOKENCONTRACTINFOREQUEST_GETTOKENCONTRACTINFOREQUESTV0.containing_type = _GETTOKENCONTRACTINFOREQUEST
+_GETTOKENCONTRACTINFOREQUEST.fields_by_name['v0'].message_type = _GETTOKENCONTRACTINFOREQUEST_GETTOKENCONTRACTINFOREQUESTV0
+_GETTOKENCONTRACTINFOREQUEST.oneofs_by_name['version'].fields.append(
+  _GETTOKENCONTRACTINFOREQUEST.fields_by_name['v0'])
+_GETTOKENCONTRACTINFOREQUEST.fields_by_name['v0'].containing_oneof = _GETTOKENCONTRACTINFOREQUEST.oneofs_by_name['version']
+_GETTOKENCONTRACTINFORESPONSE_GETTOKENCONTRACTINFORESPONSEV0_TOKENCONTRACTINFODATA.containing_type = _GETTOKENCONTRACTINFORESPONSE_GETTOKENCONTRACTINFORESPONSEV0
+_GETTOKENCONTRACTINFORESPONSE_GETTOKENCONTRACTINFORESPONSEV0.fields_by_name['data'].message_type = _GETTOKENCONTRACTINFORESPONSE_GETTOKENCONTRACTINFORESPONSEV0_TOKENCONTRACTINFODATA
+_GETTOKENCONTRACTINFORESPONSE_GETTOKENCONTRACTINFORESPONSEV0.fields_by_name['proof'].message_type = _PROOF
+_GETTOKENCONTRACTINFORESPONSE_GETTOKENCONTRACTINFORESPONSEV0.fields_by_name['metadata'].message_type = _RESPONSEMETADATA
+_GETTOKENCONTRACTINFORESPONSE_GETTOKENCONTRACTINFORESPONSEV0.containing_type = _GETTOKENCONTRACTINFORESPONSE
+_GETTOKENCONTRACTINFORESPONSE_GETTOKENCONTRACTINFORESPONSEV0.oneofs_by_name['result'].fields.append(
+  _GETTOKENCONTRACTINFORESPONSE_GETTOKENCONTRACTINFORESPONSEV0.fields_by_name['data'])
+_GETTOKENCONTRACTINFORESPONSE_GETTOKENCONTRACTINFORESPONSEV0.fields_by_name['data'].containing_oneof = _GETTOKENCONTRACTINFORESPONSE_GETTOKENCONTRACTINFORESPONSEV0.oneofs_by_name['result']
+_GETTOKENCONTRACTINFORESPONSE_GETTOKENCONTRACTINFORESPONSEV0.oneofs_by_name['result'].fields.append(
+  _GETTOKENCONTRACTINFORESPONSE_GETTOKENCONTRACTINFORESPONSEV0.fields_by_name['proof'])
+_GETTOKENCONTRACTINFORESPONSE_GETTOKENCONTRACTINFORESPONSEV0.fields_by_name['proof'].containing_oneof = _GETTOKENCONTRACTINFORESPONSE_GETTOKENCONTRACTINFORESPONSEV0.oneofs_by_name['result']
+_GETTOKENCONTRACTINFORESPONSE.fields_by_name['v0'].message_type = _GETTOKENCONTRACTINFORESPONSE_GETTOKENCONTRACTINFORESPONSEV0
+_GETTOKENCONTRACTINFORESPONSE.oneofs_by_name['version'].fields.append(
+  _GETTOKENCONTRACTINFORESPONSE.fields_by_name['v0'])
+_GETTOKENCONTRACTINFORESPONSE.fields_by_name['v0'].containing_oneof = _GETTOKENCONTRACTINFORESPONSE.oneofs_by_name['version']
 _GETTOKENPREPROGRAMMEDDISTRIBUTIONSREQUEST_GETTOKENPREPROGRAMMEDDISTRIBUTIONSREQUESTV0_STARTATINFO.containing_type = _GETTOKENPREPROGRAMMEDDISTRIBUTIONSREQUEST_GETTOKENPREPROGRAMMEDDISTRIBUTIONSREQUESTV0
 _GETTOKENPREPROGRAMMEDDISTRIBUTIONSREQUEST_GETTOKENPREPROGRAMMEDDISTRIBUTIONSREQUESTV0_STARTATINFO.oneofs_by_name['_start_recipient'].fields.append(
   _GETTOKENPREPROGRAMMEDDISTRIBUTIONSREQUEST_GETTOKENPREPROGRAMMEDDISTRIBUTIONSREQUESTV0_STARTATINFO.fields_by_name['start_recipient'])
@@ -13188,6 +14366,43 @@
 _GETTOKENPREPROGRAMMEDDISTRIBUTIONSRESPONSE.oneofs_by_name['version'].fields.append(
   _GETTOKENPREPROGRAMMEDDISTRIBUTIONSRESPONSE.fields_by_name['v0'])
 _GETTOKENPREPROGRAMMEDDISTRIBUTIONSRESPONSE.fields_by_name['v0'].containing_oneof = _GETTOKENPREPROGRAMMEDDISTRIBUTIONSRESPONSE.oneofs_by_name['version']
+_GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMREQUEST_CONTRACTTOKENINFO.containing_type = _GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMREQUEST
+_GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMREQUEST_GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMREQUESTV0.fields_by_name['contract_info'].message_type = _GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMREQUEST_CONTRACTTOKENINFO
+_GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMREQUEST_GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMREQUESTV0.containing_type = _GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMREQUEST
+_GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMREQUEST_GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMREQUESTV0.oneofs_by_name['_contract_info'].fields.append(
+  _GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMREQUEST_GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMREQUESTV0.fields_by_name['contract_info'])
+_GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMREQUEST_GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMREQUESTV0.fields_by_name['contract_info'].containing_oneof = _GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMREQUEST_GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMREQUESTV0.oneofs_by_name['_contract_info']
+_GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMREQUEST.fields_by_name['v0'].message_type = _GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMREQUEST_GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMREQUESTV0
+_GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMREQUEST.oneofs_by_name['version'].fields.append(
+  _GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMREQUEST.fields_by_name['v0'])
+_GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMREQUEST.fields_by_name['v0'].containing_oneof = _GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMREQUEST.oneofs_by_name['version']
+_GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMRESPONSE_GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMRESPONSEV0_LASTCLAIMINFO.containing_type = _GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMRESPONSE_GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMRESPONSEV0
+_GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMRESPONSE_GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMRESPONSEV0_LASTCLAIMINFO.oneofs_by_name['paid_at'].fields.append(
+  _GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMRESPONSE_GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMRESPONSEV0_LASTCLAIMINFO.fields_by_name['timestamp_ms'])
+_GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMRESPONSE_GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMRESPONSEV0_LASTCLAIMINFO.fields_by_name['timestamp_ms'].containing_oneof = _GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMRESPONSE_GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMRESPONSEV0_LASTCLAIMINFO.oneofs_by_name['paid_at']
+_GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMRESPONSE_GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMRESPONSEV0_LASTCLAIMINFO.oneofs_by_name['paid_at'].fields.append(
+  _GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMRESPONSE_GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMRESPONSEV0_LASTCLAIMINFO.fields_by_name['block_height'])
+_GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMRESPONSE_GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMRESPONSEV0_LASTCLAIMINFO.fields_by_name['block_height'].containing_oneof = _GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMRESPONSE_GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMRESPONSEV0_LASTCLAIMINFO.oneofs_by_name['paid_at']
+_GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMRESPONSE_GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMRESPONSEV0_LASTCLAIMINFO.oneofs_by_name['paid_at'].fields.append(
+  _GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMRESPONSE_GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMRESPONSEV0_LASTCLAIMINFO.fields_by_name['epoch'])
+_GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMRESPONSE_GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMRESPONSEV0_LASTCLAIMINFO.fields_by_name['epoch'].containing_oneof = _GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMRESPONSE_GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMRESPONSEV0_LASTCLAIMINFO.oneofs_by_name['paid_at']
+_GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMRESPONSE_GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMRESPONSEV0_LASTCLAIMINFO.oneofs_by_name['paid_at'].fields.append(
+  _GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMRESPONSE_GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMRESPONSEV0_LASTCLAIMINFO.fields_by_name['raw_bytes'])
+_GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMRESPONSE_GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMRESPONSEV0_LASTCLAIMINFO.fields_by_name['raw_bytes'].containing_oneof = _GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMRESPONSE_GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMRESPONSEV0_LASTCLAIMINFO.oneofs_by_name['paid_at']
+_GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMRESPONSE_GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMRESPONSEV0.fields_by_name['last_claim'].message_type = _GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMRESPONSE_GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMRESPONSEV0_LASTCLAIMINFO
+_GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMRESPONSE_GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMRESPONSEV0.fields_by_name['proof'].message_type = _PROOF
+_GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMRESPONSE_GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMRESPONSEV0.fields_by_name['metadata'].message_type = _RESPONSEMETADATA
+_GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMRESPONSE_GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMRESPONSEV0.containing_type = _GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMRESPONSE
+_GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMRESPONSE_GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMRESPONSEV0.oneofs_by_name['result'].fields.append(
+  _GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMRESPONSE_GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMRESPONSEV0.fields_by_name['last_claim'])
+_GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMRESPONSE_GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMRESPONSEV0.fields_by_name['last_claim'].containing_oneof = _GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMRESPONSE_GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMRESPONSEV0.oneofs_by_name['result']
+_GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMRESPONSE_GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMRESPONSEV0.oneofs_by_name['result'].fields.append(
+  _GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMRESPONSE_GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMRESPONSEV0.fields_by_name['proof'])
+_GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMRESPONSE_GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMRESPONSEV0.fields_by_name['proof'].containing_oneof = _GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMRESPONSE_GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMRESPONSEV0.oneofs_by_name['result']
+_GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMRESPONSE.fields_by_name['v0'].message_type = _GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMRESPONSE_GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMRESPONSEV0
+_GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMRESPONSE.oneofs_by_name['version'].fields.append(
+  _GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMRESPONSE.fields_by_name['v0'])
+_GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMRESPONSE.fields_by_name['v0'].containing_oneof = _GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMRESPONSE.oneofs_by_name['version']
 _GETTOKENTOTALSUPPLYREQUEST_GETTOKENTOTALSUPPLYREQUESTV0.containing_type = _GETTOKENTOTALSUPPLYREQUEST
 _GETTOKENTOTALSUPPLYREQUEST.fields_by_name['v0'].message_type = _GETTOKENTOTALSUPPLYREQUEST_GETTOKENTOTALSUPPLYREQUESTV0
 _GETTOKENTOTALSUPPLYREQUEST.oneofs_by_name['version'].fields.append(
@@ -13467,6 +14682,8 @@
 DESCRIPTOR.message_types_by_name['GetDocumentsResponse'] = _GETDOCUMENTSRESPONSE
 DESCRIPTOR.message_types_by_name['GetIdentityByPublicKeyHashRequest'] = _GETIDENTITYBYPUBLICKEYHASHREQUEST
 DESCRIPTOR.message_types_by_name['GetIdentityByPublicKeyHashResponse'] = _GETIDENTITYBYPUBLICKEYHASHRESPONSE
+DESCRIPTOR.message_types_by_name['GetIdentityByNonUniquePublicKeyHashRequest'] = _GETIDENTITYBYNONUNIQUEPUBLICKEYHASHREQUEST
+DESCRIPTOR.message_types_by_name['GetIdentityByNonUniquePublicKeyHashResponse'] = _GETIDENTITYBYNONUNIQUEPUBLICKEYHASHRESPONSE
 DESCRIPTOR.message_types_by_name['WaitForStateTransitionResultRequest'] = _WAITFORSTATETRANSITIONRESULTREQUEST
 DESCRIPTOR.message_types_by_name['WaitForStateTransitionResultResponse'] = _WAITFORSTATETRANSITIONRESULTRESPONSE
 DESCRIPTOR.message_types_by_name['GetConsensusParamsRequest'] = _GETCONSENSUSPARAMSREQUEST
@@ -13477,6 +14694,8 @@
 DESCRIPTOR.message_types_by_name['GetProtocolVersionUpgradeVoteStatusResponse'] = _GETPROTOCOLVERSIONUPGRADEVOTESTATUSRESPONSE
 DESCRIPTOR.message_types_by_name['GetEpochsInfoRequest'] = _GETEPOCHSINFOREQUEST
 DESCRIPTOR.message_types_by_name['GetEpochsInfoResponse'] = _GETEPOCHSINFORESPONSE
+DESCRIPTOR.message_types_by_name['GetFinalizedEpochInfosRequest'] = _GETFINALIZEDEPOCHINFOSREQUEST
+DESCRIPTOR.message_types_by_name['GetFinalizedEpochInfosResponse'] = _GETFINALIZEDEPOCHINFOSRESPONSE
 DESCRIPTOR.message_types_by_name['GetContestedResourcesRequest'] = _GETCONTESTEDRESOURCESREQUEST
 DESCRIPTOR.message_types_by_name['GetContestedResourcesResponse'] = _GETCONTESTEDRESOURCESRESPONSE
 DESCRIPTOR.message_types_by_name['GetVotePollsByEndDateRequest'] = _GETVOTEPOLLSBYENDDATEREQUEST
@@ -13507,10 +14726,14 @@
 DESCRIPTOR.message_types_by_name['GetIdentitiesTokenInfosResponse'] = _GETIDENTITIESTOKENINFOSRESPONSE
 DESCRIPTOR.message_types_by_name['GetTokenStatusesRequest'] = _GETTOKENSTATUSESREQUEST
 DESCRIPTOR.message_types_by_name['GetTokenStatusesResponse'] = _GETTOKENSTATUSESRESPONSE
-DESCRIPTOR.message_types_by_name['GetTokenDirectPurchasePricesResponse'] = _GETTOKENDIRECTPURCHASEPRICESRESPONSE
 DESCRIPTOR.message_types_by_name['GetTokenDirectPurchasePricesRequest'] = _GETTOKENDIRECTPURCHASEPRICESREQUEST
+DESCRIPTOR.message_types_by_name['GetTokenDirectPurchasePricesResponse'] = _GETTOKENDIRECTPURCHASEPRICESRESPONSE
+DESCRIPTOR.message_types_by_name['GetTokenContractInfoRequest'] = _GETTOKENCONTRACTINFOREQUEST
+DESCRIPTOR.message_types_by_name['GetTokenContractInfoResponse'] = _GETTOKENCONTRACTINFORESPONSE
 DESCRIPTOR.message_types_by_name['GetTokenPreProgrammedDistributionsRequest'] = _GETTOKENPREPROGRAMMEDDISTRIBUTIONSREQUEST
 DESCRIPTOR.message_types_by_name['GetTokenPreProgrammedDistributionsResponse'] = _GETTOKENPREPROGRAMMEDDISTRIBUTIONSRESPONSE
+DESCRIPTOR.message_types_by_name['GetTokenPerpetualDistributionLastClaimRequest'] = _GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMREQUEST
+DESCRIPTOR.message_types_by_name['GetTokenPerpetualDistributionLastClaimResponse'] = _GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMRESPONSE
 DESCRIPTOR.message_types_by_name['GetTokenTotalSupplyRequest'] = _GETTOKENTOTALSUPPLYREQUEST
 DESCRIPTOR.message_types_by_name['GetTokenTotalSupplyResponse'] = _GETTOKENTOTALSUPPLYRESPONSE
 DESCRIPTOR.message_types_by_name['GetGroupInfoRequest'] = _GETGROUPINFOREQUEST
@@ -14157,6 +15380,52 @@
 _sym_db.RegisterMessage(GetIdentityByPublicKeyHashResponse)
 _sym_db.RegisterMessage(GetIdentityByPublicKeyHashResponse.GetIdentityByPublicKeyHashResponseV0)
 
+GetIdentityByNonUniquePublicKeyHashRequest = _reflection.GeneratedProtocolMessageType('GetIdentityByNonUniquePublicKeyHashRequest', (_message.Message,), {
+
+  'GetIdentityByNonUniquePublicKeyHashRequestV0' : _reflection.GeneratedProtocolMessageType('GetIdentityByNonUniquePublicKeyHashRequestV0', (_message.Message,), {
+    'DESCRIPTOR' : _GETIDENTITYBYNONUNIQUEPUBLICKEYHASHREQUEST_GETIDENTITYBYNONUNIQUEPUBLICKEYHASHREQUESTV0,
+    '__module__' : 'platform_pb2'
+    # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0)
+    })
+  ,
+  'DESCRIPTOR' : _GETIDENTITYBYNONUNIQUEPUBLICKEYHASHREQUEST,
+  '__module__' : 'platform_pb2'
+  # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest)
+  })
+_sym_db.RegisterMessage(GetIdentityByNonUniquePublicKeyHashRequest)
+_sym_db.RegisterMessage(GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0)
+
+GetIdentityByNonUniquePublicKeyHashResponse = _reflection.GeneratedProtocolMessageType('GetIdentityByNonUniquePublicKeyHashResponse', (_message.Message,), {
+
+  'GetIdentityByNonUniquePublicKeyHashResponseV0' : _reflection.GeneratedProtocolMessageType('GetIdentityByNonUniquePublicKeyHashResponseV0', (_message.Message,), {
+
+    'IdentityResponse' : _reflection.GeneratedProtocolMessageType('IdentityResponse', (_message.Message,), {
+      'DESCRIPTOR' : _GETIDENTITYBYNONUNIQUEPUBLICKEYHASHRESPONSE_GETIDENTITYBYNONUNIQUEPUBLICKEYHASHRESPONSEV0_IDENTITYRESPONSE,
+      '__module__' : 'platform_pb2'
+      # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse)
+      })
+    ,
+
+    'IdentityProvedResponse' : _reflection.GeneratedProtocolMessageType('IdentityProvedResponse', (_message.Message,), {
+      'DESCRIPTOR' : _GETIDENTITYBYNONUNIQUEPUBLICKEYHASHRESPONSE_GETIDENTITYBYNONUNIQUEPUBLICKEYHASHRESPONSEV0_IDENTITYPROVEDRESPONSE,
+      '__module__' : 'platform_pb2'
+      # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse)
+      })
+    ,
+    'DESCRIPTOR' : _GETIDENTITYBYNONUNIQUEPUBLICKEYHASHRESPONSE_GETIDENTITYBYNONUNIQUEPUBLICKEYHASHRESPONSEV0,
+    '__module__' : 'platform_pb2'
+    # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0)
+    })
+  ,
+  'DESCRIPTOR' : _GETIDENTITYBYNONUNIQUEPUBLICKEYHASHRESPONSE,
+  '__module__' : 'platform_pb2'
+  # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse)
+  })
+_sym_db.RegisterMessage(GetIdentityByNonUniquePublicKeyHashResponse)
+_sym_db.RegisterMessage(GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0)
+_sym_db.RegisterMessage(GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse)
+_sym_db.RegisterMessage(GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse)
+
 WaitForStateTransitionResultRequest = _reflection.GeneratedProtocolMessageType('WaitForStateTransitionResultRequest', (_message.Message,), {
 
   'WaitForStateTransitionResultRequestV0' : _reflection.GeneratedProtocolMessageType('WaitForStateTransitionResultRequestV0', (_message.Message,), {
@@ -14371,6 +15640,60 @@
 _sym_db.RegisterMessage(GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos)
 _sym_db.RegisterMessage(GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo)
 
+GetFinalizedEpochInfosRequest = _reflection.GeneratedProtocolMessageType('GetFinalizedEpochInfosRequest', (_message.Message,), {
+
+  'GetFinalizedEpochInfosRequestV0' : _reflection.GeneratedProtocolMessageType('GetFinalizedEpochInfosRequestV0', (_message.Message,), {
+    'DESCRIPTOR' : _GETFINALIZEDEPOCHINFOSREQUEST_GETFINALIZEDEPOCHINFOSREQUESTV0,
+    '__module__' : 'platform_pb2'
+    # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0)
+    })
+  ,
+  'DESCRIPTOR' : _GETFINALIZEDEPOCHINFOSREQUEST,
+  '__module__' : 'platform_pb2'
+  # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest)
+  })
+_sym_db.RegisterMessage(GetFinalizedEpochInfosRequest)
+_sym_db.RegisterMessage(GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0)
+
+GetFinalizedEpochInfosResponse = _reflection.GeneratedProtocolMessageType('GetFinalizedEpochInfosResponse', (_message.Message,), {
+
+  'GetFinalizedEpochInfosResponseV0' : _reflection.GeneratedProtocolMessageType('GetFinalizedEpochInfosResponseV0', (_message.Message,), {
+
+    'FinalizedEpochInfos' : _reflection.GeneratedProtocolMessageType('FinalizedEpochInfos', (_message.Message,), {
+      'DESCRIPTOR' : _GETFINALIZEDEPOCHINFOSRESPONSE_GETFINALIZEDEPOCHINFOSRESPONSEV0_FINALIZEDEPOCHINFOS,
+      '__module__' : 'platform_pb2'
+      # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos)
+      })
+    ,
+
+    'FinalizedEpochInfo' : _reflection.GeneratedProtocolMessageType('FinalizedEpochInfo', (_message.Message,), {
+      'DESCRIPTOR' : _GETFINALIZEDEPOCHINFOSRESPONSE_GETFINALIZEDEPOCHINFOSRESPONSEV0_FINALIZEDEPOCHINFO,
+      '__module__' : 'platform_pb2'
+      # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo)
+      })
+    ,
+
+    'BlockProposer' : _reflection.GeneratedProtocolMessageType('BlockProposer', (_message.Message,), {
+      'DESCRIPTOR' : _GETFINALIZEDEPOCHINFOSRESPONSE_GETFINALIZEDEPOCHINFOSRESPONSEV0_BLOCKPROPOSER,
+      '__module__' : 'platform_pb2'
+      # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer)
+      })
+    ,
+    'DESCRIPTOR' : _GETFINALIZEDEPOCHINFOSRESPONSE_GETFINALIZEDEPOCHINFOSRESPONSEV0,
+    '__module__' : 'platform_pb2'
+    # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0)
+    })
+  ,
+  'DESCRIPTOR' : _GETFINALIZEDEPOCHINFOSRESPONSE,
+  '__module__' : 'platform_pb2'
+  # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse)
+  })
+_sym_db.RegisterMessage(GetFinalizedEpochInfosResponse)
+_sym_db.RegisterMessage(GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0)
+_sym_db.RegisterMessage(GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos)
+_sym_db.RegisterMessage(GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo)
+_sym_db.RegisterMessage(GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer)
+
 GetContestedResourcesRequest = _reflection.GeneratedProtocolMessageType('GetContestedResourcesRequest', (_message.Message,), {
 
   'GetContestedResourcesRequestV0' : _reflection.GeneratedProtocolMessageType('GetContestedResourcesRequestV0', (_message.Message,), {
@@ -15149,6 +16472,21 @@
 _sym_db.RegisterMessage(GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry)
 _sym_db.RegisterMessage(GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses)
 
+GetTokenDirectPurchasePricesRequest = _reflection.GeneratedProtocolMessageType('GetTokenDirectPurchasePricesRequest', (_message.Message,), {
+
+  'GetTokenDirectPurchasePricesRequestV0' : _reflection.GeneratedProtocolMessageType('GetTokenDirectPurchasePricesRequestV0', (_message.Message,), {
+    'DESCRIPTOR' : _GETTOKENDIRECTPURCHASEPRICESREQUEST_GETTOKENDIRECTPURCHASEPRICESREQUESTV0,
+    '__module__' : 'platform_pb2'
+    # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0)
+    })
+  ,
+  'DESCRIPTOR' : _GETTOKENDIRECTPURCHASEPRICESREQUEST,
+  '__module__' : 'platform_pb2'
+  # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest)
+  })
+_sym_db.RegisterMessage(GetTokenDirectPurchasePricesRequest)
+_sym_db.RegisterMessage(GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0)
+
 GetTokenDirectPurchasePricesResponse = _reflection.GeneratedProtocolMessageType('GetTokenDirectPurchasePricesResponse', (_message.Message,), {
 
   'GetTokenDirectPurchasePricesResponseV0' : _reflection.GeneratedProtocolMessageType('GetTokenDirectPurchasePricesResponseV0', (_message.Message,), {
@@ -15196,20 +16534,43 @@
 _sym_db.RegisterMessage(GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry)
 _sym_db.RegisterMessage(GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices)
 
-GetTokenDirectPurchasePricesRequest = _reflection.GeneratedProtocolMessageType('GetTokenDirectPurchasePricesRequest', (_message.Message,), {
+GetTokenContractInfoRequest = _reflection.GeneratedProtocolMessageType('GetTokenContractInfoRequest', (_message.Message,), {
 
-  'GetTokenDirectPurchasePricesRequestV0' : _reflection.GeneratedProtocolMessageType('GetTokenDirectPurchasePricesRequestV0', (_message.Message,), {
-    'DESCRIPTOR' : _GETTOKENDIRECTPURCHASEPRICESREQUEST_GETTOKENDIRECTPURCHASEPRICESREQUESTV0,
+  'GetTokenContractInfoRequestV0' : _reflection.GeneratedProtocolMessageType('GetTokenContractInfoRequestV0', (_message.Message,), {
+    'DESCRIPTOR' : _GETTOKENCONTRACTINFOREQUEST_GETTOKENCONTRACTINFOREQUESTV0,
     '__module__' : 'platform_pb2'
-    # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0)
+    # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0)
     })
   ,
-  'DESCRIPTOR' : _GETTOKENDIRECTPURCHASEPRICESREQUEST,
+  'DESCRIPTOR' : _GETTOKENCONTRACTINFOREQUEST,
   '__module__' : 'platform_pb2'
-  # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest)
+  # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetTokenContractInfoRequest)
   })
-_sym_db.RegisterMessage(GetTokenDirectPurchasePricesRequest)
-_sym_db.RegisterMessage(GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0)
+_sym_db.RegisterMessage(GetTokenContractInfoRequest)
+_sym_db.RegisterMessage(GetTokenContractInfoRequest.GetTokenContractInfoRequestV0)
+
+GetTokenContractInfoResponse = _reflection.GeneratedProtocolMessageType('GetTokenContractInfoResponse', (_message.Message,), {
+
+  'GetTokenContractInfoResponseV0' : _reflection.GeneratedProtocolMessageType('GetTokenContractInfoResponseV0', (_message.Message,), {
+
+    'TokenContractInfoData' : _reflection.GeneratedProtocolMessageType('TokenContractInfoData', (_message.Message,), {
+      'DESCRIPTOR' : _GETTOKENCONTRACTINFORESPONSE_GETTOKENCONTRACTINFORESPONSEV0_TOKENCONTRACTINFODATA,
+      '__module__' : 'platform_pb2'
+      # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData)
+      })
+    ,
+    'DESCRIPTOR' : _GETTOKENCONTRACTINFORESPONSE_GETTOKENCONTRACTINFORESPONSEV0,
+    '__module__' : 'platform_pb2'
+    # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0)
+    })
+  ,
+  'DESCRIPTOR' : _GETTOKENCONTRACTINFORESPONSE,
+  '__module__' : 'platform_pb2'
+  # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetTokenContractInfoResponse)
+  })
+_sym_db.RegisterMessage(GetTokenContractInfoResponse)
+_sym_db.RegisterMessage(GetTokenContractInfoResponse.GetTokenContractInfoResponseV0)
+_sym_db.RegisterMessage(GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData)
 
 GetTokenPreProgrammedDistributionsRequest = _reflection.GeneratedProtocolMessageType('GetTokenPreProgrammedDistributionsRequest', (_message.Message,), {
 
@@ -15273,6 +16634,52 @@
 _sym_db.RegisterMessage(GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry)
 _sym_db.RegisterMessage(GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions)
 
+GetTokenPerpetualDistributionLastClaimRequest = _reflection.GeneratedProtocolMessageType('GetTokenPerpetualDistributionLastClaimRequest', (_message.Message,), {
+
+  'ContractTokenInfo' : _reflection.GeneratedProtocolMessageType('ContractTokenInfo', (_message.Message,), {
+    'DESCRIPTOR' : _GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMREQUEST_CONTRACTTOKENINFO,
+    '__module__' : 'platform_pb2'
+    # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo)
+    })
+  ,
+
+  'GetTokenPerpetualDistributionLastClaimRequestV0' : _reflection.GeneratedProtocolMessageType('GetTokenPerpetualDistributionLastClaimRequestV0', (_message.Message,), {
+    'DESCRIPTOR' : _GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMREQUEST_GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMREQUESTV0,
+    '__module__' : 'platform_pb2'
+    # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0)
+    })
+  ,
+  'DESCRIPTOR' : _GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMREQUEST,
+  '__module__' : 'platform_pb2'
+  # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest)
+  })
+_sym_db.RegisterMessage(GetTokenPerpetualDistributionLastClaimRequest)
+_sym_db.RegisterMessage(GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo)
+_sym_db.RegisterMessage(GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0)
+
+GetTokenPerpetualDistributionLastClaimResponse = _reflection.GeneratedProtocolMessageType('GetTokenPerpetualDistributionLastClaimResponse', (_message.Message,), {
+
+  'GetTokenPerpetualDistributionLastClaimResponseV0' : _reflection.GeneratedProtocolMessageType('GetTokenPerpetualDistributionLastClaimResponseV0', (_message.Message,), {
+
+    'LastClaimInfo' : _reflection.GeneratedProtocolMessageType('LastClaimInfo', (_message.Message,), {
+      'DESCRIPTOR' : _GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMRESPONSE_GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMRESPONSEV0_LASTCLAIMINFO,
+      '__module__' : 'platform_pb2'
+      # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo)
+      })
+    ,
+    'DESCRIPTOR' : _GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMRESPONSE_GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMRESPONSEV0,
+    '__module__' : 'platform_pb2'
+    # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0)
+    })
+  ,
+  'DESCRIPTOR' : _GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMRESPONSE,
+  '__module__' : 'platform_pb2'
+  # @@protoc_insertion_point(class_scope:org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse)
+  })
+_sym_db.RegisterMessage(GetTokenPerpetualDistributionLastClaimResponse)
+_sym_db.RegisterMessage(GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0)
+_sym_db.RegisterMessage(GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo)
+
 GetTokenTotalSupplyRequest = _reflection.GeneratedProtocolMessageType('GetTokenTotalSupplyRequest', (_message.Message,), {
 
   'GetTokenTotalSupplyRequestV0' : _reflection.GeneratedProtocolMessageType('GetTokenTotalSupplyRequestV0', (_message.Message,), {
@@ -15687,6 +17094,13 @@
 _GETDATACONTRACTHISTORYRESPONSE_GETDATACONTRACTHISTORYRESPONSEV0_DATACONTRACTHISTORYENTRY.fields_by_name['date']._options = None
 _GETEPOCHSINFORESPONSE_GETEPOCHSINFORESPONSEV0_EPOCHINFO.fields_by_name['first_block_height']._options = None
 _GETEPOCHSINFORESPONSE_GETEPOCHSINFORESPONSEV0_EPOCHINFO.fields_by_name['start_time']._options = None
+_GETFINALIZEDEPOCHINFOSRESPONSE_GETFINALIZEDEPOCHINFOSRESPONSEV0_FINALIZEDEPOCHINFO.fields_by_name['first_block_height']._options = None
+_GETFINALIZEDEPOCHINFOSRESPONSE_GETFINALIZEDEPOCHINFOSRESPONSEV0_FINALIZEDEPOCHINFO.fields_by_name['first_block_time']._options = None
+_GETFINALIZEDEPOCHINFOSRESPONSE_GETFINALIZEDEPOCHINFOSRESPONSEV0_FINALIZEDEPOCHINFO.fields_by_name['total_blocks_in_epoch']._options = None
+_GETFINALIZEDEPOCHINFOSRESPONSE_GETFINALIZEDEPOCHINFOSRESPONSEV0_FINALIZEDEPOCHINFO.fields_by_name['total_processing_fees']._options = None
+_GETFINALIZEDEPOCHINFOSRESPONSE_GETFINALIZEDEPOCHINFOSRESPONSEV0_FINALIZEDEPOCHINFO.fields_by_name['total_distributed_storage_fees']._options = None
+_GETFINALIZEDEPOCHINFOSRESPONSE_GETFINALIZEDEPOCHINFOSRESPONSEV0_FINALIZEDEPOCHINFO.fields_by_name['total_created_storage_fees']._options = None
+_GETFINALIZEDEPOCHINFOSRESPONSE_GETFINALIZEDEPOCHINFOSRESPONSEV0_FINALIZEDEPOCHINFO.fields_by_name['core_block_rewards']._options = None
 _GETVOTEPOLLSBYENDDATEREQUEST_GETVOTEPOLLSBYENDDATEREQUESTV0_STARTATTIMEINFO.fields_by_name['start_time_ms']._options = None
 _GETVOTEPOLLSBYENDDATEREQUEST_GETVOTEPOLLSBYENDDATEREQUESTV0_ENDATTIMEINFO.fields_by_name['end_time_ms']._options = None
 _GETVOTEPOLLSBYENDDATERESPONSE_GETVOTEPOLLSBYENDDATERESPONSEV0_SERIALIZEDVOTEPOLLSBYTIMESTAMP.fields_by_name['timestamp']._options = None
@@ -15707,6 +17121,8 @@
 _GETSTATUSRESPONSE_GETSTATUSRESPONSEV0_STATESYNC.fields_by_name['snapshot_chunks_count']._options = None
 _GETSTATUSRESPONSE_GETSTATUSRESPONSEV0_STATESYNC.fields_by_name['backfilled_blocks']._options = None
 _GETSTATUSRESPONSE_GETSTATUSRESPONSEV0_STATESYNC.fields_by_name['backfill_blocks_total']._options = None
+_GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMRESPONSE_GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMRESPONSEV0_LASTCLAIMINFO.fields_by_name['timestamp_ms']._options = None
+_GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMRESPONSE_GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMRESPONSEV0_LASTCLAIMINFO.fields_by_name['block_height']._options = None
 
 _PLATFORM = _descriptor.ServiceDescriptor(
   name='Platform',
@@ -15715,8 +17131,8 @@
   index=0,
   serialized_options=None,
   create_key=_descriptor._internal_create_key,
-  serialized_start=46414,
-  serialized_end=52642,
+  serialized_start=51049,
+  serialized_end=57934,
   methods=[
   _descriptor.MethodDescriptor(
     name='broadcastStateTransition',
@@ -15878,10 +17294,20 @@
     serialized_options=None,
     create_key=_descriptor._internal_create_key,
   ),
+  _descriptor.MethodDescriptor(
+    name='getIdentityByNonUniquePublicKeyHash',
+    full_name='org.dash.platform.dapi.v0.Platform.getIdentityByNonUniquePublicKeyHash',
+    index=16,
+    containing_service=None,
+    input_type=_GETIDENTITYBYNONUNIQUEPUBLICKEYHASHREQUEST,
+    output_type=_GETIDENTITYBYNONUNIQUEPUBLICKEYHASHRESPONSE,
+    serialized_options=None,
+    create_key=_descriptor._internal_create_key,
+  ),
   _descriptor.MethodDescriptor(
     name='waitForStateTransitionResult',
     full_name='org.dash.platform.dapi.v0.Platform.waitForStateTransitionResult',
-    index=16,
+    index=17,
     containing_service=None,
     input_type=_WAITFORSTATETRANSITIONRESULTREQUEST,
     output_type=_WAITFORSTATETRANSITIONRESULTRESPONSE,
@@ -15891,7 +17317,7 @@
   _descriptor.MethodDescriptor(
     name='getConsensusParams',
     full_name='org.dash.platform.dapi.v0.Platform.getConsensusParams',
-    index=17,
+    index=18,
     containing_service=None,
     input_type=_GETCONSENSUSPARAMSREQUEST,
     output_type=_GETCONSENSUSPARAMSRESPONSE,
@@ -15901,7 +17327,7 @@
   _descriptor.MethodDescriptor(
     name='getProtocolVersionUpgradeState',
     full_name='org.dash.platform.dapi.v0.Platform.getProtocolVersionUpgradeState',
-    index=18,
+    index=19,
     containing_service=None,
     input_type=_GETPROTOCOLVERSIONUPGRADESTATEREQUEST,
     output_type=_GETPROTOCOLVERSIONUPGRADESTATERESPONSE,
@@ -15911,7 +17337,7 @@
   _descriptor.MethodDescriptor(
     name='getProtocolVersionUpgradeVoteStatus',
     full_name='org.dash.platform.dapi.v0.Platform.getProtocolVersionUpgradeVoteStatus',
-    index=19,
+    index=20,
     containing_service=None,
     input_type=_GETPROTOCOLVERSIONUPGRADEVOTESTATUSREQUEST,
     output_type=_GETPROTOCOLVERSIONUPGRADEVOTESTATUSRESPONSE,
@@ -15921,17 +17347,27 @@
   _descriptor.MethodDescriptor(
     name='getEpochsInfo',
     full_name='org.dash.platform.dapi.v0.Platform.getEpochsInfo',
-    index=20,
+    index=21,
     containing_service=None,
     input_type=_GETEPOCHSINFOREQUEST,
     output_type=_GETEPOCHSINFORESPONSE,
     serialized_options=None,
     create_key=_descriptor._internal_create_key,
   ),
+  _descriptor.MethodDescriptor(
+    name='getFinalizedEpochInfos',
+    full_name='org.dash.platform.dapi.v0.Platform.getFinalizedEpochInfos',
+    index=22,
+    containing_service=None,
+    input_type=_GETFINALIZEDEPOCHINFOSREQUEST,
+    output_type=_GETFINALIZEDEPOCHINFOSRESPONSE,
+    serialized_options=None,
+    create_key=_descriptor._internal_create_key,
+  ),
   _descriptor.MethodDescriptor(
     name='getContestedResources',
     full_name='org.dash.platform.dapi.v0.Platform.getContestedResources',
-    index=21,
+    index=23,
     containing_service=None,
     input_type=_GETCONTESTEDRESOURCESREQUEST,
     output_type=_GETCONTESTEDRESOURCESRESPONSE,
@@ -15941,7 +17377,7 @@
   _descriptor.MethodDescriptor(
     name='getContestedResourceVoteState',
     full_name='org.dash.platform.dapi.v0.Platform.getContestedResourceVoteState',
-    index=22,
+    index=24,
     containing_service=None,
     input_type=_GETCONTESTEDRESOURCEVOTESTATEREQUEST,
     output_type=_GETCONTESTEDRESOURCEVOTESTATERESPONSE,
@@ -15951,7 +17387,7 @@
   _descriptor.MethodDescriptor(
     name='getContestedResourceVotersForIdentity',
     full_name='org.dash.platform.dapi.v0.Platform.getContestedResourceVotersForIdentity',
-    index=23,
+    index=25,
     containing_service=None,
     input_type=_GETCONTESTEDRESOURCEVOTERSFORIDENTITYREQUEST,
     output_type=_GETCONTESTEDRESOURCEVOTERSFORIDENTITYRESPONSE,
@@ -15961,7 +17397,7 @@
   _descriptor.MethodDescriptor(
     name='getContestedResourceIdentityVotes',
     full_name='org.dash.platform.dapi.v0.Platform.getContestedResourceIdentityVotes',
-    index=24,
+    index=26,
     containing_service=None,
     input_type=_GETCONTESTEDRESOURCEIDENTITYVOTESREQUEST,
     output_type=_GETCONTESTEDRESOURCEIDENTITYVOTESRESPONSE,
@@ -15971,7 +17407,7 @@
   _descriptor.MethodDescriptor(
     name='getVotePollsByEndDate',
     full_name='org.dash.platform.dapi.v0.Platform.getVotePollsByEndDate',
-    index=25,
+    index=27,
     containing_service=None,
     input_type=_GETVOTEPOLLSBYENDDATEREQUEST,
     output_type=_GETVOTEPOLLSBYENDDATERESPONSE,
@@ -15981,7 +17417,7 @@
   _descriptor.MethodDescriptor(
     name='getPrefundedSpecializedBalance',
     full_name='org.dash.platform.dapi.v0.Platform.getPrefundedSpecializedBalance',
-    index=26,
+    index=28,
     containing_service=None,
     input_type=_GETPREFUNDEDSPECIALIZEDBALANCEREQUEST,
     output_type=_GETPREFUNDEDSPECIALIZEDBALANCERESPONSE,
@@ -15991,7 +17427,7 @@
   _descriptor.MethodDescriptor(
     name='getTotalCreditsInPlatform',
     full_name='org.dash.platform.dapi.v0.Platform.getTotalCreditsInPlatform',
-    index=27,
+    index=29,
     containing_service=None,
     input_type=_GETTOTALCREDITSINPLATFORMREQUEST,
     output_type=_GETTOTALCREDITSINPLATFORMRESPONSE,
@@ -16001,7 +17437,7 @@
   _descriptor.MethodDescriptor(
     name='getPathElements',
     full_name='org.dash.platform.dapi.v0.Platform.getPathElements',
-    index=28,
+    index=30,
     containing_service=None,
     input_type=_GETPATHELEMENTSREQUEST,
     output_type=_GETPATHELEMENTSRESPONSE,
@@ -16011,7 +17447,7 @@
   _descriptor.MethodDescriptor(
     name='getStatus',
     full_name='org.dash.platform.dapi.v0.Platform.getStatus',
-    index=29,
+    index=31,
     containing_service=None,
     input_type=_GETSTATUSREQUEST,
     output_type=_GETSTATUSRESPONSE,
@@ -16021,7 +17457,7 @@
   _descriptor.MethodDescriptor(
     name='getCurrentQuorumsInfo',
     full_name='org.dash.platform.dapi.v0.Platform.getCurrentQuorumsInfo',
-    index=30,
+    index=32,
     containing_service=None,
     input_type=_GETCURRENTQUORUMSINFOREQUEST,
     output_type=_GETCURRENTQUORUMSINFORESPONSE,
@@ -16031,7 +17467,7 @@
   _descriptor.MethodDescriptor(
     name='getIdentityTokenBalances',
     full_name='org.dash.platform.dapi.v0.Platform.getIdentityTokenBalances',
-    index=31,
+    index=33,
     containing_service=None,
     input_type=_GETIDENTITYTOKENBALANCESREQUEST,
     output_type=_GETIDENTITYTOKENBALANCESRESPONSE,
@@ -16041,7 +17477,7 @@
   _descriptor.MethodDescriptor(
     name='getIdentitiesTokenBalances',
     full_name='org.dash.platform.dapi.v0.Platform.getIdentitiesTokenBalances',
-    index=32,
+    index=34,
     containing_service=None,
     input_type=_GETIDENTITIESTOKENBALANCESREQUEST,
     output_type=_GETIDENTITIESTOKENBALANCESRESPONSE,
@@ -16051,7 +17487,7 @@
   _descriptor.MethodDescriptor(
     name='getIdentityTokenInfos',
     full_name='org.dash.platform.dapi.v0.Platform.getIdentityTokenInfos',
-    index=33,
+    index=35,
     containing_service=None,
     input_type=_GETIDENTITYTOKENINFOSREQUEST,
     output_type=_GETIDENTITYTOKENINFOSRESPONSE,
@@ -16061,7 +17497,7 @@
   _descriptor.MethodDescriptor(
     name='getIdentitiesTokenInfos',
     full_name='org.dash.platform.dapi.v0.Platform.getIdentitiesTokenInfos',
-    index=34,
+    index=36,
     containing_service=None,
     input_type=_GETIDENTITIESTOKENINFOSREQUEST,
     output_type=_GETIDENTITIESTOKENINFOSRESPONSE,
@@ -16071,7 +17507,7 @@
   _descriptor.MethodDescriptor(
     name='getTokenStatuses',
     full_name='org.dash.platform.dapi.v0.Platform.getTokenStatuses',
-    index=35,
+    index=37,
     containing_service=None,
     input_type=_GETTOKENSTATUSESREQUEST,
     output_type=_GETTOKENSTATUSESRESPONSE,
@@ -16081,27 +17517,47 @@
   _descriptor.MethodDescriptor(
     name='getTokenDirectPurchasePrices',
     full_name='org.dash.platform.dapi.v0.Platform.getTokenDirectPurchasePrices',
-    index=36,
+    index=38,
     containing_service=None,
     input_type=_GETTOKENDIRECTPURCHASEPRICESREQUEST,
     output_type=_GETTOKENDIRECTPURCHASEPRICESRESPONSE,
     serialized_options=None,
     create_key=_descriptor._internal_create_key,
   ),
+  _descriptor.MethodDescriptor(
+    name='getTokenContractInfo',
+    full_name='org.dash.platform.dapi.v0.Platform.getTokenContractInfo',
+    index=39,
+    containing_service=None,
+    input_type=_GETTOKENCONTRACTINFOREQUEST,
+    output_type=_GETTOKENCONTRACTINFORESPONSE,
+    serialized_options=None,
+    create_key=_descriptor._internal_create_key,
+  ),
   _descriptor.MethodDescriptor(
     name='getTokenPreProgrammedDistributions',
     full_name='org.dash.platform.dapi.v0.Platform.getTokenPreProgrammedDistributions',
-    index=37,
+    index=40,
     containing_service=None,
     input_type=_GETTOKENPREPROGRAMMEDDISTRIBUTIONSREQUEST,
     output_type=_GETTOKENPREPROGRAMMEDDISTRIBUTIONSRESPONSE,
     serialized_options=None,
     create_key=_descriptor._internal_create_key,
   ),
+  _descriptor.MethodDescriptor(
+    name='getTokenPerpetualDistributionLastClaim',
+    full_name='org.dash.platform.dapi.v0.Platform.getTokenPerpetualDistributionLastClaim',
+    index=41,
+    containing_service=None,
+    input_type=_GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMREQUEST,
+    output_type=_GETTOKENPERPETUALDISTRIBUTIONLASTCLAIMRESPONSE,
+    serialized_options=None,
+    create_key=_descriptor._internal_create_key,
+  ),
   _descriptor.MethodDescriptor(
     name='getTokenTotalSupply',
     full_name='org.dash.platform.dapi.v0.Platform.getTokenTotalSupply',
-    index=38,
+    index=42,
     containing_service=None,
     input_type=_GETTOKENTOTALSUPPLYREQUEST,
     output_type=_GETTOKENTOTALSUPPLYRESPONSE,
@@ -16111,7 +17567,7 @@
   _descriptor.MethodDescriptor(
     name='getGroupInfo',
     full_name='org.dash.platform.dapi.v0.Platform.getGroupInfo',
-    index=39,
+    index=43,
     containing_service=None,
     input_type=_GETGROUPINFOREQUEST,
     output_type=_GETGROUPINFORESPONSE,
@@ -16121,7 +17577,7 @@
   _descriptor.MethodDescriptor(
     name='getGroupInfos',
     full_name='org.dash.platform.dapi.v0.Platform.getGroupInfos',
-    index=40,
+    index=44,
     containing_service=None,
     input_type=_GETGROUPINFOSREQUEST,
     output_type=_GETGROUPINFOSRESPONSE,
@@ -16131,7 +17587,7 @@
   _descriptor.MethodDescriptor(
     name='getGroupActions',
     full_name='org.dash.platform.dapi.v0.Platform.getGroupActions',
-    index=41,
+    index=45,
     containing_service=None,
     input_type=_GETGROUPACTIONSREQUEST,
     output_type=_GETGROUPACTIONSRESPONSE,
@@ -16141,7 +17597,7 @@
   _descriptor.MethodDescriptor(
     name='getGroupActionSigners',
     full_name='org.dash.platform.dapi.v0.Platform.getGroupActionSigners',
-    index=42,
+    index=46,
     containing_service=None,
     input_type=_GETGROUPACTIONSIGNERSREQUEST,
     output_type=_GETGROUPACTIONSIGNERSRESPONSE,
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 c555c8ea52..9460c24472 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
@@ -94,6 +94,11 @@ def __init__(self, channel):
                 request_serializer=platform__pb2.GetIdentityByPublicKeyHashRequest.SerializeToString,
                 response_deserializer=platform__pb2.GetIdentityByPublicKeyHashResponse.FromString,
                 )
+        self.getIdentityByNonUniquePublicKeyHash = channel.unary_unary(
+                '/org.dash.platform.dapi.v0.Platform/getIdentityByNonUniquePublicKeyHash',
+                request_serializer=platform__pb2.GetIdentityByNonUniquePublicKeyHashRequest.SerializeToString,
+                response_deserializer=platform__pb2.GetIdentityByNonUniquePublicKeyHashResponse.FromString,
+                )
         self.waitForStateTransitionResult = channel.unary_unary(
                 '/org.dash.platform.dapi.v0.Platform/waitForStateTransitionResult',
                 request_serializer=platform__pb2.WaitForStateTransitionResultRequest.SerializeToString,
@@ -119,6 +124,11 @@ def __init__(self, channel):
                 request_serializer=platform__pb2.GetEpochsInfoRequest.SerializeToString,
                 response_deserializer=platform__pb2.GetEpochsInfoResponse.FromString,
                 )
+        self.getFinalizedEpochInfos = channel.unary_unary(
+                '/org.dash.platform.dapi.v0.Platform/getFinalizedEpochInfos',
+                request_serializer=platform__pb2.GetFinalizedEpochInfosRequest.SerializeToString,
+                response_deserializer=platform__pb2.GetFinalizedEpochInfosResponse.FromString,
+                )
         self.getContestedResources = channel.unary_unary(
                 '/org.dash.platform.dapi.v0.Platform/getContestedResources',
                 request_serializer=platform__pb2.GetContestedResourcesRequest.SerializeToString,
@@ -199,11 +209,21 @@ def __init__(self, channel):
                 request_serializer=platform__pb2.GetTokenDirectPurchasePricesRequest.SerializeToString,
                 response_deserializer=platform__pb2.GetTokenDirectPurchasePricesResponse.FromString,
                 )
+        self.getTokenContractInfo = channel.unary_unary(
+                '/org.dash.platform.dapi.v0.Platform/getTokenContractInfo',
+                request_serializer=platform__pb2.GetTokenContractInfoRequest.SerializeToString,
+                response_deserializer=platform__pb2.GetTokenContractInfoResponse.FromString,
+                )
         self.getTokenPreProgrammedDistributions = channel.unary_unary(
                 '/org.dash.platform.dapi.v0.Platform/getTokenPreProgrammedDistributions',
                 request_serializer=platform__pb2.GetTokenPreProgrammedDistributionsRequest.SerializeToString,
                 response_deserializer=platform__pb2.GetTokenPreProgrammedDistributionsResponse.FromString,
                 )
+        self.getTokenPerpetualDistributionLastClaim = channel.unary_unary(
+                '/org.dash.platform.dapi.v0.Platform/getTokenPerpetualDistributionLastClaim',
+                request_serializer=platform__pb2.GetTokenPerpetualDistributionLastClaimRequest.SerializeToString,
+                response_deserializer=platform__pb2.GetTokenPerpetualDistributionLastClaimResponse.FromString,
+                )
         self.getTokenTotalSupply = channel.unary_unary(
                 '/org.dash.platform.dapi.v0.Platform/getTokenTotalSupply',
                 request_serializer=platform__pb2.GetTokenTotalSupplyRequest.SerializeToString,
@@ -330,6 +350,12 @@ def getIdentityByPublicKeyHash(self, request, context):
         context.set_details('Method not implemented!')
         raise NotImplementedError('Method not implemented!')
 
+    def getIdentityByNonUniquePublicKeyHash(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 waitForStateTransitionResult(self, request, context):
         """Missing associated documentation comment in .proto file."""
         context.set_code(grpc.StatusCode.UNIMPLEMENTED)
@@ -360,6 +386,12 @@ def getEpochsInfo(self, request, context):
         context.set_details('Method not implemented!')
         raise NotImplementedError('Method not implemented!')
 
+    def getFinalizedEpochInfos(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 getContestedResources(self, request, context):
         """What votes are currently happening for a specific contested index
         """
@@ -461,12 +493,24 @@ def getTokenDirectPurchasePrices(self, request, context):
         context.set_details('Method not implemented!')
         raise NotImplementedError('Method not implemented!')
 
+    def getTokenContractInfo(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 getTokenPreProgrammedDistributions(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 getTokenPerpetualDistributionLastClaim(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 getTokenTotalSupply(self, request, context):
         """Missing associated documentation comment in .proto file."""
         context.set_code(grpc.StatusCode.UNIMPLEMENTED)
@@ -580,6 +624,11 @@ def add_PlatformServicer_to_server(servicer, server):
                     request_deserializer=platform__pb2.GetIdentityByPublicKeyHashRequest.FromString,
                     response_serializer=platform__pb2.GetIdentityByPublicKeyHashResponse.SerializeToString,
             ),
+            'getIdentityByNonUniquePublicKeyHash': grpc.unary_unary_rpc_method_handler(
+                    servicer.getIdentityByNonUniquePublicKeyHash,
+                    request_deserializer=platform__pb2.GetIdentityByNonUniquePublicKeyHashRequest.FromString,
+                    response_serializer=platform__pb2.GetIdentityByNonUniquePublicKeyHashResponse.SerializeToString,
+            ),
             'waitForStateTransitionResult': grpc.unary_unary_rpc_method_handler(
                     servicer.waitForStateTransitionResult,
                     request_deserializer=platform__pb2.WaitForStateTransitionResultRequest.FromString,
@@ -605,6 +654,11 @@ def add_PlatformServicer_to_server(servicer, server):
                     request_deserializer=platform__pb2.GetEpochsInfoRequest.FromString,
                     response_serializer=platform__pb2.GetEpochsInfoResponse.SerializeToString,
             ),
+            'getFinalizedEpochInfos': grpc.unary_unary_rpc_method_handler(
+                    servicer.getFinalizedEpochInfos,
+                    request_deserializer=platform__pb2.GetFinalizedEpochInfosRequest.FromString,
+                    response_serializer=platform__pb2.GetFinalizedEpochInfosResponse.SerializeToString,
+            ),
             'getContestedResources': grpc.unary_unary_rpc_method_handler(
                     servicer.getContestedResources,
                     request_deserializer=platform__pb2.GetContestedResourcesRequest.FromString,
@@ -685,11 +739,21 @@ def add_PlatformServicer_to_server(servicer, server):
                     request_deserializer=platform__pb2.GetTokenDirectPurchasePricesRequest.FromString,
                     response_serializer=platform__pb2.GetTokenDirectPurchasePricesResponse.SerializeToString,
             ),
+            'getTokenContractInfo': grpc.unary_unary_rpc_method_handler(
+                    servicer.getTokenContractInfo,
+                    request_deserializer=platform__pb2.GetTokenContractInfoRequest.FromString,
+                    response_serializer=platform__pb2.GetTokenContractInfoResponse.SerializeToString,
+            ),
             'getTokenPreProgrammedDistributions': grpc.unary_unary_rpc_method_handler(
                     servicer.getTokenPreProgrammedDistributions,
                     request_deserializer=platform__pb2.GetTokenPreProgrammedDistributionsRequest.FromString,
                     response_serializer=platform__pb2.GetTokenPreProgrammedDistributionsResponse.SerializeToString,
             ),
+            'getTokenPerpetualDistributionLastClaim': grpc.unary_unary_rpc_method_handler(
+                    servicer.getTokenPerpetualDistributionLastClaim,
+                    request_deserializer=platform__pb2.GetTokenPerpetualDistributionLastClaimRequest.FromString,
+                    response_serializer=platform__pb2.GetTokenPerpetualDistributionLastClaimResponse.SerializeToString,
+            ),
             'getTokenTotalSupply': grpc.unary_unary_rpc_method_handler(
                     servicer.getTokenTotalSupply,
                     request_deserializer=platform__pb2.GetTokenTotalSupplyRequest.FromString,
@@ -997,6 +1061,23 @@ def getIdentityByPublicKeyHash(request,
             options, channel_credentials,
             insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
 
+    @staticmethod
+    def getIdentityByNonUniquePublicKeyHash(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/getIdentityByNonUniquePublicKeyHash',
+            platform__pb2.GetIdentityByNonUniquePublicKeyHashRequest.SerializeToString,
+            platform__pb2.GetIdentityByNonUniquePublicKeyHashResponse.FromString,
+            options, channel_credentials,
+            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
+
     @staticmethod
     def waitForStateTransitionResult(request,
             target,
@@ -1082,6 +1163,23 @@ def getEpochsInfo(request,
             options, channel_credentials,
             insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
 
+    @staticmethod
+    def getFinalizedEpochInfos(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/getFinalizedEpochInfos',
+            platform__pb2.GetFinalizedEpochInfosRequest.SerializeToString,
+            platform__pb2.GetFinalizedEpochInfosResponse.FromString,
+            options, channel_credentials,
+            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
+
     @staticmethod
     def getContestedResources(request,
             target,
@@ -1354,6 +1452,23 @@ def getTokenDirectPurchasePrices(request,
             options, channel_credentials,
             insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
 
+    @staticmethod
+    def getTokenContractInfo(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/getTokenContractInfo',
+            platform__pb2.GetTokenContractInfoRequest.SerializeToString,
+            platform__pb2.GetTokenContractInfoResponse.FromString,
+            options, channel_credentials,
+            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
+
     @staticmethod
     def getTokenPreProgrammedDistributions(request,
             target,
@@ -1371,6 +1486,23 @@ def getTokenPreProgrammedDistributions(request,
             options, channel_credentials,
             insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
 
+    @staticmethod
+    def getTokenPerpetualDistributionLastClaim(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/getTokenPerpetualDistributionLastClaim',
+            platform__pb2.GetTokenPerpetualDistributionLastClaimRequest.SerializeToString,
+            platform__pb2.GetTokenPerpetualDistributionLastClaimResponse.FromString,
+            options, channel_credentials,
+            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
+
     @staticmethod
     def getTokenTotalSupply(request,
             target,
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 11dd344c48..f3c161501a 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
@@ -2559,6 +2559,191 @@ export namespace GetIdentityByPublicKeyHashResponse {
   }
 }
 
+export class GetIdentityByNonUniquePublicKeyHashRequest extends jspb.Message {
+  hasV0(): boolean;
+  clearV0(): void;
+  getV0(): GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0 | undefined;
+  setV0(value?: GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0): void;
+
+  getVersionCase(): GetIdentityByNonUniquePublicKeyHashRequest.VersionCase;
+  serializeBinary(): Uint8Array;
+  toObject(includeInstance?: boolean): GetIdentityByNonUniquePublicKeyHashRequest.AsObject;
+  static toObject(includeInstance: boolean, msg: GetIdentityByNonUniquePublicKeyHashRequest): GetIdentityByNonUniquePublicKeyHashRequest.AsObject;
+  static extensions: {[key: number]: jspb.ExtensionFieldInfo};
+  static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo};
+  static serializeBinaryToWriter(message: GetIdentityByNonUniquePublicKeyHashRequest, writer: jspb.BinaryWriter): void;
+  static deserializeBinary(bytes: Uint8Array): GetIdentityByNonUniquePublicKeyHashRequest;
+  static deserializeBinaryFromReader(message: GetIdentityByNonUniquePublicKeyHashRequest, reader: jspb.BinaryReader): GetIdentityByNonUniquePublicKeyHashRequest;
+}
+
+export namespace GetIdentityByNonUniquePublicKeyHashRequest {
+  export type AsObject = {
+    v0?: GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0.AsObject,
+  }
+
+  export class GetIdentityByNonUniquePublicKeyHashRequestV0 extends jspb.Message {
+    getPublicKeyHash(): Uint8Array | string;
+    getPublicKeyHash_asU8(): Uint8Array;
+    getPublicKeyHash_asB64(): string;
+    setPublicKeyHash(value: Uint8Array | string): void;
+
+    hasStartAfter(): boolean;
+    clearStartAfter(): void;
+    getStartAfter(): Uint8Array | string;
+    getStartAfter_asU8(): Uint8Array;
+    getStartAfter_asB64(): string;
+    setStartAfter(value: Uint8Array | string): void;
+
+    getProve(): boolean;
+    setProve(value: boolean): void;
+
+    serializeBinary(): Uint8Array;
+    toObject(includeInstance?: boolean): GetIdentityByNonUniquePublicKeyHashRequestV0.AsObject;
+    static toObject(includeInstance: boolean, msg: GetIdentityByNonUniquePublicKeyHashRequestV0): GetIdentityByNonUniquePublicKeyHashRequestV0.AsObject;
+    static extensions: {[key: number]: jspb.ExtensionFieldInfo};
+    static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo};
+    static serializeBinaryToWriter(message: GetIdentityByNonUniquePublicKeyHashRequestV0, writer: jspb.BinaryWriter): void;
+    static deserializeBinary(bytes: Uint8Array): GetIdentityByNonUniquePublicKeyHashRequestV0;
+    static deserializeBinaryFromReader(message: GetIdentityByNonUniquePublicKeyHashRequestV0, reader: jspb.BinaryReader): GetIdentityByNonUniquePublicKeyHashRequestV0;
+  }
+
+  export namespace GetIdentityByNonUniquePublicKeyHashRequestV0 {
+    export type AsObject = {
+      publicKeyHash: Uint8Array | string,
+      startAfter: Uint8Array | string,
+      prove: boolean,
+    }
+  }
+
+  export enum VersionCase {
+    VERSION_NOT_SET = 0,
+    V0 = 1,
+  }
+}
+
+export class GetIdentityByNonUniquePublicKeyHashResponse extends jspb.Message {
+  hasV0(): boolean;
+  clearV0(): void;
+  getV0(): GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0 | undefined;
+  setV0(value?: GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0): void;
+
+  getVersionCase(): GetIdentityByNonUniquePublicKeyHashResponse.VersionCase;
+  serializeBinary(): Uint8Array;
+  toObject(includeInstance?: boolean): GetIdentityByNonUniquePublicKeyHashResponse.AsObject;
+  static toObject(includeInstance: boolean, msg: GetIdentityByNonUniquePublicKeyHashResponse): GetIdentityByNonUniquePublicKeyHashResponse.AsObject;
+  static extensions: {[key: number]: jspb.ExtensionFieldInfo};
+  static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo};
+  static serializeBinaryToWriter(message: GetIdentityByNonUniquePublicKeyHashResponse, writer: jspb.BinaryWriter): void;
+  static deserializeBinary(bytes: Uint8Array): GetIdentityByNonUniquePublicKeyHashResponse;
+  static deserializeBinaryFromReader(message: GetIdentityByNonUniquePublicKeyHashResponse, reader: jspb.BinaryReader): GetIdentityByNonUniquePublicKeyHashResponse;
+}
+
+export namespace GetIdentityByNonUniquePublicKeyHashResponse {
+  export type AsObject = {
+    v0?: GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.AsObject,
+  }
+
+  export class GetIdentityByNonUniquePublicKeyHashResponseV0 extends jspb.Message {
+    hasIdentity(): boolean;
+    clearIdentity(): void;
+    getIdentity(): GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse | undefined;
+    setIdentity(value?: GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse): void;
+
+    hasProof(): boolean;
+    clearProof(): void;
+    getProof(): GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse | undefined;
+    setProof(value?: GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse): void;
+
+    hasMetadata(): boolean;
+    clearMetadata(): void;
+    getMetadata(): ResponseMetadata | undefined;
+    setMetadata(value?: ResponseMetadata): void;
+
+    getResultCase(): GetIdentityByNonUniquePublicKeyHashResponseV0.ResultCase;
+    serializeBinary(): Uint8Array;
+    toObject(includeInstance?: boolean): GetIdentityByNonUniquePublicKeyHashResponseV0.AsObject;
+    static toObject(includeInstance: boolean, msg: GetIdentityByNonUniquePublicKeyHashResponseV0): GetIdentityByNonUniquePublicKeyHashResponseV0.AsObject;
+    static extensions: {[key: number]: jspb.ExtensionFieldInfo};
+    static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo};
+    static serializeBinaryToWriter(message: GetIdentityByNonUniquePublicKeyHashResponseV0, writer: jspb.BinaryWriter): void;
+    static deserializeBinary(bytes: Uint8Array): GetIdentityByNonUniquePublicKeyHashResponseV0;
+    static deserializeBinaryFromReader(message: GetIdentityByNonUniquePublicKeyHashResponseV0, reader: jspb.BinaryReader): GetIdentityByNonUniquePublicKeyHashResponseV0;
+  }
+
+  export namespace GetIdentityByNonUniquePublicKeyHashResponseV0 {
+    export type AsObject = {
+      identity?: GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse.AsObject,
+      proof?: GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse.AsObject,
+      metadata?: ResponseMetadata.AsObject,
+    }
+
+    export class IdentityResponse extends jspb.Message {
+      hasIdentity(): boolean;
+      clearIdentity(): void;
+      getIdentity(): Uint8Array | string;
+      getIdentity_asU8(): Uint8Array;
+      getIdentity_asB64(): string;
+      setIdentity(value: Uint8Array | string): void;
+
+      serializeBinary(): Uint8Array;
+      toObject(includeInstance?: boolean): IdentityResponse.AsObject;
+      static toObject(includeInstance: boolean, msg: IdentityResponse): IdentityResponse.AsObject;
+      static extensions: {[key: number]: jspb.ExtensionFieldInfo};
+      static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo};
+      static serializeBinaryToWriter(message: IdentityResponse, writer: jspb.BinaryWriter): void;
+      static deserializeBinary(bytes: Uint8Array): IdentityResponse;
+      static deserializeBinaryFromReader(message: IdentityResponse, reader: jspb.BinaryReader): IdentityResponse;
+    }
+
+    export namespace IdentityResponse {
+      export type AsObject = {
+        identity: Uint8Array | string,
+      }
+    }
+
+    export class IdentityProvedResponse extends jspb.Message {
+      hasGrovedbIdentityPublicKeyHashProof(): boolean;
+      clearGrovedbIdentityPublicKeyHashProof(): void;
+      getGrovedbIdentityPublicKeyHashProof(): Proof | undefined;
+      setGrovedbIdentityPublicKeyHashProof(value?: Proof): void;
+
+      hasIdentityProofBytes(): boolean;
+      clearIdentityProofBytes(): void;
+      getIdentityProofBytes(): Uint8Array | string;
+      getIdentityProofBytes_asU8(): Uint8Array;
+      getIdentityProofBytes_asB64(): string;
+      setIdentityProofBytes(value: Uint8Array | string): void;
+
+      serializeBinary(): Uint8Array;
+      toObject(includeInstance?: boolean): IdentityProvedResponse.AsObject;
+      static toObject(includeInstance: boolean, msg: IdentityProvedResponse): IdentityProvedResponse.AsObject;
+      static extensions: {[key: number]: jspb.ExtensionFieldInfo};
+      static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo};
+      static serializeBinaryToWriter(message: IdentityProvedResponse, writer: jspb.BinaryWriter): void;
+      static deserializeBinary(bytes: Uint8Array): IdentityProvedResponse;
+      static deserializeBinaryFromReader(message: IdentityProvedResponse, reader: jspb.BinaryReader): IdentityProvedResponse;
+    }
+
+    export namespace IdentityProvedResponse {
+      export type AsObject = {
+        grovedbIdentityPublicKeyHashProof?: Proof.AsObject,
+        identityProofBytes: Uint8Array | string,
+      }
+    }
+
+    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 {
   hasV0(): boolean;
   clearV0(): void;
@@ -3377,6 +3562,257 @@ export namespace GetEpochsInfoResponse {
   }
 }
 
+export class GetFinalizedEpochInfosRequest extends jspb.Message {
+  hasV0(): boolean;
+  clearV0(): void;
+  getV0(): GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0 | undefined;
+  setV0(value?: GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0): void;
+
+  getVersionCase(): GetFinalizedEpochInfosRequest.VersionCase;
+  serializeBinary(): Uint8Array;
+  toObject(includeInstance?: boolean): GetFinalizedEpochInfosRequest.AsObject;
+  static toObject(includeInstance: boolean, msg: GetFinalizedEpochInfosRequest): GetFinalizedEpochInfosRequest.AsObject;
+  static extensions: {[key: number]: jspb.ExtensionFieldInfo};
+  static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo};
+  static serializeBinaryToWriter(message: GetFinalizedEpochInfosRequest, writer: jspb.BinaryWriter): void;
+  static deserializeBinary(bytes: Uint8Array): GetFinalizedEpochInfosRequest;
+  static deserializeBinaryFromReader(message: GetFinalizedEpochInfosRequest, reader: jspb.BinaryReader): GetFinalizedEpochInfosRequest;
+}
+
+export namespace GetFinalizedEpochInfosRequest {
+  export type AsObject = {
+    v0?: GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0.AsObject,
+  }
+
+  export class GetFinalizedEpochInfosRequestV0 extends jspb.Message {
+    getStartEpochIndex(): number;
+    setStartEpochIndex(value: number): void;
+
+    getStartEpochIndexIncluded(): boolean;
+    setStartEpochIndexIncluded(value: boolean): void;
+
+    getEndEpochIndex(): number;
+    setEndEpochIndex(value: number): void;
+
+    getEndEpochIndexIncluded(): boolean;
+    setEndEpochIndexIncluded(value: boolean): void;
+
+    getProve(): boolean;
+    setProve(value: boolean): void;
+
+    serializeBinary(): Uint8Array;
+    toObject(includeInstance?: boolean): GetFinalizedEpochInfosRequestV0.AsObject;
+    static toObject(includeInstance: boolean, msg: GetFinalizedEpochInfosRequestV0): GetFinalizedEpochInfosRequestV0.AsObject;
+    static extensions: {[key: number]: jspb.ExtensionFieldInfo};
+    static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo};
+    static serializeBinaryToWriter(message: GetFinalizedEpochInfosRequestV0, writer: jspb.BinaryWriter): void;
+    static deserializeBinary(bytes: Uint8Array): GetFinalizedEpochInfosRequestV0;
+    static deserializeBinaryFromReader(message: GetFinalizedEpochInfosRequestV0, reader: jspb.BinaryReader): GetFinalizedEpochInfosRequestV0;
+  }
+
+  export namespace GetFinalizedEpochInfosRequestV0 {
+    export type AsObject = {
+      startEpochIndex: number,
+      startEpochIndexIncluded: boolean,
+      endEpochIndex: number,
+      endEpochIndexIncluded: boolean,
+      prove: boolean,
+    }
+  }
+
+  export enum VersionCase {
+    VERSION_NOT_SET = 0,
+    V0 = 1,
+  }
+}
+
+export class GetFinalizedEpochInfosResponse extends jspb.Message {
+  hasV0(): boolean;
+  clearV0(): void;
+  getV0(): GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0 | undefined;
+  setV0(value?: GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0): void;
+
+  getVersionCase(): GetFinalizedEpochInfosResponse.VersionCase;
+  serializeBinary(): Uint8Array;
+  toObject(includeInstance?: boolean): GetFinalizedEpochInfosResponse.AsObject;
+  static toObject(includeInstance: boolean, msg: GetFinalizedEpochInfosResponse): GetFinalizedEpochInfosResponse.AsObject;
+  static extensions: {[key: number]: jspb.ExtensionFieldInfo};
+  static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo};
+  static serializeBinaryToWriter(message: GetFinalizedEpochInfosResponse, writer: jspb.BinaryWriter): void;
+  static deserializeBinary(bytes: Uint8Array): GetFinalizedEpochInfosResponse;
+  static deserializeBinaryFromReader(message: GetFinalizedEpochInfosResponse, reader: jspb.BinaryReader): GetFinalizedEpochInfosResponse;
+}
+
+export namespace GetFinalizedEpochInfosResponse {
+  export type AsObject = {
+    v0?: GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.AsObject,
+  }
+
+  export class GetFinalizedEpochInfosResponseV0 extends jspb.Message {
+    hasEpochs(): boolean;
+    clearEpochs(): void;
+    getEpochs(): GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos | undefined;
+    setEpochs(value?: GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos): void;
+
+    hasProof(): boolean;
+    clearProof(): void;
+    getProof(): Proof | undefined;
+    setProof(value?: Proof): void;
+
+    hasMetadata(): boolean;
+    clearMetadata(): void;
+    getMetadata(): ResponseMetadata | undefined;
+    setMetadata(value?: ResponseMetadata): void;
+
+    getResultCase(): GetFinalizedEpochInfosResponseV0.ResultCase;
+    serializeBinary(): Uint8Array;
+    toObject(includeInstance?: boolean): GetFinalizedEpochInfosResponseV0.AsObject;
+    static toObject(includeInstance: boolean, msg: GetFinalizedEpochInfosResponseV0): GetFinalizedEpochInfosResponseV0.AsObject;
+    static extensions: {[key: number]: jspb.ExtensionFieldInfo};
+    static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo};
+    static serializeBinaryToWriter(message: GetFinalizedEpochInfosResponseV0, writer: jspb.BinaryWriter): void;
+    static deserializeBinary(bytes: Uint8Array): GetFinalizedEpochInfosResponseV0;
+    static deserializeBinaryFromReader(message: GetFinalizedEpochInfosResponseV0, reader: jspb.BinaryReader): GetFinalizedEpochInfosResponseV0;
+  }
+
+  export namespace GetFinalizedEpochInfosResponseV0 {
+    export type AsObject = {
+      epochs?: GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos.AsObject,
+      proof?: Proof.AsObject,
+      metadata?: ResponseMetadata.AsObject,
+    }
+
+    export class FinalizedEpochInfos extends jspb.Message {
+      clearFinalizedEpochInfosList(): void;
+      getFinalizedEpochInfosList(): Array;
+      setFinalizedEpochInfosList(value: Array): void;
+      addFinalizedEpochInfos(value?: GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo, index?: number): GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo;
+
+      serializeBinary(): Uint8Array;
+      toObject(includeInstance?: boolean): FinalizedEpochInfos.AsObject;
+      static toObject(includeInstance: boolean, msg: FinalizedEpochInfos): FinalizedEpochInfos.AsObject;
+      static extensions: {[key: number]: jspb.ExtensionFieldInfo};
+      static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo};
+      static serializeBinaryToWriter(message: FinalizedEpochInfos, writer: jspb.BinaryWriter): void;
+      static deserializeBinary(bytes: Uint8Array): FinalizedEpochInfos;
+      static deserializeBinaryFromReader(message: FinalizedEpochInfos, reader: jspb.BinaryReader): FinalizedEpochInfos;
+    }
+
+    export namespace FinalizedEpochInfos {
+      export type AsObject = {
+        finalizedEpochInfosList: Array,
+      }
+    }
+
+    export class FinalizedEpochInfo extends jspb.Message {
+      getNumber(): number;
+      setNumber(value: number): void;
+
+      getFirstBlockHeight(): string;
+      setFirstBlockHeight(value: string): void;
+
+      getFirstCoreBlockHeight(): number;
+      setFirstCoreBlockHeight(value: number): void;
+
+      getFirstBlockTime(): string;
+      setFirstBlockTime(value: string): void;
+
+      getFeeMultiplier(): number;
+      setFeeMultiplier(value: number): void;
+
+      getProtocolVersion(): number;
+      setProtocolVersion(value: number): void;
+
+      getTotalBlocksInEpoch(): string;
+      setTotalBlocksInEpoch(value: string): void;
+
+      getNextEpochStartCoreBlockHeight(): number;
+      setNextEpochStartCoreBlockHeight(value: number): void;
+
+      getTotalProcessingFees(): string;
+      setTotalProcessingFees(value: string): void;
+
+      getTotalDistributedStorageFees(): string;
+      setTotalDistributedStorageFees(value: string): void;
+
+      getTotalCreatedStorageFees(): string;
+      setTotalCreatedStorageFees(value: string): void;
+
+      getCoreBlockRewards(): string;
+      setCoreBlockRewards(value: string): void;
+
+      clearBlockProposersList(): void;
+      getBlockProposersList(): Array;
+      setBlockProposersList(value: Array): void;
+      addBlockProposers(value?: GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer, index?: number): GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer;
+
+      serializeBinary(): Uint8Array;
+      toObject(includeInstance?: boolean): FinalizedEpochInfo.AsObject;
+      static toObject(includeInstance: boolean, msg: FinalizedEpochInfo): FinalizedEpochInfo.AsObject;
+      static extensions: {[key: number]: jspb.ExtensionFieldInfo};
+      static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo};
+      static serializeBinaryToWriter(message: FinalizedEpochInfo, writer: jspb.BinaryWriter): void;
+      static deserializeBinary(bytes: Uint8Array): FinalizedEpochInfo;
+      static deserializeBinaryFromReader(message: FinalizedEpochInfo, reader: jspb.BinaryReader): FinalizedEpochInfo;
+    }
+
+    export namespace FinalizedEpochInfo {
+      export type AsObject = {
+        number: number,
+        firstBlockHeight: string,
+        firstCoreBlockHeight: number,
+        firstBlockTime: string,
+        feeMultiplier: number,
+        protocolVersion: number,
+        totalBlocksInEpoch: string,
+        nextEpochStartCoreBlockHeight: number,
+        totalProcessingFees: string,
+        totalDistributedStorageFees: string,
+        totalCreatedStorageFees: string,
+        coreBlockRewards: string,
+        blockProposersList: Array,
+      }
+    }
+
+    export class BlockProposer extends jspb.Message {
+      getProposerId(): Uint8Array | string;
+      getProposerId_asU8(): Uint8Array;
+      getProposerId_asB64(): string;
+      setProposerId(value: Uint8Array | string): void;
+
+      getBlockCount(): number;
+      setBlockCount(value: number): void;
+
+      serializeBinary(): Uint8Array;
+      toObject(includeInstance?: boolean): BlockProposer.AsObject;
+      static toObject(includeInstance: boolean, msg: BlockProposer): BlockProposer.AsObject;
+      static extensions: {[key: number]: jspb.ExtensionFieldInfo};
+      static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo};
+      static serializeBinaryToWriter(message: BlockProposer, writer: jspb.BinaryWriter): void;
+      static deserializeBinary(bytes: Uint8Array): BlockProposer;
+      static deserializeBinaryFromReader(message: BlockProposer, reader: jspb.BinaryReader): BlockProposer;
+    }
+
+    export namespace BlockProposer {
+      export type AsObject = {
+        proposerId: Uint8Array | string,
+        blockCount: number,
+      }
+    }
+
+    export enum ResultCase {
+      RESULT_NOT_SET = 0,
+      EPOCHS = 1,
+      PROOF = 2,
+    }
+  }
+
+  export enum VersionCase {
+    VERSION_NOT_SET = 0,
+    V0 = 1,
+  }
+}
+
 export class GetContestedResourcesRequest extends jspb.Message {
   hasV0(): boolean;
   clearV0(): void;
@@ -6636,13 +7072,69 @@ export namespace GetTokenStatusesResponse {
   }
 }
 
-export class GetTokenDirectPurchasePricesResponse extends jspb.Message {
+export class GetTokenDirectPurchasePricesRequest extends jspb.Message {
   hasV0(): boolean;
   clearV0(): void;
-  getV0(): GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0 | undefined;
-  setV0(value?: GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0): void;
+  getV0(): GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0 | undefined;
+  setV0(value?: GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0): void;
 
-  getVersionCase(): GetTokenDirectPurchasePricesResponse.VersionCase;
+  getVersionCase(): GetTokenDirectPurchasePricesRequest.VersionCase;
+  serializeBinary(): Uint8Array;
+  toObject(includeInstance?: boolean): GetTokenDirectPurchasePricesRequest.AsObject;
+  static toObject(includeInstance: boolean, msg: GetTokenDirectPurchasePricesRequest): GetTokenDirectPurchasePricesRequest.AsObject;
+  static extensions: {[key: number]: jspb.ExtensionFieldInfo};
+  static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo};
+  static serializeBinaryToWriter(message: GetTokenDirectPurchasePricesRequest, writer: jspb.BinaryWriter): void;
+  static deserializeBinary(bytes: Uint8Array): GetTokenDirectPurchasePricesRequest;
+  static deserializeBinaryFromReader(message: GetTokenDirectPurchasePricesRequest, reader: jspb.BinaryReader): GetTokenDirectPurchasePricesRequest;
+}
+
+export namespace GetTokenDirectPurchasePricesRequest {
+  export type AsObject = {
+    v0?: GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.AsObject,
+  }
+
+  export class GetTokenDirectPurchasePricesRequestV0 extends jspb.Message {
+    clearTokenIdsList(): void;
+    getTokenIdsList(): Array;
+    getTokenIdsList_asU8(): Array;
+    getTokenIdsList_asB64(): Array;
+    setTokenIdsList(value: Array): void;
+    addTokenIds(value: Uint8Array | string, index?: number): Uint8Array | string;
+
+    getProve(): boolean;
+    setProve(value: boolean): void;
+
+    serializeBinary(): Uint8Array;
+    toObject(includeInstance?: boolean): GetTokenDirectPurchasePricesRequestV0.AsObject;
+    static toObject(includeInstance: boolean, msg: GetTokenDirectPurchasePricesRequestV0): GetTokenDirectPurchasePricesRequestV0.AsObject;
+    static extensions: {[key: number]: jspb.ExtensionFieldInfo};
+    static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo};
+    static serializeBinaryToWriter(message: GetTokenDirectPurchasePricesRequestV0, writer: jspb.BinaryWriter): void;
+    static deserializeBinary(bytes: Uint8Array): GetTokenDirectPurchasePricesRequestV0;
+    static deserializeBinaryFromReader(message: GetTokenDirectPurchasePricesRequestV0, reader: jspb.BinaryReader): GetTokenDirectPurchasePricesRequestV0;
+  }
+
+  export namespace GetTokenDirectPurchasePricesRequestV0 {
+    export type AsObject = {
+      tokenIdsList: Array,
+      prove: boolean,
+    }
+  }
+
+  export enum VersionCase {
+    VERSION_NOT_SET = 0,
+    V0 = 1,
+  }
+}
+
+export class GetTokenDirectPurchasePricesResponse extends jspb.Message {
+  hasV0(): boolean;
+  clearV0(): void;
+  getV0(): GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0 | undefined;
+  setV0(value?: GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0): void;
+
+  getVersionCase(): GetTokenDirectPurchasePricesResponse.VersionCase;
   serializeBinary(): Uint8Array;
   toObject(includeInstance?: boolean): GetTokenDirectPurchasePricesResponse.AsObject;
   static toObject(includeInstance: boolean, msg: GetTokenDirectPurchasePricesResponse): GetTokenDirectPurchasePricesResponse.AsObject;
@@ -6814,52 +7306,50 @@ export namespace GetTokenDirectPurchasePricesResponse {
   }
 }
 
-export class GetTokenDirectPurchasePricesRequest extends jspb.Message {
+export class GetTokenContractInfoRequest extends jspb.Message {
   hasV0(): boolean;
   clearV0(): void;
-  getV0(): GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0 | undefined;
-  setV0(value?: GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0): void;
+  getV0(): GetTokenContractInfoRequest.GetTokenContractInfoRequestV0 | undefined;
+  setV0(value?: GetTokenContractInfoRequest.GetTokenContractInfoRequestV0): void;
 
-  getVersionCase(): GetTokenDirectPurchasePricesRequest.VersionCase;
+  getVersionCase(): GetTokenContractInfoRequest.VersionCase;
   serializeBinary(): Uint8Array;
-  toObject(includeInstance?: boolean): GetTokenDirectPurchasePricesRequest.AsObject;
-  static toObject(includeInstance: boolean, msg: GetTokenDirectPurchasePricesRequest): GetTokenDirectPurchasePricesRequest.AsObject;
+  toObject(includeInstance?: boolean): GetTokenContractInfoRequest.AsObject;
+  static toObject(includeInstance: boolean, msg: GetTokenContractInfoRequest): GetTokenContractInfoRequest.AsObject;
   static extensions: {[key: number]: jspb.ExtensionFieldInfo};
   static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo};
-  static serializeBinaryToWriter(message: GetTokenDirectPurchasePricesRequest, writer: jspb.BinaryWriter): void;
-  static deserializeBinary(bytes: Uint8Array): GetTokenDirectPurchasePricesRequest;
-  static deserializeBinaryFromReader(message: GetTokenDirectPurchasePricesRequest, reader: jspb.BinaryReader): GetTokenDirectPurchasePricesRequest;
+  static serializeBinaryToWriter(message: GetTokenContractInfoRequest, writer: jspb.BinaryWriter): void;
+  static deserializeBinary(bytes: Uint8Array): GetTokenContractInfoRequest;
+  static deserializeBinaryFromReader(message: GetTokenContractInfoRequest, reader: jspb.BinaryReader): GetTokenContractInfoRequest;
 }
 
-export namespace GetTokenDirectPurchasePricesRequest {
+export namespace GetTokenContractInfoRequest {
   export type AsObject = {
-    v0?: GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.AsObject,
+    v0?: GetTokenContractInfoRequest.GetTokenContractInfoRequestV0.AsObject,
   }
 
-  export class GetTokenDirectPurchasePricesRequestV0 extends jspb.Message {
-    clearTokenIdsList(): void;
-    getTokenIdsList(): Array;
-    getTokenIdsList_asU8(): Array;
-    getTokenIdsList_asB64(): Array;
-    setTokenIdsList(value: Array): void;
-    addTokenIds(value: Uint8Array | string, index?: number): Uint8Array | string;
+  export class GetTokenContractInfoRequestV0 extends jspb.Message {
+    getTokenId(): Uint8Array | string;
+    getTokenId_asU8(): Uint8Array;
+    getTokenId_asB64(): string;
+    setTokenId(value: Uint8Array | string): void;
 
     getProve(): boolean;
     setProve(value: boolean): void;
 
     serializeBinary(): Uint8Array;
-    toObject(includeInstance?: boolean): GetTokenDirectPurchasePricesRequestV0.AsObject;
-    static toObject(includeInstance: boolean, msg: GetTokenDirectPurchasePricesRequestV0): GetTokenDirectPurchasePricesRequestV0.AsObject;
+    toObject(includeInstance?: boolean): GetTokenContractInfoRequestV0.AsObject;
+    static toObject(includeInstance: boolean, msg: GetTokenContractInfoRequestV0): GetTokenContractInfoRequestV0.AsObject;
     static extensions: {[key: number]: jspb.ExtensionFieldInfo};
     static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo};
-    static serializeBinaryToWriter(message: GetTokenDirectPurchasePricesRequestV0, writer: jspb.BinaryWriter): void;
-    static deserializeBinary(bytes: Uint8Array): GetTokenDirectPurchasePricesRequestV0;
-    static deserializeBinaryFromReader(message: GetTokenDirectPurchasePricesRequestV0, reader: jspb.BinaryReader): GetTokenDirectPurchasePricesRequestV0;
+    static serializeBinaryToWriter(message: GetTokenContractInfoRequestV0, writer: jspb.BinaryWriter): void;
+    static deserializeBinary(bytes: Uint8Array): GetTokenContractInfoRequestV0;
+    static deserializeBinaryFromReader(message: GetTokenContractInfoRequestV0, reader: jspb.BinaryReader): GetTokenContractInfoRequestV0;
   }
 
-  export namespace GetTokenDirectPurchasePricesRequestV0 {
+  export namespace GetTokenContractInfoRequestV0 {
     export type AsObject = {
-      tokenIdsList: Array,
+      tokenId: Uint8Array | string,
       prove: boolean,
     }
   }
@@ -6870,6 +7360,101 @@ export namespace GetTokenDirectPurchasePricesRequest {
   }
 }
 
+export class GetTokenContractInfoResponse extends jspb.Message {
+  hasV0(): boolean;
+  clearV0(): void;
+  getV0(): GetTokenContractInfoResponse.GetTokenContractInfoResponseV0 | undefined;
+  setV0(value?: GetTokenContractInfoResponse.GetTokenContractInfoResponseV0): void;
+
+  getVersionCase(): GetTokenContractInfoResponse.VersionCase;
+  serializeBinary(): Uint8Array;
+  toObject(includeInstance?: boolean): GetTokenContractInfoResponse.AsObject;
+  static toObject(includeInstance: boolean, msg: GetTokenContractInfoResponse): GetTokenContractInfoResponse.AsObject;
+  static extensions: {[key: number]: jspb.ExtensionFieldInfo};
+  static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo};
+  static serializeBinaryToWriter(message: GetTokenContractInfoResponse, writer: jspb.BinaryWriter): void;
+  static deserializeBinary(bytes: Uint8Array): GetTokenContractInfoResponse;
+  static deserializeBinaryFromReader(message: GetTokenContractInfoResponse, reader: jspb.BinaryReader): GetTokenContractInfoResponse;
+}
+
+export namespace GetTokenContractInfoResponse {
+  export type AsObject = {
+    v0?: GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.AsObject,
+  }
+
+  export class GetTokenContractInfoResponseV0 extends jspb.Message {
+    hasData(): boolean;
+    clearData(): void;
+    getData(): GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData | undefined;
+    setData(value?: GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData): void;
+
+    hasProof(): boolean;
+    clearProof(): void;
+    getProof(): Proof | undefined;
+    setProof(value?: Proof): void;
+
+    hasMetadata(): boolean;
+    clearMetadata(): void;
+    getMetadata(): ResponseMetadata | undefined;
+    setMetadata(value?: ResponseMetadata): void;
+
+    getResultCase(): GetTokenContractInfoResponseV0.ResultCase;
+    serializeBinary(): Uint8Array;
+    toObject(includeInstance?: boolean): GetTokenContractInfoResponseV0.AsObject;
+    static toObject(includeInstance: boolean, msg: GetTokenContractInfoResponseV0): GetTokenContractInfoResponseV0.AsObject;
+    static extensions: {[key: number]: jspb.ExtensionFieldInfo};
+    static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo};
+    static serializeBinaryToWriter(message: GetTokenContractInfoResponseV0, writer: jspb.BinaryWriter): void;
+    static deserializeBinary(bytes: Uint8Array): GetTokenContractInfoResponseV0;
+    static deserializeBinaryFromReader(message: GetTokenContractInfoResponseV0, reader: jspb.BinaryReader): GetTokenContractInfoResponseV0;
+  }
+
+  export namespace GetTokenContractInfoResponseV0 {
+    export type AsObject = {
+      data?: GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData.AsObject,
+      proof?: Proof.AsObject,
+      metadata?: ResponseMetadata.AsObject,
+    }
+
+    export class TokenContractInfoData extends jspb.Message {
+      getContractId(): Uint8Array | string;
+      getContractId_asU8(): Uint8Array;
+      getContractId_asB64(): string;
+      setContractId(value: Uint8Array | string): void;
+
+      getTokenContractPosition(): number;
+      setTokenContractPosition(value: number): void;
+
+      serializeBinary(): Uint8Array;
+      toObject(includeInstance?: boolean): TokenContractInfoData.AsObject;
+      static toObject(includeInstance: boolean, msg: TokenContractInfoData): TokenContractInfoData.AsObject;
+      static extensions: {[key: number]: jspb.ExtensionFieldInfo};
+      static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo};
+      static serializeBinaryToWriter(message: TokenContractInfoData, writer: jspb.BinaryWriter): void;
+      static deserializeBinary(bytes: Uint8Array): TokenContractInfoData;
+      static deserializeBinaryFromReader(message: TokenContractInfoData, reader: jspb.BinaryReader): TokenContractInfoData;
+    }
+
+    export namespace TokenContractInfoData {
+      export type AsObject = {
+        contractId: Uint8Array | string,
+        tokenContractPosition: number,
+      }
+    }
+
+    export enum ResultCase {
+      RESULT_NOT_SET = 0,
+      DATA = 1,
+      PROOF = 2,
+    }
+  }
+
+  export enum VersionCase {
+    VERSION_NOT_SET = 0,
+    V0 = 1,
+  }
+}
+
 export class GetTokenPreProgrammedDistributionsRequest extends jspb.Message {
   hasV0(): boolean;
   clearV0(): void;
@@ -7113,6 +7698,218 @@ export namespace GetTokenPreProgrammedDistributionsResponse {
   }
 }
 
+export class GetTokenPerpetualDistributionLastClaimRequest extends jspb.Message {
+  hasV0(): boolean;
+  clearV0(): void;
+  getV0(): GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0 | undefined;
+  setV0(value?: GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0): void;
+
+  getVersionCase(): GetTokenPerpetualDistributionLastClaimRequest.VersionCase;
+  serializeBinary(): Uint8Array;
+  toObject(includeInstance?: boolean): GetTokenPerpetualDistributionLastClaimRequest.AsObject;
+  static toObject(includeInstance: boolean, msg: GetTokenPerpetualDistributionLastClaimRequest): GetTokenPerpetualDistributionLastClaimRequest.AsObject;
+  static extensions: {[key: number]: jspb.ExtensionFieldInfo};
+  static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo};
+  static serializeBinaryToWriter(message: GetTokenPerpetualDistributionLastClaimRequest, writer: jspb.BinaryWriter): void;
+  static deserializeBinary(bytes: Uint8Array): GetTokenPerpetualDistributionLastClaimRequest;
+  static deserializeBinaryFromReader(message: GetTokenPerpetualDistributionLastClaimRequest, reader: jspb.BinaryReader): GetTokenPerpetualDistributionLastClaimRequest;
+}
+
+export namespace GetTokenPerpetualDistributionLastClaimRequest {
+  export type AsObject = {
+    v0?: GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0.AsObject,
+  }
+
+  export class ContractTokenInfo extends jspb.Message {
+    getContractId(): Uint8Array | string;
+    getContractId_asU8(): Uint8Array;
+    getContractId_asB64(): string;
+    setContractId(value: Uint8Array | string): void;
+
+    getTokenContractPosition(): number;
+    setTokenContractPosition(value: number): void;
+
+    serializeBinary(): Uint8Array;
+    toObject(includeInstance?: boolean): ContractTokenInfo.AsObject;
+    static toObject(includeInstance: boolean, msg: ContractTokenInfo): ContractTokenInfo.AsObject;
+    static extensions: {[key: number]: jspb.ExtensionFieldInfo};
+    static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo};
+    static serializeBinaryToWriter(message: ContractTokenInfo, writer: jspb.BinaryWriter): void;
+    static deserializeBinary(bytes: Uint8Array): ContractTokenInfo;
+    static deserializeBinaryFromReader(message: ContractTokenInfo, reader: jspb.BinaryReader): ContractTokenInfo;
+  }
+
+  export namespace ContractTokenInfo {
+    export type AsObject = {
+      contractId: Uint8Array | string,
+      tokenContractPosition: number,
+    }
+  }
+
+  export class GetTokenPerpetualDistributionLastClaimRequestV0 extends jspb.Message {
+    getTokenId(): Uint8Array | string;
+    getTokenId_asU8(): Uint8Array;
+    getTokenId_asB64(): string;
+    setTokenId(value: Uint8Array | string): void;
+
+    hasContractInfo(): boolean;
+    clearContractInfo(): void;
+    getContractInfo(): GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo | undefined;
+    setContractInfo(value?: GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo): void;
+
+    getIdentityId(): Uint8Array | string;
+    getIdentityId_asU8(): Uint8Array;
+    getIdentityId_asB64(): string;
+    setIdentityId(value: Uint8Array | string): void;
+
+    getProve(): boolean;
+    setProve(value: boolean): void;
+
+    serializeBinary(): Uint8Array;
+    toObject(includeInstance?: boolean): GetTokenPerpetualDistributionLastClaimRequestV0.AsObject;
+    static toObject(includeInstance: boolean, msg: GetTokenPerpetualDistributionLastClaimRequestV0): GetTokenPerpetualDistributionLastClaimRequestV0.AsObject;
+    static extensions: {[key: number]: jspb.ExtensionFieldInfo};
+    static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo};
+    static serializeBinaryToWriter(message: GetTokenPerpetualDistributionLastClaimRequestV0, writer: jspb.BinaryWriter): void;
+    static deserializeBinary(bytes: Uint8Array): GetTokenPerpetualDistributionLastClaimRequestV0;
+    static deserializeBinaryFromReader(message: GetTokenPerpetualDistributionLastClaimRequestV0, reader: jspb.BinaryReader): GetTokenPerpetualDistributionLastClaimRequestV0;
+  }
+
+  export namespace GetTokenPerpetualDistributionLastClaimRequestV0 {
+    export type AsObject = {
+      tokenId: Uint8Array | string,
+      contractInfo?: GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo.AsObject,
+      identityId: Uint8Array | string,
+      prove: boolean,
+    }
+  }
+
+  export enum VersionCase {
+    VERSION_NOT_SET = 0,
+    V0 = 1,
+  }
+}
+
+export class GetTokenPerpetualDistributionLastClaimResponse extends jspb.Message {
+  hasV0(): boolean;
+  clearV0(): void;
+  getV0(): GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0 | undefined;
+  setV0(value?: GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0): void;
+
+  getVersionCase(): GetTokenPerpetualDistributionLastClaimResponse.VersionCase;
+  serializeBinary(): Uint8Array;
+  toObject(includeInstance?: boolean): GetTokenPerpetualDistributionLastClaimResponse.AsObject;
+  static toObject(includeInstance: boolean, msg: GetTokenPerpetualDistributionLastClaimResponse): GetTokenPerpetualDistributionLastClaimResponse.AsObject;
+  static extensions: {[key: number]: jspb.ExtensionFieldInfo};
+  static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo};
+  static serializeBinaryToWriter(message: GetTokenPerpetualDistributionLastClaimResponse, writer: jspb.BinaryWriter): void;
+  static deserializeBinary(bytes: Uint8Array): GetTokenPerpetualDistributionLastClaimResponse;
+  static deserializeBinaryFromReader(message: GetTokenPerpetualDistributionLastClaimResponse, reader: jspb.BinaryReader): GetTokenPerpetualDistributionLastClaimResponse;
+}
+
+export namespace GetTokenPerpetualDistributionLastClaimResponse {
+  export type AsObject = {
+    v0?: GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.AsObject,
+  }
+
+  export class GetTokenPerpetualDistributionLastClaimResponseV0 extends jspb.Message {
+    hasLastClaim(): boolean;
+    clearLastClaim(): void;
+    getLastClaim(): GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo | undefined;
+    setLastClaim(value?: GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo): void;
+
+    hasProof(): boolean;
+    clearProof(): void;
+    getProof(): Proof | undefined;
+    setProof(value?: Proof): void;
+
+    hasMetadata(): boolean;
+    clearMetadata(): void;
+    getMetadata(): ResponseMetadata | undefined;
+    setMetadata(value?: ResponseMetadata): void;
+
+    getResultCase(): GetTokenPerpetualDistributionLastClaimResponseV0.ResultCase;
+    serializeBinary(): Uint8Array;
+    toObject(includeInstance?: boolean): GetTokenPerpetualDistributionLastClaimResponseV0.AsObject;
+    static toObject(includeInstance: boolean, msg: GetTokenPerpetualDistributionLastClaimResponseV0): GetTokenPerpetualDistributionLastClaimResponseV0.AsObject;
+    static extensions: {[key: number]: jspb.ExtensionFieldInfo};
+    static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo};
+    static serializeBinaryToWriter(message: GetTokenPerpetualDistributionLastClaimResponseV0, writer: jspb.BinaryWriter): void;
+    static deserializeBinary(bytes: Uint8Array): GetTokenPerpetualDistributionLastClaimResponseV0;
+    static deserializeBinaryFromReader(message: GetTokenPerpetualDistributionLastClaimResponseV0, reader: jspb.BinaryReader): GetTokenPerpetualDistributionLastClaimResponseV0;
+  }
+
+  export namespace GetTokenPerpetualDistributionLastClaimResponseV0 {
+    export type AsObject = {
+      lastClaim?: GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo.AsObject,
+      proof?: Proof.AsObject,
+      metadata?: ResponseMetadata.AsObject,
+    }
+
+    export class LastClaimInfo extends jspb.Message {
+      hasTimestampMs(): boolean;
+      clearTimestampMs(): void;
+      getTimestampMs(): string;
+      setTimestampMs(value: string): void;
+
+      hasBlockHeight(): boolean;
+      clearBlockHeight(): void;
+      getBlockHeight(): string;
+      setBlockHeight(value: string): void;
+
+      hasEpoch(): boolean;
+      clearEpoch(): void;
+      getEpoch(): number;
+      setEpoch(value: number): void;
+
+      hasRawBytes(): boolean;
+      clearRawBytes(): void;
+      getRawBytes(): Uint8Array | string;
+      getRawBytes_asU8(): Uint8Array;
+      getRawBytes_asB64(): string;
+      setRawBytes(value: Uint8Array | string): void;
+
+      getPaidAtCase(): LastClaimInfo.PaidAtCase;
+      serializeBinary(): Uint8Array;
+      toObject(includeInstance?: boolean): LastClaimInfo.AsObject;
+      static toObject(includeInstance: boolean, msg: LastClaimInfo): LastClaimInfo.AsObject;
+      static extensions: {[key: number]: jspb.ExtensionFieldInfo};
+      static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo};
+      static serializeBinaryToWriter(message: LastClaimInfo, writer: jspb.BinaryWriter): void;
+      static deserializeBinary(bytes: Uint8Array): LastClaimInfo;
+      static deserializeBinaryFromReader(message: LastClaimInfo, reader: jspb.BinaryReader): LastClaimInfo;
+    }
+
+    export namespace LastClaimInfo {
+      export type AsObject = {
+        timestampMs: string,
+        blockHeight: string,
+        epoch: number,
+        rawBytes: Uint8Array | string,
+      }
+
+      export enum PaidAtCase {
+        PAID_AT_NOT_SET = 0,
+        TIMESTAMP_MS = 1,
+        BLOCK_HEIGHT = 2,
+        EPOCH = 3,
+        RAW_BYTES = 4,
+      }
+    }
+
+    export enum ResultCase {
+      RESULT_NOT_SET = 0,
+      LAST_CLAIM = 1,
+      PROOF = 2,
+    }
+  }
+
+  export enum VersionCase {
+    VERSION_NOT_SET = 0,
+    V0 = 1,
+  }
+}
+
 export class GetTokenTotalSupplyRequest extends jspb.Message {
   hasV0(): boolean;
   clearV0(): void;
@@ -7903,6 +8700,11 @@ export namespace GetGroupActionsResponse {
       getAmount(): number;
       setAmount(value: number): void;
 
+      getBurnFromId(): Uint8Array | string;
+      getBurnFromId_asU8(): Uint8Array;
+      getBurnFromId_asB64(): string;
+      setBurnFromId(value: Uint8Array | string): void;
+
       hasPublicNote(): boolean;
       clearPublicNote(): void;
       getPublicNote(): string;
@@ -7921,6 +8723,7 @@ export namespace GetGroupActionsResponse {
     export namespace BurnEvent {
       export type AsObject = {
         amount: number,
+        burnFromId: Uint8Array | string,
         publicNote: string,
       }
     }
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 ad8743c421..59e21a649c 100644
--- a/packages/dapi-grpc/clients/platform/v0/web/platform_pb.js
+++ b/packages/dapi-grpc/clients/platform/v0/web/platform_pb.js
@@ -139,6 +139,16 @@ goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlock
 goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.EvonodesProposedBlocks', null, { proto });
 goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.GetEvonodesProposedEpochBlocksResponseV0.ResultCase', null, { proto });
 goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetEvonodesProposedEpochBlocksResponse.VersionCase', null, { proto });
+goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest', null, { proto });
+goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0', null, { proto });
+goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.VersionCase', null, { proto });
+goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse', null, { proto });
+goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0', null, { proto });
+goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer', null, { proto });
+goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo', null, { proto });
+goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos', null, { proto });
+goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.ResultCase', null, { proto });
+goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.VersionCase', null, { proto });
 goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetGroupActionSignersRequest', null, { proto });
 goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetGroupActionSignersRequest.ActionStatus', null, { proto });
 goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetGroupActionSignersRequest.GetGroupActionSignersRequestV0', null, { proto });
@@ -258,6 +268,15 @@ goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentityBalanceResponse',
 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.GetIdentityByNonUniquePublicKeyHashRequest', null, { proto });
+goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0', null, { proto });
+goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.VersionCase', null, { proto });
+goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse', null, { proto });
+goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0', null, { proto });
+goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse', null, { proto });
+goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse', null, { proto });
+goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.ResultCase', null, { proto });
+goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.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 });
@@ -362,6 +381,14 @@ goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusRe
 goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash', null, { proto });
 goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software', null, { proto });
 goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetStatusResponse.VersionCase', null, { proto });
+goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest', null, { proto });
+goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0', null, { proto });
+goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.VersionCase', null, { proto });
+goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse', null, { proto });
+goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0', null, { proto });
+goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.ResultCase', null, { proto });
+goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData', null, { proto });
+goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.VersionCase', null, { proto });
 goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest', null, { proto });
 goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0', null, { proto });
 goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.VersionCase', null, { proto });
@@ -374,6 +401,16 @@ goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesR
 goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.PriceCase', null, { proto });
 goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices', null, { proto });
 goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.VersionCase', null, { proto });
+goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest', null, { proto });
+goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo', null, { proto });
+goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0', null, { proto });
+goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.VersionCase', null, { proto });
+goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse', null, { proto });
+goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0', null, { proto });
+goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo', null, { proto });
+goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo.PaidAtCase', null, { proto });
+goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.ResultCase', null, { proto });
+goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.VersionCase', null, { proto });
 goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest', null, { proto });
 goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0', null, { proto });
 goog.exportSymbol('proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo', null, { proto });
@@ -2159,6 +2196,132 @@ if (goog.DEBUG && !COMPILED) {
    */
   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.GetIdentityByNonUniquePublicKeyHashRequest = function(opt_data) {
+  jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.oneofGroups_);
+};
+goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest, jspb.Message);
+if (goog.DEBUG && !COMPILED) {
+  /**
+   * @public
+   * @override
+   */
+  proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest';
+}
+/**
+ * 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.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0 = function(opt_data) {
+  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
+};
+goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0, jspb.Message);
+if (goog.DEBUG && !COMPILED) {
+  /**
+   * @public
+   * @override
+   */
+  proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0';
+}
+/**
+ * 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.GetIdentityByNonUniquePublicKeyHashResponse = function(opt_data) {
+  jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.oneofGroups_);
+};
+goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse, jspb.Message);
+if (goog.DEBUG && !COMPILED) {
+  /**
+   * @public
+   * @override
+   */
+  proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse';
+}
+/**
+ * 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.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0 = function(opt_data) {
+  jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.oneofGroups_);
+};
+goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0, jspb.Message);
+if (goog.DEBUG && !COMPILED) {
+  /**
+   * @public
+   * @override
+   */
+  proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0';
+}
+/**
+ * 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.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse = function(opt_data) {
+  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
+};
+goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse, jspb.Message);
+if (goog.DEBUG && !COMPILED) {
+  /**
+   * @public
+   * @override
+   */
+  proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse';
+}
+/**
+ * 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.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse = function(opt_data) {
+  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
+};
+goog.inherits(proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse, jspb.Message);
+if (goog.DEBUG && !COMPILED) {
+  /**
+   * @public
+   * @override
+   */
+  proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse.displayName = 'proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse';
+}
 /**
  * Generated by JsPbCodeGenerator.
  * @param {Array=} opt_data Optional initial data array, typically from a
@@ -2747,6 +2910,153 @@ if (goog.DEBUG && !COMPILED) {
    */
   proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.displayName = 'proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo';
 }
+/**
+ * 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.GetFinalizedEpochInfosRequest = function(opt_data) {
+  jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.oneofGroups_);
+};
+goog.inherits(proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest, jspb.Message);
+if (goog.DEBUG && !COMPILED) {
+  /**
+   * @public
+   * @override
+   */
+  proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.displayName = 'proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest';
+}
+/**
+ * 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.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0 = function(opt_data) {
+  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
+};
+goog.inherits(proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0, jspb.Message);
+if (goog.DEBUG && !COMPILED) {
+  /**
+   * @public
+   * @override
+   */
+  proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0.displayName = 'proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0';
+}
+/**
+ * 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.GetFinalizedEpochInfosResponse = function(opt_data) {
+  jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.oneofGroups_);
+};
+goog.inherits(proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse, jspb.Message);
+if (goog.DEBUG && !COMPILED) {
+  /**
+   * @public
+   * @override
+   */
+  proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.displayName = 'proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse';
+}
+/**
+ * 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.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0 = function(opt_data) {
+  jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.oneofGroups_);
+};
+goog.inherits(proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0, jspb.Message);
+if (goog.DEBUG && !COMPILED) {
+  /**
+   * @public
+   * @override
+   */
+  proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.displayName = 'proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0';
+}
+/**
+ * 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.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos = function(opt_data) {
+  jspb.Message.initialize(this, opt_data, 0, -1, proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos.repeatedFields_, null);
+};
+goog.inherits(proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos, jspb.Message);
+if (goog.DEBUG && !COMPILED) {
+  /**
+   * @public
+   * @override
+   */
+  proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos.displayName = 'proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos';
+}
+/**
+ * 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.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo = function(opt_data) {
+  jspb.Message.initialize(this, opt_data, 0, -1, proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo.repeatedFields_, null);
+};
+goog.inherits(proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo, jspb.Message);
+if (goog.DEBUG && !COMPILED) {
+  /**
+   * @public
+   * @override
+   */
+  proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo.displayName = 'proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo';
+}
+/**
+ * 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.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer = function(opt_data) {
+  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
+};
+goog.inherits(proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer, jspb.Message);
+if (goog.DEBUG && !COMPILED) {
+  /**
+   * @public
+   * @override
+   */
+  proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer.displayName = 'proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer';
+}
 /**
  * Generated by JsPbCodeGenerator.
  * @param {Array=} opt_data Optional initial data array, typically from a
@@ -4868,6 +5178,48 @@ if (goog.DEBUG && !COMPILED) {
    */
   proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses.displayName = 'proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses';
 }
+/**
+ * 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.GetTokenDirectPurchasePricesRequest = function(opt_data) {
+  jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.oneofGroups_);
+};
+goog.inherits(proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest, jspb.Message);
+if (goog.DEBUG && !COMPILED) {
+  /**
+   * @public
+   * @override
+   */
+  proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.displayName = 'proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest';
+}
+/**
+ * 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.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0 = function(opt_data) {
+  jspb.Message.initialize(this, opt_data, 0, -1, proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.repeatedFields_, null);
+};
+goog.inherits(proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0, jspb.Message);
+if (goog.DEBUG && !COMPILED) {
+  /**
+   * @public
+   * @override
+   */
+  proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.displayName = 'proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0';
+}
 /**
  * Generated by JsPbCodeGenerator.
  * @param {Array=} opt_data Optional initial data array, typically from a
@@ -5004,16 +5356,16 @@ if (goog.DEBUG && !COMPILED) {
  * @extends {jspb.Message}
  * @constructor
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest = function(opt_data) {
-  jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.oneofGroups_);
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest = function(opt_data) {
+  jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.oneofGroups_);
 };
-goog.inherits(proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest, jspb.Message);
+goog.inherits(proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest, jspb.Message);
 if (goog.DEBUG && !COMPILED) {
   /**
    * @public
    * @override
    */
-  proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.displayName = 'proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest';
+  proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.displayName = 'proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest';
 }
 /**
  * Generated by JsPbCodeGenerator.
@@ -5025,16 +5377,79 @@ if (goog.DEBUG && !COMPILED) {
  * @extends {jspb.Message}
  * @constructor
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0 = function(opt_data) {
-  jspb.Message.initialize(this, opt_data, 0, -1, proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.repeatedFields_, null);
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0 = function(opt_data) {
+  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
 };
-goog.inherits(proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0, jspb.Message);
+goog.inherits(proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0, jspb.Message);
 if (goog.DEBUG && !COMPILED) {
   /**
    * @public
    * @override
    */
-  proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.displayName = 'proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0';
+  proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0.displayName = 'proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0';
+}
+/**
+ * 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.GetTokenContractInfoResponse = function(opt_data) {
+  jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.oneofGroups_);
+};
+goog.inherits(proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse, jspb.Message);
+if (goog.DEBUG && !COMPILED) {
+  /**
+   * @public
+   * @override
+   */
+  proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.displayName = 'proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse';
+}
+/**
+ * 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.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0 = function(opt_data) {
+  jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.oneofGroups_);
+};
+goog.inherits(proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0, jspb.Message);
+if (goog.DEBUG && !COMPILED) {
+  /**
+   * @public
+   * @override
+   */
+  proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.displayName = 'proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0';
+}
+/**
+ * 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.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData = function(opt_data) {
+  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
+};
+goog.inherits(proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData, jspb.Message);
+if (goog.DEBUG && !COMPILED) {
+  /**
+   * @public
+   * @override
+   */
+  proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData.displayName = 'proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData';
 }
 /**
  * Generated by JsPbCodeGenerator.
@@ -5204,6 +5619,132 @@ if (goog.DEBUG && !COMPILED) {
    */
   proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions.displayName = 'proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions';
 }
+/**
+ * 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.GetTokenPerpetualDistributionLastClaimRequest = function(opt_data) {
+  jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.oneofGroups_);
+};
+goog.inherits(proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest, jspb.Message);
+if (goog.DEBUG && !COMPILED) {
+  /**
+   * @public
+   * @override
+   */
+  proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.displayName = 'proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest';
+}
+/**
+ * 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.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo = function(opt_data) {
+  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
+};
+goog.inherits(proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo, jspb.Message);
+if (goog.DEBUG && !COMPILED) {
+  /**
+   * @public
+   * @override
+   */
+  proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo.displayName = 'proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo';
+}
+/**
+ * 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.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0 = function(opt_data) {
+  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
+};
+goog.inherits(proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0, jspb.Message);
+if (goog.DEBUG && !COMPILED) {
+  /**
+   * @public
+   * @override
+   */
+  proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0.displayName = 'proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0';
+}
+/**
+ * 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.GetTokenPerpetualDistributionLastClaimResponse = function(opt_data) {
+  jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.oneofGroups_);
+};
+goog.inherits(proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse, jspb.Message);
+if (goog.DEBUG && !COMPILED) {
+  /**
+   * @public
+   * @override
+   */
+  proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.displayName = 'proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse';
+}
+/**
+ * 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.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0 = function(opt_data) {
+  jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.oneofGroups_);
+};
+goog.inherits(proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0, jspb.Message);
+if (goog.DEBUG && !COMPILED) {
+  /**
+   * @public
+   * @override
+   */
+  proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.displayName = 'proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0';
+}
+/**
+ * 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.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo = function(opt_data) {
+  jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo.oneofGroups_);
+};
+goog.inherits(proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo, jspb.Message);
+if (goog.DEBUG && !COMPILED) {
+  /**
+   * @public
+   * @override
+   */
+  proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo.displayName = 'proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo';
+}
 /**
  * Generated by JsPbCodeGenerator.
  * @param {Array=} opt_data Optional initial data array, typically from a
@@ -23759,21 +24300,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.GetIdentityByNonUniquePublicKeyHashRequest.oneofGroups_ = [[1]];
 
 /**
  * @enum {number}
  */
-proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.VersionCase = {
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.VersionCase = {
   VERSION_NOT_SET: 0,
   V0: 1
 };
 
 /**
- * @return {proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.VersionCase}
+ * @return {proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.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.GetIdentityByNonUniquePublicKeyHashRequest.prototype.getVersionCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.oneofGroups_[0]));
 };
 
 
@@ -23791,8 +24332,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.GetIdentityByNonUniquePublicKeyHashRequest.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.toObject(opt_includeInstance, this);
 };
 
 
@@ -23801,13 +24342,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.GetIdentityByNonUniquePublicKeyHashRequest} 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.GetIdentityByNonUniquePublicKeyHashRequest.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.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0.toObject(includeInstance, f)
   };
 
   if (includeInstance) {
@@ -23821,23 +24362,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.GetIdentityByNonUniquePublicKeyHashRequest}
  */
-proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.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.GetIdentityByNonUniquePublicKeyHashRequest;
+  return proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.deserializeBinaryFromReader(msg, 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.GetIdentityByNonUniquePublicKeyHashRequest} 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.GetIdentityByNonUniquePublicKeyHashRequest}
  */
-proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -23845,8 +24386,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.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0.deserializeBinaryFromReader);
       msg.setV0(value);
       break;
     default:
@@ -23862,9 +24403,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.GetIdentityByNonUniquePublicKeyHashRequest.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -23872,18 +24413,18 @@ 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.GetIdentityByNonUniquePublicKeyHashRequest} 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.GetIdentityByNonUniquePublicKeyHashRequest.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.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0.serializeBinaryToWriter
     );
   }
 };
@@ -23905,8 +24446,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.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0.toObject(opt_includeInstance, this);
 };
 
 
@@ -23915,14 +24456,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.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0} 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.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0.toObject = function(includeInstance, msg) {
   var f, obj = {
-    stateTransitionHash: msg.getStateTransitionHash_asB64(),
-    prove: jspb.Message.getBooleanFieldWithDefault(msg, 2, false)
+    publicKeyHash: msg.getPublicKeyHash_asB64(),
+    startAfter: msg.getStartAfter_asB64(),
+    prove: jspb.Message.getBooleanFieldWithDefault(msg, 3, false)
   };
 
   if (includeInstance) {
@@ -23936,23 +24478,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.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0}
  */
-proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0.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.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0;
+  return proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0.deserializeBinaryFromReader(msg, 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.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0} 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.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0}
  */
-proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -23961,9 +24503,13 @@ proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForState
     switch (field) {
     case 1:
       var value = /** @type {!Uint8Array} */ (reader.readBytes());
-      msg.setStateTransitionHash(value);
+      msg.setPublicKeyHash(value);
       break;
     case 2:
+      var value = /** @type {!Uint8Array} */ (reader.readBytes());
+      msg.setStartAfter(value);
+      break;
+    case 3:
       var value = /** @type {boolean} */ (reader.readBool());
       msg.setProve(value);
       break;
@@ -23980,9 +24526,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.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0.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.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -23990,23 +24536,30 @@ 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.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0} 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.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getStateTransitionHash_asU8();
+  f = message.getPublicKeyHash_asU8();
   if (f.length > 0) {
     writer.writeBytes(
       1,
       f
     );
   }
+  f = /** @type {!(string|Uint8Array)} */ (jspb.Message.getField(message, 2));
+  if (f != null) {
+    writer.writeBytes(
+      2,
+      f
+    );
+  }
   f = message.getProve();
   if (f) {
     writer.writeBool(
-      2,
+      3,
       f
     );
   }
@@ -24014,89 +24567,149 @@ proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForState
 
 
 /**
- * optional bytes state_transition_hash = 1;
+ * optional bytes public_key_hash = 1;
  * @return {string}
  */
-proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.prototype.getStateTransitionHash = function() {
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0.prototype.getPublicKeyHash = function() {
   return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
 };
 
 
 /**
- * optional bytes state_transition_hash = 1;
- * This is a type-conversion wrapper around `getStateTransitionHash()`
+ * optional bytes public_key_hash = 1;
+ * This is a type-conversion wrapper around `getPublicKeyHash()`
  * @return {string}
  */
-proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.prototype.getStateTransitionHash_asB64 = function() {
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0.prototype.getPublicKeyHash_asB64 = function() {
   return /** @type {string} */ (jspb.Message.bytesAsB64(
-      this.getStateTransitionHash()));
+      this.getPublicKeyHash()));
 };
 
 
 /**
- * optional bytes state_transition_hash = 1;
+ * 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 `getStateTransitionHash()`
+ * This is a type-conversion wrapper around `getPublicKeyHash()`
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.prototype.getStateTransitionHash_asU8 = function() {
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0.prototype.getPublicKeyHash_asU8 = function() {
   return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
-      this.getStateTransitionHash()));
+      this.getPublicKeyHash()));
 };
 
 
 /**
  * @param {!(string|Uint8Array)} value
- * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.prototype.setStateTransitionHash = function(value) {
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0.prototype.setPublicKeyHash = function(value) {
   return jspb.Message.setProto3BytesField(this, 1, value);
 };
 
 
 /**
- * optional bool prove = 2;
+ * optional bytes start_after = 2;
+ * @return {string}
+ */
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0.prototype.getStartAfter = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
+};
+
+
+/**
+ * optional bytes start_after = 2;
+ * This is a type-conversion wrapper around `getStartAfter()`
+ * @return {string}
+ */
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0.prototype.getStartAfter_asB64 = function() {
+  return /** @type {string} */ (jspb.Message.bytesAsB64(
+      this.getStartAfter()));
+};
+
+
+/**
+ * optional bytes start_after = 2;
+ * 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.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0.prototype.getStartAfter_asU8 = function() {
+  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
+      this.getStartAfter()));
+};
+
+
+/**
+ * @param {!(string|Uint8Array)} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0.prototype.setStartAfter = function(value) {
+  return jspb.Message.setField(this, 2, value);
+};
+
+
+/**
+ * Clears the field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0.prototype.clearStartAfter = function() {
+  return jspb.Message.setField(this, 2, undefined);
+};
+
+
+/**
+ * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.prototype.getProve = function() {
-  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0.prototype.hasStartAfter = function() {
+  return jspb.Message.getField(this, 2) != null;
+};
+
+
+/**
+ * optional bool prove = 3;
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0.prototype.getProve = function() {
+  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 3, false));
 };
 
 
 /**
  * @param {boolean} value
- * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.prototype.setProve = function(value) {
-  return jspb.Message.setProto3BooleanField(this, 2, value);
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0.prototype.setProve = function(value) {
+  return jspb.Message.setProto3BooleanField(this, 3, value);
 };
 
 
 /**
- * optional WaitForStateTransitionResultRequestV0 v0 = 1;
- * @return {?proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0}
+ * optional GetIdentityByNonUniquePublicKeyHashRequestV0 v0 = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0}
  */
-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));
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.prototype.getV0 = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0, 1));
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest} returns this
+ * @param {?proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.GetIdentityByNonUniquePublicKeyHashRequestV0|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest} 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);
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.prototype.setV0 = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.oneofGroups_[0], value);
 };
 
 
 /**
  * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest} returns this
  */
-proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.prototype.clearV0 = function() {
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.prototype.clearV0 = function() {
   return this.setV0(undefined);
 };
 
@@ -24105,7 +24718,7 @@ proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.prototype.cl
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.prototype.hasV0 = function() {
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashRequest.prototype.hasV0 = function() {
   return jspb.Message.getField(this, 1) != null;
 };
 
@@ -24119,21 +24732,21 @@ proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.prototype.ha
  * @private {!Array>}
  * @const
  */
-proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.oneofGroups_ = [[1]];
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.oneofGroups_ = [[1]];
 
 /**
  * @enum {number}
  */
-proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.VersionCase = {
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.VersionCase = {
   VERSION_NOT_SET: 0,
   V0: 1
 };
 
 /**
- * @return {proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.VersionCase}
+ * @return {proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.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.GetIdentityByNonUniquePublicKeyHashResponse.prototype.getVersionCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.oneofGroups_[0]));
 };
 
 
@@ -24151,8 +24764,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.GetIdentityByNonUniquePublicKeyHashResponse.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.toObject(opt_includeInstance, this);
 };
 
 
@@ -24161,13 +24774,13 @@ 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.GetIdentityByNonUniquePublicKeyHashResponse} 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.GetIdentityByNonUniquePublicKeyHashResponse.toObject = function(includeInstance, msg) {
   var f, obj = {
-    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.toObject(includeInstance, f)
+    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.toObject(includeInstance, f)
   };
 
   if (includeInstance) {
@@ -24181,23 +24794,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.GetIdentityByNonUniquePublicKeyHashResponse}
  */
-proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.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.GetIdentityByNonUniquePublicKeyHashResponse;
+  return proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.deserializeBinaryFromReader(msg, 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.GetIdentityByNonUniquePublicKeyHashResponse} 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.GetIdentityByNonUniquePublicKeyHashResponse}
  */
-proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -24205,8 +24818,8 @@ 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);
+      var value = new proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.deserializeBinaryFromReader);
       msg.setV0(value);
       break;
     default:
@@ -24222,9 +24835,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.GetIdentityByNonUniquePublicKeyHashResponse.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -24232,18 +24845,18 @@ 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.GetIdentityByNonUniquePublicKeyHashResponse} 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.GetIdentityByNonUniquePublicKeyHashResponse.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
+      proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.serializeBinaryToWriter
     );
   }
 };
@@ -24258,22 +24871,22 @@ proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.serializeBi
  * @private {!Array>}
  * @const
  */
-proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.oneofGroups_ = [[1,2]];
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.oneofGroups_ = [[1,2]];
 
 /**
  * @enum {number}
  */
-proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.ResultCase = {
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.ResultCase = {
   RESULT_NOT_SET: 0,
-  ERROR: 1,
+  IDENTITY: 1,
   PROOF: 2
 };
 
 /**
- * @return {proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.ResultCase}
+ * @return {proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.ResultCase}
  */
-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.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.prototype.getResultCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.oneofGroups_[0]));
 };
 
 
@@ -24291,8 +24904,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.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.toObject(opt_includeInstance, this);
 };
 
 
@@ -24301,14 +24914,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.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0} 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.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.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),
+    identity: (f = msg.getIdentity()) && proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse.toObject(includeInstance, f),
+    proof: (f = msg.getProof()) && proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse.toObject(includeInstance, f),
     metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f)
   };
 
@@ -24323,23 +24936,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.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0}
  */
-proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.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.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0;
+  return proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.deserializeBinaryFromReader(msg, 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.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0} 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.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0}
  */
-proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -24347,13 +24960,13 @@ 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 = new proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse.deserializeBinaryFromReader);
+      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);
+      var value = new proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse.deserializeBinaryFromReader);
       msg.setProof(value);
       break;
     case 3:
@@ -24374,9 +24987,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.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.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.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -24384,18 +24997,18 @@ 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.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0} 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.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getError();
+  f = message.getIdentity();
   if (f != null) {
     writer.writeMessage(
       1,
       f,
-      proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse.serializeBinaryToWriter
     );
   }
   f = message.getProof();
@@ -24403,7 +25016,7 @@ proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStat
     writer.writeMessage(
       2,
       f,
-      proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse.serializeBinaryToWriter
     );
   }
   f = message.getMetadata();
@@ -24417,105 +25030,166 @@ proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStat
 };
 
 
+
+
+
+if (jspb.Message.GENERATE_TO_OBJECT) {
 /**
- * optional StateTransitionBroadcastError error = 1;
- * @return {?proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError}
+ * 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.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.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse.toObject(opt_includeInstance, this);
 };
 
 
 /**
- * @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);
+ * 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.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse} msg The msg instance to transform.
+ * @return {!Object}
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse.toObject = function(includeInstance, msg) {
+  var f, obj = {
+    identity: msg.getIdentity_asB64()
+  };
+
+  if (includeInstance) {
+    obj.$jspbMessageInstance = msg;
+  }
+  return obj;
 };
+}
 
 
 /**
- * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} returns this
+ * Deserializes binary data (in protobuf wire format).
+ * @param {jspb.ByteSource} bytes The bytes to deserialize.
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse}
  */
-proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.clearError = function() {
-  return this.setError(undefined);
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse.deserializeBinary = function(bytes) {
+  var reader = new jspb.BinaryReader(bytes);
+  var msg = new proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse;
+  return proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse.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.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse} msg The message object to deserialize into.
+ * @param {!jspb.BinaryReader} reader The BinaryReader to use.
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse}
  */
-proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.hasError = function() {
-  return jspb.Message.getField(this, 1) != null;
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse.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;
+    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.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));
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse.prototype.serializeBinary = function() {
+  var writer = new jspb.BinaryWriter();
+  proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse.serializeBinaryToWriter(this, writer);
+  return writer.getResultBuffer();
 };
 
 
 /**
- * @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.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.setProof = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.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.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse} message
+ * @param {!jspb.BinaryWriter} writer
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse.serializeBinaryToWriter = function(message, writer) {
+  var f = undefined;
+  f = /** @type {!(string|Uint8Array)} */ (jspb.Message.getField(message, 1));
+  if (f != null) {
+    writer.writeBytes(
+      1,
+      f
+    );
+  }
 };
 
 
 /**
- * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} returns this
+ * optional bytes identity = 1;
+ * @return {string}
  */
-proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.clearProof = function() {
-  return this.setProof(undefined);
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse.prototype.getIdentity = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
 };
 
 
 /**
- * Returns whether this field is set.
- * @return {boolean}
+ * optional bytes identity = 1;
+ * This is a type-conversion wrapper around `getIdentity()`
+ * @return {string}
  */
-proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.hasProof = function() {
-  return jspb.Message.getField(this, 2) != null;
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse.prototype.getIdentity_asB64 = function() {
+  return /** @type {string} */ (jspb.Message.bytesAsB64(
+      this.getIdentity()));
 };
 
 
 /**
- * optional ResponseMetadata metadata = 3;
- * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata}
+ * 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.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));
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse.prototype.getIdentity_asU8 = function() {
+  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
+      this.getIdentity()));
 };
 
 
 /**
- * @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);
+ * @param {!(string|Uint8Array)} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse.prototype.setIdentity = function(value) {
+  return jspb.Message.setField(this, 1, value);
 };
 
 
 /**
- * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} returns this
+ * Clears the field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse} returns this
  */
-proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.clearMetadata = function() {
-  return this.setMetadata(undefined);
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse.prototype.clearIdentity = function() {
+  return jspb.Message.setField(this, 1, undefined);
 };
 
 
@@ -24523,35 +25197,369 @@ 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() {
-  return jspb.Message.getField(this, 3) != null;
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse.prototype.hasIdentity = function() {
+  return jspb.Message.getField(this, 1) != null;
 };
 
 
+
+
+
+if (jspb.Message.GENERATE_TO_OBJECT) {
 /**
- * optional WaitForStateTransitionResultResponseV0 v0 = 1;
- * @return {?proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0}
+ * 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.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.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse.toObject(opt_includeInstance, this);
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse} 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.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse} msg The msg instance to transform.
+ * @return {!Object}
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse.toObject = function(includeInstance, msg) {
+  var f, obj = {
+    grovedbIdentityPublicKeyHashProof: (f = msg.getGrovedbIdentityPublicKeyHashProof()) && proto.org.dash.platform.dapi.v0.Proof.toObject(includeInstance, f),
+    identityProofBytes: msg.getIdentityProofBytes_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.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse}
+ */
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse.deserializeBinary = function(bytes) {
+  var reader = new jspb.BinaryReader(bytes);
+  var msg = new proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse;
+  return proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse.deserializeBinaryFromReader(msg, reader);
+};
+
+
+/**
+ * Deserializes binary data (in protobuf wire format) from the
+ * given reader into the given message object.
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse} msg The message object to deserialize into.
+ * @param {!jspb.BinaryReader} reader The BinaryReader to use.
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse}
+ */
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse.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.setGrovedbIdentityPublicKeyHashProof(value);
+      break;
+    case 2:
+      var value = /** @type {!Uint8Array} */ (reader.readBytes());
+      msg.setIdentityProofBytes(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.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse.prototype.serializeBinary = function() {
+  var writer = new jspb.BinaryWriter();
+  proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse.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.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse} message
+ * @param {!jspb.BinaryWriter} writer
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse.serializeBinaryToWriter = function(message, writer) {
+  var f = undefined;
+  f = message.getGrovedbIdentityPublicKeyHashProof();
+  if (f != null) {
+    writer.writeMessage(
+      1,
+      f,
+      proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter
+    );
+  }
+  f = /** @type {!(string|Uint8Array)} */ (jspb.Message.getField(message, 2));
+  if (f != null) {
+    writer.writeBytes(
+      2,
+      f
+    );
+  }
+};
+
+
+/**
+ * optional Proof grovedb_identity_public_key_hash_proof = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.Proof}
+ */
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse.prototype.getGrovedbIdentityPublicKeyHashProof = 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.Proof|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse} 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.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse.prototype.setGrovedbIdentityPublicKeyHashProof = function(value) {
+  return jspb.Message.setWrapperField(this, 1, 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.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse} returns this
  */
-proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.prototype.clearV0 = function() {
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse.prototype.clearGrovedbIdentityPublicKeyHashProof = function() {
+  return this.setGrovedbIdentityPublicKeyHashProof(undefined);
+};
+
+
+/**
+ * Returns whether this field is set.
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse.prototype.hasGrovedbIdentityPublicKeyHashProof = function() {
+  return jspb.Message.getField(this, 1) != null;
+};
+
+
+/**
+ * optional bytes identity_proof_bytes = 2;
+ * @return {string}
+ */
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse.prototype.getIdentityProofBytes = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
+};
+
+
+/**
+ * optional bytes identity_proof_bytes = 2;
+ * This is a type-conversion wrapper around `getIdentityProofBytes()`
+ * @return {string}
+ */
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse.prototype.getIdentityProofBytes_asB64 = function() {
+  return /** @type {string} */ (jspb.Message.bytesAsB64(
+      this.getIdentityProofBytes()));
+};
+
+
+/**
+ * optional bytes identity_proof_bytes = 2;
+ * Note that Uint8Array is not supported on all browsers.
+ * @see http://caniuse.com/Uint8Array
+ * This is a type-conversion wrapper around `getIdentityProofBytes()`
+ * @return {!Uint8Array}
+ */
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse.prototype.getIdentityProofBytes_asU8 = function() {
+  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
+      this.getIdentityProofBytes()));
+};
+
+
+/**
+ * @param {!(string|Uint8Array)} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse.prototype.setIdentityProofBytes = function(value) {
+  return jspb.Message.setField(this, 2, value);
+};
+
+
+/**
+ * Clears the field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse.prototype.clearIdentityProofBytes = function() {
+  return jspb.Message.setField(this, 2, undefined);
+};
+
+
+/**
+ * Returns whether this field is set.
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse.prototype.hasIdentityProofBytes = function() {
+  return jspb.Message.getField(this, 2) != null;
+};
+
+
+/**
+ * optional IdentityResponse identity = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse}
+ */
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.prototype.getIdentity = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse, 1));
+};
+
+
+/**
+ * @param {?proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityResponse|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.prototype.setIdentity = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.oneofGroups_[0], value);
+};
+
+
+/**
+ * Clears the message field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.prototype.clearIdentity = function() {
+  return this.setIdentity(undefined);
+};
+
+
+/**
+ * Returns whether this field is set.
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.prototype.hasIdentity = function() {
+  return jspb.Message.getField(this, 1) != null;
+};
+
+
+/**
+ * optional IdentityProvedResponse proof = 2;
+ * @return {?proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse}
+ */
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.prototype.getProof = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse, 2));
+};
+
+
+/**
+ * @param {?proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.IdentityProvedResponse|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.prototype.setProof = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.oneofGroups_[0], value);
+};
+
+
+/**
+ * Clears the message field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.prototype.clearProof = function() {
+  return this.setProof(undefined);
+};
+
+
+/**
+ * Returns whether this field is set.
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.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.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.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.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.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.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.prototype.clearMetadata = function() {
+  return this.setMetadata(undefined);
+};
+
+
+/**
+ * Returns whether this field is set.
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0.prototype.hasMetadata = function() {
+  return jspb.Message.getField(this, 3) != null;
+};
+
+
+/**
+ * optional GetIdentityByNonUniquePublicKeyHashResponseV0 v0 = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0}
+ */
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.prototype.getV0 = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0, 1));
+};
+
+
+/**
+ * @param {?proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.GetIdentityByNonUniquePublicKeyHashResponseV0|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.prototype.setV0 = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.oneofGroups_[0], value);
+};
+
+
+/**
+ * Clears the message field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetIdentityByNonUniquePublicKeyHashResponse.prototype.clearV0 = function() {
   return this.setV0(undefined);
 };
 
@@ -24560,7 +25568,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.GetIdentityByNonUniquePublicKeyHashResponse.prototype.hasV0 = function() {
   return jspb.Message.getField(this, 1) != null;
 };
 
@@ -24574,21 +25582,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.WaitForStateTransitionResultRequest.oneofGroups_ = [[1]];
 
 /**
  * @enum {number}
  */
-proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.VersionCase = {
+proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.VersionCase = {
   VERSION_NOT_SET: 0,
   V0: 1
 };
 
 /**
- * @return {proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.VersionCase}
+ * @return {proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.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.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]));
 };
 
 
@@ -24606,8 +25614,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.WaitForStateTransitionResultRequest.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.toObject(opt_includeInstance, this);
 };
 
 
@@ -24616,13 +25624,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.WaitForStateTransitionResultRequest} 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.WaitForStateTransitionResultRequest.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.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.toObject(includeInstance, f)
   };
 
   if (includeInstance) {
@@ -24636,23 +25644,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.WaitForStateTransitionResultRequest}
  */
-proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.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.GetConsensusParamsRequest;
-  return proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.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.GetConsensusParamsRequest} 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.GetConsensusParamsRequest}
+ * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest}
  */
-proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -24660,8 +25668,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.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.deserializeBinaryFromReader);
       msg.setV0(value);
       break;
     default:
@@ -24677,9 +25685,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.WaitForStateTransitionResultRequest.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -24687,18 +25695,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.WaitForStateTransitionResultRequest} 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.WaitForStateTransitionResultRequest.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.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.serializeBinaryToWriter
     );
   }
 };
@@ -24720,8 +25728,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.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.toObject(opt_includeInstance, this);
 };
 
 
@@ -24730,13 +25738,13 @@ 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.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.GetConsensusParamsRequest.GetConsensusParamsRequestV0.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.toObject = function(includeInstance, msg) {
   var f, obj = {
-    height: jspb.Message.getFieldWithDefault(msg, 1, 0),
+    stateTransitionHash: msg.getStateTransitionHash_asB64(),
     prove: jspb.Message.getBooleanFieldWithDefault(msg, 2, false)
   };
 
@@ -24751,23 +25759,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.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0}
  */
-proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.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.GetConsensusParamsRequest.GetConsensusParamsRequestV0;
-  return proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.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.GetConsensusParamsRequest.GetConsensusParamsRequestV0} 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.GetConsensusParamsRequest.GetConsensusParamsRequestV0}
+ * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0}
  */
-proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -24775,8 +25783,8 @@ 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 = /** @type {!Uint8Array} */ (reader.readBytes());
+      msg.setStateTransitionHash(value);
       break;
     case 2:
       var value = /** @type {boolean} */ (reader.readBool());
@@ -24795,9 +25803,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.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.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.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -24805,15 +25813,15 @@ 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.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0} 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.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getHeight();
-  if (f !== 0) {
-    writer.writeInt32(
+  f = message.getStateTransitionHash_asU8();
+  if (f.length > 0) {
+    writer.writeBytes(
       1,
       f
     );
@@ -24829,20 +25837,44 @@ proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequ
 
 
 /**
- * optional int32 height = 1;
- * @return {number}
+ * optional bytes state_transition_hash = 1;
+ * @return {string}
  */
-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.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.prototype.getStateTransitionHash = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
 };
 
 
 /**
- * @param {number} value
- * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0} returns this
+ * optional bytes state_transition_hash = 1;
+ * This is a type-conversion wrapper around `getStateTransitionHash()`
+ * @return {string}
  */
-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.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);
 };
 
 
@@ -24850,44 +25882,44 @@ proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequ
  * optional bool prove = 2;
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.prototype.getProve = function() {
+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.GetConsensusParamsRequest.GetConsensusParamsRequestV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.prototype.setProve = function(value) {
+proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0.prototype.setProve = function(value) {
   return jspb.Message.setProto3BooleanField(this, 2, value);
 };
 
 
 /**
- * optional GetConsensusParamsRequestV0 v0 = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0}
+ * optional WaitForStateTransitionResultRequestV0 v0 = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.WaitForStateTransitionResultRequestV0}
  */
-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.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.GetConsensusParamsRequest.GetConsensusParamsRequestV0|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest} 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.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.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.GetConsensusParamsRequest} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest} returns this
  */
-proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.prototype.clearV0 = function() {
+proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultRequest.prototype.clearV0 = function() {
   return this.setV0(undefined);
 };
 
@@ -24896,7 +25928,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.WaitForStateTransitionResultRequest.prototype.hasV0 = function() {
   return jspb.Message.getField(this, 1) != null;
 };
 
@@ -24910,21 +25942,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.WaitForStateTransitionResultResponse.oneofGroups_ = [[1]];
 
 /**
  * @enum {number}
  */
-proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.VersionCase = {
+proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.VersionCase = {
   VERSION_NOT_SET: 0,
   V0: 1
 };
 
 /**
- * @return {proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.VersionCase}
+ * @return {proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.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.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]));
 };
 
 
@@ -24942,8 +25974,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.WaitForStateTransitionResultResponse.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.toObject(opt_includeInstance, this);
 };
 
 
@@ -24952,13 +25984,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.WaitForStateTransitionResultResponse} 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.WaitForStateTransitionResultResponse.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.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.toObject(includeInstance, f)
   };
 
   if (includeInstance) {
@@ -24972,23 +26004,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.WaitForStateTransitionResultResponse}
  */
-proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.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.GetConsensusParamsResponse;
-  return proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.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.GetConsensusParamsResponse} 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.GetConsensusParamsResponse}
+ * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse}
  */
-proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -24996,8 +26028,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.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.deserializeBinaryFromReader);
       msg.setV0(value);
       break;
     default:
@@ -25013,9 +26045,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.WaitForStateTransitionResultResponse.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -25023,24 +26055,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.WaitForStateTransitionResultResponse} 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.WaitForStateTransitionResultResponse.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.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.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.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.oneofGroups_ = [[1,2]];
+
+/**
+ * @enum {number}
+ */
+proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.ResultCase = {
+  RESULT_NOT_SET: 0,
+  ERROR: 1,
+  PROOF: 2
+};
+
+/**
+ * @return {proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.ResultCase}
+ */
+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]));
+};
+
 
 
 if (jspb.Message.GENERATE_TO_OBJECT) {
@@ -25056,8 +26114,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.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.toObject(opt_includeInstance, this);
 };
 
 
@@ -25066,15 +26124,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.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.GetConsensusParamsResponse.ConsensusParamsBlock.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.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, "")
+    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) {
@@ -25088,23 +26146,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.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0}
  */
-proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.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.GetConsensusParamsResponse.ConsensusParamsBlock;
-  return proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.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.GetConsensusParamsResponse.ConsensusParamsBlock} 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.GetConsensusParamsResponse.ConsensusParamsBlock}
+ * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0}
  */
-proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -25112,16 +26170,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.StateTransitionBroadcastError;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.deserializeBinaryFromReader);
+      msg.setError(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();
@@ -25136,9 +26197,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.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.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.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -25146,91 +26207,213 @@ 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.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} 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.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getMaxBytes();
-  if (f.length > 0) {
-    writer.writeString(
+  f = message.getError();
+  if (f != null) {
+    writer.writeMessage(
       1,
-      f
+      f,
+      proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError.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}
+ * optional StateTransitionBroadcastError error = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.StateTransitionBroadcastError}
  */
-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.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} value
- * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock} returns this
+ * @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 message field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} returns this
  */
-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.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.clearError = function() {
+  return this.setError(undefined);
 };
 
 
 /**
- * optional string max_gas = 2;
- * @return {string}
+ * Returns whether this field is set.
+ * @return {boolean}
  */
-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.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.hasError = function() {
+  return jspb.Message.getField(this, 1) != null;
 };
 
 
 /**
- * @param {string} value
- * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock} returns this
+ * optional Proof proof = 2;
+ * @return {?proto.org.dash.platform.dapi.v0.Proof}
  */
-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.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));
 };
 
 
 /**
- * optional string time_iota_ms = 3;
- * @return {string}
+ * @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.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.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0} returns this
  */
-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.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.prototype.clearProof = function() {
+  return this.setProof(undefined);
 };
 
 
 /**
- * @param {string} value
- * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock} returns this
+ * Returns whether this field is set.
+ * @return {boolean}
  */
-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.WaitForStateTransitionResultResponse.WaitForStateTransitionResultResponseV0.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.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));
+};
+
+
+/**
+ * @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);
+};
+
+
+/**
+ * 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.GetConsensusParamsRequest.VersionCase = {
+  VERSION_NOT_SET: 0,
+  V0: 1
+};
+
+/**
+ * @return {proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.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]));
+};
+
 
 
 if (jspb.Message.GENERATE_TO_OBJECT) {
@@ -25246,8 +26429,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.GetConsensusParamsRequest.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.toObject(opt_includeInstance, this);
 };
 
 
@@ -25256,15 +26439,13 @@ 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.GetConsensusParamsRequest} 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.GetConsensusParamsRequest.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, "")
+    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.toObject(includeInstance, f)
   };
 
   if (includeInstance) {
@@ -25278,23 +26459,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.GetConsensusParamsRequest}
  */
-proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.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.GetConsensusParamsResponse.ConsensusParamsEvidence;
-  return proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.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.GetConsensusParamsResponse.ConsensusParamsEvidence} 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.GetConsensusParamsResponse.ConsensusParamsEvidence}
+ * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest}
  */
-proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -25302,16 +26483,9 @@ 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);
-      break;
-    case 2:
-      var value = /** @type {string} */ (reader.readString());
-      msg.setMaxAgeDuration(value);
-      break;
-    case 3:
-      var value = /** @type {string} */ (reader.readString());
-      msg.setMaxBytes(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();
@@ -25326,9 +26500,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.GetConsensusParamsRequest.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.GetConsensusParamsRequest.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -25336,90 +26510,23 @@ 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.GetConsensusParamsRequest} 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.GetConsensusParamsRequest.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getMaxAgeNumBlocks();
-  if (f.length > 0) {
-    writer.writeString(
+  f = message.getV0();
+  if (f != null) {
+    writer.writeMessage(
       1,
-      f
-    );
-  }
-  f = message.getMaxAgeDuration();
-  if (f.length > 0) {
-    writer.writeString(
-      2,
-      f
-    );
-  }
-  f = message.getMaxBytes();
-  if (f.length > 0) {
-    writer.writeString(
-      3,
-      f
+      f,
+      proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.serializeBinaryToWriter
     );
   }
 };
 
 
-/**
- * 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, ""));
-};
-
-
-/**
- * @param {string} value
- * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence} returns this
- */
-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);
-};
-
-
 
 
 
@@ -25436,8 +26543,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-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.GetConsensusParamsRequest.GetConsensusParamsRequestV0.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.toObject(opt_includeInstance, this);
 };
 
 
@@ -25446,14 +26553,14 @@ proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsRes
  * @param {boolean|undefined} includeInstance 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.
+ * @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.GetConsensusParamsResponse.GetConsensusParamsResponseV0.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.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)
+    height: jspb.Message.getFieldWithDefault(msg, 1, 0),
+    prove: jspb.Message.getBooleanFieldWithDefault(msg, 2, false)
   };
 
   if (includeInstance) {
@@ -25467,23 +26574,23 @@ proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsRes
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0}
  */
-proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.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.GetConsensusParamsResponse.GetConsensusParamsResponseV0;
-  return proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.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.GetConsensusParamsResponse.GetConsensusParamsResponseV0} 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.GetConsensusParamsResponse.GetConsensusParamsResponseV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0}
  */
-proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -25491,14 +26598,12 @@ proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsRes
     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);
+      var value = /** @type {number} */ (reader.readInt32());
+      msg.setHeight(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);
+      var value = /** @type {boolean} */ (reader.readBool());
+      msg.setProve(value);
       break;
     default:
       reader.skipField();
@@ -25513,9 +26618,9 @@ proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsRes
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.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.GetConsensusParamsResponse.GetConsensusParamsResponseV0.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -25523,93 +26628,90 @@ proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsRes
 /**
  * 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 {!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.GetConsensusParamsResponse.GetConsensusParamsResponseV0.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getBlock();
-  if (f != null) {
-    writer.writeMessage(
+  f = message.getHeight();
+  if (f !== 0) {
+    writer.writeInt32(
       1,
-      f,
-      proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.serializeBinaryToWriter
+      f
     );
   }
-  f = message.getEvidence();
-  if (f != null) {
-    writer.writeMessage(
+  f = message.getProve();
+  if (f) {
+    writer.writeBool(
       2,
-      f,
-      proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.serializeBinaryToWriter
+      f
     );
   }
 };
 
 
 /**
- * optional ConsensusParamsBlock block = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock}
+ * optional int32 height = 1;
+ * @return {number}
  */
-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.GetConsensusParamsRequest.GetConsensusParamsRequestV0.prototype.getHeight = function() {
+  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
 };
 
 
 /**
- * @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);
+ * @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.GetConsensusParamsResponse.GetConsensusParamsResponseV0} returns this
+ * optional bool prove = 2;
+ * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.prototype.clearBlock = function() {
-  return this.setBlock(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.GetConsensusParamsResponse.GetConsensusParamsResponseV0.prototype.hasBlock = 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 ConsensusParamsEvidence evidence = 2;
- * @return {?proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence}
+ * optional GetConsensusParamsRequestV0 v0 = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.GetConsensusParamsRequestV0}
  */
-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.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.GetConsensusParamsResponse.ConsensusParamsEvidence|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0} 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.GetConsensusParamsResponse.GetConsensusParamsResponseV0.prototype.setEvidence = function(value) {
-  return jspb.Message.setWrapperField(this, 2, 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.GetConsensusParamsResponse.GetConsensusParamsResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest} returns this
  */
-proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.prototype.clearEvidence = function() {
-  return this.setEvidence(undefined);
+proto.org.dash.platform.dapi.v0.GetConsensusParamsRequest.prototype.clearV0 = function() {
+  return this.setV0(undefined);
 };
 
 
@@ -25617,72 +26719,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.GetConsensusParamsRequest.prototype.hasV0 = function() {
+  return jspb.Message.getField(this, 1) != null;
 };
 
 
+
 /**
- * optional GetConsensusParamsResponseV0 v0 = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0}
+ * 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.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.GetConsensusParamsResponse.oneofGroups_ = [[1]];
 
+/**
+ * @enum {number}
+ */
+proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.VersionCase = {
+  VERSION_NOT_SET: 0,
+  V0: 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;
-};
-
-
-
-/**
- * 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.GetProtocolVersionUpgradeStateRequest.oneofGroups_ = [[1]];
-
-/**
- * @enum {number}
- */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.VersionCase = {
-  VERSION_NOT_SET: 0,
-  V0: 1
-};
-
-/**
- * @return {proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.VersionCase}
+ * @return {proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.VersionCase}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.prototype.getVersionCase = function() {
-  return /** @type {proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.oneofGroups_[0]));
+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]));
 };
 
 
@@ -25700,8 +26765,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.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);
 };
 
 
@@ -25710,13 +26775,13 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.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.GetProtocolVersionUpgradeStateRequest} 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.GetProtocolVersionUpgradeStateRequest.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.toObject = function(includeInstance, msg) {
   var f, obj = {
-    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.toObject(includeInstance, f)
+    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.toObject(includeInstance, f)
   };
 
   if (includeInstance) {
@@ -25730,23 +26795,23 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.toObject =
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest}
+ * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.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.GetProtocolVersionUpgradeStateRequest;
-  return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.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.GetProtocolVersionUpgradeStateRequest} 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.GetProtocolVersionUpgradeStateRequest}
+ * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -25754,8 +26819,8 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.deserializ
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.deserializeBinaryFromReader);
+      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:
@@ -25771,9 +26836,9 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.deserializ
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -25781,18 +26846,18 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.prototype.
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest} 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.GetProtocolVersionUpgradeStateRequest.serializeBinaryToWriter = function(message, writer) {
+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.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.serializeBinaryToWriter
     );
   }
 };
@@ -25814,8 +26879,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.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);
 };
 
 
@@ -25824,13 +26889,15 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtoco
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0} 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.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.toObject = function(includeInstance, msg) {
   var f, obj = {
-    prove: jspb.Message.getBooleanFieldWithDefault(msg, 1, false)
+    maxBytes: jspb.Message.getFieldWithDefault(msg, 1, ""),
+    maxGas: jspb.Message.getFieldWithDefault(msg, 2, ""),
+    timeIotaMs: jspb.Message.getFieldWithDefault(msg, 3, "")
   };
 
   if (includeInstance) {
@@ -25844,23 +26911,23 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtoco
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.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.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0;
-  return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.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.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0} 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.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -25868,8 +26935,16 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtoco
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = /** @type {boolean} */ (reader.readBool());
-      msg.setProve(value);
+      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();
@@ -25884,9 +26959,9 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtoco
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.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.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -25894,102 +26969,90 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtoco
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0} 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.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getProve();
-  if (f) {
-    writer.writeBool(
+  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 bool prove = 1;
- * @return {boolean}
+ * optional string max_bytes = 1;
+ * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.prototype.getProve = function() {
-  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 1, false));
+proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.prototype.getMaxBytes = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
 };
 
 
 /**
- * @param {boolean} value
- * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0} returns this
+ * @param {string} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock} returns this
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.prototype.setProve = function(value) {
-  return jspb.Message.setProto3BooleanField(this, 1, value);
+proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.prototype.setMaxBytes = function(value) {
+  return jspb.Message.setProto3StringField(this, 1, value);
 };
 
 
 /**
- * optional GetProtocolVersionUpgradeStateRequestV0 v0 = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0}
+ * optional string max_gas = 2;
+ * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.prototype.getV0 = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0, 1));
-};
-
-
-/**
- * @param {?proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest} returns this
-*/
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.prototype.setV0 = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.oneofGroups_[0], value);
+proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.prototype.getMaxGas = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
 };
 
 
 /**
- * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest} returns this
+ * @param {string} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock} returns this
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.prototype.clearV0 = function() {
-  return this.setV0(undefined);
+proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.prototype.setMaxGas = function(value) {
+  return jspb.Message.setProto3StringField(this, 2, value);
 };
 
 
 /**
- * Returns whether this field is set.
- * @return {boolean}
+ * optional string time_iota_ms = 3;
+ * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.prototype.hasV0 = function() {
-  return jspb.Message.getField(this, 1) != null;
+proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.prototype.getTimeIotaMs = 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.GetProtocolVersionUpgradeStateResponse.oneofGroups_ = [[1]];
-
 /**
- * @enum {number}
+ * @param {string} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock} returns this
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.VersionCase = {
-  VERSION_NOT_SET: 0,
-  V0: 1
+proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.prototype.setTimeIotaMs = function(value) {
+  return jspb.Message.setProto3StringField(this, 3, value);
 };
 
-/**
- * @return {proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.VersionCase}
- */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.prototype.getVersionCase = function() {
-  return /** @type {proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.oneofGroups_[0]));
-};
+
 
 
 
@@ -26006,8 +27069,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.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);
 };
 
 
@@ -26016,13 +27079,15 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.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.GetProtocolVersionUpgradeStateResponse} 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.GetProtocolVersionUpgradeStateResponse.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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.toObject(includeInstance, f)
+    maxAgeNumBlocks: jspb.Message.getFieldWithDefault(msg, 1, ""),
+    maxAgeDuration: jspb.Message.getFieldWithDefault(msg, 2, ""),
+    maxBytes: jspb.Message.getFieldWithDefault(msg, 3, "")
   };
 
   if (includeInstance) {
@@ -26036,23 +27101,23 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.toObject
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse}
+ * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.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.GetProtocolVersionUpgradeStateResponse;
-  return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.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.GetProtocolVersionUpgradeStateResponse} 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.GetProtocolVersionUpgradeStateResponse}
+ * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -26060,9 +27125,16 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.deseriali
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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();
@@ -26077,9 +27149,9 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.deseriali
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.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.GetProtocolVersionUpgradeStateResponse.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -26087,52 +27159,93 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.prototype
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse} 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.GetProtocolVersionUpgradeStateResponse.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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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, ""));
+};
+
 
 /**
- * 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
+ * @param {string} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence} returns this
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.oneofGroups_ = [[1,2]];
+proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.prototype.setMaxAgeNumBlocks = function(value) {
+  return jspb.Message.setProto3StringField(this, 1, value);
+};
+
 
 /**
- * @enum {number}
+ * optional string max_age_duration = 2;
+ * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.ResultCase = {
-  RESULT_NOT_SET: 0,
-  VERSIONS: 1,
-  PROOF: 2
+proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.prototype.getMaxAgeDuration = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
 };
 
+
 /**
- * @return {proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.ResultCase}
+ * @param {string} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence} returns this
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.prototype.getResultCase = function() {
-  return /** @type {proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.oneofGroups_[0]));
+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);
 };
 
 
 
+
+
 if (jspb.Message.GENERATE_TO_OBJECT) {
 /**
  * Creates an object representation of this proto.
@@ -26146,8 +27259,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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);
 };
 
 
@@ -26156,15 +27269,14 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtoc
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0} 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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.toObject = function(includeInstance, msg) {
   var f, obj = {
-    versions: (f = msg.getVersions()) && proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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)
+    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) {
@@ -26178,23 +27290,23 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtoc
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0;
-  return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0} 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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -26202,19 +27314,14 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtoc
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.deserializeBinaryFromReader);
-      msg.setVersions(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 = 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.GetConsensusParamsResponse.ConsensusParamsEvidence;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence.deserializeBinaryFromReader);
+      msg.setEvidence(value);
       break;
     default:
       reader.skipField();
@@ -26229,9 +27336,9 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtoc
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -26239,199 +27346,167 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtoc
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0} 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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getVersions();
+  f = message.getBlock();
   if (f != null) {
     writer.writeMessage(
       1,
       f,
-      proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock.serializeBinaryToWriter
     );
   }
-  f = message.getProof();
+  f = message.getEvidence();
   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.GetConsensusParamsResponse.ConsensusParamsEvidence.serializeBinaryToWriter
     );
   }
 };
 
 
-
 /**
- * List of repeated fields within this message type.
- * @private {!Array}
- * @const
+ * optional ConsensusParamsBlock block = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsBlock}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.repeatedFields_ = [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.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);
+};
+
 
-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.GetConsensusParamsResponse.GetConsensusParamsResponseV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.prototype.clearBlock = function() {
+  return this.setBlock(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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions} 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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.toObject = function(includeInstance, msg) {
-  var f, obj = {
-    versionsList: jspb.Message.toObjectList(msg.getVersionsList(),
-    proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.toObject, includeInstance)
-  };
-
-  if (includeInstance) {
-    obj.$jspbMessageInstance = msg;
-  }
-  return obj;
+proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.prototype.hasBlock = 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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions}
+ * optional ConsensusParamsEvidence evidence = 2;
+ * @return {?proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.ConsensusParamsEvidence}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.deserializeBinary = function(bytes) {
-  var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions;
-  return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.deserializeBinaryFromReader(msg, reader);
+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));
 };
 
 
 /**
- * Deserializes binary data (in protobuf wire format) from the
- * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions} msg The message object to deserialize into.
- * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions}
+ * @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);
+};
+
+
+/**
+ * Clears the message field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.deserializeBinaryFromReader);
-      msg.addVersions(value);
-      break;
-    default:
-      reader.skipField();
-      break;
-    }
-  }
-  return msg;
+proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.prototype.clearEvidence = function() {
+  return this.setEvidence(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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.prototype.serializeBinary = function() {
-  var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.serializeBinaryToWriter(this, writer);
-  return writer.getResultBuffer();
+proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0.prototype.hasEvidence = function() {
+  return jspb.Message.getField(this, 2) != null;
 };
 
 
 /**
- * Serializes the given message to binary data (in protobuf wire
- * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions} message
- * @param {!jspb.BinaryWriter} writer
- * @suppress {unusedLocalVariables} f is only used for nested messages
+ * optional GetConsensusParamsResponseV0 v0 = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.GetConsensusParamsResponseV0}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.serializeBinaryToWriter = function(message, writer) {
-  var f = undefined;
-  f = message.getVersionsList();
-  if (f.length > 0) {
-    writer.writeRepeatedMessage(
-      1,
-      f,
-      proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.serializeBinaryToWriter
-    );
-  }
+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));
 };
 
 
 /**
- * repeated VersionEntry versions = 1;
- * @return {!Array}
- */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.prototype.getVersionsList = function() {
-  return /** @type{!Array} */ (
-    jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry, 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);
 };
 
 
 /**
- * @param {!Array} value
- * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions} returns this
-*/
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.prototype.setVersionsList = function(value) {
-  return jspb.Message.setRepeatedWrapperField(this, 1, 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);
 };
 
 
 /**
- * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry=} opt_value
- * @param {number=} opt_index
- * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry}
+ * Returns whether this field is set.
+ * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.prototype.addVersions = function(opt_value, opt_index) {
-  return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry, opt_index);
+proto.org.dash.platform.dapi.v0.GetConsensusParamsResponse.prototype.hasV0 = function() {
+  return jspb.Message.getField(this, 1) != null;
 };
 
 
+
 /**
- * Clears the list making it empty but non-null.
- * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions} 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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.prototype.clearVersionsList = function() {
-  return this.setVersionsList([]);
-};
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.oneofGroups_ = [[1]];
 
+/**
+ * @enum {number}
+ */
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.VersionCase = {
+  VERSION_NOT_SET: 0,
+  V0: 1
+};
 
+/**
+ * @return {proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.VersionCase}
+ */
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.prototype.getVersionCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.oneofGroups_[0]));
+};
 
 
 
@@ -26448,8 +27523,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.toObject(opt_includeInstance, this);
 };
 
 
@@ -26458,14 +27533,13 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtoc
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.toObject = function(includeInstance, msg) {
   var f, obj = {
-    versionNumber: jspb.Message.getFieldWithDefault(msg, 1, 0),
-    voteCount: jspb.Message.getFieldWithDefault(msg, 2, 0)
+    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.toObject(includeInstance, f)
   };
 
   if (includeInstance) {
@@ -26479,23 +27553,23 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtoc
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry}
+ * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry;
-  return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest;
+  return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry}
+ * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -26503,12 +27577,9 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtoc
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = /** @type {number} */ (reader.readUint32());
-      msg.setVersionNumber(value);
-      break;
-    case 2:
-      var value = /** @type {number} */ (reader.readUint32());
-      msg.setVoteCount(value);
+      var value = new proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.deserializeBinaryFromReader);
+      msg.setV0(value);
       break;
     default:
       reader.skipField();
@@ -26523,9 +27594,9 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtoc
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -26533,200 +27604,177 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtoc
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getVersionNumber();
-  if (f !== 0) {
-    writer.writeUint32(
+  f = message.getV0();
+  if (f != null) {
+    writer.writeMessage(
       1,
-      f
-    );
-  }
-  f = message.getVoteCount();
-  if (f !== 0) {
-    writer.writeUint32(
-      2,
-      f
+      f,
+      proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.serializeBinaryToWriter
     );
   }
 };
 
 
-/**
- * optional uint32 version_number = 1;
- * @return {number}
- */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.prototype.getVersionNumber = function() {
-  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
-};
-
-
-/**
- * @param {number} value
- * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry} returns this
- */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.prototype.setVersionNumber = function(value) {
-  return jspb.Message.setProto3IntField(this, 1, value);
-};
-
 
-/**
- * optional uint32 vote_count = 2;
- * @return {number}
- */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.prototype.getVoteCount = function() {
-  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
-};
 
 
+if (jspb.Message.GENERATE_TO_OBJECT) {
 /**
- * @param {number} value
- * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry} 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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.prototype.setVoteCount = function(value) {
-  return jspb.Message.setProto3IntField(this, 2, value);
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.toObject(opt_includeInstance, this);
 };
 
 
 /**
- * optional Versions versions = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions}
+ * 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.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0} msg The msg instance to transform.
+ * @return {!Object}
+ * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.prototype.getVersions = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions, 1));
-};
-
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.toObject = function(includeInstance, msg) {
+  var f, obj = {
+    prove: jspb.Message.getBooleanFieldWithDefault(msg, 1, false)
+  };
 
-/**
- * @param {?proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0} returns this
-*/
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.prototype.setVersions = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.oneofGroups_[0], value);
+  if (includeInstance) {
+    obj.$jspbMessageInstance = msg;
+  }
+  return obj;
 };
+}
 
 
 /**
- * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0} returns this
+ * Deserializes binary data (in protobuf wire format).
+ * @param {jspb.ByteSource} bytes The bytes to deserialize.
+ * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.prototype.clearVersions = function() {
-  return this.setVersions(undefined);
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.deserializeBinary = function(bytes) {
+  var reader = new jspb.BinaryReader(bytes);
+  var msg = new proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0;
+  return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.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.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0} msg The message object to deserialize into.
+ * @param {!jspb.BinaryReader} reader The BinaryReader to use.
+ * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.prototype.hasVersions = function() {
-  return jspb.Message.getField(this, 1) != null;
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.deserializeBinaryFromReader = function(msg, reader) {
+  while (reader.nextField()) {
+    if (reader.isEndGroup()) {
+      break;
+    }
+    var field = reader.getFieldNumber();
+    switch (field) {
+    case 1:
+      var value = /** @type {boolean} */ (reader.readBool());
+      msg.setProve(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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0} returns this
-*/
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.prototype.setProof = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.oneofGroups_[0], value);
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.prototype.serializeBinary = function() {
+  var writer = new jspb.BinaryWriter();
+  proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.serializeBinaryToWriter(this, writer);
+  return writer.getResultBuffer();
 };
 
 
 /**
- * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0} 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.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0} message
+ * @param {!jspb.BinaryWriter} writer
+ * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.prototype.clearProof = function() {
-  return this.setProof(undefined);
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.serializeBinaryToWriter = function(message, writer) {
+  var f = undefined;
+  f = message.getProve();
+  if (f) {
+    writer.writeBool(
+      1,
+      f
+    );
+  }
 };
 
 
 /**
- * Returns whether this field is set.
+ * optional bool prove = 1;
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0} returns this
-*/
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0} returns this
- */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.prototype.clearMetadata = function() {
-  return this.setMetadata(undefined);
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.prototype.getProve = function() {
+  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 1, false));
 };
 
 
 /**
- * Returns whether this field is set.
- * @return {boolean}
+ * @param {boolean} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.prototype.hasMetadata = function() {
-  return jspb.Message.getField(this, 3) != null;
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0.prototype.setProve = function(value) {
+  return jspb.Message.setProto3BooleanField(this, 1, value);
 };
 
 
 /**
- * optional GetProtocolVersionUpgradeStateResponseV0 v0 = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0}
+ * optional GetProtocolVersionUpgradeStateRequestV0 v0 = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.prototype.getV0 = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0, 1));
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.prototype.getV0 = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0, 1));
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse} returns this
+ * @param {?proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.GetProtocolVersionUpgradeStateRequestV0|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest} returns this
 */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.prototype.setV0 = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.oneofGroups_[0], value);
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.prototype.setV0 = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.oneofGroups_[0], value);
 };
 
 
 /**
  * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest} returns this
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.prototype.clearV0 = function() {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.prototype.clearV0 = function() {
   return this.setV0(undefined);
 };
 
@@ -26735,7 +27783,7 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.prototype
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.prototype.hasV0 = function() {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateRequest.prototype.hasV0 = function() {
   return jspb.Message.getField(this, 1) != null;
 };
 
@@ -26749,21 +27797,21 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.prototype
  * @private {!Array>}
  * @const
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.oneofGroups_ = [[1]];
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.oneofGroups_ = [[1]];
 
 /**
  * @enum {number}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.VersionCase = {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.VersionCase = {
   VERSION_NOT_SET: 0,
   V0: 1
 };
 
 /**
- * @return {proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.VersionCase}
+ * @return {proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.VersionCase}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.prototype.getVersionCase = function() {
-  return /** @type {proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.oneofGroups_[0]));
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.prototype.getVersionCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.oneofGroups_[0]));
 };
 
 
@@ -26781,8 +27829,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.toObject(opt_includeInstance, this);
 };
 
 
@@ -26791,13 +27839,13 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.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.GetProtocolVersionUpgradeVoteStatusRequest} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.toObject = function(includeInstance, msg) {
   var f, obj = {
-    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.toObject(includeInstance, f)
+    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.toObject(includeInstance, f)
   };
 
   if (includeInstance) {
@@ -26811,23 +27859,23 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.toObj
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest}
+ * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest;
-  return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse;
+  return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest}
+ * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -26835,8 +27883,8 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.deser
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.deserializeBinaryFromReader);
+      var value = new proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.deserializeBinaryFromReader);
       msg.setV0(value);
       break;
     default:
@@ -26852,9 +27900,9 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.deser
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -26862,24 +27910,50 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.proto
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
   f = message.getV0();
   if (f != null) {
     writer.writeMessage(
       1,
       f,
-      proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.oneofGroups_ = [[1,2]];
+
+/**
+ * @enum {number}
+ */
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.ResultCase = {
+  RESULT_NOT_SET: 0,
+  VERSIONS: 1,
+  PROOF: 2
+};
+
+/**
+ * @return {proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.ResultCase}
+ */
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.prototype.getResultCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.oneofGroups_[0]));
+};
+
 
 
 if (jspb.Message.GENERATE_TO_OBJECT) {
@@ -26895,8 +27969,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.toObject(opt_includeInstance, this);
 };
 
 
@@ -26905,15 +27979,15 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetPr
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.toObject = function(includeInstance, msg) {
   var f, obj = {
-    startProTxHash: msg.getStartProTxHash_asB64(),
-    count: jspb.Message.getFieldWithDefault(msg, 2, 0),
-    prove: jspb.Message.getBooleanFieldWithDefault(msg, 3, false)
+    versions: (f = msg.getVersions()) && proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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)
   };
 
   if (includeInstance) {
@@ -26927,23 +28001,23 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetPr
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0;
-  return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0;
+  return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -26951,16 +28025,19 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetPr
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = /** @type {!Uint8Array} */ (reader.readBytes());
-      msg.setStartProTxHash(value);
+      var value = new proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.deserializeBinaryFromReader);
+      msg.setVersions(value);
       break;
     case 2:
-      var value = /** @type {number} */ (reader.readUint32());
-      msg.setCount(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 {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();
@@ -26975,9 +28052,9 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetPr
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -26985,176 +28062,46 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetPr
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getStartProTxHash_asU8();
-  if (f.length > 0) {
-    writer.writeBytes(
+  f = message.getVersions();
+  if (f != null) {
+    writer.writeMessage(
       1,
-      f
+      f,
+      proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.serializeBinaryToWriter
     );
   }
-  f = message.getCount();
-  if (f !== 0) {
-    writer.writeUint32(
-      2,
-      f
+  f = message.getProof();
+  if (f != null) {
+    writer.writeMessage(
+      2,
+      f,
+      proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter
     );
   }
-  f = message.getProve();
-  if (f) {
-    writer.writeBool(
+  f = message.getMetadata();
+  if (f != null) {
+    writer.writeMessage(
       3,
-      f
+      f,
+      proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter
     );
   }
 };
 
 
-/**
- * optional bytes start_pro_tx_hash = 1;
- * @return {string}
- */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.prototype.getStartProTxHash = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
-};
-
-
-/**
- * optional bytes start_pro_tx_hash = 1;
- * This is a type-conversion wrapper around `getStartProTxHash()`
- * @return {string}
- */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.prototype.getStartProTxHash_asB64 = function() {
-  return /** @type {string} */ (jspb.Message.bytesAsB64(
-      this.getStartProTxHash()));
-};
-
-
-/**
- * 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 `getStartProTxHash()`
- * @return {!Uint8Array}
- */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.prototype.getStartProTxHash_asU8 = function() {
-  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
-      this.getStartProTxHash()));
-};
-
-
-/**
- * @param {!(string|Uint8Array)} value
- * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0} returns this
- */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.prototype.setStartProTxHash = function(value) {
-  return jspb.Message.setProto3BytesField(this, 1, value);
-};
-
-
-/**
- * optional uint32 count = 2;
- * @return {number}
- */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.prototype.getCount = function() {
-  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
-};
-
-
-/**
- * @param {number} value
- * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0} returns this
- */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.prototype.setCount = function(value) {
-  return jspb.Message.setProto3IntField(this, 2, value);
-};
-
-
-/**
- * optional bool prove = 3;
- * @return {boolean}
- */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.prototype.getProve = function() {
-  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 3, false));
-};
-
-
-/**
- * @param {boolean} value
- * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0} returns this
- */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.prototype.setProve = function(value) {
-  return jspb.Message.setProto3BooleanField(this, 3, value);
-};
-
-
-/**
- * optional GetProtocolVersionUpgradeVoteStatusRequestV0 v0 = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0}
- */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.prototype.getV0 = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0, 1));
-};
-
-
-/**
- * @param {?proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest} returns this
-*/
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.prototype.setV0 = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.oneofGroups_[0], value);
-};
-
-
-/**
- * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest} returns this
- */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.prototype.clearV0 = function() {
-  return this.setV0(undefined);
-};
-
-
-/**
- * Returns whether this field is set.
- * @return {boolean}
- */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.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.GetProtocolVersionUpgradeVoteStatusResponse.oneofGroups_ = [[1]];
-
-/**
- * @enum {number}
- */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.VersionCase = {
-  VERSION_NOT_SET: 0,
-  V0: 1
-};
-
-/**
- * @return {proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.VersionCase}
- */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.prototype.getVersionCase = function() {
-  return /** @type {proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.oneofGroups_[0]));
-};
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.repeatedFields_ = [1];
 
 
 
@@ -27171,8 +28118,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.toObject(opt_includeInstance, this);
 };
 
 
@@ -27181,13 +28128,14 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.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.GetProtocolVersionUpgradeVoteStatusResponse} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.toObject = function(includeInstance, msg) {
   var f, obj = {
-    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.toObject(includeInstance, f)
+    versionsList: jspb.Message.toObjectList(msg.getVersionsList(),
+    proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.toObject, includeInstance)
   };
 
   if (includeInstance) {
@@ -27201,23 +28149,23 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.toOb
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse}
+ * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse;
-  return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions;
+  return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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.GetProtocolVersionUpgradeVoteStatusResponse} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse}
+ * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -27225,9 +28173,9 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.dese
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.deserializeBinaryFromReader);
-      msg.setV0(value);
+      var value = new proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.deserializeBinaryFromReader);
+      msg.addVersions(value);
       break;
     default:
       reader.skipField();
@@ -27242,9 +28190,9 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.dese
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -27252,52 +28200,64 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.prot
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.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 VersionEntry versions = 1;
+ * @return {!Array}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.oneofGroups_ = [[1,2]];
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.prototype.getVersionsList = function() {
+  return /** @type{!Array} */ (
+    jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry, 1));
+};
+
 
 /**
- * @enum {number}
+ * @param {!Array} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.prototype.setVersionsList = function(value) {
+  return jspb.Message.setRepeatedWrapperField(this, 1, value);
+};
+
+
+/**
+ * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry=} opt_value
+ * @param {number=} opt_index
+ * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.ResultCase = {
-  RESULT_NOT_SET: 0,
-  VERSIONS: 1,
-  PROOF: 2
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.prototype.addVersions = function(opt_value, opt_index) {
+  return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry, opt_index);
 };
 
+
 /**
- * @return {proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.ResultCase}
+ * Clears the list making it empty but non-null.
+ * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions} returns this
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.prototype.getResultCase = function() {
-  return /** @type {proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.oneofGroups_[0]));
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions.prototype.clearVersionsList = function() {
+  return this.setVersionsList([]);
 };
 
 
 
+
+
 if (jspb.Message.GENERATE_TO_OBJECT) {
 /**
  * Creates an object representation of this proto.
@@ -27311,8 +28271,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.toObject(opt_includeInstance, this);
 };
 
 
@@ -27321,15 +28281,14 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetP
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.toObject = function(includeInstance, msg) {
   var f, obj = {
-    versions: (f = msg.getVersions()) && proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.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)
+    versionNumber: jspb.Message.getFieldWithDefault(msg, 1, 0),
+    voteCount: jspb.Message.getFieldWithDefault(msg, 2, 0)
   };
 
   if (includeInstance) {
@@ -27343,23 +28302,23 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetP
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0;
-  return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry;
+  return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -27367,19 +28326,12 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetP
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.deserializeBinaryFromReader);
-      msg.setVersions(value);
+      var value = /** @type {number} */ (reader.readUint32());
+      msg.setVersionNumber(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.setVoteCount(value);
       break;
     default:
       reader.skipField();
@@ -27394,9 +28346,9 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetP
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -27404,481 +28356,163 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetP
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getVersions();
-  if (f != null) {
-    writer.writeMessage(
+  f = message.getVersionNumber();
+  if (f !== 0) {
+    writer.writeUint32(
       1,
-      f,
-      proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.serializeBinaryToWriter
+      f
     );
   }
-  f = message.getProof();
-  if (f != null) {
-    writer.writeMessage(
+  f = message.getVoteCount();
+  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
     );
   }
 };
 
 
-
 /**
- * List of repeated fields within this message type.
- * @private {!Array}
- * @const
+ * optional uint32 version_number = 1;
+ * @return {number}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.repeatedFields_ = [1];
-
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.prototype.getVersionNumber = function() {
+  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry} returns this
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.prototype.setVersionNumber = function(value) {
+  return jspb.Message.setProto3IntField(this, 1, 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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals} msg The msg instance to transform.
- * @return {!Object}
- * @suppress {unusedLocalVariables} f is only used for nested messages
+ * optional uint32 vote_count = 2;
+ * @return {number}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.toObject = function(includeInstance, msg) {
-  var f, obj = {
-    versionSignalsList: jspb.Message.toObjectList(msg.getVersionSignalsList(),
-    proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.toObject, includeInstance)
-  };
-
-  if (includeInstance) {
-    obj.$jspbMessageInstance = msg;
-  }
-  return obj;
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.prototype.getVoteCount = function() {
+  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
 };
-}
 
 
 /**
- * Deserializes binary data (in protobuf wire format).
- * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals}
+ * @param {number} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry} returns this
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.deserializeBinary = function(bytes) {
-  var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals;
-  return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.deserializeBinaryFromReader(msg, reader);
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.VersionEntry.prototype.setVoteCount = function(value) {
+  return jspb.Message.setProto3IntField(this, 2, value);
 };
 
 
 /**
- * Deserializes binary data (in protobuf wire format) from the
- * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals} msg The message object to deserialize into.
- * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals}
+ * optional Versions versions = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.deserializeBinaryFromReader);
-      msg.addVersionSignals(value);
-      break;
-    default:
-      reader.skipField();
-      break;
-    }
-  }
-  return msg;
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.prototype.getVersions = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions, 1));
 };
 
 
 /**
- * Serializes the message to binary data (in protobuf wire format).
- * @return {!Uint8Array}
+ * @param {?proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.Versions|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.prototype.setVersions = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.oneofGroups_[0], value);
+};
+
+
+/**
+ * Clears the message field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.prototype.serializeBinary = function() {
-  var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.serializeBinaryToWriter(this, writer);
-  return writer.getResultBuffer();
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.prototype.clearVersions = function() {
+  return this.setVersions(undefined);
 };
 
 
 /**
- * Serializes the given message to binary data (in protobuf wire
- * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals} 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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.serializeBinaryToWriter = function(message, writer) {
-  var f = undefined;
-  f = message.getVersionSignalsList();
-  if (f.length > 0) {
-    writer.writeRepeatedMessage(
-      1,
-      f,
-      proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.serializeBinaryToWriter
-    );
-  }
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.prototype.hasVersions = function() {
+  return jspb.Message.getField(this, 1) != null;
 };
 
 
 /**
- * repeated VersionSignal version_signals = 1;
- * @return {!Array}
+ * optional Proof proof = 2;
+ * @return {?proto.org.dash.platform.dapi.v0.Proof}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.prototype.getVersionSignalsList = function() {
-  return /** @type{!Array} */ (
-    jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal, 1));
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals} returns this
+ * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0} returns this
 */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.prototype.setVersionSignalsList = function(value) {
-  return jspb.Message.setRepeatedWrapperField(this, 1, value);
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.prototype.setProof = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.oneofGroups_[0], value);
 };
 
 
 /**
- * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal=} opt_value
- * @param {number=} opt_index
- * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal}
+ * Clears the message field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.prototype.addVersionSignals = function(opt_value, opt_index) {
-  return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal, opt_index);
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.prototype.clearProof = function() {
+  return this.setProof(undefined);
 };
 
 
 /**
- * Clears the list making it empty but non-null.
- * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals} returns this
+ * Returns whether this field is set.
+ * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.prototype.clearVersionSignalsList = function() {
-  return this.setVersionSignalsList([]);
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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 (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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal} msg The msg instance to transform.
- * @return {!Object}
- * @suppress {unusedLocalVariables} f is only used for nested messages
- */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.toObject = function(includeInstance, msg) {
-  var f, obj = {
-    proTxHash: msg.getProTxHash_asB64(),
-    version: jspb.Message.getFieldWithDefault(msg, 2, 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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal}
- */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.deserializeBinary = function(bytes) {
-  var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal;
-  return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal} msg The message object to deserialize into.
- * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal}
- */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.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.setProTxHash(value);
-      break;
-    case 2:
-      var value = /** @type {number} */ (reader.readUint32());
-      msg.setVersion(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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.prototype.serializeBinary = function() {
-  var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal} message
- * @param {!jspb.BinaryWriter} writer
- * @suppress {unusedLocalVariables} f is only used for nested messages
- */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.serializeBinaryToWriter = function(message, writer) {
-  var f = undefined;
-  f = message.getProTxHash_asU8();
-  if (f.length > 0) {
-    writer.writeBytes(
-      1,
-      f
-    );
-  }
-  f = message.getVersion();
-  if (f !== 0) {
-    writer.writeUint32(
-      2,
-      f
-    );
-  }
-};
-
-
-/**
- * optional bytes pro_tx_hash = 1;
- * @return {string}
- */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.prototype.getProTxHash = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
-};
-
-
-/**
- * optional bytes pro_tx_hash = 1;
- * This is a type-conversion wrapper around `getProTxHash()`
- * @return {string}
- */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.prototype.getProTxHash_asU8 = function() {
-  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
-      this.getProTxHash()));
-};
-
-
-/**
- * @param {!(string|Uint8Array)} value
- * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal} returns this
- */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.prototype.setProTxHash = function(value) {
-  return jspb.Message.setProto3BytesField(this, 1, value);
-};
-
-
-/**
- * optional uint32 version = 2;
- * @return {number}
- */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.prototype.getVersion = function() {
-  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
-};
-
-
-/**
- * @param {number} value
- * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal} returns this
- */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.prototype.setVersion = function(value) {
-  return jspb.Message.setProto3IntField(this, 2, value);
-};
-
-
-/**
- * optional VersionSignals versions = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals}
- */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.prototype.getVersions = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals, 1));
-};
-
-
-/**
- * @param {?proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0} returns this
-*/
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.prototype.setVersions = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.oneofGroups_[0], value);
-};
-
-
-/**
- * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0} returns this
- */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.prototype.clearVersions = function() {
-  return this.setVersions(undefined);
-};
-
-
-/**
- * Returns whether this field is set.
- * @return {boolean}
- */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0} returns this
-*/
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.prototype.setProof = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.oneofGroups_[0], value);
-};
-
-
-/**
- * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0} returns this
- */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.prototype.clearProof = function() {
-  return this.setProof(undefined);
-};
-
-
-/**
- * Returns whether this field is set.
- * @return {boolean}
- */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0} returns this
-*/
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.prototype.setMetadata = function(value) {
-  return jspb.Message.setWrapperField(this, 3, value);
+ * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.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.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.prototype.clearMetadata = function() {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.prototype.clearMetadata = function() {
   return this.setMetadata(undefined);
 };
 
@@ -27887,35 +28521,35 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetP
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.prototype.hasMetadata = function() {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0.prototype.hasMetadata = function() {
   return jspb.Message.getField(this, 3) != null;
 };
 
 
 /**
- * optional GetProtocolVersionUpgradeVoteStatusResponseV0 v0 = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0}
+ * optional GetProtocolVersionUpgradeStateResponseV0 v0 = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.prototype.getV0 = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0, 1));
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.prototype.getV0 = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0, 1));
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse} returns this
+ * @param {?proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.GetProtocolVersionUpgradeStateResponseV0|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse} returns this
 */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.prototype.setV0 = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.oneofGroups_[0], value);
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.prototype.setV0 = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.oneofGroups_[0], value);
 };
 
 
 /**
  * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse} returns this
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.prototype.clearV0 = function() {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.prototype.clearV0 = function() {
   return this.setV0(undefined);
 };
 
@@ -27924,7 +28558,7 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.prot
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.prototype.hasV0 = function() {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeStateResponse.prototype.hasV0 = function() {
   return jspb.Message.getField(this, 1) != null;
 };
 
@@ -27938,21 +28572,21 @@ proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.prot
  * @private {!Array>}
  * @const
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.oneofGroups_ = [[1]];
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.oneofGroups_ = [[1]];
 
 /**
  * @enum {number}
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.VersionCase = {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.VersionCase = {
   VERSION_NOT_SET: 0,
   V0: 1
 };
 
 /**
- * @return {proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.VersionCase}
+ * @return {proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.VersionCase}
  */
-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]));
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.prototype.getVersionCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.oneofGroups_[0]));
 };
 
 
@@ -27970,8 +28604,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.toObject(opt_includeInstance, this);
 };
 
 
@@ -27980,13 +28614,13 @@ proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.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.GetEpochsInfoRequest} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.toObject = function(includeInstance, msg) {
   var f, obj = {
-    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.toObject(includeInstance, f)
+    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.toObject(includeInstance, f)
   };
 
   if (includeInstance) {
@@ -28000,23 +28634,23 @@ proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.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.GetEpochsInfoRequest}
+ * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest}
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest;
-  return proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest;
+  return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest}
+ * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest}
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -28024,8 +28658,8 @@ proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.deserializeBinaryFromReader
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.deserializeBinaryFromReader);
+      var value = new proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.deserializeBinaryFromReader);
       msg.setV0(value);
       break;
     default:
@@ -28041,9 +28675,9 @@ proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.deserializeBinaryFromReader
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -28051,18 +28685,18 @@ proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.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.GetEpochsInfoRequest} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
   f = message.getV0();
   if (f != null) {
     writer.writeMessage(
       1,
       f,
-      proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.serializeBinaryToWriter
     );
   }
 };
@@ -28084,8 +28718,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-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);
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.toObject(opt_includeInstance, this);
 };
 
 
@@ -28094,16 +28728,15 @@ proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.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.GetEpochsInfoRequest.GetEpochsInfoRequestV0} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.toObject = function(includeInstance, msg) {
   var f, obj = {
-    startEpoch: (f = msg.getStartEpoch()) && google_protobuf_wrappers_pb.UInt32Value.toObject(includeInstance, f),
+    startProTxHash: msg.getStartProTxHash_asB64(),
     count: jspb.Message.getFieldWithDefault(msg, 2, 0),
-    ascending: jspb.Message.getBooleanFieldWithDefault(msg, 3, false),
-    prove: jspb.Message.getBooleanFieldWithDefault(msg, 4, false)
+    prove: jspb.Message.getBooleanFieldWithDefault(msg, 3, false)
   };
 
   if (includeInstance) {
@@ -28117,23 +28750,23 @@ proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.toOb
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0}
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0;
-  return proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0;
+  return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0}
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -28141,19 +28774,14 @@ proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.dese
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new google_protobuf_wrappers_pb.UInt32Value;
-      reader.readMessage(value,google_protobuf_wrappers_pb.UInt32Value.deserializeBinaryFromReader);
-      msg.setStartEpoch(value);
+      var value = /** @type {!Uint8Array} */ (reader.readBytes());
+      msg.setStartProTxHash(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;
@@ -28170,9 +28798,9 @@ proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.dese
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -28180,18 +28808,17 @@ proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.prot
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getStartEpoch();
-  if (f != null) {
-    writer.writeMessage(
+  f = message.getStartProTxHash_asU8();
+  if (f.length > 0) {
+    writer.writeBytes(
       1,
-      f,
-      google_protobuf_wrappers_pb.UInt32Value.serializeBinaryToWriter
+      f
     );
   }
   f = message.getCount();
@@ -28201,17 +28828,10 @@ proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.seri
       f
     );
   }
-  f = message.getAscending();
-  if (f) {
-    writer.writeBool(
-      3,
-      f
-    );
-  }
   f = message.getProve();
   if (f) {
     writer.writeBool(
-      4,
+      3,
       f
     );
   }
@@ -28219,39 +28839,44 @@ proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.seri
 
 
 /**
- * optional google.protobuf.UInt32Value start_epoch = 1;
- * @return {?proto.google.protobuf.UInt32Value}
+ * optional bytes start_pro_tx_hash = 1;
+ * @return {string}
  */
-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));
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.prototype.getStartProTxHash = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 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);
+ * optional bytes start_pro_tx_hash = 1;
+ * This is a type-conversion wrapper around `getStartProTxHash()`
+ * @return {string}
+ */
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.prototype.getStartProTxHash_asB64 = function() {
+  return /** @type {string} */ (jspb.Message.bytesAsB64(
+      this.getStartProTxHash()));
 };
 
 
 /**
- * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0} returns this
+ * 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 `getStartProTxHash()`
+ * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.prototype.clearStartEpoch = function() {
-  return this.setStartEpoch(undefined);
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.prototype.getStartProTxHash_asU8 = function() {
+  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
+      this.getStartProTxHash()));
 };
 
 
 /**
- * Returns whether this field is set.
- * @return {boolean}
+ * @param {!(string|Uint8Array)} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.prototype.hasStartEpoch = function() {
-  return jspb.Message.getField(this, 1) != null;
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.prototype.setStartProTxHash = function(value) {
+  return jspb.Message.setProto3BytesField(this, 1, value);
 };
 
 
@@ -28259,80 +28884,62 @@ proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.prot
  * optional uint32 count = 2;
  * @return {number}
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.prototype.getCount = function() {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.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
+ * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.prototype.setCount = function(value) {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.prototype.setCount = function(value) {
   return jspb.Message.setProto3IntField(this, 2, value);
 };
 
 
 /**
- * optional bool ascending = 3;
+ * optional bool prove = 3;
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.prototype.getAscending = function() {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.prototype.getProve = function() {
   return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 3, false));
 };
 
 
 /**
  * @param {boolean} value
- * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.prototype.setAscending = function(value) {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0.prototype.setProve = function(value) {
   return jspb.Message.setProto3BooleanField(this, 3, value);
 };
 
 
 /**
- * optional bool prove = 4;
- * @return {boolean}
- */
-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.GetEpochsInfoRequest.GetEpochsInfoRequestV0} returns this
- */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.prototype.setProve = function(value) {
-  return jspb.Message.setProto3BooleanField(this, 4, value);
-};
-
-
-/**
- * optional GetEpochsInfoRequestV0 v0 = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0}
+ * optional GetProtocolVersionUpgradeVoteStatusRequestV0 v0 = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0}
  */
-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));
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.prototype.getV0 = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0, 1));
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest} returns this
+ * @param {?proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.GetProtocolVersionUpgradeVoteStatusRequestV0|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest} returns this
 */
-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);
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.prototype.setV0 = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.oneofGroups_[0], value);
 };
 
 
 /**
  * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest} returns this
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.prototype.clearV0 = function() {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.prototype.clearV0 = function() {
   return this.setV0(undefined);
 };
 
@@ -28341,7 +28948,7 @@ proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.prototype.clearV0 = functio
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.prototype.hasV0 = function() {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusRequest.prototype.hasV0 = function() {
   return jspb.Message.getField(this, 1) != null;
 };
 
@@ -28355,21 +28962,21 @@ proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.prototype.hasV0 = function(
  * @private {!Array>}
  * @const
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.oneofGroups_ = [[1]];
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.oneofGroups_ = [[1]];
 
 /**
  * @enum {number}
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.VersionCase = {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.VersionCase = {
   VERSION_NOT_SET: 0,
   V0: 1
 };
 
 /**
- * @return {proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.VersionCase}
+ * @return {proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.VersionCase}
  */
-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]));
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.prototype.getVersionCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.oneofGroups_[0]));
 };
 
 
@@ -28387,8 +28994,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.toObject(opt_includeInstance, this);
 };
 
 
@@ -28397,13 +29004,13 @@ proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.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.GetEpochsInfoResponse} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.toObject = function(includeInstance, msg) {
   var f, obj = {
-    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.toObject(includeInstance, f)
+    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.toObject(includeInstance, f)
   };
 
   if (includeInstance) {
@@ -28417,23 +29024,23 @@ proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.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.GetEpochsInfoResponse}
+ * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse}
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse;
-  return proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse;
+  return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse}
+ * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse}
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -28441,8 +29048,8 @@ proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.deserializeBinaryFromReade
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.deserializeBinaryFromReader);
+      var value = new proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.deserializeBinaryFromReader);
       msg.setV0(value);
       break;
     default:
@@ -28458,9 +29065,9 @@ proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.deserializeBinaryFromReade
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -28468,18 +29075,18 @@ proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.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.GetEpochsInfoResponse} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
   f = message.getV0();
   if (f != null) {
     writer.writeMessage(
       1,
       f,
-      proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.serializeBinaryToWriter
     );
   }
 };
@@ -28494,22 +29101,22 @@ proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.serializeBinaryToWriter =
  * @private {!Array>}
  * @const
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.oneofGroups_ = [[1,2]];
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.oneofGroups_ = [[1,2]];
 
 /**
  * @enum {number}
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.ResultCase = {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.ResultCase = {
   RESULT_NOT_SET: 0,
-  EPOCHS: 1,
+  VERSIONS: 1,
   PROOF: 2
 };
 
 /**
- * @return {proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.ResultCase}
+ * @return {proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.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]));
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.prototype.getResultCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.oneofGroups_[0]));
 };
 
 
@@ -28527,8 +29134,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-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);
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.toObject(opt_includeInstance, this);
 };
 
 
@@ -28537,13 +29144,13 @@ proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.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.GetEpochsInfoResponse.GetEpochsInfoResponseV0} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.toObject = function(includeInstance, msg) {
   var f, obj = {
-    epochs: (f = msg.getEpochs()) && proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.toObject(includeInstance, f),
+    versions: (f = msg.getVersions()) && proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.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)
   };
@@ -28559,23 +29166,23 @@ proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.to
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0}
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0;
-  return proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0;
+  return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * 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} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0}
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -28583,9 +29190,9 @@ proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.de
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      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);
+      var value = new proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.deserializeBinaryFromReader);
+      msg.setVersions(value);
       break;
     case 2:
       var value = new proto.org.dash.platform.dapi.v0.Proof;
@@ -28610,9 +29217,9 @@ proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.de
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -28620,18 +29227,18 @@ proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.pr
 /**
  * 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} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getEpochs();
+  f = message.getVersions();
   if (f != null) {
     writer.writeMessage(
       1,
       f,
-      proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.serializeBinaryToWriter
     );
   }
   f = message.getProof();
@@ -28659,7 +29266,7 @@ proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.se
  * @private {!Array}
  * @const
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.repeatedFields_ = [1];
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.repeatedFields_ = [1];
 
 
 
@@ -28676,8 +29283,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     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);
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.toObject(opt_includeInstance, this);
 };
 
 
@@ -28686,14 +29293,14 @@ proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.Ep
  * @param {boolean|undefined} includeInstance 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.
+ * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.toObject = function(includeInstance, msg) {
   var f, obj = {
-    epochInfosList: jspb.Message.toObjectList(msg.getEpochInfosList(),
-    proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.toObject, includeInstance)
+    versionSignalsList: jspb.Message.toObjectList(msg.getVersionSignalsList(),
+    proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.toObject, includeInstance)
   };
 
   if (includeInstance) {
@@ -28707,23 +29314,23 @@ proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.Ep
 /**
  * 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}
+ * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals}
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.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);
+  var msg = new proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals;
+  return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.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.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals} 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}
+ * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals}
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -28731,9 +29338,9 @@ proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.Ep
     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);
+      var value = new proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.deserializeBinaryFromReader);
+      msg.addVersionSignals(value);
       break;
     default:
       reader.skipField();
@@ -28748,9 +29355,9 @@ proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.Ep
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -28758,58 +29365,58 @@ proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.Ep
 /**
  * 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 {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getEpochInfosList();
+  f = message.getVersionSignalsList();
   if (f.length > 0) {
     writer.writeRepeatedMessage(
       1,
       f,
-      proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.serializeBinaryToWriter
     );
   }
 };
 
 
 /**
- * repeated EpochInfo epoch_infos = 1;
- * @return {!Array}
+ * repeated VersionSignal version_signals = 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));
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.prototype.getVersionSignalsList = function() {
+  return /** @type{!Array} */ (
+    jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal, 1));
 };
 
 
 /**
- * @param {!Array} value
- * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos} returns this
+ * @param {!Array} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals} returns this
 */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.prototype.setEpochInfosList = function(value) {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.prototype.setVersionSignalsList = function(value) {
   return jspb.Message.setRepeatedWrapperField(this, 1, value);
 };
 
 
 /**
- * @param {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo=} opt_value
+ * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal=} opt_value
  * @param {number=} opt_index
- * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo}
+ * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal}
  */
-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);
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.prototype.addVersionSignals = function(opt_value, opt_index) {
+  return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal, opt_index);
 };
 
 
 /**
  * Clears the list making it empty but non-null.
- * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals} returns this
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.prototype.clearEpochInfosList = function() {
-  return this.setEpochInfosList([]);
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals.prototype.clearVersionSignalsList = function() {
+  return this.setVersionSignalsList([]);
 };
 
 
@@ -28829,8 +29436,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-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);
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.toObject(opt_includeInstance, this);
 };
 
 
@@ -28839,18 +29446,14 @@ proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.Ep
  * @param {boolean|undefined} includeInstance 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.EpochInfo} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.toObject = function(includeInstance, msg) {
   var f, obj = {
-    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),
-    protocolVersion: jspb.Message.getFieldWithDefault(msg, 6, 0)
+    proTxHash: msg.getProTxHash_asB64(),
+    version: jspb.Message.getFieldWithDefault(msg, 2, 0)
   };
 
   if (includeInstance) {
@@ -28864,23 +29467,23 @@ proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.Ep
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo}
+ * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal}
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  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);
+  var msg = new proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal;
+  return proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.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.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo}
+ * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal}
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -28888,28 +29491,12 @@ proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.Ep
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = /** @type {number} */ (reader.readUint32());
-      msg.setNumber(value);
+      var value = /** @type {!Uint8Array} */ (reader.readBytes());
+      msg.setProTxHash(value);
       break;
     case 2:
-      var value = /** @type {string} */ (reader.readUint64String());
-      msg.setFirstBlockHeight(value);
-      break;
-    case 3:
-      var value = /** @type {number} */ (reader.readUint32());
-      msg.setFirstCoreBlockHeight(value);
-      break;
-    case 4:
-      var value = /** @type {string} */ (reader.readUint64String());
-      msg.setStartTime(value);
-      break;
-    case 5:
-      var value = /** @type {number} */ (reader.readDouble());
-      msg.setFeeMultiplier(value);
-      break;
-    case 6:
       var value = /** @type {number} */ (reader.readUint32());
-      msg.setProtocolVersion(value);
+      msg.setVersion(value);
       break;
     default:
       reader.skipField();
@@ -28924,9 +29511,9 @@ proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.Ep
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -28934,51 +29521,23 @@ proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.Ep
 /**
  * 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.EpochInfo} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getNumber();
-  if (f !== 0) {
-    writer.writeUint32(
+  f = message.getProTxHash_asU8();
+  if (f.length > 0) {
+    writer.writeBytes(
       1,
       f
     );
   }
-  f = message.getFirstBlockHeight();
-  if (parseInt(f, 10) !== 0) {
-    writer.writeUint64String(
-      2,
-      f
-    );
-  }
-  f = message.getFirstCoreBlockHeight();
-  if (f !== 0) {
-    writer.writeUint32(
-      3,
-      f
-    );
-  }
-  f = message.getStartTime();
-  if (parseInt(f, 10) !== 0) {
-    writer.writeUint64String(
-      4,
-      f
-    );
-  }
-  f = message.getFeeMultiplier();
-  if (f !== 0.0) {
-    writer.writeDouble(
-      5,
-      f
-    );
-  }
-  f = message.getProtocolVersion();
+  f = message.getVersion();
   if (f !== 0) {
     writer.writeUint32(
-      6,
+      2,
       f
     );
   }
@@ -28986,138 +29545,90 @@ proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.Ep
 
 
 /**
- * optional uint32 number = 1;
- * @return {number}
- */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.prototype.getNumber = function() {
-  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
-};
-
-
-/**
- * @param {number} value
- * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo} returns this
- */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.prototype.setNumber = function(value) {
-  return jspb.Message.setProto3IntField(this, 1, value);
-};
-
-
-/**
- * optional uint64 first_block_height = 2;
+ * optional bytes pro_tx_hash = 1;
  * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.prototype.getFirstBlockHeight = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "0"));
-};
-
-
-/**
- * @param {string} value
- * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo} returns this
- */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.prototype.setFirstBlockHeight = function(value) {
-  return jspb.Message.setProto3StringIntField(this, 2, value);
-};
-
-
-/**
- * optional uint32 first_core_block_height = 3;
- * @return {number}
- */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.prototype.getFirstCoreBlockHeight = function() {
-  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));
-};
-
-
-/**
- * @param {number} value
- * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo} returns this
- */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.prototype.setFirstCoreBlockHeight = function(value) {
-  return jspb.Message.setProto3IntField(this, 3, value);
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.prototype.getProTxHash = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
 };
 
 
 /**
- * optional uint64 start_time = 4;
+ * optional bytes pro_tx_hash = 1;
+ * This is a type-conversion wrapper around `getProTxHash()`
  * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.prototype.getStartTime = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, "0"));
-};
-
-
-/**
- * @param {string} value
- * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo} returns this
- */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.prototype.setStartTime = function(value) {
-  return jspb.Message.setProto3StringIntField(this, 4, value);
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.prototype.getProTxHash_asB64 = function() {
+  return /** @type {string} */ (jspb.Message.bytesAsB64(
+      this.getProTxHash()));
 };
 
 
 /**
- * optional double fee_multiplier = 5;
- * @return {number}
+ * 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.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.prototype.getFeeMultiplier = function() {
-  return /** @type {number} */ (jspb.Message.getFloatingPointFieldWithDefault(this, 5, 0.0));
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.prototype.getProTxHash_asU8 = function() {
+  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
+      this.getProTxHash()));
 };
 
 
 /**
- * @param {number} value
- * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo} returns this
+ * @param {!(string|Uint8Array)} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal} returns this
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.prototype.setFeeMultiplier = function(value) {
-  return jspb.Message.setProto3FloatField(this, 5, value);
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.prototype.setProTxHash = function(value) {
+  return jspb.Message.setProto3BytesField(this, 1, value);
 };
 
 
 /**
- * optional uint32 protocol_version = 6;
+ * optional uint32 version = 2;
  * @return {number}
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.prototype.getProtocolVersion = function() {
-  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 6, 0));
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.prototype.getVersion = function() {
+  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
 };
 
 
 /**
  * @param {number} value
- * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal} returns this
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.prototype.setProtocolVersion = function(value) {
-  return jspb.Message.setProto3IntField(this, 6, value);
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignal.prototype.setVersion = function(value) {
+  return jspb.Message.setProto3IntField(this, 2, value);
 };
 
 
 /**
- * optional EpochInfos epochs = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos}
+ * optional VersionSignals versions = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals}
  */
-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));
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.prototype.getVersions = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals, 1));
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0} returns this
+ * @param {?proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.VersionSignals|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0} 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);
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.prototype.setVersions = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.oneofGroups_[0], value);
 };
 
 
 /**
  * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.prototype.clearEpochs = function() {
-  return this.setEpochs(undefined);
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.prototype.clearVersions = function() {
+  return this.setVersions(undefined);
 };
 
 
@@ -29125,7 +29636,7 @@ proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.pr
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.prototype.hasEpochs = function() {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.prototype.hasVersions = function() {
   return jspb.Message.getField(this, 1) != null;
 };
 
@@ -29134,7 +29645,7 @@ proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.pr
  * optional Proof proof = 2;
  * @return {?proto.org.dash.platform.dapi.v0.Proof}
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.prototype.getProof = function() {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.prototype.getProof = function() {
   return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ (
     jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2));
 };
@@ -29142,18 +29653,18 @@ proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.pr
 
 /**
  * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0} returns this
 */
-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);
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.prototype.setProof = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.oneofGroups_[0], value);
 };
 
 
 /**
  * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.prototype.clearProof = function() {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.prototype.clearProof = function() {
   return this.setProof(undefined);
 };
 
@@ -29162,7 +29673,7 @@ proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.pr
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.prototype.hasProof = function() {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.prototype.hasProof = function() {
   return jspb.Message.getField(this, 2) != null;
 };
 
@@ -29171,7 +29682,7 @@ proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.pr
  * optional ResponseMetadata metadata = 3;
  * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata}
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.prototype.getMetadata = function() {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.prototype.getMetadata = function() {
   return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ (
     jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3));
 };
@@ -29179,18 +29690,18 @@ proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.pr
 
 /**
  * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0} returns this
 */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.prototype.setMetadata = function(value) {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.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.GetEpochsInfoResponse.GetEpochsInfoResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.prototype.clearMetadata = function() {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.prototype.clearMetadata = function() {
   return this.setMetadata(undefined);
 };
 
@@ -29199,35 +29710,35 @@ proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.pr
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.prototype.hasMetadata = function() {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0.prototype.hasMetadata = function() {
   return jspb.Message.getField(this, 3) != null;
 };
 
 
 /**
- * optional GetEpochsInfoResponseV0 v0 = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0}
+ * optional GetProtocolVersionUpgradeVoteStatusResponseV0 v0 = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0}
  */
-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));
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.prototype.getV0 = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0, 1));
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse} returns this
+ * @param {?proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.GetProtocolVersionUpgradeVoteStatusResponseV0|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse} returns this
 */
-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);
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.prototype.setV0 = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.oneofGroups_[0], value);
 };
 
 
 /**
  * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse} returns this
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.prototype.clearV0 = function() {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.prototype.clearV0 = function() {
   return this.setV0(undefined);
 };
 
@@ -29236,7 +29747,7 @@ proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.prototype.clearV0 = functi
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.prototype.hasV0 = function() {
+proto.org.dash.platform.dapi.v0.GetProtocolVersionUpgradeVoteStatusResponse.prototype.hasV0 = function() {
   return jspb.Message.getField(this, 1) != null;
 };
 
@@ -29250,21 +29761,21 @@ proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.prototype.hasV0 = function
  * @private {!Array>}
  * @const
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.oneofGroups_ = [[1]];
+proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.oneofGroups_ = [[1]];
 
 /**
  * @enum {number}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.VersionCase = {
+proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.VersionCase = {
   VERSION_NOT_SET: 0,
   V0: 1
 };
 
 /**
- * @return {proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.VersionCase}
+ * @return {proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.VersionCase}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.prototype.getVersionCase = function() {
-  return /** @type {proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.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]));
 };
 
 
@@ -29282,8 +29793,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.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);
 };
 
 
@@ -29292,13 +29803,13 @@ proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.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.GetContestedResourcesRequest} 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.GetContestedResourcesRequest.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.GetContestedResourcesRequest.GetContestedResourcesRequestV0.toObject(includeInstance, f)
+    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.toObject(includeInstance, f)
   };
 
   if (includeInstance) {
@@ -29312,23 +29823,23 @@ proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.toObject = function
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest}
+ * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.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.GetContestedResourcesRequest;
-  return proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.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.GetContestedResourcesRequest} 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.GetContestedResourcesRequest}
+ * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -29336,8 +29847,8 @@ proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.deserializeBinaryFr
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.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:
@@ -29353,9 +29864,9 @@ proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.deserializeBinaryFr
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -29363,31 +29874,24 @@ proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.prototype.serialize
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest} 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.GetContestedResourcesRequest.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.GetContestedResourcesRequest.GetContestedResourcesRequestV0.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.serializeBinaryToWriter
     );
   }
 };
 
 
 
-/**
- * List of repeated fields within this message type.
- * @private {!Array}
- * @const
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.repeatedFields_ = [4,5];
-
 
 
 if (jspb.Message.GENERATE_TO_OBJECT) {
@@ -29403,8 +29907,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.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);
 };
 
 
@@ -29413,21 +29917,16 @@ proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourc
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0} 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.GetContestedResourcesRequest.GetContestedResourcesRequestV0.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.toObject = function(includeInstance, msg) {
   var f, obj = {
-    contractId: msg.getContractId_asB64(),
-    documentTypeName: jspb.Message.getFieldWithDefault(msg, 2, ""),
-    indexName: jspb.Message.getFieldWithDefault(msg, 3, ""),
-    startIndexValuesList: msg.getStartIndexValuesList_asB64(),
-    endIndexValuesList: msg.getEndIndexValuesList_asB64(),
-    startAtValueInfo: (f = msg.getStartAtValueInfo()) && proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.toObject(includeInstance, f),
-    count: jspb.Message.getFieldWithDefault(msg, 7, 0),
-    orderAscending: jspb.Message.getBooleanFieldWithDefault(msg, 8, false),
-    prove: jspb.Message.getBooleanFieldWithDefault(msg, 9, 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) {
@@ -29441,23 +29940,23 @@ proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourc
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.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.GetContestedResourcesRequest.GetContestedResourcesRequestV0;
-  return proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.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.GetContestedResourcesRequest.GetContestedResourcesRequestV0} 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.GetContestedResourcesRequest.GetContestedResourcesRequestV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -29465,39 +29964,19 @@ proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourc
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = /** @type {!Uint8Array} */ (reader.readBytes());
-      msg.setContractId(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 {string} */ (reader.readString());
-      msg.setDocumentTypeName(value);
-      break;
-    case 3:
-      var value = /** @type {string} */ (reader.readString());
-      msg.setIndexName(value);
-      break;
-    case 4:
-      var value = /** @type {!Uint8Array} */ (reader.readBytes());
-      msg.addStartIndexValues(value);
-      break;
-    case 5:
-      var value = /** @type {!Uint8Array} */ (reader.readBytes());
-      msg.addEndIndexValues(value);
-      break;
-    case 6:
-      var value = new proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.deserializeBinaryFromReader);
-      msg.setStartAtValueInfo(value);
-      break;
-    case 7:
       var value = /** @type {number} */ (reader.readUint32());
       msg.setCount(value);
       break;
-    case 8:
+    case 3:
       var value = /** @type {boolean} */ (reader.readBool());
-      msg.setOrderAscending(value);
+      msg.setAscending(value);
       break;
-    case 9:
+    case 4:
       var value = /** @type {boolean} */ (reader.readBool());
       msg.setProve(value);
       break;
@@ -29514,9 +29993,9 @@ proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourc
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.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.GetContestedResourcesRequest.GetContestedResourcesRequestV0.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -29524,79 +30003,197 @@ proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourc
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0} 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.GetContestedResourcesRequest.GetContestedResourcesRequestV0.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getContractId_asU8();
-  if (f.length > 0) {
-    writer.writeBytes(
-      1,
-      f
-    );
-  }
-  f = message.getDocumentTypeName();
-  if (f.length > 0) {
-    writer.writeString(
-      2,
-      f
-    );
-  }
-  f = message.getIndexName();
-  if (f.length > 0) {
-    writer.writeString(
-      3,
-      f
-    );
-  }
-  f = message.getStartIndexValuesList_asU8();
-  if (f.length > 0) {
-    writer.writeRepeatedBytes(
-      4,
-      f
-    );
-  }
-  f = message.getEndIndexValuesList_asU8();
-  if (f.length > 0) {
-    writer.writeRepeatedBytes(
-      5,
-      f
-    );
-  }
-  f = message.getStartAtValueInfo();
+  f = message.getStartEpoch();
   if (f != null) {
     writer.writeMessage(
-      6,
+      1,
       f,
-      proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.serializeBinaryToWriter
+      google_protobuf_wrappers_pb.UInt32Value.serializeBinaryToWriter
     );
   }
-  f = /** @type {number} */ (jspb.Message.getField(message, 7));
-  if (f != null) {
+  f = message.getCount();
+  if (f !== 0) {
     writer.writeUint32(
-      7,
+      2,
       f
     );
   }
-  f = message.getOrderAscending();
+  f = message.getAscending();
   if (f) {
     writer.writeBool(
-      8,
+      3,
       f
     );
   }
   f = message.getProve();
   if (f) {
     writer.writeBool(
-      9,
+      4,
       f
     );
   }
 };
 
 
+/**
+ * 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.GetEpochsInfoRequest.GetEpochsInfoRequestV0.prototype.getAscending = function() {
+  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 3, false));
+};
+
+
+/**
+ * @param {boolean} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.prototype.setAscending = function(value) {
+  return jspb.Message.setProto3BooleanField(this, 3, value);
+};
+
+
+/**
+ * optional bool prove = 4;
+ * @return {boolean}
+ */
+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.GetEpochsInfoRequest.GetEpochsInfoRequestV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0.prototype.setProve = function(value) {
+  return jspb.Message.setProto3BooleanField(this, 4, value);
+};
+
+
+/**
+ * optional GetEpochsInfoRequestV0 v0 = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.GetEpochsInfoRequestV0}
+ */
+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.GetEpochsInfoRequest.GetEpochsInfoRequestV0|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest} returns this
+*/
+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.GetEpochsInfoRequest} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.prototype.clearV0 = function() {
+  return this.setV0(undefined);
+};
+
+
+/**
+ * Returns whether this field is set.
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetEpochsInfoRequest.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.GetEpochsInfoResponse.oneofGroups_ = [[1]];
+
+/**
+ * @enum {number}
+ */
+proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.VersionCase = {
+  VERSION_NOT_SET: 0,
+  V0: 1
+};
+
+/**
+ * @return {proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.VersionCase}
+ */
+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]));
+};
 
 
 
@@ -29613,8 +30210,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.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);
 };
 
 
@@ -29623,14 +30220,13 @@ proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourc
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo} 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.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.toObject = function(includeInstance, msg) {
   var f, obj = {
-    startValue: msg.getStartValue_asB64(),
-    startValueIncluded: jspb.Message.getBooleanFieldWithDefault(msg, 2, false)
+    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.toObject(includeInstance, f)
   };
 
   if (includeInstance) {
@@ -29644,23 +30240,23 @@ proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourc
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo}
+ * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.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.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo;
-  return proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.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.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo} 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.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo}
+ * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -29668,12 +30264,9 @@ proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourc
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = /** @type {!Uint8Array} */ (reader.readBytes());
-      msg.setStartValue(value);
-      break;
-    case 2:
-      var value = /** @type {boolean} */ (reader.readBool());
-      msg.setStartValueIncluded(value);
+      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:
       reader.skipField();
@@ -29688,9 +30281,9 @@ proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourc
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -29698,464 +30291,202 @@ proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourc
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo} 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.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getStartValue_asU8();
-  if (f.length > 0) {
-    writer.writeBytes(
+  f = message.getV0();
+  if (f != null) {
+    writer.writeMessage(
       1,
-      f
-    );
-  }
-  f = message.getStartValueIncluded();
-  if (f) {
-    writer.writeBool(
-      2,
-      f
+      f,
+      proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.serializeBinaryToWriter
     );
   }
 };
 
 
-/**
- * optional bytes start_value = 1;
- * @return {string}
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.prototype.getStartValue = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
-};
-
 
 /**
- * optional bytes start_value = 1;
- * This is a type-conversion wrapper around `getStartValue()`
- * @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.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.prototype.getStartValue_asB64 = function() {
-  return /** @type {string} */ (jspb.Message.bytesAsB64(
-      this.getStartValue()));
-};
-
+proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.oneofGroups_ = [[1,2]];
 
 /**
- * optional bytes start_value = 1;
- * Note that Uint8Array is not supported on all browsers.
- * @see http://caniuse.com/Uint8Array
- * This is a type-conversion wrapper around `getStartValue()`
- * @return {!Uint8Array}
+ * @enum {number}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.prototype.getStartValue_asU8 = function() {
-  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
-      this.getStartValue()));
+proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.ResultCase = {
+  RESULT_NOT_SET: 0,
+  EPOCHS: 1,
+  PROOF: 2
 };
 
-
 /**
- * @param {!(string|Uint8Array)} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo} returns this
+ * @return {proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.ResultCase}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.prototype.setStartValue = function(value) {
-  return jspb.Message.setProto3BytesField(this, 1, value);
+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) {
 /**
- * optional bool start_value_included = 2;
- * @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.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.prototype.getStartValueIncluded = function() {
-  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));
+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);
 };
 
 
 /**
- * @param {boolean} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo} 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} msg The msg instance to transform.
+ * @return {!Object}
+ * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.prototype.setStartValueIncluded = function(value) {
-  return jspb.Message.setProto3BooleanField(this, 2, value);
+proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.toObject = function(includeInstance, msg) {
+  var f, obj = {
+    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) {
+    obj.$jspbMessageInstance = msg;
+  }
+  return obj;
 };
+}
 
 
 /**
- * optional bytes contract_id = 1;
- * @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}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.getContractId = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
+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.GetEpochsInfoResponse.GetEpochsInfoResponseV0;
+  return proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
- * optional bytes contract_id = 1;
- * This is a type-conversion wrapper around `getContractId()`
- * @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.GetEpochsInfoResponse.GetEpochsInfoResponseV0} msg The message object to deserialize into.
+ * @param {!jspb.BinaryReader} reader The BinaryReader to use.
+ * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.getContractId_asB64 = function() {
-  return /** @type {string} */ (jspb.Message.bytesAsB64(
-      this.getContractId()));
+proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.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.EpochInfos;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.deserializeBinaryFromReader);
+      msg.setEpochs(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 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()`
+ * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.getContractId_asU8 = function() {
-  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
-      this.getContractId()));
+proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.prototype.serializeBinary = function() {
+  var writer = new jspb.BinaryWriter();
+  proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.serializeBinaryToWriter(this, writer);
+  return writer.getResultBuffer();
 };
 
 
 /**
- * @param {!(string|Uint8Array)} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0} 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} message
+ * @param {!jspb.BinaryWriter} writer
+ * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.setContractId = function(value) {
-  return jspb.Message.setProto3BytesField(this, 1, value);
+proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.serializeBinaryToWriter = function(message, writer) {
+  var f = undefined;
+  f = message.getEpochs();
+  if (f != null) {
+    writer.writeMessage(
+      1,
+      f,
+      proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.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 string document_type_name = 2;
- * @return {string}
+ * List of repeated fields within this message type.
+ * @private {!Array}
+ * @const
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.getDocumentTypeName = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
-};
+proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.repeatedFields_ = [1];
+
 
 
-/**
- * @param {string} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0} returns this
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.setDocumentTypeName = function(value) {
-  return jspb.Message.setProto3StringField(this, 2, value);
-};
-
-
-/**
- * optional string index_name = 3;
- * @return {string}
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.getIndexName = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, ""));
-};
-
-
-/**
- * @param {string} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0} returns this
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.setIndexName = function(value) {
-  return jspb.Message.setProto3StringField(this, 3, value);
-};
-
-
-/**
- * repeated bytes start_index_values = 4;
- * @return {!Array}
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.getStartIndexValuesList = function() {
-  return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 4));
-};
-
-
-/**
- * repeated bytes start_index_values = 4;
- * This is a type-conversion wrapper around `getStartIndexValuesList()`
- * @return {!Array}
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.getStartIndexValuesList_asB64 = function() {
-  return /** @type {!Array} */ (jspb.Message.bytesListAsB64(
-      this.getStartIndexValuesList()));
-};
-
-
-/**
- * repeated bytes start_index_values = 4;
- * Note that Uint8Array is not supported on all browsers.
- * @see http://caniuse.com/Uint8Array
- * This is a type-conversion wrapper around `getStartIndexValuesList()`
- * @return {!Array}
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.getStartIndexValuesList_asU8 = function() {
-  return /** @type {!Array} */ (jspb.Message.bytesListAsU8(
-      this.getStartIndexValuesList()));
-};
-
-
-/**
- * @param {!(Array|Array)} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0} returns this
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.setStartIndexValuesList = function(value) {
-  return jspb.Message.setField(this, 4, value || []);
-};
-
-
-/**
- * @param {!(string|Uint8Array)} value
- * @param {number=} opt_index
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0} returns this
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.addStartIndexValues = function(value, opt_index) {
-  return jspb.Message.addToRepeatedField(this, 4, value, opt_index);
-};
-
-
-/**
- * Clears the list making it empty but non-null.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0} returns this
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.clearStartIndexValuesList = function() {
-  return this.setStartIndexValuesList([]);
-};
-
-
-/**
- * repeated bytes end_index_values = 5;
- * @return {!Array}
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.getEndIndexValuesList = function() {
-  return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 5));
-};
-
-
-/**
- * repeated bytes end_index_values = 5;
- * This is a type-conversion wrapper around `getEndIndexValuesList()`
- * @return {!Array}
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.getEndIndexValuesList_asB64 = function() {
-  return /** @type {!Array} */ (jspb.Message.bytesListAsB64(
-      this.getEndIndexValuesList()));
-};
-
-
-/**
- * repeated bytes end_index_values = 5;
- * Note that Uint8Array is not supported on all browsers.
- * @see http://caniuse.com/Uint8Array
- * This is a type-conversion wrapper around `getEndIndexValuesList()`
- * @return {!Array}
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.getEndIndexValuesList_asU8 = function() {
-  return /** @type {!Array} */ (jspb.Message.bytesListAsU8(
-      this.getEndIndexValuesList()));
-};
-
-
-/**
- * @param {!(Array|Array)} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0} returns this
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.setEndIndexValuesList = function(value) {
-  return jspb.Message.setField(this, 5, value || []);
-};
-
-
-/**
- * @param {!(string|Uint8Array)} value
- * @param {number=} opt_index
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0} returns this
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.addEndIndexValues = function(value, opt_index) {
-  return jspb.Message.addToRepeatedField(this, 5, value, opt_index);
-};
-
-
-/**
- * Clears the list making it empty but non-null.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0} returns this
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.clearEndIndexValuesList = function() {
-  return this.setEndIndexValuesList([]);
-};
-
-
-/**
- * optional StartAtValueInfo start_at_value_info = 6;
- * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo}
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.getStartAtValueInfo = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo, 6));
-};
-
-
-/**
- * @param {?proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0} returns this
-*/
-proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.setStartAtValueInfo = function(value) {
-  return jspb.Message.setWrapperField(this, 6, value);
-};
-
-
-/**
- * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0} returns this
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.clearStartAtValueInfo = function() {
-  return this.setStartAtValueInfo(undefined);
-};
-
-
-/**
- * Returns whether this field is set.
- * @return {boolean}
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.hasStartAtValueInfo = function() {
-  return jspb.Message.getField(this, 6) != null;
-};
-
-
-/**
- * optional uint32 count = 7;
- * @return {number}
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.getCount = function() {
-  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 7, 0));
-};
-
-
-/**
- * @param {number} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0} returns this
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.setCount = function(value) {
-  return jspb.Message.setField(this, 7, value);
-};
-
-
-/**
- * Clears the field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0} returns this
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.clearCount = function() {
-  return jspb.Message.setField(this, 7, undefined);
-};
-
-
-/**
- * Returns whether this field is set.
- * @return {boolean}
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.hasCount = function() {
-  return jspb.Message.getField(this, 7) != null;
-};
-
-
-/**
- * optional bool order_ascending = 8;
- * @return {boolean}
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.getOrderAscending = function() {
-  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 8, false));
-};
-
-
-/**
- * @param {boolean} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0} returns this
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.setOrderAscending = function(value) {
-  return jspb.Message.setProto3BooleanField(this, 8, value);
-};
-
-
-/**
- * optional bool prove = 9;
- * @return {boolean}
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.getProve = function() {
-  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 9, false));
-};
-
-
-/**
- * @param {boolean} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0} returns this
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.setProve = function(value) {
-  return jspb.Message.setProto3BooleanField(this, 9, value);
-};
-
-
-/**
- * optional GetContestedResourcesRequestV0 v0 = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0}
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.prototype.getV0 = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0, 1));
-};
-
-
-/**
- * @param {?proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest} returns this
-*/
-proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.prototype.setV0 = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.oneofGroups_[0], value);
-};
-
-
-/**
- * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest} returns this
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.prototype.clearV0 = function() {
-  return this.setV0(undefined);
-};
-
-
-/**
- * Returns whether this field is set.
- * @return {boolean}
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.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.GetContestedResourcesResponse.oneofGroups_ = [[1]];
-
-/**
- * @enum {number}
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.VersionCase = {
-  VERSION_NOT_SET: 0,
-  V0: 1
-};
-
-/**
- * @return {proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.VersionCase}
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.prototype.getVersionCase = function() {
-  return /** @type {proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.oneofGroups_[0]));
-};
-
-
-
-if (jspb.Message.GENERATE_TO_OBJECT) {
+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.
@@ -30168,8 +30499,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.toObject(opt_includeInstance, this);
+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);
 };
 
 
@@ -30178,13 +30509,14 @@ proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.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.GetContestedResourcesResponse} msg The msg instance to transform.
+ * @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.GetContestedResourcesResponse.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.toObject = function(includeInstance, msg) {
   var f, obj = {
-    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.toObject(includeInstance, f)
+    epochInfosList: jspb.Message.toObjectList(msg.getEpochInfosList(),
+    proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.toObject, includeInstance)
   };
 
   if (includeInstance) {
@@ -30198,23 +30530,23 @@ proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.toObject = functio
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse}
+ * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.deserializeBinary = function(bytes) {
+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.GetContestedResourcesResponse;
-  return proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.deserializeBinaryFromReader(msg, reader);
+  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);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse} msg The message object to deserialize into.
+ * @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.GetContestedResourcesResponse}
+ * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -30222,9 +30554,9 @@ proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.deserializeBinaryF
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.deserializeBinaryFromReader);
-      msg.setV0(value);
+      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();
@@ -30239,9 +30571,9 @@ proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.deserializeBinaryF
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -30249,52 +30581,64 @@ proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.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.GetContestedResourcesResponse} message
+ * @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.GetContestedResourcesResponse.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getV0();
-  if (f != null) {
-    writer.writeMessage(
+  f = message.getEpochInfosList();
+  if (f.length > 0) {
+    writer.writeRepeatedMessage(
       1,
       f,
-      proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.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 EpochInfo epoch_infos = 1;
+ * @return {!Array}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.oneofGroups_ = [[1,2]];
+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));
+};
+
 
 /**
- * @enum {number}
+ * @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.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ResultCase = {
-  RESULT_NOT_SET: 0,
-  CONTESTED_RESOURCE_VALUES: 1,
-  PROOF: 2
+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);
 };
 
+
 /**
- * @return {proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ResultCase}
+ * 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.GetContestedResourcesResponse.GetContestedResourcesResponseV0.prototype.getResultCase = function() {
-  return /** @type {proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.oneofGroups_[0]));
+proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos.prototype.clearEpochInfosList = function() {
+  return this.setEpochInfosList([]);
 };
 
 
 
+
+
 if (jspb.Message.GENERATE_TO_OBJECT) {
 /**
  * Creates an object representation of this proto.
@@ -30308,8 +30652,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.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);
 };
 
 
@@ -30318,15 +30662,18 @@ proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResour
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0} 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.GetContestedResourcesResponse.GetContestedResourcesResponseV0.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.toObject = function(includeInstance, msg) {
   var f, obj = {
-    contestedResourceValues: (f = msg.getContestedResourceValues()) && proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.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)
+    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),
+    protocolVersion: jspb.Message.getFieldWithDefault(msg, 6, 0)
   };
 
   if (includeInstance) {
@@ -30340,23 +30687,23 @@ proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResour
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.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.GetContestedResourcesResponse.GetContestedResourcesResponseV0;
-  return proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.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.GetContestedResourcesResponse.GetContestedResourcesResponseV0} 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.GetContestedResourcesResponse.GetContestedResourcesResponseV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -30364,19 +30711,28 @@ proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResour
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.deserializeBinaryFromReader);
-      msg.setContestedResourceValues(value);
+      var value = /** @type {number} */ (reader.readUint32());
+      msg.setNumber(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.readUint64String());
+      msg.setFirstBlockHeight(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.setFirstCoreBlockHeight(value);
+      break;
+    case 4:
+      var value = /** @type {string} */ (reader.readUint64String());
+      msg.setStartTime(value);
+      break;
+    case 5:
+      var value = /** @type {number} */ (reader.readDouble());
+      msg.setFeeMultiplier(value);
+      break;
+    case 6:
+      var value = /** @type {number} */ (reader.readUint32());
+      msg.setProtocolVersion(value);
       break;
     default:
       reader.skipField();
@@ -30391,9 +30747,9 @@ proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResour
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.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.GetContestedResourcesResponse.GetContestedResourcesResponseV0.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -30401,244 +30757,190 @@ proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResour
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0} 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.GetContestedResourcesResponse.GetContestedResourcesResponseV0.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getContestedResourceValues();
-  if (f != null) {
-    writer.writeMessage(
+  f = message.getNumber();
+  if (f !== 0) {
+    writer.writeUint32(
       1,
-      f,
-      proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.serializeBinaryToWriter
+      f
     );
   }
-  f = message.getProof();
-  if (f != null) {
-    writer.writeMessage(
+  f = message.getFirstBlockHeight();
+  if (parseInt(f, 10) !== 0) {
+    writer.writeUint64String(
       2,
-      f,
-      proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter
+      f
     );
   }
-  f = message.getMetadata();
-  if (f != null) {
-    writer.writeMessage(
+  f = message.getFirstCoreBlockHeight();
+  if (f !== 0) {
+    writer.writeUint32(
       3,
-      f,
-      proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter
+      f
     );
   }
-};
-
-
-
-/**
- * List of repeated fields within this message type.
- * @private {!Array}
- * @const
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.repeatedFields_ = [1];
-
+  f = message.getStartTime();
+  if (parseInt(f, 10) !== 0) {
+    writer.writeUint64String(
+      4,
+      f
+    );
+  }
+  f = message.getFeeMultiplier();
+  if (f !== 0.0) {
+    writer.writeDouble(
+      5,
+      f
+    );
+  }
+  f = message.getProtocolVersion();
+  if (f !== 0) {
+    writer.writeUint32(
+      6,
+      f
+    );
+  }
+};
 
 
-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 uint32 number = 1;
+ * @return {number}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.prototype.getNumber = function() {
+  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
 };
 
 
 /**
- * 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.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues} msg The msg instance to transform.
- * @return {!Object}
- * @suppress {unusedLocalVariables} f is only used for nested messages
+ * @param {number} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.toObject = function(includeInstance, msg) {
-  var f, obj = {
-    contestedResourceValuesList: msg.getContestedResourceValuesList_asB64()
-  };
-
-  if (includeInstance) {
-    obj.$jspbMessageInstance = msg;
-  }
-  return obj;
+proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.prototype.setNumber = function(value) {
+  return jspb.Message.setProto3IntField(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.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues}
+ * optional uint64 first_block_height = 2;
+ * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.deserializeBinary = function(bytes) {
-  var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues;
-  return proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.deserializeBinaryFromReader(msg, reader);
+proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.prototype.getFirstBlockHeight = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "0"));
 };
 
 
 /**
- * Deserializes binary data (in protobuf wire format) from the
- * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues} msg The message object to deserialize into.
- * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues}
+ * @param {string} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.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.addContestedResourceValues(value);
-      break;
-    default:
-      reader.skipField();
-      break;
-    }
-  }
-  return msg;
+proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.prototype.setFirstBlockHeight = function(value) {
+  return jspb.Message.setProto3StringIntField(this, 2, value);
 };
 
 
 /**
- * Serializes the message to binary data (in protobuf wire format).
- * @return {!Uint8Array}
+ * optional uint32 first_core_block_height = 3;
+ * @return {number}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.prototype.serializeBinary = function() {
-  var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.serializeBinaryToWriter(this, writer);
-  return writer.getResultBuffer();
+proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.prototype.getFirstCoreBlockHeight = function() {
+  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));
 };
 
 
 /**
- * Serializes the given message to binary data (in protobuf wire
- * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues} message
- * @param {!jspb.BinaryWriter} writer
- * @suppress {unusedLocalVariables} f is only used for nested messages
+ * @param {number} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.serializeBinaryToWriter = function(message, writer) {
-  var f = undefined;
-  f = message.getContestedResourceValuesList_asU8();
-  if (f.length > 0) {
-    writer.writeRepeatedBytes(
-      1,
-      f
-    );
-  }
+proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.prototype.setFirstCoreBlockHeight = function(value) {
+  return jspb.Message.setProto3IntField(this, 3, value);
 };
 
 
 /**
- * repeated bytes contested_resource_values = 1;
- * @return {!Array}
+ * optional uint64 start_time = 4;
+ * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.prototype.getContestedResourceValuesList = function() {
-  return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1));
+proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.prototype.getStartTime = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, "0"));
 };
 
 
 /**
- * repeated bytes contested_resource_values = 1;
- * This is a type-conversion wrapper around `getContestedResourceValuesList()`
- * @return {!Array}
+ * @param {string} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.prototype.getContestedResourceValuesList_asB64 = function() {
-  return /** @type {!Array} */ (jspb.Message.bytesListAsB64(
-      this.getContestedResourceValuesList()));
+proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.prototype.setStartTime = function(value) {
+  return jspb.Message.setProto3StringIntField(this, 4, value);
 };
 
 
 /**
- * repeated bytes contested_resource_values = 1;
- * Note that Uint8Array is not supported on all browsers.
- * @see http://caniuse.com/Uint8Array
- * This is a type-conversion wrapper around `getContestedResourceValuesList()`
- * @return {!Array}
+ * optional double fee_multiplier = 5;
+ * @return {number}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.prototype.getContestedResourceValuesList_asU8 = function() {
-  return /** @type {!Array} */ (jspb.Message.bytesListAsU8(
-      this.getContestedResourceValuesList()));
+proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.prototype.getFeeMultiplier = function() {
+  return /** @type {number} */ (jspb.Message.getFloatingPointFieldWithDefault(this, 5, 0.0));
 };
 
 
 /**
- * @param {!(Array|Array)} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues} returns this
+ * @param {number} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.prototype.setContestedResourceValuesList = function(value) {
-  return jspb.Message.setField(this, 1, value || []);
+proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.prototype.setFeeMultiplier = function(value) {
+  return jspb.Message.setProto3FloatField(this, 5, value);
 };
 
 
 /**
- * @param {!(string|Uint8Array)} value
- * @param {number=} opt_index
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues} returns this
+ * optional uint32 protocol_version = 6;
+ * @return {number}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.prototype.addContestedResourceValues = function(value, opt_index) {
-  return jspb.Message.addToRepeatedField(this, 1, value, opt_index);
+proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.prototype.getProtocolVersion = function() {
+  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 6, 0));
 };
 
 
 /**
- * Clears the list making it empty but non-null.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues} returns this
+ * @param {number} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.prototype.clearContestedResourceValuesList = function() {
-  return this.setContestedResourceValuesList([]);
+proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfo.prototype.setProtocolVersion = function(value) {
+  return jspb.Message.setProto3IntField(this, 6, value);
 };
 
 
 /**
- * optional ContestedResourceValues contested_resource_values = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues}
+ * optional EpochInfos epochs = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.EpochInfos}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.prototype.getContestedResourceValues = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues, 1));
+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));
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0} returns this
+ * @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.GetContestedResourcesResponse.GetContestedResourcesResponseV0.prototype.setContestedResourceValues = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.oneofGroups_[0], value);
+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.GetContestedResourcesResponse.GetContestedResourcesResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.prototype.clearContestedResourceValues = function() {
-  return this.setContestedResourceValues(undefined);
+proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.prototype.clearEpochs = function() {
+  return this.setEpochs(undefined);
 };
 
 
@@ -30646,7 +30948,7 @@ proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResour
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.prototype.hasContestedResourceValues = function() {
+proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.prototype.hasEpochs = function() {
   return jspb.Message.getField(this, 1) != null;
 };
 
@@ -30655,7 +30957,7 @@ proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResour
  * optional Proof proof = 2;
  * @return {?proto.org.dash.platform.dapi.v0.Proof}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.prototype.getProof = function() {
+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));
 };
@@ -30663,18 +30965,18 @@ proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResour
 
 /**
  * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0} returns this
 */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.prototype.setProof = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.oneofGroups_[0], 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.GetContestedResourcesResponse.GetContestedResourcesResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.prototype.clearProof = function() {
+proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.prototype.clearProof = function() {
   return this.setProof(undefined);
 };
 
@@ -30683,7 +30985,7 @@ proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResour
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.prototype.hasProof = function() {
+proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.prototype.hasProof = function() {
   return jspb.Message.getField(this, 2) != null;
 };
 
@@ -30692,7 +30994,7 @@ proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResour
  * optional ResponseMetadata metadata = 3;
  * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.prototype.getMetadata = function() {
+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));
 };
@@ -30700,18 +31002,18 @@ proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResour
 
 /**
  * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0} returns this
 */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.prototype.setMetadata = function(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.GetContestedResourcesResponse.GetContestedResourcesResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.prototype.clearMetadata = function() {
+proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.prototype.clearMetadata = function() {
   return this.setMetadata(undefined);
 };
 
@@ -30720,35 +31022,35 @@ proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResour
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.prototype.hasMetadata = function() {
+proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0.prototype.hasMetadata = function() {
   return jspb.Message.getField(this, 3) != null;
 };
 
 
 /**
- * optional GetContestedResourcesResponseV0 v0 = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0}
+ * optional GetEpochsInfoResponseV0 v0 = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.GetEpochsInfoResponseV0}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.prototype.getV0 = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0, 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.GetContestedResourcesResponse.GetContestedResourcesResponseV0|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse} 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.GetContestedResourcesResponse.prototype.setV0 = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.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.GetContestedResourcesResponse} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.prototype.clearV0 = function() {
+proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.prototype.clearV0 = function() {
   return this.setV0(undefined);
 };
 
@@ -30757,7 +31059,7 @@ proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.prototype.clearV0
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.prototype.hasV0 = function() {
+proto.org.dash.platform.dapi.v0.GetEpochsInfoResponse.prototype.hasV0 = function() {
   return jspb.Message.getField(this, 1) != null;
 };
 
@@ -30771,21 +31073,21 @@ proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.prototype.hasV0 =
  * @private {!Array>}
  * @const
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.oneofGroups_ = [[1]];
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.oneofGroups_ = [[1]];
 
 /**
  * @enum {number}
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.VersionCase = {
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.VersionCase = {
   VERSION_NOT_SET: 0,
   V0: 1
 };
 
 /**
- * @return {proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.VersionCase}
+ * @return {proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.VersionCase}
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.prototype.getVersionCase = function() {
-  return /** @type {proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.oneofGroups_[0]));
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.prototype.getVersionCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.oneofGroups_[0]));
 };
 
 
@@ -30803,8 +31105,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.toObject(opt_includeInstance, this);
 };
 
 
@@ -30813,13 +31115,13 @@ proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.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.GetVotePollsByEndDateRequest} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.toObject = function(includeInstance, msg) {
   var f, obj = {
-    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.toObject(includeInstance, f)
+    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0.toObject(includeInstance, f)
   };
 
   if (includeInstance) {
@@ -30833,23 +31135,23 @@ proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.toObject = function
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest}
+ * @return {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest}
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest;
-  return proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest;
+  return proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest}
+ * @return {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest}
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -30857,8 +31159,8 @@ proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.deserializeBinaryFr
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.deserializeBinaryFromReader);
+      var value = new proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0.deserializeBinaryFromReader);
       msg.setV0(value);
       break;
     default:
@@ -30874,9 +31176,9 @@ proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.deserializeBinaryFr
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -30884,18 +31186,18 @@ proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.prototype.serialize
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
   f = message.getV0();
   if (f != null) {
     writer.writeMessage(
       1,
       f,
-      proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0.serializeBinaryToWriter
     );
   }
 };
@@ -30917,8 +31219,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0.toObject(opt_includeInstance, this);
 };
 
 
@@ -30927,18 +31229,17 @@ proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDa
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0.toObject = function(includeInstance, msg) {
   var f, obj = {
-    startTimeInfo: (f = msg.getStartTimeInfo()) && proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.toObject(includeInstance, f),
-    endTimeInfo: (f = msg.getEndTimeInfo()) && proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.toObject(includeInstance, f),
-    limit: jspb.Message.getFieldWithDefault(msg, 3, 0),
-    offset: jspb.Message.getFieldWithDefault(msg, 4, 0),
-    ascending: jspb.Message.getBooleanFieldWithDefault(msg, 5, false),
-    prove: jspb.Message.getBooleanFieldWithDefault(msg, 6, false)
+    startEpochIndex: jspb.Message.getFieldWithDefault(msg, 1, 0),
+    startEpochIndexIncluded: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),
+    endEpochIndex: jspb.Message.getFieldWithDefault(msg, 3, 0),
+    endEpochIndexIncluded: jspb.Message.getBooleanFieldWithDefault(msg, 4, false),
+    prove: jspb.Message.getBooleanFieldWithDefault(msg, 5, false)
   };
 
   if (includeInstance) {
@@ -30952,23 +31253,23 @@ proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDa
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0}
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0;
-  return proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0;
+  return proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0}
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -30976,28 +31277,22 @@ proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDa
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.deserializeBinaryFromReader);
-      msg.setStartTimeInfo(value);
+      var value = /** @type {number} */ (reader.readUint32());
+      msg.setStartEpochIndex(value);
       break;
     case 2:
-      var value = new proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.deserializeBinaryFromReader);
-      msg.setEndTimeInfo(value);
+      var value = /** @type {boolean} */ (reader.readBool());
+      msg.setStartEpochIndexIncluded(value);
       break;
     case 3:
       var value = /** @type {number} */ (reader.readUint32());
-      msg.setLimit(value);
+      msg.setEndEpochIndex(value);
       break;
     case 4:
-      var value = /** @type {number} */ (reader.readUint32());
-      msg.setOffset(value);
-      break;
-    case 5:
       var value = /** @type {boolean} */ (reader.readBool());
-      msg.setAscending(value);
+      msg.setEndEpochIndexIncluded(value);
       break;
-    case 6:
+    case 5:
       var value = /** @type {boolean} */ (reader.readBool());
       msg.setProve(value);
       break;
@@ -31014,9 +31309,9 @@ proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDa
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -31024,59 +31319,202 @@ proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDa
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getStartTimeInfo();
-  if (f != null) {
-    writer.writeMessage(
+  f = message.getStartEpochIndex();
+  if (f !== 0) {
+    writer.writeUint32(
       1,
-      f,
-      proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.serializeBinaryToWriter
+      f
     );
   }
-  f = message.getEndTimeInfo();
-  if (f != null) {
-    writer.writeMessage(
+  f = message.getStartEpochIndexIncluded();
+  if (f) {
+    writer.writeBool(
       2,
-      f,
-      proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.serializeBinaryToWriter
-    );
-  }
-  f = /** @type {number} */ (jspb.Message.getField(message, 3));
-  if (f != null) {
-    writer.writeUint32(
-      3,
       f
     );
   }
-  f = /** @type {number} */ (jspb.Message.getField(message, 4));
-  if (f != null) {
+  f = message.getEndEpochIndex();
+  if (f !== 0) {
     writer.writeUint32(
-      4,
+      3,
       f
     );
   }
-  f = message.getAscending();
+  f = message.getEndEpochIndexIncluded();
   if (f) {
     writer.writeBool(
-      5,
+      4,
       f
     );
   }
   f = message.getProve();
   if (f) {
     writer.writeBool(
-      6,
+      5,
       f
     );
   }
 };
 
 
+/**
+ * optional uint32 start_epoch_index = 1;
+ * @return {number}
+ */
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0.prototype.getStartEpochIndex = function() {
+  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
+};
+
+
+/**
+ * @param {number} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0.prototype.setStartEpochIndex = function(value) {
+  return jspb.Message.setProto3IntField(this, 1, value);
+};
+
+
+/**
+ * optional bool start_epoch_index_included = 2;
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0.prototype.getStartEpochIndexIncluded = function() {
+  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));
+};
+
+
+/**
+ * @param {boolean} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0.prototype.setStartEpochIndexIncluded = function(value) {
+  return jspb.Message.setProto3BooleanField(this, 2, value);
+};
+
+
+/**
+ * optional uint32 end_epoch_index = 3;
+ * @return {number}
+ */
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0.prototype.getEndEpochIndex = function() {
+  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));
+};
+
+
+/**
+ * @param {number} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0.prototype.setEndEpochIndex = function(value) {
+  return jspb.Message.setProto3IntField(this, 3, value);
+};
+
+
+/**
+ * optional bool end_epoch_index_included = 4;
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0.prototype.getEndEpochIndexIncluded = function() {
+  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 4, false));
+};
+
+
+/**
+ * @param {boolean} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0.prototype.setEndEpochIndexIncluded = function(value) {
+  return jspb.Message.setProto3BooleanField(this, 4, value);
+};
+
+
+/**
+ * optional bool prove = 5;
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0.prototype.getProve = function() {
+  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 5, false));
+};
+
+
+/**
+ * @param {boolean} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0.prototype.setProve = function(value) {
+  return jspb.Message.setProto3BooleanField(this, 5, value);
+};
+
+
+/**
+ * optional GetFinalizedEpochInfosRequestV0 v0 = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0}
+ */
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.prototype.getV0 = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0, 1));
+};
+
+
+/**
+ * @param {?proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.GetFinalizedEpochInfosRequestV0|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.prototype.setV0 = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.oneofGroups_[0], value);
+};
+
+
+/**
+ * Clears the message field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.prototype.clearV0 = function() {
+  return this.setV0(undefined);
+};
+
+
+/**
+ * Returns whether this field is set.
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosRequest.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.GetFinalizedEpochInfosResponse.oneofGroups_ = [[1]];
+
+/**
+ * @enum {number}
+ */
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.VersionCase = {
+  VERSION_NOT_SET: 0,
+  V0: 1
+};
+
+/**
+ * @return {proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.VersionCase}
+ */
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.prototype.getVersionCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.oneofGroups_[0]));
+};
 
 
 
@@ -31093,8 +31531,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.toObject(opt_includeInstance, this);
 };
 
 
@@ -31103,14 +31541,13 @@ proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDa
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.toObject = function(includeInstance, msg) {
   var f, obj = {
-    startTimeMs: jspb.Message.getFieldWithDefault(msg, 1, "0"),
-    startTimeIncluded: jspb.Message.getBooleanFieldWithDefault(msg, 2, false)
+    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.toObject(includeInstance, f)
   };
 
   if (includeInstance) {
@@ -31124,23 +31561,23 @@ proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDa
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo}
+ * @return {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse}
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo;
-  return proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse;
+  return proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo}
+ * @return {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse}
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -31148,12 +31585,9 @@ proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDa
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = /** @type {string} */ (reader.readUint64String());
-      msg.setStartTimeMs(value);
-      break;
-    case 2:
-      var value = /** @type {boolean} */ (reader.readBool());
-      msg.setStartTimeIncluded(value);
+      var value = new proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.deserializeBinaryFromReader);
+      msg.setV0(value);
       break;
     default:
       reader.skipField();
@@ -31168,9 +31602,9 @@ proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDa
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -31178,68 +31612,52 @@ proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDa
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getStartTimeMs();
-  if (parseInt(f, 10) !== 0) {
-    writer.writeUint64String(
+  f = message.getV0();
+  if (f != null) {
+    writer.writeMessage(
       1,
-      f
-    );
-  }
-  f = message.getStartTimeIncluded();
-  if (f) {
-    writer.writeBool(
-      2,
-      f
+      f,
+      proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.serializeBinaryToWriter
     );
   }
 };
 
 
+
 /**
- * optional uint64 start_time_ms = 1;
- * @return {string}
- */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.prototype.getStartTimeMs = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "0"));
-};
-
-
-/**
- * @param {string} value
- * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo} 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.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.prototype.setStartTimeMs = function(value) {
-  return jspb.Message.setProto3StringIntField(this, 1, value);
-};
-
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.oneofGroups_ = [[1,2]];
 
 /**
- * optional bool start_time_included = 2;
- * @return {boolean}
+ * @enum {number}
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.prototype.getStartTimeIncluded = function() {
-  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.ResultCase = {
+  RESULT_NOT_SET: 0,
+  EPOCHS: 1,
+  PROOF: 2
 };
 
-
 /**
- * @param {boolean} value
- * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo} returns this
+ * @return {proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.ResultCase}
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.prototype.setStartTimeIncluded = function(value) {
-  return jspb.Message.setProto3BooleanField(this, 2, value);
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.prototype.getResultCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.oneofGroups_[0]));
 };
 
 
 
-
-
 if (jspb.Message.GENERATE_TO_OBJECT) {
 /**
  * Creates an object representation of this proto.
@@ -31253,8 +31671,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.toObject(opt_includeInstance, this);
 };
 
 
@@ -31263,14 +31681,15 @@ proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDa
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.toObject = function(includeInstance, msg) {
   var f, obj = {
-    endTimeMs: jspb.Message.getFieldWithDefault(msg, 1, "0"),
-    endTimeIncluded: jspb.Message.getBooleanFieldWithDefault(msg, 2, false)
+    epochs: (f = msg.getEpochs()) && proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos.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) {
@@ -31284,23 +31703,23 @@ proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDa
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo}
+ * @return {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0}
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo;
-  return proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0;
+  return proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo}
+ * @return {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0}
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -31308,12 +31727,19 @@ proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDa
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = /** @type {string} */ (reader.readUint64String());
-      msg.setEndTimeMs(value);
+      var value = new proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos.deserializeBinaryFromReader);
+      msg.setEpochs(value);
       break;
     case 2:
-      var value = /** @type {boolean} */ (reader.readBool());
-      msg.setEndTimeIncluded(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();
@@ -31328,9 +31754,9 @@ proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDa
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -31338,309 +31764,46 @@ proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDa
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getEndTimeMs();
-  if (parseInt(f, 10) !== 0) {
-    writer.writeUint64String(
+  f = message.getEpochs();
+  if (f != null) {
+    writer.writeMessage(
       1,
-      f
+      f,
+      proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos.serializeBinaryToWriter
     );
   }
-  f = message.getEndTimeIncluded();
-  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 uint64 end_time_ms = 1;
- * @return {string}
- */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.prototype.getEndTimeMs = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "0"));
-};
-
-
-/**
- * @param {string} value
- * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo} returns this
- */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.prototype.setEndTimeMs = function(value) {
-  return jspb.Message.setProto3StringIntField(this, 1, value);
-};
-
-
-/**
- * optional bool end_time_included = 2;
- * @return {boolean}
- */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.prototype.getEndTimeIncluded = function() {
-  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));
-};
-
-
-/**
- * @param {boolean} value
- * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo} returns this
- */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.prototype.setEndTimeIncluded = function(value) {
-  return jspb.Message.setProto3BooleanField(this, 2, value);
-};
-
-
-/**
- * optional StartAtTimeInfo start_time_info = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo}
- */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prototype.getStartTimeInfo = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo, 1));
-};
-
-
-/**
- * @param {?proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0} returns this
-*/
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prototype.setStartTimeInfo = function(value) {
-  return jspb.Message.setWrapperField(this, 1, value);
-};
-
-
-/**
- * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0} returns this
- */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prototype.clearStartTimeInfo = function() {
-  return this.setStartTimeInfo(undefined);
-};
-
-
-/**
- * Returns whether this field is set.
- * @return {boolean}
- */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prototype.hasStartTimeInfo = function() {
-  return jspb.Message.getField(this, 1) != null;
-};
-
-
-/**
- * optional EndAtTimeInfo end_time_info = 2;
- * @return {?proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo}
- */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prototype.getEndTimeInfo = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo, 2));
-};
-
-
-/**
- * @param {?proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0} returns this
-*/
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prototype.setEndTimeInfo = function(value) {
-  return jspb.Message.setWrapperField(this, 2, value);
-};
-
-
-/**
- * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0} returns this
- */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prototype.clearEndTimeInfo = function() {
-  return this.setEndTimeInfo(undefined);
-};
-
-
-/**
- * Returns whether this field is set.
- * @return {boolean}
- */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prototype.hasEndTimeInfo = function() {
-  return jspb.Message.getField(this, 2) != null;
-};
-
-
-/**
- * optional uint32 limit = 3;
- * @return {number}
- */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prototype.getLimit = function() {
-  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));
-};
-
-
-/**
- * @param {number} value
- * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0} returns this
- */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prototype.setLimit = function(value) {
-  return jspb.Message.setField(this, 3, value);
-};
-
-
-/**
- * Clears the field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0} returns this
- */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prototype.clearLimit = function() {
-  return jspb.Message.setField(this, 3, undefined);
-};
-
-
-/**
- * Returns whether this field is set.
- * @return {boolean}
- */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prototype.hasLimit = function() {
-  return jspb.Message.getField(this, 3) != null;
-};
-
-
-/**
- * optional uint32 offset = 4;
- * @return {number}
- */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prototype.getOffset = function() {
-  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0));
-};
-
-
-/**
- * @param {number} value
- * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0} returns this
- */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prototype.setOffset = function(value) {
-  return jspb.Message.setField(this, 4, value);
-};
-
-
-/**
- * Clears the field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0} returns this
- */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prototype.clearOffset = function() {
-  return jspb.Message.setField(this, 4, undefined);
-};
-
-
-/**
- * Returns whether this field is set.
- * @return {boolean}
- */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prototype.hasOffset = function() {
-  return jspb.Message.getField(this, 4) != null;
-};
-
-
-/**
- * optional bool ascending = 5;
- * @return {boolean}
- */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prototype.getAscending = function() {
-  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 5, false));
-};
-
-
-/**
- * @param {boolean} value
- * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0} returns this
- */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prototype.setAscending = function(value) {
-  return jspb.Message.setProto3BooleanField(this, 5, value);
-};
-
-
-/**
- * optional bool prove = 6;
- * @return {boolean}
- */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prototype.getProve = function() {
-  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 6, false));
-};
-
-
-/**
- * @param {boolean} value
- * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0} returns this
- */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prototype.setProve = function(value) {
-  return jspb.Message.setProto3BooleanField(this, 6, value);
-};
-
-
-/**
- * optional GetVotePollsByEndDateRequestV0 v0 = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0}
- */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.prototype.getV0 = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0, 1));
-};
-
-
-/**
- * @param {?proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest} returns this
-*/
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.prototype.setV0 = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.oneofGroups_[0], value);
-};
-
-
-/**
- * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest} returns this
- */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.prototype.clearV0 = function() {
-  return this.setV0(undefined);
-};
-
-
-/**
- * Returns whether this field is set.
- * @return {boolean}
- */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.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.GetVotePollsByEndDateResponse.oneofGroups_ = [[1]];
-
-/**
- * @enum {number}
- */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.VersionCase = {
-  VERSION_NOT_SET: 0,
-  V0: 1
-};
-
-/**
- * @return {proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.VersionCase}
- */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.prototype.getVersionCase = function() {
-  return /** @type {proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.oneofGroups_[0]));
-};
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos.repeatedFields_ = [1];
 
 
 
@@ -31657,8 +31820,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos.toObject(opt_includeInstance, this);
 };
 
 
@@ -31667,13 +31830,14 @@ proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.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.GetVotePollsByEndDateResponse} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos.toObject = function(includeInstance, msg) {
   var f, obj = {
-    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.toObject(includeInstance, f)
+    finalizedEpochInfosList: jspb.Message.toObjectList(msg.getFinalizedEpochInfosList(),
+    proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo.toObject, includeInstance)
   };
 
   if (includeInstance) {
@@ -31687,23 +31851,23 @@ proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.toObject = functio
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse}
+ * @return {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos}
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse;
-  return proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos;
+  return proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse}
+ * @return {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos}
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -31711,9 +31875,9 @@ proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.deserializeBinaryF
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.deserializeBinaryFromReader);
-      msg.setV0(value);
+      var value = new proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo.deserializeBinaryFromReader);
+      msg.addFinalizedEpochInfos(value);
       break;
     default:
       reader.skipField();
@@ -31728,9 +31892,9 @@ proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.deserializeBinaryF
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -31738,52 +31902,71 @@ proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.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.GetVotePollsByEndDateResponse} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getV0();
-  if (f != null) {
-    writer.writeMessage(
+  f = message.getFinalizedEpochInfosList();
+  if (f.length > 0) {
+    writer.writeRepeatedMessage(
       1,
       f,
-      proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo.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 FinalizedEpochInfo finalized_epoch_infos = 1;
+ * @return {!Array}
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.oneofGroups_ = [[1,2]];
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos.prototype.getFinalizedEpochInfosList = function() {
+  return /** @type{!Array} */ (
+    jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo, 1));
+};
+
 
 /**
- * @enum {number}
+ * @param {!Array} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos.prototype.setFinalizedEpochInfosList = function(value) {
+  return jspb.Message.setRepeatedWrapperField(this, 1, value);
+};
+
+
+/**
+ * @param {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo=} opt_value
+ * @param {number=} opt_index
+ * @return {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo}
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.ResultCase = {
-  RESULT_NOT_SET: 0,
-  VOTE_POLLS_BY_TIMESTAMPS: 1,
-  PROOF: 2
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos.prototype.addFinalizedEpochInfos = function(opt_value, opt_index) {
+  return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo, opt_index);
 };
 
+
 /**
- * @return {proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.ResultCase}
+ * Clears the list making it empty but non-null.
+ * @return {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos} returns this
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.prototype.getResultCase = function() {
-  return /** @type {proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.oneofGroups_[0]));
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos.prototype.clearFinalizedEpochInfosList = function() {
+  return this.setFinalizedEpochInfosList([]);
 };
 
 
 
+/**
+ * List of repeated fields within this message type.
+ * @private {!Array}
+ * @const
+ */
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo.repeatedFields_ = [13];
+
+
+
 if (jspb.Message.GENERATE_TO_OBJECT) {
 /**
  * Creates an object representation of this proto.
@@ -31797,8 +31980,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo.toObject(opt_includeInstance, this);
 };
 
 
@@ -31807,15 +31990,26 @@ proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndD
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo.toObject = function(includeInstance, msg) {
   var f, obj = {
-    votePollsByTimestamps: (f = msg.getVotePollsByTimestamps()) && proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.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)
+    number: jspb.Message.getFieldWithDefault(msg, 1, 0),
+    firstBlockHeight: jspb.Message.getFieldWithDefault(msg, 2, "0"),
+    firstCoreBlockHeight: jspb.Message.getFieldWithDefault(msg, 3, 0),
+    firstBlockTime: jspb.Message.getFieldWithDefault(msg, 4, "0"),
+    feeMultiplier: jspb.Message.getFloatingPointFieldWithDefault(msg, 5, 0.0),
+    protocolVersion: jspb.Message.getFieldWithDefault(msg, 6, 0),
+    totalBlocksInEpoch: jspb.Message.getFieldWithDefault(msg, 7, "0"),
+    nextEpochStartCoreBlockHeight: jspb.Message.getFieldWithDefault(msg, 8, 0),
+    totalProcessingFees: jspb.Message.getFieldWithDefault(msg, 9, "0"),
+    totalDistributedStorageFees: jspb.Message.getFieldWithDefault(msg, 10, "0"),
+    totalCreatedStorageFees: jspb.Message.getFieldWithDefault(msg, 11, "0"),
+    coreBlockRewards: jspb.Message.getFieldWithDefault(msg, 12, "0"),
+    blockProposersList: jspb.Message.toObjectList(msg.getBlockProposersList(),
+    proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer.toObject, includeInstance)
   };
 
   if (includeInstance) {
@@ -31829,23 +32023,23 @@ proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndD
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo}
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0;
-  return proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo;
+  return proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo}
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -31853,19 +32047,57 @@ proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndD
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.deserializeBinaryFromReader);
-      msg.setVotePollsByTimestamps(value);
+      var value = /** @type {number} */ (reader.readUint32());
+      msg.setNumber(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.readUint64String());
+      msg.setFirstBlockHeight(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.setFirstCoreBlockHeight(value);
+      break;
+    case 4:
+      var value = /** @type {string} */ (reader.readUint64String());
+      msg.setFirstBlockTime(value);
+      break;
+    case 5:
+      var value = /** @type {number} */ (reader.readDouble());
+      msg.setFeeMultiplier(value);
+      break;
+    case 6:
+      var value = /** @type {number} */ (reader.readUint32());
+      msg.setProtocolVersion(value);
+      break;
+    case 7:
+      var value = /** @type {string} */ (reader.readUint64String());
+      msg.setTotalBlocksInEpoch(value);
+      break;
+    case 8:
+      var value = /** @type {number} */ (reader.readUint32());
+      msg.setNextEpochStartCoreBlockHeight(value);
+      break;
+    case 9:
+      var value = /** @type {string} */ (reader.readUint64String());
+      msg.setTotalProcessingFees(value);
+      break;
+    case 10:
+      var value = /** @type {string} */ (reader.readUint64String());
+      msg.setTotalDistributedStorageFees(value);
+      break;
+    case 11:
+      var value = /** @type {string} */ (reader.readUint64String());
+      msg.setTotalCreatedStorageFees(value);
+      break;
+    case 12:
+      var value = /** @type {string} */ (reader.readUint64String());
+      msg.setCoreBlockRewards(value);
+      break;
+    case 13:
+      var value = new proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer.deserializeBinaryFromReader);
+      msg.addBlockProposers(value);
       break;
     default:
       reader.skipField();
@@ -31880,9 +32112,9 @@ proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndD
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -31890,256 +32122,361 @@ proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndD
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getVotePollsByTimestamps();
-  if (f != null) {
-    writer.writeMessage(
+  f = message.getNumber();
+  if (f !== 0) {
+    writer.writeUint32(
       1,
-      f,
-      proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.serializeBinaryToWriter
+      f
     );
   }
-  f = message.getProof();
-  if (f != null) {
-    writer.writeMessage(
+  f = message.getFirstBlockHeight();
+  if (parseInt(f, 10) !== 0) {
+    writer.writeUint64String(
       2,
-      f,
-      proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter
+      f
     );
   }
-  f = message.getMetadata();
-  if (f != null) {
-    writer.writeMessage(
+  f = message.getFirstCoreBlockHeight();
+  if (f !== 0) {
+    writer.writeUint32(
       3,
+      f
+    );
+  }
+  f = message.getFirstBlockTime();
+  if (parseInt(f, 10) !== 0) {
+    writer.writeUint64String(
+      4,
+      f
+    );
+  }
+  f = message.getFeeMultiplier();
+  if (f !== 0.0) {
+    writer.writeDouble(
+      5,
+      f
+    );
+  }
+  f = message.getProtocolVersion();
+  if (f !== 0) {
+    writer.writeUint32(
+      6,
+      f
+    );
+  }
+  f = message.getTotalBlocksInEpoch();
+  if (parseInt(f, 10) !== 0) {
+    writer.writeUint64String(
+      7,
+      f
+    );
+  }
+  f = message.getNextEpochStartCoreBlockHeight();
+  if (f !== 0) {
+    writer.writeUint32(
+      8,
+      f
+    );
+  }
+  f = message.getTotalProcessingFees();
+  if (parseInt(f, 10) !== 0) {
+    writer.writeUint64String(
+      9,
+      f
+    );
+  }
+  f = message.getTotalDistributedStorageFees();
+  if (parseInt(f, 10) !== 0) {
+    writer.writeUint64String(
+      10,
+      f
+    );
+  }
+  f = message.getTotalCreatedStorageFees();
+  if (parseInt(f, 10) !== 0) {
+    writer.writeUint64String(
+      11,
+      f
+    );
+  }
+  f = message.getCoreBlockRewards();
+  if (parseInt(f, 10) !== 0) {
+    writer.writeUint64String(
+      12,
+      f
+    );
+  }
+  f = message.getBlockProposersList();
+  if (f.length > 0) {
+    writer.writeRepeatedMessage(
+      13,
       f,
-      proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer.serializeBinaryToWriter
     );
   }
 };
 
 
+/**
+ * optional uint32 number = 1;
+ * @return {number}
+ */
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo.prototype.getNumber = function() {
+  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
+};
+
 
 /**
- * List of repeated fields within this message type.
- * @private {!Array}
- * @const
+ * @param {number} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo} returns this
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.repeatedFields_ = [2];
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo.prototype.setNumber = function(value) {
+  return jspb.Message.setProto3IntField(this, 1, value);
+};
+
 
+/**
+ * optional uint64 first_block_height = 2;
+ * @return {string}
+ */
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo.prototype.getFirstBlockHeight = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "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 {string} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo} returns this
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo.prototype.setFirstBlockHeight = function(value) {
+  return jspb.Message.setProto3StringIntField(this, 2, 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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp} msg The msg instance to transform.
- * @return {!Object}
- * @suppress {unusedLocalVariables} f is only used for nested messages
+ * optional uint32 first_core_block_height = 3;
+ * @return {number}
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.toObject = function(includeInstance, msg) {
-  var f, obj = {
-    timestamp: jspb.Message.getFieldWithDefault(msg, 1, "0"),
-    serializedVotePollsList: msg.getSerializedVotePollsList_asB64()
-  };
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo.prototype.getFirstCoreBlockHeight = function() {
+  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));
+};
 
-  if (includeInstance) {
-    obj.$jspbMessageInstance = msg;
-  }
-  return obj;
+
+/**
+ * @param {number} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo.prototype.setFirstCoreBlockHeight = function(value) {
+  return jspb.Message.setProto3IntField(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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp}
+ * optional uint64 first_block_time = 4;
+ * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.deserializeBinary = function(bytes) {
-  var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp;
-  return proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.deserializeBinaryFromReader(msg, reader);
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo.prototype.getFirstBlockTime = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, "0"));
 };
 
 
 /**
- * Deserializes binary data (in protobuf wire format) from the
- * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp} msg The message object to deserialize into.
- * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp}
+ * @param {string} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo} returns this
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.deserializeBinaryFromReader = function(msg, reader) {
-  while (reader.nextField()) {
-    if (reader.isEndGroup()) {
-      break;
-    }
-    var field = reader.getFieldNumber();
-    switch (field) {
-    case 1:
-      var value = /** @type {string} */ (reader.readUint64String());
-      msg.setTimestamp(value);
-      break;
-    case 2:
-      var value = /** @type {!Uint8Array} */ (reader.readBytes());
-      msg.addSerializedVotePolls(value);
-      break;
-    default:
-      reader.skipField();
-      break;
-    }
-  }
-  return msg;
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo.prototype.setFirstBlockTime = function(value) {
+  return jspb.Message.setProto3StringIntField(this, 4, value);
 };
 
 
 /**
- * Serializes the message to binary data (in protobuf wire format).
- * @return {!Uint8Array}
+ * optional double fee_multiplier = 5;
+ * @return {number}
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.prototype.serializeBinary = function() {
-  var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.serializeBinaryToWriter(this, writer);
-  return writer.getResultBuffer();
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo.prototype.getFeeMultiplier = function() {
+  return /** @type {number} */ (jspb.Message.getFloatingPointFieldWithDefault(this, 5, 0.0));
 };
 
 
 /**
- * Serializes the given message to binary data (in protobuf wire
- * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp} message
- * @param {!jspb.BinaryWriter} writer
- * @suppress {unusedLocalVariables} f is only used for nested messages
+ * @param {number} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo} returns this
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.serializeBinaryToWriter = function(message, writer) {
-  var f = undefined;
-  f = message.getTimestamp();
-  if (parseInt(f, 10) !== 0) {
-    writer.writeUint64String(
-      1,
-      f
-    );
-  }
-  f = message.getSerializedVotePollsList_asU8();
-  if (f.length > 0) {
-    writer.writeRepeatedBytes(
-      2,
-      f
-    );
-  }
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo.prototype.setFeeMultiplier = function(value) {
+  return jspb.Message.setProto3FloatField(this, 5, value);
 };
 
 
 /**
- * optional uint64 timestamp = 1;
+ * optional uint32 protocol_version = 6;
+ * @return {number}
+ */
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo.prototype.getProtocolVersion = function() {
+  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 6, 0));
+};
+
+
+/**
+ * @param {number} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo.prototype.setProtocolVersion = function(value) {
+  return jspb.Message.setProto3IntField(this, 6, value);
+};
+
+
+/**
+ * optional uint64 total_blocks_in_epoch = 7;
  * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.prototype.getTimestamp = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "0"));
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo.prototype.getTotalBlocksInEpoch = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 7, "0"));
 };
 
 
 /**
  * @param {string} value
- * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo} returns this
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.prototype.setTimestamp = function(value) {
-  return jspb.Message.setProto3StringIntField(this, 1, value);
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo.prototype.setTotalBlocksInEpoch = function(value) {
+  return jspb.Message.setProto3StringIntField(this, 7, value);
 };
 
 
 /**
- * repeated bytes serialized_vote_polls = 2;
- * @return {!Array}
+ * optional uint32 next_epoch_start_core_block_height = 8;
+ * @return {number}
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.prototype.getSerializedVotePollsList = function() {
-  return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 2));
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo.prototype.getNextEpochStartCoreBlockHeight = function() {
+  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 8, 0));
 };
 
 
 /**
- * repeated bytes serialized_vote_polls = 2;
- * This is a type-conversion wrapper around `getSerializedVotePollsList()`
- * @return {!Array}
+ * @param {number} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo} returns this
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.prototype.getSerializedVotePollsList_asB64 = function() {
-  return /** @type {!Array} */ (jspb.Message.bytesListAsB64(
-      this.getSerializedVotePollsList()));
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo.prototype.setNextEpochStartCoreBlockHeight = function(value) {
+  return jspb.Message.setProto3IntField(this, 8, value);
 };
 
 
 /**
- * repeated bytes serialized_vote_polls = 2;
- * Note that Uint8Array is not supported on all browsers.
- * @see http://caniuse.com/Uint8Array
- * This is a type-conversion wrapper around `getSerializedVotePollsList()`
- * @return {!Array}
+ * optional uint64 total_processing_fees = 9;
+ * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.prototype.getSerializedVotePollsList_asU8 = function() {
-  return /** @type {!Array} */ (jspb.Message.bytesListAsU8(
-      this.getSerializedVotePollsList()));
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo.prototype.getTotalProcessingFees = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 9, "0"));
 };
 
 
 /**
- * @param {!(Array|Array)} value
- * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp} returns this
+ * @param {string} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo} returns this
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.prototype.setSerializedVotePollsList = function(value) {
-  return jspb.Message.setField(this, 2, value || []);
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo.prototype.setTotalProcessingFees = function(value) {
+  return jspb.Message.setProto3StringIntField(this, 9, value);
 };
 
 
 /**
- * @param {!(string|Uint8Array)} value
- * @param {number=} opt_index
- * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp} returns this
+ * optional uint64 total_distributed_storage_fees = 10;
+ * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.prototype.addSerializedVotePolls = function(value, opt_index) {
-  return jspb.Message.addToRepeatedField(this, 2, value, opt_index);
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo.prototype.getTotalDistributedStorageFees = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 10, "0"));
 };
 
 
 /**
- * Clears the list making it empty but non-null.
- * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp} returns this
+ * @param {string} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo} returns this
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.prototype.clearSerializedVotePollsList = function() {
-  return this.setSerializedVotePollsList([]);
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo.prototype.setTotalDistributedStorageFees = function(value) {
+  return jspb.Message.setProto3StringIntField(this, 10, value);
 };
 
 
+/**
+ * optional uint64 total_created_storage_fees = 11;
+ * @return {string}
+ */
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo.prototype.getTotalCreatedStorageFees = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 11, "0"));
+};
+
 
 /**
- * List of repeated fields within this message type.
- * @private {!Array}
- * @const
+ * @param {string} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo} returns this
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.repeatedFields_ = [1];
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo.prototype.setTotalCreatedStorageFees = function(value) {
+  return jspb.Message.setProto3StringIntField(this, 11, value);
+};
+
+
+/**
+ * optional uint64 core_block_rewards = 12;
+ * @return {string}
+ */
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo.prototype.getCoreBlockRewards = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 12, "0"));
+};
+
+
+/**
+ * @param {string} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo.prototype.setCoreBlockRewards = function(value) {
+  return jspb.Message.setProto3StringIntField(this, 12, value);
+};
+
+
+/**
+ * repeated BlockProposer block_proposers = 13;
+ * @return {!Array}
+ */
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo.prototype.getBlockProposersList = function() {
+  return /** @type{!Array} */ (
+    jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer, 13));
+};
+
+
+/**
+ * @param {!Array} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo.prototype.setBlockProposersList = function(value) {
+  return jspb.Message.setRepeatedWrapperField(this, 13, value);
+};
+
+
+/**
+ * @param {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer=} opt_value
+ * @param {number=} opt_index
+ * @return {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer}
+ */
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo.prototype.addBlockProposers = function(opt_value, opt_index) {
+  return jspb.Message.addToRepeatedWrapperField(this, 13, opt_value, proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer, opt_index);
+};
+
+
+/**
+ * Clears the list making it empty but non-null.
+ * @return {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfo.prototype.clearBlockProposersList = function() {
+  return this.setBlockProposersList([]);
+};
+
+
 
 
 
@@ -32156,8 +32493,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer.toObject(opt_includeInstance, this);
 };
 
 
@@ -32166,15 +32503,14 @@ proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndD
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer.toObject = function(includeInstance, msg) {
   var f, obj = {
-    votePollsByTimestampsList: jspb.Message.toObjectList(msg.getVotePollsByTimestampsList(),
-    proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.toObject, includeInstance),
-    finishedResults: jspb.Message.getBooleanFieldWithDefault(msg, 2, false)
+    proposerId: msg.getProposerId_asB64(),
+    blockCount: jspb.Message.getFieldWithDefault(msg, 2, 0)
   };
 
   if (includeInstance) {
@@ -32188,23 +32524,23 @@ proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndD
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps}
+ * @return {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer}
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps;
-  return proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer;
+  return proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps}
+ * @return {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer}
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -32212,13 +32548,12 @@ proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndD
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.deserializeBinaryFromReader);
-      msg.addVotePollsByTimestamps(value);
+      var value = /** @type {!Uint8Array} */ (reader.readBytes());
+      msg.setProposerId(value);
       break;
     case 2:
-      var value = /** @type {boolean} */ (reader.readBool());
-      msg.setFinishedResults(value);
+      var value = /** @type {number} */ (reader.readUint32());
+      msg.setBlockCount(value);
       break;
     default:
       reader.skipField();
@@ -32233,9 +32568,9 @@ proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndD
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -32243,23 +32578,22 @@ proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndD
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getVotePollsByTimestampsList();
+  f = message.getProposerId_asU8();
   if (f.length > 0) {
-    writer.writeRepeatedMessage(
+    writer.writeBytes(
       1,
-      f,
-      proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.serializeBinaryToWriter
+      f
     );
   }
-  f = message.getFinishedResults();
-  if (f) {
-    writer.writeBool(
+  f = message.getBlockCount();
+  if (f !== 0) {
+    writer.writeUint32(
       2,
       f
     );
@@ -32268,86 +32602,90 @@ proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndD
 
 
 /**
- * repeated SerializedVotePollsByTimestamp vote_polls_by_timestamps = 1;
- * @return {!Array}
+ * optional bytes proposer_id = 1;
+ * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.prototype.getVotePollsByTimestampsList = function() {
-  return /** @type{!Array} */ (
-    jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp, 1));
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer.prototype.getProposerId = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
 };
 
 
 /**
- * @param {!Array} value
- * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps} returns this
-*/
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.prototype.setVotePollsByTimestampsList = function(value) {
-  return jspb.Message.setRepeatedWrapperField(this, 1, value);
+ * optional bytes proposer_id = 1;
+ * This is a type-conversion wrapper around `getProposerId()`
+ * @return {string}
+ */
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer.prototype.getProposerId_asB64 = function() {
+  return /** @type {string} */ (jspb.Message.bytesAsB64(
+      this.getProposerId()));
 };
 
 
 /**
- * @param {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp=} opt_value
- * @param {number=} opt_index
- * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp}
+ * optional bytes proposer_id = 1;
+ * Note that Uint8Array is not supported on all browsers.
+ * @see http://caniuse.com/Uint8Array
+ * This is a type-conversion wrapper around `getProposerId()`
+ * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.prototype.addVotePollsByTimestamps = function(opt_value, opt_index) {
-  return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp, opt_index);
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer.prototype.getProposerId_asU8 = function() {
+  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
+      this.getProposerId()));
 };
 
 
 /**
- * Clears the list making it empty but non-null.
- * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps} returns this
+ * @param {!(string|Uint8Array)} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer} returns this
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.prototype.clearVotePollsByTimestampsList = function() {
-  return this.setVotePollsByTimestampsList([]);
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer.prototype.setProposerId = function(value) {
+  return jspb.Message.setProto3BytesField(this, 1, value);
 };
 
 
 /**
- * optional bool finished_results = 2;
- * @return {boolean}
+ * optional uint32 block_count = 2;
+ * @return {number}
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.prototype.getFinishedResults = function() {
-  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer.prototype.getBlockCount = function() {
+  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
 };
 
 
 /**
- * @param {boolean} value
- * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps} returns this
+ * @param {number} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer} returns this
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.prototype.setFinishedResults = function(value) {
-  return jspb.Message.setProto3BooleanField(this, 2, value);
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.BlockProposer.prototype.setBlockCount = function(value) {
+  return jspb.Message.setProto3IntField(this, 2, value);
 };
 
 
 /**
- * optional SerializedVotePollsByTimestamps vote_polls_by_timestamps = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps}
+ * optional FinalizedEpochInfos epochs = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos}
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.prototype.getVotePollsByTimestamps = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps, 1));
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.prototype.getEpochs = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos, 1));
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0} returns this
+ * @param {?proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.FinalizedEpochInfos|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0} returns this
 */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.prototype.setVotePollsByTimestamps = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.oneofGroups_[0], value);
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.prototype.setEpochs = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.oneofGroups_[0], value);
 };
 
 
 /**
  * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.prototype.clearVotePollsByTimestamps = function() {
-  return this.setVotePollsByTimestamps(undefined);
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.prototype.clearEpochs = function() {
+  return this.setEpochs(undefined);
 };
 
 
@@ -32355,7 +32693,7 @@ proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndD
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.prototype.hasVotePollsByTimestamps = function() {
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.prototype.hasEpochs = function() {
   return jspb.Message.getField(this, 1) != null;
 };
 
@@ -32364,7 +32702,7 @@ proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndD
  * optional Proof proof = 2;
  * @return {?proto.org.dash.platform.dapi.v0.Proof}
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.prototype.getProof = function() {
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.prototype.getProof = function() {
   return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ (
     jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2));
 };
@@ -32372,18 +32710,18 @@ proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndD
 
 /**
  * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0} returns this
 */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.prototype.setProof = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.oneofGroups_[0], value);
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.prototype.setProof = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.oneofGroups_[0], value);
 };
 
 
 /**
  * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.prototype.clearProof = function() {
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.prototype.clearProof = function() {
   return this.setProof(undefined);
 };
 
@@ -32392,7 +32730,7 @@ proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndD
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.prototype.hasProof = function() {
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.prototype.hasProof = function() {
   return jspb.Message.getField(this, 2) != null;
 };
 
@@ -32401,7 +32739,7 @@ proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndD
  * optional ResponseMetadata metadata = 3;
  * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata}
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.prototype.getMetadata = function() {
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.prototype.getMetadata = function() {
   return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ (
     jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3));
 };
@@ -32409,18 +32747,18 @@ proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndD
 
 /**
  * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0} returns this
 */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.prototype.setMetadata = function(value) {
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.prototype.clearMetadata = function() {
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.prototype.clearMetadata = function() {
   return this.setMetadata(undefined);
 };
 
@@ -32429,35 +32767,35 @@ proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndD
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.prototype.hasMetadata = function() {
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0.prototype.hasMetadata = function() {
   return jspb.Message.getField(this, 3) != null;
 };
 
 
 /**
- * optional GetVotePollsByEndDateResponseV0 v0 = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0}
+ * optional GetFinalizedEpochInfosResponseV0 v0 = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0}
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.prototype.getV0 = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0, 1));
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.prototype.getV0 = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0, 1));
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse} returns this
+ * @param {?proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.GetFinalizedEpochInfosResponseV0|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse} returns this
 */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.prototype.setV0 = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.oneofGroups_[0], value);
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.prototype.setV0 = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.oneofGroups_[0], value);
 };
 
 
 /**
  * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse} returns this
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.prototype.clearV0 = function() {
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.prototype.clearV0 = function() {
   return this.setV0(undefined);
 };
 
@@ -32466,7 +32804,7 @@ proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.prototype.clearV0
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.prototype.hasV0 = function() {
+proto.org.dash.platform.dapi.v0.GetFinalizedEpochInfosResponse.prototype.hasV0 = function() {
   return jspb.Message.getField(this, 1) != null;
 };
 
@@ -32480,21 +32818,21 @@ proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.prototype.hasV0 =
  * @private {!Array>}
  * @const
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.oneofGroups_ = [[1]];
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.oneofGroups_ = [[1]];
 
 /**
  * @enum {number}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.VersionCase = {
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.VersionCase = {
   VERSION_NOT_SET: 0,
   V0: 1
 };
 
 /**
- * @return {proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.VersionCase}
+ * @return {proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.VersionCase}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.prototype.getVersionCase = function() {
-  return /** @type {proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.oneofGroups_[0]));
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.prototype.getVersionCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.oneofGroups_[0]));
 };
 
 
@@ -32512,8 +32850,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.toObject(opt_includeInstance, this);
 };
 
 
@@ -32522,13 +32860,13 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.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.GetContestedResourceVoteStateRequest} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.toObject = function(includeInstance, msg) {
   var f, obj = {
-    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.toObject(includeInstance, f)
+    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.toObject(includeInstance, f)
   };
 
   if (includeInstance) {
@@ -32542,23 +32880,23 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.toObject =
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest}
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest;
-  return proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest;
+  return proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest}
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -32566,8 +32904,8 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.deserialize
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.deserializeBinaryFromReader);
+      var value = new proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.deserializeBinaryFromReader);
       msg.setV0(value);
       break;
     default:
@@ -32583,9 +32921,9 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.deserialize
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -32593,18 +32931,18 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.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.GetContestedResourceVoteStateRequest} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
   f = message.getV0();
   if (f != null) {
     writer.writeMessage(
       1,
       f,
-      proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.serializeBinaryToWriter
     );
   }
 };
@@ -32616,7 +32954,7 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.serializeBi
  * @private {!Array}
  * @const
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.repeatedFields_ = [4];
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.repeatedFields_ = [4,5];
 
 
 
@@ -32633,8 +32971,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.toObject(opt_includeInstance, this);
 };
 
 
@@ -32643,20 +32981,20 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetConteste
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.toObject = function(includeInstance, msg) {
   var f, obj = {
     contractId: msg.getContractId_asB64(),
     documentTypeName: jspb.Message.getFieldWithDefault(msg, 2, ""),
     indexName: jspb.Message.getFieldWithDefault(msg, 3, ""),
-    indexValuesList: msg.getIndexValuesList_asB64(),
-    resultType: jspb.Message.getFieldWithDefault(msg, 5, 0),
-    allowIncludeLockedAndAbstainingVoteTally: jspb.Message.getBooleanFieldWithDefault(msg, 6, false),
-    startAtIdentifierInfo: (f = msg.getStartAtIdentifierInfo()) && proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.toObject(includeInstance, f),
-    count: jspb.Message.getFieldWithDefault(msg, 8, 0),
+    startIndexValuesList: msg.getStartIndexValuesList_asB64(),
+    endIndexValuesList: msg.getEndIndexValuesList_asB64(),
+    startAtValueInfo: (f = msg.getStartAtValueInfo()) && proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.toObject(includeInstance, f),
+    count: jspb.Message.getFieldWithDefault(msg, 7, 0),
+    orderAscending: jspb.Message.getBooleanFieldWithDefault(msg, 8, false),
     prove: jspb.Message.getBooleanFieldWithDefault(msg, 9, false)
   };
 
@@ -32671,23 +33009,23 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetConteste
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0;
-  return proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0;
+  return proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -32708,25 +33046,25 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetConteste
       break;
     case 4:
       var value = /** @type {!Uint8Array} */ (reader.readBytes());
-      msg.addIndexValues(value);
+      msg.addStartIndexValues(value);
       break;
     case 5:
-      var value = /** @type {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.ResultType} */ (reader.readEnum());
-      msg.setResultType(value);
+      var value = /** @type {!Uint8Array} */ (reader.readBytes());
+      msg.addEndIndexValues(value);
       break;
     case 6:
-      var value = /** @type {boolean} */ (reader.readBool());
-      msg.setAllowIncludeLockedAndAbstainingVoteTally(value);
+      var value = new proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.deserializeBinaryFromReader);
+      msg.setStartAtValueInfo(value);
       break;
     case 7:
-      var value = new proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.deserializeBinaryFromReader);
-      msg.setStartAtIdentifierInfo(value);
-      break;
-    case 8:
       var value = /** @type {number} */ (reader.readUint32());
       msg.setCount(value);
       break;
+    case 8:
+      var value = /** @type {boolean} */ (reader.readBool());
+      msg.setOrderAscending(value);
+      break;
     case 9:
       var value = /** @type {boolean} */ (reader.readBool());
       msg.setProve(value);
@@ -32744,9 +33082,9 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetConteste
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -32754,11 +33092,11 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetConteste
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
   f = message.getContractId_asU8();
   if (f.length > 0) {
@@ -32781,38 +33119,38 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetConteste
       f
     );
   }
-  f = message.getIndexValuesList_asU8();
+  f = message.getStartIndexValuesList_asU8();
   if (f.length > 0) {
     writer.writeRepeatedBytes(
       4,
       f
     );
   }
-  f = message.getResultType();
-  if (f !== 0.0) {
-    writer.writeEnum(
+  f = message.getEndIndexValuesList_asU8();
+  if (f.length > 0) {
+    writer.writeRepeatedBytes(
       5,
       f
     );
   }
-  f = message.getAllowIncludeLockedAndAbstainingVoteTally();
-  if (f) {
-    writer.writeBool(
-      6,
-      f
-    );
-  }
-  f = message.getStartAtIdentifierInfo();
+  f = message.getStartAtValueInfo();
   if (f != null) {
     writer.writeMessage(
-      7,
+      6,
       f,
-      proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.serializeBinaryToWriter
     );
   }
-  f = /** @type {number} */ (jspb.Message.getField(message, 8));
+  f = /** @type {number} */ (jspb.Message.getField(message, 7));
   if (f != null) {
     writer.writeUint32(
+      7,
+      f
+    );
+  }
+  f = message.getOrderAscending();
+  if (f) {
+    writer.writeBool(
       8,
       f
     );
@@ -32827,15 +33165,6 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetConteste
 };
 
 
-/**
- * @enum {number}
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.ResultType = {
-  DOCUMENTS: 0,
-  VOTE_TALLY: 1,
-  DOCUMENTS_AND_VOTE_TALLY: 2
-};
-
 
 
 
@@ -32852,8 +33181,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.toObject(opt_includeInstance, this);
 };
 
 
@@ -32862,14 +33191,14 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetConteste
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.toObject = function(includeInstance, msg) {
   var f, obj = {
-    startIdentifier: msg.getStartIdentifier_asB64(),
-    startIdentifierIncluded: jspb.Message.getBooleanFieldWithDefault(msg, 2, false)
+    startValue: msg.getStartValue_asB64(),
+    startValueIncluded: jspb.Message.getBooleanFieldWithDefault(msg, 2, false)
   };
 
   if (includeInstance) {
@@ -32883,23 +33212,23 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetConteste
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo}
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo;
-  return proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo;
+  return proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo}
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -32908,11 +33237,11 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetConteste
     switch (field) {
     case 1:
       var value = /** @type {!Uint8Array} */ (reader.readBytes());
-      msg.setStartIdentifier(value);
+      msg.setStartValue(value);
       break;
     case 2:
       var value = /** @type {boolean} */ (reader.readBool());
-      msg.setStartIdentifierIncluded(value);
+      msg.setStartValueIncluded(value);
       break;
     default:
       reader.skipField();
@@ -32927,9 +33256,9 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetConteste
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -32937,20 +33266,20 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetConteste
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getStartIdentifier_asU8();
+  f = message.getStartValue_asU8();
   if (f.length > 0) {
     writer.writeBytes(
       1,
       f
     );
   }
-  f = message.getStartIdentifierIncluded();
+  f = message.getStartValueIncluded();
   if (f) {
     writer.writeBool(
       2,
@@ -32961,61 +33290,61 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetConteste
 
 
 /**
- * optional bytes start_identifier = 1;
+ * optional bytes start_value = 1;
  * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.prototype.getStartIdentifier = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.prototype.getStartValue = function() {
   return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
 };
 
 
 /**
- * optional bytes start_identifier = 1;
- * This is a type-conversion wrapper around `getStartIdentifier()`
+ * optional bytes start_value = 1;
+ * This is a type-conversion wrapper around `getStartValue()`
  * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.prototype.getStartIdentifier_asB64 = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.prototype.getStartValue_asB64 = function() {
   return /** @type {string} */ (jspb.Message.bytesAsB64(
-      this.getStartIdentifier()));
+      this.getStartValue()));
 };
 
 
 /**
- * optional bytes start_identifier = 1;
+ * optional bytes start_value = 1;
  * Note that Uint8Array is not supported on all browsers.
  * @see http://caniuse.com/Uint8Array
- * This is a type-conversion wrapper around `getStartIdentifier()`
+ * This is a type-conversion wrapper around `getStartValue()`
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.prototype.getStartIdentifier_asU8 = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.prototype.getStartValue_asU8 = function() {
   return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
-      this.getStartIdentifier()));
+      this.getStartValue()));
 };
 
 
 /**
  * @param {!(string|Uint8Array)} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.prototype.setStartIdentifier = function(value) {
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.prototype.setStartValue = function(value) {
   return jspb.Message.setProto3BytesField(this, 1, value);
 };
 
 
 /**
- * optional bool start_identifier_included = 2;
+ * optional bool start_value_included = 2;
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.prototype.getStartIdentifierIncluded = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.prototype.getStartValueIncluded = function() {
   return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));
 };
 
 
 /**
  * @param {boolean} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.prototype.setStartIdentifierIncluded = function(value) {
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo.prototype.setStartValueIncluded = function(value) {
   return jspb.Message.setProto3BooleanField(this, 2, value);
 };
 
@@ -33024,7 +33353,7 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetConteste
  * optional bytes contract_id = 1;
  * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.getContractId = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.getContractId = function() {
   return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
 };
 
@@ -33034,7 +33363,7 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetConteste
  * This is a type-conversion wrapper around `getContractId()`
  * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.getContractId_asB64 = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.getContractId_asB64 = function() {
   return /** @type {string} */ (jspb.Message.bytesAsB64(
       this.getContractId()));
 };
@@ -33047,7 +33376,7 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetConteste
  * This is a type-conversion wrapper around `getContractId()`
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.getContractId_asU8 = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.getContractId_asU8 = function() {
   return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
       this.getContractId()));
 };
@@ -33055,9 +33384,9 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetConteste
 
 /**
  * @param {!(string|Uint8Array)} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.setContractId = function(value) {
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.setContractId = function(value) {
   return jspb.Message.setProto3BytesField(this, 1, value);
 };
 
@@ -33066,16 +33395,16 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetConteste
  * optional string document_type_name = 2;
  * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.getDocumentTypeName = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.getDocumentTypeName = function() {
   return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
 };
 
 
 /**
  * @param {string} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.setDocumentTypeName = function(value) {
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.setDocumentTypeName = function(value) {
   return jspb.Message.setProto3StringField(this, 2, value);
 };
 
@@ -33084,58 +33413,58 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetConteste
  * optional string index_name = 3;
  * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.getIndexName = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.getIndexName = function() {
   return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, ""));
 };
 
 
 /**
  * @param {string} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.setIndexName = function(value) {
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.setIndexName = function(value) {
   return jspb.Message.setProto3StringField(this, 3, value);
 };
 
 
 /**
- * repeated bytes index_values = 4;
+ * repeated bytes start_index_values = 4;
  * @return {!Array}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.getIndexValuesList = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.getStartIndexValuesList = function() {
   return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 4));
 };
 
 
 /**
- * repeated bytes index_values = 4;
- * This is a type-conversion wrapper around `getIndexValuesList()`
+ * repeated bytes start_index_values = 4;
+ * This is a type-conversion wrapper around `getStartIndexValuesList()`
  * @return {!Array}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.getIndexValuesList_asB64 = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.getStartIndexValuesList_asB64 = function() {
   return /** @type {!Array} */ (jspb.Message.bytesListAsB64(
-      this.getIndexValuesList()));
+      this.getStartIndexValuesList()));
 };
 
 
 /**
- * repeated bytes index_values = 4;
+ * repeated bytes start_index_values = 4;
  * Note that Uint8Array is not supported on all browsers.
  * @see http://caniuse.com/Uint8Array
- * This is a type-conversion wrapper around `getIndexValuesList()`
+ * This is a type-conversion wrapper around `getStartIndexValuesList()`
  * @return {!Array}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.getIndexValuesList_asU8 = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.getStartIndexValuesList_asU8 = function() {
   return /** @type {!Array} */ (jspb.Message.bytesListAsU8(
-      this.getIndexValuesList()));
+      this.getStartIndexValuesList()));
 };
 
 
 /**
  * @param {!(Array|Array)} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.setIndexValuesList = function(value) {
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.setStartIndexValuesList = function(value) {
   return jspb.Message.setField(this, 4, value || []);
 };
 
@@ -33143,83 +33472,108 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetConteste
 /**
  * @param {!(string|Uint8Array)} value
  * @param {number=} opt_index
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.addIndexValues = function(value, opt_index) {
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.addStartIndexValues = function(value, opt_index) {
   return jspb.Message.addToRepeatedField(this, 4, value, opt_index);
 };
 
 
 /**
  * Clears the list making it empty but non-null.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.clearIndexValuesList = function() {
-  return this.setIndexValuesList([]);
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.clearStartIndexValuesList = function() {
+  return this.setStartIndexValuesList([]);
 };
 
 
 /**
- * optional ResultType result_type = 5;
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.ResultType}
+ * repeated bytes end_index_values = 5;
+ * @return {!Array}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.getResultType = function() {
-  return /** @type {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.ResultType} */ (jspb.Message.getFieldWithDefault(this, 5, 0));
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.getEndIndexValuesList = function() {
+  return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 5));
 };
 
 
 /**
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.ResultType} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} returns this
+ * repeated bytes end_index_values = 5;
+ * This is a type-conversion wrapper around `getEndIndexValuesList()`
+ * @return {!Array}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.setResultType = function(value) {
-  return jspb.Message.setProto3EnumField(this, 5, value);
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.getEndIndexValuesList_asB64 = function() {
+  return /** @type {!Array} */ (jspb.Message.bytesListAsB64(
+      this.getEndIndexValuesList()));
 };
 
 
 /**
- * optional bool allow_include_locked_and_abstaining_vote_tally = 6;
- * @return {boolean}
+ * repeated bytes end_index_values = 5;
+ * Note that Uint8Array is not supported on all browsers.
+ * @see http://caniuse.com/Uint8Array
+ * This is a type-conversion wrapper around `getEndIndexValuesList()`
+ * @return {!Array}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.getAllowIncludeLockedAndAbstainingVoteTally = function() {
-  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 6, false));
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.getEndIndexValuesList_asU8 = function() {
+  return /** @type {!Array} */ (jspb.Message.bytesListAsU8(
+      this.getEndIndexValuesList()));
 };
 
 
 /**
- * @param {boolean} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} returns this
+ * @param {!(Array|Array)} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.setAllowIncludeLockedAndAbstainingVoteTally = function(value) {
-  return jspb.Message.setProto3BooleanField(this, 6, value);
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.setEndIndexValuesList = function(value) {
+  return jspb.Message.setField(this, 5, value || []);
 };
 
 
 /**
- * optional StartAtIdentifierInfo start_at_identifier_info = 7;
- * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo}
+ * @param {!(string|Uint8Array)} value
+ * @param {number=} opt_index
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.getStartAtIdentifierInfo = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo, 7));
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.addEndIndexValues = function(value, opt_index) {
+  return jspb.Message.addToRepeatedField(this, 5, value, opt_index);
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} returns this
+ * Clears the list making it empty but non-null.
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.clearEndIndexValuesList = function() {
+  return this.setEndIndexValuesList([]);
+};
+
+
+/**
+ * optional StartAtValueInfo start_at_value_info = 6;
+ * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo}
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.getStartAtValueInfo = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo, 6));
+};
+
+
+/**
+ * @param {?proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.StartAtValueInfo|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0} returns this
 */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.setStartAtIdentifierInfo = function(value) {
-  return jspb.Message.setWrapperField(this, 7, value);
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.setStartAtValueInfo = function(value) {
+  return jspb.Message.setWrapperField(this, 6, value);
 };
 
 
 /**
  * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.clearStartAtIdentifierInfo = function() {
-  return this.setStartAtIdentifierInfo(undefined);
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.clearStartAtValueInfo = function() {
+  return this.setStartAtValueInfo(undefined);
 };
 
 
@@ -33227,35 +33581,35 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetConteste
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.hasStartAtIdentifierInfo = function() {
-  return jspb.Message.getField(this, 7) != null;
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.hasStartAtValueInfo = function() {
+  return jspb.Message.getField(this, 6) != null;
 };
 
 
 /**
- * optional uint32 count = 8;
+ * optional uint32 count = 7;
  * @return {number}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.getCount = function() {
-  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 8, 0));
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.getCount = function() {
+  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 7, 0));
 };
 
 
 /**
  * @param {number} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.setCount = function(value) {
-  return jspb.Message.setField(this, 8, value);
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.setCount = function(value) {
+  return jspb.Message.setField(this, 7, value);
 };
 
 
 /**
  * Clears the field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.clearCount = function() {
-  return jspb.Message.setField(this, 8, undefined);
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.clearCount = function() {
+  return jspb.Message.setField(this, 7, undefined);
 };
 
 
@@ -33263,8 +33617,26 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetConteste
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.hasCount = function() {
-  return jspb.Message.getField(this, 8) != null;
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.hasCount = function() {
+  return jspb.Message.getField(this, 7) != null;
+};
+
+
+/**
+ * optional bool order_ascending = 8;
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.getOrderAscending = function() {
+  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 8, false));
+};
+
+
+/**
+ * @param {boolean} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.setOrderAscending = function(value) {
+  return jspb.Message.setProto3BooleanField(this, 8, value);
 };
 
 
@@ -33272,44 +33644,44 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetConteste
  * optional bool prove = 9;
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.getProve = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.getProve = function() {
   return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 9, false));
 };
 
 
 /**
  * @param {boolean} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.setProve = function(value) {
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0.prototype.setProve = function(value) {
   return jspb.Message.setProto3BooleanField(this, 9, value);
 };
 
 
 /**
- * optional GetContestedResourceVoteStateRequestV0 v0 = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0}
+ * optional GetContestedResourcesRequestV0 v0 = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.prototype.getV0 = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0, 1));
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.prototype.getV0 = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0, 1));
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest} returns this
+ * @param {?proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.GetContestedResourcesRequestV0|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest} returns this
 */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.prototype.setV0 = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.oneofGroups_[0], value);
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.prototype.setV0 = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.oneofGroups_[0], value);
 };
 
 
 /**
  * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.prototype.clearV0 = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.prototype.clearV0 = function() {
   return this.setV0(undefined);
 };
 
@@ -33318,7 +33690,7 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.prototype.c
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.prototype.hasV0 = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourcesRequest.prototype.hasV0 = function() {
   return jspb.Message.getField(this, 1) != null;
 };
 
@@ -33332,21 +33704,21 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.prototype.h
  * @private {!Array>}
  * @const
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.oneofGroups_ = [[1]];
+proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.oneofGroups_ = [[1]];
 
 /**
  * @enum {number}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.VersionCase = {
+proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.VersionCase = {
   VERSION_NOT_SET: 0,
   V0: 1
 };
 
 /**
- * @return {proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.VersionCase}
+ * @return {proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.VersionCase}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.prototype.getVersionCase = function() {
-  return /** @type {proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.oneofGroups_[0]));
+proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.prototype.getVersionCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.oneofGroups_[0]));
 };
 
 
@@ -33364,8 +33736,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.toObject(opt_includeInstance, this);
 };
 
 
@@ -33374,13 +33746,13 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.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.GetContestedResourceVoteStateResponse} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.toObject = function(includeInstance, msg) {
   var f, obj = {
-    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.toObject(includeInstance, f)
+    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.toObject(includeInstance, f)
   };
 
   if (includeInstance) {
@@ -33394,23 +33766,23 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.toObject =
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse}
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse;
-  return proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse;
+  return proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse}
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -33418,8 +33790,8 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.deserializ
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.deserializeBinaryFromReader);
+      var value = new proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.deserializeBinaryFromReader);
       msg.setV0(value);
       break;
     default:
@@ -33435,9 +33807,9 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.deserializ
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -33445,18 +33817,18 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.prototype.
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
   f = message.getV0();
   if (f != null) {
     writer.writeMessage(
       1,
       f,
-      proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.serializeBinaryToWriter
     );
   }
 };
@@ -33471,22 +33843,22 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.serializeB
  * @private {!Array>}
  * @const
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.oneofGroups_ = [[1,2]];
+proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.oneofGroups_ = [[1,2]];
 
 /**
  * @enum {number}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ResultCase = {
+proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ResultCase = {
   RESULT_NOT_SET: 0,
-  CONTESTED_RESOURCE_CONTENDERS: 1,
+  CONTESTED_RESOURCE_VALUES: 1,
   PROOF: 2
 };
 
 /**
- * @return {proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ResultCase}
+ * @return {proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ResultCase}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.prototype.getResultCase = function() {
-  return /** @type {proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.oneofGroups_[0]));
+proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.prototype.getResultCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.oneofGroups_[0]));
 };
 
 
@@ -33504,8 +33876,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.toObject(opt_includeInstance, this);
 };
 
 
@@ -33514,13 +33886,13 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContest
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.toObject = function(includeInstance, msg) {
   var f, obj = {
-    contestedResourceContenders: (f = msg.getContestedResourceContenders()) && proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.toObject(includeInstance, f),
+    contestedResourceValues: (f = msg.getContestedResourceValues()) && proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.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)
   };
@@ -33536,23 +33908,23 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContest
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0;
-  return proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0;
+  return proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -33560,9 +33932,9 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContest
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.deserializeBinaryFromReader);
-      msg.setContestedResourceContenders(value);
+      var value = new proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.deserializeBinaryFromReader);
+      msg.setContestedResourceValues(value);
       break;
     case 2:
       var value = new proto.org.dash.platform.dapi.v0.Proof;
@@ -33587,9 +33959,9 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContest
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -33597,18 +33969,18 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContest
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getContestedResourceContenders();
+  f = message.getContestedResourceValues();
   if (f != null) {
     writer.writeMessage(
       1,
       f,
-      proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.serializeBinaryToWriter
     );
   }
   f = message.getProof();
@@ -33631,6 +34003,13 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContest
 
 
 
+/**
+ * List of repeated fields within this message type.
+ * @private {!Array}
+ * @const
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.repeatedFields_ = [1];
+
 
 
 if (jspb.Message.GENERATE_TO_OBJECT) {
@@ -33646,8 +34025,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.toObject(opt_includeInstance, this);
 };
 
 
@@ -33656,18 +34035,13 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContest
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.toObject = function(includeInstance, msg) {
   var f, obj = {
-    finishedVoteOutcome: jspb.Message.getFieldWithDefault(msg, 1, 0),
-    wonByIdentityId: msg.getWonByIdentityId_asB64(),
-    finishedAtBlockHeight: jspb.Message.getFieldWithDefault(msg, 3, "0"),
-    finishedAtCoreBlockHeight: jspb.Message.getFieldWithDefault(msg, 4, 0),
-    finishedAtBlockTimeMs: jspb.Message.getFieldWithDefault(msg, 5, "0"),
-    finishedAtEpoch: jspb.Message.getFieldWithDefault(msg, 6, 0)
+    contestedResourceValuesList: msg.getContestedResourceValuesList_asB64()
   };
 
   if (includeInstance) {
@@ -33681,23 +34055,23 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContest
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo}
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo;
-  return proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues;
+  return proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo}
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -33705,28 +34079,8 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContest
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = /** @type {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.FinishedVoteOutcome} */ (reader.readEnum());
-      msg.setFinishedVoteOutcome(value);
-      break;
-    case 2:
       var value = /** @type {!Uint8Array} */ (reader.readBytes());
-      msg.setWonByIdentityId(value);
-      break;
-    case 3:
-      var value = /** @type {string} */ (reader.readUint64String());
-      msg.setFinishedAtBlockHeight(value);
-      break;
-    case 4:
-      var value = /** @type {number} */ (reader.readUint32());
-      msg.setFinishedAtCoreBlockHeight(value);
-      break;
-    case 5:
-      var value = /** @type {string} */ (reader.readUint64String());
-      msg.setFinishedAtBlockTimeMs(value);
-      break;
-    case 6:
-      var value = /** @type {number} */ (reader.readUint32());
-      msg.setFinishedAtEpoch(value);
+      msg.addContestedResourceValues(value);
       break;
     default:
       reader.skipField();
@@ -33741,9 +34095,9 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContest
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -33751,132 +34105,108 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContest
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getFinishedVoteOutcome();
-  if (f !== 0.0) {
-    writer.writeEnum(
+  f = message.getContestedResourceValuesList_asU8();
+  if (f.length > 0) {
+    writer.writeRepeatedBytes(
       1,
       f
     );
   }
-  f = /** @type {!(string|Uint8Array)} */ (jspb.Message.getField(message, 2));
-  if (f != null) {
-    writer.writeBytes(
-      2,
-      f
-    );
-  }
-  f = message.getFinishedAtBlockHeight();
-  if (parseInt(f, 10) !== 0) {
-    writer.writeUint64String(
-      3,
-      f
-    );
-  }
-  f = message.getFinishedAtCoreBlockHeight();
-  if (f !== 0) {
-    writer.writeUint32(
-      4,
-      f
-    );
-  }
-  f = message.getFinishedAtBlockTimeMs();
-  if (parseInt(f, 10) !== 0) {
-    writer.writeUint64String(
-      5,
-      f
-    );
-  }
-  f = message.getFinishedAtEpoch();
-  if (f !== 0) {
-    writer.writeUint32(
-      6,
-      f
-    );
-  }
 };
 
 
 /**
- * @enum {number}
+ * repeated bytes contested_resource_values = 1;
+ * @return {!Array}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.FinishedVoteOutcome = {
-  TOWARDS_IDENTITY: 0,
-  LOCKED: 1,
-  NO_PREVIOUS_WINNER: 2
+proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.prototype.getContestedResourceValuesList = function() {
+  return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1));
 };
 
+
 /**
- * optional FinishedVoteOutcome finished_vote_outcome = 1;
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.FinishedVoteOutcome}
+ * repeated bytes contested_resource_values = 1;
+ * This is a type-conversion wrapper around `getContestedResourceValuesList()`
+ * @return {!Array}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.prototype.getFinishedVoteOutcome = function() {
-  return /** @type {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.FinishedVoteOutcome} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
+proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.prototype.getContestedResourceValuesList_asB64 = function() {
+  return /** @type {!Array} */ (jspb.Message.bytesListAsB64(
+      this.getContestedResourceValuesList()));
 };
 
 
 /**
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.FinishedVoteOutcome} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo} returns this
+ * repeated bytes contested_resource_values = 1;
+ * Note that Uint8Array is not supported on all browsers.
+ * @see http://caniuse.com/Uint8Array
+ * This is a type-conversion wrapper around `getContestedResourceValuesList()`
+ * @return {!Array}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.prototype.setFinishedVoteOutcome = function(value) {
-  return jspb.Message.setProto3EnumField(this, 1, value);
+proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.prototype.getContestedResourceValuesList_asU8 = function() {
+  return /** @type {!Array} */ (jspb.Message.bytesListAsU8(
+      this.getContestedResourceValuesList()));
 };
 
 
 /**
- * optional bytes won_by_identity_id = 2;
- * @return {string}
+ * @param {!(Array|Array)} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.prototype.getWonByIdentityId = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
+proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.prototype.setContestedResourceValuesList = function(value) {
+  return jspb.Message.setField(this, 1, value || []);
 };
 
 
 /**
- * optional bytes won_by_identity_id = 2;
- * This is a type-conversion wrapper around `getWonByIdentityId()`
- * @return {string}
+ * @param {!(string|Uint8Array)} value
+ * @param {number=} opt_index
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.prototype.getWonByIdentityId_asB64 = function() {
-  return /** @type {string} */ (jspb.Message.bytesAsB64(
-      this.getWonByIdentityId()));
+proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.prototype.addContestedResourceValues = function(value, opt_index) {
+  return jspb.Message.addToRepeatedField(this, 1, value, opt_index);
 };
 
 
 /**
- * optional bytes won_by_identity_id = 2;
- * Note that Uint8Array is not supported on all browsers.
- * @see http://caniuse.com/Uint8Array
- * This is a type-conversion wrapper around `getWonByIdentityId()`
- * @return {!Uint8Array}
+ * Clears the list making it empty but non-null.
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.prototype.getWonByIdentityId_asU8 = function() {
-  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
-      this.getWonByIdentityId()));
+proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues.prototype.clearContestedResourceValuesList = function() {
+  return this.setContestedResourceValuesList([]);
 };
 
 
 /**
- * @param {!(string|Uint8Array)} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo} returns this
+ * optional ContestedResourceValues contested_resource_values = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.prototype.setWonByIdentityId = function(value) {
-  return jspb.Message.setField(this, 2, value);
+proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.prototype.getContestedResourceValues = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues, 1));
 };
 
 
 /**
- * Clears the field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo} returns this
+ * @param {?proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.ContestedResourceValues|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.prototype.setContestedResourceValues = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.oneofGroups_[0], value);
+};
+
+
+/**
+ * Clears the message field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.prototype.clearWonByIdentityId = function() {
-  return jspb.Message.setField(this, 2, undefined);
+proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.prototype.clearContestedResourceValues = function() {
+  return this.setContestedResourceValues(undefined);
 };
 
 
@@ -33884,90 +34214,147 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContest
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.prototype.hasWonByIdentityId = function() {
-  return jspb.Message.getField(this, 2) != null;
+proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.prototype.hasContestedResourceValues = function() {
+  return jspb.Message.getField(this, 1) != null;
 };
 
 
 /**
- * optional uint64 finished_at_block_height = 3;
- * @return {string}
+ * optional Proof proof = 2;
+ * @return {?proto.org.dash.platform.dapi.v0.Proof}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.prototype.getFinishedAtBlockHeight = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "0"));
+proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.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} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo} returns this
+ * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.prototype.setProof = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.oneofGroups_[0], value);
+};
+
+
+/**
+ * Clears the message field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.prototype.setFinishedAtBlockHeight = function(value) {
-  return jspb.Message.setProto3StringIntField(this, 3, value);
+proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.prototype.clearProof = function() {
+  return this.setProof(undefined);
 };
 
 
 /**
- * optional uint32 finished_at_core_block_height = 4;
- * @return {number}
+ * Returns whether this field is set.
+ * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.prototype.getFinishedAtCoreBlockHeight = function() {
-  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0));
+proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.prototype.hasProof = function() {
+  return jspb.Message.getField(this, 2) != null;
 };
 
 
 /**
- * @param {number} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo} returns this
+ * optional ResponseMetadata metadata = 3;
+ * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.prototype.setFinishedAtCoreBlockHeight = function(value) {
-  return jspb.Message.setProto3IntField(this, 4, value);
+proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.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 uint64 finished_at_block_time_ms = 5;
- * @return {string}
+ * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.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.GetContestedResourcesResponse.GetContestedResourcesResponseV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.prototype.getFinishedAtBlockTimeMs = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, "0"));
+proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.prototype.clearMetadata = function() {
+  return this.setMetadata(undefined);
 };
 
 
 /**
- * @param {string} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo} returns this
+ * Returns whether this field is set.
+ * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.prototype.setFinishedAtBlockTimeMs = function(value) {
-  return jspb.Message.setProto3StringIntField(this, 5, value);
+proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0.prototype.hasMetadata = function() {
+  return jspb.Message.getField(this, 3) != null;
 };
 
 
 /**
- * optional uint32 finished_at_epoch = 6;
- * @return {number}
+ * optional GetContestedResourcesResponseV0 v0 = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.prototype.getFinishedAtEpoch = function() {
-  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 6, 0));
+proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.prototype.getV0 = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0, 1));
 };
 
 
 /**
- * @param {number} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo} returns this
+ * @param {?proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.GetContestedResourcesResponseV0|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.prototype.setV0 = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.oneofGroups_[0], value);
+};
+
+
+/**
+ * Clears the message field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.prototype.setFinishedAtEpoch = function(value) {
-  return jspb.Message.setProto3IntField(this, 6, value);
+proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.prototype.clearV0 = function() {
+  return this.setV0(undefined);
+};
+
+
+/**
+ * Returns whether this field is set.
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourcesResponse.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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.repeatedFields_ = [1];
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.oneofGroups_ = [[1]];
+
+/**
+ * @enum {number}
+ */
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.VersionCase = {
+  VERSION_NOT_SET: 0,
+  V0: 1
+};
+
+/**
+ * @return {proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.VersionCase}
+ */
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.prototype.getVersionCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.oneofGroups_[0]));
+};
 
 
 
@@ -33984,8 +34371,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.toObject(opt_includeInstance, this);
 };
 
 
@@ -33994,17 +34381,13 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContest
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.toObject = function(includeInstance, msg) {
   var f, obj = {
-    contendersList: jspb.Message.toObjectList(msg.getContendersList(),
-    proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.toObject, includeInstance),
-    abstainVoteTally: jspb.Message.getFieldWithDefault(msg, 2, 0),
-    lockVoteTally: jspb.Message.getFieldWithDefault(msg, 3, 0),
-    finishedVoteInfo: (f = msg.getFinishedVoteInfo()) && proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.toObject(includeInstance, f)
+    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.toObject(includeInstance, f)
   };
 
   if (includeInstance) {
@@ -34018,23 +34401,23 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContest
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders}
+ * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders;
-  return proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest;
+  return proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders}
+ * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -34042,22 +34425,9 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContest
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.deserializeBinaryFromReader);
-      msg.addContenders(value);
-      break;
-    case 2:
-      var value = /** @type {number} */ (reader.readUint32());
-      msg.setAbstainVoteTally(value);
-      break;
-    case 3:
-      var value = /** @type {number} */ (reader.readUint32());
-      msg.setLockVoteTally(value);
-      break;
-    case 4:
-      var value = new proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.deserializeBinaryFromReader);
-      msg.setFinishedVoteInfo(value);
+      var value = new proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.deserializeBinaryFromReader);
+      msg.setV0(value);
       break;
     default:
       reader.skipField();
@@ -34072,9 +34442,9 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContest
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -34082,189 +34452,196 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContest
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getContendersList();
-  if (f.length > 0) {
-    writer.writeRepeatedMessage(
-      1,
-      f,
-      proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.serializeBinaryToWriter
-    );
-  }
-  f = /** @type {number} */ (jspb.Message.getField(message, 2));
-  if (f != null) {
-    writer.writeUint32(
-      2,
-      f
-    );
-  }
-  f = /** @type {number} */ (jspb.Message.getField(message, 3));
-  if (f != null) {
-    writer.writeUint32(
-      3,
-      f
-    );
-  }
-  f = message.getFinishedVoteInfo();
+  f = message.getV0();
   if (f != null) {
     writer.writeMessage(
-      4,
+      1,
       f,
-      proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.serializeBinaryToWriter
     );
   }
 };
 
 
-/**
- * repeated Contender contenders = 1;
- * @return {!Array}
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.prototype.getContendersList = function() {
-  return /** @type{!Array} */ (
-    jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender, 1));
-};
-
 
-/**
- * @param {!Array} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders} returns this
-*/
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.prototype.setContendersList = function(value) {
-  return jspb.Message.setRepeatedWrapperField(this, 1, value);
-};
 
 
+if (jspb.Message.GENERATE_TO_OBJECT) {
 /**
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender=} opt_value
- * @param {number=} opt_index
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender}
+ * 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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.prototype.addContenders = function(opt_value, opt_index) {
-  return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender, opt_index);
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.toObject(opt_includeInstance, this);
 };
 
 
 /**
- * Clears the list making it empty but non-null.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders} 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.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0} msg The msg instance to transform.
+ * @return {!Object}
+ * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.prototype.clearContendersList = function() {
-  return this.setContendersList([]);
-};
-
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.toObject = function(includeInstance, msg) {
+  var f, obj = {
+    startTimeInfo: (f = msg.getStartTimeInfo()) && proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.toObject(includeInstance, f),
+    endTimeInfo: (f = msg.getEndTimeInfo()) && proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.toObject(includeInstance, f),
+    limit: jspb.Message.getFieldWithDefault(msg, 3, 0),
+    offset: jspb.Message.getFieldWithDefault(msg, 4, 0),
+    ascending: jspb.Message.getBooleanFieldWithDefault(msg, 5, false),
+    prove: jspb.Message.getBooleanFieldWithDefault(msg, 6, false)
+  };
 
-/**
- * optional uint32 abstain_vote_tally = 2;
- * @return {number}
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.prototype.getAbstainVoteTally = function() {
-  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
+  if (includeInstance) {
+    obj.$jspbMessageInstance = msg;
+  }
+  return obj;
 };
+}
 
 
 /**
- * @param {number} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders} returns this
+ * Deserializes binary data (in protobuf wire format).
+ * @param {jspb.ByteSource} bytes The bytes to deserialize.
+ * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.prototype.setAbstainVoteTally = function(value) {
-  return jspb.Message.setField(this, 2, value);
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.deserializeBinary = function(bytes) {
+  var reader = new jspb.BinaryReader(bytes);
+  var msg = new proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0;
+  return proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
- * Clears the field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders} 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.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0} msg The message object to deserialize into.
+ * @param {!jspb.BinaryReader} reader The BinaryReader to use.
+ * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.prototype.clearAbstainVoteTally = function() {
-  return jspb.Message.setField(this, 2, undefined);
-};
-
-
-/**
- * Returns whether this field is set.
- * @return {boolean}
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.prototype.hasAbstainVoteTally = function() {
-  return jspb.Message.getField(this, 2) != null;
-};
-
-
-/**
- * optional uint32 lock_vote_tally = 3;
- * @return {number}
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.prototype.getLockVoteTally = function() {
-  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));
-};
-
-
-/**
- * @param {number} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders} returns this
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.prototype.setLockVoteTally = function(value) {
-  return jspb.Message.setField(this, 3, value);
-};
-
-
-/**
- * Clears the field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders} returns this
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.prototype.clearLockVoteTally = function() {
-  return jspb.Message.setField(this, 3, undefined);
-};
-
-
-/**
- * Returns whether this field is set.
- * @return {boolean}
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.prototype.hasLockVoteTally = function() {
-  return jspb.Message.getField(this, 3) != null;
-};
-
-
-/**
- * optional FinishedVoteInfo finished_vote_info = 4;
- * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo}
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.prototype.getFinishedVoteInfo = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo, 4));
-};
-
-
-/**
- * @param {?proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders} returns this
-*/
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.prototype.setFinishedVoteInfo = function(value) {
-  return jspb.Message.setWrapperField(this, 4, value);
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.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.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.deserializeBinaryFromReader);
+      msg.setStartTimeInfo(value);
+      break;
+    case 2:
+      var value = new proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.deserializeBinaryFromReader);
+      msg.setEndTimeInfo(value);
+      break;
+    case 3:
+      var value = /** @type {number} */ (reader.readUint32());
+      msg.setLimit(value);
+      break;
+    case 4:
+      var value = /** @type {number} */ (reader.readUint32());
+      msg.setOffset(value);
+      break;
+    case 5:
+      var value = /** @type {boolean} */ (reader.readBool());
+      msg.setAscending(value);
+      break;
+    case 6:
+      var value = /** @type {boolean} */ (reader.readBool());
+      msg.setProve(value);
+      break;
+    default:
+      reader.skipField();
+      break;
+    }
+  }
+  return msg;
 };
 
 
 /**
- * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders} returns this
+ * Serializes the message to binary data (in protobuf wire format).
+ * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.prototype.clearFinishedVoteInfo = function() {
-  return this.setFinishedVoteInfo(undefined);
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prototype.serializeBinary = function() {
+  var writer = new jspb.BinaryWriter();
+  proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.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.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0} message
+ * @param {!jspb.BinaryWriter} writer
+ * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.prototype.hasFinishedVoteInfo = function() {
-  return jspb.Message.getField(this, 4) != null;
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.serializeBinaryToWriter = function(message, writer) {
+  var f = undefined;
+  f = message.getStartTimeInfo();
+  if (f != null) {
+    writer.writeMessage(
+      1,
+      f,
+      proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.serializeBinaryToWriter
+    );
+  }
+  f = message.getEndTimeInfo();
+  if (f != null) {
+    writer.writeMessage(
+      2,
+      f,
+      proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.serializeBinaryToWriter
+    );
+  }
+  f = /** @type {number} */ (jspb.Message.getField(message, 3));
+  if (f != null) {
+    writer.writeUint32(
+      3,
+      f
+    );
+  }
+  f = /** @type {number} */ (jspb.Message.getField(message, 4));
+  if (f != null) {
+    writer.writeUint32(
+      4,
+      f
+    );
+  }
+  f = message.getAscending();
+  if (f) {
+    writer.writeBool(
+      5,
+      f
+    );
+  }
+  f = message.getProve();
+  if (f) {
+    writer.writeBool(
+      6,
+      f
+    );
+  }
 };
 
 
@@ -34284,8 +34661,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.toObject(opt_includeInstance, this);
 };
 
 
@@ -34294,15 +34671,14 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContest
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.toObject = function(includeInstance, msg) {
   var f, obj = {
-    identifier: msg.getIdentifier_asB64(),
-    voteCount: jspb.Message.getFieldWithDefault(msg, 2, 0),
-    document: msg.getDocument_asB64()
+    startTimeMs: jspb.Message.getFieldWithDefault(msg, 1, "0"),
+    startTimeIncluded: jspb.Message.getBooleanFieldWithDefault(msg, 2, false)
   };
 
   if (includeInstance) {
@@ -34316,23 +34692,23 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContest
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender}
+ * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender;
-  return proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo;
+  return proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender}
+ * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -34340,16 +34716,12 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContest
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = /** @type {!Uint8Array} */ (reader.readBytes());
-      msg.setIdentifier(value);
+      var value = /** @type {string} */ (reader.readUint64String());
+      msg.setStartTimeMs(value);
       break;
     case 2:
-      var value = /** @type {number} */ (reader.readUint32());
-      msg.setVoteCount(value);
-      break;
-    case 3:
-      var value = /** @type {!Uint8Array} */ (reader.readBytes());
-      msg.setDocument(value);
+      var value = /** @type {boolean} */ (reader.readBool());
+      msg.setStartTimeIncluded(value);
       break;
     default:
       reader.skipField();
@@ -34364,9 +34736,9 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContest
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -34374,199 +34746,250 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContest
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getIdentifier_asU8();
-  if (f.length > 0) {
-    writer.writeBytes(
+  f = message.getStartTimeMs();
+  if (parseInt(f, 10) !== 0) {
+    writer.writeUint64String(
       1,
       f
     );
   }
-  f = /** @type {number} */ (jspb.Message.getField(message, 2));
-  if (f != null) {
-    writer.writeUint32(
+  f = message.getStartTimeIncluded();
+  if (f) {
+    writer.writeBool(
       2,
       f
     );
   }
-  f = /** @type {!(string|Uint8Array)} */ (jspb.Message.getField(message, 3));
-  if (f != null) {
-    writer.writeBytes(
-      3,
-      f
-    );
-  }
 };
 
 
 /**
- * optional bytes identifier = 1;
+ * optional uint64 start_time_ms = 1;
  * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.prototype.getIdentifier = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.prototype.getStartTimeMs = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "0"));
 };
 
 
 /**
- * optional bytes identifier = 1;
- * This is a type-conversion wrapper around `getIdentifier()`
- * @return {string}
+ * @param {string} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.prototype.getIdentifier_asB64 = function() {
-  return /** @type {string} */ (jspb.Message.bytesAsB64(
-      this.getIdentifier()));
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.prototype.setStartTimeMs = function(value) {
+  return jspb.Message.setProto3StringIntField(this, 1, value);
 };
 
 
 /**
- * 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}
+ * optional bool start_time_included = 2;
+ * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.prototype.getIdentifier_asU8 = function() {
-  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
-      this.getIdentifier()));
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.prototype.getStartTimeIncluded = function() {
+  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));
 };
 
 
 /**
- * @param {!(string|Uint8Array)} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender} returns this
+ * @param {boolean} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.prototype.setIdentifier = function(value) {
-  return jspb.Message.setProto3BytesField(this, 1, value);
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo.prototype.setStartTimeIncluded = function(value) {
+  return jspb.Message.setProto3BooleanField(this, 2, value);
 };
 
 
+
+
+
+if (jspb.Message.GENERATE_TO_OBJECT) {
 /**
- * optional uint32 vote_count = 2;
- * @return {number}
+ * 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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.prototype.getVoteCount = function() {
-  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.toObject(opt_includeInstance, this);
 };
 
 
 /**
- * @param {number} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender} 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.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo} msg The msg instance to transform.
+ * @return {!Object}
+ * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.prototype.setVoteCount = function(value) {
-  return jspb.Message.setField(this, 2, value);
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.toObject = function(includeInstance, msg) {
+  var f, obj = {
+    endTimeMs: jspb.Message.getFieldWithDefault(msg, 1, "0"),
+    endTimeIncluded: jspb.Message.getBooleanFieldWithDefault(msg, 2, false)
+  };
+
+  if (includeInstance) {
+    obj.$jspbMessageInstance = msg;
+  }
+  return obj;
 };
+}
 
 
 /**
- * Clears the field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender} returns this
+ * Deserializes binary data (in protobuf wire format).
+ * @param {jspb.ByteSource} bytes The bytes to deserialize.
+ * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.prototype.clearVoteCount = function() {
-  return jspb.Message.setField(this, 2, undefined);
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.deserializeBinary = function(bytes) {
+  var reader = new jspb.BinaryReader(bytes);
+  var msg = new proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo;
+  return proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.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.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo} msg The message object to deserialize into.
+ * @param {!jspb.BinaryReader} reader The BinaryReader to use.
+ * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.prototype.hasVoteCount = function() {
-  return jspb.Message.getField(this, 2) != null;
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.deserializeBinaryFromReader = function(msg, reader) {
+  while (reader.nextField()) {
+    if (reader.isEndGroup()) {
+      break;
+    }
+    var field = reader.getFieldNumber();
+    switch (field) {
+    case 1:
+      var value = /** @type {string} */ (reader.readUint64String());
+      msg.setEndTimeMs(value);
+      break;
+    case 2:
+      var value = /** @type {boolean} */ (reader.readBool());
+      msg.setEndTimeIncluded(value);
+      break;
+    default:
+      reader.skipField();
+      break;
+    }
+  }
+  return msg;
 };
 
 
 /**
- * optional bytes document = 3;
- * @return {string}
+ * Serializes the message to binary data (in protobuf wire format).
+ * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.prototype.getDocument = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, ""));
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.prototype.serializeBinary = function() {
+  var writer = new jspb.BinaryWriter();
+  proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.serializeBinaryToWriter(this, writer);
+  return writer.getResultBuffer();
 };
 
 
 /**
- * optional bytes document = 3;
- * This is a type-conversion wrapper around `getDocument()`
- * @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.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo} message
+ * @param {!jspb.BinaryWriter} writer
+ * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.prototype.getDocument_asB64 = function() {
-  return /** @type {string} */ (jspb.Message.bytesAsB64(
-      this.getDocument()));
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.serializeBinaryToWriter = function(message, writer) {
+  var f = undefined;
+  f = message.getEndTimeMs();
+  if (parseInt(f, 10) !== 0) {
+    writer.writeUint64String(
+      1,
+      f
+    );
+  }
+  f = message.getEndTimeIncluded();
+  if (f) {
+    writer.writeBool(
+      2,
+      f
+    );
+  }
 };
 
 
 /**
- * optional bytes document = 3;
- * Note that Uint8Array is not supported on all browsers.
- * @see http://caniuse.com/Uint8Array
- * This is a type-conversion wrapper around `getDocument()`
- * @return {!Uint8Array}
+ * optional uint64 end_time_ms = 1;
+ * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.prototype.getDocument_asU8 = function() {
-  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
-      this.getDocument()));
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.prototype.getEndTimeMs = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "0"));
 };
 
 
 /**
- * @param {!(string|Uint8Array)} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender} returns this
+ * @param {string} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.prototype.setDocument = function(value) {
-  return jspb.Message.setField(this, 3, value);
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.prototype.setEndTimeMs = function(value) {
+  return jspb.Message.setProto3StringIntField(this, 1, value);
 };
 
 
 /**
- * Clears the field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender} returns this
+ * optional bool end_time_included = 2;
+ * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.prototype.clearDocument = function() {
-  return jspb.Message.setField(this, 3, undefined);
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.prototype.getEndTimeIncluded = 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.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.prototype.hasDocument = function() {
-  return jspb.Message.getField(this, 3) != null;
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo.prototype.setEndTimeIncluded = function(value) {
+  return jspb.Message.setProto3BooleanField(this, 2, value);
 };
 
 
 /**
- * optional ContestedResourceContenders contested_resource_contenders = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders}
+ * optional StartAtTimeInfo start_time_info = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.prototype.getContestedResourceContenders = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders, 1));
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prototype.getStartTimeInfo = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo, 1));
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0} returns this
+ * @param {?proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.StartAtTimeInfo|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0} returns this
 */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.prototype.setContestedResourceContenders = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.oneofGroups_[0], value);
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prototype.setStartTimeInfo = function(value) {
+  return jspb.Message.setWrapperField(this, 1, value);
 };
 
 
 /**
  * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.prototype.clearContestedResourceContenders = function() {
-  return this.setContestedResourceContenders(undefined);
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prototype.clearStartTimeInfo = function() {
+  return this.setStartTimeInfo(undefined);
 };
 
 
@@ -34574,36 +34997,36 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContest
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.prototype.hasContestedResourceContenders = function() {
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prototype.hasStartTimeInfo = function() {
   return jspb.Message.getField(this, 1) != null;
 };
 
 
 /**
- * optional Proof proof = 2;
- * @return {?proto.org.dash.platform.dapi.v0.Proof}
+ * optional EndAtTimeInfo end_time_info = 2;
+ * @return {?proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.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.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prototype.getEndTimeInfo = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo, 2));
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0} returns this
+ * @param {?proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.EndAtTimeInfo|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0} returns this
 */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.prototype.setProof = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.oneofGroups_[0], value);
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prototype.setEndTimeInfo = function(value) {
+  return jspb.Message.setWrapperField(this, 2, value);
 };
 
 
 /**
  * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.prototype.clearProof = function() {
-  return this.setProof(undefined);
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prototype.clearEndTimeInfo = function() {
+  return this.setEndTimeInfo(undefined);
 };
 
 
@@ -34611,36 +35034,35 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContest
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.prototype.hasProof = function() {
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prototype.hasEndTimeInfo = function() {
   return jspb.Message.getField(this, 2) != null;
 };
 
 
 /**
- * optional ResponseMetadata metadata = 3;
- * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata}
+ * optional uint32 limit = 3;
+ * @return {number}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.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.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prototype.getLimit = function() {
+  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0} returns this
-*/
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.prototype.setMetadata = function(value) {
-  return jspb.Message.setWrapperField(this, 3, value);
+ * @param {number} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prototype.setLimit = function(value) {
+  return jspb.Message.setField(this, 3, value);
 };
 
 
 /**
- * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0} returns this
+ * Clears the field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.prototype.clearMetadata = function() {
-  return this.setMetadata(undefined);
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prototype.clearLimit = function() {
+  return jspb.Message.setField(this, 3, undefined);
 };
 
 
@@ -34648,35 +35070,107 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContest
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.prototype.hasMetadata = function() {
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prototype.hasLimit = function() {
   return jspb.Message.getField(this, 3) != null;
 };
 
 
 /**
- * optional GetContestedResourceVoteStateResponseV0 v0 = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0}
+ * optional uint32 offset = 4;
+ * @return {number}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.prototype.getV0 = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0, 1));
-};
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prototype.getOffset = function() {
+  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0));
+};
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse} returns this
+ * @param {number} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prototype.setOffset = function(value) {
+  return jspb.Message.setField(this, 4, value);
+};
+
+
+/**
+ * Clears the field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prototype.clearOffset = function() {
+  return jspb.Message.setField(this, 4, undefined);
+};
+
+
+/**
+ * Returns whether this field is set.
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prototype.hasOffset = function() {
+  return jspb.Message.getField(this, 4) != null;
+};
+
+
+/**
+ * optional bool ascending = 5;
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prototype.getAscending = function() {
+  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 5, false));
+};
+
+
+/**
+ * @param {boolean} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prototype.setAscending = function(value) {
+  return jspb.Message.setProto3BooleanField(this, 5, value);
+};
+
+
+/**
+ * optional bool prove = 6;
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prototype.getProve = function() {
+  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 6, false));
+};
+
+
+/**
+ * @param {boolean} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0.prototype.setProve = function(value) {
+  return jspb.Message.setProto3BooleanField(this, 6, value);
+};
+
+
+/**
+ * optional GetVotePollsByEndDateRequestV0 v0 = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0}
+ */
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.prototype.getV0 = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0, 1));
+};
+
+
+/**
+ * @param {?proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.GetVotePollsByEndDateRequestV0|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest} returns this
 */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.prototype.setV0 = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.oneofGroups_[0], value);
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.prototype.setV0 = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.oneofGroups_[0], value);
 };
 
 
 /**
  * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.prototype.clearV0 = function() {
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.prototype.clearV0 = function() {
   return this.setV0(undefined);
 };
 
@@ -34685,7 +35179,7 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.prototype.
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.prototype.hasV0 = function() {
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateRequest.prototype.hasV0 = function() {
   return jspb.Message.getField(this, 1) != null;
 };
 
@@ -34699,21 +35193,21 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.prototype.
  * @private {!Array>}
  * @const
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.oneofGroups_ = [[1]];
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.oneofGroups_ = [[1]];
 
 /**
  * @enum {number}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.VersionCase = {
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.VersionCase = {
   VERSION_NOT_SET: 0,
   V0: 1
 };
 
 /**
- * @return {proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.VersionCase}
+ * @return {proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.VersionCase}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.prototype.getVersionCase = function() {
-  return /** @type {proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.oneofGroups_[0]));
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.prototype.getVersionCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.oneofGroups_[0]));
 };
 
 
@@ -34731,8 +35225,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.toObject(opt_includeInstance, this);
 };
 
 
@@ -34741,13 +35235,13 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.pro
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.toObject = function(includeInstance, msg) {
   var f, obj = {
-    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.toObject(includeInstance, f)
+    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.toObject(includeInstance, f)
   };
 
   if (includeInstance) {
@@ -34761,23 +35255,23 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.toO
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest}
+ * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest;
-  return proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse;
+  return proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest}
+ * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -34785,8 +35279,8 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.des
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.deserializeBinaryFromReader);
+      var value = new proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.deserializeBinaryFromReader);
       msg.setV0(value);
       break;
     default:
@@ -34802,9 +35296,9 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.des
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -34812,18 +35306,18 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.pro
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
   f = message.getV0();
   if (f != null) {
     writer.writeMessage(
       1,
       f,
-      proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.serializeBinaryToWriter
     );
   }
 };
@@ -34831,11 +35325,30 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.ser
 
 
 /**
- * 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.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.repeatedFields_ = [4];
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.oneofGroups_ = [[1,2]];
+
+/**
+ * @enum {number}
+ */
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.ResultCase = {
+  RESULT_NOT_SET: 0,
+  VOTE_POLLS_BY_TIMESTAMPS: 1,
+  PROOF: 2
+};
+
+/**
+ * @return {proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.ResultCase}
+ */
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.prototype.getResultCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.oneofGroups_[0]));
+};
 
 
 
@@ -34852,8 +35365,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.toObject(opt_includeInstance, this);
 };
 
 
@@ -34862,21 +35375,15 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.Get
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.toObject = function(includeInstance, msg) {
   var f, obj = {
-    contractId: msg.getContractId_asB64(),
-    documentTypeName: jspb.Message.getFieldWithDefault(msg, 2, ""),
-    indexName: jspb.Message.getFieldWithDefault(msg, 3, ""),
-    indexValuesList: msg.getIndexValuesList_asB64(),
-    contestantId: msg.getContestantId_asB64(),
-    startAtIdentifierInfo: (f = msg.getStartAtIdentifierInfo()) && proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.toObject(includeInstance, f),
-    count: jspb.Message.getFieldWithDefault(msg, 7, 0),
-    orderAscending: jspb.Message.getBooleanFieldWithDefault(msg, 8, false),
-    prove: jspb.Message.getBooleanFieldWithDefault(msg, 9, false)
+    votePollsByTimestamps: (f = msg.getVotePollsByTimestamps()) && proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.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) {
@@ -34890,23 +35397,23 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.Get
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0;
-  return proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0;
+  return proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -34914,41 +35421,19 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.Get
     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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.deserializeBinaryFromReader);
+      msg.setVotePollsByTimestamps(value);
       break;
     case 2:
-      var value = /** @type {string} */ (reader.readString());
-      msg.setDocumentTypeName(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.setIndexName(value);
-      break;
-    case 4:
-      var value = /** @type {!Uint8Array} */ (reader.readBytes());
-      msg.addIndexValues(value);
-      break;
-    case 5:
-      var value = /** @type {!Uint8Array} */ (reader.readBytes());
-      msg.setContestantId(value);
-      break;
-    case 6:
-      var value = new proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.deserializeBinaryFromReader);
-      msg.setStartAtIdentifierInfo(value);
-      break;
-    case 7:
-      var value = /** @type {number} */ (reader.readUint32());
-      msg.setCount(value);
-      break;
-    case 8:
-      var value = /** @type {boolean} */ (reader.readBool());
-      msg.setOrderAscending(value);
-      break;
-    case 9:
-      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();
@@ -34963,9 +35448,9 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.Get
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -34973,80 +35458,47 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.Get
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getContractId_asU8();
-  if (f.length > 0) {
-    writer.writeBytes(
+  f = message.getVotePollsByTimestamps();
+  if (f != null) {
+    writer.writeMessage(
       1,
-      f
-    );
-  }
-  f = message.getDocumentTypeName();
-  if (f.length > 0) {
-    writer.writeString(
-      2,
-      f
-    );
-  }
-  f = message.getIndexName();
-  if (f.length > 0) {
-    writer.writeString(
-      3,
-      f
-    );
-  }
-  f = message.getIndexValuesList_asU8();
-  if (f.length > 0) {
-    writer.writeRepeatedBytes(
-      4,
-      f
-    );
-  }
-  f = message.getContestantId_asU8();
-  if (f.length > 0) {
-    writer.writeBytes(
-      5,
-      f
+      f,
+      proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.serializeBinaryToWriter
     );
   }
-  f = message.getStartAtIdentifierInfo();
+  f = message.getProof();
   if (f != null) {
     writer.writeMessage(
-      6,
+      2,
       f,
-      proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter
     );
   }
-  f = /** @type {number} */ (jspb.Message.getField(message, 7));
+  f = message.getMetadata();
   if (f != null) {
-    writer.writeUint32(
-      7,
-      f
-    );
-  }
-  f = message.getOrderAscending();
-  if (f) {
-    writer.writeBool(
-      8,
-      f
-    );
-  }
-  f = message.getProve();
-  if (f) {
-    writer.writeBool(
-      9,
-      f
+    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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.repeatedFields_ = [2];
+
 
 
 if (jspb.Message.GENERATE_TO_OBJECT) {
@@ -35062,8 +35514,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.toObject(opt_includeInstance, this);
 };
 
 
@@ -35072,14 +35524,14 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.Get
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.toObject = function(includeInstance, msg) {
   var f, obj = {
-    startIdentifier: msg.getStartIdentifier_asB64(),
-    startIdentifierIncluded: jspb.Message.getBooleanFieldWithDefault(msg, 2, false)
+    timestamp: jspb.Message.getFieldWithDefault(msg, 1, "0"),
+    serializedVotePollsList: msg.getSerializedVotePollsList_asB64()
   };
 
   if (includeInstance) {
@@ -35093,23 +35545,23 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.Get
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo}
+ * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo;
-  return proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp;
+  return proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo}
+ * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -35117,12 +35569,12 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.Get
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = /** @type {!Uint8Array} */ (reader.readBytes());
-      msg.setStartIdentifier(value);
+      var value = /** @type {string} */ (reader.readUint64String());
+      msg.setTimestamp(value);
       break;
     case 2:
-      var value = /** @type {boolean} */ (reader.readBool());
-      msg.setStartIdentifierIncluded(value);
+      var value = /** @type {!Uint8Array} */ (reader.readBytes());
+      msg.addSerializedVotePolls(value);
       break;
     default:
       reader.skipField();
@@ -35137,9 +35589,9 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.Get
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -35147,22 +35599,22 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.Get
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getStartIdentifier_asU8();
-  if (f.length > 0) {
-    writer.writeBytes(
+  f = message.getTimestamp();
+  if (parseInt(f, 10) !== 0) {
+    writer.writeUint64String(
       1,
       f
     );
   }
-  f = message.getStartIdentifierIncluded();
-  if (f) {
-    writer.writeBool(
+  f = message.getSerializedVotePollsList_asU8();
+  if (f.length > 0) {
+    writer.writeRepeatedBytes(
       2,
       f
     );
@@ -35171,271 +35623,299 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.Get
 
 
 /**
- * optional bytes start_identifier = 1;
+ * optional uint64 timestamp = 1;
  * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.prototype.getStartIdentifier = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.prototype.getTimestamp = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "0"));
 };
 
 
 /**
- * optional bytes start_identifier = 1;
- * This is a type-conversion wrapper around `getStartIdentifier()`
- * @return {string}
+ * @param {string} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.prototype.getStartIdentifier_asB64 = function() {
-  return /** @type {string} */ (jspb.Message.bytesAsB64(
-      this.getStartIdentifier()));
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.prototype.setTimestamp = function(value) {
+  return jspb.Message.setProto3StringIntField(this, 1, value);
 };
 
 
 /**
- * optional bytes start_identifier = 1;
- * Note that Uint8Array is not supported on all browsers.
- * @see http://caniuse.com/Uint8Array
- * This is a type-conversion wrapper around `getStartIdentifier()`
- * @return {!Uint8Array}
+ * repeated bytes serialized_vote_polls = 2;
+ * @return {!Array}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.prototype.getStartIdentifier_asU8 = function() {
-  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
-      this.getStartIdentifier()));
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.prototype.getSerializedVotePollsList = function() {
+  return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 2));
 };
 
 
 /**
- * @param {!(string|Uint8Array)} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo} returns this
+ * repeated bytes serialized_vote_polls = 2;
+ * This is a type-conversion wrapper around `getSerializedVotePollsList()`
+ * @return {!Array}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.prototype.setStartIdentifier = function(value) {
-  return jspb.Message.setProto3BytesField(this, 1, value);
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.prototype.getSerializedVotePollsList_asB64 = function() {
+  return /** @type {!Array} */ (jspb.Message.bytesListAsB64(
+      this.getSerializedVotePollsList()));
 };
 
 
 /**
- * optional bool start_identifier_included = 2;
- * @return {boolean}
+ * repeated bytes serialized_vote_polls = 2;
+ * Note that Uint8Array is not supported on all browsers.
+ * @see http://caniuse.com/Uint8Array
+ * This is a type-conversion wrapper around `getSerializedVotePollsList()`
+ * @return {!Array}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.prototype.getStartIdentifierIncluded = function() {
-  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.prototype.getSerializedVotePollsList_asU8 = function() {
+  return /** @type {!Array} */ (jspb.Message.bytesListAsU8(
+      this.getSerializedVotePollsList()));
 };
 
 
 /**
- * @param {boolean} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo} returns this
+ * @param {!(Array|Array)} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.prototype.setStartIdentifierIncluded = function(value) {
-  return jspb.Message.setProto3BooleanField(this, 2, value);
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.prototype.setSerializedVotePollsList = function(value) {
+  return jspb.Message.setField(this, 2, value || []);
 };
 
 
 /**
- * optional bytes contract_id = 1;
- * @return {string}
+ * @param {!(string|Uint8Array)} value
+ * @param {number=} opt_index
+ * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.getContractId = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.prototype.addSerializedVotePolls = function(value, opt_index) {
+  return jspb.Message.addToRepeatedField(this, 2, value, opt_index);
 };
 
 
 /**
- * optional bytes contract_id = 1;
- * This is a type-conversion wrapper around `getContractId()`
- * @return {string}
+ * Clears the list making it empty but non-null.
+ * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.getContractId_asB64 = function() {
-  return /** @type {string} */ (jspb.Message.bytesAsB64(
-      this.getContractId()));
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.prototype.clearSerializedVotePollsList = function() {
+  return this.setSerializedVotePollsList([]);
 };
 
 
-/**
- * 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.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.getContractId_asU8 = function() {
-  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
-      this.getContractId()));
-};
-
 
 /**
- * @param {!(string|Uint8Array)} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} returns this
+ * List of repeated fields within this message type.
+ * @private {!Array}
+ * @const
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.setContractId = function(value) {
-  return jspb.Message.setProto3BytesField(this, 1, value);
-};
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.repeatedFields_ = [1];
 
 
+
+if (jspb.Message.GENERATE_TO_OBJECT) {
 /**
- * optional string document_type_name = 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.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.getDocumentTypeName = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.toObject(opt_includeInstance, this);
 };
 
 
 /**
- * @param {string} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} 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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps} msg The msg instance to transform.
+ * @return {!Object}
+ * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.setDocumentTypeName = function(value) {
-  return jspb.Message.setProto3StringField(this, 2, value);
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.toObject = function(includeInstance, msg) {
+  var f, obj = {
+    votePollsByTimestampsList: jspb.Message.toObjectList(msg.getVotePollsByTimestampsList(),
+    proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.toObject, includeInstance),
+    finishedResults: jspb.Message.getBooleanFieldWithDefault(msg, 2, false)
+  };
+
+  if (includeInstance) {
+    obj.$jspbMessageInstance = msg;
+  }
+  return obj;
 };
+}
 
 
 /**
- * optional string index_name = 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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.getIndexName = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, ""));
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.deserializeBinary = function(bytes) {
+  var reader = new jspb.BinaryReader(bytes);
+  var msg = new proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps;
+  return proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
- * @param {string} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} 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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps} msg The message object to deserialize into.
+ * @param {!jspb.BinaryReader} reader The BinaryReader to use.
+ * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.setIndexName = function(value) {
-  return jspb.Message.setProto3StringField(this, 3, value);
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.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.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.deserializeBinaryFromReader);
+      msg.addVotePollsByTimestamps(value);
+      break;
+    case 2:
+      var value = /** @type {boolean} */ (reader.readBool());
+      msg.setFinishedResults(value);
+      break;
+    default:
+      reader.skipField();
+      break;
+    }
+  }
+  return msg;
 };
 
 
 /**
- * repeated bytes index_values = 4;
- * @return {!Array}
+ * Serializes the message to binary data (in protobuf wire format).
+ * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.getIndexValuesList = function() {
-  return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 4));
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.prototype.serializeBinary = function() {
+  var writer = new jspb.BinaryWriter();
+  proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.serializeBinaryToWriter(this, writer);
+  return writer.getResultBuffer();
 };
 
 
 /**
- * repeated bytes index_values = 4;
- * This is a type-conversion wrapper around `getIndexValuesList()`
- * @return {!Array}
+ * Serializes the given message to binary data (in protobuf wire
+ * format), writing to the given BinaryWriter.
+ * @param {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps} message
+ * @param {!jspb.BinaryWriter} writer
+ * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.getIndexValuesList_asB64 = function() {
-  return /** @type {!Array} */ (jspb.Message.bytesListAsB64(
-      this.getIndexValuesList()));
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.serializeBinaryToWriter = function(message, writer) {
+  var f = undefined;
+  f = message.getVotePollsByTimestampsList();
+  if (f.length > 0) {
+    writer.writeRepeatedMessage(
+      1,
+      f,
+      proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp.serializeBinaryToWriter
+    );
+  }
+  f = message.getFinishedResults();
+  if (f) {
+    writer.writeBool(
+      2,
+      f
+    );
+  }
 };
 
 
 /**
- * repeated bytes index_values = 4;
- * Note that Uint8Array is not supported on all browsers.
- * @see http://caniuse.com/Uint8Array
- * This is a type-conversion wrapper around `getIndexValuesList()`
- * @return {!Array}
+ * repeated SerializedVotePollsByTimestamp vote_polls_by_timestamps = 1;
+ * @return {!Array}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.getIndexValuesList_asU8 = function() {
-  return /** @type {!Array} */ (jspb.Message.bytesListAsU8(
-      this.getIndexValuesList()));
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.prototype.getVotePollsByTimestampsList = function() {
+  return /** @type{!Array} */ (
+    jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp, 1));
 };
 
 
 /**
- * @param {!(Array|Array)} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} returns this
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.setIndexValuesList = function(value) {
-  return jspb.Message.setField(this, 4, value || []);
+ * @param {!Array} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.prototype.setVotePollsByTimestampsList = function(value) {
+  return jspb.Message.setRepeatedWrapperField(this, 1, value);
 };
 
 
 /**
- * @param {!(string|Uint8Array)} value
+ * @param {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp=} opt_value
  * @param {number=} opt_index
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.addIndexValues = function(value, opt_index) {
-  return jspb.Message.addToRepeatedField(this, 4, value, opt_index);
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.prototype.addVotePollsByTimestamps = function(opt_value, opt_index) {
+  return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamp, opt_index);
 };
 
 
 /**
  * Clears the list making it empty but non-null.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} returns this
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.clearIndexValuesList = function() {
-  return this.setIndexValuesList([]);
-};
-
-
-/**
- * optional bytes contestant_id = 5;
- * @return {string}
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.getContestantId = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, ""));
-};
-
-
-/**
- * optional bytes contestant_id = 5;
- * This is a type-conversion wrapper around `getContestantId()`
- * @return {string}
+ * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.getContestantId_asB64 = function() {
-  return /** @type {string} */ (jspb.Message.bytesAsB64(
-      this.getContestantId()));
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.prototype.clearVotePollsByTimestampsList = function() {
+  return this.setVotePollsByTimestampsList([]);
 };
 
 
 /**
- * optional bytes contestant_id = 5;
- * Note that Uint8Array is not supported on all browsers.
- * @see http://caniuse.com/Uint8Array
- * This is a type-conversion wrapper around `getContestantId()`
- * @return {!Uint8Array}
+ * optional bool finished_results = 2;
+ * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.getContestantId_asU8 = function() {
-  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
-      this.getContestantId()));
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.prototype.getFinishedResults = function() {
+  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));
 };
 
 
 /**
- * @param {!(string|Uint8Array)} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} returns this
+ * @param {boolean} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.setContestantId = function(value) {
-  return jspb.Message.setProto3BytesField(this, 5, value);
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps.prototype.setFinishedResults = function(value) {
+  return jspb.Message.setProto3BooleanField(this, 2, value);
 };
 
 
 /**
- * optional StartAtIdentifierInfo start_at_identifier_info = 6;
- * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo}
+ * optional SerializedVotePollsByTimestamps vote_polls_by_timestamps = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.getStartAtIdentifierInfo = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo, 6));
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.prototype.getVotePollsByTimestamps = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps, 1));
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} returns this
+ * @param {?proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.SerializedVotePollsByTimestamps|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0} returns this
 */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.setStartAtIdentifierInfo = function(value) {
-  return jspb.Message.setWrapperField(this, 6, value);
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.prototype.setVotePollsByTimestamps = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.oneofGroups_[0], value);
 };
 
 
 /**
  * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.clearStartAtIdentifierInfo = function() {
-  return this.setStartAtIdentifierInfo(undefined);
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.prototype.clearVotePollsByTimestamps = function() {
+  return this.setVotePollsByTimestamps(undefined);
 };
 
 
@@ -35443,35 +35923,36 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.Get
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.hasStartAtIdentifierInfo = function() {
-  return jspb.Message.getField(this, 6) != null;
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.prototype.hasVotePollsByTimestamps = function() {
+  return jspb.Message.getField(this, 1) != null;
 };
 
 
 /**
- * optional uint32 count = 7;
- * @return {number}
+ * optional Proof proof = 2;
+ * @return {?proto.org.dash.platform.dapi.v0.Proof}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.getCount = function() {
-  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 7, 0));
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.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.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} returns this
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.setCount = function(value) {
-  return jspb.Message.setField(this, 7, value);
+ * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.prototype.setProof = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.oneofGroups_[0], value);
 };
 
 
 /**
- * Clears the field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} returns this
+ * Clears the message field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.clearCount = function() {
-  return jspb.Message.setField(this, 7, undefined);
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.prototype.clearProof = function() {
+  return this.setProof(undefined);
 };
 
 
@@ -35479,71 +35960,72 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.Get
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.hasCount = function() {
-  return jspb.Message.getField(this, 7) != null;
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.prototype.hasProof = function() {
+  return jspb.Message.getField(this, 2) != null;
 };
 
 
 /**
- * optional bool order_ascending = 8;
- * @return {boolean}
+ * optional ResponseMetadata metadata = 3;
+ * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.getOrderAscending = function() {
-  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 8, false));
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.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 {boolean} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} returns this
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.setOrderAscending = function(value) {
-  return jspb.Message.setProto3BooleanField(this, 8, value);
+ * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.prototype.setMetadata = function(value) {
+  return jspb.Message.setWrapperField(this, 3, value);
 };
 
 
 /**
- * optional bool prove = 9;
- * @return {boolean}
+ * Clears the message field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.getProve = function() {
-  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 9, false));
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.prototype.clearMetadata = function() {
+  return this.setMetadata(undefined);
 };
 
 
 /**
- * @param {boolean} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} returns this
+ * Returns whether this field is set.
+ * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.setProve = function(value) {
-  return jspb.Message.setProto3BooleanField(this, 9, value);
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0.prototype.hasMetadata = function() {
+  return jspb.Message.getField(this, 3) != null;
 };
 
 
 /**
- * optional GetContestedResourceVotersForIdentityRequestV0 v0 = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0}
+ * optional GetVotePollsByEndDateResponseV0 v0 = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.prototype.getV0 = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0, 1));
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.prototype.getV0 = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0, 1));
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest} returns this
+ * @param {?proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.GetVotePollsByEndDateResponseV0|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse} returns this
 */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.prototype.setV0 = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.oneofGroups_[0], value);
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.prototype.setV0 = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.oneofGroups_[0], value);
 };
 
 
 /**
  * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.prototype.clearV0 = function() {
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.prototype.clearV0 = function() {
   return this.setV0(undefined);
 };
 
@@ -35552,7 +36034,7 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.pro
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.prototype.hasV0 = function() {
+proto.org.dash.platform.dapi.v0.GetVotePollsByEndDateResponse.prototype.hasV0 = function() {
   return jspb.Message.getField(this, 1) != null;
 };
 
@@ -35566,21 +36048,21 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.pro
  * @private {!Array>}
  * @const
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.oneofGroups_ = [[1]];
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.oneofGroups_ = [[1]];
 
 /**
  * @enum {number}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.VersionCase = {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.VersionCase = {
   VERSION_NOT_SET: 0,
   V0: 1
 };
 
 /**
- * @return {proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.VersionCase}
+ * @return {proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.VersionCase}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.prototype.getVersionCase = function() {
-  return /** @type {proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.oneofGroups_[0]));
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.prototype.getVersionCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.oneofGroups_[0]));
 };
 
 
@@ -35598,8 +36080,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.toObject(opt_includeInstance, this);
 };
 
 
@@ -35608,13 +36090,13 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.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.GetContestedResourceVotersForIdentityResponse} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.toObject = function(includeInstance, msg) {
   var f, obj = {
-    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.toObject(includeInstance, f)
+    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.toObject(includeInstance, f)
   };
 
   if (includeInstance) {
@@ -35628,23 +36110,23 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.to
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse}
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse;
-  return proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest;
+  return proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse}
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -35652,8 +36134,8 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.de
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.deserializeBinaryFromReader);
+      var value = new proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.deserializeBinaryFromReader);
       msg.setV0(value);
       break;
     default:
@@ -35669,9 +36151,9 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.de
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -35679,18 +36161,18 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.pr
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
   f = message.getV0();
   if (f != null) {
     writer.writeMessage(
       1,
       f,
-      proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.serializeBinaryToWriter
     );
   }
 };
@@ -35698,30 +36180,11 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.se
 
 
 /**
- * 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.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.oneofGroups_ = [[1,2]];
-
-/**
- * @enum {number}
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ResultCase = {
-  RESULT_NOT_SET: 0,
-  CONTESTED_RESOURCE_VOTERS: 1,
-  PROOF: 2
-};
-
-/**
- * @return {proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ResultCase}
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.prototype.getResultCase = function() {
-  return /** @type {proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.oneofGroups_[0]));
-};
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.repeatedFields_ = [4];
 
 
 
@@ -35738,8 +36201,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.toObject(opt_includeInstance, this);
 };
 
 
@@ -35748,15 +36211,21 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.Ge
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.toObject = function(includeInstance, msg) {
   var f, obj = {
-    contestedResourceVoters: (f = msg.getContestedResourceVoters()) && proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.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(),
+    documentTypeName: jspb.Message.getFieldWithDefault(msg, 2, ""),
+    indexName: jspb.Message.getFieldWithDefault(msg, 3, ""),
+    indexValuesList: msg.getIndexValuesList_asB64(),
+    resultType: jspb.Message.getFieldWithDefault(msg, 5, 0),
+    allowIncludeLockedAndAbstainingVoteTally: jspb.Message.getBooleanFieldWithDefault(msg, 6, false),
+    startAtIdentifierInfo: (f = msg.getStartAtIdentifierInfo()) && proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.toObject(includeInstance, f),
+    count: jspb.Message.getFieldWithDefault(msg, 8, 0),
+    prove: jspb.Message.getBooleanFieldWithDefault(msg, 9, false)
   };
 
   if (includeInstance) {
@@ -35770,23 +36239,23 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.Ge
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0;
-  return proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0;
+  return proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -35794,19 +36263,41 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.Ge
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.deserializeBinaryFromReader);
-      msg.setContestedResourceVoters(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.setDocumentTypeName(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 {string} */ (reader.readString());
+      msg.setIndexName(value);
+      break;
+    case 4:
+      var value = /** @type {!Uint8Array} */ (reader.readBytes());
+      msg.addIndexValues(value);
+      break;
+    case 5:
+      var value = /** @type {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.ResultType} */ (reader.readEnum());
+      msg.setResultType(value);
+      break;
+    case 6:
+      var value = /** @type {boolean} */ (reader.readBool());
+      msg.setAllowIncludeLockedAndAbstainingVoteTally(value);
+      break;
+    case 7:
+      var value = new proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.deserializeBinaryFromReader);
+      msg.setStartAtIdentifierInfo(value);
+      break;
+    case 8:
+      var value = /** @type {number} */ (reader.readUint32());
+      msg.setCount(value);
+      break;
+    case 9:
+      var value = /** @type {boolean} */ (reader.readBool());
+      msg.setProve(value);
       break;
     default:
       reader.skipField();
@@ -35821,9 +36312,9 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.Ge
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -35831,46 +36322,88 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.Ge
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getContestedResourceVoters();
-  if (f != null) {
-    writer.writeMessage(
+  f = message.getContractId_asU8();
+  if (f.length > 0) {
+    writer.writeBytes(
       1,
-      f,
-      proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.serializeBinaryToWriter
+      f
     );
   }
-  f = message.getProof();
-  if (f != null) {
-    writer.writeMessage(
+  f = message.getDocumentTypeName();
+  if (f.length > 0) {
+    writer.writeString(
       2,
-      f,
-      proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter
+      f
     );
   }
-  f = message.getMetadata();
+  f = message.getIndexName();
+  if (f.length > 0) {
+    writer.writeString(
+      3,
+      f
+    );
+  }
+  f = message.getIndexValuesList_asU8();
+  if (f.length > 0) {
+    writer.writeRepeatedBytes(
+      4,
+      f
+    );
+  }
+  f = message.getResultType();
+  if (f !== 0.0) {
+    writer.writeEnum(
+      5,
+      f
+    );
+  }
+  f = message.getAllowIncludeLockedAndAbstainingVoteTally();
+  if (f) {
+    writer.writeBool(
+      6,
+      f
+    );
+  }
+  f = message.getStartAtIdentifierInfo();
   if (f != null) {
     writer.writeMessage(
-      3,
+      7,
       f,
-      proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.serializeBinaryToWriter
+    );
+  }
+  f = /** @type {number} */ (jspb.Message.getField(message, 8));
+  if (f != null) {
+    writer.writeUint32(
+      8,
+      f
+    );
+  }
+  f = message.getProve();
+  if (f) {
+    writer.writeBool(
+      9,
+      f
     );
   }
 };
 
 
-
 /**
- * List of repeated fields within this message type.
- * @private {!Array}
- * @const
+ * @enum {number}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.repeatedFields_ = [1];
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.ResultType = {
+  DOCUMENTS: 0,
+  VOTE_TALLY: 1,
+  DOCUMENTS_AND_VOTE_TALLY: 2
+};
+
 
 
 
@@ -35887,8 +36420,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.toObject(opt_includeInstance, this);
 };
 
 
@@ -35897,14 +36430,14 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.Ge
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.toObject = function(includeInstance, msg) {
   var f, obj = {
-    votersList: msg.getVotersList_asB64(),
-    finishedResults: jspb.Message.getBooleanFieldWithDefault(msg, 2, false)
+    startIdentifier: msg.getStartIdentifier_asB64(),
+    startIdentifierIncluded: jspb.Message.getBooleanFieldWithDefault(msg, 2, false)
   };
 
   if (includeInstance) {
@@ -35918,23 +36451,23 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.Ge
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters}
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters;
-  return proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo;
+  return proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters}
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -35943,11 +36476,11 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.Ge
     switch (field) {
     case 1:
       var value = /** @type {!Uint8Array} */ (reader.readBytes());
-      msg.addVoters(value);
+      msg.setStartIdentifier(value);
       break;
     case 2:
       var value = /** @type {boolean} */ (reader.readBool());
-      msg.setFinishedResults(value);
+      msg.setStartIdentifierIncluded(value);
       break;
     default:
       reader.skipField();
@@ -35962,9 +36495,9 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.Ge
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -35972,20 +36505,20 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.Ge
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getVotersList_asU8();
+  f = message.getStartIdentifier_asU8();
   if (f.length > 0) {
-    writer.writeRepeatedBytes(
+    writer.writeBytes(
       1,
       f
     );
   }
-  f = message.getFinishedResults();
+  f = message.getStartIdentifierIncluded();
   if (f) {
     writer.writeBool(
       2,
@@ -35996,146 +36529,265 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.Ge
 
 
 /**
- * repeated bytes voters = 1;
- * @return {!Array}
+ * optional bytes start_identifier = 1;
+ * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.prototype.getVotersList = function() {
-  return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1));
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.prototype.getStartIdentifier = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
 };
 
 
 /**
- * repeated bytes voters = 1;
- * This is a type-conversion wrapper around `getVotersList()`
- * @return {!Array}
+ * optional bytes start_identifier = 1;
+ * This is a type-conversion wrapper around `getStartIdentifier()`
+ * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.prototype.getVotersList_asB64 = function() {
-  return /** @type {!Array} */ (jspb.Message.bytesListAsB64(
-      this.getVotersList()));
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.prototype.getStartIdentifier_asB64 = function() {
+  return /** @type {string} */ (jspb.Message.bytesAsB64(
+      this.getStartIdentifier()));
 };
 
 
 /**
- * repeated bytes voters = 1;
+ * optional bytes start_identifier = 1;
  * Note that Uint8Array is not supported on all browsers.
  * @see http://caniuse.com/Uint8Array
- * This is a type-conversion wrapper around `getVotersList()`
- * @return {!Array}
+ * This is a type-conversion wrapper around `getStartIdentifier()`
+ * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.prototype.getVotersList_asU8 = function() {
-  return /** @type {!Array} */ (jspb.Message.bytesListAsU8(
-      this.getVotersList()));
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.prototype.getStartIdentifier_asU8 = function() {
+  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
+      this.getStartIdentifier()));
 };
 
 
 /**
- * @param {!(Array|Array)} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters} returns this
+ * @param {!(string|Uint8Array)} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.prototype.setVotersList = function(value) {
-  return jspb.Message.setField(this, 1, value || []);
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.prototype.setStartIdentifier = function(value) {
+  return jspb.Message.setProto3BytesField(this, 1, value);
+};
+
+
+/**
+ * optional bool start_identifier_included = 2;
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.prototype.getStartIdentifierIncluded = function() {
+  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));
+};
+
+
+/**
+ * @param {boolean} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo.prototype.setStartIdentifierIncluded = function(value) {
+  return jspb.Message.setProto3BooleanField(this, 2, value);
+};
+
+
+/**
+ * optional bytes contract_id = 1;
+ * @return {string}
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.getContractId_asU8 = function() {
+  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
+      this.getContractId()));
 };
 
 
 /**
  * @param {!(string|Uint8Array)} value
- * @param {number=} opt_index
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.prototype.addVoters = function(value, opt_index) {
-  return jspb.Message.addToRepeatedField(this, 1, value, opt_index);
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.setContractId = function(value) {
+  return jspb.Message.setProto3BytesField(this, 1, value);
 };
 
 
 /**
- * Clears the list making it empty but non-null.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters} returns this
+ * optional string document_type_name = 2;
+ * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.prototype.clearVotersList = function() {
-  return this.setVotersList([]);
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.getDocumentTypeName = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
 };
 
 
 /**
- * optional bool finished_results = 2;
- * @return {boolean}
+ * @param {string} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.prototype.getFinishedResults = function() {
-  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.setDocumentTypeName = function(value) {
+  return jspb.Message.setProto3StringField(this, 2, value);
 };
 
 
 /**
- * @param {boolean} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters} returns this
+ * optional string index_name = 3;
+ * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.prototype.setFinishedResults = function(value) {
-  return jspb.Message.setProto3BooleanField(this, 2, value);
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.getIndexName = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, ""));
 };
 
 
 /**
- * optional ContestedResourceVoters contested_resource_voters = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters}
+ * @param {string} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.prototype.getContestedResourceVoters = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters, 1));
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.setIndexName = function(value) {
+  return jspb.Message.setProto3StringField(this, 3, value);
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0} returns this
-*/
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.prototype.setContestedResourceVoters = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.oneofGroups_[0], value);
+ * repeated bytes index_values = 4;
+ * @return {!Array}
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.getIndexValuesList = function() {
+  return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 4));
 };
 
 
 /**
- * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0} returns this
+ * repeated bytes index_values = 4;
+ * This is a type-conversion wrapper around `getIndexValuesList()`
+ * @return {!Array}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.prototype.clearContestedResourceVoters = function() {
-  return this.setContestedResourceVoters(undefined);
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.getIndexValuesList_asB64 = function() {
+  return /** @type {!Array} */ (jspb.Message.bytesListAsB64(
+      this.getIndexValuesList()));
 };
 
 
 /**
- * Returns whether this field is set.
+ * repeated bytes index_values = 4;
+ * Note that Uint8Array is not supported on all browsers.
+ * @see http://caniuse.com/Uint8Array
+ * This is a type-conversion wrapper around `getIndexValuesList()`
+ * @return {!Array}
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.getIndexValuesList_asU8 = function() {
+  return /** @type {!Array} */ (jspb.Message.bytesListAsU8(
+      this.getIndexValuesList()));
+};
+
+
+/**
+ * @param {!(Array|Array)} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.setIndexValuesList = function(value) {
+  return jspb.Message.setField(this, 4, value || []);
+};
+
+
+/**
+ * @param {!(string|Uint8Array)} value
+ * @param {number=} opt_index
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.addIndexValues = function(value, opt_index) {
+  return jspb.Message.addToRepeatedField(this, 4, value, opt_index);
+};
+
+
+/**
+ * Clears the list making it empty but non-null.
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.clearIndexValuesList = function() {
+  return this.setIndexValuesList([]);
+};
+
+
+/**
+ * optional ResultType result_type = 5;
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.ResultType}
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.getResultType = function() {
+  return /** @type {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.ResultType} */ (jspb.Message.getFieldWithDefault(this, 5, 0));
+};
+
+
+/**
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.ResultType} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.setResultType = function(value) {
+  return jspb.Message.setProto3EnumField(this, 5, value);
+};
+
+
+/**
+ * optional bool allow_include_locked_and_abstaining_vote_tally = 6;
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.prototype.hasContestedResourceVoters = function() {
-  return jspb.Message.getField(this, 1) != null;
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.getAllowIncludeLockedAndAbstainingVoteTally = function() {
+  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 6, false));
 };
 
 
 /**
- * optional Proof proof = 2;
- * @return {?proto.org.dash.platform.dapi.v0.Proof}
+ * @param {boolean} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.setAllowIncludeLockedAndAbstainingVoteTally = function(value) {
+  return jspb.Message.setProto3BooleanField(this, 6, value);
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0} returns this
+ * optional StartAtIdentifierInfo start_at_identifier_info = 7;
+ * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo}
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.getStartAtIdentifierInfo = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo, 7));
+};
+
+
+/**
+ * @param {?proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.StartAtIdentifierInfo|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} returns this
 */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.prototype.setProof = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.oneofGroups_[0], value);
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.setStartAtIdentifierInfo = function(value) {
+  return jspb.Message.setWrapperField(this, 7, value);
 };
 
 
 /**
  * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.prototype.clearProof = function() {
-  return this.setProof(undefined);
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.clearStartAtIdentifierInfo = function() {
+  return this.setStartAtIdentifierInfo(undefined);
 };
 
 
@@ -36143,36 +36795,35 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.Ge
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.prototype.hasProof = function() {
-  return jspb.Message.getField(this, 2) != null;
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.hasStartAtIdentifierInfo = function() {
+  return jspb.Message.getField(this, 7) != null;
 };
 
 
 /**
- * optional ResponseMetadata metadata = 3;
- * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata}
+ * optional uint32 count = 8;
+ * @return {number}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.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.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.getCount = function() {
+  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 8, 0));
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0} returns this
-*/
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.prototype.setMetadata = function(value) {
-  return jspb.Message.setWrapperField(this, 3, value);
+ * @param {number} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.setCount = function(value) {
+  return jspb.Message.setField(this, 8, value);
 };
 
 
 /**
- * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0} returns this
+ * Clears the field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.prototype.clearMetadata = function() {
-  return this.setMetadata(undefined);
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.clearCount = function() {
+  return jspb.Message.setField(this, 8, undefined);
 };
 
 
@@ -36180,35 +36831,53 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.Ge
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.prototype.hasMetadata = function() {
-  return jspb.Message.getField(this, 3) != null;
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.hasCount = function() {
+  return jspb.Message.getField(this, 8) != null;
 };
 
 
 /**
- * optional GetContestedResourceVotersForIdentityResponseV0 v0 = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0}
+ * optional bool prove = 9;
+ * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.prototype.getV0 = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0, 1));
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.getProve = function() {
+  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 9, false));
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse} returns this
+ * @param {boolean} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0.prototype.setProve = function(value) {
+  return jspb.Message.setProto3BooleanField(this, 9, value);
+};
+
+
+/**
+ * optional GetContestedResourceVoteStateRequestV0 v0 = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0}
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.prototype.getV0 = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0, 1));
+};
+
+
+/**
+ * @param {?proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.GetContestedResourceVoteStateRequestV0|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest} returns this
 */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.prototype.setV0 = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.oneofGroups_[0], value);
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.prototype.setV0 = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.oneofGroups_[0], value);
 };
 
 
 /**
  * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.prototype.clearV0 = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.prototype.clearV0 = function() {
   return this.setV0(undefined);
 };
 
@@ -36217,7 +36886,7 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.pr
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.prototype.hasV0 = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateRequest.prototype.hasV0 = function() {
   return jspb.Message.getField(this, 1) != null;
 };
 
@@ -36231,21 +36900,21 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.pr
  * @private {!Array>}
  * @const
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.oneofGroups_ = [[1]];
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.oneofGroups_ = [[1]];
 
 /**
  * @enum {number}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.VersionCase = {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.VersionCase = {
   VERSION_NOT_SET: 0,
   V0: 1
 };
 
 /**
- * @return {proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.VersionCase}
+ * @return {proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.VersionCase}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.prototype.getVersionCase = function() {
-  return /** @type {proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.oneofGroups_[0]));
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.prototype.getVersionCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.oneofGroups_[0]));
 };
 
 
@@ -36263,8 +36932,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.toObject(opt_includeInstance, this);
 };
 
 
@@ -36273,13 +36942,13 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.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.GetContestedResourceIdentityVotesRequest} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.toObject = function(includeInstance, msg) {
   var f, obj = {
-    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.toObject(includeInstance, f)
+    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.toObject(includeInstance, f)
   };
 
   if (includeInstance) {
@@ -36293,23 +36962,23 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.toObjec
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest}
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest;
-  return proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse;
+  return proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest}
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -36317,8 +36986,8 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.deseria
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.deserializeBinaryFromReader);
+      var value = new proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.deserializeBinaryFromReader);
       msg.setV0(value);
       break;
     default:
@@ -36334,9 +37003,9 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.deseria
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -36344,24 +37013,50 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.prototy
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
   f = message.getV0();
   if (f != null) {
     writer.writeMessage(
       1,
       f,
-      proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.oneofGroups_ = [[1,2]];
+
+/**
+ * @enum {number}
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ResultCase = {
+  RESULT_NOT_SET: 0,
+  CONTESTED_RESOURCE_CONTENDERS: 1,
+  PROOF: 2
+};
+
+/**
+ * @return {proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ResultCase}
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.prototype.getResultCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.oneofGroups_[0]));
+};
+
 
 
 if (jspb.Message.GENERATE_TO_OBJECT) {
@@ -36377,8 +37072,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.toObject(opt_includeInstance, this);
 };
 
 
@@ -36387,18 +37082,15 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetCont
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.toObject = function(includeInstance, msg) {
   var f, obj = {
-    identityId: msg.getIdentityId_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),
-    orderAscending: jspb.Message.getBooleanFieldWithDefault(msg, 4, false),
-    startAtVotePollIdInfo: (f = msg.getStartAtVotePollIdInfo()) && proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.toObject(includeInstance, f),
-    prove: jspb.Message.getBooleanFieldWithDefault(msg, 6, false)
+    contestedResourceContenders: (f = msg.getContestedResourceContenders()) && proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.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) {
@@ -36412,23 +37104,23 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetCont
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0;
-  return proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0;
+  return proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -36436,31 +37128,19 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetCont
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = /** @type {!Uint8Array} */ (reader.readBytes());
-      msg.setIdentityId(value);
+      var value = new proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.deserializeBinaryFromReader);
+      msg.setContestedResourceContenders(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 {boolean} */ (reader.readBool());
-      msg.setOrderAscending(value);
-      break;
-    case 5:
-      var value = new proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.deserializeBinaryFromReader);
-      msg.setStartAtVotePollIdInfo(value);
-      break;
-    case 6:
-      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();
@@ -36475,9 +37155,9 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetCont
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -36485,55 +37165,34 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetCont
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getIdentityId_asU8();
-  if (f.length > 0) {
-    writer.writeBytes(
-      1,
-      f
-    );
-  }
-  f = message.getLimit();
+  f = message.getContestedResourceContenders();
   if (f != null) {
     writer.writeMessage(
-      2,
+      1,
       f,
-      google_protobuf_wrappers_pb.UInt32Value.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.serializeBinaryToWriter
     );
   }
-  f = message.getOffset();
+  f = message.getProof();
   if (f != null) {
     writer.writeMessage(
-      3,
+      2,
       f,
-      google_protobuf_wrappers_pb.UInt32Value.serializeBinaryToWriter
-    );
-  }
-  f = message.getOrderAscending();
-  if (f) {
-    writer.writeBool(
-      4,
-      f
+      proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter
     );
   }
-  f = message.getStartAtVotePollIdInfo();
+  f = message.getMetadata();
   if (f != null) {
     writer.writeMessage(
-      5,
+      3,
       f,
-      proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.serializeBinaryToWriter
-    );
-  }
-  f = message.getProve();
-  if (f) {
-    writer.writeBool(
-      6,
-      f
+      proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter
     );
   }
 };
@@ -36555,8 +37214,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.toObject(opt_includeInstance, this);
 };
 
 
@@ -36565,14 +37224,18 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetCont
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.toObject = function(includeInstance, msg) {
   var f, obj = {
-    startAtPollIdentifier: msg.getStartAtPollIdentifier_asB64(),
-    startPollIdentifierIncluded: jspb.Message.getBooleanFieldWithDefault(msg, 2, false)
+    finishedVoteOutcome: jspb.Message.getFieldWithDefault(msg, 1, 0),
+    wonByIdentityId: msg.getWonByIdentityId_asB64(),
+    finishedAtBlockHeight: jspb.Message.getFieldWithDefault(msg, 3, "0"),
+    finishedAtCoreBlockHeight: jspb.Message.getFieldWithDefault(msg, 4, 0),
+    finishedAtBlockTimeMs: jspb.Message.getFieldWithDefault(msg, 5, "0"),
+    finishedAtEpoch: jspb.Message.getFieldWithDefault(msg, 6, 0)
   };
 
   if (includeInstance) {
@@ -36586,23 +37249,23 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetCont
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo}
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo;
-  return proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo;
+  return proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo}
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -36610,12 +37273,28 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetCont
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = /** @type {!Uint8Array} */ (reader.readBytes());
-      msg.setStartAtPollIdentifier(value);
+      var value = /** @type {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.FinishedVoteOutcome} */ (reader.readEnum());
+      msg.setFinishedVoteOutcome(value);
       break;
     case 2:
-      var value = /** @type {boolean} */ (reader.readBool());
-      msg.setStartPollIdentifierIncluded(value);
+      var value = /** @type {!Uint8Array} */ (reader.readBytes());
+      msg.setWonByIdentityId(value);
+      break;
+    case 3:
+      var value = /** @type {string} */ (reader.readUint64String());
+      msg.setFinishedAtBlockHeight(value);
+      break;
+    case 4:
+      var value = /** @type {number} */ (reader.readUint32());
+      msg.setFinishedAtCoreBlockHeight(value);
+      break;
+    case 5:
+      var value = /** @type {string} */ (reader.readUint64String());
+      msg.setFinishedAtBlockTimeMs(value);
+      break;
+    case 6:
+      var value = /** @type {number} */ (reader.readUint32());
+      msg.setFinishedAtEpoch(value);
       break;
     default:
       reader.skipField();
@@ -36630,9 +37309,9 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetCont
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -36640,156 +37319,132 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetCont
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getStartAtPollIdentifier_asU8();
-  if (f.length > 0) {
-    writer.writeBytes(
+  f = message.getFinishedVoteOutcome();
+  if (f !== 0.0) {
+    writer.writeEnum(
       1,
       f
     );
   }
-  f = message.getStartPollIdentifierIncluded();
-  if (f) {
-    writer.writeBool(
+  f = /** @type {!(string|Uint8Array)} */ (jspb.Message.getField(message, 2));
+  if (f != null) {
+    writer.writeBytes(
       2,
       f
     );
   }
+  f = message.getFinishedAtBlockHeight();
+  if (parseInt(f, 10) !== 0) {
+    writer.writeUint64String(
+      3,
+      f
+    );
+  }
+  f = message.getFinishedAtCoreBlockHeight();
+  if (f !== 0) {
+    writer.writeUint32(
+      4,
+      f
+    );
+  }
+  f = message.getFinishedAtBlockTimeMs();
+  if (parseInt(f, 10) !== 0) {
+    writer.writeUint64String(
+      5,
+      f
+    );
+  }
+  f = message.getFinishedAtEpoch();
+  if (f !== 0) {
+    writer.writeUint32(
+      6,
+      f
+    );
+  }
 };
 
 
 /**
- * optional bytes start_at_poll_identifier = 1;
- * @return {string}
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.prototype.getStartAtPollIdentifier = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
-};
-
-
-/**
- * optional bytes start_at_poll_identifier = 1;
- * This is a type-conversion wrapper around `getStartAtPollIdentifier()`
- * @return {string}
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.prototype.getStartAtPollIdentifier_asB64 = function() {
-  return /** @type {string} */ (jspb.Message.bytesAsB64(
-      this.getStartAtPollIdentifier()));
-};
-
-
-/**
- * optional bytes start_at_poll_identifier = 1;
- * Note that Uint8Array is not supported on all browsers.
- * @see http://caniuse.com/Uint8Array
- * This is a type-conversion wrapper around `getStartAtPollIdentifier()`
- * @return {!Uint8Array}
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.prototype.getStartAtPollIdentifier_asU8 = function() {
-  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
-      this.getStartAtPollIdentifier()));
-};
-
-
-/**
- * @param {!(string|Uint8Array)} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo} returns this
+ * @enum {number}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.prototype.setStartAtPollIdentifier = function(value) {
-  return jspb.Message.setProto3BytesField(this, 1, value);
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.FinishedVoteOutcome = {
+  TOWARDS_IDENTITY: 0,
+  LOCKED: 1,
+  NO_PREVIOUS_WINNER: 2
 };
 
-
 /**
- * optional bool start_poll_identifier_included = 2;
- * @return {boolean}
+ * optional FinishedVoteOutcome finished_vote_outcome = 1;
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.FinishedVoteOutcome}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.prototype.getStartPollIdentifierIncluded = function() {
-  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.prototype.getFinishedVoteOutcome = function() {
+  return /** @type {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.FinishedVoteOutcome} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
 };
 
 
 /**
- * @param {boolean} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo} returns this
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.FinishedVoteOutcome} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.prototype.setStartPollIdentifierIncluded = function(value) {
-  return jspb.Message.setProto3BooleanField(this, 2, value);
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.prototype.setFinishedVoteOutcome = function(value) {
+  return jspb.Message.setProto3EnumField(this, 1, value);
 };
 
 
 /**
- * optional bytes identity_id = 1;
+ * optional bytes won_by_identity_id = 2;
  * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prototype.getIdentityId = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.prototype.getWonByIdentityId = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
 };
 
 
 /**
- * optional bytes identity_id = 1;
- * This is a type-conversion wrapper around `getIdentityId()`
+ * optional bytes won_by_identity_id = 2;
+ * This is a type-conversion wrapper around `getWonByIdentityId()`
  * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prototype.getIdentityId_asB64 = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.prototype.getWonByIdentityId_asB64 = function() {
   return /** @type {string} */ (jspb.Message.bytesAsB64(
-      this.getIdentityId()));
+      this.getWonByIdentityId()));
 };
 
 
 /**
- * optional bytes identity_id = 1;
+ * optional bytes won_by_identity_id = 2;
  * 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 `getWonByIdentityId()`
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prototype.getIdentityId_asU8 = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.prototype.getWonByIdentityId_asU8 = function() {
   return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
-      this.getIdentityId()));
+      this.getWonByIdentityId()));
 };
 
 
 /**
  * @param {!(string|Uint8Array)} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0} returns this
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prototype.setIdentityId = function(value) {
-  return jspb.Message.setProto3BytesField(this, 1, value);
-};
-
-
-/**
- * optional google.protobuf.UInt32Value limit = 2;
- * @return {?proto.google.protobuf.UInt32Value}
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0} returns this
-*/
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prototype.setLimit = function(value) {
-  return jspb.Message.setWrapperField(this, 2, value);
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.prototype.setWonByIdentityId = function(value) {
+  return jspb.Message.setField(this, 2, value);
 };
 
 
 /**
- * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0} returns this
+ * Clears the field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prototype.clearLimit = function() {
-  return this.setLimit(undefined);
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.prototype.clearWonByIdentityId = function() {
+  return jspb.Message.setField(this, 2, undefined);
 };
 
 
@@ -36797,183 +37452,90 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetCont
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prototype.hasLimit = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.prototype.hasWonByIdentityId = function() {
   return jspb.Message.getField(this, 2) != null;
 };
 
 
 /**
- * optional google.protobuf.UInt32Value offset = 3;
- * @return {?proto.google.protobuf.UInt32Value}
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prototype.getOffset = 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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0} returns this
-*/
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0} returns this
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prototype.clearOffset = function() {
-  return this.setOffset(undefined);
-};
-
-
-/**
- * Returns whether this field is set.
- * @return {boolean}
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prototype.hasOffset = function() {
-  return jspb.Message.getField(this, 3) != null;
-};
-
-
-/**
- * optional bool order_ascending = 4;
- * @return {boolean}
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prototype.getOrderAscending = function() {
-  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 4, false));
-};
-
-
-/**
- * @param {boolean} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0} returns this
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prototype.setOrderAscending = function(value) {
-  return jspb.Message.setProto3BooleanField(this, 4, value);
-};
-
-
-/**
- * optional StartAtVotePollIdInfo start_at_vote_poll_id_info = 5;
- * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo}
+ * optional uint64 finished_at_block_height = 3;
+ * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prototype.getStartAtVotePollIdInfo = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo, 5));
-};
-
-
-/**
- * @param {?proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0} returns this
-*/
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prototype.setStartAtVotePollIdInfo = function(value) {
-  return jspb.Message.setWrapperField(this, 5, value);
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.prototype.getFinishedAtBlockHeight = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "0"));
 };
 
 
 /**
- * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0} returns this
+ * @param {string} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prototype.clearStartAtVotePollIdInfo = function() {
-  return this.setStartAtVotePollIdInfo(undefined);
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.prototype.setFinishedAtBlockHeight = function(value) {
+  return jspb.Message.setProto3StringIntField(this, 3, value);
 };
 
 
 /**
- * Returns whether this field is set.
- * @return {boolean}
+ * optional uint32 finished_at_core_block_height = 4;
+ * @return {number}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prototype.hasStartAtVotePollIdInfo = function() {
-  return jspb.Message.getField(this, 5) != null;
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.prototype.getFinishedAtCoreBlockHeight = function() {
+  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0));
 };
 
 
 /**
- * optional bool prove = 6;
- * @return {boolean}
+ * @param {number} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prototype.getProve = function() {
-  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 6, false));
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.prototype.setFinishedAtCoreBlockHeight = function(value) {
+  return jspb.Message.setProto3IntField(this, 4, value);
 };
 
 
 /**
- * @param {boolean} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0} returns this
+ * optional uint64 finished_at_block_time_ms = 5;
+ * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prototype.setProve = function(value) {
-  return jspb.Message.setProto3BooleanField(this, 6, value);
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.prototype.getFinishedAtBlockTimeMs = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, "0"));
 };
 
 
 /**
- * optional GetContestedResourceIdentityVotesRequestV0 v0 = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0}
+ * @param {string} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.prototype.getV0 = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0, 1));
-};
-
-
-/**
- * @param {?proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest} returns this
-*/
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.prototype.setV0 = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.oneofGroups_[0], value);
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.prototype.setFinishedAtBlockTimeMs = function(value) {
+  return jspb.Message.setProto3StringIntField(this, 5, value);
 };
 
 
 /**
- * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest} returns this
+ * optional uint32 finished_at_epoch = 6;
+ * @return {number}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.prototype.clearV0 = function() {
-  return this.setV0(undefined);
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.prototype.getFinishedAtEpoch = function() {
+  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 6, 0));
 };
 
 
 /**
- * Returns whether this field is set.
- * @return {boolean}
+ * @param {number} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.prototype.hasV0 = function() {
-  return jspb.Message.getField(this, 1) != null;
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.prototype.setFinishedAtEpoch = function(value) {
+  return jspb.Message.setProto3IntField(this, 6, 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>}
+ * List of repeated fields within this message type.
+ * @private {!Array}
  * @const
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.oneofGroups_ = [[1]];
-
-/**
- * @enum {number}
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.VersionCase = {
-  VERSION_NOT_SET: 0,
-  V0: 1
-};
-
-/**
- * @return {proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.VersionCase}
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.prototype.getVersionCase = function() {
-  return /** @type {proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.oneofGroups_[0]));
-};
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.repeatedFields_ = [1];
 
 
 
@@ -36990,8 +37552,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.toObject(opt_includeInstance, this);
 };
 
 
@@ -37000,13 +37562,17 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.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.GetContestedResourceIdentityVotesResponse} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.toObject = function(includeInstance, msg) {
   var f, obj = {
-    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.toObject(includeInstance, f)
+    contendersList: jspb.Message.toObjectList(msg.getContendersList(),
+    proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.toObject, includeInstance),
+    abstainVoteTally: jspb.Message.getFieldWithDefault(msg, 2, 0),
+    lockVoteTally: jspb.Message.getFieldWithDefault(msg, 3, 0),
+    finishedVoteInfo: (f = msg.getFinishedVoteInfo()) && proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.toObject(includeInstance, f)
   };
 
   if (includeInstance) {
@@ -37020,23 +37586,23 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.toObje
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse}
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse;
-  return proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders;
+  return proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse}
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -37044,9 +37610,22 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.deseri
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.deserializeBinaryFromReader);
-      msg.setV0(value);
+      var value = new proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.deserializeBinaryFromReader);
+      msg.addContenders(value);
+      break;
+    case 2:
+      var value = /** @type {number} */ (reader.readUint32());
+      msg.setAbstainVoteTally(value);
+      break;
+    case 3:
+      var value = /** @type {number} */ (reader.readUint32());
+      msg.setLockVoteTally(value);
+      break;
+    case 4:
+      var value = new proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.deserializeBinaryFromReader);
+      msg.setFinishedVoteInfo(value);
       break;
     default:
       reader.skipField();
@@ -37061,9 +37640,9 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.deseri
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -37071,378 +37650,189 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.protot
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getV0();
+  f = message.getContendersList();
+  if (f.length > 0) {
+    writer.writeRepeatedMessage(
+      1,
+      f,
+      proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.serializeBinaryToWriter
+    );
+  }
+  f = /** @type {number} */ (jspb.Message.getField(message, 2));
+  if (f != null) {
+    writer.writeUint32(
+      2,
+      f
+    );
+  }
+  f = /** @type {number} */ (jspb.Message.getField(message, 3));
+  if (f != null) {
+    writer.writeUint32(
+      3,
+      f
+    );
+  }
+  f = message.getFinishedVoteInfo();
   if (f != null) {
     writer.writeMessage(
-      1,
+      4,
       f,
-      proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo.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 Contender contenders = 1;
+ * @return {!Array}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.oneofGroups_ = [[1,2]];
-
-/**
- * @enum {number}
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResultCase = {
-  RESULT_NOT_SET: 0,
-  VOTES: 1,
-  PROOF: 2
-};
-
-/**
- * @return {proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResultCase}
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.prototype.getResultCase = function() {
-  return /** @type {proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.prototype.getContendersList = function() {
+  return /** @type{!Array} */ (
+    jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender, 1));
 };
 
 
 /**
- * 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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0} msg The msg instance to transform.
- * @return {!Object}
- * @suppress {unusedLocalVariables} f is only used for nested messages
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.toObject = function(includeInstance, msg) {
-  var f, obj = {
-    votes: (f = msg.getVotes()) && proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.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;
+ * @param {!Array} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.prototype.setContendersList = function(value) {
+  return jspb.Message.setRepeatedWrapperField(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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0}
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender=} opt_value
+ * @param {number=} opt_index
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.deserializeBinary = function(bytes) {
-  var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0;
-  return proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.deserializeBinaryFromReader(msg, reader);
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.prototype.addContenders = function(opt_value, opt_index) {
+  return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender, 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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0} msg The message object to deserialize into.
- * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0}
+ * Clears the list making it empty but non-null.
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.deserializeBinaryFromReader);
-      msg.setVotes(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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.prototype.clearContendersList = function() {
+  return this.setContendersList([]);
 };
 
 
 /**
- * Serializes the message to binary data (in protobuf wire format).
- * @return {!Uint8Array}
+ * optional uint32 abstain_vote_tally = 2;
+ * @return {number}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.prototype.serializeBinary = function() {
-  var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.serializeBinaryToWriter(this, writer);
-  return writer.getResultBuffer();
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.prototype.getAbstainVoteTally = function() {
+  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
 };
 
 
 /**
- * Serializes the given message to binary data (in protobuf wire
- * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0} message
- * @param {!jspb.BinaryWriter} writer
- * @suppress {unusedLocalVariables} f is only used for nested messages
+ * @param {number} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.serializeBinaryToWriter = function(message, writer) {
-  var f = undefined;
-  f = message.getVotes();
-  if (f != null) {
-    writer.writeMessage(
-      1,
-      f,
-      proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.prototype.setAbstainVoteTally = function(value) {
+  return jspb.Message.setField(this, 2, value);
 };
 
 
-
-/**
- * List of repeated fields within this message type.
- * @private {!Array}
- * @const
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.prototype.clearAbstainVoteTally = function() {
+  return jspb.Message.setField(this, 2, 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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes} 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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.toObject = function(includeInstance, msg) {
-  var f, obj = {
-    contestedResourceIdentityVotesList: jspb.Message.toObjectList(msg.getContestedResourceIdentityVotesList(),
-    proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.toObject, includeInstance),
-    finishedResults: jspb.Message.getBooleanFieldWithDefault(msg, 2, false)
-  };
-
-  if (includeInstance) {
-    obj.$jspbMessageInstance = msg;
-  }
-  return obj;
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.prototype.hasAbstainVoteTally = 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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes}
+ * optional uint32 lock_vote_tally = 3;
+ * @return {number}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.deserializeBinary = function(bytes) {
-  var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes;
-  return proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.deserializeBinaryFromReader(msg, reader);
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.prototype.getLockVoteTally = function() {
+  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));
 };
 
 
 /**
- * Deserializes binary data (in protobuf wire format) from the
- * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes} msg The message object to deserialize into.
- * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes}
+ * @param {number} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.deserializeBinaryFromReader);
-      msg.addContestedResourceIdentityVotes(value);
-      break;
-    case 2:
-      var value = /** @type {boolean} */ (reader.readBool());
-      msg.setFinishedResults(value);
-      break;
-    default:
-      reader.skipField();
-      break;
-    }
-  }
-  return msg;
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.prototype.setLockVoteTally = function(value) {
+  return jspb.Message.setField(this, 3, 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.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.prototype.serializeBinary = function() {
-  var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.serializeBinaryToWriter(this, writer);
-  return writer.getResultBuffer();
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.prototype.clearLockVoteTally = function() {
+  return jspb.Message.setField(this, 3, undefined);
 };
 
 
 /**
- * Serializes the given message to binary data (in protobuf wire
- * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes} 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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.serializeBinaryToWriter = function(message, writer) {
-  var f = undefined;
-  f = message.getContestedResourceIdentityVotesList();
-  if (f.length > 0) {
-    writer.writeRepeatedMessage(
-      1,
-      f,
-      proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.serializeBinaryToWriter
-    );
-  }
-  f = message.getFinishedResults();
-  if (f) {
-    writer.writeBool(
-      2,
-      f
-    );
-  }
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.prototype.hasLockVoteTally = function() {
+  return jspb.Message.getField(this, 3) != null;
 };
 
 
 /**
- * repeated ContestedResourceIdentityVote contested_resource_identity_votes = 1;
- * @return {!Array}
+ * optional FinishedVoteInfo finished_vote_info = 4;
+ * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.prototype.getContestedResourceIdentityVotesList = function() {
-  return /** @type{!Array} */ (
-    jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote, 1));
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.prototype.getFinishedVoteInfo = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo, 4));
 };
 
 
 /**
- * @param {!Array} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes} returns this
+ * @param {?proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.FinishedVoteInfo|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders} returns this
 */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.prototype.setContestedResourceIdentityVotesList = function(value) {
-  return jspb.Message.setRepeatedWrapperField(this, 1, value);
-};
-
-
-/**
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote=} opt_value
- * @param {number=} opt_index
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote}
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.prototype.addContestedResourceIdentityVotes = function(opt_value, opt_index) {
-  return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote, opt_index);
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.prototype.setFinishedVoteInfo = function(value) {
+  return jspb.Message.setWrapperField(this, 4, value);
 };
 
 
 /**
- * Clears the list making it empty but non-null.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes} returns this
+ * Clears the message field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.prototype.clearContestedResourceIdentityVotesList = function() {
-  return this.setContestedResourceIdentityVotesList([]);
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.prototype.clearFinishedVoteInfo = function() {
+  return this.setFinishedVoteInfo(undefined);
 };
 
 
 /**
- * optional bool finished_results = 2;
+ * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.prototype.getFinishedResults = function() {
-  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));
-};
-
-
-/**
- * @param {boolean} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes} returns this
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.prototype.setFinishedResults = function(value) {
-  return jspb.Message.setProto3BooleanField(this, 2, value);
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders.prototype.hasFinishedVoteInfo = function() {
+  return jspb.Message.getField(this, 4) != null;
 };
 
 
@@ -37462,8 +37852,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.toObject(opt_includeInstance, this);
 };
 
 
@@ -37472,14 +37862,15 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetCon
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.toObject = function(includeInstance, msg) {
   var f, obj = {
-    voteChoiceType: jspb.Message.getFieldWithDefault(msg, 1, 0),
-    identityId: msg.getIdentityId_asB64()
+    identifier: msg.getIdentifier_asB64(),
+    voteCount: jspb.Message.getFieldWithDefault(msg, 2, 0),
+    document: msg.getDocument_asB64()
   };
 
   if (includeInstance) {
@@ -37493,23 +37884,23 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetCon
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice}
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice;
-  return proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender;
+  return proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice}
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -37517,12 +37908,16 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetCon
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = /** @type {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.VoteChoiceType} */ (reader.readEnum());
-      msg.setVoteChoiceType(value);
+      var value = /** @type {!Uint8Array} */ (reader.readBytes());
+      msg.setIdentifier(value);
       break;
     case 2:
+      var value = /** @type {number} */ (reader.readUint32());
+      msg.setVoteCount(value);
+      break;
+    case 3:
       var value = /** @type {!Uint8Array} */ (reader.readBytes());
-      msg.setIdentityId(value);
+      msg.setDocument(value);
       break;
     default:
       reader.skipField();
@@ -37537,9 +37932,9 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetCon
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -37547,103 +37942,101 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetCon
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getVoteChoiceType();
-  if (f !== 0.0) {
-    writer.writeEnum(
+  f = message.getIdentifier_asU8();
+  if (f.length > 0) {
+    writer.writeBytes(
       1,
       f
     );
   }
-  f = /** @type {!(string|Uint8Array)} */ (jspb.Message.getField(message, 2));
+  f = /** @type {number} */ (jspb.Message.getField(message, 2));
   if (f != null) {
-    writer.writeBytes(
+    writer.writeUint32(
       2,
       f
     );
   }
+  f = /** @type {!(string|Uint8Array)} */ (jspb.Message.getField(message, 3));
+  if (f != null) {
+    writer.writeBytes(
+      3,
+      f
+    );
+  }
 };
 
 
 /**
- * @enum {number}
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.VoteChoiceType = {
-  TOWARDS_IDENTITY: 0,
-  ABSTAIN: 1,
-  LOCK: 2
-};
-
-/**
- * optional VoteChoiceType vote_choice_type = 1;
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.VoteChoiceType}
+ * optional bytes identifier = 1;
+ * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.prototype.getVoteChoiceType = function() {
-  return /** @type {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.VoteChoiceType} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.prototype.getIdentifier = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
 };
 
 
 /**
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.VoteChoiceType} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice} returns this
+ * optional bytes identifier = 1;
+ * This is a type-conversion wrapper around `getIdentifier()`
+ * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.prototype.setVoteChoiceType = function(value) {
-  return jspb.Message.setProto3EnumField(this, 1, value);
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.prototype.getIdentifier_asB64 = function() {
+  return /** @type {string} */ (jspb.Message.bytesAsB64(
+      this.getIdentifier()));
 };
 
 
 /**
- * optional bytes identity_id = 2;
- * @return {string}
+ * 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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.prototype.getIdentityId = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.prototype.getIdentifier_asU8 = function() {
+  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
+      this.getIdentifier()));
 };
 
 
 /**
- * optional bytes identity_id = 2;
- * This is a type-conversion wrapper around `getIdentityId()`
- * @return {string}
+ * @param {!(string|Uint8Array)} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.prototype.getIdentityId_asB64 = function() {
-  return /** @type {string} */ (jspb.Message.bytesAsB64(
-      this.getIdentityId()));
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.prototype.setIdentifier = function(value) {
+  return jspb.Message.setProto3BytesField(this, 1, value);
 };
 
 
 /**
- * optional bytes identity_id = 2;
- * Note that Uint8Array is not supported on all browsers.
- * @see http://caniuse.com/Uint8Array
- * This is a type-conversion wrapper around `getIdentityId()`
- * @return {!Uint8Array}
+ * optional uint32 vote_count = 2;
+ * @return {number}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.prototype.getIdentityId_asU8 = function() {
-  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
-      this.getIdentityId()));
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.prototype.getVoteCount = function() {
+  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
 };
 
 
 /**
- * @param {!(string|Uint8Array)} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice} returns this
+ * @param {number} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.prototype.setIdentityId = function(value) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.prototype.setVoteCount = function(value) {
   return jspb.Message.setField(this, 2, value);
 };
 
 
 /**
  * Clears the field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.prototype.clearIdentityId = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.prototype.clearVoteCount = function() {
   return jspb.Message.setField(this, 2, undefined);
 };
 
@@ -37652,314 +38045,59 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetCon
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.prototype.hasIdentityId = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.prototype.hasVoteCount = function() {
   return jspb.Message.getField(this, 2) != null;
 };
 
 
-
 /**
- * List of repeated fields within this message type.
- * @private {!Array}
- * @const
+ * optional bytes document = 3;
+ * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.repeatedFields_ = [3];
-
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.prototype.getDocument = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, ""));
+};
 
 
-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 document = 3;
+ * This is a type-conversion wrapper around `getDocument()`
+ * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.prototype.getDocument_asB64 = function() {
+  return /** @type {string} */ (jspb.Message.bytesAsB64(
+      this.getDocument()));
 };
 
 
 /**
- * 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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote} msg The msg instance to transform.
- * @return {!Object}
- * @suppress {unusedLocalVariables} f is only used for nested messages
+ * optional bytes document = 3;
+ * Note that Uint8Array is not supported on all browsers.
+ * @see http://caniuse.com/Uint8Array
+ * This is a type-conversion wrapper around `getDocument()`
+ * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.toObject = function(includeInstance, msg) {
-  var f, obj = {
-    contractId: msg.getContractId_asB64(),
-    documentTypeName: jspb.Message.getFieldWithDefault(msg, 2, ""),
-    serializedIndexStorageValuesList: msg.getSerializedIndexStorageValuesList_asB64(),
-    voteChoice: (f = msg.getVoteChoice()) && proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote}
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.deserializeBinary = function(bytes) {
-  var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote;
-  return proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.deserializeBinaryFromReader(msg, reader);
-};
-
-
-/**
- * Deserializes binary data (in protobuf wire format) from the
- * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote} msg The message object to deserialize into.
- * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote}
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.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.setContractId(value);
-      break;
-    case 2:
-      var value = /** @type {string} */ (reader.readString());
-      msg.setDocumentTypeName(value);
-      break;
-    case 3:
-      var value = /** @type {!Uint8Array} */ (reader.readBytes());
-      msg.addSerializedIndexStorageValues(value);
-      break;
-    case 4:
-      var value = new proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.deserializeBinaryFromReader);
-      msg.setVoteChoice(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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.prototype.serializeBinary = function() {
-  var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote} message
- * @param {!jspb.BinaryWriter} writer
- * @suppress {unusedLocalVariables} f is only used for nested messages
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.serializeBinaryToWriter = function(message, writer) {
-  var f = undefined;
-  f = message.getContractId_asU8();
-  if (f.length > 0) {
-    writer.writeBytes(
-      1,
-      f
-    );
-  }
-  f = message.getDocumentTypeName();
-  if (f.length > 0) {
-    writer.writeString(
-      2,
-      f
-    );
-  }
-  f = message.getSerializedIndexStorageValuesList_asU8();
-  if (f.length > 0) {
-    writer.writeRepeatedBytes(
-      3,
-      f
-    );
-  }
-  f = message.getVoteChoice();
-  if (f != null) {
-    writer.writeMessage(
-      4,
-      f,
-      proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.serializeBinaryToWriter
-    );
-  }
-};
-
-
-/**
- * optional bytes contract_id = 1;
- * @return {string}
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.prototype.getContractId_asU8 = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.prototype.getDocument_asU8 = function() {
   return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
-      this.getContractId()));
-};
-
-
-/**
- * @param {!(string|Uint8Array)} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote} returns this
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.prototype.setContractId = function(value) {
-  return jspb.Message.setProto3BytesField(this, 1, value);
-};
-
-
-/**
- * optional string document_type_name = 2;
- * @return {string}
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.prototype.getDocumentTypeName = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
-};
-
-
-/**
- * @param {string} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote} returns this
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.prototype.setDocumentTypeName = function(value) {
-  return jspb.Message.setProto3StringField(this, 2, value);
-};
-
-
-/**
- * repeated bytes serialized_index_storage_values = 3;
- * @return {!Array}
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.prototype.getSerializedIndexStorageValuesList = function() {
-  return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 3));
-};
-
-
-/**
- * repeated bytes serialized_index_storage_values = 3;
- * This is a type-conversion wrapper around `getSerializedIndexStorageValuesList()`
- * @return {!Array}
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.prototype.getSerializedIndexStorageValuesList_asB64 = function() {
-  return /** @type {!Array} */ (jspb.Message.bytesListAsB64(
-      this.getSerializedIndexStorageValuesList()));
-};
-
-
-/**
- * repeated bytes serialized_index_storage_values = 3;
- * Note that Uint8Array is not supported on all browsers.
- * @see http://caniuse.com/Uint8Array
- * This is a type-conversion wrapper around `getSerializedIndexStorageValuesList()`
- * @return {!Array}
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.prototype.getSerializedIndexStorageValuesList_asU8 = function() {
-  return /** @type {!Array} */ (jspb.Message.bytesListAsU8(
-      this.getSerializedIndexStorageValuesList()));
-};
-
-
-/**
- * @param {!(Array|Array)} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote} returns this
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.prototype.setSerializedIndexStorageValuesList = function(value) {
-  return jspb.Message.setField(this, 3, value || []);
+      this.getDocument()));
 };
 
 
 /**
  * @param {!(string|Uint8Array)} value
- * @param {number=} opt_index
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote} returns this
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.prototype.addSerializedIndexStorageValues = function(value, opt_index) {
-  return jspb.Message.addToRepeatedField(this, 3, value, opt_index);
-};
-
-
-/**
- * Clears the list making it empty but non-null.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote} returns this
- */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.prototype.clearSerializedIndexStorageValuesList = function() {
-  return this.setSerializedIndexStorageValuesList([]);
-};
-
-
-/**
- * optional ResourceVoteChoice vote_choice = 4;
- * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice}
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.prototype.getVoteChoice = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice, 4));
-};
-
-
-/**
- * @param {?proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote} returns this
-*/
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.prototype.setVoteChoice = function(value) {
-  return jspb.Message.setWrapperField(this, 4, value);
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.prototype.setDocument = function(value) {
+  return jspb.Message.setField(this, 3, value);
 };
 
 
 /**
- * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote} returns this
+ * Clears the field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.prototype.clearVoteChoice = function() {
-  return this.setVoteChoice(undefined);
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.prototype.clearDocument = function() {
+  return jspb.Message.setField(this, 3, undefined);
 };
 
 
@@ -37967,36 +38105,36 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetCon
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.prototype.hasVoteChoice = function() {
-  return jspb.Message.getField(this, 4) != null;
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.Contender.prototype.hasDocument = function() {
+  return jspb.Message.getField(this, 3) != null;
 };
 
 
 /**
- * optional ContestedResourceIdentityVotes votes = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes}
+ * optional ContestedResourceContenders contested_resource_contenders = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.prototype.getVotes = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes, 1));
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.prototype.getContestedResourceContenders = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders, 1));
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0} returns this
+ * @param {?proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.ContestedResourceContenders|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0} returns this
 */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.prototype.setVotes = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.oneofGroups_[0], value);
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.prototype.setContestedResourceContenders = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.oneofGroups_[0], value);
 };
 
 
 /**
  * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.prototype.clearVotes = function() {
-  return this.setVotes(undefined);
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.prototype.clearContestedResourceContenders = function() {
+  return this.setContestedResourceContenders(undefined);
 };
 
 
@@ -38004,7 +38142,7 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetCon
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.prototype.hasVotes = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.prototype.hasContestedResourceContenders = function() {
   return jspb.Message.getField(this, 1) != null;
 };
 
@@ -38013,7 +38151,7 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetCon
  * optional Proof proof = 2;
  * @return {?proto.org.dash.platform.dapi.v0.Proof}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.prototype.getProof = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.prototype.getProof = function() {
   return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ (
     jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2));
 };
@@ -38021,18 +38159,18 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetCon
 
 /**
  * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0} returns this
 */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.prototype.setProof = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.oneofGroups_[0], value);
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.prototype.setProof = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.oneofGroups_[0], value);
 };
 
 
 /**
  * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.prototype.clearProof = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.prototype.clearProof = function() {
   return this.setProof(undefined);
 };
 
@@ -38041,7 +38179,7 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetCon
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.prototype.hasProof = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.prototype.hasProof = function() {
   return jspb.Message.getField(this, 2) != null;
 };
 
@@ -38050,7 +38188,7 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetCon
  * optional ResponseMetadata metadata = 3;
  * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.prototype.getMetadata = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.prototype.getMetadata = function() {
   return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ (
     jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3));
 };
@@ -38058,18 +38196,18 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetCon
 
 /**
  * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0} returns this
 */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.prototype.setMetadata = function(value) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.prototype.clearMetadata = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.prototype.clearMetadata = function() {
   return this.setMetadata(undefined);
 };
 
@@ -38078,35 +38216,35 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetCon
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.prototype.hasMetadata = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0.prototype.hasMetadata = function() {
   return jspb.Message.getField(this, 3) != null;
 };
 
 
 /**
- * optional GetContestedResourceIdentityVotesResponseV0 v0 = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0}
+ * optional GetContestedResourceVoteStateResponseV0 v0 = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.prototype.getV0 = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0, 1));
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.prototype.getV0 = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0, 1));
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse} returns this
+ * @param {?proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.GetContestedResourceVoteStateResponseV0|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse} returns this
 */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.prototype.setV0 = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.oneofGroups_[0], value);
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.prototype.setV0 = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.oneofGroups_[0], value);
 };
 
 
 /**
  * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse} returns this
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.prototype.clearV0 = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.prototype.clearV0 = function() {
   return this.setV0(undefined);
 };
 
@@ -38115,7 +38253,7 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.protot
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.prototype.hasV0 = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVoteStateResponse.prototype.hasV0 = function() {
   return jspb.Message.getField(this, 1) != null;
 };
 
@@ -38129,21 +38267,21 @@ proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.protot
  * @private {!Array>}
  * @const
  */
-proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.oneofGroups_ = [[1]];
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.oneofGroups_ = [[1]];
 
 /**
  * @enum {number}
  */
-proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.VersionCase = {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.VersionCase = {
   VERSION_NOT_SET: 0,
   V0: 1
 };
 
 /**
- * @return {proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.VersionCase}
+ * @return {proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.VersionCase}
  */
-proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.prototype.getVersionCase = function() {
-  return /** @type {proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.oneofGroups_[0]));
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.prototype.getVersionCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.oneofGroups_[0]));
 };
 
 
@@ -38161,8 +38299,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.toObject(opt_includeInstance, this);
 };
 
 
@@ -38171,13 +38309,13 @@ proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.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.GetPrefundedSpecializedBalanceRequest} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.toObject = function(includeInstance, msg) {
   var f, obj = {
-    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.toObject(includeInstance, f)
+    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.toObject(includeInstance, f)
   };
 
   if (includeInstance) {
@@ -38191,23 +38329,23 @@ proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.toObject =
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest}
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest}
  */
-proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest;
-  return proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest;
+  return proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest}
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest}
  */
-proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -38215,8 +38353,8 @@ proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.deserializ
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.deserializeBinaryFromReader);
+      var value = new proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.deserializeBinaryFromReader);
       msg.setV0(value);
       break;
     default:
@@ -38232,9 +38370,9 @@ proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.deserializ
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -38242,24 +38380,31 @@ proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.prototype.
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
   f = message.getV0();
   if (f != null) {
     writer.writeMessage(
       1,
       f,
-      proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.serializeBinaryToWriter
     );
   }
 };
 
 
 
+/**
+ * List of repeated fields within this message type.
+ * @private {!Array}
+ * @const
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.repeatedFields_ = [4];
+
 
 
 if (jspb.Message.GENERATE_TO_OBJECT) {
@@ -38275,8 +38420,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.toObject(opt_includeInstance, this);
 };
 
 
@@ -38285,14 +38430,21 @@ proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefund
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.toObject = function(includeInstance, msg) {
   var f, obj = {
-    id: msg.getId_asB64(),
-    prove: jspb.Message.getBooleanFieldWithDefault(msg, 2, false)
+    contractId: msg.getContractId_asB64(),
+    documentTypeName: jspb.Message.getFieldWithDefault(msg, 2, ""),
+    indexName: jspb.Message.getFieldWithDefault(msg, 3, ""),
+    indexValuesList: msg.getIndexValuesList_asB64(),
+    contestantId: msg.getContestantId_asB64(),
+    startAtIdentifierInfo: (f = msg.getStartAtIdentifierInfo()) && proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.toObject(includeInstance, f),
+    count: jspb.Message.getFieldWithDefault(msg, 7, 0),
+    orderAscending: jspb.Message.getBooleanFieldWithDefault(msg, 8, false),
+    prove: jspb.Message.getBooleanFieldWithDefault(msg, 9, false)
   };
 
   if (includeInstance) {
@@ -38306,23 +38458,23 @@ proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefund
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0}
  */
-proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0;
-  return proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0;
+  return proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0}
  */
-proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -38331,9 +38483,38 @@ proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefund
     switch (field) {
     case 1:
       var value = /** @type {!Uint8Array} */ (reader.readBytes());
-      msg.setId(value);
+      msg.setContractId(value);
       break;
     case 2:
+      var value = /** @type {string} */ (reader.readString());
+      msg.setDocumentTypeName(value);
+      break;
+    case 3:
+      var value = /** @type {string} */ (reader.readString());
+      msg.setIndexName(value);
+      break;
+    case 4:
+      var value = /** @type {!Uint8Array} */ (reader.readBytes());
+      msg.addIndexValues(value);
+      break;
+    case 5:
+      var value = /** @type {!Uint8Array} */ (reader.readBytes());
+      msg.setContestantId(value);
+      break;
+    case 6:
+      var value = new proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.deserializeBinaryFromReader);
+      msg.setStartAtIdentifierInfo(value);
+      break;
+    case 7:
+      var value = /** @type {number} */ (reader.readUint32());
+      msg.setCount(value);
+      break;
+    case 8:
+      var value = /** @type {boolean} */ (reader.readBool());
+      msg.setOrderAscending(value);
+      break;
+    case 9:
       var value = /** @type {boolean} */ (reader.readBool());
       msg.setProve(value);
       break;
@@ -38350,9 +38531,9 @@ proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefund
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -38360,151 +38541,79 @@ proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefund
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getId_asU8();
+  f = message.getContractId_asU8();
   if (f.length > 0) {
     writer.writeBytes(
       1,
       f
     );
   }
-  f = message.getProve();
-  if (f) {
-    writer.writeBool(
+  f = message.getDocumentTypeName();
+  if (f.length > 0) {
+    writer.writeString(
       2,
       f
     );
   }
+  f = message.getIndexName();
+  if (f.length > 0) {
+    writer.writeString(
+      3,
+      f
+    );
+  }
+  f = message.getIndexValuesList_asU8();
+  if (f.length > 0) {
+    writer.writeRepeatedBytes(
+      4,
+      f
+    );
+  }
+  f = message.getContestantId_asU8();
+  if (f.length > 0) {
+    writer.writeBytes(
+      5,
+      f
+    );
+  }
+  f = message.getStartAtIdentifierInfo();
+  if (f != null) {
+    writer.writeMessage(
+      6,
+      f,
+      proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.serializeBinaryToWriter
+    );
+  }
+  f = /** @type {number} */ (jspb.Message.getField(message, 7));
+  if (f != null) {
+    writer.writeUint32(
+      7,
+      f
+    );
+  }
+  f = message.getOrderAscending();
+  if (f) {
+    writer.writeBool(
+      8,
+      f
+    );
+  }
+  f = message.getProve();
+  if (f) {
+    writer.writeBool(
+      9,
+      f
+    );
+  }
 };
 
 
-/**
- * optional bytes id = 1;
- * @return {string}
- */
-proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.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.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.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.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.prototype.getId_asU8 = function() {
-  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
-      this.getId()));
-};
-
-
-/**
- * @param {!(string|Uint8Array)} value
- * @return {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0} returns this
- */
-proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.prototype.setId = function(value) {
-  return jspb.Message.setProto3BytesField(this, 1, value);
-};
-
-
-/**
- * optional bool prove = 2;
- * @return {boolean}
- */
-proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.prototype.getProve = function() {
-  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));
-};
-
-
-/**
- * @param {boolean} value
- * @return {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0} returns this
- */
-proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.prototype.setProve = function(value) {
-  return jspb.Message.setProto3BooleanField(this, 2, value);
-};
-
-
-/**
- * optional GetPrefundedSpecializedBalanceRequestV0 v0 = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0}
- */
-proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.prototype.getV0 = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0, 1));
-};
-
-
-/**
- * @param {?proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest} returns this
-*/
-proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.prototype.setV0 = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.oneofGroups_[0], value);
-};
-
-
-/**
- * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest} returns this
- */
-proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.prototype.clearV0 = function() {
-  return this.setV0(undefined);
-};
-
-
-/**
- * Returns whether this field is set.
- * @return {boolean}
- */
-proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.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.GetPrefundedSpecializedBalanceResponse.oneofGroups_ = [[1]];
-
-/**
- * @enum {number}
- */
-proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.VersionCase = {
-  VERSION_NOT_SET: 0,
-  V0: 1
-};
-
-/**
- * @return {proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.VersionCase}
- */
-proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.prototype.getVersionCase = function() {
-  return /** @type {proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.oneofGroups_[0]));
-};
 
 
 
@@ -38521,8 +38630,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.toObject(opt_includeInstance, this);
 };
 
 
@@ -38531,13 +38640,14 @@ proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.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.GetPrefundedSpecializedBalanceResponse} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.toObject = function(includeInstance, msg) {
   var f, obj = {
-    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.toObject(includeInstance, f)
+    startIdentifier: msg.getStartIdentifier_asB64(),
+    startIdentifierIncluded: jspb.Message.getBooleanFieldWithDefault(msg, 2, false)
   };
 
   if (includeInstance) {
@@ -38551,23 +38661,23 @@ proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.toObject
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse}
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo}
  */
-proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse;
-  return proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo;
+  return proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse}
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo}
  */
-proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -38575,9 +38685,12 @@ proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.deseriali
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.deserializeBinaryFromReader);
-      msg.setV0(value);
+      var value = /** @type {!Uint8Array} */ (reader.readBytes());
+      msg.setStartIdentifier(value);
+      break;
+    case 2:
+      var value = /** @type {boolean} */ (reader.readBool());
+      msg.setStartIdentifierIncluded(value);
       break;
     default:
       reader.skipField();
@@ -38592,9 +38705,9 @@ proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.deseriali
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -38602,629 +38715,403 @@ proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.prototype
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getV0();
-  if (f != null) {
-    writer.writeMessage(
+  f = message.getStartIdentifier_asU8();
+  if (f.length > 0) {
+    writer.writeBytes(
       1,
-      f,
-      proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.serializeBinaryToWriter
+      f
+    );
+  }
+  f = message.getStartIdentifierIncluded();
+  if (f) {
+    writer.writeBool(
+      2,
+      f
     );
   }
 };
 
 
-
 /**
- * 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 start_identifier = 1;
+ * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.oneofGroups_ = [[1,2]];
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.prototype.getStartIdentifier = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
+};
+
 
 /**
- * @enum {number}
+ * optional bytes start_identifier = 1;
+ * This is a type-conversion wrapper around `getStartIdentifier()`
+ * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.ResultCase = {
-  RESULT_NOT_SET: 0,
-  BALANCE: 1,
-  PROOF: 2
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.prototype.getStartIdentifier_asB64 = function() {
+  return /** @type {string} */ (jspb.Message.bytesAsB64(
+      this.getStartIdentifier()));
 };
 
+
 /**
- * @return {proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.ResultCase}
+ * optional bytes start_identifier = 1;
+ * Note that Uint8Array is not supported on all browsers.
+ * @see http://caniuse.com/Uint8Array
+ * This is a type-conversion wrapper around `getStartIdentifier()`
+ * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.prototype.getResultCase = function() {
-  return /** @type {proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.oneofGroups_[0]));
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.prototype.getStartIdentifier_asU8 = function() {
+  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
+      this.getStartIdentifier()));
 };
 
 
-
-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 {!(string|Uint8Array)} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo} returns this
  */
-proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.prototype.setStartIdentifier = function(value) {
+  return jspb.Message.setProto3BytesField(this, 1, 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.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0} msg The msg instance to transform.
- * @return {!Object}
- * @suppress {unusedLocalVariables} f is only used for nested messages
+ * optional bool start_identifier_included = 2;
+ * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.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)
-  };
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.prototype.getStartIdentifierIncluded = function() {
+  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));
+};
 
-  if (includeInstance) {
-    obj.$jspbMessageInstance = msg;
-  }
-  return obj;
+
+/**
+ * @param {boolean} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo.prototype.setStartIdentifierIncluded = 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.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0}
+ * optional bytes contract_id = 1;
+ * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.deserializeBinary = function(bytes) {
-  var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0;
-  return proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.deserializeBinaryFromReader(msg, reader);
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.getContractId = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
 };
 
 
 /**
- * Deserializes binary data (in protobuf wire format) from the
- * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0} msg The message object to deserialize into.
- * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0}
+ * optional bytes contract_id = 1;
+ * This is a type-conversion wrapper around `getContractId()`
+ * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.deserializeBinaryFromReader = function(msg, reader) {
-  while (reader.nextField()) {
-    if (reader.isEndGroup()) {
-      break;
-    }
-    var field = reader.getFieldNumber();
-    switch (field) {
-    case 1:
-      var value = /** @type {string} */ (reader.readUint64String());
-      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();
-      break;
-    }
-  }
-  return msg;
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.getContractId_asB64 = function() {
+  return /** @type {string} */ (jspb.Message.bytesAsB64(
+      this.getContractId()));
 };
 
 
 /**
- * Serializes the message to binary data (in protobuf wire format).
+ * 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.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.prototype.serializeBinary = function() {
-  var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.serializeBinaryToWriter(this, writer);
-  return writer.getResultBuffer();
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.getContractId_asU8 = function() {
+  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
+      this.getContractId()));
 };
 
 
 /**
- * Serializes the given message to binary data (in protobuf wire
- * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0} 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.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.serializeBinaryToWriter = function(message, writer) {
-  var f = undefined;
-  f = /** @type {string} */ (jspb.Message.getField(message, 1));
-  if (f != null) {
-    writer.writeUint64String(
-      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
-    );
-  }
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.setContractId = function(value) {
+  return jspb.Message.setProto3BytesField(this, 1, value);
 };
 
 
 /**
- * optional uint64 balance = 1;
+ * optional string document_type_name = 2;
  * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.prototype.getBalance = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "0"));
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.getDocumentTypeName = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
 };
 
 
 /**
  * @param {string} value
- * @return {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.prototype.setBalance = function(value) {
-  return jspb.Message.setOneofField(this, 1, proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.oneofGroups_[0], value);
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.setDocumentTypeName = function(value) {
+  return jspb.Message.setProto3StringField(this, 2, value);
 };
 
 
 /**
- * Clears the field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0} returns this
+ * optional string index_name = 3;
+ * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.prototype.clearBalance = function() {
-  return jspb.Message.setOneofField(this, 1, proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.oneofGroups_[0], undefined);
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.getIndexName = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, ""));
 };
 
 
 /**
- * Returns whether this field is set.
- * @return {boolean}
+ * @param {string} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.prototype.hasBalance = function() {
-  return jspb.Message.getField(this, 1) != null;
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.setIndexName = function(value) {
+  return jspb.Message.setProto3StringField(this, 3, value);
 };
 
 
 /**
- * optional Proof proof = 2;
- * @return {?proto.org.dash.platform.dapi.v0.Proof}
+ * repeated bytes index_values = 4;
+ * @return {!Array}
  */
-proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.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.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.getIndexValuesList = function() {
+  return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 4));
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0} returns this
-*/
-proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.prototype.setProof = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.oneofGroups_[0], value);
+ * repeated bytes index_values = 4;
+ * This is a type-conversion wrapper around `getIndexValuesList()`
+ * @return {!Array}
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.getIndexValuesList_asB64 = function() {
+  return /** @type {!Array} */ (jspb.Message.bytesListAsB64(
+      this.getIndexValuesList()));
 };
 
 
 /**
- * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0} returns this
+ * repeated bytes index_values = 4;
+ * Note that Uint8Array is not supported on all browsers.
+ * @see http://caniuse.com/Uint8Array
+ * This is a type-conversion wrapper around `getIndexValuesList()`
+ * @return {!Array}
  */
-proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.prototype.clearProof = function() {
-  return this.setProof(undefined);
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.getIndexValuesList_asU8 = function() {
+  return /** @type {!Array} */ (jspb.Message.bytesListAsU8(
+      this.getIndexValuesList()));
 };
 
 
 /**
- * Returns whether this field is set.
- * @return {boolean}
+ * @param {!(Array|Array)} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.prototype.hasProof = function() {
-  return jspb.Message.getField(this, 2) != null;
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.setIndexValuesList = function(value) {
+  return jspb.Message.setField(this, 4, value || []);
 };
 
 
 /**
- * optional ResponseMetadata metadata = 3;
- * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata}
+ * @param {!(string|Uint8Array)} value
+ * @param {number=} opt_index
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.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.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.addIndexValues = function(value, opt_index) {
+  return jspb.Message.addToRepeatedField(this, 4, value, opt_index);
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0} returns this
-*/
-proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.prototype.setMetadata = function(value) {
-  return jspb.Message.setWrapperField(this, 3, value);
+ * Clears the list making it empty but non-null.
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.clearIndexValuesList = function() {
+  return this.setIndexValuesList([]);
 };
 
 
 /**
- * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0} returns this
+ * optional bytes contestant_id = 5;
+ * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.prototype.clearMetadata = function() {
-  return this.setMetadata(undefined);
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.getContestantId = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, ""));
 };
 
 
 /**
- * Returns whether this field is set.
- * @return {boolean}
+ * optional bytes contestant_id = 5;
+ * This is a type-conversion wrapper around `getContestantId()`
+ * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.prototype.hasMetadata = function() {
-  return jspb.Message.getField(this, 3) != null;
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.getContestantId_asB64 = function() {
+  return /** @type {string} */ (jspb.Message.bytesAsB64(
+      this.getContestantId()));
 };
 
 
 /**
- * optional GetPrefundedSpecializedBalanceResponseV0 v0 = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0}
+ * optional bytes contestant_id = 5;
+ * Note that Uint8Array is not supported on all browsers.
+ * @see http://caniuse.com/Uint8Array
+ * This is a type-conversion wrapper around `getContestantId()`
+ * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.prototype.getV0 = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0, 1));
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.getContestantId_asU8 = function() {
+  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
+      this.getContestantId()));
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse} returns this
-*/
-proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.prototype.setV0 = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.oneofGroups_[0], value);
+ * @param {!(string|Uint8Array)} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.setContestantId = function(value) {
+  return jspb.Message.setProto3BytesField(this, 5, value);
 };
 
 
 /**
- * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse} returns this
+ * optional StartAtIdentifierInfo start_at_identifier_info = 6;
+ * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo}
  */
-proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.prototype.clearV0 = function() {
-  return this.setV0(undefined);
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.getStartAtIdentifierInfo = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo, 6));
 };
 
 
 /**
- * Returns whether this field is set.
- * @return {boolean}
- */
-proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.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.GetTotalCreditsInPlatformRequest.oneofGroups_ = [[1]];
-
-/**
- * @enum {number}
- */
-proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.VersionCase = {
-  VERSION_NOT_SET: 0,
-  V0: 1
-};
-
-/**
- * @return {proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.VersionCase}
- */
-proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.prototype.getVersionCase = function() {
-  return /** @type {proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.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.GetTotalCreditsInPlatformRequest.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.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.GetTotalCreditsInPlatformRequest} msg The msg instance to transform.
- * @return {!Object}
- * @suppress {unusedLocalVariables} f is only used for nested messages
- */
-proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.toObject = function(includeInstance, msg) {
-  var f, obj = {
-    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0.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.GetTotalCreditsInPlatformRequest}
- */
-proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.deserializeBinary = function(bytes) {
-  var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest;
-  return proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.deserializeBinaryFromReader(msg, reader);
-};
-
-
-/**
- * Deserializes binary data (in protobuf wire format) from the
- * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest} msg The message object to deserialize into.
- * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest}
- */
-proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.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.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0.deserializeBinaryFromReader);
-      msg.setV0(value);
-      break;
-    default:
-      reader.skipField();
-      break;
-    }
-  }
-  return msg;
+ * @param {?proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.StartAtIdentifierInfo|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.setStartAtIdentifierInfo = function(value) {
+  return jspb.Message.setWrapperField(this, 6, 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.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.prototype.serializeBinary = function() {
-  var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.serializeBinaryToWriter(this, writer);
-  return writer.getResultBuffer();
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.clearStartAtIdentifierInfo = function() {
+  return this.setStartAtIdentifierInfo(undefined);
 };
 
 
 /**
- * Serializes the given message to binary data (in protobuf wire
- * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest} 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.GetTotalCreditsInPlatformRequest.serializeBinaryToWriter = function(message, writer) {
-  var f = undefined;
-  f = message.getV0();
-  if (f != null) {
-    writer.writeMessage(
-      1,
-      f,
-      proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0.serializeBinaryToWriter
-    );
-  }
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.hasStartAtIdentifierInfo = function() {
+  return jspb.Message.getField(this, 6) != 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}
+ * optional uint32 count = 7;
+ * @return {number}
  */
-proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.getCount = function() {
+  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 7, 0));
 };
 
 
 /**
- * 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.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0} msg The msg instance to transform.
- * @return {!Object}
- * @suppress {unusedLocalVariables} f is only used for nested messages
+ * @param {number} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0.toObject = function(includeInstance, msg) {
-  var f, obj = {
-    prove: jspb.Message.getBooleanFieldWithDefault(msg, 1, false)
-  };
-
-  if (includeInstance) {
-    obj.$jspbMessageInstance = msg;
-  }
-  return obj;
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.setCount = function(value) {
+  return jspb.Message.setField(this, 7, value);
 };
-}
 
 
 /**
- * Deserializes binary data (in protobuf wire format).
- * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0}
+ * Clears the field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0.deserializeBinary = function(bytes) {
-  var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0;
-  return proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0.deserializeBinaryFromReader(msg, reader);
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.clearCount = function() {
+  return jspb.Message.setField(this, 7, undefined);
 };
 
 
 /**
- * Deserializes binary data (in protobuf wire format) from the
- * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0} msg The message object to deserialize into.
- * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0}
+ * Returns whether this field is set.
+ * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0.deserializeBinaryFromReader = function(msg, reader) {
-  while (reader.nextField()) {
-    if (reader.isEndGroup()) {
-      break;
-    }
-    var field = reader.getFieldNumber();
-    switch (field) {
-    case 1:
-      var value = /** @type {boolean} */ (reader.readBool());
-      msg.setProve(value);
-      break;
-    default:
-      reader.skipField();
-      break;
-    }
-  }
-  return msg;
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.hasCount = function() {
+  return jspb.Message.getField(this, 7) != null;
 };
 
 
 /**
- * Serializes the message to binary data (in protobuf wire format).
- * @return {!Uint8Array}
+ * optional bool order_ascending = 8;
+ * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0.prototype.serializeBinary = function() {
-  var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0.serializeBinaryToWriter(this, writer);
-  return writer.getResultBuffer();
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.getOrderAscending = function() {
+  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 8, false));
 };
 
 
 /**
- * Serializes the given message to binary data (in protobuf wire
- * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0} message
- * @param {!jspb.BinaryWriter} writer
- * @suppress {unusedLocalVariables} f is only used for nested messages
+ * @param {boolean} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0.serializeBinaryToWriter = function(message, writer) {
-  var f = undefined;
-  f = message.getProve();
-  if (f) {
-    writer.writeBool(
-      1,
-      f
-    );
-  }
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.setOrderAscending = function(value) {
+  return jspb.Message.setProto3BooleanField(this, 8, value);
 };
 
 
 /**
- * optional bool prove = 1;
+ * optional bool prove = 9;
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0.prototype.getProve = function() {
-  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 1, false));
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.getProve = function() {
+  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 9, false));
 };
 
 
 /**
  * @param {boolean} value
- * @return {!proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0.prototype.setProve = function(value) {
-  return jspb.Message.setProto3BooleanField(this, 1, value);
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0.prototype.setProve = function(value) {
+  return jspb.Message.setProto3BooleanField(this, 9, value);
 };
 
 
 /**
- * optional GetTotalCreditsInPlatformRequestV0 v0 = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0}
+ * optional GetContestedResourceVotersForIdentityRequestV0 v0 = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0}
  */
-proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.prototype.getV0 = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0, 1));
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.prototype.getV0 = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0, 1));
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest} returns this
+ * @param {?proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.GetContestedResourceVotersForIdentityRequestV0|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest} returns this
 */
-proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.prototype.setV0 = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.oneofGroups_[0], value);
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.prototype.setV0 = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.oneofGroups_[0], value);
 };
 
 
 /**
  * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest} returns this
  */
-proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.prototype.clearV0 = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.prototype.clearV0 = function() {
   return this.setV0(undefined);
 };
 
@@ -39233,7 +39120,7 @@ proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.prototype.clear
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.prototype.hasV0 = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityRequest.prototype.hasV0 = function() {
   return jspb.Message.getField(this, 1) != null;
 };
 
@@ -39247,21 +39134,21 @@ proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.prototype.hasV0
  * @private {!Array>}
  * @const
  */
-proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.oneofGroups_ = [[1]];
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.oneofGroups_ = [[1]];
 
 /**
  * @enum {number}
  */
-proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.VersionCase = {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.VersionCase = {
   VERSION_NOT_SET: 0,
   V0: 1
 };
 
 /**
- * @return {proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.VersionCase}
+ * @return {proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.VersionCase}
  */
-proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.prototype.getVersionCase = function() {
-  return /** @type {proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.oneofGroups_[0]));
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.prototype.getVersionCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.oneofGroups_[0]));
 };
 
 
@@ -39279,8 +39166,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.toObject(opt_includeInstance, this);
 };
 
 
@@ -39289,13 +39176,13 @@ proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.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.GetTotalCreditsInPlatformResponse} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.toObject = function(includeInstance, msg) {
   var f, obj = {
-    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.toObject(includeInstance, f)
+    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.toObject(includeInstance, f)
   };
 
   if (includeInstance) {
@@ -39309,23 +39196,23 @@ proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.toObject = fun
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse}
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse}
  */
-proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse;
-  return proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse;
+  return proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse}
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse}
  */
-proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -39333,8 +39220,8 @@ proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.deserializeBin
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.deserializeBinaryFromReader);
+      var value = new proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.deserializeBinaryFromReader);
       msg.setV0(value);
       break;
     default:
@@ -39350,9 +39237,9 @@ proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.deserializeBin
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -39360,18 +39247,18 @@ proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.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.GetTotalCreditsInPlatformResponse} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
   f = message.getV0();
   if (f != null) {
     writer.writeMessage(
       1,
       f,
-      proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.serializeBinaryToWriter
     );
   }
 };
@@ -39386,22 +39273,22 @@ proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.serializeBinar
  * @private {!Array>}
  * @const
  */
-proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.oneofGroups_ = [[1,2]];
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.oneofGroups_ = [[1,2]];
 
 /**
  * @enum {number}
  */
-proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.ResultCase = {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ResultCase = {
   RESULT_NOT_SET: 0,
-  CREDITS: 1,
+  CONTESTED_RESOURCE_VOTERS: 1,
   PROOF: 2
 };
 
 /**
- * @return {proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.ResultCase}
+ * @return {proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ResultCase}
  */
-proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.prototype.getResultCase = function() {
-  return /** @type {proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.oneofGroups_[0]));
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.prototype.getResultCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.oneofGroups_[0]));
 };
 
 
@@ -39419,8 +39306,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.toObject(opt_includeInstance, this);
 };
 
 
@@ -39429,13 +39316,13 @@ proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCredit
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.toObject = function(includeInstance, msg) {
   var f, obj = {
-    credits: jspb.Message.getFieldWithDefault(msg, 1, "0"),
+    contestedResourceVoters: (f = msg.getContestedResourceVoters()) && proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.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)
   };
@@ -39451,23 +39338,23 @@ proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCredit
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0}
  */
-proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0;
-  return proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0;
+  return proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0}
  */
-proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -39475,8 +39362,9 @@ proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCredit
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = /** @type {string} */ (reader.readUint64String());
-      msg.setCredits(value);
+      var value = new proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.deserializeBinaryFromReader);
+      msg.setContestedResourceVoters(value);
       break;
     case 2:
       var value = new proto.org.dash.platform.dapi.v0.Proof;
@@ -39501,9 +39389,9 @@ proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCredit
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -39511,17 +39399,18 @@ proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCredit
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = /** @type {string} */ (jspb.Message.getField(message, 1));
+  f = message.getContestedResourceVoters();
   if (f != null) {
-    writer.writeUint64String(
+    writer.writeMessage(
       1,
-      f
+      f,
+      proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.serializeBinaryToWriter
     );
   }
   f = message.getProof();
@@ -39543,84 +39432,295 @@ proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCredit
 };
 
 
-/**
- * optional uint64 credits = 1;
- * @return {string}
- */
-proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.prototype.getCredits = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "0"));
-};
-
 
 /**
- * @param {string} value
- * @return {!proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0} returns this
+ * List of repeated fields within this message type.
+ * @private {!Array}
+ * @const
  */
-proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.prototype.setCredits = function(value) {
-  return jspb.Message.setOneofField(this, 1, proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.oneofGroups_[0], value);
-};
-
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.repeatedFields_ = [1];
 
-/**
- * Clears the field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0} returns this
- */
-proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.prototype.clearCredits = function() {
-  return jspb.Message.setOneofField(this, 1, proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.oneofGroups_[0], 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.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.prototype.hasCredits = function() {
-  return jspb.Message.getField(this, 1) != null;
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.toObject(opt_includeInstance, this);
 };
 
 
 /**
- * optional Proof proof = 2;
- * @return {?proto.org.dash.platform.dapi.v0.Proof}
+ * 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.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters} msg The msg instance to transform.
+ * @return {!Object}
+ * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.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.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.toObject = function(includeInstance, msg) {
+  var f, obj = {
+    votersList: msg.getVotersList_asB64(),
+    finishedResults: jspb.Message.getBooleanFieldWithDefault(msg, 2, false)
+  };
+
+  if (includeInstance) {
+    obj.$jspbMessageInstance = msg;
+  }
+  return obj;
 };
+}
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0} returns this
-*/
-proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.prototype.setProof = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.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.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters}
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.deserializeBinary = function(bytes) {
+  var reader = new jspb.BinaryReader(bytes);
+  var msg = new proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters;
+  return proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
- * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0} 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.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters} msg The message object to deserialize into.
+ * @param {!jspb.BinaryReader} reader The BinaryReader to use.
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters}
  */
-proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.prototype.clearProof = function() {
-  return this.setProof(undefined);
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.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.addVoters(value);
+      break;
+    case 2:
+      var value = /** @type {boolean} */ (reader.readBool());
+      msg.setFinishedResults(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.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.prototype.hasProof = function() {
-  return jspb.Message.getField(this, 2) != null;
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.prototype.serializeBinary = function() {
+  var writer = new jspb.BinaryWriter();
+  proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.serializeBinaryToWriter(this, writer);
+  return writer.getResultBuffer();
 };
 
 
 /**
- * optional ResponseMetadata metadata = 3;
+ * Serializes the given message to binary data (in protobuf wire
+ * format), writing to the given BinaryWriter.
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters} message
+ * @param {!jspb.BinaryWriter} writer
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.serializeBinaryToWriter = function(message, writer) {
+  var f = undefined;
+  f = message.getVotersList_asU8();
+  if (f.length > 0) {
+    writer.writeRepeatedBytes(
+      1,
+      f
+    );
+  }
+  f = message.getFinishedResults();
+  if (f) {
+    writer.writeBool(
+      2,
+      f
+    );
+  }
+};
+
+
+/**
+ * repeated bytes voters = 1;
+ * @return {!Array}
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.prototype.getVotersList = function() {
+  return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1));
+};
+
+
+/**
+ * repeated bytes voters = 1;
+ * This is a type-conversion wrapper around `getVotersList()`
+ * @return {!Array}
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.prototype.getVotersList_asB64 = function() {
+  return /** @type {!Array} */ (jspb.Message.bytesListAsB64(
+      this.getVotersList()));
+};
+
+
+/**
+ * repeated bytes voters = 1;
+ * Note that Uint8Array is not supported on all browsers.
+ * @see http://caniuse.com/Uint8Array
+ * This is a type-conversion wrapper around `getVotersList()`
+ * @return {!Array}
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.prototype.getVotersList_asU8 = function() {
+  return /** @type {!Array} */ (jspb.Message.bytesListAsU8(
+      this.getVotersList()));
+};
+
+
+/**
+ * @param {!(Array|Array)} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.prototype.setVotersList = function(value) {
+  return jspb.Message.setField(this, 1, value || []);
+};
+
+
+/**
+ * @param {!(string|Uint8Array)} value
+ * @param {number=} opt_index
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.prototype.addVoters = 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.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.prototype.clearVotersList = function() {
+  return this.setVotersList([]);
+};
+
+
+/**
+ * optional bool finished_results = 2;
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.prototype.getFinishedResults = function() {
+  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));
+};
+
+
+/**
+ * @param {boolean} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters.prototype.setFinishedResults = function(value) {
+  return jspb.Message.setProto3BooleanField(this, 2, value);
+};
+
+
+/**
+ * optional ContestedResourceVoters contested_resource_voters = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters}
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.prototype.getContestedResourceVoters = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters, 1));
+};
+
+
+/**
+ * @param {?proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.ContestedResourceVoters|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.prototype.setContestedResourceVoters = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.oneofGroups_[0], value);
+};
+
+
+/**
+ * Clears the message field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.prototype.clearContestedResourceVoters = function() {
+  return this.setContestedResourceVoters(undefined);
+};
+
+
+/**
+ * Returns whether this field is set.
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.prototype.hasContestedResourceVoters = 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.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.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.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.prototype.setProof = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.oneofGroups_[0], value);
+};
+
+
+/**
+ * Clears the message field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.prototype.clearProof = function() {
+  return this.setProof(undefined);
+};
+
+
+/**
+ * Returns whether this field is set.
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.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.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.prototype.getMetadata = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.prototype.getMetadata = function() {
   return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ (
     jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3));
 };
@@ -39628,18 +39728,18 @@ proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCredit
 
 /**
  * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0} returns this
 */
-proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.prototype.setMetadata = function(value) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.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.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.prototype.clearMetadata = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.prototype.clearMetadata = function() {
   return this.setMetadata(undefined);
 };
 
@@ -39648,35 +39748,35 @@ proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCredit
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.prototype.hasMetadata = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0.prototype.hasMetadata = function() {
   return jspb.Message.getField(this, 3) != null;
 };
 
 
 /**
- * optional GetTotalCreditsInPlatformResponseV0 v0 = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0}
+ * optional GetContestedResourceVotersForIdentityResponseV0 v0 = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0}
  */
-proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.prototype.getV0 = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0, 1));
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.prototype.getV0 = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0, 1));
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse} returns this
+ * @param {?proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.GetContestedResourceVotersForIdentityResponseV0|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse} returns this
 */
-proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.prototype.setV0 = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.oneofGroups_[0], value);
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.prototype.setV0 = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.oneofGroups_[0], value);
 };
 
 
 /**
  * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse} returns this
  */
-proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.prototype.clearV0 = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.prototype.clearV0 = function() {
   return this.setV0(undefined);
 };
 
@@ -39685,7 +39785,7 @@ proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.prototype.clea
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.prototype.hasV0 = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourceVotersForIdentityResponse.prototype.hasV0 = function() {
   return jspb.Message.getField(this, 1) != null;
 };
 
@@ -39699,21 +39799,21 @@ proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.prototype.hasV
  * @private {!Array>}
  * @const
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsRequest.oneofGroups_ = [[1]];
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.oneofGroups_ = [[1]];
 
 /**
  * @enum {number}
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsRequest.VersionCase = {
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.VersionCase = {
   VERSION_NOT_SET: 0,
   V0: 1
 };
 
 /**
- * @return {proto.org.dash.platform.dapi.v0.GetPathElementsRequest.VersionCase}
+ * @return {proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.VersionCase}
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsRequest.prototype.getVersionCase = function() {
-  return /** @type {proto.org.dash.platform.dapi.v0.GetPathElementsRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetPathElementsRequest.oneofGroups_[0]));
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.prototype.getVersionCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.oneofGroups_[0]));
 };
 
 
@@ -39731,8 +39831,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsRequest.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetPathElementsRequest.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.toObject(opt_includeInstance, this);
 };
 
 
@@ -39741,13 +39841,13 @@ proto.org.dash.platform.dapi.v0.GetPathElementsRequest.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.GetPathElementsRequest} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsRequest.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.toObject = function(includeInstance, msg) {
   var f, obj = {
-    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.toObject(includeInstance, f)
+    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.toObject(includeInstance, f)
   };
 
   if (includeInstance) {
@@ -39761,23 +39861,23 @@ proto.org.dash.platform.dapi.v0.GetPathElementsRequest.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.GetPathElementsRequest}
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest}
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsRequest.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetPathElementsRequest;
-  return proto.org.dash.platform.dapi.v0.GetPathElementsRequest.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest;
+  return proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetPathElementsRequest} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsRequest}
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest}
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsRequest.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -39785,8 +39885,8 @@ proto.org.dash.platform.dapi.v0.GetPathElementsRequest.deserializeBinaryFromRead
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.deserializeBinaryFromReader);
+      var value = new proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.deserializeBinaryFromReader);
       msg.setV0(value);
       break;
     default:
@@ -39802,9 +39902,9 @@ proto.org.dash.platform.dapi.v0.GetPathElementsRequest.deserializeBinaryFromRead
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsRequest.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetPathElementsRequest.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -39812,31 +39912,24 @@ proto.org.dash.platform.dapi.v0.GetPathElementsRequest.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.GetPathElementsRequest} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsRequest.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
   f = message.getV0();
   if (f != null) {
     writer.writeMessage(
       1,
       f,
-      proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.serializeBinaryToWriter
     );
   }
 };
 
 
 
-/**
- * List of repeated fields within this message type.
- * @private {!Array}
- * @const
- */
-proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.repeatedFields_ = [1,2];
-
 
 
 if (jspb.Message.GENERATE_TO_OBJECT) {
@@ -39852,8 +39945,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.toObject(opt_includeInstance, this);
 };
 
 
@@ -39862,15 +39955,18 @@ proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.toObject = function(includeInstance, msg) {
   var f, obj = {
-    pathList: msg.getPathList_asB64(),
-    keysList: msg.getKeysList_asB64(),
-    prove: jspb.Message.getBooleanFieldWithDefault(msg, 3, false)
+    identityId: msg.getIdentityId_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),
+    orderAscending: jspb.Message.getBooleanFieldWithDefault(msg, 4, false),
+    startAtVotePollIdInfo: (f = msg.getStartAtVotePollIdInfo()) && proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.toObject(includeInstance, f),
+    prove: jspb.Message.getBooleanFieldWithDefault(msg, 6, false)
   };
 
   if (includeInstance) {
@@ -39884,23 +39980,23 @@ proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0}
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0;
-  return proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0;
+  return proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0}
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -39909,13 +40005,28 @@ proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.
     switch (field) {
     case 1:
       var value = /** @type {!Uint8Array} */ (reader.readBytes());
-      msg.addPath(value);
+      msg.setIdentityId(value);
       break;
     case 2:
-      var value = /** @type {!Uint8Array} */ (reader.readBytes());
-      msg.addKeys(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 {boolean} */ (reader.readBool());
+      msg.setOrderAscending(value);
+      break;
+    case 5:
+      var value = new proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.deserializeBinaryFromReader);
+      msg.setStartAtVotePollIdInfo(value);
+      break;
+    case 6:
       var value = /** @type {boolean} */ (reader.readBool());
       msg.setProve(value);
       break;
@@ -39932,9 +40043,9 @@ proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -39942,200 +40053,457 @@ proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getPathList_asU8();
+  f = message.getIdentityId_asU8();
   if (f.length > 0) {
-    writer.writeRepeatedBytes(
+    writer.writeBytes(
       1,
       f
     );
   }
-  f = message.getKeysList_asU8();
-  if (f.length > 0) {
-    writer.writeRepeatedBytes(
+  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.getOrderAscending();
+  if (f) {
+    writer.writeBool(
+      4,
       f
     );
   }
+  f = message.getStartAtVotePollIdInfo();
+  if (f != null) {
+    writer.writeMessage(
+      5,
+      f,
+      proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.serializeBinaryToWriter
+    );
+  }
   f = message.getProve();
   if (f) {
     writer.writeBool(
-      3,
+      6,
       f
     );
   }
 };
 
 
+
+
+
+if (jspb.Message.GENERATE_TO_OBJECT) {
 /**
- * repeated bytes path = 1;
- * @return {!Array}
+ * 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.GetPathElementsRequest.GetPathElementsRequestV0.prototype.getPathList = function() {
-  return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1));
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.toObject(opt_includeInstance, this);
 };
 
 
 /**
- * repeated bytes path = 1;
- * This is a type-conversion wrapper around `getPathList()`
- * @return {!Array}
+ * 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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo} msg The msg instance to transform.
+ * @return {!Object}
+ * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.prototype.getPathList_asB64 = function() {
-  return /** @type {!Array} */ (jspb.Message.bytesListAsB64(
-      this.getPathList()));
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.toObject = function(includeInstance, msg) {
+  var f, obj = {
+    startAtPollIdentifier: msg.getStartAtPollIdentifier_asB64(),
+    startPollIdentifierIncluded: jspb.Message.getBooleanFieldWithDefault(msg, 2, false)
+  };
+
+  if (includeInstance) {
+    obj.$jspbMessageInstance = msg;
+  }
+  return obj;
 };
+}
 
 
 /**
- * repeated bytes path = 1;
- * Note that Uint8Array is not supported on all browsers.
- * @see http://caniuse.com/Uint8Array
- * This is a type-conversion wrapper around `getPathList()`
- * @return {!Array}
+ * Deserializes binary data (in protobuf wire format).
+ * @param {jspb.ByteSource} bytes The bytes to deserialize.
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo}
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.prototype.getPathList_asU8 = function() {
-  return /** @type {!Array} */ (jspb.Message.bytesListAsU8(
-      this.getPathList()));
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.deserializeBinary = function(bytes) {
+  var reader = new jspb.BinaryReader(bytes);
+  var msg = new proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo;
+  return proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
- * @param {!(Array|Array)} value
- * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0} 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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo} msg The message object to deserialize into.
+ * @param {!jspb.BinaryReader} reader The BinaryReader to use.
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo}
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.prototype.setPathList = function(value) {
-  return jspb.Message.setField(this, 1, value || []);
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.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.setStartAtPollIdentifier(value);
+      break;
+    case 2:
+      var value = /** @type {boolean} */ (reader.readBool());
+      msg.setStartPollIdentifierIncluded(value);
+      break;
+    default:
+      reader.skipField();
+      break;
+    }
+  }
+  return msg;
 };
 
 
 /**
- * @param {!(string|Uint8Array)} value
- * @param {number=} opt_index
- * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0} returns this
+ * Serializes the message to binary data (in protobuf wire format).
+ * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.prototype.addPath = function(value, opt_index) {
-  return jspb.Message.addToRepeatedField(this, 1, value, opt_index);
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.prototype.serializeBinary = function() {
+  var writer = new jspb.BinaryWriter();
+  proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.serializeBinaryToWriter(this, writer);
+  return writer.getResultBuffer();
 };
 
 
 /**
- * Clears the list making it empty but non-null.
- * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0} 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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo} message
+ * @param {!jspb.BinaryWriter} writer
+ * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.prototype.clearPathList = function() {
-  return this.setPathList([]);
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.serializeBinaryToWriter = function(message, writer) {
+  var f = undefined;
+  f = message.getStartAtPollIdentifier_asU8();
+  if (f.length > 0) {
+    writer.writeBytes(
+      1,
+      f
+    );
+  }
+  f = message.getStartPollIdentifierIncluded();
+  if (f) {
+    writer.writeBool(
+      2,
+      f
+    );
+  }
 };
 
 
 /**
- * repeated bytes keys = 2;
- * @return {!Array}
+ * optional bytes start_at_poll_identifier = 1;
+ * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.prototype.getKeysList = function() {
-  return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 2));
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.prototype.getStartAtPollIdentifier = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
 };
 
 
 /**
- * repeated bytes keys = 2;
- * This is a type-conversion wrapper around `getKeysList()`
- * @return {!Array}
+ * optional bytes start_at_poll_identifier = 1;
+ * This is a type-conversion wrapper around `getStartAtPollIdentifier()`
+ * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.prototype.getKeysList_asB64 = function() {
-  return /** @type {!Array} */ (jspb.Message.bytesListAsB64(
-      this.getKeysList()));
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.prototype.getStartAtPollIdentifier_asB64 = function() {
+  return /** @type {string} */ (jspb.Message.bytesAsB64(
+      this.getStartAtPollIdentifier()));
 };
 
 
 /**
- * repeated bytes keys = 2;
+ * optional bytes start_at_poll_identifier = 1;
  * Note that Uint8Array is not supported on all browsers.
  * @see http://caniuse.com/Uint8Array
- * This is a type-conversion wrapper around `getKeysList()`
- * @return {!Array}
+ * This is a type-conversion wrapper around `getStartAtPollIdentifier()`
+ * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.prototype.getKeysList_asU8 = function() {
-  return /** @type {!Array} */ (jspb.Message.bytesListAsU8(
-      this.getKeysList()));
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.prototype.getStartAtPollIdentifier_asU8 = function() {
+  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
+      this.getStartAtPollIdentifier()));
 };
 
 
 /**
- * @param {!(Array|Array)} value
- * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0} returns this
+ * @param {!(string|Uint8Array)} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo} returns this
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.prototype.setKeysList = function(value) {
-  return jspb.Message.setField(this, 2, value || []);
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.prototype.setStartAtPollIdentifier = function(value) {
+  return jspb.Message.setProto3BytesField(this, 1, value);
+};
+
+
+/**
+ * optional bool start_poll_identifier_included = 2;
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.prototype.getStartPollIdentifierIncluded = function() {
+  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));
+};
+
+
+/**
+ * @param {boolean} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo.prototype.setStartPollIdentifierIncluded = function(value) {
+  return jspb.Message.setProto3BooleanField(this, 2, value);
+};
+
+
+/**
+ * optional bytes identity_id = 1;
+ * @return {string}
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prototype.getIdentityId = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
+};
+
+
+/**
+ * optional bytes identity_id = 1;
+ * This is a type-conversion wrapper around `getIdentityId()`
+ * @return {string}
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prototype.getIdentityId_asU8 = function() {
+  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
+      this.getIdentityId()));
 };
 
 
 /**
  * @param {!(string|Uint8Array)} value
- * @param {number=} opt_index
- * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.prototype.addKeys = function(value, opt_index) {
-  return jspb.Message.addToRepeatedField(this, 2, value, opt_index);
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prototype.setIdentityId = function(value) {
+  return jspb.Message.setProto3BytesField(this, 1, value);
 };
 
 
 /**
- * Clears the list making it empty but non-null.
- * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0} returns this
+ * optional google.protobuf.UInt32Value limit = 2;
+ * @return {?proto.google.protobuf.UInt32Value}
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.prototype.clearKeysList = function() {
-  return this.setKeysList([]);
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prototype.getLimit = function() {
+  return /** @type{?proto.google.protobuf.UInt32Value} */ (
+    jspb.Message.getWrapperField(this, google_protobuf_wrappers_pb.UInt32Value, 2));
 };
 
 
 /**
- * optional bool prove = 3;
+ * @param {?proto.google.protobuf.UInt32Value|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prototype.clearLimit = function() {
+  return this.setLimit(undefined);
+};
+
+
+/**
+ * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.prototype.getProve = function() {
-  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 3, false));
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prototype.hasLimit = function() {
+  return jspb.Message.getField(this, 2) != null;
+};
+
+
+/**
+ * optional google.protobuf.UInt32Value offset = 3;
+ * @return {?proto.google.protobuf.UInt32Value}
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prototype.getOffset = 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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.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.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prototype.clearOffset = function() {
+  return this.setOffset(undefined);
+};
+
+
+/**
+ * Returns whether this field is set.
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prototype.hasOffset = function() {
+  return jspb.Message.getField(this, 3) != null;
+};
+
+
+/**
+ * optional bool order_ascending = 4;
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prototype.getOrderAscending = function() {
+  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 4, false));
 };
 
 
 /**
  * @param {boolean} value
- * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.prototype.setProve = function(value) {
-  return jspb.Message.setProto3BooleanField(this, 3, value);
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prototype.setOrderAscending = function(value) {
+  return jspb.Message.setProto3BooleanField(this, 4, value);
 };
 
 
 /**
- * optional GetPathElementsRequestV0 v0 = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0}
+ * optional StartAtVotePollIdInfo start_at_vote_poll_id_info = 5;
+ * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo}
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsRequest.prototype.getV0 = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0, 1));
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prototype.getStartAtVotePollIdInfo = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo, 5));
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsRequest} returns this
+ * @param {?proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.StartAtVotePollIdInfo|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0} returns this
 */
-proto.org.dash.platform.dapi.v0.GetPathElementsRequest.prototype.setV0 = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetPathElementsRequest.oneofGroups_[0], value);
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prototype.setStartAtVotePollIdInfo = function(value) {
+  return jspb.Message.setWrapperField(this, 5, value);
 };
 
 
 /**
  * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsRequest} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsRequest.prototype.clearV0 = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prototype.clearStartAtVotePollIdInfo = function() {
+  return this.setStartAtVotePollIdInfo(undefined);
+};
+
+
+/**
+ * Returns whether this field is set.
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prototype.hasStartAtVotePollIdInfo = function() {
+  return jspb.Message.getField(this, 5) != null;
+};
+
+
+/**
+ * optional bool prove = 6;
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prototype.getProve = function() {
+  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 6, false));
+};
+
+
+/**
+ * @param {boolean} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0.prototype.setProve = function(value) {
+  return jspb.Message.setProto3BooleanField(this, 6, value);
+};
+
+
+/**
+ * optional GetContestedResourceIdentityVotesRequestV0 v0 = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0}
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.prototype.getV0 = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0, 1));
+};
+
+
+/**
+ * @param {?proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.GetContestedResourceIdentityVotesRequestV0|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.prototype.setV0 = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.oneofGroups_[0], value);
+};
+
+
+/**
+ * Clears the message field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.prototype.clearV0 = function() {
   return this.setV0(undefined);
 };
 
@@ -40144,7 +40512,7 @@ proto.org.dash.platform.dapi.v0.GetPathElementsRequest.prototype.clearV0 = funct
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsRequest.prototype.hasV0 = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesRequest.prototype.hasV0 = function() {
   return jspb.Message.getField(this, 1) != null;
 };
 
@@ -40158,21 +40526,21 @@ proto.org.dash.platform.dapi.v0.GetPathElementsRequest.prototype.hasV0 = functio
  * @private {!Array>}
  * @const
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsResponse.oneofGroups_ = [[1]];
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.oneofGroups_ = [[1]];
 
 /**
  * @enum {number}
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsResponse.VersionCase = {
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.VersionCase = {
   VERSION_NOT_SET: 0,
   V0: 1
 };
 
 /**
- * @return {proto.org.dash.platform.dapi.v0.GetPathElementsResponse.VersionCase}
+ * @return {proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.VersionCase}
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsResponse.prototype.getVersionCase = function() {
-  return /** @type {proto.org.dash.platform.dapi.v0.GetPathElementsResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetPathElementsResponse.oneofGroups_[0]));
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.prototype.getVersionCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.oneofGroups_[0]));
 };
 
 
@@ -40190,8 +40558,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsResponse.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetPathElementsResponse.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.toObject(opt_includeInstance, this);
 };
 
 
@@ -40200,13 +40568,13 @@ proto.org.dash.platform.dapi.v0.GetPathElementsResponse.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.GetPathElementsResponse} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsResponse.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.toObject = function(includeInstance, msg) {
   var f, obj = {
-    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.toObject(includeInstance, f)
+    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.toObject(includeInstance, f)
   };
 
   if (includeInstance) {
@@ -40220,23 +40588,23 @@ proto.org.dash.platform.dapi.v0.GetPathElementsResponse.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.GetPathElementsResponse}
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse}
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsResponse.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetPathElementsResponse;
-  return proto.org.dash.platform.dapi.v0.GetPathElementsResponse.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse;
+  return proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetPathElementsResponse} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsResponse}
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse}
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsResponse.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -40244,8 +40612,8 @@ proto.org.dash.platform.dapi.v0.GetPathElementsResponse.deserializeBinaryFromRea
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.deserializeBinaryFromReader);
+      var value = new proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.deserializeBinaryFromReader);
       msg.setV0(value);
       break;
     default:
@@ -40261,9 +40629,9 @@ proto.org.dash.platform.dapi.v0.GetPathElementsResponse.deserializeBinaryFromRea
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsResponse.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetPathElementsResponse.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -40271,18 +40639,18 @@ proto.org.dash.platform.dapi.v0.GetPathElementsResponse.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.GetPathElementsResponse} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsResponse.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
   f = message.getV0();
   if (f != null) {
     writer.writeMessage(
       1,
       f,
-      proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.serializeBinaryToWriter
     );
   }
 };
@@ -40297,22 +40665,22 @@ proto.org.dash.platform.dapi.v0.GetPathElementsResponse.serializeBinaryToWriter
  * @private {!Array>}
  * @const
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.oneofGroups_ = [[1,2]];
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.oneofGroups_ = [[1,2]];
 
 /**
  * @enum {number}
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.ResultCase = {
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResultCase = {
   RESULT_NOT_SET: 0,
-  ELEMENTS: 1,
+  VOTES: 1,
   PROOF: 2
 };
 
 /**
- * @return {proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.ResultCase}
+ * @return {proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResultCase}
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.prototype.getResultCase = function() {
-  return /** @type {proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.oneofGroups_[0]));
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.prototype.getResultCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.oneofGroups_[0]));
 };
 
 
@@ -40330,8 +40698,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.toObject(opt_includeInstance, this);
 };
 
 
@@ -40340,13 +40708,13 @@ proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.toObject = function(includeInstance, msg) {
   var f, obj = {
-    elements: (f = msg.getElements()) && proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.toObject(includeInstance, f),
+    votes: (f = msg.getVotes()) && proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.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)
   };
@@ -40362,23 +40730,23 @@ proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0}
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0;
-  return proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0;
+  return proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0}
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -40386,9 +40754,9 @@ proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.deserializeBinaryFromReader);
-      msg.setElements(value);
+      var value = new proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.deserializeBinaryFromReader);
+      msg.setVotes(value);
       break;
     case 2:
       var value = new proto.org.dash.platform.dapi.v0.Proof;
@@ -40413,9 +40781,9 @@ proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -40423,18 +40791,18 @@ proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getElements();
+  f = message.getVotes();
   if (f != null) {
     writer.writeMessage(
       1,
       f,
-      proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.serializeBinaryToWriter
     );
   }
   f = message.getProof();
@@ -40462,7 +40830,7 @@ proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV
  * @private {!Array}
  * @const
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.repeatedFields_ = [1];
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.repeatedFields_ = [1];
 
 
 
@@ -40479,8 +40847,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.toObject(opt_includeInstance, this);
 };
 
 
@@ -40489,13 +40857,15 @@ proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.toObject = function(includeInstance, msg) {
   var f, obj = {
-    elementsList: msg.getElementsList_asB64()
+    contestedResourceIdentityVotesList: jspb.Message.toObjectList(msg.getContestedResourceIdentityVotesList(),
+    proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.toObject, includeInstance),
+    finishedResults: jspb.Message.getBooleanFieldWithDefault(msg, 2, false)
   };
 
   if (includeInstance) {
@@ -40509,23 +40879,23 @@ proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements}
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes}
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements;
-  return proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes;
+  return proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements}
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes}
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -40533,8 +40903,13 @@ proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = /** @type {!Uint8Array} */ (reader.readBytes());
-      msg.addElements(value);
+      var value = new proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.deserializeBinaryFromReader);
+      msg.addContestedResourceIdentityVotes(value);
+      break;
+    case 2:
+      var value = /** @type {boolean} */ (reader.readBool());
+      msg.setFinishedResults(value);
       break;
     default:
       reader.skipField();
@@ -40549,9 +40924,9 @@ proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -40559,16 +40934,24 @@ proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getElementsList_asU8();
+  f = message.getContestedResourceIdentityVotesList();
   if (f.length > 0) {
-    writer.writeRepeatedBytes(
+    writer.writeRepeatedMessage(
       1,
+      f,
+      proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.serializeBinaryToWriter
+    );
+  }
+  f = message.getFinishedResults();
+  if (f) {
+    writer.writeBool(
+      2,
       f
     );
   }
@@ -40576,202 +40959,260 @@ proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV
 
 
 /**
- * repeated bytes elements = 1;
- * @return {!Array}
+ * repeated ContestedResourceIdentityVote contested_resource_identity_votes = 1;
+ * @return {!Array}
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.prototype.getElementsList = function() {
-  return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1));
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.prototype.getContestedResourceIdentityVotesList = function() {
+  return /** @type{!Array} */ (
+    jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote, 1));
 };
 
 
 /**
- * repeated bytes elements = 1;
- * This is a type-conversion wrapper around `getElementsList()`
- * @return {!Array}
- */
-proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.prototype.getElementsList_asB64 = function() {
-  return /** @type {!Array} */ (jspb.Message.bytesListAsB64(
-      this.getElementsList()));
+ * @param {!Array} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.prototype.setContestedResourceIdentityVotesList = function(value) {
+  return jspb.Message.setRepeatedWrapperField(this, 1, value);
 };
 
 
 /**
- * repeated bytes elements = 1;
- * Note that Uint8Array is not supported on all browsers.
- * @see http://caniuse.com/Uint8Array
- * This is a type-conversion wrapper around `getElementsList()`
- * @return {!Array}
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote=} opt_value
+ * @param {number=} opt_index
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote}
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.prototype.getElementsList_asU8 = function() {
-  return /** @type {!Array} */ (jspb.Message.bytesListAsU8(
-      this.getElementsList()));
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.prototype.addContestedResourceIdentityVotes = function(opt_value, opt_index) {
+  return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote, opt_index);
 };
 
 
 /**
- * @param {!(Array|Array)} value
- * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements} returns this
+ * Clears the list making it empty but non-null.
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes} returns this
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.prototype.setElementsList = function(value) {
-  return jspb.Message.setField(this, 1, value || []);
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.prototype.clearContestedResourceIdentityVotesList = function() {
+  return this.setContestedResourceIdentityVotesList([]);
 };
 
 
 /**
- * @param {!(string|Uint8Array)} value
- * @param {number=} opt_index
- * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements} returns this
+ * optional bool finished_results = 2;
+ * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.prototype.addElements = function(value, opt_index) {
-  return jspb.Message.addToRepeatedField(this, 1, value, opt_index);
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.prototype.getFinishedResults = 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.GetPathElementsResponse.GetPathElementsResponseV0.Elements} returns this
+ * @param {boolean} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes} returns this
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.prototype.clearElementsList = function() {
-  return this.setElementsList([]);
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes.prototype.setFinishedResults = function(value) {
+  return jspb.Message.setProto3BooleanField(this, 2, value);
 };
 
 
-/**
- * optional Elements elements = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements}
- */
-proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.prototype.getElements = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements, 1));
-};
 
 
+
+if (jspb.Message.GENERATE_TO_OBJECT) {
 /**
- * @param {?proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0} returns this
-*/
-proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.prototype.setElements = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.toObject(opt_includeInstance, this);
 };
 
 
 /**
- * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0} 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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice} msg The msg instance to transform.
+ * @return {!Object}
+ * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.prototype.clearElements = function() {
-  return this.setElements(undefined);
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.toObject = function(includeInstance, msg) {
+  var f, obj = {
+    voteChoiceType: jspb.Message.getFieldWithDefault(msg, 1, 0),
+    identityId: msg.getIdentityId_asB64()
+  };
+
+  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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice}
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.prototype.hasElements = function() {
-  return jspb.Message.getField(this, 1) != null;
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.deserializeBinary = function(bytes) {
+  var reader = new jspb.BinaryReader(bytes);
+  var msg = new proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice;
+  return proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
- * optional Proof proof = 2;
- * @return {?proto.org.dash.platform.dapi.v0.Proof}
+ * Deserializes binary data (in protobuf wire format) from the
+ * given reader into the given message object.
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice} msg The message object to deserialize into.
+ * @param {!jspb.BinaryReader} reader The BinaryReader to use.
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice}
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.deserializeBinaryFromReader = function(msg, reader) {
+  while (reader.nextField()) {
+    if (reader.isEndGroup()) {
+      break;
+    }
+    var field = reader.getFieldNumber();
+    switch (field) {
+    case 1:
+      var value = /** @type {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.VoteChoiceType} */ (reader.readEnum());
+      msg.setVoteChoiceType(value);
+      break;
+    case 2:
+      var value = /** @type {!Uint8Array} */ (reader.readBytes());
+      msg.setIdentityId(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.GetPathElementsResponse.GetPathElementsResponseV0} returns this
-*/
-proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.prototype.setProof = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.oneofGroups_[0], value);
+ * Serializes the message to binary data (in protobuf wire format).
+ * @return {!Uint8Array}
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.prototype.serializeBinary = function() {
+  var writer = new jspb.BinaryWriter();
+  proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.serializeBinaryToWriter(this, writer);
+  return writer.getResultBuffer();
 };
 
 
 /**
- * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0} 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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice} message
+ * @param {!jspb.BinaryWriter} writer
+ * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.prototype.clearProof = function() {
-  return this.setProof(undefined);
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.serializeBinaryToWriter = function(message, writer) {
+  var f = undefined;
+  f = message.getVoteChoiceType();
+  if (f !== 0.0) {
+    writer.writeEnum(
+      1,
+      f
+    );
+  }
+  f = /** @type {!(string|Uint8Array)} */ (jspb.Message.getField(message, 2));
+  if (f != null) {
+    writer.writeBytes(
+      2,
+      f
+    );
+  }
 };
 
 
 /**
- * Returns whether this field is set.
- * @return {boolean}
+ * @enum {number}
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.prototype.hasProof = function() {
-  return jspb.Message.getField(this, 2) != null;
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.VoteChoiceType = {
+  TOWARDS_IDENTITY: 0,
+  ABSTAIN: 1,
+  LOCK: 2
 };
 
-
 /**
- * optional ResponseMetadata metadata = 3;
- * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata}
+ * optional VoteChoiceType vote_choice_type = 1;
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.VoteChoiceType}
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.prototype.getVoteChoiceType = function() {
+  return /** @type {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.VoteChoiceType} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0} returns this
-*/
-proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.prototype.setMetadata = function(value) {
-  return jspb.Message.setWrapperField(this, 3, value);
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.VoteChoiceType} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.prototype.setVoteChoiceType = function(value) {
+  return jspb.Message.setProto3EnumField(this, 1, value);
 };
 
 
 /**
- * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0} returns this
+ * optional bytes identity_id = 2;
+ * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.prototype.clearMetadata = function() {
-  return this.setMetadata(undefined);
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.prototype.getIdentityId = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
 };
 
 
 /**
- * Returns whether this field is set.
- * @return {boolean}
+ * optional bytes identity_id = 2;
+ * This is a type-conversion wrapper around `getIdentityId()`
+ * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.prototype.hasMetadata = function() {
-  return jspb.Message.getField(this, 3) != null;
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.prototype.getIdentityId_asB64 = function() {
+  return /** @type {string} */ (jspb.Message.bytesAsB64(
+      this.getIdentityId()));
 };
 
 
 /**
- * optional GetPathElementsResponseV0 v0 = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0}
+ * optional bytes identity_id = 2;
+ * 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.GetPathElementsResponse.prototype.getV0 = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0, 1));
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.prototype.getIdentityId_asU8 = function() {
+  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
+      this.getIdentityId()));
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsResponse} returns this
-*/
-proto.org.dash.platform.dapi.v0.GetPathElementsResponse.prototype.setV0 = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetPathElementsResponse.oneofGroups_[0], value);
+ * @param {!(string|Uint8Array)} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.prototype.setIdentityId = function(value) {
+  return jspb.Message.setField(this, 2, value);
 };
 
 
 /**
- * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsResponse} returns this
+ * Clears the field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice} returns this
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsResponse.prototype.clearV0 = function() {
-  return this.setV0(undefined);
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.prototype.clearIdentityId = function() {
+  return jspb.Message.setField(this, 2, undefined);
 };
 
 
@@ -40779,36 +41220,18 @@ proto.org.dash.platform.dapi.v0.GetPathElementsResponse.prototype.clearV0 = func
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetPathElementsResponse.prototype.hasV0 = function() {
-  return jspb.Message.getField(this, 1) != null;
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.prototype.hasIdentityId = 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.GetStatusRequest.oneofGroups_ = [[1]];
-
-/**
- * @enum {number}
- */
-proto.org.dash.platform.dapi.v0.GetStatusRequest.VersionCase = {
-  VERSION_NOT_SET: 0,
-  V0: 1
-};
-
-/**
- * @return {proto.org.dash.platform.dapi.v0.GetStatusRequest.VersionCase}
- */
-proto.org.dash.platform.dapi.v0.GetStatusRequest.prototype.getVersionCase = function() {
-  return /** @type {proto.org.dash.platform.dapi.v0.GetStatusRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetStatusRequest.oneofGroups_[0]));
-};
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.repeatedFields_ = [3];
 
 
 
@@ -40825,8 +41248,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetStatusRequest.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetStatusRequest.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.toObject(opt_includeInstance, this);
 };
 
 
@@ -40835,13 +41258,16 @@ proto.org.dash.platform.dapi.v0.GetStatusRequest.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.GetStatusRequest} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetStatusRequest.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.toObject = function(includeInstance, msg) {
   var f, obj = {
-    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0.toObject(includeInstance, f)
+    contractId: msg.getContractId_asB64(),
+    documentTypeName: jspb.Message.getFieldWithDefault(msg, 2, ""),
+    serializedIndexStorageValuesList: msg.getSerializedIndexStorageValuesList_asB64(),
+    voteChoice: (f = msg.getVoteChoice()) && proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.toObject(includeInstance, f)
   };
 
   if (includeInstance) {
@@ -40855,23 +41281,23 @@ proto.org.dash.platform.dapi.v0.GetStatusRequest.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.GetStatusRequest}
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote}
  */
-proto.org.dash.platform.dapi.v0.GetStatusRequest.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetStatusRequest;
-  return proto.org.dash.platform.dapi.v0.GetStatusRequest.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote;
+  return proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetStatusRequest} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusRequest}
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote}
  */
-proto.org.dash.platform.dapi.v0.GetStatusRequest.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -40879,9 +41305,21 @@ proto.org.dash.platform.dapi.v0.GetStatusRequest.deserializeBinaryFromReader = f
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0.deserializeBinaryFromReader);
-      msg.setV0(value);
+      var value = /** @type {!Uint8Array} */ (reader.readBytes());
+      msg.setContractId(value);
+      break;
+    case 2:
+      var value = /** @type {string} */ (reader.readString());
+      msg.setDocumentTypeName(value);
+      break;
+    case 3:
+      var value = /** @type {!Uint8Array} */ (reader.readBytes());
+      msg.addSerializedIndexStorageValues(value);
+      break;
+    case 4:
+      var value = new proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.deserializeBinaryFromReader);
+      msg.setVoteChoice(value);
       break;
     default:
       reader.skipField();
@@ -40896,9 +41334,9 @@ proto.org.dash.platform.dapi.v0.GetStatusRequest.deserializeBinaryFromReader = f
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetStatusRequest.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetStatusRequest.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -40906,149 +41344,6214 @@ proto.org.dash.platform.dapi.v0.GetStatusRequest.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.GetStatusRequest} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetStatusRequest.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getV0();
+  f = message.getContractId_asU8();
+  if (f.length > 0) {
+    writer.writeBytes(
+      1,
+      f
+    );
+  }
+  f = message.getDocumentTypeName();
+  if (f.length > 0) {
+    writer.writeString(
+      2,
+      f
+    );
+  }
+  f = message.getSerializedIndexStorageValuesList_asU8();
+  if (f.length > 0) {
+    writer.writeRepeatedBytes(
+      3,
+      f
+    );
+  }
+  f = message.getVoteChoice();
   if (f != null) {
     writer.writeMessage(
-      1,
+      4,
       f,
-      proto.org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice.serializeBinaryToWriter
     );
   }
 };
 
 
+/**
+ * optional bytes contract_id = 1;
+ * @return {string}
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.prototype.getContractId_asB64 = function() {
+  return /** @type {string} */ (jspb.Message.bytesAsB64(
+      this.getContractId()));
+};
 
 
-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 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.GetStatusRequest.GetStatusRequestV0.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.prototype.getContractId_asU8 = function() {
+  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
+      this.getContractId()));
 };
 
 
 /**
- * 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.GetStatusRequest.GetStatusRequestV0} 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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote} returns this
  */
-proto.org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0.toObject = function(includeInstance, msg) {
-  var f, obj = {
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.prototype.setContractId = function(value) {
+  return jspb.Message.setProto3BytesField(this, 1, value);
+};
 
-  };
 
-  if (includeInstance) {
-    obj.$jspbMessageInstance = msg;
-  }
-  return obj;
+/**
+ * optional string document_type_name = 2;
+ * @return {string}
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.prototype.getDocumentTypeName = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
 };
-}
 
 
 /**
- * Deserializes binary data (in protobuf wire format).
- * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0}
+ * @param {string} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote} returns this
  */
-proto.org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0.deserializeBinary = function(bytes) {
-  var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0;
-  return proto.org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0.deserializeBinaryFromReader(msg, reader);
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.prototype.setDocumentTypeName = function(value) {
+  return jspb.Message.setProto3StringField(this, 2, value);
 };
 
 
 /**
- * Deserializes binary data (in protobuf wire format) from the
- * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0} msg The message object to deserialize into.
- * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0}
+ * repeated bytes serialized_index_storage_values = 3;
+ * @return {!Array}
  */
-proto.org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0.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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.prototype.getSerializedIndexStorageValuesList = function() {
+  return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 3));
 };
 
 
 /**
- * Serializes the message to binary data (in protobuf wire format).
- * @return {!Uint8Array}
+ * repeated bytes serialized_index_storage_values = 3;
+ * This is a type-conversion wrapper around `getSerializedIndexStorageValuesList()`
+ * @return {!Array}
  */
-proto.org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0.prototype.serializeBinary = function() {
-  var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0.serializeBinaryToWriter(this, writer);
-  return writer.getResultBuffer();
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.prototype.getSerializedIndexStorageValuesList_asB64 = function() {
+  return /** @type {!Array} */ (jspb.Message.bytesListAsB64(
+      this.getSerializedIndexStorageValuesList()));
+};
+
+
+/**
+ * repeated bytes serialized_index_storage_values = 3;
+ * Note that Uint8Array is not supported on all browsers.
+ * @see http://caniuse.com/Uint8Array
+ * This is a type-conversion wrapper around `getSerializedIndexStorageValuesList()`
+ * @return {!Array}
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.prototype.getSerializedIndexStorageValuesList_asU8 = function() {
+  return /** @type {!Array} */ (jspb.Message.bytesListAsU8(
+      this.getSerializedIndexStorageValuesList()));
+};
+
+
+/**
+ * @param {!(Array|Array)} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.prototype.setSerializedIndexStorageValuesList = function(value) {
+  return jspb.Message.setField(this, 3, value || []);
+};
+
+
+/**
+ * @param {!(string|Uint8Array)} value
+ * @param {number=} opt_index
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.prototype.addSerializedIndexStorageValues = function(value, opt_index) {
+  return jspb.Message.addToRepeatedField(this, 3, value, opt_index);
+};
+
+
+/**
+ * Clears the list making it empty but non-null.
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.prototype.clearSerializedIndexStorageValuesList = function() {
+  return this.setSerializedIndexStorageValuesList([]);
+};
+
+
+/**
+ * optional ResourceVoteChoice vote_choice = 4;
+ * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice}
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.prototype.getVoteChoice = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice, 4));
+};
+
+
+/**
+ * @param {?proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ResourceVoteChoice|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.prototype.setVoteChoice = function(value) {
+  return jspb.Message.setWrapperField(this, 4, value);
+};
+
+
+/**
+ * Clears the message field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.prototype.clearVoteChoice = function() {
+  return this.setVoteChoice(undefined);
+};
+
+
+/**
+ * Returns whether this field is set.
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVote.prototype.hasVoteChoice = function() {
+  return jspb.Message.getField(this, 4) != null;
+};
+
+
+/**
+ * optional ContestedResourceIdentityVotes votes = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes}
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.prototype.getVotes = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes, 1));
+};
+
+
+/**
+ * @param {?proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.ContestedResourceIdentityVotes|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.prototype.setVotes = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.oneofGroups_[0], value);
+};
+
+
+/**
+ * Clears the message field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.prototype.clearVotes = function() {
+  return this.setVotes(undefined);
+};
+
+
+/**
+ * Returns whether this field is set.
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.prototype.hasVotes = 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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.prototype.setProof = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.oneofGroups_[0], value);
+};
+
+
+/**
+ * Clears the message field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.prototype.clearProof = function() {
+  return this.setProof(undefined);
+};
+
+
+/**
+ * Returns whether this field is set.
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.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.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.prototype.clearMetadata = function() {
+  return this.setMetadata(undefined);
+};
+
+
+/**
+ * Returns whether this field is set.
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0.prototype.hasMetadata = function() {
+  return jspb.Message.getField(this, 3) != null;
+};
+
+
+/**
+ * optional GetContestedResourceIdentityVotesResponseV0 v0 = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0}
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.prototype.getV0 = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0, 1));
+};
+
+
+/**
+ * @param {?proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.GetContestedResourceIdentityVotesResponseV0|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.prototype.setV0 = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.oneofGroups_[0], value);
+};
+
+
+/**
+ * Clears the message field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.prototype.clearV0 = function() {
+  return this.setV0(undefined);
+};
+
+
+/**
+ * Returns whether this field is set.
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetContestedResourceIdentityVotesResponse.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.GetPrefundedSpecializedBalanceRequest.oneofGroups_ = [[1]];
+
+/**
+ * @enum {number}
+ */
+proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.VersionCase = {
+  VERSION_NOT_SET: 0,
+  V0: 1
+};
+
+/**
+ * @return {proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.VersionCase}
+ */
+proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.prototype.getVersionCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.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.GetPrefundedSpecializedBalanceRequest.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.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.GetPrefundedSpecializedBalanceRequest} msg The msg instance to transform.
+ * @return {!Object}
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.toObject = function(includeInstance, msg) {
+  var f, obj = {
+    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.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.GetPrefundedSpecializedBalanceRequest}
+ */
+proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.deserializeBinary = function(bytes) {
+  var reader = new jspb.BinaryReader(bytes);
+  var msg = new proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest;
+  return proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.deserializeBinaryFromReader(msg, reader);
+};
+
+
+/**
+ * Deserializes binary data (in protobuf wire format) from the
+ * given reader into the given message object.
+ * @param {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest} msg The message object to deserialize into.
+ * @param {!jspb.BinaryReader} reader The BinaryReader to use.
+ * @return {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest}
+ */
+proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.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.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.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.GetPrefundedSpecializedBalanceRequest.prototype.serializeBinary = function() {
+  var writer = new jspb.BinaryWriter();
+  proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.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.GetPrefundedSpecializedBalanceRequest} message
+ * @param {!jspb.BinaryWriter} writer
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.serializeBinaryToWriter = function(message, writer) {
+  var f = undefined;
+  f = message.getV0();
+  if (f != null) {
+    writer.writeMessage(
+      1,
+      f,
+      proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.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.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.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.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0} msg The msg instance to transform.
+ * @return {!Object}
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.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.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0}
+ */
+proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.deserializeBinary = function(bytes) {
+  var reader = new jspb.BinaryReader(bytes);
+  var msg = new proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0;
+  return proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.deserializeBinaryFromReader(msg, reader);
+};
+
+
+/**
+ * Deserializes binary data (in protobuf wire format) from the
+ * given reader into the given message object.
+ * @param {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0} msg The message object to deserialize into.
+ * @param {!jspb.BinaryReader} reader The BinaryReader to use.
+ * @return {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0}
+ */
+proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.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.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.prototype.serializeBinary = function() {
+  var writer = new jspb.BinaryWriter();
+  proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.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.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0} message
+ * @param {!jspb.BinaryWriter} writer
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.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.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.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.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.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.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.prototype.getId_asU8 = function() {
+  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
+      this.getId()));
+};
+
+
+/**
+ * @param {!(string|Uint8Array)} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.prototype.setId = function(value) {
+  return jspb.Message.setProto3BytesField(this, 1, value);
+};
+
+
+/**
+ * optional bool prove = 2;
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.prototype.getProve = function() {
+  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));
+};
+
+
+/**
+ * @param {boolean} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0.prototype.setProve = function(value) {
+  return jspb.Message.setProto3BooleanField(this, 2, value);
+};
+
+
+/**
+ * optional GetPrefundedSpecializedBalanceRequestV0 v0 = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0}
+ */
+proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.prototype.getV0 = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0, 1));
+};
+
+
+/**
+ * @param {?proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.GetPrefundedSpecializedBalanceRequestV0|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.prototype.setV0 = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.oneofGroups_[0], value);
+};
+
+
+/**
+ * Clears the message field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.prototype.clearV0 = function() {
+  return this.setV0(undefined);
+};
+
+
+/**
+ * Returns whether this field is set.
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceRequest.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.GetPrefundedSpecializedBalanceResponse.oneofGroups_ = [[1]];
+
+/**
+ * @enum {number}
+ */
+proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.VersionCase = {
+  VERSION_NOT_SET: 0,
+  V0: 1
+};
+
+/**
+ * @return {proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.VersionCase}
+ */
+proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.prototype.getVersionCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.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.GetPrefundedSpecializedBalanceResponse.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.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.GetPrefundedSpecializedBalanceResponse} msg The msg instance to transform.
+ * @return {!Object}
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.toObject = function(includeInstance, msg) {
+  var f, obj = {
+    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.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.GetPrefundedSpecializedBalanceResponse}
+ */
+proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.deserializeBinary = function(bytes) {
+  var reader = new jspb.BinaryReader(bytes);
+  var msg = new proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse;
+  return proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.deserializeBinaryFromReader(msg, reader);
+};
+
+
+/**
+ * Deserializes binary data (in protobuf wire format) from the
+ * given reader into the given message object.
+ * @param {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse} msg The message object to deserialize into.
+ * @param {!jspb.BinaryReader} reader The BinaryReader to use.
+ * @return {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse}
+ */
+proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.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.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.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.GetPrefundedSpecializedBalanceResponse.prototype.serializeBinary = function() {
+  var writer = new jspb.BinaryWriter();
+  proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.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.GetPrefundedSpecializedBalanceResponse} message
+ * @param {!jspb.BinaryWriter} writer
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.serializeBinaryToWriter = function(message, writer) {
+  var f = undefined;
+  f = message.getV0();
+  if (f != null) {
+    writer.writeMessage(
+      1,
+      f,
+      proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.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.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.oneofGroups_ = [[1,2]];
+
+/**
+ * @enum {number}
+ */
+proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.ResultCase = {
+  RESULT_NOT_SET: 0,
+  BALANCE: 1,
+  PROOF: 2
+};
+
+/**
+ * @return {proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.ResultCase}
+ */
+proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.prototype.getResultCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.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.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.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.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0} msg The msg instance to transform.
+ * @return {!Object}
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.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)
+  };
+
+  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.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0}
+ */
+proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.deserializeBinary = function(bytes) {
+  var reader = new jspb.BinaryReader(bytes);
+  var msg = new proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0;
+  return proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.deserializeBinaryFromReader(msg, reader);
+};
+
+
+/**
+ * Deserializes binary data (in protobuf wire format) from the
+ * given reader into the given message object.
+ * @param {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0} msg The message object to deserialize into.
+ * @param {!jspb.BinaryReader} reader The BinaryReader to use.
+ * @return {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0}
+ */
+proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.deserializeBinaryFromReader = function(msg, reader) {
+  while (reader.nextField()) {
+    if (reader.isEndGroup()) {
+      break;
+    }
+    var field = reader.getFieldNumber();
+    switch (field) {
+    case 1:
+      var value = /** @type {string} */ (reader.readUint64String());
+      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();
+      break;
+    }
+  }
+  return msg;
+};
+
+
+/**
+ * Serializes the message to binary data (in protobuf wire format).
+ * @return {!Uint8Array}
+ */
+proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.prototype.serializeBinary = function() {
+  var writer = new jspb.BinaryWriter();
+  proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.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.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0} message
+ * @param {!jspb.BinaryWriter} writer
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.serializeBinaryToWriter = function(message, writer) {
+  var f = undefined;
+  f = /** @type {string} */ (jspb.Message.getField(message, 1));
+  if (f != null) {
+    writer.writeUint64String(
+      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 {string}
+ */
+proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.prototype.getBalance = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "0"));
+};
+
+
+/**
+ * @param {string} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.prototype.setBalance = function(value) {
+  return jspb.Message.setOneofField(this, 1, proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.oneofGroups_[0], value);
+};
+
+
+/**
+ * Clears the field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.prototype.clearBalance = function() {
+  return jspb.Message.setOneofField(this, 1, proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.oneofGroups_[0], undefined);
+};
+
+
+/**
+ * Returns whether this field is set.
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.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.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.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.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.prototype.setProof = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.oneofGroups_[0], value);
+};
+
+
+/**
+ * Clears the message field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.prototype.clearProof = function() {
+  return this.setProof(undefined);
+};
+
+
+/**
+ * Returns whether this field is set.
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.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.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.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.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.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.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.prototype.clearMetadata = function() {
+  return this.setMetadata(undefined);
+};
+
+
+/**
+ * Returns whether this field is set.
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0.prototype.hasMetadata = function() {
+  return jspb.Message.getField(this, 3) != null;
+};
+
+
+/**
+ * optional GetPrefundedSpecializedBalanceResponseV0 v0 = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0}
+ */
+proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.prototype.getV0 = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0, 1));
+};
+
+
+/**
+ * @param {?proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.GetPrefundedSpecializedBalanceResponseV0|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.prototype.setV0 = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.oneofGroups_[0], value);
+};
+
+
+/**
+ * Clears the message field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.prototype.clearV0 = function() {
+  return this.setV0(undefined);
+};
+
+
+/**
+ * Returns whether this field is set.
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetPrefundedSpecializedBalanceResponse.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.GetTotalCreditsInPlatformRequest.oneofGroups_ = [[1]];
+
+/**
+ * @enum {number}
+ */
+proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.VersionCase = {
+  VERSION_NOT_SET: 0,
+  V0: 1
+};
+
+/**
+ * @return {proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.VersionCase}
+ */
+proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.prototype.getVersionCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.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.GetTotalCreditsInPlatformRequest.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.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.GetTotalCreditsInPlatformRequest} msg The msg instance to transform.
+ * @return {!Object}
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.toObject = function(includeInstance, msg) {
+  var f, obj = {
+    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0.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.GetTotalCreditsInPlatformRequest}
+ */
+proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.deserializeBinary = function(bytes) {
+  var reader = new jspb.BinaryReader(bytes);
+  var msg = new proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest;
+  return proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.deserializeBinaryFromReader(msg, reader);
+};
+
+
+/**
+ * Deserializes binary data (in protobuf wire format) from the
+ * given reader into the given message object.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest} msg The message object to deserialize into.
+ * @param {!jspb.BinaryReader} reader The BinaryReader to use.
+ * @return {!proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest}
+ */
+proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.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.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0.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.GetTotalCreditsInPlatformRequest.prototype.serializeBinary = function() {
+  var writer = new jspb.BinaryWriter();
+  proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.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.GetTotalCreditsInPlatformRequest} message
+ * @param {!jspb.BinaryWriter} writer
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.serializeBinaryToWriter = function(message, writer) {
+  var f = undefined;
+  f = message.getV0();
+  if (f != null) {
+    writer.writeMessage(
+      1,
+      f,
+      proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0.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.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0.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.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0} msg The msg instance to transform.
+ * @return {!Object}
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0.toObject = function(includeInstance, msg) {
+  var f, obj = {
+    prove: jspb.Message.getBooleanFieldWithDefault(msg, 1, 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.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0}
+ */
+proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0.deserializeBinary = function(bytes) {
+  var reader = new jspb.BinaryReader(bytes);
+  var msg = new proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0;
+  return proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0.deserializeBinaryFromReader(msg, reader);
+};
+
+
+/**
+ * Deserializes binary data (in protobuf wire format) from the
+ * given reader into the given message object.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0} msg The message object to deserialize into.
+ * @param {!jspb.BinaryReader} reader The BinaryReader to use.
+ * @return {!proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0}
+ */
+proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0.deserializeBinaryFromReader = function(msg, reader) {
+  while (reader.nextField()) {
+    if (reader.isEndGroup()) {
+      break;
+    }
+    var field = reader.getFieldNumber();
+    switch (field) {
+    case 1:
+      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.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0.prototype.serializeBinary = function() {
+  var writer = new jspb.BinaryWriter();
+  proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0.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.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0} message
+ * @param {!jspb.BinaryWriter} writer
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0.serializeBinaryToWriter = function(message, writer) {
+  var f = undefined;
+  f = message.getProve();
+  if (f) {
+    writer.writeBool(
+      1,
+      f
+    );
+  }
+};
+
+
+/**
+ * optional bool prove = 1;
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0.prototype.getProve = function() {
+  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 1, false));
+};
+
+
+/**
+ * @param {boolean} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0.prototype.setProve = function(value) {
+  return jspb.Message.setProto3BooleanField(this, 1, value);
+};
+
+
+/**
+ * optional GetTotalCreditsInPlatformRequestV0 v0 = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0}
+ */
+proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.prototype.getV0 = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0, 1));
+};
+
+
+/**
+ * @param {?proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.GetTotalCreditsInPlatformRequestV0|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.prototype.setV0 = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.oneofGroups_[0], value);
+};
+
+
+/**
+ * Clears the message field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.prototype.clearV0 = function() {
+  return this.setV0(undefined);
+};
+
+
+/**
+ * Returns whether this field is set.
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformRequest.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.GetTotalCreditsInPlatformResponse.oneofGroups_ = [[1]];
+
+/**
+ * @enum {number}
+ */
+proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.VersionCase = {
+  VERSION_NOT_SET: 0,
+  V0: 1
+};
+
+/**
+ * @return {proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.VersionCase}
+ */
+proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.prototype.getVersionCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.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.GetTotalCreditsInPlatformResponse.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.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.GetTotalCreditsInPlatformResponse} msg The msg instance to transform.
+ * @return {!Object}
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.toObject = function(includeInstance, msg) {
+  var f, obj = {
+    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.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.GetTotalCreditsInPlatformResponse}
+ */
+proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.deserializeBinary = function(bytes) {
+  var reader = new jspb.BinaryReader(bytes);
+  var msg = new proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse;
+  return proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.deserializeBinaryFromReader(msg, reader);
+};
+
+
+/**
+ * Deserializes binary data (in protobuf wire format) from the
+ * given reader into the given message object.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse} msg The message object to deserialize into.
+ * @param {!jspb.BinaryReader} reader The BinaryReader to use.
+ * @return {!proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse}
+ */
+proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.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.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.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.GetTotalCreditsInPlatformResponse.prototype.serializeBinary = function() {
+  var writer = new jspb.BinaryWriter();
+  proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.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.GetTotalCreditsInPlatformResponse} message
+ * @param {!jspb.BinaryWriter} writer
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.serializeBinaryToWriter = function(message, writer) {
+  var f = undefined;
+  f = message.getV0();
+  if (f != null) {
+    writer.writeMessage(
+      1,
+      f,
+      proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.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.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.oneofGroups_ = [[1,2]];
+
+/**
+ * @enum {number}
+ */
+proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.ResultCase = {
+  RESULT_NOT_SET: 0,
+  CREDITS: 1,
+  PROOF: 2
+};
+
+/**
+ * @return {proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.ResultCase}
+ */
+proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.prototype.getResultCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.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.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.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.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0} msg The msg instance to transform.
+ * @return {!Object}
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.toObject = function(includeInstance, msg) {
+  var f, obj = {
+    credits: 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) {
+    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.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0}
+ */
+proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.deserializeBinary = function(bytes) {
+  var reader = new jspb.BinaryReader(bytes);
+  var msg = new proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0;
+  return proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.deserializeBinaryFromReader(msg, reader);
+};
+
+
+/**
+ * Deserializes binary data (in protobuf wire format) from the
+ * given reader into the given message object.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0} msg The message object to deserialize into.
+ * @param {!jspb.BinaryReader} reader The BinaryReader to use.
+ * @return {!proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0}
+ */
+proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.deserializeBinaryFromReader = function(msg, reader) {
+  while (reader.nextField()) {
+    if (reader.isEndGroup()) {
+      break;
+    }
+    var field = reader.getFieldNumber();
+    switch (field) {
+    case 1:
+      var value = /** @type {string} */ (reader.readUint64String());
+      msg.setCredits(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.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.prototype.serializeBinary = function() {
+  var writer = new jspb.BinaryWriter();
+  proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.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.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0} message
+ * @param {!jspb.BinaryWriter} writer
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.serializeBinaryToWriter = function(message, writer) {
+  var f = undefined;
+  f = /** @type {string} */ (jspb.Message.getField(message, 1));
+  if (f != null) {
+    writer.writeUint64String(
+      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 credits = 1;
+ * @return {string}
+ */
+proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.prototype.getCredits = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "0"));
+};
+
+
+/**
+ * @param {string} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.prototype.setCredits = function(value) {
+  return jspb.Message.setOneofField(this, 1, proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.oneofGroups_[0], value);
+};
+
+
+/**
+ * Clears the field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.prototype.clearCredits = function() {
+  return jspb.Message.setOneofField(this, 1, proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.oneofGroups_[0], undefined);
+};
+
+
+/**
+ * Returns whether this field is set.
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.prototype.hasCredits = 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.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.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.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.prototype.setProof = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.oneofGroups_[0], value);
+};
+
+
+/**
+ * Clears the message field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.prototype.clearProof = function() {
+  return this.setProof(undefined);
+};
+
+
+/**
+ * Returns whether this field is set.
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.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.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.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.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.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.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.prototype.clearMetadata = function() {
+  return this.setMetadata(undefined);
+};
+
+
+/**
+ * Returns whether this field is set.
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0.prototype.hasMetadata = function() {
+  return jspb.Message.getField(this, 3) != null;
+};
+
+
+/**
+ * optional GetTotalCreditsInPlatformResponseV0 v0 = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0}
+ */
+proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.prototype.getV0 = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0, 1));
+};
+
+
+/**
+ * @param {?proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.GetTotalCreditsInPlatformResponseV0|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.prototype.setV0 = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.oneofGroups_[0], value);
+};
+
+
+/**
+ * Clears the message field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.prototype.clearV0 = function() {
+  return this.setV0(undefined);
+};
+
+
+/**
+ * Returns whether this field is set.
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetTotalCreditsInPlatformResponse.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.GetPathElementsRequest.oneofGroups_ = [[1]];
+
+/**
+ * @enum {number}
+ */
+proto.org.dash.platform.dapi.v0.GetPathElementsRequest.VersionCase = {
+  VERSION_NOT_SET: 0,
+  V0: 1
+};
+
+/**
+ * @return {proto.org.dash.platform.dapi.v0.GetPathElementsRequest.VersionCase}
+ */
+proto.org.dash.platform.dapi.v0.GetPathElementsRequest.prototype.getVersionCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetPathElementsRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetPathElementsRequest.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.GetPathElementsRequest.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetPathElementsRequest.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.GetPathElementsRequest} msg The msg instance to transform.
+ * @return {!Object}
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetPathElementsRequest.toObject = function(includeInstance, msg) {
+  var f, obj = {
+    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.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.GetPathElementsRequest}
+ */
+proto.org.dash.platform.dapi.v0.GetPathElementsRequest.deserializeBinary = function(bytes) {
+  var reader = new jspb.BinaryReader(bytes);
+  var msg = new proto.org.dash.platform.dapi.v0.GetPathElementsRequest;
+  return proto.org.dash.platform.dapi.v0.GetPathElementsRequest.deserializeBinaryFromReader(msg, reader);
+};
+
+
+/**
+ * Deserializes binary data (in protobuf wire format) from the
+ * given reader into the given message object.
+ * @param {!proto.org.dash.platform.dapi.v0.GetPathElementsRequest} msg The message object to deserialize into.
+ * @param {!jspb.BinaryReader} reader The BinaryReader to use.
+ * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsRequest}
+ */
+proto.org.dash.platform.dapi.v0.GetPathElementsRequest.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.GetPathElementsRequest.GetPathElementsRequestV0;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.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.GetPathElementsRequest.prototype.serializeBinary = function() {
+  var writer = new jspb.BinaryWriter();
+  proto.org.dash.platform.dapi.v0.GetPathElementsRequest.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.GetPathElementsRequest} message
+ * @param {!jspb.BinaryWriter} writer
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetPathElementsRequest.serializeBinaryToWriter = function(message, writer) {
+  var f = undefined;
+  f = message.getV0();
+  if (f != null) {
+    writer.writeMessage(
+      1,
+      f,
+      proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.serializeBinaryToWriter
+    );
+  }
+};
+
+
+
+/**
+ * List of repeated fields within this message type.
+ * @private {!Array}
+ * @const
+ */
+proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.repeatedFields_ = [1,2];
+
+
+
+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.GetPathElementsRequest.GetPathElementsRequestV0.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.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.GetPathElementsRequest.GetPathElementsRequestV0} msg The msg instance to transform.
+ * @return {!Object}
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.toObject = function(includeInstance, msg) {
+  var f, obj = {
+    pathList: msg.getPathList_asB64(),
+    keysList: msg.getKeysList_asB64(),
+    prove: jspb.Message.getBooleanFieldWithDefault(msg, 3, 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.GetPathElementsRequest.GetPathElementsRequestV0}
+ */
+proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.deserializeBinary = function(bytes) {
+  var reader = new jspb.BinaryReader(bytes);
+  var msg = new proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0;
+  return proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.deserializeBinaryFromReader(msg, reader);
+};
+
+
+/**
+ * Deserializes binary data (in protobuf wire format) from the
+ * given reader into the given message object.
+ * @param {!proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0} msg The message object to deserialize into.
+ * @param {!jspb.BinaryReader} reader The BinaryReader to use.
+ * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0}
+ */
+proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.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.addPath(value);
+      break;
+    case 2:
+      var value = /** @type {!Uint8Array} */ (reader.readBytes());
+      msg.addKeys(value);
+      break;
+    case 3:
+      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.GetPathElementsRequest.GetPathElementsRequestV0.prototype.serializeBinary = function() {
+  var writer = new jspb.BinaryWriter();
+  proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.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.GetPathElementsRequest.GetPathElementsRequestV0} message
+ * @param {!jspb.BinaryWriter} writer
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.serializeBinaryToWriter = function(message, writer) {
+  var f = undefined;
+  f = message.getPathList_asU8();
+  if (f.length > 0) {
+    writer.writeRepeatedBytes(
+      1,
+      f
+    );
+  }
+  f = message.getKeysList_asU8();
+  if (f.length > 0) {
+    writer.writeRepeatedBytes(
+      2,
+      f
+    );
+  }
+  f = message.getProve();
+  if (f) {
+    writer.writeBool(
+      3,
+      f
+    );
+  }
+};
+
+
+/**
+ * repeated bytes path = 1;
+ * @return {!Array}
+ */
+proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.prototype.getPathList = function() {
+  return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1));
+};
+
+
+/**
+ * repeated bytes path = 1;
+ * This is a type-conversion wrapper around `getPathList()`
+ * @return {!Array}
+ */
+proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.prototype.getPathList_asB64 = function() {
+  return /** @type {!Array} */ (jspb.Message.bytesListAsB64(
+      this.getPathList()));
+};
+
+
+/**
+ * repeated bytes path = 1;
+ * Note that Uint8Array is not supported on all browsers.
+ * @see http://caniuse.com/Uint8Array
+ * This is a type-conversion wrapper around `getPathList()`
+ * @return {!Array}
+ */
+proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.prototype.getPathList_asU8 = function() {
+  return /** @type {!Array} */ (jspb.Message.bytesListAsU8(
+      this.getPathList()));
+};
+
+
+/**
+ * @param {!(Array|Array)} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.prototype.setPathList = function(value) {
+  return jspb.Message.setField(this, 1, value || []);
+};
+
+
+/**
+ * @param {!(string|Uint8Array)} value
+ * @param {number=} opt_index
+ * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.prototype.addPath = 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.GetPathElementsRequest.GetPathElementsRequestV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.prototype.clearPathList = function() {
+  return this.setPathList([]);
+};
+
+
+/**
+ * repeated bytes keys = 2;
+ * @return {!Array}
+ */
+proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.prototype.getKeysList = function() {
+  return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 2));
+};
+
+
+/**
+ * repeated bytes keys = 2;
+ * This is a type-conversion wrapper around `getKeysList()`
+ * @return {!Array}
+ */
+proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.prototype.getKeysList_asB64 = function() {
+  return /** @type {!Array} */ (jspb.Message.bytesListAsB64(
+      this.getKeysList()));
+};
+
+
+/**
+ * repeated bytes keys = 2;
+ * Note that Uint8Array is not supported on all browsers.
+ * @see http://caniuse.com/Uint8Array
+ * This is a type-conversion wrapper around `getKeysList()`
+ * @return {!Array}
+ */
+proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.prototype.getKeysList_asU8 = function() {
+  return /** @type {!Array} */ (jspb.Message.bytesListAsU8(
+      this.getKeysList()));
+};
+
+
+/**
+ * @param {!(Array|Array)} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.prototype.setKeysList = function(value) {
+  return jspb.Message.setField(this, 2, value || []);
+};
+
+
+/**
+ * @param {!(string|Uint8Array)} value
+ * @param {number=} opt_index
+ * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.prototype.addKeys = function(value, opt_index) {
+  return jspb.Message.addToRepeatedField(this, 2, value, opt_index);
+};
+
+
+/**
+ * Clears the list making it empty but non-null.
+ * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.prototype.clearKeysList = function() {
+  return this.setKeysList([]);
+};
+
+
+/**
+ * optional bool prove = 3;
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.prototype.getProve = function() {
+  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 3, false));
+};
+
+
+/**
+ * @param {boolean} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0.prototype.setProve = function(value) {
+  return jspb.Message.setProto3BooleanField(this, 3, value);
+};
+
+
+/**
+ * optional GetPathElementsRequestV0 v0 = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0}
+ */
+proto.org.dash.platform.dapi.v0.GetPathElementsRequest.prototype.getV0 = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0, 1));
+};
+
+
+/**
+ * @param {?proto.org.dash.platform.dapi.v0.GetPathElementsRequest.GetPathElementsRequestV0|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsRequest} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetPathElementsRequest.prototype.setV0 = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetPathElementsRequest.oneofGroups_[0], value);
+};
+
+
+/**
+ * Clears the message field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsRequest} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetPathElementsRequest.prototype.clearV0 = function() {
+  return this.setV0(undefined);
+};
+
+
+/**
+ * Returns whether this field is set.
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetPathElementsRequest.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.GetPathElementsResponse.oneofGroups_ = [[1]];
+
+/**
+ * @enum {number}
+ */
+proto.org.dash.platform.dapi.v0.GetPathElementsResponse.VersionCase = {
+  VERSION_NOT_SET: 0,
+  V0: 1
+};
+
+/**
+ * @return {proto.org.dash.platform.dapi.v0.GetPathElementsResponse.VersionCase}
+ */
+proto.org.dash.platform.dapi.v0.GetPathElementsResponse.prototype.getVersionCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetPathElementsResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetPathElementsResponse.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.GetPathElementsResponse.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetPathElementsResponse.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.GetPathElementsResponse} msg The msg instance to transform.
+ * @return {!Object}
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetPathElementsResponse.toObject = function(includeInstance, msg) {
+  var f, obj = {
+    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.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.GetPathElementsResponse}
+ */
+proto.org.dash.platform.dapi.v0.GetPathElementsResponse.deserializeBinary = function(bytes) {
+  var reader = new jspb.BinaryReader(bytes);
+  var msg = new proto.org.dash.platform.dapi.v0.GetPathElementsResponse;
+  return proto.org.dash.platform.dapi.v0.GetPathElementsResponse.deserializeBinaryFromReader(msg, reader);
+};
+
+
+/**
+ * Deserializes binary data (in protobuf wire format) from the
+ * given reader into the given message object.
+ * @param {!proto.org.dash.platform.dapi.v0.GetPathElementsResponse} msg The message object to deserialize into.
+ * @param {!jspb.BinaryReader} reader The BinaryReader to use.
+ * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsResponse}
+ */
+proto.org.dash.platform.dapi.v0.GetPathElementsResponse.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.GetPathElementsResponse.GetPathElementsResponseV0;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.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.GetPathElementsResponse.prototype.serializeBinary = function() {
+  var writer = new jspb.BinaryWriter();
+  proto.org.dash.platform.dapi.v0.GetPathElementsResponse.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.GetPathElementsResponse} message
+ * @param {!jspb.BinaryWriter} writer
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetPathElementsResponse.serializeBinaryToWriter = function(message, writer) {
+  var f = undefined;
+  f = message.getV0();
+  if (f != null) {
+    writer.writeMessage(
+      1,
+      f,
+      proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.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.GetPathElementsResponse.GetPathElementsResponseV0.oneofGroups_ = [[1,2]];
+
+/**
+ * @enum {number}
+ */
+proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.ResultCase = {
+  RESULT_NOT_SET: 0,
+  ELEMENTS: 1,
+  PROOF: 2
+};
+
+/**
+ * @return {proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.ResultCase}
+ */
+proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.prototype.getResultCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.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.GetPathElementsResponse.GetPathElementsResponseV0.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.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.GetPathElementsResponse.GetPathElementsResponseV0} msg The msg instance to transform.
+ * @return {!Object}
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.toObject = function(includeInstance, msg) {
+  var f, obj = {
+    elements: (f = msg.getElements()) && proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.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.GetPathElementsResponse.GetPathElementsResponseV0}
+ */
+proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.deserializeBinary = function(bytes) {
+  var reader = new jspb.BinaryReader(bytes);
+  var msg = new proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0;
+  return proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.deserializeBinaryFromReader(msg, reader);
+};
+
+
+/**
+ * Deserializes binary data (in protobuf wire format) from the
+ * given reader into the given message object.
+ * @param {!proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0} msg The message object to deserialize into.
+ * @param {!jspb.BinaryReader} reader The BinaryReader to use.
+ * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0}
+ */
+proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.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.GetPathElementsResponse.GetPathElementsResponseV0.Elements;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.deserializeBinaryFromReader);
+      msg.setElements(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.GetPathElementsResponse.GetPathElementsResponseV0.prototype.serializeBinary = function() {
+  var writer = new jspb.BinaryWriter();
+  proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.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.GetPathElementsResponse.GetPathElementsResponseV0} message
+ * @param {!jspb.BinaryWriter} writer
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.serializeBinaryToWriter = function(message, writer) {
+  var f = undefined;
+  f = message.getElements();
+  if (f != null) {
+    writer.writeMessage(
+      1,
+      f,
+      proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.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.GetPathElementsResponse.GetPathElementsResponseV0.Elements.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.GetPathElementsResponse.GetPathElementsResponseV0.Elements.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.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.GetPathElementsResponse.GetPathElementsResponseV0.Elements} msg The msg instance to transform.
+ * @return {!Object}
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.toObject = function(includeInstance, msg) {
+  var f, obj = {
+    elementsList: msg.getElementsList_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.GetPathElementsResponse.GetPathElementsResponseV0.Elements}
+ */
+proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.deserializeBinary = function(bytes) {
+  var reader = new jspb.BinaryReader(bytes);
+  var msg = new proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements;
+  return proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.deserializeBinaryFromReader(msg, reader);
+};
+
+
+/**
+ * Deserializes binary data (in protobuf wire format) from the
+ * given reader into the given message object.
+ * @param {!proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements} msg The message object to deserialize into.
+ * @param {!jspb.BinaryReader} reader The BinaryReader to use.
+ * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements}
+ */
+proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.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.addElements(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.GetPathElementsResponse.GetPathElementsResponseV0.Elements.prototype.serializeBinary = function() {
+  var writer = new jspb.BinaryWriter();
+  proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.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.GetPathElementsResponse.GetPathElementsResponseV0.Elements} message
+ * @param {!jspb.BinaryWriter} writer
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.serializeBinaryToWriter = function(message, writer) {
+  var f = undefined;
+  f = message.getElementsList_asU8();
+  if (f.length > 0) {
+    writer.writeRepeatedBytes(
+      1,
+      f
+    );
+  }
+};
+
+
+/**
+ * repeated bytes elements = 1;
+ * @return {!Array}
+ */
+proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.prototype.getElementsList = function() {
+  return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1));
+};
+
+
+/**
+ * repeated bytes elements = 1;
+ * This is a type-conversion wrapper around `getElementsList()`
+ * @return {!Array}
+ */
+proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.prototype.getElementsList_asB64 = function() {
+  return /** @type {!Array} */ (jspb.Message.bytesListAsB64(
+      this.getElementsList()));
+};
+
+
+/**
+ * repeated bytes elements = 1;
+ * Note that Uint8Array is not supported on all browsers.
+ * @see http://caniuse.com/Uint8Array
+ * This is a type-conversion wrapper around `getElementsList()`
+ * @return {!Array}
+ */
+proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.prototype.getElementsList_asU8 = function() {
+  return /** @type {!Array} */ (jspb.Message.bytesListAsU8(
+      this.getElementsList()));
+};
+
+
+/**
+ * @param {!(Array|Array)} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.prototype.setElementsList = function(value) {
+  return jspb.Message.setField(this, 1, value || []);
+};
+
+
+/**
+ * @param {!(string|Uint8Array)} value
+ * @param {number=} opt_index
+ * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.prototype.addElements = 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.GetPathElementsResponse.GetPathElementsResponseV0.Elements} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements.prototype.clearElementsList = function() {
+  return this.setElementsList([]);
+};
+
+
+/**
+ * optional Elements elements = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements}
+ */
+proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.prototype.getElements = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements, 1));
+};
+
+
+/**
+ * @param {?proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.Elements|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.prototype.setElements = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.oneofGroups_[0], value);
+};
+
+
+/**
+ * Clears the message field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.prototype.clearElements = function() {
+  return this.setElements(undefined);
+};
+
+
+/**
+ * Returns whether this field is set.
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.prototype.hasElements = 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.GetPathElementsResponse.GetPathElementsResponseV0.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.GetPathElementsResponse.GetPathElementsResponseV0} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.prototype.setProof = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.oneofGroups_[0], value);
+};
+
+
+/**
+ * Clears the message field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.prototype.clearProof = function() {
+  return this.setProof(undefined);
+};
+
+
+/**
+ * Returns whether this field is set.
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.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.GetPathElementsResponse.GetPathElementsResponseV0.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.GetPathElementsResponse.GetPathElementsResponseV0} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.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.GetPathElementsResponse.GetPathElementsResponseV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.prototype.clearMetadata = function() {
+  return this.setMetadata(undefined);
+};
+
+
+/**
+ * Returns whether this field is set.
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0.prototype.hasMetadata = function() {
+  return jspb.Message.getField(this, 3) != null;
+};
+
+
+/**
+ * optional GetPathElementsResponseV0 v0 = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0}
+ */
+proto.org.dash.platform.dapi.v0.GetPathElementsResponse.prototype.getV0 = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0, 1));
+};
+
+
+/**
+ * @param {?proto.org.dash.platform.dapi.v0.GetPathElementsResponse.GetPathElementsResponseV0|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsResponse} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetPathElementsResponse.prototype.setV0 = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetPathElementsResponse.oneofGroups_[0], value);
+};
+
+
+/**
+ * Clears the message field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetPathElementsResponse} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetPathElementsResponse.prototype.clearV0 = function() {
+  return this.setV0(undefined);
+};
+
+
+/**
+ * Returns whether this field is set.
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetPathElementsResponse.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.GetStatusRequest.oneofGroups_ = [[1]];
+
+/**
+ * @enum {number}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusRequest.VersionCase = {
+  VERSION_NOT_SET: 0,
+  V0: 1
+};
+
+/**
+ * @return {proto.org.dash.platform.dapi.v0.GetStatusRequest.VersionCase}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusRequest.prototype.getVersionCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetStatusRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetStatusRequest.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.GetStatusRequest.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetStatusRequest.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.GetStatusRequest} msg The msg instance to transform.
+ * @return {!Object}
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetStatusRequest.toObject = function(includeInstance, msg) {
+  var f, obj = {
+    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0.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.GetStatusRequest}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusRequest.deserializeBinary = function(bytes) {
+  var reader = new jspb.BinaryReader(bytes);
+  var msg = new proto.org.dash.platform.dapi.v0.GetStatusRequest;
+  return proto.org.dash.platform.dapi.v0.GetStatusRequest.deserializeBinaryFromReader(msg, reader);
+};
+
+
+/**
+ * Deserializes binary data (in protobuf wire format) from the
+ * given reader into the given message object.
+ * @param {!proto.org.dash.platform.dapi.v0.GetStatusRequest} msg The message object to deserialize into.
+ * @param {!jspb.BinaryReader} reader The BinaryReader to use.
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusRequest}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusRequest.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.GetStatusRequest.GetStatusRequestV0;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0.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.GetStatusRequest.prototype.serializeBinary = function() {
+  var writer = new jspb.BinaryWriter();
+  proto.org.dash.platform.dapi.v0.GetStatusRequest.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.GetStatusRequest} message
+ * @param {!jspb.BinaryWriter} writer
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetStatusRequest.serializeBinaryToWriter = function(message, writer) {
+  var f = undefined;
+  f = message.getV0();
+  if (f != null) {
+    writer.writeMessage(
+      1,
+      f,
+      proto.org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0.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.GetStatusRequest.GetStatusRequestV0.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0.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.GetStatusRequest.GetStatusRequestV0} msg The msg instance to transform.
+ * @return {!Object}
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0.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.GetStatusRequest.GetStatusRequestV0}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0.deserializeBinary = function(bytes) {
+  var reader = new jspb.BinaryReader(bytes);
+  var msg = new proto.org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0;
+  return proto.org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0.deserializeBinaryFromReader(msg, reader);
+};
+
+
+/**
+ * Deserializes binary data (in protobuf wire format) from the
+ * given reader into the given message object.
+ * @param {!proto.org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0} msg The message object to deserialize into.
+ * @param {!jspb.BinaryReader} reader The BinaryReader to use.
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0.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.GetStatusRequest.GetStatusRequestV0.prototype.serializeBinary = function() {
+  var writer = new jspb.BinaryWriter();
+  proto.org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0.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.GetStatusRequest.GetStatusRequestV0} message
+ * @param {!jspb.BinaryWriter} writer
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0.serializeBinaryToWriter = function(message, writer) {
+  var f = undefined;
+};
+
+
+/**
+ * optional GetStatusRequestV0 v0 = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusRequest.prototype.getV0 = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0, 1));
+};
+
+
+/**
+ * @param {?proto.org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusRequest} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetStatusRequest.prototype.setV0 = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetStatusRequest.oneofGroups_[0], value);
+};
+
+
+/**
+ * Clears the message field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusRequest} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetStatusRequest.prototype.clearV0 = function() {
+  return this.setV0(undefined);
+};
+
+
+/**
+ * Returns whether this field is set.
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusRequest.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.GetStatusResponse.oneofGroups_ = [[1]];
+
+/**
+ * @enum {number}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.VersionCase = {
+  VERSION_NOT_SET: 0,
+  V0: 1
+};
+
+/**
+ * @return {proto.org.dash.platform.dapi.v0.GetStatusResponse.VersionCase}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.prototype.getVersionCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetStatusResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetStatusResponse.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.GetStatusResponse.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetStatusResponse.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.GetStatusResponse} msg The msg instance to transform.
+ * @return {!Object}
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.toObject = function(includeInstance, msg) {
+  var f, obj = {
+    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.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.GetStatusResponse}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.deserializeBinary = function(bytes) {
+  var reader = new jspb.BinaryReader(bytes);
+  var msg = new proto.org.dash.platform.dapi.v0.GetStatusResponse;
+  return proto.org.dash.platform.dapi.v0.GetStatusResponse.deserializeBinaryFromReader(msg, reader);
+};
+
+
+/**
+ * Deserializes binary data (in protobuf wire format) from the
+ * given reader into the given message object.
+ * @param {!proto.org.dash.platform.dapi.v0.GetStatusResponse} msg The message object to deserialize into.
+ * @param {!jspb.BinaryReader} reader The BinaryReader to use.
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.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.GetStatusResponse.GetStatusResponseV0;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.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.GetStatusResponse.prototype.serializeBinary = function() {
+  var writer = new jspb.BinaryWriter();
+  proto.org.dash.platform.dapi.v0.GetStatusResponse.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.GetStatusResponse} message
+ * @param {!jspb.BinaryWriter} writer
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.serializeBinaryToWriter = function(message, writer) {
+  var f = undefined;
+  f = message.getV0();
+  if (f != null) {
+    writer.writeMessage(
+      1,
+      f,
+      proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.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.GetStatusResponse.GetStatusResponseV0.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.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.GetStatusResponse.GetStatusResponseV0} msg The msg instance to transform.
+ * @return {!Object}
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.toObject = function(includeInstance, msg) {
+  var f, obj = {
+    version: (f = msg.getVersion()) && proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.toObject(includeInstance, f),
+    node: (f = msg.getNode()) && proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.toObject(includeInstance, f),
+    chain: (f = msg.getChain()) && proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.toObject(includeInstance, f),
+    network: (f = msg.getNetwork()) && proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network.toObject(includeInstance, f),
+    stateSync: (f = msg.getStateSync()) && proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.toObject(includeInstance, f),
+    time: (f = msg.getTime()) && proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.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.GetStatusResponse.GetStatusResponseV0}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.deserializeBinary = function(bytes) {
+  var reader = new jspb.BinaryReader(bytes);
+  var msg = new proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0;
+  return proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.deserializeBinaryFromReader(msg, reader);
+};
+
+
+/**
+ * Deserializes binary data (in protobuf wire format) from the
+ * given reader into the given message object.
+ * @param {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0} msg The message object to deserialize into.
+ * @param {!jspb.BinaryReader} reader The BinaryReader to use.
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.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.GetStatusResponse.GetStatusResponseV0.Version;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.deserializeBinaryFromReader);
+      msg.setVersion(value);
+      break;
+    case 2:
+      var value = new proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.deserializeBinaryFromReader);
+      msg.setNode(value);
+      break;
+    case 3:
+      var value = new proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.deserializeBinaryFromReader);
+      msg.setChain(value);
+      break;
+    case 4:
+      var value = new proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network.deserializeBinaryFromReader);
+      msg.setNetwork(value);
+      break;
+    case 5:
+      var value = new proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.deserializeBinaryFromReader);
+      msg.setStateSync(value);
+      break;
+    case 6:
+      var value = new proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.deserializeBinaryFromReader);
+      msg.setTime(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.GetStatusResponse.GetStatusResponseV0.prototype.serializeBinary = function() {
+  var writer = new jspb.BinaryWriter();
+  proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.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.GetStatusResponse.GetStatusResponseV0} message
+ * @param {!jspb.BinaryWriter} writer
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.serializeBinaryToWriter = function(message, writer) {
+  var f = undefined;
+  f = message.getVersion();
+  if (f != null) {
+    writer.writeMessage(
+      1,
+      f,
+      proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.serializeBinaryToWriter
+    );
+  }
+  f = message.getNode();
+  if (f != null) {
+    writer.writeMessage(
+      2,
+      f,
+      proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.serializeBinaryToWriter
+    );
+  }
+  f = message.getChain();
+  if (f != null) {
+    writer.writeMessage(
+      3,
+      f,
+      proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.serializeBinaryToWriter
+    );
+  }
+  f = message.getNetwork();
+  if (f != null) {
+    writer.writeMessage(
+      4,
+      f,
+      proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network.serializeBinaryToWriter
+    );
+  }
+  f = message.getStateSync();
+  if (f != null) {
+    writer.writeMessage(
+      5,
+      f,
+      proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.serializeBinaryToWriter
+    );
+  }
+  f = message.getTime();
+  if (f != null) {
+    writer.writeMessage(
+      6,
+      f,
+      proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.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.GetStatusResponse.GetStatusResponseV0.Version.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.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.GetStatusResponse.GetStatusResponseV0.Version} msg The msg instance to transform.
+ * @return {!Object}
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.toObject = function(includeInstance, msg) {
+  var f, obj = {
+    software: (f = msg.getSoftware()) && proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.toObject(includeInstance, f),
+    protocol: (f = msg.getProtocol()) && proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.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.GetStatusResponse.GetStatusResponseV0.Version}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.deserializeBinary = function(bytes) {
+  var reader = new jspb.BinaryReader(bytes);
+  var msg = new proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version;
+  return proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.deserializeBinaryFromReader(msg, reader);
+};
+
+
+/**
+ * Deserializes binary data (in protobuf wire format) from the
+ * given reader into the given message object.
+ * @param {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version} msg The message object to deserialize into.
+ * @param {!jspb.BinaryReader} reader The BinaryReader to use.
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.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.GetStatusResponse.GetStatusResponseV0.Version.Software;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.deserializeBinaryFromReader);
+      msg.setSoftware(value);
+      break;
+    case 2:
+      var value = new proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.deserializeBinaryFromReader);
+      msg.setProtocol(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.GetStatusResponse.GetStatusResponseV0.Version.prototype.serializeBinary = function() {
+  var writer = new jspb.BinaryWriter();
+  proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.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.GetStatusResponse.GetStatusResponseV0.Version} message
+ * @param {!jspb.BinaryWriter} writer
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.serializeBinaryToWriter = function(message, writer) {
+  var f = undefined;
+  f = message.getSoftware();
+  if (f != null) {
+    writer.writeMessage(
+      1,
+      f,
+      proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.serializeBinaryToWriter
+    );
+  }
+  f = message.getProtocol();
+  if (f != null) {
+    writer.writeMessage(
+      2,
+      f,
+      proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.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.GetStatusResponse.GetStatusResponseV0.Version.Software.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.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.GetStatusResponse.GetStatusResponseV0.Version.Software} msg The msg instance to transform.
+ * @return {!Object}
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.toObject = function(includeInstance, msg) {
+  var f, obj = {
+    dapi: jspb.Message.getFieldWithDefault(msg, 1, ""),
+    drive: jspb.Message.getFieldWithDefault(msg, 2, ""),
+    tenderdash: jspb.Message.getFieldWithDefault(msg, 3, "")
+  };
+
+  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.GetStatusResponse.GetStatusResponseV0.Version.Software}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.deserializeBinary = function(bytes) {
+  var reader = new jspb.BinaryReader(bytes);
+  var msg = new proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software;
+  return proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.deserializeBinaryFromReader(msg, reader);
+};
+
+
+/**
+ * Deserializes binary data (in protobuf wire format) from the
+ * given reader into the given message object.
+ * @param {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software} msg The message object to deserialize into.
+ * @param {!jspb.BinaryReader} reader The BinaryReader to use.
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.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.setDapi(value);
+      break;
+    case 2:
+      var value = /** @type {string} */ (reader.readString());
+      msg.setDrive(value);
+      break;
+    case 3:
+      var value = /** @type {string} */ (reader.readString());
+      msg.setTenderdash(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.GetStatusResponse.GetStatusResponseV0.Version.Software.prototype.serializeBinary = function() {
+  var writer = new jspb.BinaryWriter();
+  proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.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.GetStatusResponse.GetStatusResponseV0.Version.Software} message
+ * @param {!jspb.BinaryWriter} writer
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.serializeBinaryToWriter = function(message, writer) {
+  var f = undefined;
+  f = message.getDapi();
+  if (f.length > 0) {
+    writer.writeString(
+      1,
+      f
+    );
+  }
+  f = /** @type {string} */ (jspb.Message.getField(message, 2));
+  if (f != null) {
+    writer.writeString(
+      2,
+      f
+    );
+  }
+  f = /** @type {string} */ (jspb.Message.getField(message, 3));
+  if (f != null) {
+    writer.writeString(
+      3,
+      f
+    );
+  }
+};
+
+
+/**
+ * optional string dapi = 1;
+ * @return {string}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.prototype.getDapi = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
+};
+
+
+/**
+ * @param {string} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.prototype.setDapi = function(value) {
+  return jspb.Message.setProto3StringField(this, 1, value);
+};
+
+
+/**
+ * optional string drive = 2;
+ * @return {string}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.prototype.getDrive = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
+};
+
+
+/**
+ * @param {string} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.prototype.setDrive = function(value) {
+  return jspb.Message.setField(this, 2, value);
+};
+
+
+/**
+ * Clears the field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.prototype.clearDrive = function() {
+  return jspb.Message.setField(this, 2, undefined);
+};
+
+
+/**
+ * Returns whether this field is set.
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.prototype.hasDrive = function() {
+  return jspb.Message.getField(this, 2) != null;
+};
+
+
+/**
+ * optional string tenderdash = 3;
+ * @return {string}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.prototype.getTenderdash = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, ""));
+};
+
+
+/**
+ * @param {string} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.prototype.setTenderdash = function(value) {
+  return jspb.Message.setField(this, 3, value);
+};
+
+
+/**
+ * Clears the field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.prototype.clearTenderdash = function() {
+  return jspb.Message.setField(this, 3, undefined);
+};
+
+
+/**
+ * Returns whether this field is set.
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.prototype.hasTenderdash = 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.GetStatusResponse.GetStatusResponseV0.Version.Protocol.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.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.GetStatusResponse.GetStatusResponseV0.Version.Protocol} msg The msg instance to transform.
+ * @return {!Object}
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.toObject = function(includeInstance, msg) {
+  var f, obj = {
+    tenderdash: (f = msg.getTenderdash()) && proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash.toObject(includeInstance, f),
+    drive: (f = msg.getDrive()) && proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive.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.GetStatusResponse.GetStatusResponseV0.Version.Protocol}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.deserializeBinary = function(bytes) {
+  var reader = new jspb.BinaryReader(bytes);
+  var msg = new proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol;
+  return proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.deserializeBinaryFromReader(msg, reader);
+};
+
+
+/**
+ * Deserializes binary data (in protobuf wire format) from the
+ * given reader into the given message object.
+ * @param {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol} msg The message object to deserialize into.
+ * @param {!jspb.BinaryReader} reader The BinaryReader to use.
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.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.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash.deserializeBinaryFromReader);
+      msg.setTenderdash(value);
+      break;
+    case 2:
+      var value = new proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive.deserializeBinaryFromReader);
+      msg.setDrive(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.GetStatusResponse.GetStatusResponseV0.Version.Protocol.prototype.serializeBinary = function() {
+  var writer = new jspb.BinaryWriter();
+  proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.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.GetStatusResponse.GetStatusResponseV0.Version.Protocol} message
+ * @param {!jspb.BinaryWriter} writer
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.serializeBinaryToWriter = function(message, writer) {
+  var f = undefined;
+  f = message.getTenderdash();
+  if (f != null) {
+    writer.writeMessage(
+      1,
+      f,
+      proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash.serializeBinaryToWriter
+    );
+  }
+  f = message.getDrive();
+  if (f != null) {
+    writer.writeMessage(
+      2,
+      f,
+      proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive.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.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash.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.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash} msg The msg instance to transform.
+ * @return {!Object}
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash.toObject = function(includeInstance, msg) {
+  var f, obj = {
+    p2p: jspb.Message.getFieldWithDefault(msg, 1, 0),
+    block: jspb.Message.getFieldWithDefault(msg, 2, 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.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash.deserializeBinary = function(bytes) {
+  var reader = new jspb.BinaryReader(bytes);
+  var msg = new proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash;
+  return proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash.deserializeBinaryFromReader(msg, reader);
+};
+
+
+/**
+ * Deserializes binary data (in protobuf wire format) from the
+ * given reader into the given message object.
+ * @param {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash} msg The message object to deserialize into.
+ * @param {!jspb.BinaryReader} reader The BinaryReader to use.
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash.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.setP2p(value);
+      break;
+    case 2:
+      var value = /** @type {number} */ (reader.readUint32());
+      msg.setBlock(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.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash.prototype.serializeBinary = function() {
+  var writer = new jspb.BinaryWriter();
+  proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash.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.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash} message
+ * @param {!jspb.BinaryWriter} writer
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash.serializeBinaryToWriter = function(message, writer) {
+  var f = undefined;
+  f = message.getP2p();
+  if (f !== 0) {
+    writer.writeUint32(
+      1,
+      f
+    );
+  }
+  f = message.getBlock();
+  if (f !== 0) {
+    writer.writeUint32(
+      2,
+      f
+    );
+  }
+};
+
+
+/**
+ * optional uint32 p2p = 1;
+ * @return {number}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash.prototype.getP2p = function() {
+  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
+};
+
+
+/**
+ * @param {number} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash.prototype.setP2p = function(value) {
+  return jspb.Message.setProto3IntField(this, 1, value);
+};
+
+
+/**
+ * optional uint32 block = 2;
+ * @return {number}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash.prototype.getBlock = function() {
+  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
+};
+
+
+/**
+ * @param {number} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash.prototype.setBlock = function(value) {
+  return jspb.Message.setProto3IntField(this, 2, 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.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive.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.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive} msg The msg instance to transform.
+ * @return {!Object}
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive.toObject = function(includeInstance, msg) {
+  var f, obj = {
+    latest: jspb.Message.getFieldWithDefault(msg, 3, 0),
+    current: jspb.Message.getFieldWithDefault(msg, 4, 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.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive.deserializeBinary = function(bytes) {
+  var reader = new jspb.BinaryReader(bytes);
+  var msg = new proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive;
+  return proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive.deserializeBinaryFromReader(msg, reader);
+};
+
+
+/**
+ * Deserializes binary data (in protobuf wire format) from the
+ * given reader into the given message object.
+ * @param {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive} msg The message object to deserialize into.
+ * @param {!jspb.BinaryReader} reader The BinaryReader to use.
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive.deserializeBinaryFromReader = function(msg, reader) {
+  while (reader.nextField()) {
+    if (reader.isEndGroup()) {
+      break;
+    }
+    var field = reader.getFieldNumber();
+    switch (field) {
+    case 3:
+      var value = /** @type {number} */ (reader.readUint32());
+      msg.setLatest(value);
+      break;
+    case 4:
+      var value = /** @type {number} */ (reader.readUint32());
+      msg.setCurrent(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.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive.prototype.serializeBinary = function() {
+  var writer = new jspb.BinaryWriter();
+  proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive.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.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive} message
+ * @param {!jspb.BinaryWriter} writer
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive.serializeBinaryToWriter = function(message, writer) {
+  var f = undefined;
+  f = message.getLatest();
+  if (f !== 0) {
+    writer.writeUint32(
+      3,
+      f
+    );
+  }
+  f = message.getCurrent();
+  if (f !== 0) {
+    writer.writeUint32(
+      4,
+      f
+    );
+  }
+};
+
+
+/**
+ * optional uint32 latest = 3;
+ * @return {number}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive.prototype.getLatest = function() {
+  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));
+};
+
+
+/**
+ * @param {number} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive.prototype.setLatest = function(value) {
+  return jspb.Message.setProto3IntField(this, 3, value);
+};
+
+
+/**
+ * optional uint32 current = 4;
+ * @return {number}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive.prototype.getCurrent = function() {
+  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0));
+};
+
+
+/**
+ * @param {number} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive.prototype.setCurrent = function(value) {
+  return jspb.Message.setProto3IntField(this, 4, value);
+};
+
+
+/**
+ * optional Tenderdash tenderdash = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.prototype.getTenderdash = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash, 1));
+};
+
+
+/**
+ * @param {?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.prototype.setTenderdash = function(value) {
+  return jspb.Message.setWrapperField(this, 1, value);
+};
+
+
+/**
+ * Clears the message field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.prototype.clearTenderdash = function() {
+  return this.setTenderdash(undefined);
+};
+
+
+/**
+ * Returns whether this field is set.
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.prototype.hasTenderdash = function() {
+  return jspb.Message.getField(this, 1) != null;
+};
+
+
+/**
+ * optional Drive drive = 2;
+ * @return {?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.prototype.getDrive = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive, 2));
+};
+
+
+/**
+ * @param {?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.prototype.setDrive = function(value) {
+  return jspb.Message.setWrapperField(this, 2, value);
+};
+
+
+/**
+ * Clears the message field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.prototype.clearDrive = function() {
+  return this.setDrive(undefined);
+};
+
+
+/**
+ * Returns whether this field is set.
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.prototype.hasDrive = function() {
+  return jspb.Message.getField(this, 2) != null;
+};
+
+
+/**
+ * optional Software software = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.prototype.getSoftware = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software, 1));
+};
+
+
+/**
+ * @param {?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.prototype.setSoftware = function(value) {
+  return jspb.Message.setWrapperField(this, 1, value);
+};
+
+
+/**
+ * Clears the message field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.prototype.clearSoftware = function() {
+  return this.setSoftware(undefined);
+};
+
+
+/**
+ * Returns whether this field is set.
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.prototype.hasSoftware = function() {
+  return jspb.Message.getField(this, 1) != null;
+};
+
+
+/**
+ * optional Protocol protocol = 2;
+ * @return {?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.prototype.getProtocol = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol, 2));
+};
+
+
+/**
+ * @param {?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.prototype.setProtocol = function(value) {
+  return jspb.Message.setWrapperField(this, 2, value);
+};
+
+
+/**
+ * Clears the message field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.prototype.clearProtocol = function() {
+  return this.setProtocol(undefined);
+};
+
+
+/**
+ * Returns whether this field is set.
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.prototype.hasProtocol = function() {
+  return jspb.Message.getField(this, 2) != 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.GetStatusResponse.GetStatusResponseV0.Time.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.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.GetStatusResponse.GetStatusResponseV0.Time} msg The msg instance to transform.
+ * @return {!Object}
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.toObject = function(includeInstance, msg) {
+  var f, obj = {
+    local: jspb.Message.getFieldWithDefault(msg, 1, "0"),
+    block: jspb.Message.getFieldWithDefault(msg, 2, "0"),
+    genesis: jspb.Message.getFieldWithDefault(msg, 3, "0"),
+    epoch: jspb.Message.getFieldWithDefault(msg, 4, 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.GetStatusResponse.GetStatusResponseV0.Time}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.deserializeBinary = function(bytes) {
+  var reader = new jspb.BinaryReader(bytes);
+  var msg = new proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time;
+  return proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.deserializeBinaryFromReader(msg, reader);
+};
+
+
+/**
+ * Deserializes binary data (in protobuf wire format) from the
+ * given reader into the given message object.
+ * @param {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time} msg The message object to deserialize into.
+ * @param {!jspb.BinaryReader} reader The BinaryReader to use.
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.deserializeBinaryFromReader = function(msg, reader) {
+  while (reader.nextField()) {
+    if (reader.isEndGroup()) {
+      break;
+    }
+    var field = reader.getFieldNumber();
+    switch (field) {
+    case 1:
+      var value = /** @type {string} */ (reader.readUint64String());
+      msg.setLocal(value);
+      break;
+    case 2:
+      var value = /** @type {string} */ (reader.readUint64String());
+      msg.setBlock(value);
+      break;
+    case 3:
+      var value = /** @type {string} */ (reader.readUint64String());
+      msg.setGenesis(value);
+      break;
+    case 4:
+      var value = /** @type {number} */ (reader.readUint32());
+      msg.setEpoch(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.GetStatusResponse.GetStatusResponseV0.Time.prototype.serializeBinary = function() {
+  var writer = new jspb.BinaryWriter();
+  proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.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.GetStatusResponse.GetStatusResponseV0.Time} message
+ * @param {!jspb.BinaryWriter} writer
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.serializeBinaryToWriter = function(message, writer) {
+  var f = undefined;
+  f = message.getLocal();
+  if (parseInt(f, 10) !== 0) {
+    writer.writeUint64String(
+      1,
+      f
+    );
+  }
+  f = /** @type {string} */ (jspb.Message.getField(message, 2));
+  if (f != null) {
+    writer.writeUint64String(
+      2,
+      f
+    );
+  }
+  f = /** @type {string} */ (jspb.Message.getField(message, 3));
+  if (f != null) {
+    writer.writeUint64String(
+      3,
+      f
+    );
+  }
+  f = /** @type {number} */ (jspb.Message.getField(message, 4));
+  if (f != null) {
+    writer.writeUint32(
+      4,
+      f
+    );
+  }
+};
+
+
+/**
+ * optional uint64 local = 1;
+ * @return {string}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.prototype.getLocal = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "0"));
+};
+
+
+/**
+ * @param {string} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.prototype.setLocal = function(value) {
+  return jspb.Message.setProto3StringIntField(this, 1, value);
+};
+
+
+/**
+ * optional uint64 block = 2;
+ * @return {string}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.prototype.getBlock = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "0"));
+};
+
+
+/**
+ * @param {string} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.prototype.setBlock = function(value) {
+  return jspb.Message.setField(this, 2, value);
+};
+
+
+/**
+ * Clears the field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.prototype.clearBlock = function() {
+  return jspb.Message.setField(this, 2, undefined);
+};
+
+
+/**
+ * Returns whether this field is set.
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.prototype.hasBlock = function() {
+  return jspb.Message.getField(this, 2) != null;
+};
+
+
+/**
+ * optional uint64 genesis = 3;
+ * @return {string}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.prototype.getGenesis = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "0"));
+};
+
+
+/**
+ * @param {string} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.prototype.setGenesis = function(value) {
+  return jspb.Message.setField(this, 3, value);
+};
+
+
+/**
+ * Clears the field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.prototype.clearGenesis = function() {
+  return jspb.Message.setField(this, 3, undefined);
+};
+
+
+/**
+ * Returns whether this field is set.
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.prototype.hasGenesis = function() {
+  return jspb.Message.getField(this, 3) != null;
+};
+
+
+/**
+ * optional uint32 epoch = 4;
+ * @return {number}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.prototype.getEpoch = function() {
+  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0));
+};
+
+
+/**
+ * @param {number} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.prototype.setEpoch = function(value) {
+  return jspb.Message.setField(this, 4, value);
+};
+
+
+/**
+ * Clears the field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.prototype.clearEpoch = function() {
+  return jspb.Message.setField(this, 4, undefined);
+};
+
+
+/**
+ * Returns whether this field is set.
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.prototype.hasEpoch = function() {
+  return jspb.Message.getField(this, 4) != 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.GetStatusResponse.GetStatusResponseV0.Node.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.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.GetStatusResponse.GetStatusResponseV0.Node} msg The msg instance to transform.
+ * @return {!Object}
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.toObject = function(includeInstance, msg) {
+  var f, obj = {
+    id: msg.getId_asB64(),
+    proTxHash: msg.getProTxHash_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.GetStatusResponse.GetStatusResponseV0.Node}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.deserializeBinary = function(bytes) {
+  var reader = new jspb.BinaryReader(bytes);
+  var msg = new proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node;
+  return proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.deserializeBinaryFromReader(msg, reader);
+};
+
+
+/**
+ * Deserializes binary data (in protobuf wire format) from the
+ * given reader into the given message object.
+ * @param {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node} msg The message object to deserialize into.
+ * @param {!jspb.BinaryReader} reader The BinaryReader to use.
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.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 {!Uint8Array} */ (reader.readBytes());
+      msg.setProTxHash(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.GetStatusResponse.GetStatusResponseV0.Node.prototype.serializeBinary = function() {
+  var writer = new jspb.BinaryWriter();
+  proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.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.GetStatusResponse.GetStatusResponseV0.Node} message
+ * @param {!jspb.BinaryWriter} writer
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.serializeBinaryToWriter = function(message, writer) {
+  var f = undefined;
+  f = message.getId_asU8();
+  if (f.length > 0) {
+    writer.writeBytes(
+      1,
+      f
+    );
+  }
+  f = /** @type {!(string|Uint8Array)} */ (jspb.Message.getField(message, 2));
+  if (f != null) {
+    writer.writeBytes(
+      2,
+      f
+    );
+  }
+};
+
+
+/**
+ * optional bytes id = 1;
+ * @return {string}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.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.GetStatusResponse.GetStatusResponseV0.Node.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.GetStatusResponse.GetStatusResponseV0.Node.prototype.getId_asU8 = function() {
+  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
+      this.getId()));
+};
+
+
+/**
+ * @param {!(string|Uint8Array)} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.prototype.setId = function(value) {
+  return jspb.Message.setProto3BytesField(this, 1, value);
+};
+
+
+/**
+ * optional bytes pro_tx_hash = 2;
+ * @return {string}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.prototype.getProTxHash = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
+};
+
+
+/**
+ * optional bytes pro_tx_hash = 2;
+ * This is a type-conversion wrapper around `getProTxHash()`
+ * @return {string}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.prototype.getProTxHash_asB64 = function() {
+  return /** @type {string} */ (jspb.Message.bytesAsB64(
+      this.getProTxHash()));
+};
+
+
+/**
+ * optional bytes pro_tx_hash = 2;
+ * 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.GetStatusResponse.GetStatusResponseV0.Node.prototype.getProTxHash_asU8 = function() {
+  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
+      this.getProTxHash()));
+};
+
+
+/**
+ * @param {!(string|Uint8Array)} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.prototype.setProTxHash = function(value) {
+  return jspb.Message.setField(this, 2, value);
+};
+
+
+/**
+ * Clears the field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.prototype.clearProTxHash = function() {
+  return jspb.Message.setField(this, 2, undefined);
+};
+
+
+/**
+ * Returns whether this field is set.
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.prototype.hasProTxHash = function() {
+  return jspb.Message.getField(this, 2) != 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.GetStatusResponse.GetStatusResponseV0.Chain.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.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.GetStatusResponse.GetStatusResponseV0.Chain} msg The msg instance to transform.
+ * @return {!Object}
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.toObject = function(includeInstance, msg) {
+  var f, obj = {
+    catchingUp: jspb.Message.getBooleanFieldWithDefault(msg, 1, false),
+    latestBlockHash: msg.getLatestBlockHash_asB64(),
+    latestAppHash: msg.getLatestAppHash_asB64(),
+    latestBlockHeight: jspb.Message.getFieldWithDefault(msg, 4, "0"),
+    earliestBlockHash: msg.getEarliestBlockHash_asB64(),
+    earliestAppHash: msg.getEarliestAppHash_asB64(),
+    earliestBlockHeight: jspb.Message.getFieldWithDefault(msg, 7, "0"),
+    maxPeerBlockHeight: jspb.Message.getFieldWithDefault(msg, 9, "0"),
+    coreChainLockedHeight: jspb.Message.getFieldWithDefault(msg, 10, 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.GetStatusResponse.GetStatusResponseV0.Chain}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.deserializeBinary = function(bytes) {
+  var reader = new jspb.BinaryReader(bytes);
+  var msg = new proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain;
+  return proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.deserializeBinaryFromReader(msg, reader);
+};
+
+
+/**
+ * Deserializes binary data (in protobuf wire format) from the
+ * given reader into the given message object.
+ * @param {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain} msg The message object to deserialize into.
+ * @param {!jspb.BinaryReader} reader The BinaryReader to use.
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.deserializeBinaryFromReader = function(msg, reader) {
+  while (reader.nextField()) {
+    if (reader.isEndGroup()) {
+      break;
+    }
+    var field = reader.getFieldNumber();
+    switch (field) {
+    case 1:
+      var value = /** @type {boolean} */ (reader.readBool());
+      msg.setCatchingUp(value);
+      break;
+    case 2:
+      var value = /** @type {!Uint8Array} */ (reader.readBytes());
+      msg.setLatestBlockHash(value);
+      break;
+    case 3:
+      var value = /** @type {!Uint8Array} */ (reader.readBytes());
+      msg.setLatestAppHash(value);
+      break;
+    case 4:
+      var value = /** @type {string} */ (reader.readUint64String());
+      msg.setLatestBlockHeight(value);
+      break;
+    case 5:
+      var value = /** @type {!Uint8Array} */ (reader.readBytes());
+      msg.setEarliestBlockHash(value);
+      break;
+    case 6:
+      var value = /** @type {!Uint8Array} */ (reader.readBytes());
+      msg.setEarliestAppHash(value);
+      break;
+    case 7:
+      var value = /** @type {string} */ (reader.readUint64String());
+      msg.setEarliestBlockHeight(value);
+      break;
+    case 9:
+      var value = /** @type {string} */ (reader.readUint64String());
+      msg.setMaxPeerBlockHeight(value);
+      break;
+    case 10:
+      var value = /** @type {number} */ (reader.readUint32());
+      msg.setCoreChainLockedHeight(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.GetStatusResponse.GetStatusResponseV0.Chain.prototype.serializeBinary = function() {
+  var writer = new jspb.BinaryWriter();
+  proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.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.GetStatusResponse.GetStatusResponseV0.Chain} message
+ * @param {!jspb.BinaryWriter} writer
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.serializeBinaryToWriter = function(message, writer) {
+  var f = undefined;
+  f = message.getCatchingUp();
+  if (f) {
+    writer.writeBool(
+      1,
+      f
+    );
+  }
+  f = message.getLatestBlockHash_asU8();
+  if (f.length > 0) {
+    writer.writeBytes(
+      2,
+      f
+    );
+  }
+  f = message.getLatestAppHash_asU8();
+  if (f.length > 0) {
+    writer.writeBytes(
+      3,
+      f
+    );
+  }
+  f = message.getLatestBlockHeight();
+  if (parseInt(f, 10) !== 0) {
+    writer.writeUint64String(
+      4,
+      f
+    );
+  }
+  f = message.getEarliestBlockHash_asU8();
+  if (f.length > 0) {
+    writer.writeBytes(
+      5,
+      f
+    );
+  }
+  f = message.getEarliestAppHash_asU8();
+  if (f.length > 0) {
+    writer.writeBytes(
+      6,
+      f
+    );
+  }
+  f = message.getEarliestBlockHeight();
+  if (parseInt(f, 10) !== 0) {
+    writer.writeUint64String(
+      7,
+      f
+    );
+  }
+  f = message.getMaxPeerBlockHeight();
+  if (parseInt(f, 10) !== 0) {
+    writer.writeUint64String(
+      9,
+      f
+    );
+  }
+  f = /** @type {number} */ (jspb.Message.getField(message, 10));
+  if (f != null) {
+    writer.writeUint32(
+      10,
+      f
+    );
+  }
+};
+
+
+/**
+ * optional bool catching_up = 1;
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.getCatchingUp = function() {
+  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 1, false));
+};
+
+
+/**
+ * @param {boolean} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.setCatchingUp = function(value) {
+  return jspb.Message.setProto3BooleanField(this, 1, value);
+};
+
+
+/**
+ * optional bytes latest_block_hash = 2;
+ * @return {string}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.getLatestBlockHash = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
+};
+
+
+/**
+ * optional bytes latest_block_hash = 2;
+ * This is a type-conversion wrapper around `getLatestBlockHash()`
+ * @return {string}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.getLatestBlockHash_asB64 = function() {
+  return /** @type {string} */ (jspb.Message.bytesAsB64(
+      this.getLatestBlockHash()));
+};
+
+
+/**
+ * optional bytes latest_block_hash = 2;
+ * Note that Uint8Array is not supported on all browsers.
+ * @see http://caniuse.com/Uint8Array
+ * This is a type-conversion wrapper around `getLatestBlockHash()`
+ * @return {!Uint8Array}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.getLatestBlockHash_asU8 = function() {
+  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
+      this.getLatestBlockHash()));
+};
+
+
+/**
+ * @param {!(string|Uint8Array)} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.setLatestBlockHash = function(value) {
+  return jspb.Message.setProto3BytesField(this, 2, value);
+};
+
+
+/**
+ * optional bytes latest_app_hash = 3;
+ * @return {string}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.getLatestAppHash = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, ""));
+};
+
+
+/**
+ * optional bytes latest_app_hash = 3;
+ * This is a type-conversion wrapper around `getLatestAppHash()`
+ * @return {string}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.getLatestAppHash_asB64 = function() {
+  return /** @type {string} */ (jspb.Message.bytesAsB64(
+      this.getLatestAppHash()));
+};
+
+
+/**
+ * optional bytes latest_app_hash = 3;
+ * Note that Uint8Array is not supported on all browsers.
+ * @see http://caniuse.com/Uint8Array
+ * This is a type-conversion wrapper around `getLatestAppHash()`
+ * @return {!Uint8Array}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.getLatestAppHash_asU8 = function() {
+  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
+      this.getLatestAppHash()));
+};
+
+
+/**
+ * @param {!(string|Uint8Array)} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.setLatestAppHash = function(value) {
+  return jspb.Message.setProto3BytesField(this, 3, value);
+};
+
+
+/**
+ * optional uint64 latest_block_height = 4;
+ * @return {string}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.getLatestBlockHeight = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, "0"));
+};
+
+
+/**
+ * @param {string} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.setLatestBlockHeight = function(value) {
+  return jspb.Message.setProto3StringIntField(this, 4, value);
+};
+
+
+/**
+ * optional bytes earliest_block_hash = 5;
+ * @return {string}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.getEarliestBlockHash = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, ""));
+};
+
+
+/**
+ * optional bytes earliest_block_hash = 5;
+ * This is a type-conversion wrapper around `getEarliestBlockHash()`
+ * @return {string}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.getEarliestBlockHash_asB64 = function() {
+  return /** @type {string} */ (jspb.Message.bytesAsB64(
+      this.getEarliestBlockHash()));
+};
+
+
+/**
+ * optional bytes earliest_block_hash = 5;
+ * Note that Uint8Array is not supported on all browsers.
+ * @see http://caniuse.com/Uint8Array
+ * This is a type-conversion wrapper around `getEarliestBlockHash()`
+ * @return {!Uint8Array}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.getEarliestBlockHash_asU8 = function() {
+  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
+      this.getEarliestBlockHash()));
+};
+
+
+/**
+ * @param {!(string|Uint8Array)} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.setEarliestBlockHash = function(value) {
+  return jspb.Message.setProto3BytesField(this, 5, value);
+};
+
+
+/**
+ * optional bytes earliest_app_hash = 6;
+ * @return {string}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.getEarliestAppHash = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 6, ""));
+};
+
+
+/**
+ * optional bytes earliest_app_hash = 6;
+ * This is a type-conversion wrapper around `getEarliestAppHash()`
+ * @return {string}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.getEarliestAppHash_asB64 = function() {
+  return /** @type {string} */ (jspb.Message.bytesAsB64(
+      this.getEarliestAppHash()));
+};
+
+
+/**
+ * optional bytes earliest_app_hash = 6;
+ * Note that Uint8Array is not supported on all browsers.
+ * @see http://caniuse.com/Uint8Array
+ * This is a type-conversion wrapper around `getEarliestAppHash()`
+ * @return {!Uint8Array}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.getEarliestAppHash_asU8 = function() {
+  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
+      this.getEarliestAppHash()));
+};
+
+
+/**
+ * @param {!(string|Uint8Array)} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.setEarliestAppHash = function(value) {
+  return jspb.Message.setProto3BytesField(this, 6, value);
+};
+
+
+/**
+ * optional uint64 earliest_block_height = 7;
+ * @return {string}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.getEarliestBlockHeight = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 7, "0"));
+};
+
+
+/**
+ * @param {string} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.setEarliestBlockHeight = function(value) {
+  return jspb.Message.setProto3StringIntField(this, 7, value);
+};
+
+
+/**
+ * optional uint64 max_peer_block_height = 9;
+ * @return {string}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.getMaxPeerBlockHeight = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 9, "0"));
+};
+
+
+/**
+ * @param {string} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.setMaxPeerBlockHeight = function(value) {
+  return jspb.Message.setProto3StringIntField(this, 9, value);
+};
+
+
+/**
+ * optional uint32 core_chain_locked_height = 10;
+ * @return {number}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.getCoreChainLockedHeight = function() {
+  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 10, 0));
+};
+
+
+/**
+ * @param {number} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.setCoreChainLockedHeight = function(value) {
+  return jspb.Message.setField(this, 10, value);
+};
+
+
+/**
+ * Clears the field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.clearCoreChainLockedHeight = function() {
+  return jspb.Message.setField(this, 10, undefined);
+};
+
+
+/**
+ * Returns whether this field is set.
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.hasCoreChainLockedHeight = function() {
+  return jspb.Message.getField(this, 10) != 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.GetStatusResponse.GetStatusResponseV0.Network.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network.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.GetStatusResponse.GetStatusResponseV0.Network} msg The msg instance to transform.
+ * @return {!Object}
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network.toObject = function(includeInstance, msg) {
+  var f, obj = {
+    chainId: jspb.Message.getFieldWithDefault(msg, 1, ""),
+    peersCount: jspb.Message.getFieldWithDefault(msg, 2, 0),
+    listening: jspb.Message.getBooleanFieldWithDefault(msg, 3, 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.GetStatusResponse.GetStatusResponseV0.Network}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network.deserializeBinary = function(bytes) {
+  var reader = new jspb.BinaryReader(bytes);
+  var msg = new proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network;
+  return proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network.deserializeBinaryFromReader(msg, reader);
+};
+
+
+/**
+ * Deserializes binary data (in protobuf wire format) from the
+ * given reader into the given message object.
+ * @param {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network} msg The message object to deserialize into.
+ * @param {!jspb.BinaryReader} reader The BinaryReader to use.
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network.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.setChainId(value);
+      break;
+    case 2:
+      var value = /** @type {number} */ (reader.readUint32());
+      msg.setPeersCount(value);
+      break;
+    case 3:
+      var value = /** @type {boolean} */ (reader.readBool());
+      msg.setListening(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.GetStatusResponse.GetStatusResponseV0.Network.prototype.serializeBinary = function() {
+  var writer = new jspb.BinaryWriter();
+  proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network.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.GetStatusResponse.GetStatusResponseV0.Network} message
+ * @param {!jspb.BinaryWriter} writer
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network.serializeBinaryToWriter = function(message, writer) {
+  var f = undefined;
+  f = message.getChainId();
+  if (f.length > 0) {
+    writer.writeString(
+      1,
+      f
+    );
+  }
+  f = message.getPeersCount();
+  if (f !== 0) {
+    writer.writeUint32(
+      2,
+      f
+    );
+  }
+  f = message.getListening();
+  if (f) {
+    writer.writeBool(
+      3,
+      f
+    );
+  }
+};
+
+
+/**
+ * optional string chain_id = 1;
+ * @return {string}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network.prototype.getChainId = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
+};
+
+
+/**
+ * @param {string} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network.prototype.setChainId = function(value) {
+  return jspb.Message.setProto3StringField(this, 1, value);
+};
+
+
+/**
+ * optional uint32 peers_count = 2;
+ * @return {number}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network.prototype.getPeersCount = function() {
+  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
+};
+
+
+/**
+ * @param {number} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network.prototype.setPeersCount = function(value) {
+  return jspb.Message.setProto3IntField(this, 2, value);
+};
+
+
+/**
+ * optional bool listening = 3;
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network.prototype.getListening = function() {
+  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 3, false));
+};
+
+
+/**
+ * @param {boolean} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network.prototype.setListening = function(value) {
+  return jspb.Message.setProto3BooleanField(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.GetStatusResponse.GetStatusResponseV0.StateSync.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.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.GetStatusResponse.GetStatusResponseV0.StateSync} msg The msg instance to transform.
+ * @return {!Object}
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.toObject = function(includeInstance, msg) {
+  var f, obj = {
+    totalSyncedTime: jspb.Message.getFieldWithDefault(msg, 1, "0"),
+    remainingTime: jspb.Message.getFieldWithDefault(msg, 2, "0"),
+    totalSnapshots: jspb.Message.getFieldWithDefault(msg, 3, 0),
+    chunkProcessAvgTime: jspb.Message.getFieldWithDefault(msg, 4, "0"),
+    snapshotHeight: jspb.Message.getFieldWithDefault(msg, 5, "0"),
+    snapshotChunksCount: jspb.Message.getFieldWithDefault(msg, 6, "0"),
+    backfilledBlocks: jspb.Message.getFieldWithDefault(msg, 7, "0"),
+    backfillBlocksTotal: jspb.Message.getFieldWithDefault(msg, 8, "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.GetStatusResponse.GetStatusResponseV0.StateSync}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.deserializeBinary = function(bytes) {
+  var reader = new jspb.BinaryReader(bytes);
+  var msg = new proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync;
+  return proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.deserializeBinaryFromReader(msg, reader);
+};
+
+
+/**
+ * Deserializes binary data (in protobuf wire format) from the
+ * given reader into the given message object.
+ * @param {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync} msg The message object to deserialize into.
+ * @param {!jspb.BinaryReader} reader The BinaryReader to use.
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.deserializeBinaryFromReader = function(msg, reader) {
+  while (reader.nextField()) {
+    if (reader.isEndGroup()) {
+      break;
+    }
+    var field = reader.getFieldNumber();
+    switch (field) {
+    case 1:
+      var value = /** @type {string} */ (reader.readUint64String());
+      msg.setTotalSyncedTime(value);
+      break;
+    case 2:
+      var value = /** @type {string} */ (reader.readUint64String());
+      msg.setRemainingTime(value);
+      break;
+    case 3:
+      var value = /** @type {number} */ (reader.readUint32());
+      msg.setTotalSnapshots(value);
+      break;
+    case 4:
+      var value = /** @type {string} */ (reader.readUint64String());
+      msg.setChunkProcessAvgTime(value);
+      break;
+    case 5:
+      var value = /** @type {string} */ (reader.readUint64String());
+      msg.setSnapshotHeight(value);
+      break;
+    case 6:
+      var value = /** @type {string} */ (reader.readUint64String());
+      msg.setSnapshotChunksCount(value);
+      break;
+    case 7:
+      var value = /** @type {string} */ (reader.readUint64String());
+      msg.setBackfilledBlocks(value);
+      break;
+    case 8:
+      var value = /** @type {string} */ (reader.readUint64String());
+      msg.setBackfillBlocksTotal(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.GetStatusResponse.GetStatusResponseV0.StateSync.prototype.serializeBinary = function() {
+  var writer = new jspb.BinaryWriter();
+  proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.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.GetStatusResponse.GetStatusResponseV0.StateSync} message
+ * @param {!jspb.BinaryWriter} writer
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.serializeBinaryToWriter = function(message, writer) {
+  var f = undefined;
+  f = message.getTotalSyncedTime();
+  if (parseInt(f, 10) !== 0) {
+    writer.writeUint64String(
+      1,
+      f
+    );
+  }
+  f = message.getRemainingTime();
+  if (parseInt(f, 10) !== 0) {
+    writer.writeUint64String(
+      2,
+      f
+    );
+  }
+  f = message.getTotalSnapshots();
+  if (f !== 0) {
+    writer.writeUint32(
+      3,
+      f
+    );
+  }
+  f = message.getChunkProcessAvgTime();
+  if (parseInt(f, 10) !== 0) {
+    writer.writeUint64String(
+      4,
+      f
+    );
+  }
+  f = message.getSnapshotHeight();
+  if (parseInt(f, 10) !== 0) {
+    writer.writeUint64String(
+      5,
+      f
+    );
+  }
+  f = message.getSnapshotChunksCount();
+  if (parseInt(f, 10) !== 0) {
+    writer.writeUint64String(
+      6,
+      f
+    );
+  }
+  f = message.getBackfilledBlocks();
+  if (parseInt(f, 10) !== 0) {
+    writer.writeUint64String(
+      7,
+      f
+    );
+  }
+  f = message.getBackfillBlocksTotal();
+  if (parseInt(f, 10) !== 0) {
+    writer.writeUint64String(
+      8,
+      f
+    );
+  }
+};
+
+
+/**
+ * optional uint64 total_synced_time = 1;
+ * @return {string}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.prototype.getTotalSyncedTime = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "0"));
+};
+
+
+/**
+ * @param {string} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.prototype.setTotalSyncedTime = function(value) {
+  return jspb.Message.setProto3StringIntField(this, 1, value);
+};
+
+
+/**
+ * optional uint64 remaining_time = 2;
+ * @return {string}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.prototype.getRemainingTime = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "0"));
+};
+
+
+/**
+ * @param {string} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.prototype.setRemainingTime = function(value) {
+  return jspb.Message.setProto3StringIntField(this, 2, value);
+};
+
+
+/**
+ * optional uint32 total_snapshots = 3;
+ * @return {number}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.prototype.getTotalSnapshots = function() {
+  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));
+};
+
+
+/**
+ * @param {number} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.prototype.setTotalSnapshots = function(value) {
+  return jspb.Message.setProto3IntField(this, 3, value);
+};
+
+
+/**
+ * optional uint64 chunk_process_avg_time = 4;
+ * @return {string}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.prototype.getChunkProcessAvgTime = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, "0"));
+};
+
+
+/**
+ * @param {string} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.prototype.setChunkProcessAvgTime = function(value) {
+  return jspb.Message.setProto3StringIntField(this, 4, value);
+};
+
+
+/**
+ * optional uint64 snapshot_height = 5;
+ * @return {string}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.prototype.getSnapshotHeight = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, "0"));
+};
+
+
+/**
+ * @param {string} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.prototype.setSnapshotHeight = function(value) {
+  return jspb.Message.setProto3StringIntField(this, 5, value);
+};
+
+
+/**
+ * optional uint64 snapshot_chunks_count = 6;
+ * @return {string}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.prototype.getSnapshotChunksCount = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 6, "0"));
+};
+
+
+/**
+ * @param {string} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.prototype.setSnapshotChunksCount = function(value) {
+  return jspb.Message.setProto3StringIntField(this, 6, value);
+};
+
+
+/**
+ * optional uint64 backfilled_blocks = 7;
+ * @return {string}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.prototype.getBackfilledBlocks = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 7, "0"));
+};
+
+
+/**
+ * @param {string} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.prototype.setBackfilledBlocks = function(value) {
+  return jspb.Message.setProto3StringIntField(this, 7, value);
+};
+
+
+/**
+ * optional uint64 backfill_blocks_total = 8;
+ * @return {string}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.prototype.getBackfillBlocksTotal = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 8, "0"));
+};
+
+
+/**
+ * @param {string} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.prototype.setBackfillBlocksTotal = function(value) {
+  return jspb.Message.setProto3StringIntField(this, 8, value);
+};
+
+
+/**
+ * optional Version version = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.getVersion = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version, 1));
+};
+
+
+/**
+ * @param {?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.setVersion = function(value) {
+  return jspb.Message.setWrapperField(this, 1, value);
+};
+
+
+/**
+ * Clears the message field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.clearVersion = function() {
+  return this.setVersion(undefined);
+};
+
+
+/**
+ * Returns whether this field is set.
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.hasVersion = function() {
+  return jspb.Message.getField(this, 1) != null;
+};
+
+
+/**
+ * optional Node node = 2;
+ * @return {?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.getNode = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node, 2));
+};
+
+
+/**
+ * @param {?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.setNode = function(value) {
+  return jspb.Message.setWrapperField(this, 2, value);
+};
+
+
+/**
+ * Clears the message field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.clearNode = function() {
+  return this.setNode(undefined);
+};
+
+
+/**
+ * Returns whether this field is set.
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.hasNode = function() {
+  return jspb.Message.getField(this, 2) != null;
+};
+
+
+/**
+ * optional Chain chain = 3;
+ * @return {?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain}
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.getChain = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain, 3));
+};
+
+
+/**
+ * @param {?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.setChain = function(value) {
+  return jspb.Message.setWrapperField(this, 3, value);
+};
+
+
+/**
+ * Clears the message field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.clearChain = function() {
+  return this.setChain(undefined);
 };
 
 
 /**
- * Serializes the given message to binary data (in protobuf wire
- * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0} 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.GetStatusRequest.GetStatusRequestV0.serializeBinaryToWriter = function(message, writer) {
-  var f = undefined;
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.hasChain = function() {
+  return jspb.Message.getField(this, 3) != null;
 };
 
 
 /**
- * optional GetStatusRequestV0 v0 = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0}
+ * optional Network network = 4;
+ * @return {?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network}
  */
-proto.org.dash.platform.dapi.v0.GetStatusRequest.prototype.getV0 = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0, 1));
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.getNetwork = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network, 4));
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.GetStatusRequest.GetStatusRequestV0|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusRequest} returns this
+ * @param {?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0} returns this
 */
-proto.org.dash.platform.dapi.v0.GetStatusRequest.prototype.setV0 = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetStatusRequest.oneofGroups_[0], value);
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.setNetwork = function(value) {
+  return jspb.Message.setWrapperField(this, 4, value);
 };
 
 
 /**
  * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusRequest} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetStatusRequest.prototype.clearV0 = function() {
-  return this.setV0(undefined);
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.clearNetwork = function() {
+  return this.setNetwork(undefined);
 };
 
 
@@ -41056,337 +47559,150 @@ proto.org.dash.platform.dapi.v0.GetStatusRequest.prototype.clearV0 = function()
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetStatusRequest.prototype.hasV0 = function() {
-  return jspb.Message.getField(this, 1) != null;
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.hasNetwork = function() {
+  return jspb.Message.getField(this, 4) != 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 StateSync state_sync = 5;
+ * @return {?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.oneofGroups_ = [[1]];
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.getStateSync = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync, 5));
+};
+
 
 /**
- * @enum {number}
- */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.VersionCase = {
-  VERSION_NOT_SET: 0,
-  V0: 1
+ * @param {?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.setStateSync = function(value) {
+  return jspb.Message.setWrapperField(this, 5, value);
 };
 
+
 /**
- * @return {proto.org.dash.platform.dapi.v0.GetStatusResponse.VersionCase}
+ * Clears the message field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.prototype.getVersionCase = function() {
-  return /** @type {proto.org.dash.platform.dapi.v0.GetStatusResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetStatusResponse.oneofGroups_[0]));
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.clearStateSync = function() {
+  return this.setStateSync(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.GetStatusResponse.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetStatusResponse.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.hasStateSync = function() {
+  return jspb.Message.getField(this, 5) != 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.GetStatusResponse} msg The msg instance to transform.
- * @return {!Object}
- * @suppress {unusedLocalVariables} f is only used for nested messages
+ * optional Time time = 6;
+ * @return {?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.toObject = function(includeInstance, msg) {
-  var f, obj = {
-    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.toObject(includeInstance, f)
-  };
-
-  if (includeInstance) {
-    obj.$jspbMessageInstance = msg;
-  }
-  return obj;
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.getTime = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time, 6));
 };
-}
 
 
 /**
- * Deserializes binary data (in protobuf wire format).
- * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse}
- */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.deserializeBinary = function(bytes) {
-  var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetStatusResponse;
-  return proto.org.dash.platform.dapi.v0.GetStatusResponse.deserializeBinaryFromReader(msg, reader);
+ * @param {?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.setTime = function(value) {
+  return jspb.Message.setWrapperField(this, 6, value);
 };
 
 
 /**
- * Deserializes binary data (in protobuf wire format) from the
- * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetStatusResponse} msg The message object to deserialize into.
- * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse}
+ * Clears the message field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.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.GetStatusResponse.GetStatusResponseV0;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.deserializeBinaryFromReader);
-      msg.setV0(value);
-      break;
-    default:
-      reader.skipField();
-      break;
-    }
-  }
-  return msg;
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.clearTime = function() {
+  return this.setTime(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.GetStatusResponse.prototype.serializeBinary = function() {
-  var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetStatusResponse.serializeBinaryToWriter(this, writer);
-  return writer.getResultBuffer();
+proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.hasTime = function() {
+  return jspb.Message.getField(this, 6) != null;
 };
 
 
 /**
- * Serializes the given message to binary data (in protobuf wire
- * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetStatusResponse} message
- * @param {!jspb.BinaryWriter} writer
- * @suppress {unusedLocalVariables} f is only used for nested messages
+ * optional GetStatusResponseV0 v0 = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.serializeBinaryToWriter = function(message, writer) {
-  var f = undefined;
-  f = message.getV0();
-  if (f != null) {
-    writer.writeMessage(
-      1,
-      f,
-      proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.serializeBinaryToWriter
-    );
-  }
+proto.org.dash.platform.dapi.v0.GetStatusResponse.prototype.getV0 = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0, 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.GetStatusResponse.GetStatusResponseV0.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.toObject(opt_includeInstance, this);
+ * @param {?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetStatusResponse.prototype.setV0 = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetStatusResponse.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.GetStatusResponse.GetStatusResponseV0} 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.GetStatusResponse} returns this
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.toObject = function(includeInstance, msg) {
-  var f, obj = {
-    version: (f = msg.getVersion()) && proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.toObject(includeInstance, f),
-    node: (f = msg.getNode()) && proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.toObject(includeInstance, f),
-    chain: (f = msg.getChain()) && proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.toObject(includeInstance, f),
-    network: (f = msg.getNetwork()) && proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network.toObject(includeInstance, f),
-    stateSync: (f = msg.getStateSync()) && proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.toObject(includeInstance, f),
-    time: (f = msg.getTime()) && proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.toObject(includeInstance, f)
-  };
-
-  if (includeInstance) {
-    obj.$jspbMessageInstance = msg;
-  }
-  return obj;
+proto.org.dash.platform.dapi.v0.GetStatusResponse.prototype.clearV0 = function() {
+  return this.setV0(undefined);
 };
-}
 
 
 /**
- * Deserializes binary data (in protobuf wire format).
- * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0}
+ * Returns whether this field is set.
+ * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.deserializeBinary = function(bytes) {
-  var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0;
-  return proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.deserializeBinaryFromReader(msg, reader);
+proto.org.dash.platform.dapi.v0.GetStatusResponse.prototype.hasV0 = 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.GetStatusResponse.GetStatusResponseV0} msg The message object to deserialize into.
- * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0}
+ * 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.GetStatusResponse.GetStatusResponseV0.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.GetStatusResponse.GetStatusResponseV0.Version;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.deserializeBinaryFromReader);
-      msg.setVersion(value);
-      break;
-    case 2:
-      var value = new proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.deserializeBinaryFromReader);
-      msg.setNode(value);
-      break;
-    case 3:
-      var value = new proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.deserializeBinaryFromReader);
-      msg.setChain(value);
-      break;
-    case 4:
-      var value = new proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network.deserializeBinaryFromReader);
-      msg.setNetwork(value);
-      break;
-    case 5:
-      var value = new proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.deserializeBinaryFromReader);
-      msg.setStateSync(value);
-      break;
-    case 6:
-      var value = new proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.deserializeBinaryFromReader);
-      msg.setTime(value);
-      break;
-    default:
-      reader.skipField();
-      break;
-    }
-  }
-  return msg;
-};
-
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.oneofGroups_ = [[1]];
 
 /**
- * Serializes the message to binary data (in protobuf wire format).
- * @return {!Uint8Array}
+ * @enum {number}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.serializeBinary = function() {
-  var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.serializeBinaryToWriter(this, writer);
-  return writer.getResultBuffer();
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.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.GetStatusResponse.GetStatusResponseV0} message
- * @param {!jspb.BinaryWriter} writer
- * @suppress {unusedLocalVariables} f is only used for nested messages
+ * @return {proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.VersionCase}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.serializeBinaryToWriter = function(message, writer) {
-  var f = undefined;
-  f = message.getVersion();
-  if (f != null) {
-    writer.writeMessage(
-      1,
-      f,
-      proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.serializeBinaryToWriter
-    );
-  }
-  f = message.getNode();
-  if (f != null) {
-    writer.writeMessage(
-      2,
-      f,
-      proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.serializeBinaryToWriter
-    );
-  }
-  f = message.getChain();
-  if (f != null) {
-    writer.writeMessage(
-      3,
-      f,
-      proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.serializeBinaryToWriter
-    );
-  }
-  f = message.getNetwork();
-  if (f != null) {
-    writer.writeMessage(
-      4,
-      f,
-      proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network.serializeBinaryToWriter
-    );
-  }
-  f = message.getStateSync();
-  if (f != null) {
-    writer.writeMessage(
-      5,
-      f,
-      proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.serializeBinaryToWriter
-    );
-  }
-  f = message.getTime();
-  if (f != null) {
-    writer.writeMessage(
-      6,
-      f,
-      proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.serializeBinaryToWriter
-    );
-  }
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.prototype.getVersionCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.oneofGroups_[0]));
 };
 
 
 
-
-
 if (jspb.Message.GENERATE_TO_OBJECT) {
 /**
  * Creates an object representation of this proto.
@@ -41400,8 +47716,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.toObject(opt_includeInstance, this);
 };
 
 
@@ -41410,14 +47726,13 @@ proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.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.GetStatusResponse.GetStatusResponseV0.Version} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.toObject = function(includeInstance, msg) {
   var f, obj = {
-    software: (f = msg.getSoftware()) && proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.toObject(includeInstance, f),
-    protocol: (f = msg.getProtocol()) && proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.toObject(includeInstance, f)
+    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0.toObject(includeInstance, f)
   };
 
   if (includeInstance) {
@@ -41431,23 +47746,23 @@ proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.to
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version}
+ * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version;
-  return proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest;
+  return proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version}
+ * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -41455,14 +47770,9 @@ proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.de
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.deserializeBinaryFromReader);
-      msg.setSoftware(value);
-      break;
-    case 2:
-      var value = new proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.deserializeBinaryFromReader);
-      msg.setProtocol(value);
+      var value = new proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0.deserializeBinaryFromReader);
+      msg.setV0(value);
       break;
     default:
       reader.skipField();
@@ -41477,9 +47787,9 @@ proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.de
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -41487,26 +47797,18 @@ proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.pr
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getSoftware();
+  f = message.getV0();
   if (f != null) {
     writer.writeMessage(
       1,
       f,
-      proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.serializeBinaryToWriter
-    );
-  }
-  f = message.getProtocol();
-  if (f != null) {
-    writer.writeMessage(
-      2,
-      f,
-      proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0.serializeBinaryToWriter
     );
   }
 };
@@ -41528,8 +47830,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0.toObject(opt_includeInstance, this);
 };
 
 
@@ -41538,15 +47840,13 @@ proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.So
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0.toObject = function(includeInstance, msg) {
   var f, obj = {
-    dapi: jspb.Message.getFieldWithDefault(msg, 1, ""),
-    drive: jspb.Message.getFieldWithDefault(msg, 2, ""),
-    tenderdash: jspb.Message.getFieldWithDefault(msg, 3, "")
+
   };
 
   if (includeInstance) {
@@ -41560,41 +47860,29 @@ proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.So
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software}
+ * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software;
-  return proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0;
+  return proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software}
+ * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0.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.setDapi(value);
-      break;
-    case 2:
-      var value = /** @type {string} */ (reader.readString());
-      msg.setDrive(value);
-      break;
-    case 3:
-      var value = /** @type {string} */ (reader.readString());
-      msg.setTenderdash(value);
-      break;
     default:
       reader.skipField();
       break;
@@ -41608,9 +47896,9 @@ proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.So
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -41618,78 +47906,40 @@ proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.So
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software} message
- * @param {!jspb.BinaryWriter} writer
- * @suppress {unusedLocalVariables} f is only used for nested messages
- */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.serializeBinaryToWriter = function(message, writer) {
-  var f = undefined;
-  f = message.getDapi();
-  if (f.length > 0) {
-    writer.writeString(
-      1,
-      f
-    );
-  }
-  f = /** @type {string} */ (jspb.Message.getField(message, 2));
-  if (f != null) {
-    writer.writeString(
-      2,
-      f
-    );
-  }
-  f = /** @type {string} */ (jspb.Message.getField(message, 3));
-  if (f != null) {
-    writer.writeString(
-      3,
-      f
-    );
-  }
-};
-
-
-/**
- * optional string dapi = 1;
- * @return {string}
- */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.prototype.getDapi = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
-};
-
-
-/**
- * @param {string} value
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software} returns this
+ * @param {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0} message
+ * @param {!jspb.BinaryWriter} writer
+ * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.prototype.setDapi = function(value) {
-  return jspb.Message.setProto3StringField(this, 1, value);
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0.serializeBinaryToWriter = function(message, writer) {
+  var f = undefined;
 };
 
 
 /**
- * optional string drive = 2;
- * @return {string}
+ * optional GetCurrentQuorumsInfoRequestV0 v0 = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.prototype.getDrive = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.prototype.getV0 = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0, 1));
 };
 
 
 /**
- * @param {string} value
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software} returns this
- */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.prototype.setDrive = function(value) {
-  return jspb.Message.setField(this, 2, value);
+ * @param {?proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.prototype.setV0 = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.oneofGroups_[0], value);
 };
 
 
 /**
- * Clears the field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software} returns this
+ * Clears the message field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest} returns this
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.prototype.clearDrive = function() {
-  return jspb.Message.setField(this, 2, undefined);
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.prototype.clearV0 = function() {
+  return this.setV0(undefined);
 };
 
 
@@ -41697,50 +47947,39 @@ proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.So
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.prototype.hasDrive = function() {
-  return jspb.Message.getField(this, 2) != null;
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.prototype.hasV0 = function() {
+  return jspb.Message.getField(this, 1) != null;
 };
 
 
-/**
- * optional string tenderdash = 3;
- * @return {string}
- */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.prototype.getTenderdash = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, ""));
-};
-
 
 /**
- * @param {string} value
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software} 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.GetStatusResponse.GetStatusResponseV0.Version.Software.prototype.setTenderdash = function(value) {
-  return jspb.Message.setField(this, 3, value);
-};
-
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.oneofGroups_ = [[1]];
 
 /**
- * Clears the field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software} returns this
+ * @enum {number}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.prototype.clearTenderdash = function() {
-  return jspb.Message.setField(this, 3, undefined);
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.VersionCase = {
+  VERSION_NOT_SET: 0,
+  V0: 1
 };
 
-
 /**
- * Returns whether this field is set.
- * @return {boolean}
+ * @return {proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.VersionCase}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software.prototype.hasTenderdash = function() {
-  return jspb.Message.getField(this, 3) != null;
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.prototype.getVersionCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.oneofGroups_[0]));
 };
 
 
 
-
-
 if (jspb.Message.GENERATE_TO_OBJECT) {
 /**
  * Creates an object representation of this proto.
@@ -41754,8 +47993,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.toObject(opt_includeInstance, this);
 };
 
 
@@ -41764,14 +48003,13 @@ proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.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.GetStatusResponse.GetStatusResponseV0.Version.Protocol} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.toObject = function(includeInstance, msg) {
   var f, obj = {
-    tenderdash: (f = msg.getTenderdash()) && proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash.toObject(includeInstance, f),
-    drive: (f = msg.getDrive()) && proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive.toObject(includeInstance, f)
+    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.toObject(includeInstance, f)
   };
 
   if (includeInstance) {
@@ -41785,23 +48023,23 @@ proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Pr
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol}
+ * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol;
-  return proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse;
+  return proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol}
+ * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -41809,14 +48047,9 @@ proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Pr
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash.deserializeBinaryFromReader);
-      msg.setTenderdash(value);
-      break;
-    case 2:
-      var value = new proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive.deserializeBinaryFromReader);
-      msg.setDrive(value);
+      var value = new proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.deserializeBinaryFromReader);
+      msg.setV0(value);
       break;
     default:
       reader.skipField();
@@ -41831,9 +48064,9 @@ proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Pr
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -41841,26 +48074,18 @@ proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Pr
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getTenderdash();
+  f = message.getV0();
   if (f != null) {
     writer.writeMessage(
       1,
       f,
-      proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash.serializeBinaryToWriter
-    );
-  }
-  f = message.getDrive();
-  if (f != null) {
-    writer.writeMessage(
-      2,
-      f,
-      proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.serializeBinaryToWriter
     );
   }
 };
@@ -41882,8 +48107,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.toObject(opt_includeInstance, this);
 };
 
 
@@ -41892,14 +48117,15 @@ proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.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.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.toObject = function(includeInstance, msg) {
   var f, obj = {
-    p2p: jspb.Message.getFieldWithDefault(msg, 1, 0),
-    block: jspb.Message.getFieldWithDefault(msg, 2, 0)
+    proTxHash: msg.getProTxHash_asB64(),
+    nodeIp: jspb.Message.getFieldWithDefault(msg, 2, ""),
+    isBanned: jspb.Message.getBooleanFieldWithDefault(msg, 3, false)
   };
 
   if (includeInstance) {
@@ -41913,23 +48139,23 @@ proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Pr
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash}
+ * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash;
-  return proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0;
+  return proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash}
+ * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -41937,12 +48163,16 @@ proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Pr
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = /** @type {number} */ (reader.readUint32());
-      msg.setP2p(value);
+      var value = /** @type {!Uint8Array} */ (reader.readBytes());
+      msg.setProTxHash(value);
       break;
     case 2:
-      var value = /** @type {number} */ (reader.readUint32());
-      msg.setBlock(value);
+      var value = /** @type {string} */ (reader.readString());
+      msg.setNodeIp(value);
+      break;
+    case 3:
+      var value = /** @type {boolean} */ (reader.readBool());
+      msg.setIsBanned(value);
       break;
     default:
       reader.skipField();
@@ -41957,9 +48187,9 @@ proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Pr
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -41967,66 +48197,122 @@ proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Pr
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getP2p();
-  if (f !== 0) {
-    writer.writeUint32(
+  f = message.getProTxHash_asU8();
+  if (f.length > 0) {
+    writer.writeBytes(
       1,
       f
     );
   }
-  f = message.getBlock();
-  if (f !== 0) {
-    writer.writeUint32(
+  f = message.getNodeIp();
+  if (f.length > 0) {
+    writer.writeString(
       2,
       f
     );
   }
+  f = message.getIsBanned();
+  if (f) {
+    writer.writeBool(
+      3,
+      f
+    );
+  }
 };
 
 
 /**
- * optional uint32 p2p = 1;
- * @return {number}
+ * optional bytes pro_tx_hash = 1;
+ * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash.prototype.getP2p = function() {
-  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.prototype.getProTxHash = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
 };
 
 
 /**
- * @param {number} value
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash} returns this
+ * optional bytes pro_tx_hash = 1;
+ * This is a type-conversion wrapper around `getProTxHash()`
+ * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash.prototype.setP2p = function(value) {
-  return jspb.Message.setProto3IntField(this, 1, value);
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.prototype.getProTxHash_asB64 = function() {
+  return /** @type {string} */ (jspb.Message.bytesAsB64(
+      this.getProTxHash()));
 };
 
 
 /**
- * optional uint32 block = 2;
- * @return {number}
+ * 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.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash.prototype.getBlock = function() {
-  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.prototype.getProTxHash_asU8 = function() {
+  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
+      this.getProTxHash()));
 };
 
 
 /**
- * @param {number} value
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash} returns this
+ * @param {!(string|Uint8Array)} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash.prototype.setBlock = function(value) {
-  return jspb.Message.setProto3IntField(this, 2, value);
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.prototype.setProTxHash = function(value) {
+  return jspb.Message.setProto3BytesField(this, 1, value);
+};
+
+
+/**
+ * optional string node_ip = 2;
+ * @return {string}
+ */
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.prototype.getNodeIp = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
+};
+
+
+/**
+ * @param {string} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.prototype.setNodeIp = function(value) {
+  return jspb.Message.setProto3StringField(this, 2, value);
+};
+
+
+/**
+ * optional bool is_banned = 3;
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.prototype.getIsBanned = function() {
+  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 3, false));
+};
+
+
+/**
+ * @param {boolean} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.prototype.setIsBanned = function(value) {
+  return jspb.Message.setProto3BooleanField(this, 3, value);
 };
 
 
 
+/**
+ * List of repeated fields within this message type.
+ * @private {!Array}
+ * @const
+ */
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.repeatedFields_ = [3];
+
 
 
 if (jspb.Message.GENERATE_TO_OBJECT) {
@@ -42042,8 +48328,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.toObject(opt_includeInstance, this);
 };
 
 
@@ -42052,14 +48338,17 @@ proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.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.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.toObject = function(includeInstance, msg) {
   var f, obj = {
-    latest: jspb.Message.getFieldWithDefault(msg, 3, 0),
-    current: jspb.Message.getFieldWithDefault(msg, 4, 0)
+    quorumHash: msg.getQuorumHash_asB64(),
+    coreHeight: jspb.Message.getFieldWithDefault(msg, 2, 0),
+    membersList: jspb.Message.toObjectList(msg.getMembersList(),
+    proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.toObject, includeInstance),
+    thresholdPublicKey: msg.getThresholdPublicKey_asB64()
   };
 
   if (includeInstance) {
@@ -42073,36 +48362,45 @@ proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Pr
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive}
+ * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive;
-  return proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0;
+  return proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive}
+ * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
     }
     var field = reader.getFieldNumber();
     switch (field) {
-    case 3:
+    case 1:
+      var value = /** @type {!Uint8Array} */ (reader.readBytes());
+      msg.setQuorumHash(value);
+      break;
+    case 2:
       var value = /** @type {number} */ (reader.readUint32());
-      msg.setLatest(value);
+      msg.setCoreHeight(value);
+      break;
+    case 3:
+      var value = new proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.deserializeBinaryFromReader);
+      msg.addMembers(value);
       break;
     case 4:
-      var value = /** @type {number} */ (reader.readUint32());
-      msg.setCurrent(value);
+      var value = /** @type {!Uint8Array} */ (reader.readBytes());
+      msg.setThresholdPublicKey(value);
       break;
     default:
       reader.skipField();
@@ -42117,9 +48415,9 @@ proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Pr
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -42127,22 +48425,37 @@ proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Pr
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getLatest();
-  if (f !== 0) {
-    writer.writeUint32(
-      3,
+  f = message.getQuorumHash_asU8();
+  if (f.length > 0) {
+    writer.writeBytes(
+      1,
       f
     );
   }
-  f = message.getCurrent();
+  f = message.getCoreHeight();
   if (f !== 0) {
     writer.writeUint32(
+      2,
+      f
+    );
+  }
+  f = message.getMembersList();
+  if (f.length > 0) {
+    writer.writeRepeatedMessage(
+      3,
+      f,
+      proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.serializeBinaryToWriter
+    );
+  }
+  f = message.getThresholdPublicKey_asU8();
+  if (f.length > 0) {
+    writer.writeBytes(
       4,
       f
     );
@@ -42151,189 +48464,152 @@ proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Pr
 
 
 /**
- * optional uint32 latest = 3;
- * @return {number}
- */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive.prototype.getLatest = function() {
-  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));
-};
-
-
-/**
- * @param {number} value
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive} returns this
+ * optional bytes quorum_hash = 1;
+ * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive.prototype.setLatest = function(value) {
-  return jspb.Message.setProto3IntField(this, 3, value);
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.prototype.getQuorumHash = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
 };
 
 
 /**
- * optional uint32 current = 4;
- * @return {number}
+ * optional bytes quorum_hash = 1;
+ * This is a type-conversion wrapper around `getQuorumHash()`
+ * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive.prototype.getCurrent = function() {
-  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0));
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.prototype.getQuorumHash_asB64 = function() {
+  return /** @type {string} */ (jspb.Message.bytesAsB64(
+      this.getQuorumHash()));
 };
 
 
 /**
- * @param {number} value
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive} returns this
+ * optional bytes quorum_hash = 1;
+ * 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.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive.prototype.setCurrent = function(value) {
-  return jspb.Message.setProto3IntField(this, 4, value);
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.prototype.getQuorumHash_asU8 = function() {
+  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
+      this.getQuorumHash()));
 };
 
 
 /**
- * optional Tenderdash tenderdash = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash}
+ * @param {!(string|Uint8Array)} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.prototype.getTenderdash = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash, 1));
-};
-
-
-/**
- * @param {?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Tenderdash|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol} returns this
-*/
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.prototype.setTenderdash = function(value) {
-  return jspb.Message.setWrapperField(this, 1, value);
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.prototype.setQuorumHash = function(value) {
+  return jspb.Message.setProto3BytesField(this, 1, value);
 };
 
 
 /**
- * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol} returns this
+ * optional uint32 core_height = 2;
+ * @return {number}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.prototype.clearTenderdash = function() {
-  return this.setTenderdash(undefined);
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.prototype.getCoreHeight = function() {
+  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
 };
 
 
 /**
- * Returns whether this field is set.
- * @return {boolean}
+ * @param {number} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.prototype.hasTenderdash = function() {
-  return jspb.Message.getField(this, 1) != null;
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.prototype.setCoreHeight = function(value) {
+  return jspb.Message.setProto3IntField(this, 2, value);
 };
 
 
 /**
- * optional Drive drive = 2;
- * @return {?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive}
+ * repeated ValidatorV0 members = 3;
+ * @return {!Array}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.prototype.getDrive = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive, 2));
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.prototype.getMembersList = function() {
+  return /** @type{!Array} */ (
+    jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0, 3));
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.Drive|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol} returns this
+ * @param {!Array} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0} returns this
 */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.prototype.setDrive = function(value) {
-  return jspb.Message.setWrapperField(this, 2, value);
-};
-
-
-/**
- * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol} returns this
- */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.prototype.clearDrive = function() {
-  return this.setDrive(undefined);
-};
-
-
-/**
- * Returns whether this field is set.
- * @return {boolean}
- */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol.prototype.hasDrive = function() {
-  return jspb.Message.getField(this, 2) != null;
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.prototype.setMembersList = function(value) {
+  return jspb.Message.setRepeatedWrapperField(this, 3, value);
 };
 
 
 /**
- * optional Software software = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software}
+ * @param {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0=} opt_value
+ * @param {number=} opt_index
+ * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.prototype.getSoftware = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software, 1));
-};
-
-
-/**
- * @param {?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Software|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version} returns this
-*/
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.prototype.setSoftware = function(value) {
-  return jspb.Message.setWrapperField(this, 1, value);
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.prototype.addMembers = function(opt_value, opt_index) {
+  return jspb.Message.addToRepeatedWrapperField(this, 3, opt_value, proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0, opt_index);
 };
 
 
 /**
- * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version} returns this
+ * Clears the list making it empty but non-null.
+ * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.prototype.clearSoftware = function() {
-  return this.setSoftware(undefined);
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.prototype.clearMembersList = function() {
+  return this.setMembersList([]);
 };
 
 
 /**
- * Returns whether this field is set.
- * @return {boolean}
+ * optional bytes threshold_public_key = 4;
+ * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.prototype.hasSoftware = function() {
-  return jspb.Message.getField(this, 1) != null;
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.prototype.getThresholdPublicKey = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, ""));
 };
 
 
 /**
- * optional Protocol protocol = 2;
- * @return {?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol}
+ * optional bytes threshold_public_key = 4;
+ * This is a type-conversion wrapper around `getThresholdPublicKey()`
+ * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.prototype.getProtocol = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol, 2));
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.prototype.getThresholdPublicKey_asB64 = function() {
+  return /** @type {string} */ (jspb.Message.bytesAsB64(
+      this.getThresholdPublicKey()));
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.Protocol|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version} returns this
-*/
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.prototype.setProtocol = function(value) {
-  return jspb.Message.setWrapperField(this, 2, value);
+ * optional bytes threshold_public_key = 4;
+ * Note that Uint8Array is not supported on all browsers.
+ * @see http://caniuse.com/Uint8Array
+ * This is a type-conversion wrapper around `getThresholdPublicKey()`
+ * @return {!Uint8Array}
+ */
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.prototype.getThresholdPublicKey_asU8 = function() {
+  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
+      this.getThresholdPublicKey()));
 };
 
 
 /**
- * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version} returns this
+ * @param {!(string|Uint8Array)} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.prototype.clearProtocol = function() {
-  return this.setProtocol(undefined);
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.prototype.setThresholdPublicKey = function(value) {
+  return jspb.Message.setProto3BytesField(this, 4, value);
 };
 
 
+
 /**
- * Returns whether this field is set.
- * @return {boolean}
+ * List of repeated fields within this message type.
+ * @private {!Array}
+ * @const
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version.prototype.hasProtocol = function() {
-  return jspb.Message.getField(this, 2) != null;
-};
-
-
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.repeatedFields_ = [1,3];
 
 
 
@@ -42350,8 +48626,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.toObject(opt_includeInstance, this);
 };
 
 
@@ -42360,16 +48636,18 @@ proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.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.GetStatusResponse.GetStatusResponseV0.Time} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.toObject = function(includeInstance, msg) {
   var f, obj = {
-    local: jspb.Message.getFieldWithDefault(msg, 1, "0"),
-    block: jspb.Message.getFieldWithDefault(msg, 2, "0"),
-    genesis: jspb.Message.getFieldWithDefault(msg, 3, "0"),
-    epoch: jspb.Message.getFieldWithDefault(msg, 4, 0)
+    quorumHashesList: msg.getQuorumHashesList_asB64(),
+    currentQuorumHash: msg.getCurrentQuorumHash_asB64(),
+    validatorSetsList: jspb.Message.toObjectList(msg.getValidatorSetsList(),
+    proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.toObject, includeInstance),
+    lastBlockProposer: msg.getLastBlockProposer_asB64(),
+    metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f)
   };
 
   if (includeInstance) {
@@ -42383,23 +48661,23 @@ proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.toObj
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time}
+ * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time;
-  return proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0;
+  return proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time}
+ * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -42407,20 +48685,26 @@ proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.deser
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = /** @type {string} */ (reader.readUint64String());
-      msg.setLocal(value);
+      var value = /** @type {!Uint8Array} */ (reader.readBytes());
+      msg.addQuorumHashes(value);
       break;
     case 2:
-      var value = /** @type {string} */ (reader.readUint64String());
-      msg.setBlock(value);
+      var value = /** @type {!Uint8Array} */ (reader.readBytes());
+      msg.setCurrentQuorumHash(value);
       break;
     case 3:
-      var value = /** @type {string} */ (reader.readUint64String());
-      msg.setGenesis(value);
+      var value = new proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.deserializeBinaryFromReader);
+      msg.addValidatorSets(value);
       break;
     case 4:
-      var value = /** @type {number} */ (reader.readUint32());
-      msg.setEpoch(value);
+      var value = /** @type {!Uint8Array} */ (reader.readBytes());
+      msg.setLastBlockProposer(value);
+      break;
+    case 5:
+      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();
@@ -42435,9 +48719,9 @@ proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.deser
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -42445,396 +48729,456 @@ proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.proto
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getLocal();
-  if (parseInt(f, 10) !== 0) {
-    writer.writeUint64String(
+  f = message.getQuorumHashesList_asU8();
+  if (f.length > 0) {
+    writer.writeRepeatedBytes(
       1,
       f
     );
   }
-  f = /** @type {string} */ (jspb.Message.getField(message, 2));
-  if (f != null) {
-    writer.writeUint64String(
+  f = message.getCurrentQuorumHash_asU8();
+  if (f.length > 0) {
+    writer.writeBytes(
       2,
       f
     );
   }
-  f = /** @type {string} */ (jspb.Message.getField(message, 3));
-  if (f != null) {
-    writer.writeUint64String(
+  f = message.getValidatorSetsList();
+  if (f.length > 0) {
+    writer.writeRepeatedMessage(
       3,
-      f
+      f,
+      proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.serializeBinaryToWriter
     );
   }
-  f = /** @type {number} */ (jspb.Message.getField(message, 4));
-  if (f != null) {
-    writer.writeUint32(
+  f = message.getLastBlockProposer_asU8();
+  if (f.length > 0) {
+    writer.writeBytes(
       4,
       f
     );
   }
+  f = message.getMetadata();
+  if (f != null) {
+    writer.writeMessage(
+      5,
+      f,
+      proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter
+    );
+  }
 };
 
 
 /**
- * optional uint64 local = 1;
- * @return {string}
+ * repeated bytes quorum_hashes = 1;
+ * @return {!Array}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.prototype.getLocal = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "0"));
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.getQuorumHashesList = function() {
+  return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1));
 };
 
 
 /**
- * @param {string} value
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time} returns this
+ * repeated bytes quorum_hashes = 1;
+ * This is a type-conversion wrapper around `getQuorumHashesList()`
+ * @return {!Array}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.prototype.setLocal = function(value) {
-  return jspb.Message.setProto3StringIntField(this, 1, value);
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.getQuorumHashesList_asB64 = function() {
+  return /** @type {!Array} */ (jspb.Message.bytesListAsB64(
+      this.getQuorumHashesList()));
 };
 
 
 /**
- * optional uint64 block = 2;
- * @return {string}
+ * repeated bytes quorum_hashes = 1;
+ * Note that Uint8Array is not supported on all browsers.
+ * @see http://caniuse.com/Uint8Array
+ * This is a type-conversion wrapper around `getQuorumHashesList()`
+ * @return {!Array}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.prototype.getBlock = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "0"));
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.getQuorumHashesList_asU8 = function() {
+  return /** @type {!Array} */ (jspb.Message.bytesListAsU8(
+      this.getQuorumHashesList()));
 };
 
 
 /**
- * @param {string} value
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time} returns this
+ * @param {!(Array|Array)} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.prototype.setBlock = function(value) {
-  return jspb.Message.setField(this, 2, value);
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.setQuorumHashesList = function(value) {
+  return jspb.Message.setField(this, 1, value || []);
 };
 
 
 /**
- * Clears the field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time} returns this
+ * @param {!(string|Uint8Array)} value
+ * @param {number=} opt_index
+ * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.prototype.clearBlock = function() {
-  return jspb.Message.setField(this, 2, undefined);
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.addQuorumHashes = function(value, opt_index) {
+  return jspb.Message.addToRepeatedField(this, 1, value, 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.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.prototype.hasBlock = function() {
-  return jspb.Message.getField(this, 2) != null;
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.clearQuorumHashesList = function() {
+  return this.setQuorumHashesList([]);
 };
 
 
 /**
- * optional uint64 genesis = 3;
+ * optional bytes current_quorum_hash = 2;
  * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.prototype.getGenesis = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "0"));
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.getCurrentQuorumHash = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
 };
 
 
 /**
- * @param {string} value
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time} returns this
+ * optional bytes current_quorum_hash = 2;
+ * This is a type-conversion wrapper around `getCurrentQuorumHash()`
+ * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.prototype.setGenesis = function(value) {
-  return jspb.Message.setField(this, 3, value);
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.getCurrentQuorumHash_asB64 = function() {
+  return /** @type {string} */ (jspb.Message.bytesAsB64(
+      this.getCurrentQuorumHash()));
 };
 
 
 /**
- * Clears the field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time} returns this
+ * optional bytes current_quorum_hash = 2;
+ * Note that Uint8Array is not supported on all browsers.
+ * @see http://caniuse.com/Uint8Array
+ * This is a type-conversion wrapper around `getCurrentQuorumHash()`
+ * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.prototype.clearGenesis = function() {
-  return jspb.Message.setField(this, 3, undefined);
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.getCurrentQuorumHash_asU8 = function() {
+  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
+      this.getCurrentQuorumHash()));
 };
 
 
 /**
- * Returns whether this field is set.
- * @return {boolean}
+ * @param {!(string|Uint8Array)} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.prototype.hasGenesis = function() {
-  return jspb.Message.getField(this, 3) != null;
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.setCurrentQuorumHash = function(value) {
+  return jspb.Message.setProto3BytesField(this, 2, value);
 };
 
 
 /**
- * optional uint32 epoch = 4;
- * @return {number}
+ * repeated ValidatorSetV0 validator_sets = 3;
+ * @return {!Array}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.prototype.getEpoch = function() {
-  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0));
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.getValidatorSetsList = function() {
+  return /** @type{!Array} */ (
+    jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0, 3));
 };
 
 
 /**
- * @param {number} value
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time} returns this
+ * @param {!Array} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.setValidatorSetsList = function(value) {
+  return jspb.Message.setRepeatedWrapperField(this, 3, value);
+};
+
+
+/**
+ * @param {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0=} opt_value
+ * @param {number=} opt_index
+ * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.prototype.setEpoch = function(value) {
-  return jspb.Message.setField(this, 4, value);
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.addValidatorSets = function(opt_value, opt_index) {
+  return jspb.Message.addToRepeatedWrapperField(this, 3, opt_value, proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0, opt_index);
 };
 
 
 /**
- * Clears the field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time} returns this
+ * Clears the list making it empty but non-null.
+ * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.prototype.clearEpoch = function() {
-  return jspb.Message.setField(this, 4, undefined);
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.clearValidatorSetsList = function() {
+  return this.setValidatorSetsList([]);
 };
 
 
 /**
- * Returns whether this field is set.
- * @return {boolean}
+ * optional bytes last_block_proposer = 4;
+ * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time.prototype.hasEpoch = function() {
-  return jspb.Message.getField(this, 4) != null;
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.getLastBlockProposer = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, ""));
 };
 
 
+/**
+ * optional bytes last_block_proposer = 4;
+ * This is a type-conversion wrapper around `getLastBlockProposer()`
+ * @return {string}
+ */
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.getLastBlockProposer_asB64 = function() {
+  return /** @type {string} */ (jspb.Message.bytesAsB64(
+      this.getLastBlockProposer()));
+};
 
 
+/**
+ * optional bytes last_block_proposer = 4;
+ * Note that Uint8Array is not supported on all browsers.
+ * @see http://caniuse.com/Uint8Array
+ * This is a type-conversion wrapper around `getLastBlockProposer()`
+ * @return {!Uint8Array}
+ */
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.getLastBlockProposer_asU8 = function() {
+  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
+      this.getLastBlockProposer()));
+};
+
 
-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 {!(string|Uint8Array)} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.setLastBlockProposer = function(value) {
+  return jspb.Message.setProto3BytesField(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.GetStatusResponse.GetStatusResponseV0.Node} msg The msg instance to transform.
- * @return {!Object}
- * @suppress {unusedLocalVariables} f is only used for nested messages
+ * optional ResponseMetadata metadata = 5;
+ * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.toObject = function(includeInstance, msg) {
-  var f, obj = {
-    id: msg.getId_asB64(),
-    proTxHash: msg.getProTxHash_asB64()
-  };
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.getMetadata = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 5));
+};
 
-  if (includeInstance) {
-    obj.$jspbMessageInstance = msg;
-  }
-  return obj;
+
+/**
+ * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.setMetadata = function(value) {
+  return jspb.Message.setWrapperField(this, 5, value);
 };
-}
 
 
 /**
- * Deserializes binary data (in protobuf wire format).
- * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node}
+ * Clears the message field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.deserializeBinary = function(bytes) {
-  var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node;
-  return proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.deserializeBinaryFromReader(msg, reader);
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.clearMetadata = function() {
+  return this.setMetadata(undefined);
 };
 
 
 /**
- * Deserializes binary data (in protobuf wire format) from the
- * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node} msg The message object to deserialize into.
- * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node}
+ * Returns whether this field is set.
+ * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.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 {!Uint8Array} */ (reader.readBytes());
-      msg.setProTxHash(value);
-      break;
-    default:
-      reader.skipField();
-      break;
-    }
-  }
-  return msg;
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.hasMetadata = function() {
+  return jspb.Message.getField(this, 5) != null;
 };
 
 
 /**
- * Serializes the message to binary data (in protobuf wire format).
- * @return {!Uint8Array}
+ * optional GetCurrentQuorumsInfoResponseV0 v0 = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.prototype.serializeBinary = function() {
-  var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.serializeBinaryToWriter(this, writer);
-  return writer.getResultBuffer();
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.prototype.getV0 = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0, 1));
 };
 
 
 /**
- * Serializes the given message to binary data (in protobuf wire
- * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node} message
- * @param {!jspb.BinaryWriter} writer
- * @suppress {unusedLocalVariables} f is only used for nested messages
- */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.serializeBinaryToWriter = function(message, writer) {
-  var f = undefined;
-  f = message.getId_asU8();
-  if (f.length > 0) {
-    writer.writeBytes(
-      1,
-      f
-    );
-  }
-  f = /** @type {!(string|Uint8Array)} */ (jspb.Message.getField(message, 2));
-  if (f != null) {
-    writer.writeBytes(
-      2,
-      f
-    );
-  }
+ * @param {?proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.prototype.setV0 = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.oneofGroups_[0], value);
 };
 
 
 /**
- * optional bytes id = 1;
- * @return {string}
+ * Clears the message field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse} returns this
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.prototype.getId = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.prototype.clearV0 = function() {
+  return this.setV0(undefined);
 };
 
 
 /**
- * optional bytes id = 1;
- * This is a type-conversion wrapper around `getId()`
- * @return {string}
+ * Returns whether this field is set.
+ * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.prototype.getId_asB64 = function() {
-  return /** @type {string} */ (jspb.Message.bytesAsB64(
-      this.getId()));
+proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.prototype.hasV0 = function() {
+  return jspb.Message.getField(this, 1) != null;
 };
 
 
+
 /**
- * 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}
+ * 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.GetStatusResponse.GetStatusResponseV0.Node.prototype.getId_asU8 = function() {
-  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
-      this.getId()));
-};
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.oneofGroups_ = [[1]];
 
+/**
+ * @enum {number}
+ */
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.VersionCase = {
+  VERSION_NOT_SET: 0,
+  V0: 1
+};
 
 /**
- * @param {!(string|Uint8Array)} value
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node} returns this
+ * @return {proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.VersionCase}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.prototype.setId = function(value) {
-  return jspb.Message.setProto3BytesField(this, 1, value);
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.prototype.getVersionCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.oneofGroups_[0]));
 };
 
 
+
+if (jspb.Message.GENERATE_TO_OBJECT) {
 /**
- * optional bytes pro_tx_hash = 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.GetStatusResponse.GetStatusResponseV0.Node.prototype.getProTxHash = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.toObject(opt_includeInstance, this);
 };
 
 
 /**
- * optional bytes pro_tx_hash = 2;
- * This is a type-conversion wrapper around `getProTxHash()`
- * @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.GetIdentityTokenBalancesRequest} msg The msg instance to transform.
+ * @return {!Object}
+ * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.prototype.getProTxHash_asB64 = function() {
-  return /** @type {string} */ (jspb.Message.bytesAsB64(
-      this.getProTxHash()));
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.toObject = function(includeInstance, msg) {
+  var f, obj = {
+    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.toObject(includeInstance, f)
+  };
+
+  if (includeInstance) {
+    obj.$jspbMessageInstance = msg;
+  }
+  return obj;
 };
+}
 
 
 /**
- * optional bytes pro_tx_hash = 2;
- * Note that Uint8Array is not supported on all browsers.
- * @see http://caniuse.com/Uint8Array
- * This is a type-conversion wrapper around `getProTxHash()`
- * @return {!Uint8Array}
+ * Deserializes binary data (in protobuf wire format).
+ * @param {jspb.ByteSource} bytes The bytes to deserialize.
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.prototype.getProTxHash_asU8 = function() {
-  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
-      this.getProTxHash()));
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.deserializeBinary = function(bytes) {
+  var reader = new jspb.BinaryReader(bytes);
+  var msg = new proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest;
+  return proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
- * @param {!(string|Uint8Array)} value
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node} 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.GetIdentityTokenBalancesRequest} msg The message object to deserialize into.
+ * @param {!jspb.BinaryReader} reader The BinaryReader to use.
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.prototype.setProTxHash = function(value) {
-  return jspb.Message.setField(this, 2, value);
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.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.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.deserializeBinaryFromReader);
+      msg.setV0(value);
+      break;
+    default:
+      reader.skipField();
+      break;
+    }
+  }
+  return msg;
 };
 
 
 /**
- * Clears the field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node} returns this
+ * Serializes the message to binary data (in protobuf wire format).
+ * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.prototype.clearProTxHash = function() {
-  return jspb.Message.setField(this, 2, undefined);
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.prototype.serializeBinary = function() {
+  var writer = new jspb.BinaryWriter();
+  proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.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.GetIdentityTokenBalancesRequest} message
+ * @param {!jspb.BinaryWriter} writer
+ * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node.prototype.hasProTxHash = function() {
-  return jspb.Message.getField(this, 2) != null;
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.serializeBinaryToWriter = function(message, writer) {
+  var f = undefined;
+  f = message.getV0();
+  if (f != null) {
+    writer.writeMessage(
+      1,
+      f,
+      proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.serializeBinaryToWriter
+    );
+  }
 };
 
 
 
+/**
+ * List of repeated fields within this message type.
+ * @private {!Array}
+ * @const
+ */
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.repeatedFields_ = [2];
+
 
 
 if (jspb.Message.GENERATE_TO_OBJECT) {
@@ -42850,8 +49194,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.toObject(opt_includeInstance, this);
 };
 
 
@@ -42860,21 +49204,15 @@ proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.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.GetStatusResponse.GetStatusResponseV0.Chain} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.toObject = function(includeInstance, msg) {
   var f, obj = {
-    catchingUp: jspb.Message.getBooleanFieldWithDefault(msg, 1, false),
-    latestBlockHash: msg.getLatestBlockHash_asB64(),
-    latestAppHash: msg.getLatestAppHash_asB64(),
-    latestBlockHeight: jspb.Message.getFieldWithDefault(msg, 4, "0"),
-    earliestBlockHash: msg.getEarliestBlockHash_asB64(),
-    earliestAppHash: msg.getEarliestAppHash_asB64(),
-    earliestBlockHeight: jspb.Message.getFieldWithDefault(msg, 7, "0"),
-    maxPeerBlockHeight: jspb.Message.getFieldWithDefault(msg, 9, "0"),
-    coreChainLockedHeight: jspb.Message.getFieldWithDefault(msg, 10, 0)
+    identityId: msg.getIdentityId_asB64(),
+    tokenIdsList: msg.getTokenIdsList_asB64(),
+    prove: jspb.Message.getBooleanFieldWithDefault(msg, 3, false)
   };
 
   if (includeInstance) {
@@ -42888,23 +49226,23 @@ proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.toOb
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain}
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain;
-  return proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0;
+  return proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain}
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -42912,40 +49250,16 @@ proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.dese
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = /** @type {boolean} */ (reader.readBool());
-      msg.setCatchingUp(value);
+      var value = /** @type {!Uint8Array} */ (reader.readBytes());
+      msg.setIdentityId(value);
       break;
     case 2:
       var value = /** @type {!Uint8Array} */ (reader.readBytes());
-      msg.setLatestBlockHash(value);
+      msg.addTokenIds(value);
       break;
     case 3:
-      var value = /** @type {!Uint8Array} */ (reader.readBytes());
-      msg.setLatestAppHash(value);
-      break;
-    case 4:
-      var value = /** @type {string} */ (reader.readUint64String());
-      msg.setLatestBlockHeight(value);
-      break;
-    case 5:
-      var value = /** @type {!Uint8Array} */ (reader.readBytes());
-      msg.setEarliestBlockHash(value);
-      break;
-    case 6:
-      var value = /** @type {!Uint8Array} */ (reader.readBytes());
-      msg.setEarliestAppHash(value);
-      break;
-    case 7:
-      var value = /** @type {string} */ (reader.readUint64String());
-      msg.setEarliestBlockHeight(value);
-      break;
-    case 9:
-      var value = /** @type {string} */ (reader.readUint64String());
-      msg.setMaxPeerBlockHeight(value);
-      break;
-    case 10:
-      var value = /** @type {number} */ (reader.readUint32());
-      msg.setCoreChainLockedHeight(value);
+      var value = /** @type {boolean} */ (reader.readBool());
+      msg.setProve(value);
       break;
     default:
       reader.skipField();
@@ -42960,9 +49274,9 @@ proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.dese
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -42970,357 +49284,362 @@ proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prot
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getCatchingUp();
-  if (f) {
-    writer.writeBool(
+  f = message.getIdentityId_asU8();
+  if (f.length > 0) {
+    writer.writeBytes(
       1,
       f
     );
   }
-  f = message.getLatestBlockHash_asU8();
+  f = message.getTokenIdsList_asU8();
   if (f.length > 0) {
-    writer.writeBytes(
+    writer.writeRepeatedBytes(
       2,
       f
     );
   }
-  f = message.getLatestAppHash_asU8();
-  if (f.length > 0) {
-    writer.writeBytes(
+  f = message.getProve();
+  if (f) {
+    writer.writeBool(
       3,
       f
     );
   }
-  f = message.getLatestBlockHeight();
-  if (parseInt(f, 10) !== 0) {
-    writer.writeUint64String(
-      4,
-      f
-    );
-  }
-  f = message.getEarliestBlockHash_asU8();
-  if (f.length > 0) {
-    writer.writeBytes(
-      5,
-      f
-    );
-  }
-  f = message.getEarliestAppHash_asU8();
-  if (f.length > 0) {
-    writer.writeBytes(
-      6,
-      f
-    );
-  }
-  f = message.getEarliestBlockHeight();
-  if (parseInt(f, 10) !== 0) {
-    writer.writeUint64String(
-      7,
-      f
-    );
-  }
-  f = message.getMaxPeerBlockHeight();
-  if (parseInt(f, 10) !== 0) {
-    writer.writeUint64String(
-      9,
-      f
-    );
-  }
-  f = /** @type {number} */ (jspb.Message.getField(message, 10));
-  if (f != null) {
-    writer.writeUint32(
-      10,
-      f
-    );
-  }
-};
-
-
-/**
- * optional bool catching_up = 1;
- * @return {boolean}
- */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.getCatchingUp = function() {
-  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 1, false));
-};
-
-
-/**
- * @param {boolean} value
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain} returns this
- */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.setCatchingUp = function(value) {
-  return jspb.Message.setProto3BooleanField(this, 1, value);
 };
 
 
 /**
- * optional bytes latest_block_hash = 2;
+ * optional bytes identity_id = 1;
  * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.getLatestBlockHash = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.prototype.getIdentityId = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
 };
 
 
 /**
- * optional bytes latest_block_hash = 2;
- * This is a type-conversion wrapper around `getLatestBlockHash()`
+ * optional bytes identity_id = 1;
+ * This is a type-conversion wrapper around `getIdentityId()`
  * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.getLatestBlockHash_asB64 = function() {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.prototype.getIdentityId_asB64 = function() {
   return /** @type {string} */ (jspb.Message.bytesAsB64(
-      this.getLatestBlockHash()));
+      this.getIdentityId()));
 };
 
 
 /**
- * optional bytes latest_block_hash = 2;
+ * 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 `getLatestBlockHash()`
+ * This is a type-conversion wrapper around `getIdentityId()`
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.getLatestBlockHash_asU8 = function() {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.prototype.getIdentityId_asU8 = function() {
   return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
-      this.getLatestBlockHash()));
+      this.getIdentityId()));
 };
 
 
 /**
  * @param {!(string|Uint8Array)} value
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.setLatestBlockHash = function(value) {
-  return jspb.Message.setProto3BytesField(this, 2, value);
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.prototype.setIdentityId = function(value) {
+  return jspb.Message.setProto3BytesField(this, 1, value);
 };
 
 
 /**
- * optional bytes latest_app_hash = 3;
- * @return {string}
+ * repeated bytes token_ids = 2;
+ * @return {!Array}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.getLatestAppHash = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, ""));
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.prototype.getTokenIdsList = function() {
+  return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 2));
 };
 
 
 /**
- * optional bytes latest_app_hash = 3;
- * This is a type-conversion wrapper around `getLatestAppHash()`
- * @return {string}
+ * repeated bytes token_ids = 2;
+ * This is a type-conversion wrapper around `getTokenIdsList()`
+ * @return {!Array}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.getLatestAppHash_asB64 = function() {
-  return /** @type {string} */ (jspb.Message.bytesAsB64(
-      this.getLatestAppHash()));
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.prototype.getTokenIdsList_asB64 = function() {
+  return /** @type {!Array} */ (jspb.Message.bytesListAsB64(
+      this.getTokenIdsList()));
 };
 
 
 /**
- * optional bytes latest_app_hash = 3;
+ * repeated bytes token_ids = 2;
  * Note that Uint8Array is not supported on all browsers.
  * @see http://caniuse.com/Uint8Array
- * This is a type-conversion wrapper around `getLatestAppHash()`
- * @return {!Uint8Array}
+ * This is a type-conversion wrapper around `getTokenIdsList()`
+ * @return {!Array}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.getLatestAppHash_asU8 = function() {
-  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
-      this.getLatestAppHash()));
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.prototype.getTokenIdsList_asU8 = function() {
+  return /** @type {!Array} */ (jspb.Message.bytesListAsU8(
+      this.getTokenIdsList()));
 };
 
 
 /**
- * @param {!(string|Uint8Array)} value
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain} returns this
+ * @param {!(Array|Array)} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.setLatestAppHash = function(value) {
-  return jspb.Message.setProto3BytesField(this, 3, value);
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.prototype.setTokenIdsList = function(value) {
+  return jspb.Message.setField(this, 2, value || []);
 };
 
 
 /**
- * optional uint64 latest_block_height = 4;
- * @return {string}
+ * @param {!(string|Uint8Array)} value
+ * @param {number=} opt_index
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.getLatestBlockHeight = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, "0"));
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.prototype.addTokenIds = function(value, opt_index) {
+  return jspb.Message.addToRepeatedField(this, 2, value, opt_index);
 };
 
 
 /**
- * @param {string} value
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain} returns this
+ * Clears the list making it empty but non-null.
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.setLatestBlockHeight = function(value) {
-  return jspb.Message.setProto3StringIntField(this, 4, value);
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.prototype.clearTokenIdsList = function() {
+  return this.setTokenIdsList([]);
 };
 
 
 /**
- * optional bytes earliest_block_hash = 5;
- * @return {string}
+ * optional bool prove = 3;
+ * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.getEarliestBlockHash = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, ""));
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.prototype.getProve = function() {
+  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 3, false));
 };
 
 
 /**
- * optional bytes earliest_block_hash = 5;
- * This is a type-conversion wrapper around `getEarliestBlockHash()`
- * @return {string}
+ * @param {boolean} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.getEarliestBlockHash_asB64 = function() {
-  return /** @type {string} */ (jspb.Message.bytesAsB64(
-      this.getEarliestBlockHash()));
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.prototype.setProve = function(value) {
+  return jspb.Message.setProto3BooleanField(this, 3, value);
 };
 
 
 /**
- * optional bytes earliest_block_hash = 5;
- * Note that Uint8Array is not supported on all browsers.
- * @see http://caniuse.com/Uint8Array
- * This is a type-conversion wrapper around `getEarliestBlockHash()`
- * @return {!Uint8Array}
+ * optional GetIdentityTokenBalancesRequestV0 v0 = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.getEarliestBlockHash_asU8 = function() {
-  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
-      this.getEarliestBlockHash()));
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.prototype.getV0 = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0, 1));
 };
 
 
 /**
- * @param {!(string|Uint8Array)} value
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain} returns this
- */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.setEarliestBlockHash = function(value) {
-  return jspb.Message.setProto3BytesField(this, 5, value);
+ * @param {?proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.prototype.setV0 = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.oneofGroups_[0], value);
 };
 
 
 /**
- * optional bytes earliest_app_hash = 6;
- * @return {string}
+ * Clears the message field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest} returns this
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.getEarliestAppHash = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 6, ""));
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.prototype.clearV0 = function() {
+  return this.setV0(undefined);
 };
 
 
 /**
- * optional bytes earliest_app_hash = 6;
- * This is a type-conversion wrapper around `getEarliestAppHash()`
- * @return {string}
+ * Returns whether this field is set.
+ * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.getEarliestAppHash_asB64 = function() {
-  return /** @type {string} */ (jspb.Message.bytesAsB64(
-      this.getEarliestAppHash()));
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.prototype.hasV0 = function() {
+  return jspb.Message.getField(this, 1) != null;
 };
 
 
+
 /**
- * optional bytes earliest_app_hash = 6;
- * Note that Uint8Array is not supported on all browsers.
- * @see http://caniuse.com/Uint8Array
- * This is a type-conversion wrapper around `getEarliestAppHash()`
- * @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.GetStatusResponse.GetStatusResponseV0.Chain.prototype.getEarliestAppHash_asU8 = function() {
-  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
-      this.getEarliestAppHash()));
-};
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.oneofGroups_ = [[1]];
 
+/**
+ * @enum {number}
+ */
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.VersionCase = {
+  VERSION_NOT_SET: 0,
+  V0: 1
+};
 
 /**
- * @param {!(string|Uint8Array)} value
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain} returns this
+ * @return {proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.VersionCase}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.setEarliestAppHash = function(value) {
-  return jspb.Message.setProto3BytesField(this, 6, value);
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.prototype.getVersionCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.oneofGroups_[0]));
 };
 
 
+
+if (jspb.Message.GENERATE_TO_OBJECT) {
 /**
- * optional uint64 earliest_block_height = 7;
- * @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.GetStatusResponse.GetStatusResponseV0.Chain.prototype.getEarliestBlockHeight = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 7, "0"));
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.toObject(opt_includeInstance, this);
 };
 
 
 /**
- * @param {string} value
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain} 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.GetIdentityTokenBalancesResponse} msg The msg instance to transform.
+ * @return {!Object}
+ * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.setEarliestBlockHeight = function(value) {
-  return jspb.Message.setProto3StringIntField(this, 7, value);
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.toObject = function(includeInstance, msg) {
+  var f, obj = {
+    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.toObject(includeInstance, f)
+  };
+
+  if (includeInstance) {
+    obj.$jspbMessageInstance = msg;
+  }
+  return obj;
 };
+}
 
 
 /**
- * optional uint64 max_peer_block_height = 9;
- * @return {string}
+ * Deserializes binary data (in protobuf wire format).
+ * @param {jspb.ByteSource} bytes The bytes to deserialize.
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.getMaxPeerBlockHeight = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 9, "0"));
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.deserializeBinary = function(bytes) {
+  var reader = new jspb.BinaryReader(bytes);
+  var msg = new proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse;
+  return proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
- * @param {string} value
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain} 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.GetIdentityTokenBalancesResponse} msg The message object to deserialize into.
+ * @param {!jspb.BinaryReader} reader The BinaryReader to use.
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.setMaxPeerBlockHeight = function(value) {
-  return jspb.Message.setProto3StringIntField(this, 9, value);
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.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.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.deserializeBinaryFromReader);
+      msg.setV0(value);
+      break;
+    default:
+      reader.skipField();
+      break;
+    }
+  }
+  return msg;
 };
 
 
 /**
- * optional uint32 core_chain_locked_height = 10;
- * @return {number}
+ * Serializes the message to binary data (in protobuf wire format).
+ * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.getCoreChainLockedHeight = function() {
-  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 10, 0));
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.prototype.serializeBinary = function() {
+  var writer = new jspb.BinaryWriter();
+  proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.serializeBinaryToWriter(this, writer);
+  return writer.getResultBuffer();
 };
 
 
 /**
- * @param {number} value
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain} 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.GetIdentityTokenBalancesResponse} message
+ * @param {!jspb.BinaryWriter} writer
+ * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.setCoreChainLockedHeight = function(value) {
-  return jspb.Message.setField(this, 10, value);
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.serializeBinaryToWriter = function(message, writer) {
+  var f = undefined;
+  f = message.getV0();
+  if (f != null) {
+    writer.writeMessage(
+      1,
+      f,
+      proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.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.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.oneofGroups_ = [[1,2]];
+
 /**
- * Clears the field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain} returns this
+ * @enum {number}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.clearCoreChainLockedHeight = function() {
-  return jspb.Message.setField(this, 10, undefined);
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.ResultCase = {
+  RESULT_NOT_SET: 0,
+  TOKEN_BALANCES: 1,
+  PROOF: 2
 };
 
-
 /**
- * Returns whether this field is set.
- * @return {boolean}
+ * @return {proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.ResultCase}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain.prototype.hasCoreChainLockedHeight = function() {
-  return jspb.Message.getField(this, 10) != null;
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.prototype.getResultCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.oneofGroups_[0]));
 };
 
 
 
-
-
 if (jspb.Message.GENERATE_TO_OBJECT) {
 /**
  * Creates an object representation of this proto.
@@ -43334,8 +49653,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.toObject(opt_includeInstance, this);
 };
 
 
@@ -43344,15 +49663,15 @@ proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network.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.GetStatusResponse.GetStatusResponseV0.Network} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.toObject = function(includeInstance, msg) {
   var f, obj = {
-    chainId: jspb.Message.getFieldWithDefault(msg, 1, ""),
-    peersCount: jspb.Message.getFieldWithDefault(msg, 2, 0),
-    listening: jspb.Message.getBooleanFieldWithDefault(msg, 3, false)
+    tokenBalances: (f = msg.getTokenBalances()) && proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances.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) {
@@ -43366,23 +49685,23 @@ proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network.to
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network}
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network;
-  return proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0;
+  return proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network}
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -43390,16 +49709,19 @@ proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network.de
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = /** @type {string} */ (reader.readString());
-      msg.setChainId(value);
+      var value = new proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances.deserializeBinaryFromReader);
+      msg.setTokenBalances(value);
       break;
     case 2:
-      var value = /** @type {number} */ (reader.readUint32());
-      msg.setPeersCount(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 {boolean} */ (reader.readBool());
-      msg.setListening(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();
@@ -43414,9 +49736,9 @@ proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network.de
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -43424,90 +49746,39 @@ proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network.pr
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getChainId();
-  if (f.length > 0) {
-    writer.writeString(
+  f = message.getTokenBalances();
+  if (f != null) {
+    writer.writeMessage(
       1,
-      f
+      f,
+      proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances.serializeBinaryToWriter
     );
   }
-  f = message.getPeersCount();
-  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.getListening();
-  if (f) {
-    writer.writeBool(
+  f = message.getMetadata();
+  if (f != null) {
+    writer.writeMessage(
       3,
-      f
+      f,
+      proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter
     );
   }
 };
 
 
-/**
- * optional string chain_id = 1;
- * @return {string}
- */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network.prototype.getChainId = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
-};
-
-
-/**
- * @param {string} value
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network} returns this
- */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network.prototype.setChainId = function(value) {
-  return jspb.Message.setProto3StringField(this, 1, value);
-};
-
-
-/**
- * optional uint32 peers_count = 2;
- * @return {number}
- */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network.prototype.getPeersCount = function() {
-  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
-};
-
-
-/**
- * @param {number} value
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network} returns this
- */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network.prototype.setPeersCount = function(value) {
-  return jspb.Message.setProto3IntField(this, 2, value);
-};
-
-
-/**
- * optional bool listening = 3;
- * @return {boolean}
- */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network.prototype.getListening = function() {
-  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 3, false));
-};
-
-
-/**
- * @param {boolean} value
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network} returns this
- */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network.prototype.setListening = function(value) {
-  return jspb.Message.setProto3BooleanField(this, 3, value);
-};
-
-
 
 
 
@@ -43524,8 +49795,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry.toObject(opt_includeInstance, this);
 };
 
 
@@ -43534,20 +49805,14 @@ proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry.toObject = function(includeInstance, msg) {
   var f, obj = {
-    totalSyncedTime: jspb.Message.getFieldWithDefault(msg, 1, "0"),
-    remainingTime: jspb.Message.getFieldWithDefault(msg, 2, "0"),
-    totalSnapshots: jspb.Message.getFieldWithDefault(msg, 3, 0),
-    chunkProcessAvgTime: jspb.Message.getFieldWithDefault(msg, 4, "0"),
-    snapshotHeight: jspb.Message.getFieldWithDefault(msg, 5, "0"),
-    snapshotChunksCount: jspb.Message.getFieldWithDefault(msg, 6, "0"),
-    backfilledBlocks: jspb.Message.getFieldWithDefault(msg, 7, "0"),
-    backfillBlocksTotal: jspb.Message.getFieldWithDefault(msg, 8, "0")
+    tokenId: msg.getTokenId_asB64(),
+    balance: jspb.Message.getFieldWithDefault(msg, 2, 0)
   };
 
   if (includeInstance) {
@@ -43561,23 +49826,23 @@ proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync}
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync;
-  return proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry;
+  return proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync}
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -43585,36 +49850,12 @@ proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = /** @type {string} */ (reader.readUint64String());
-      msg.setTotalSyncedTime(value);
+      var value = /** @type {!Uint8Array} */ (reader.readBytes());
+      msg.setTokenId(value);
       break;
     case 2:
-      var value = /** @type {string} */ (reader.readUint64String());
-      msg.setRemainingTime(value);
-      break;
-    case 3:
-      var value = /** @type {number} */ (reader.readUint32());
-      msg.setTotalSnapshots(value);
-      break;
-    case 4:
-      var value = /** @type {string} */ (reader.readUint64String());
-      msg.setChunkProcessAvgTime(value);
-      break;
-    case 5:
-      var value = /** @type {string} */ (reader.readUint64String());
-      msg.setSnapshotHeight(value);
-      break;
-    case 6:
-      var value = /** @type {string} */ (reader.readUint64String());
-      msg.setSnapshotChunksCount(value);
-      break;
-    case 7:
-      var value = /** @type {string} */ (reader.readUint64String());
-      msg.setBackfilledBlocks(value);
-      break;
-    case 8:
-      var value = /** @type {string} */ (reader.readUint64String());
-      msg.setBackfillBlocksTotal(value);
+      var value = /** @type {number} */ (reader.readUint64());
+      msg.setBalance(value);
       break;
     default:
       reader.skipField();
@@ -43629,9 +49870,9 @@ proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -43639,351 +49880,292 @@ proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getTotalSyncedTime();
-  if (parseInt(f, 10) !== 0) {
-    writer.writeUint64String(
+  f = message.getTokenId_asU8();
+  if (f.length > 0) {
+    writer.writeBytes(
       1,
       f
     );
   }
-  f = message.getRemainingTime();
-  if (parseInt(f, 10) !== 0) {
-    writer.writeUint64String(
+  f = /** @type {number} */ (jspb.Message.getField(message, 2));
+  if (f != null) {
+    writer.writeUint64(
       2,
       f
     );
   }
-  f = message.getTotalSnapshots();
-  if (f !== 0) {
-    writer.writeUint32(
-      3,
-      f
-    );
-  }
-  f = message.getChunkProcessAvgTime();
-  if (parseInt(f, 10) !== 0) {
-    writer.writeUint64String(
-      4,
-      f
-    );
-  }
-  f = message.getSnapshotHeight();
-  if (parseInt(f, 10) !== 0) {
-    writer.writeUint64String(
-      5,
-      f
-    );
-  }
-  f = message.getSnapshotChunksCount();
-  if (parseInt(f, 10) !== 0) {
-    writer.writeUint64String(
-      6,
-      f
-    );
-  }
-  f = message.getBackfilledBlocks();
-  if (parseInt(f, 10) !== 0) {
-    writer.writeUint64String(
-      7,
-      f
-    );
-  }
-  f = message.getBackfillBlocksTotal();
-  if (parseInt(f, 10) !== 0) {
-    writer.writeUint64String(
-      8,
-      f
-    );
-  }
 };
 
 
 /**
- * optional uint64 total_synced_time = 1;
+ * optional bytes token_id = 1;
  * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.prototype.getTotalSyncedTime = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "0"));
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry.prototype.getTokenId = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
 };
 
 
 /**
- * @param {string} value
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync} returns this
+ * optional bytes token_id = 1;
+ * This is a type-conversion wrapper around `getTokenId()`
+ * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.prototype.setTotalSyncedTime = function(value) {
-  return jspb.Message.setProto3StringIntField(this, 1, value);
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry.prototype.getTokenId_asB64 = function() {
+  return /** @type {string} */ (jspb.Message.bytesAsB64(
+      this.getTokenId()));
 };
 
 
 /**
- * optional uint64 remaining_time = 2;
- * @return {string}
+ * optional bytes token_id = 1;
+ * Note that Uint8Array is not supported on all browsers.
+ * @see http://caniuse.com/Uint8Array
+ * This is a type-conversion wrapper around `getTokenId()`
+ * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.prototype.getRemainingTime = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "0"));
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry.prototype.getTokenId_asU8 = function() {
+  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
+      this.getTokenId()));
 };
 
 
 /**
- * @param {string} value
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync} returns this
+ * @param {!(string|Uint8Array)} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry} returns this
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.prototype.setRemainingTime = function(value) {
-  return jspb.Message.setProto3StringIntField(this, 2, value);
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry.prototype.setTokenId = function(value) {
+  return jspb.Message.setProto3BytesField(this, 1, value);
 };
 
 
 /**
- * optional uint32 total_snapshots = 3;
+ * optional uint64 balance = 2;
  * @return {number}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.prototype.getTotalSnapshots = function() {
-  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry.prototype.getBalance = function() {
+  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
 };
 
 
 /**
  * @param {number} value
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync} returns this
- */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.prototype.setTotalSnapshots = function(value) {
-  return jspb.Message.setProto3IntField(this, 3, value);
-};
-
-
-/**
- * optional uint64 chunk_process_avg_time = 4;
- * @return {string}
- */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.prototype.getChunkProcessAvgTime = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, "0"));
-};
-
-
-/**
- * @param {string} value
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync} returns this
- */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.prototype.setChunkProcessAvgTime = function(value) {
-  return jspb.Message.setProto3StringIntField(this, 4, value);
-};
-
-
-/**
- * optional uint64 snapshot_height = 5;
- * @return {string}
- */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.prototype.getSnapshotHeight = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, "0"));
-};
-
-
-/**
- * @param {string} value
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry} returns this
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.prototype.setSnapshotHeight = function(value) {
-  return jspb.Message.setProto3StringIntField(this, 5, value);
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry.prototype.setBalance = function(value) {
+  return jspb.Message.setField(this, 2, value);
 };
 
 
 /**
- * optional uint64 snapshot_chunks_count = 6;
- * @return {string}
+ * Clears the field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry} returns this
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.prototype.getSnapshotChunksCount = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 6, "0"));
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry.prototype.clearBalance = function() {
+  return jspb.Message.setField(this, 2, undefined);
 };
 
 
 /**
- * @param {string} value
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync} returns this
+ * Returns whether this field is set.
+ * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.prototype.setSnapshotChunksCount = function(value) {
-  return jspb.Message.setProto3StringIntField(this, 6, value);
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry.prototype.hasBalance = function() {
+  return jspb.Message.getField(this, 2) != null;
 };
 
 
-/**
- * optional uint64 backfilled_blocks = 7;
- * @return {string}
- */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.prototype.getBackfilledBlocks = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 7, "0"));
-};
-
 
 /**
- * @param {string} value
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync} returns this
+ * List of repeated fields within this message type.
+ * @private {!Array}
+ * @const
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.prototype.setBackfilledBlocks = function(value) {
-  return jspb.Message.setProto3StringIntField(this, 7, value);
-};
-
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances.repeatedFields_ = [1];
 
-/**
- * optional uint64 backfill_blocks_total = 8;
- * @return {string}
- */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync.prototype.getBackfillBlocksTotal = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 8, "0"));
-};
 
 
+if (jspb.Message.GENERATE_TO_OBJECT) {
 /**
- * @param {string} value
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync} 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.GetStatusResponse.GetStatusResponseV0.StateSync.prototype.setBackfillBlocksTotal = function(value) {
-  return jspb.Message.setProto3StringIntField(this, 8, value);
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances.toObject(opt_includeInstance, this);
 };
 
 
 /**
- * optional Version version = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version}
+ * 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.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances} msg The msg instance to transform.
+ * @return {!Object}
+ * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.getVersion = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version, 1));
-};
-
-
-/**
- * @param {?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Version|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0} returns this
-*/
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.setVersion = function(value) {
-  return jspb.Message.setWrapperField(this, 1, value);
-};
-
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances.toObject = function(includeInstance, msg) {
+  var f, obj = {
+    tokenBalancesList: jspb.Message.toObjectList(msg.getTokenBalancesList(),
+    proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry.toObject, includeInstance)
+  };
 
-/**
- * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0} returns this
- */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.clearVersion = function() {
-  return this.setVersion(undefined);
+  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.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.hasVersion = function() {
-  return jspb.Message.getField(this, 1) != null;
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances.deserializeBinary = function(bytes) {
+  var reader = new jspb.BinaryReader(bytes);
+  var msg = new proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances;
+  return proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
- * optional Node node = 2;
- * @return {?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node}
+ * Deserializes binary data (in protobuf wire format) from the
+ * given reader into the given message object.
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances} msg The message object to deserialize into.
+ * @param {!jspb.BinaryReader} reader The BinaryReader to use.
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.getNode = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node, 2));
-};
-
-
-/**
- * @param {?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Node|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0} returns this
-*/
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.setNode = function(value) {
-  return jspb.Message.setWrapperField(this, 2, value);
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances.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.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry.deserializeBinaryFromReader);
+      msg.addTokenBalances(value);
+      break;
+    default:
+      reader.skipField();
+      break;
+    }
+  }
+  return msg;
 };
 
 
 /**
- * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0} returns this
+ * Serializes the message to binary data (in protobuf wire format).
+ * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.clearNode = function() {
-  return this.setNode(undefined);
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances.prototype.serializeBinary = function() {
+  var writer = new jspb.BinaryWriter();
+  proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances.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.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances} message
+ * @param {!jspb.BinaryWriter} writer
+ * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.hasNode = function() {
-  return jspb.Message.getField(this, 2) != null;
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances.serializeBinaryToWriter = function(message, writer) {
+  var f = undefined;
+  f = message.getTokenBalancesList();
+  if (f.length > 0) {
+    writer.writeRepeatedMessage(
+      1,
+      f,
+      proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry.serializeBinaryToWriter
+    );
+  }
 };
 
 
 /**
- * optional Chain chain = 3;
- * @return {?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain}
+ * repeated TokenBalanceEntry token_balances = 1;
+ * @return {!Array}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.getChain = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain, 3));
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances.prototype.getTokenBalancesList = function() {
+  return /** @type{!Array} */ (
+    jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry, 1));
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Chain|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0} returns this
+ * @param {!Array} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances} returns this
 */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.setChain = function(value) {
-  return jspb.Message.setWrapperField(this, 3, value);
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances.prototype.setTokenBalancesList = function(value) {
+  return jspb.Message.setRepeatedWrapperField(this, 1, value);
 };
 
 
 /**
- * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0} returns this
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry=} opt_value
+ * @param {number=} opt_index
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.clearChain = function() {
-  return this.setChain(undefined);
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances.prototype.addTokenBalances = function(opt_value, opt_index) {
+  return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry, 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.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances} returns this
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.hasChain = function() {
-  return jspb.Message.getField(this, 3) != null;
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances.prototype.clearTokenBalancesList = function() {
+  return this.setTokenBalancesList([]);
 };
 
 
 /**
- * optional Network network = 4;
- * @return {?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network}
+ * optional TokenBalances token_balances = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.getNetwork = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network, 4));
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.prototype.getTokenBalances = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances, 1));
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Network|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0} returns this
+ * @param {?proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0} returns this
 */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.setNetwork = function(value) {
-  return jspb.Message.setWrapperField(this, 4, value);
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.prototype.setTokenBalances = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.oneofGroups_[0], value);
 };
 
 
 /**
  * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.clearNetwork = function() {
-  return this.setNetwork(undefined);
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.prototype.clearTokenBalances = function() {
+  return this.setTokenBalances(undefined);
 };
 
 
@@ -43991,36 +50173,36 @@ proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.hasNetwork = function() {
-  return jspb.Message.getField(this, 4) != null;
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.prototype.hasTokenBalances = function() {
+  return jspb.Message.getField(this, 1) != null;
 };
 
 
 /**
- * optional StateSync state_sync = 5;
- * @return {?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync}
+ * optional Proof proof = 2;
+ * @return {?proto.org.dash.platform.dapi.v0.Proof}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.getStateSync = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.StateSync, 5));
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.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.GetStatusResponse.GetStatusResponseV0.StateSync|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0} returns this
+ * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0} returns this
 */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.setStateSync = function(value) {
-  return jspb.Message.setWrapperField(this, 5, value);
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.prototype.setProof = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.oneofGroups_[0], value);
 };
 
 
 /**
  * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.clearStateSync = function() {
-  return this.setStateSync(undefined);
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.prototype.clearProof = function() {
+  return this.setProof(undefined);
 };
 
 
@@ -44028,36 +50210,36 @@ proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.hasStateSync = function() {
-  return jspb.Message.getField(this, 5) != null;
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.prototype.hasProof = function() {
+  return jspb.Message.getField(this, 2) != null;
 };
 
 
 /**
- * optional Time time = 6;
- * @return {?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time}
+ * optional ResponseMetadata metadata = 3;
+ * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.getTime = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.Time, 6));
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.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.GetStatusResponse.GetStatusResponseV0.Time|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0} returns this
+ * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0} returns this
 */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.setTime = function(value) {
-  return jspb.Message.setWrapperField(this, 6, value);
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.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.GetStatusResponse.GetStatusResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.clearTime = function() {
-  return this.setTime(undefined);
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.prototype.clearMetadata = function() {
+  return this.setMetadata(undefined);
 };
 
 
@@ -44065,35 +50247,35 @@ proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0.prototype.hasTime = function() {
-  return jspb.Message.getField(this, 6) != null;
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.prototype.hasMetadata = function() {
+  return jspb.Message.getField(this, 3) != null;
 };
 
 
 /**
- * optional GetStatusResponseV0 v0 = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0}
+ * optional GetIdentityTokenBalancesResponseV0 v0 = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.prototype.getV0 = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0, 1));
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.prototype.getV0 = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0, 1));
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.GetStatusResponse.GetStatusResponseV0|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse} returns this
+ * @param {?proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse} returns this
 */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.prototype.setV0 = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetStatusResponse.oneofGroups_[0], value);
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.prototype.setV0 = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.oneofGroups_[0], value);
 };
 
 
 /**
  * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetStatusResponse} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse} returns this
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.prototype.clearV0 = function() {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.prototype.clearV0 = function() {
   return this.setV0(undefined);
 };
 
@@ -44102,7 +50284,7 @@ proto.org.dash.platform.dapi.v0.GetStatusResponse.prototype.clearV0 = function()
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetStatusResponse.prototype.hasV0 = function() {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.prototype.hasV0 = function() {
   return jspb.Message.getField(this, 1) != null;
 };
 
@@ -44116,21 +50298,21 @@ proto.org.dash.platform.dapi.v0.GetStatusResponse.prototype.hasV0 = function() {
  * @private {!Array>}
  * @const
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.oneofGroups_ = [[1]];
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.oneofGroups_ = [[1]];
 
 /**
  * @enum {number}
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.VersionCase = {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.VersionCase = {
   VERSION_NOT_SET: 0,
   V0: 1
 };
 
 /**
- * @return {proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.VersionCase}
+ * @return {proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.VersionCase}
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.prototype.getVersionCase = function() {
-  return /** @type {proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.oneofGroups_[0]));
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.prototype.getVersionCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.oneofGroups_[0]));
 };
 
 
@@ -44148,8 +50330,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.toObject(opt_includeInstance, this);
 };
 
 
@@ -44158,13 +50340,13 @@ proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.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.GetCurrentQuorumsInfoRequest} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.toObject = function(includeInstance, msg) {
   var f, obj = {
-    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0.toObject(includeInstance, f)
+    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.toObject(includeInstance, f)
   };
 
   if (includeInstance) {
@@ -44178,23 +50360,23 @@ proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.toObject = function
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest}
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest}
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest;
-  return proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest;
+  return proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest}
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest}
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -44202,8 +50384,8 @@ proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.deserializeBinaryFr
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0.deserializeBinaryFromReader);
+      var value = new proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.deserializeBinaryFromReader);
       msg.setV0(value);
       break;
     default:
@@ -44219,9 +50401,9 @@ proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.deserializeBinaryFr
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -44229,24 +50411,31 @@ proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.prototype.serialize
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
   f = message.getV0();
   if (f != null) {
     writer.writeMessage(
       1,
       f,
-      proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.serializeBinaryToWriter
     );
   }
 };
 
 
 
+/**
+ * List of repeated fields within this message type.
+ * @private {!Array}
+ * @const
+ */
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.repeatedFields_ = [2];
+
 
 
 if (jspb.Message.GENERATE_TO_OBJECT) {
@@ -44262,8 +50451,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.toObject(opt_includeInstance, this);
 };
 
 
@@ -44272,13 +50461,15 @@ proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsIn
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.toObject = function(includeInstance, msg) {
   var f, obj = {
-
+    tokenId: msg.getTokenId_asB64(),
+    identityIdsList: msg.getIdentityIdsList_asB64(),
+    prove: jspb.Message.getBooleanFieldWithDefault(msg, 3, false)
   };
 
   if (includeInstance) {
@@ -44292,29 +50483,41 @@ proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsIn
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0}
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0;
-  return proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0;
+  return proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0}
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.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.setTokenId(value);
+      break;
+    case 2:
+      var value = /** @type {!Uint8Array} */ (reader.readBytes());
+      msg.addIdentityIds(value);
+      break;
+    case 3:
+      var value = /** @type {boolean} */ (reader.readBool());
+      msg.setProve(value);
+      break;
     default:
       reader.skipField();
       break;
@@ -44328,9 +50531,9 @@ proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsIn
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -44338,39 +50541,181 @@ proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsIn
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
+  f = message.getTokenId_asU8();
+  if (f.length > 0) {
+    writer.writeBytes(
+      1,
+      f
+    );
+  }
+  f = message.getIdentityIdsList_asU8();
+  if (f.length > 0) {
+    writer.writeRepeatedBytes(
+      2,
+      f
+    );
+  }
+  f = message.getProve();
+  if (f) {
+    writer.writeBool(
+      3,
+      f
+    );
+  }
 };
 
 
 /**
- * optional GetCurrentQuorumsInfoRequestV0 v0 = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0}
+ * optional bytes token_id = 1;
+ * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.prototype.getV0 = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0, 1));
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.prototype.getTokenId = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.GetCurrentQuorumsInfoRequestV0|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest} returns this
+ * optional bytes token_id = 1;
+ * This is a type-conversion wrapper around `getTokenId()`
+ * @return {string}
+ */
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.prototype.getTokenId_asB64 = function() {
+  return /** @type {string} */ (jspb.Message.bytesAsB64(
+      this.getTokenId()));
+};
+
+
+/**
+ * optional bytes token_id = 1;
+ * Note that Uint8Array is not supported on all browsers.
+ * @see http://caniuse.com/Uint8Array
+ * This is a type-conversion wrapper around `getTokenId()`
+ * @return {!Uint8Array}
+ */
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.prototype.getTokenId_asU8 = function() {
+  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
+      this.getTokenId()));
+};
+
+
+/**
+ * @param {!(string|Uint8Array)} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.prototype.setTokenId = function(value) {
+  return jspb.Message.setProto3BytesField(this, 1, value);
+};
+
+
+/**
+ * repeated bytes identity_ids = 2;
+ * @return {!Array}
+ */
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.prototype.getIdentityIdsList = function() {
+  return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 2));
+};
+
+
+/**
+ * repeated bytes identity_ids = 2;
+ * This is a type-conversion wrapper around `getIdentityIdsList()`
+ * @return {!Array}
+ */
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.prototype.getIdentityIdsList_asB64 = function() {
+  return /** @type {!Array} */ (jspb.Message.bytesListAsB64(
+      this.getIdentityIdsList()));
+};
+
+
+/**
+ * repeated bytes identity_ids = 2;
+ * Note that Uint8Array is not supported on all browsers.
+ * @see http://caniuse.com/Uint8Array
+ * This is a type-conversion wrapper around `getIdentityIdsList()`
+ * @return {!Array}
+ */
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.prototype.getIdentityIdsList_asU8 = function() {
+  return /** @type {!Array} */ (jspb.Message.bytesListAsU8(
+      this.getIdentityIdsList()));
+};
+
+
+/**
+ * @param {!(Array|Array)} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.prototype.setIdentityIdsList = function(value) {
+  return jspb.Message.setField(this, 2, value || []);
+};
+
+
+/**
+ * @param {!(string|Uint8Array)} value
+ * @param {number=} opt_index
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.prototype.addIdentityIds = function(value, opt_index) {
+  return jspb.Message.addToRepeatedField(this, 2, value, opt_index);
+};
+
+
+/**
+ * Clears the list making it empty but non-null.
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.prototype.clearIdentityIdsList = function() {
+  return this.setIdentityIdsList([]);
+};
+
+
+/**
+ * optional bool prove = 3;
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.prototype.getProve = function() {
+  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 3, false));
+};
+
+
+/**
+ * @param {boolean} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.prototype.setProve = function(value) {
+  return jspb.Message.setProto3BooleanField(this, 3, value);
+};
+
+
+/**
+ * optional GetIdentitiesTokenBalancesRequestV0 v0 = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0}
+ */
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.prototype.getV0 = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0, 1));
+};
+
+
+/**
+ * @param {?proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest} returns this
 */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.prototype.setV0 = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.oneofGroups_[0], value);
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.prototype.setV0 = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.oneofGroups_[0], value);
 };
 
 
 /**
  * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest} returns this
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.prototype.clearV0 = function() {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.prototype.clearV0 = function() {
   return this.setV0(undefined);
 };
 
@@ -44379,7 +50724,7 @@ proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.prototype.clearV0 =
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.prototype.hasV0 = function() {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.prototype.hasV0 = function() {
   return jspb.Message.getField(this, 1) != null;
 };
 
@@ -44393,21 +50738,21 @@ proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoRequest.prototype.hasV0 = f
  * @private {!Array>}
  * @const
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.oneofGroups_ = [[1]];
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.oneofGroups_ = [[1]];
 
 /**
  * @enum {number}
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.VersionCase = {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.VersionCase = {
   VERSION_NOT_SET: 0,
   V0: 1
 };
 
 /**
- * @return {proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.VersionCase}
+ * @return {proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.VersionCase}
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.prototype.getVersionCase = function() {
-  return /** @type {proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.oneofGroups_[0]));
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.prototype.getVersionCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.oneofGroups_[0]));
 };
 
 
@@ -44425,8 +50770,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.toObject(opt_includeInstance, this);
 };
 
 
@@ -44435,13 +50780,13 @@ proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.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.GetCurrentQuorumsInfoResponse} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.toObject = function(includeInstance, msg) {
   var f, obj = {
-    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.toObject(includeInstance, f)
+    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.toObject(includeInstance, f)
   };
 
   if (includeInstance) {
@@ -44455,23 +50800,23 @@ proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.toObject = functio
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse}
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse}
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse;
-  return proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse;
+  return proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse}
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse}
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -44479,8 +50824,8 @@ proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.deserializeBinaryF
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.deserializeBinaryFromReader);
+      var value = new proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.deserializeBinaryFromReader);
       msg.setV0(value);
       break;
     default:
@@ -44496,9 +50841,9 @@ proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.deserializeBinaryF
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -44506,24 +50851,50 @@ proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.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.GetCurrentQuorumsInfoResponse} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
   f = message.getV0();
   if (f != null) {
     writer.writeMessage(
       1,
       f,
-      proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.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.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.oneofGroups_ = [[1,2]];
+
+/**
+ * @enum {number}
+ */
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.ResultCase = {
+  RESULT_NOT_SET: 0,
+  IDENTITY_TOKEN_BALANCES: 1,
+  PROOF: 2
+};
+
+/**
+ * @return {proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.ResultCase}
+ */
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.prototype.getResultCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.oneofGroups_[0]));
+};
+
 
 
 if (jspb.Message.GENERATE_TO_OBJECT) {
@@ -44539,8 +50910,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.toObject(opt_includeInstance, this);
 };
 
 
@@ -44549,15 +50920,15 @@ proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.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.GetCurrentQuorumsInfoResponse.ValidatorV0} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.toObject = function(includeInstance, msg) {
   var f, obj = {
-    proTxHash: msg.getProTxHash_asB64(),
-    nodeIp: jspb.Message.getFieldWithDefault(msg, 2, ""),
-    isBanned: jspb.Message.getBooleanFieldWithDefault(msg, 3, false)
+    identityTokenBalances: (f = msg.getIdentityTokenBalances()) && proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances.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) {
@@ -44571,23 +50942,23 @@ proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.toObje
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0}
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0;
-  return proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0;
+  return proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0}
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -44595,16 +50966,19 @@ proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.deseri
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = /** @type {!Uint8Array} */ (reader.readBytes());
-      msg.setProTxHash(value);
+      var value = new proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances.deserializeBinaryFromReader);
+      msg.setIdentityTokenBalances(value);
       break;
     case 2:
-      var value = /** @type {string} */ (reader.readString());
-      msg.setNodeIp(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 {boolean} */ (reader.readBool());
-      msg.setIsBanned(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();
@@ -44619,9 +50993,9 @@ proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.deseri
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -44629,121 +51003,39 @@ proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.protot
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getProTxHash_asU8();
-  if (f.length > 0) {
-    writer.writeBytes(
+  f = message.getIdentityTokenBalances();
+  if (f != null) {
+    writer.writeMessage(
       1,
-      f
+      f,
+      proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances.serializeBinaryToWriter
     );
   }
-  f = message.getNodeIp();
-  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.getIsBanned();
-  if (f) {
-    writer.writeBool(
+  f = message.getMetadata();
+  if (f != null) {
+    writer.writeMessage(
       3,
-      f
+      f,
+      proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter
     );
   }
 };
 
 
-/**
- * optional bytes pro_tx_hash = 1;
- * @return {string}
- */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.prototype.getProTxHash = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
-};
-
-
-/**
- * optional bytes pro_tx_hash = 1;
- * This is a type-conversion wrapper around `getProTxHash()`
- * @return {string}
- */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.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.GetCurrentQuorumsInfoResponse.ValidatorV0.prototype.getProTxHash_asU8 = function() {
-  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
-      this.getProTxHash()));
-};
-
-
-/**
- * @param {!(string|Uint8Array)} value
- * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0} returns this
- */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.prototype.setProTxHash = function(value) {
-  return jspb.Message.setProto3BytesField(this, 1, value);
-};
-
-
-/**
- * optional string node_ip = 2;
- * @return {string}
- */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.prototype.getNodeIp = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
-};
-
-
-/**
- * @param {string} value
- * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0} returns this
- */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.prototype.setNodeIp = function(value) {
-  return jspb.Message.setProto3StringField(this, 2, value);
-};
-
-
-/**
- * optional bool is_banned = 3;
- * @return {boolean}
- */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.prototype.getIsBanned = function() {
-  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 3, false));
-};
-
-
-/**
- * @param {boolean} value
- * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0} returns this
- */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.prototype.setIsBanned = function(value) {
-  return jspb.Message.setProto3BooleanField(this, 3, value);
-};
-
-
-
-/**
- * List of repeated fields within this message type.
- * @private {!Array}
- * @const
- */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.repeatedFields_ = [3];
 
 
 
@@ -44760,8 +51052,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry.toObject(opt_includeInstance, this);
 };
 
 
@@ -44770,17 +51062,14 @@ proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.pro
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry.toObject = function(includeInstance, msg) {
   var f, obj = {
-    quorumHash: msg.getQuorumHash_asB64(),
-    coreHeight: jspb.Message.getFieldWithDefault(msg, 2, 0),
-    membersList: jspb.Message.toObjectList(msg.getMembersList(),
-    proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.toObject, includeInstance),
-    thresholdPublicKey: msg.getThresholdPublicKey_asB64()
+    identityId: msg.getIdentityId_asB64(),
+    balance: jspb.Message.getFieldWithDefault(msg, 2, 0)
   };
 
   if (includeInstance) {
@@ -44794,23 +51083,23 @@ proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.toO
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry}
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0;
-  return proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry;
+  return proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry}
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -44819,20 +51108,11 @@ proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.des
     switch (field) {
     case 1:
       var value = /** @type {!Uint8Array} */ (reader.readBytes());
-      msg.setQuorumHash(value);
+      msg.setIdentityId(value);
       break;
     case 2:
-      var value = /** @type {number} */ (reader.readUint32());
-      msg.setCoreHeight(value);
-      break;
-    case 3:
-      var value = new proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.deserializeBinaryFromReader);
-      msg.addMembers(value);
-      break;
-    case 4:
-      var value = /** @type {!Uint8Array} */ (reader.readBytes());
-      msg.setThresholdPublicKey(value);
+      var value = /** @type {number} */ (reader.readUint64());
+      msg.setBalance(value);
       break;
     default:
       reader.skipField();
@@ -44847,9 +51127,9 @@ proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.des
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -44857,181 +51137,104 @@ proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.pro
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getQuorumHash_asU8();
+  f = message.getIdentityId_asU8();
   if (f.length > 0) {
     writer.writeBytes(
       1,
       f
     );
   }
-  f = message.getCoreHeight();
-  if (f !== 0) {
-    writer.writeUint32(
+  f = /** @type {number} */ (jspb.Message.getField(message, 2));
+  if (f != null) {
+    writer.writeUint64(
       2,
       f
     );
   }
-  f = message.getMembersList();
-  if (f.length > 0) {
-    writer.writeRepeatedMessage(
-      3,
-      f,
-      proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0.serializeBinaryToWriter
-    );
-  }
-  f = message.getThresholdPublicKey_asU8();
-  if (f.length > 0) {
-    writer.writeBytes(
-      4,
-      f
-    );
-  }
 };
 
 
 /**
- * optional bytes quorum_hash = 1;
+ * optional bytes identity_id = 1;
  * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.prototype.getQuorumHash = function() {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry.prototype.getIdentityId = function() {
   return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
 };
 
 
 /**
- * optional bytes quorum_hash = 1;
- * This is a type-conversion wrapper around `getQuorumHash()`
+ * optional bytes identity_id = 1;
+ * This is a type-conversion wrapper around `getIdentityId()`
  * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.prototype.getQuorumHash_asB64 = function() {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry.prototype.getIdentityId_asB64 = function() {
   return /** @type {string} */ (jspb.Message.bytesAsB64(
-      this.getQuorumHash()));
+      this.getIdentityId()));
 };
 
 
 /**
- * optional bytes quorum_hash = 1;
+ * 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 `getQuorumHash()`
+ * This is a type-conversion wrapper around `getIdentityId()`
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.prototype.getQuorumHash_asU8 = function() {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry.prototype.getIdentityId_asU8 = function() {
   return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
-      this.getQuorumHash()));
+      this.getIdentityId()));
 };
 
 
 /**
  * @param {!(string|Uint8Array)} value
- * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry} returns this
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.prototype.setQuorumHash = function(value) {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry.prototype.setIdentityId = function(value) {
   return jspb.Message.setProto3BytesField(this, 1, value);
 };
 
 
 /**
- * optional uint32 core_height = 2;
+ * optional uint64 balance = 2;
  * @return {number}
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.prototype.getCoreHeight = function() {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry.prototype.getBalance = function() {
   return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
 };
 
 
 /**
  * @param {number} value
- * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0} returns this
- */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.prototype.setCoreHeight = function(value) {
-  return jspb.Message.setProto3IntField(this, 2, value);
-};
-
-
-/**
- * repeated ValidatorV0 members = 3;
- * @return {!Array}
- */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.prototype.getMembersList = function() {
-  return /** @type{!Array} */ (
-    jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0, 3));
-};
-
-
-/**
- * @param {!Array} value
- * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0} returns this
-*/
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.prototype.setMembersList = function(value) {
-  return jspb.Message.setRepeatedWrapperField(this, 3, value);
-};
-
-
-/**
- * @param {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0=} opt_value
- * @param {number=} opt_index
- * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0}
- */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.prototype.addMembers = function(opt_value, opt_index) {
-  return jspb.Message.addToRepeatedWrapperField(this, 3, opt_value, proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorV0, opt_index);
-};
-
-
-/**
- * Clears the list making it empty but non-null.
- * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0} returns this
- */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.prototype.clearMembersList = function() {
-  return this.setMembersList([]);
-};
-
-
-/**
- * optional bytes threshold_public_key = 4;
- * @return {string}
- */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.prototype.getThresholdPublicKey = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, ""));
-};
-
-
-/**
- * optional bytes threshold_public_key = 4;
- * This is a type-conversion wrapper around `getThresholdPublicKey()`
- * @return {string}
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry} returns this
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.prototype.getThresholdPublicKey_asB64 = function() {
-  return /** @type {string} */ (jspb.Message.bytesAsB64(
-      this.getThresholdPublicKey()));
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry.prototype.setBalance = function(value) {
+  return jspb.Message.setField(this, 2, value);
 };
 
 
 /**
- * optional bytes threshold_public_key = 4;
- * Note that Uint8Array is not supported on all browsers.
- * @see http://caniuse.com/Uint8Array
- * This is a type-conversion wrapper around `getThresholdPublicKey()`
- * @return {!Uint8Array}
+ * Clears the field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry} returns this
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.prototype.getThresholdPublicKey_asU8 = function() {
-  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
-      this.getThresholdPublicKey()));
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry.prototype.clearBalance = function() {
+  return jspb.Message.setField(this, 2, undefined);
 };
 
 
 /**
- * @param {!(string|Uint8Array)} value
- * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0} returns this
+ * Returns whether this field is set.
+ * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.prototype.setThresholdPublicKey = function(value) {
-  return jspb.Message.setProto3BytesField(this, 4, value);
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry.prototype.hasBalance = function() {
+  return jspb.Message.getField(this, 2) != null;
 };
 
 
@@ -45041,7 +51244,7 @@ proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.pro
  * @private {!Array}
  * @const
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.repeatedFields_ = [1,3];
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances.repeatedFields_ = [1];
 
 
 
@@ -45058,8 +51261,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances.toObject(opt_includeInstance, this);
 };
 
 
@@ -45068,18 +51271,14 @@ proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsI
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances.toObject = function(includeInstance, msg) {
   var f, obj = {
-    quorumHashesList: msg.getQuorumHashesList_asB64(),
-    currentQuorumHash: msg.getCurrentQuorumHash_asB64(),
-    validatorSetsList: jspb.Message.toObjectList(msg.getValidatorSetsList(),
-    proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.toObject, includeInstance),
-    lastBlockProposer: msg.getLastBlockProposer_asB64(),
-    metadata: (f = msg.getMetadata()) && proto.org.dash.platform.dapi.v0.ResponseMetadata.toObject(includeInstance, f)
+    identityTokenBalancesList: jspb.Message.toObjectList(msg.getIdentityTokenBalancesList(),
+    proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry.toObject, includeInstance)
   };
 
   if (includeInstance) {
@@ -45093,327 +51292,210 @@ proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsI
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances}
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0;
-  return proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances;
+  return proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
- * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0} msg The message object to deserialize into.
- * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0}
- */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.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.addQuorumHashes(value);
-      break;
-    case 2:
-      var value = /** @type {!Uint8Array} */ (reader.readBytes());
-      msg.setCurrentQuorumHash(value);
-      break;
-    case 3:
-      var value = new proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.deserializeBinaryFromReader);
-      msg.addValidatorSets(value);
-      break;
-    case 4:
-      var value = /** @type {!Uint8Array} */ (reader.readBytes());
-      msg.setLastBlockProposer(value);
-      break;
-    case 5:
-      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.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.serializeBinary = function() {
-  var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.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.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0} message
- * @param {!jspb.BinaryWriter} writer
- * @suppress {unusedLocalVariables} f is only used for nested messages
- */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.serializeBinaryToWriter = function(message, writer) {
-  var f = undefined;
-  f = message.getQuorumHashesList_asU8();
-  if (f.length > 0) {
-    writer.writeRepeatedBytes(
-      1,
-      f
-    );
-  }
-  f = message.getCurrentQuorumHash_asU8();
-  if (f.length > 0) {
-    writer.writeBytes(
-      2,
-      f
-    );
-  }
-  f = message.getValidatorSetsList();
-  if (f.length > 0) {
-    writer.writeRepeatedMessage(
-      3,
-      f,
-      proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0.serializeBinaryToWriter
-    );
-  }
-  f = message.getLastBlockProposer_asU8();
-  if (f.length > 0) {
-    writer.writeBytes(
-      4,
-      f
-    );
-  }
-  f = message.getMetadata();
-  if (f != null) {
-    writer.writeMessage(
-      5,
-      f,
-      proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter
-    );
-  }
-};
-
-
-/**
- * repeated bytes quorum_hashes = 1;
- * @return {!Array}
- */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.getQuorumHashesList = function() {
-  return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1));
-};
-
-
-/**
- * repeated bytes quorum_hashes = 1;
- * This is a type-conversion wrapper around `getQuorumHashesList()`
- * @return {!Array}
- */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.getQuorumHashesList_asB64 = function() {
-  return /** @type {!Array} */ (jspb.Message.bytesListAsB64(
-      this.getQuorumHashesList()));
-};
-
-
-/**
- * repeated bytes quorum_hashes = 1;
- * Note that Uint8Array is not supported on all browsers.
- * @see http://caniuse.com/Uint8Array
- * This is a type-conversion wrapper around `getQuorumHashesList()`
- * @return {!Array}
- */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.getQuorumHashesList_asU8 = function() {
-  return /** @type {!Array} */ (jspb.Message.bytesListAsU8(
-      this.getQuorumHashesList()));
-};
-
-
-/**
- * @param {!(Array|Array)} value
- * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0} returns this
+ * given reader into the given message object.
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances} msg The message object to deserialize into.
+ * @param {!jspb.BinaryReader} reader The BinaryReader to use.
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances}
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.setQuorumHashesList = function(value) {
-  return jspb.Message.setField(this, 1, value || []);
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances.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.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry.deserializeBinaryFromReader);
+      msg.addIdentityTokenBalances(value);
+      break;
+    default:
+      reader.skipField();
+      break;
+    }
+  }
+  return msg;
 };
 
 
 /**
- * @param {!(string|Uint8Array)} value
- * @param {number=} opt_index
- * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0} returns this
+ * Serializes the message to binary data (in protobuf wire format).
+ * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.addQuorumHashes = function(value, opt_index) {
-  return jspb.Message.addToRepeatedField(this, 1, value, opt_index);
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances.prototype.serializeBinary = function() {
+  var writer = new jspb.BinaryWriter();
+  proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances.serializeBinaryToWriter(this, writer);
+  return writer.getResultBuffer();
 };
 
 
 /**
- * Clears the list making it empty but non-null.
- * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0} 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.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances} message
+ * @param {!jspb.BinaryWriter} writer
+ * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.clearQuorumHashesList = function() {
-  return this.setQuorumHashesList([]);
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances.serializeBinaryToWriter = function(message, writer) {
+  var f = undefined;
+  f = message.getIdentityTokenBalancesList();
+  if (f.length > 0) {
+    writer.writeRepeatedMessage(
+      1,
+      f,
+      proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry.serializeBinaryToWriter
+    );
+  }
 };
 
 
 /**
- * optional bytes current_quorum_hash = 2;
- * @return {string}
+ * repeated IdentityTokenBalanceEntry identity_token_balances = 1;
+ * @return {!Array}
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.getCurrentQuorumHash = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances.prototype.getIdentityTokenBalancesList = function() {
+  return /** @type{!Array} */ (
+    jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry, 1));
 };
 
 
 /**
- * optional bytes current_quorum_hash = 2;
- * This is a type-conversion wrapper around `getCurrentQuorumHash()`
- * @return {string}
- */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.getCurrentQuorumHash_asB64 = function() {
-  return /** @type {string} */ (jspb.Message.bytesAsB64(
-      this.getCurrentQuorumHash()));
+ * @param {!Array} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances.prototype.setIdentityTokenBalancesList = function(value) {
+  return jspb.Message.setRepeatedWrapperField(this, 1, value);
 };
 
 
 /**
- * optional bytes current_quorum_hash = 2;
- * Note that Uint8Array is not supported on all browsers.
- * @see http://caniuse.com/Uint8Array
- * This is a type-conversion wrapper around `getCurrentQuorumHash()`
- * @return {!Uint8Array}
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry=} opt_value
+ * @param {number=} opt_index
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry}
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.getCurrentQuorumHash_asU8 = function() {
-  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
-      this.getCurrentQuorumHash()));
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances.prototype.addIdentityTokenBalances = function(opt_value, opt_index) {
+  return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry, opt_index);
 };
 
 
 /**
- * @param {!(string|Uint8Array)} value
- * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0} returns this
+ * Clears the list making it empty but non-null.
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances} returns this
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.setCurrentQuorumHash = function(value) {
-  return jspb.Message.setProto3BytesField(this, 2, value);
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances.prototype.clearIdentityTokenBalancesList = function() {
+  return this.setIdentityTokenBalancesList([]);
 };
 
 
 /**
- * repeated ValidatorSetV0 validator_sets = 3;
- * @return {!Array}
+ * optional IdentityTokenBalances identity_token_balances = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances}
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.getValidatorSetsList = function() {
-  return /** @type{!Array} */ (
-    jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0, 3));
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.prototype.getIdentityTokenBalances = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances, 1));
 };
 
 
 /**
- * @param {!Array} value
- * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0} returns this
+ * @param {?proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0} returns this
 */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.setValidatorSetsList = function(value) {
-  return jspb.Message.setRepeatedWrapperField(this, 3, value);
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.prototype.setIdentityTokenBalances = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.oneofGroups_[0], value);
 };
 
 
 /**
- * @param {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0=} opt_value
- * @param {number=} opt_index
- * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0}
+ * Clears the message field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.addValidatorSets = function(opt_value, opt_index) {
-  return jspb.Message.addToRepeatedWrapperField(this, 3, opt_value, proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.ValidatorSetV0, opt_index);
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.prototype.clearIdentityTokenBalances = function() {
+  return this.setIdentityTokenBalances(undefined);
 };
 
 
 /**
- * Clears the list making it empty but non-null.
- * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0} returns this
+ * Returns whether this field is set.
+ * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.clearValidatorSetsList = function() {
-  return this.setValidatorSetsList([]);
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.prototype.hasIdentityTokenBalances = function() {
+  return jspb.Message.getField(this, 1) != null;
 };
 
 
 /**
- * optional bytes last_block_proposer = 4;
- * @return {string}
+ * optional Proof proof = 2;
+ * @return {?proto.org.dash.platform.dapi.v0.Proof}
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.getLastBlockProposer = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, ""));
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.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 bytes last_block_proposer = 4;
- * This is a type-conversion wrapper around `getLastBlockProposer()`
- * @return {string}
- */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.getLastBlockProposer_asB64 = function() {
-  return /** @type {string} */ (jspb.Message.bytesAsB64(
-      this.getLastBlockProposer()));
+ * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.prototype.setProof = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.oneofGroups_[0], value);
 };
 
 
 /**
- * optional bytes last_block_proposer = 4;
- * Note that Uint8Array is not supported on all browsers.
- * @see http://caniuse.com/Uint8Array
- * This is a type-conversion wrapper around `getLastBlockProposer()`
- * @return {!Uint8Array}
+ * Clears the message field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.getLastBlockProposer_asU8 = function() {
-  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
-      this.getLastBlockProposer()));
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.prototype.clearProof = function() {
+  return this.setProof(undefined);
 };
 
 
 /**
- * @param {!(string|Uint8Array)} value
- * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0} returns this
+ * Returns whether this field is set.
+ * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.setLastBlockProposer = function(value) {
-  return jspb.Message.setProto3BytesField(this, 4, value);
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.prototype.hasProof = function() {
+  return jspb.Message.getField(this, 2) != null;
 };
 
 
 /**
- * optional ResponseMetadata metadata = 5;
+ * optional ResponseMetadata metadata = 3;
  * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata}
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.getMetadata = function() {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.prototype.getMetadata = function() {
   return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 5));
+    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.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0} returns this
 */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.setMetadata = function(value) {
-  return jspb.Message.setWrapperField(this, 5, value);
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.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.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.clearMetadata = function() {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.prototype.clearMetadata = function() {
   return this.setMetadata(undefined);
 };
 
@@ -45422,35 +51504,35 @@ proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsI
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0.prototype.hasMetadata = function() {
-  return jspb.Message.getField(this, 5) != null;
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.prototype.hasMetadata = function() {
+  return jspb.Message.getField(this, 3) != null;
 };
 
 
 /**
- * optional GetCurrentQuorumsInfoResponseV0 v0 = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0}
+ * optional GetIdentitiesTokenBalancesResponseV0 v0 = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0}
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.prototype.getV0 = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0, 1));
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.prototype.getV0 = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0, 1));
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.GetCurrentQuorumsInfoResponseV0|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse} returns this
+ * @param {?proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse} returns this
 */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.prototype.setV0 = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.oneofGroups_[0], value);
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.prototype.setV0 = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.oneofGroups_[0], value);
 };
 
 
 /**
  * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse} returns this
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.prototype.clearV0 = function() {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.prototype.clearV0 = function() {
   return this.setV0(undefined);
 };
 
@@ -45459,7 +51541,7 @@ proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.prototype.clearV0
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.prototype.hasV0 = function() {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.prototype.hasV0 = function() {
   return jspb.Message.getField(this, 1) != null;
 };
 
@@ -45473,21 +51555,21 @@ proto.org.dash.platform.dapi.v0.GetCurrentQuorumsInfoResponse.prototype.hasV0 =
  * @private {!Array>}
  * @const
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.oneofGroups_ = [[1]];
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.oneofGroups_ = [[1]];
 
 /**
  * @enum {number}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.VersionCase = {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.VersionCase = {
   VERSION_NOT_SET: 0,
   V0: 1
 };
 
 /**
- * @return {proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.VersionCase}
+ * @return {proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.VersionCase}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.prototype.getVersionCase = function() {
-  return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.oneofGroups_[0]));
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.prototype.getVersionCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.oneofGroups_[0]));
 };
 
 
@@ -45505,8 +51587,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.toObject(opt_includeInstance, this);
 };
 
 
@@ -45515,13 +51597,13 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.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.GetIdentityTokenBalancesRequest} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.toObject = function(includeInstance, msg) {
   var f, obj = {
-    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.toObject(includeInstance, f)
+    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.toObject(includeInstance, f)
   };
 
   if (includeInstance) {
@@ -45535,23 +51617,23 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.toObject = funct
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest}
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest;
-  return proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest;
+  return proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest}
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -45559,8 +51641,8 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.deserializeBinar
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.deserializeBinaryFromReader);
+      var value = new proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.deserializeBinaryFromReader);
       msg.setV0(value);
       break;
     default:
@@ -45576,9 +51658,9 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.deserializeBinar
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -45586,18 +51668,18 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.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.GetIdentityTokenBalancesRequest} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
   f = message.getV0();
   if (f != null) {
     writer.writeMessage(
       1,
       f,
-      proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.serializeBinaryToWriter
     );
   }
 };
@@ -45609,7 +51691,7 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.serializeBinaryT
  * @private {!Array}
  * @const
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.repeatedFields_ = [2];
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.repeatedFields_ = [2];
 
 
 
@@ -45626,8 +51708,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.toObject(opt_includeInstance, this);
 };
 
 
@@ -45636,11 +51718,11 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityToken
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.toObject = function(includeInstance, msg) {
   var f, obj = {
     identityId: msg.getIdentityId_asB64(),
     tokenIdsList: msg.getTokenIdsList_asB64(),
@@ -45658,23 +51740,23 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityToken
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0;
-  return proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0;
+  return proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -45706,9 +51788,9 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityToken
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -45716,11 +51798,11 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityToken
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
   f = message.getIdentityId_asU8();
   if (f.length > 0) {
@@ -45750,7 +51832,7 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityToken
  * optional bytes identity_id = 1;
  * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.prototype.getIdentityId = function() {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.prototype.getIdentityId = function() {
   return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
 };
 
@@ -45760,7 +51842,7 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityToken
  * This is a type-conversion wrapper around `getIdentityId()`
  * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.prototype.getIdentityId_asB64 = function() {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.prototype.getIdentityId_asB64 = function() {
   return /** @type {string} */ (jspb.Message.bytesAsB64(
       this.getIdentityId()));
 };
@@ -45773,7 +51855,7 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityToken
  * This is a type-conversion wrapper around `getIdentityId()`
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.prototype.getIdentityId_asU8 = function() {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.prototype.getIdentityId_asU8 = function() {
   return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
       this.getIdentityId()));
 };
@@ -45781,9 +51863,9 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityToken
 
 /**
  * @param {!(string|Uint8Array)} value
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.prototype.setIdentityId = function(value) {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.prototype.setIdentityId = function(value) {
   return jspb.Message.setProto3BytesField(this, 1, value);
 };
 
@@ -45792,7 +51874,7 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityToken
  * repeated bytes token_ids = 2;
  * @return {!Array}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.prototype.getTokenIdsList = function() {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.prototype.getTokenIdsList = function() {
   return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 2));
 };
 
@@ -45802,7 +51884,7 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityToken
  * This is a type-conversion wrapper around `getTokenIdsList()`
  * @return {!Array}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.prototype.getTokenIdsList_asB64 = function() {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.prototype.getTokenIdsList_asB64 = function() {
   return /** @type {!Array} */ (jspb.Message.bytesListAsB64(
       this.getTokenIdsList()));
 };
@@ -45815,7 +51897,7 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityToken
  * This is a type-conversion wrapper around `getTokenIdsList()`
  * @return {!Array}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.prototype.getTokenIdsList_asU8 = function() {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.prototype.getTokenIdsList_asU8 = function() {
   return /** @type {!Array} */ (jspb.Message.bytesListAsU8(
       this.getTokenIdsList()));
 };
@@ -45823,9 +51905,9 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityToken
 
 /**
  * @param {!(Array|Array)} value
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.prototype.setTokenIdsList = function(value) {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.prototype.setTokenIdsList = function(value) {
   return jspb.Message.setField(this, 2, value || []);
 };
 
@@ -45833,18 +51915,18 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityToken
 /**
  * @param {!(string|Uint8Array)} value
  * @param {number=} opt_index
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.prototype.addTokenIds = function(value, opt_index) {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.prototype.addTokenIds = function(value, opt_index) {
   return jspb.Message.addToRepeatedField(this, 2, value, opt_index);
 };
 
 
 /**
  * Clears the list making it empty but non-null.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.prototype.clearTokenIdsList = function() {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.prototype.clearTokenIdsList = function() {
   return this.setTokenIdsList([]);
 };
 
@@ -45853,44 +51935,44 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityToken
  * optional bool prove = 3;
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.prototype.getProve = function() {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.prototype.getProve = function() {
   return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 3, false));
 };
 
 
 /**
  * @param {boolean} value
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0.prototype.setProve = function(value) {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.prototype.setProve = function(value) {
   return jspb.Message.setProto3BooleanField(this, 3, value);
 };
 
 
 /**
- * optional GetIdentityTokenBalancesRequestV0 v0 = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0}
+ * optional GetIdentityTokenInfosRequestV0 v0 = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.prototype.getV0 = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0, 1));
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.prototype.getV0 = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0, 1));
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.GetIdentityTokenBalancesRequestV0|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest} returns this
+ * @param {?proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest} returns this
 */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.prototype.setV0 = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.oneofGroups_[0], value);
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.prototype.setV0 = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.oneofGroups_[0], value);
 };
 
 
 /**
  * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest} returns this
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.prototype.clearV0 = function() {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.prototype.clearV0 = function() {
   return this.setV0(undefined);
 };
 
@@ -45899,7 +51981,7 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.prototype.clearV
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.prototype.hasV0 = function() {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.prototype.hasV0 = function() {
   return jspb.Message.getField(this, 1) != null;
 };
 
@@ -45913,21 +51995,21 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesRequest.prototype.hasV0
  * @private {!Array>}
  * @const
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.oneofGroups_ = [[1]];
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.oneofGroups_ = [[1]];
 
 /**
  * @enum {number}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.VersionCase = {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.VersionCase = {
   VERSION_NOT_SET: 0,
   V0: 1
 };
 
 /**
- * @return {proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.VersionCase}
+ * @return {proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.VersionCase}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.prototype.getVersionCase = function() {
-  return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.oneofGroups_[0]));
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.prototype.getVersionCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.oneofGroups_[0]));
 };
 
 
@@ -45945,8 +52027,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.toObject(opt_includeInstance, this);
 };
 
 
@@ -45955,13 +52037,155 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.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.GetIdentityTokenBalancesResponse} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.toObject = function(includeInstance, msg) {
+  var f, obj = {
+    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.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.GetIdentityTokenInfosResponse}
+ */
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.deserializeBinary = function(bytes) {
+  var reader = new jspb.BinaryReader(bytes);
+  var msg = new proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse;
+  return proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.deserializeBinaryFromReader(msg, reader);
+};
+
+
+/**
+ * Deserializes binary data (in protobuf wire format) from the
+ * given reader into the given message object.
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse} msg The message object to deserialize into.
+ * @param {!jspb.BinaryReader} reader The BinaryReader to use.
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse}
+ */
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.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.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.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.GetIdentityTokenInfosResponse.prototype.serializeBinary = function() {
+  var writer = new jspb.BinaryWriter();
+  proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.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.GetIdentityTokenInfosResponse} message
+ * @param {!jspb.BinaryWriter} writer
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.serializeBinaryToWriter = function(message, writer) {
+  var f = undefined;
+  f = message.getV0();
+  if (f != null) {
+    writer.writeMessage(
+      1,
+      f,
+      proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.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.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.oneofGroups_ = [[1,2]];
+
+/**
+ * @enum {number}
+ */
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.ResultCase = {
+  RESULT_NOT_SET: 0,
+  TOKEN_INFOS: 1,
+  PROOF: 2
+};
+
+/**
+ * @return {proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.ResultCase}
+ */
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.prototype.getResultCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.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.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.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.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0} msg The msg instance to transform.
+ * @return {!Object}
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.toObject = function(includeInstance, msg) {
   var f, obj = {
-    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.toObject(includeInstance, f)
+    tokenInfos: (f = msg.getTokenInfos()) && proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos.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) {
@@ -45975,23 +52199,23 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.toObject = func
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse}
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse;
-  return proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0;
+  return proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse}
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -45999,9 +52223,19 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.deserializeBina
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.deserializeBinaryFromReader);
-      msg.setV0(value);
+      var value = new proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos.deserializeBinaryFromReader);
+      msg.setTokenInfos(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();
@@ -46016,9 +52250,9 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.deserializeBina
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -46026,50 +52260,40 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.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.GetIdentityTokenBalancesResponse} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getV0();
+  f = message.getTokenInfos();
   if (f != null) {
     writer.writeMessage(
       1,
       f,
-      proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos.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
     );
   }
 };
 
 
 
-/**
- * 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.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.oneofGroups_ = [[1,2]];
-
-/**
- * @enum {number}
- */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.ResultCase = {
-  RESULT_NOT_SET: 0,
-  TOKEN_BALANCES: 1,
-  PROOF: 2
-};
-
-/**
- * @return {proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.ResultCase}
- */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.prototype.getResultCase = function() {
-  return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.oneofGroups_[0]));
-};
-
 
 
 if (jspb.Message.GENERATE_TO_OBJECT) {
@@ -46085,8 +52309,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry.toObject(opt_includeInstance, this);
 };
 
 
@@ -46095,15 +52319,13 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityToke
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry.toObject = function(includeInstance, msg) {
   var f, obj = {
-    tokenBalances: (f = msg.getTokenBalances()) && proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances.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)
+    frozen: jspb.Message.getBooleanFieldWithDefault(msg, 1, false)
   };
 
   if (includeInstance) {
@@ -46117,23 +52339,23 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityToke
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0;
-  return proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry;
+  return proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -46141,19 +52363,8 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityToke
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances.deserializeBinaryFromReader);
-      msg.setTokenBalances(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.setFrozen(value);
       break;
     default:
       reader.skipField();
@@ -46168,9 +52379,9 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityToke
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -46178,39 +52389,40 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityToke
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getTokenBalances();
-  if (f != null) {
-    writer.writeMessage(
+  f = message.getFrozen();
+  if (f) {
+    writer.writeBool(
       1,
-      f,
-      proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances.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
+      f
     );
   }
 };
 
 
+/**
+ * optional bool frozen = 1;
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry.prototype.getFrozen = function() {
+  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 1, false));
+};
+
+
+/**
+ * @param {boolean} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry.prototype.setFrozen = function(value) {
+  return jspb.Message.setProto3BooleanField(this, 1, value);
+};
+
+
 
 
 
@@ -46227,8 +52439,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry.toObject(opt_includeInstance, this);
 };
 
 
@@ -46237,14 +52449,14 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityToke
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry.toObject = function(includeInstance, msg) {
   var f, obj = {
     tokenId: msg.getTokenId_asB64(),
-    balance: jspb.Message.getFieldWithDefault(msg, 2, 0)
+    info: (f = msg.getInfo()) && proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry.toObject(includeInstance, f)
   };
 
   if (includeInstance) {
@@ -46258,23 +52470,23 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityToke
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry}
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry;
-  return proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry;
+  return proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry}
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -46286,8 +52498,9 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityToke
       msg.setTokenId(value);
       break;
     case 2:
-      var value = /** @type {number} */ (reader.readUint64());
-      msg.setBalance(value);
+      var value = new proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry.deserializeBinaryFromReader);
+      msg.setInfo(value);
       break;
     default:
       reader.skipField();
@@ -46302,9 +52515,9 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityToke
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -46312,11 +52525,11 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityToke
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
   f = message.getTokenId_asU8();
   if (f.length > 0) {
@@ -46325,11 +52538,12 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityToke
       f
     );
   }
-  f = /** @type {number} */ (jspb.Message.getField(message, 2));
+  f = message.getInfo();
   if (f != null) {
-    writer.writeUint64(
+    writer.writeMessage(
       2,
-      f
+      f,
+      proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry.serializeBinaryToWriter
     );
   }
 };
@@ -46339,7 +52553,7 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityToke
  * optional bytes token_id = 1;
  * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry.prototype.getTokenId = function() {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry.prototype.getTokenId = function() {
   return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
 };
 
@@ -46349,7 +52563,7 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityToke
  * This is a type-conversion wrapper around `getTokenId()`
  * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry.prototype.getTokenId_asB64 = function() {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry.prototype.getTokenId_asB64 = function() {
   return /** @type {string} */ (jspb.Message.bytesAsB64(
       this.getTokenId()));
 };
@@ -46362,7 +52576,7 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityToke
  * This is a type-conversion wrapper around `getTokenId()`
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry.prototype.getTokenId_asU8 = function() {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry.prototype.getTokenId_asU8 = function() {
   return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
       this.getTokenId()));
 };
@@ -46370,37 +52584,38 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityToke
 
 /**
  * @param {!(string|Uint8Array)} value
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry} returns this
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry.prototype.setTokenId = function(value) {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry.prototype.setTokenId = function(value) {
   return jspb.Message.setProto3BytesField(this, 1, value);
 };
 
 
 /**
- * optional uint64 balance = 2;
- * @return {number}
+ * optional TokenIdentityInfoEntry info = 2;
+ * @return {?proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry.prototype.getBalance = function() {
-  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry.prototype.getInfo = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry, 2));
 };
 
 
 /**
- * @param {number} value
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry} returns this
- */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry.prototype.setBalance = function(value) {
-  return jspb.Message.setField(this, 2, value);
+ * @param {?proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry.prototype.setInfo = function(value) {
+  return jspb.Message.setWrapperField(this, 2, value);
 };
 
 
 /**
- * Clears the field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry} returns this
+ * Clears the message field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry} returns this
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry.prototype.clearBalance = function() {
-  return jspb.Message.setField(this, 2, undefined);
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry.prototype.clearInfo = function() {
+  return this.setInfo(undefined);
 };
 
 
@@ -46408,7 +52623,7 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityToke
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry.prototype.hasBalance = function() {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry.prototype.hasInfo = function() {
   return jspb.Message.getField(this, 2) != null;
 };
 
@@ -46419,7 +52634,7 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityToke
  * @private {!Array}
  * @const
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances.repeatedFields_ = [1];
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos.repeatedFields_ = [1];
 
 
 
@@ -46436,8 +52651,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos.toObject(opt_includeInstance, this);
 };
 
 
@@ -46446,14 +52661,14 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityToke
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos.toObject = function(includeInstance, msg) {
   var f, obj = {
-    tokenBalancesList: jspb.Message.toObjectList(msg.getTokenBalancesList(),
-    proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry.toObject, includeInstance)
+    tokenInfosList: jspb.Message.toObjectList(msg.getTokenInfosList(),
+    proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry.toObject, includeInstance)
   };
 
   if (includeInstance) {
@@ -46467,23 +52682,23 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityToke
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances}
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances;
-  return proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos;
+  return proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances}
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -46491,9 +52706,9 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityToke
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry.deserializeBinaryFromReader);
-      msg.addTokenBalances(value);
+      var value = new proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry.deserializeBinaryFromReader);
+      msg.addTokenInfos(value);
       break;
     default:
       reader.skipField();
@@ -46508,9 +52723,9 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityToke
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -46518,86 +52733,86 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityToke
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getTokenBalancesList();
+  f = message.getTokenInfosList();
   if (f.length > 0) {
     writer.writeRepeatedMessage(
       1,
       f,
-      proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry.serializeBinaryToWriter
     );
   }
 };
 
 
 /**
- * repeated TokenBalanceEntry token_balances = 1;
- * @return {!Array}
+ * repeated TokenInfoEntry token_infos = 1;
+ * @return {!Array}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances.prototype.getTokenBalancesList = function() {
-  return /** @type{!Array} */ (
-    jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry, 1));
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos.prototype.getTokenInfosList = function() {
+  return /** @type{!Array} */ (
+    jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry, 1));
 };
 
 
 /**
- * @param {!Array} value
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances} returns this
+ * @param {!Array} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos} returns this
 */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances.prototype.setTokenBalancesList = function(value) {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos.prototype.setTokenInfosList = function(value) {
   return jspb.Message.setRepeatedWrapperField(this, 1, value);
 };
 
 
 /**
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry=} opt_value
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry=} opt_value
  * @param {number=} opt_index
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry}
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances.prototype.addTokenBalances = function(opt_value, opt_index) {
-  return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalanceEntry, opt_index);
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos.prototype.addTokenInfos = function(opt_value, opt_index) {
+  return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry, opt_index);
 };
 
 
 /**
  * Clears the list making it empty but non-null.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos} returns this
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances.prototype.clearTokenBalancesList = function() {
-  return this.setTokenBalancesList([]);
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos.prototype.clearTokenInfosList = function() {
+  return this.setTokenInfosList([]);
 };
 
 
 /**
- * optional TokenBalances token_balances = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances}
+ * optional TokenInfos token_infos = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.prototype.getTokenBalances = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances, 1));
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.prototype.getTokenInfos = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos, 1));
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.TokenBalances|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0} returns this
+ * @param {?proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0} returns this
 */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.prototype.setTokenBalances = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.oneofGroups_[0], value);
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.prototype.setTokenInfos = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.oneofGroups_[0], value);
 };
 
 
 /**
  * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.prototype.clearTokenBalances = function() {
-  return this.setTokenBalances(undefined);
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.prototype.clearTokenInfos = function() {
+  return this.setTokenInfos(undefined);
 };
 
 
@@ -46605,7 +52820,7 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityToke
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.prototype.hasTokenBalances = function() {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.prototype.hasTokenInfos = function() {
   return jspb.Message.getField(this, 1) != null;
 };
 
@@ -46614,7 +52829,7 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityToke
  * optional Proof proof = 2;
  * @return {?proto.org.dash.platform.dapi.v0.Proof}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.prototype.getProof = function() {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.prototype.getProof = function() {
   return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ (
     jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2));
 };
@@ -46622,18 +52837,18 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityToke
 
 /**
  * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0} returns this
 */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.prototype.setProof = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.oneofGroups_[0], value);
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.prototype.setProof = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.oneofGroups_[0], value);
 };
 
 
 /**
  * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.prototype.clearProof = function() {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.prototype.clearProof = function() {
   return this.setProof(undefined);
 };
 
@@ -46642,7 +52857,7 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityToke
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.prototype.hasProof = function() {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.prototype.hasProof = function() {
   return jspb.Message.getField(this, 2) != null;
 };
 
@@ -46651,7 +52866,7 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityToke
  * optional ResponseMetadata metadata = 3;
  * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.prototype.getMetadata = function() {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.prototype.getMetadata = function() {
   return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ (
     jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3));
 };
@@ -46659,18 +52874,18 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityToke
 
 /**
  * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0} returns this
 */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.prototype.setMetadata = function(value) {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.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.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.prototype.clearMetadata = function() {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.prototype.clearMetadata = function() {
   return this.setMetadata(undefined);
 };
 
@@ -46679,35 +52894,35 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityToke
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0.prototype.hasMetadata = function() {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.prototype.hasMetadata = function() {
   return jspb.Message.getField(this, 3) != null;
 };
 
 
 /**
- * optional GetIdentityTokenBalancesResponseV0 v0 = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0}
+ * optional GetIdentityTokenInfosResponseV0 v0 = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.prototype.getV0 = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0, 1));
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.prototype.getV0 = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0, 1));
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.GetIdentityTokenBalancesResponseV0|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse} returns this
+ * @param {?proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse} returns this
 */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.prototype.setV0 = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.oneofGroups_[0], value);
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.prototype.setV0 = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.oneofGroups_[0], value);
 };
 
 
 /**
  * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse} returns this
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.prototype.clearV0 = function() {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.prototype.clearV0 = function() {
   return this.setV0(undefined);
 };
 
@@ -46716,7 +52931,7 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.prototype.clear
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.prototype.hasV0 = function() {
+proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.prototype.hasV0 = function() {
   return jspb.Message.getField(this, 1) != null;
 };
 
@@ -46730,21 +52945,21 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenBalancesResponse.prototype.hasV0
  * @private {!Array>}
  * @const
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.oneofGroups_ = [[1]];
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.oneofGroups_ = [[1]];
 
 /**
  * @enum {number}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.VersionCase = {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.VersionCase = {
   VERSION_NOT_SET: 0,
   V0: 1
 };
 
 /**
- * @return {proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.VersionCase}
+ * @return {proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.VersionCase}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.prototype.getVersionCase = function() {
-  return /** @type {proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.oneofGroups_[0]));
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.prototype.getVersionCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.oneofGroups_[0]));
 };
 
 
@@ -46762,8 +52977,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.toObject(opt_includeInstance, this);
 };
 
 
@@ -46772,13 +52987,13 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.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.GetIdentitiesTokenBalancesRequest} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.toObject = function(includeInstance, msg) {
   var f, obj = {
-    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.toObject(includeInstance, f)
+    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.toObject(includeInstance, f)
   };
 
   if (includeInstance) {
@@ -46792,23 +53007,23 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.toObject = fun
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest}
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest;
-  return proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest;
+  return proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest}
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -46816,8 +53031,8 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.deserializeBin
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.deserializeBinaryFromReader);
+      var value = new proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.deserializeBinaryFromReader);
       msg.setV0(value);
       break;
     default:
@@ -46833,9 +53048,9 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.deserializeBin
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -46843,18 +53058,18 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.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.GetIdentitiesTokenBalancesRequest} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
   f = message.getV0();
   if (f != null) {
     writer.writeMessage(
       1,
       f,
-      proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.serializeBinaryToWriter
     );
   }
 };
@@ -46866,7 +53081,7 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.serializeBinar
  * @private {!Array}
  * @const
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.repeatedFields_ = [2];
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.repeatedFields_ = [2];
 
 
 
@@ -46883,8 +53098,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.toObject(opt_includeInstance, this);
 };
 
 
@@ -46893,11 +53108,11 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesT
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.toObject = function(includeInstance, msg) {
   var f, obj = {
     tokenId: msg.getTokenId_asB64(),
     identityIdsList: msg.getIdentityIdsList_asB64(),
@@ -46915,23 +53130,23 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesT
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0;
-  return proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0;
+  return proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -46963,9 +53178,9 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesT
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -46973,11 +53188,11 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesT
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
   f = message.getTokenId_asU8();
   if (f.length > 0) {
@@ -47007,7 +53222,7 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesT
  * optional bytes token_id = 1;
  * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.prototype.getTokenId = function() {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.prototype.getTokenId = function() {
   return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
 };
 
@@ -47017,7 +53232,7 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesT
  * This is a type-conversion wrapper around `getTokenId()`
  * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.prototype.getTokenId_asB64 = function() {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.prototype.getTokenId_asB64 = function() {
   return /** @type {string} */ (jspb.Message.bytesAsB64(
       this.getTokenId()));
 };
@@ -47030,7 +53245,7 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesT
  * This is a type-conversion wrapper around `getTokenId()`
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.prototype.getTokenId_asU8 = function() {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.prototype.getTokenId_asU8 = function() {
   return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
       this.getTokenId()));
 };
@@ -47038,9 +53253,9 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesT
 
 /**
  * @param {!(string|Uint8Array)} value
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.prototype.setTokenId = function(value) {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.prototype.setTokenId = function(value) {
   return jspb.Message.setProto3BytesField(this, 1, value);
 };
 
@@ -47049,7 +53264,7 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesT
  * repeated bytes identity_ids = 2;
  * @return {!Array}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.prototype.getIdentityIdsList = function() {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.prototype.getIdentityIdsList = function() {
   return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 2));
 };
 
@@ -47059,7 +53274,7 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesT
  * This is a type-conversion wrapper around `getIdentityIdsList()`
  * @return {!Array}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.prototype.getIdentityIdsList_asB64 = function() {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.prototype.getIdentityIdsList_asB64 = function() {
   return /** @type {!Array} */ (jspb.Message.bytesListAsB64(
       this.getIdentityIdsList()));
 };
@@ -47072,7 +53287,7 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesT
  * This is a type-conversion wrapper around `getIdentityIdsList()`
  * @return {!Array}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.prototype.getIdentityIdsList_asU8 = function() {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.prototype.getIdentityIdsList_asU8 = function() {
   return /** @type {!Array} */ (jspb.Message.bytesListAsU8(
       this.getIdentityIdsList()));
 };
@@ -47080,9 +53295,9 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesT
 
 /**
  * @param {!(Array|Array)} value
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.prototype.setIdentityIdsList = function(value) {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.prototype.setIdentityIdsList = function(value) {
   return jspb.Message.setField(this, 2, value || []);
 };
 
@@ -47090,18 +53305,18 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesT
 /**
  * @param {!(string|Uint8Array)} value
  * @param {number=} opt_index
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.prototype.addIdentityIds = function(value, opt_index) {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.prototype.addIdentityIds = function(value, opt_index) {
   return jspb.Message.addToRepeatedField(this, 2, value, opt_index);
 };
 
 
 /**
  * Clears the list making it empty but non-null.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.prototype.clearIdentityIdsList = function() {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.prototype.clearIdentityIdsList = function() {
   return this.setIdentityIdsList([]);
 };
 
@@ -47110,44 +53325,44 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesT
  * optional bool prove = 3;
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.prototype.getProve = function() {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.prototype.getProve = function() {
   return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 3, false));
 };
 
 
 /**
  * @param {boolean} value
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0.prototype.setProve = function(value) {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.prototype.setProve = function(value) {
   return jspb.Message.setProto3BooleanField(this, 3, value);
 };
 
 
 /**
- * optional GetIdentitiesTokenBalancesRequestV0 v0 = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0}
+ * optional GetIdentitiesTokenInfosRequestV0 v0 = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.prototype.getV0 = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0, 1));
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.prototype.getV0 = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0, 1));
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.GetIdentitiesTokenBalancesRequestV0|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest} returns this
+ * @param {?proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest} returns this
 */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.prototype.setV0 = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.oneofGroups_[0], value);
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.prototype.setV0 = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.oneofGroups_[0], value);
 };
 
 
 /**
  * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest} returns this
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.prototype.clearV0 = function() {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.prototype.clearV0 = function() {
   return this.setV0(undefined);
 };
 
@@ -47156,7 +53371,7 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.prototype.clea
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.prototype.hasV0 = function() {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.prototype.hasV0 = function() {
   return jspb.Message.getField(this, 1) != null;
 };
 
@@ -47170,21 +53385,21 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesRequest.prototype.hasV
  * @private {!Array>}
  * @const
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.oneofGroups_ = [[1]];
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.oneofGroups_ = [[1]];
 
 /**
  * @enum {number}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.VersionCase = {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.VersionCase = {
   VERSION_NOT_SET: 0,
   V0: 1
 };
 
 /**
- * @return {proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.VersionCase}
+ * @return {proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.VersionCase}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.prototype.getVersionCase = function() {
-  return /** @type {proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.oneofGroups_[0]));
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.prototype.getVersionCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.oneofGroups_[0]));
 };
 
 
@@ -47202,8 +53417,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.toObject(opt_includeInstance, this);
 };
 
 
@@ -47212,13 +53427,13 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.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.GetIdentitiesTokenBalancesResponse} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.toObject = function(includeInstance, msg) {
   var f, obj = {
-    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.toObject(includeInstance, f)
+    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.toObject(includeInstance, f)
   };
 
   if (includeInstance) {
@@ -47232,23 +53447,23 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.toObject = fu
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse}
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse;
-  return proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse;
+  return proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse}
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -47256,8 +53471,8 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.deserializeBi
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.deserializeBinaryFromReader);
+      var value = new proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.deserializeBinaryFromReader);
       msg.setV0(value);
       break;
     default:
@@ -47273,9 +53488,9 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.deserializeBi
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -47283,18 +53498,18 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.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.GetIdentitiesTokenBalancesResponse} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
   f = message.getV0();
   if (f != null) {
     writer.writeMessage(
       1,
       f,
-      proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.serializeBinaryToWriter
     );
   }
 };
@@ -47309,22 +53524,22 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.serializeBina
  * @private {!Array>}
  * @const
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.oneofGroups_ = [[1,2]];
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.oneofGroups_ = [[1,2]];
 
 /**
  * @enum {number}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.ResultCase = {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.ResultCase = {
   RESULT_NOT_SET: 0,
-  IDENTITY_TOKEN_BALANCES: 1,
+  IDENTITY_TOKEN_INFOS: 1,
   PROOF: 2
 };
 
 /**
- * @return {proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.ResultCase}
+ * @return {proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.ResultCase}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.prototype.getResultCase = function() {
-  return /** @type {proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.oneofGroups_[0]));
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.prototype.getResultCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.oneofGroups_[0]));
 };
 
 
@@ -47342,8 +53557,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.toObject(opt_includeInstance, this);
 };
 
 
@@ -47352,13 +53567,13 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentities
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.toObject = function(includeInstance, msg) {
   var f, obj = {
-    identityTokenBalances: (f = msg.getIdentityTokenBalances()) && proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances.toObject(includeInstance, f),
+    identityTokenInfos: (f = msg.getIdentityTokenInfos()) && proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos.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)
   };
@@ -47374,23 +53589,23 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentities
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0;
-  return proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0;
+  return proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -47398,9 +53613,9 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentities
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances.deserializeBinaryFromReader);
-      msg.setIdentityTokenBalances(value);
+      var value = new proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos.deserializeBinaryFromReader);
+      msg.setIdentityTokenInfos(value);
       break;
     case 2:
       var value = new proto.org.dash.platform.dapi.v0.Proof;
@@ -47425,9 +53640,9 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentities
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -47435,18 +53650,18 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentities
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getIdentityTokenBalances();
+  f = message.getIdentityTokenInfos();
   if (f != null) {
     writer.writeMessage(
       1,
       f,
-      proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos.serializeBinaryToWriter
     );
   }
   f = message.getProof();
@@ -47484,8 +53699,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry.toObject(opt_includeInstance, this);
 };
 
 
@@ -47494,14 +53709,144 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentities
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry.toObject = function(includeInstance, msg) {
+  var f, obj = {
+    frozen: jspb.Message.getBooleanFieldWithDefault(msg, 1, 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.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry}
+ */
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry.deserializeBinary = function(bytes) {
+  var reader = new jspb.BinaryReader(bytes);
+  var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry;
+  return proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry.deserializeBinaryFromReader(msg, reader);
+};
+
+
+/**
+ * Deserializes binary data (in protobuf wire format) from the
+ * given reader into the given message object.
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry} msg The message object to deserialize into.
+ * @param {!jspb.BinaryReader} reader The BinaryReader to use.
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry}
+ */
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry.deserializeBinaryFromReader = function(msg, reader) {
+  while (reader.nextField()) {
+    if (reader.isEndGroup()) {
+      break;
+    }
+    var field = reader.getFieldNumber();
+    switch (field) {
+    case 1:
+      var value = /** @type {boolean} */ (reader.readBool());
+      msg.setFrozen(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.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry.prototype.serializeBinary = function() {
+  var writer = new jspb.BinaryWriter();
+  proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry.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.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry} message
+ * @param {!jspb.BinaryWriter} writer
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry.serializeBinaryToWriter = function(message, writer) {
+  var f = undefined;
+  f = message.getFrozen();
+  if (f) {
+    writer.writeBool(
+      1,
+      f
+    );
+  }
+};
+
+
+/**
+ * optional bool frozen = 1;
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry.prototype.getFrozen = function() {
+  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 1, false));
+};
+
+
+/**
+ * @param {boolean} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry.prototype.setFrozen = function(value) {
+  return jspb.Message.setProto3BooleanField(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.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry.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.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry} msg The msg instance to transform.
+ * @return {!Object}
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry.toObject = function(includeInstance, msg) {
   var f, obj = {
     identityId: msg.getIdentityId_asB64(),
-    balance: jspb.Message.getFieldWithDefault(msg, 2, 0)
+    info: (f = msg.getInfo()) && proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry.toObject(includeInstance, f)
   };
 
   if (includeInstance) {
@@ -47515,23 +53860,23 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentities
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry}
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry;
-  return proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry;
+  return proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry}
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -47543,8 +53888,9 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentities
       msg.setIdentityId(value);
       break;
     case 2:
-      var value = /** @type {number} */ (reader.readUint64());
-      msg.setBalance(value);
+      var value = new proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry.deserializeBinaryFromReader);
+      msg.setInfo(value);
       break;
     default:
       reader.skipField();
@@ -47559,9 +53905,9 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentities
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -47569,11 +53915,11 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentities
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
   f = message.getIdentityId_asU8();
   if (f.length > 0) {
@@ -47582,11 +53928,12 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentities
       f
     );
   }
-  f = /** @type {number} */ (jspb.Message.getField(message, 2));
+  f = message.getInfo();
   if (f != null) {
-    writer.writeUint64(
+    writer.writeMessage(
       2,
-      f
+      f,
+      proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry.serializeBinaryToWriter
     );
   }
 };
@@ -47596,7 +53943,7 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentities
  * optional bytes identity_id = 1;
  * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry.prototype.getIdentityId = function() {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry.prototype.getIdentityId = function() {
   return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
 };
 
@@ -47606,7 +53953,7 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentities
  * This is a type-conversion wrapper around `getIdentityId()`
  * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry.prototype.getIdentityId_asB64 = function() {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry.prototype.getIdentityId_asB64 = function() {
   return /** @type {string} */ (jspb.Message.bytesAsB64(
       this.getIdentityId()));
 };
@@ -47619,7 +53966,7 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentities
  * This is a type-conversion wrapper around `getIdentityId()`
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry.prototype.getIdentityId_asU8 = function() {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry.prototype.getIdentityId_asU8 = function() {
   return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
       this.getIdentityId()));
 };
@@ -47627,37 +53974,38 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentities
 
 /**
  * @param {!(string|Uint8Array)} value
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry} returns this
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry.prototype.setIdentityId = function(value) {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry.prototype.setIdentityId = function(value) {
   return jspb.Message.setProto3BytesField(this, 1, value);
 };
 
 
 /**
- * optional uint64 balance = 2;
- * @return {number}
+ * optional TokenIdentityInfoEntry info = 2;
+ * @return {?proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry.prototype.getBalance = function() {
-  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry.prototype.getInfo = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry, 2));
 };
 
 
 /**
- * @param {number} value
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry} returns this
- */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry.prototype.setBalance = function(value) {
-  return jspb.Message.setField(this, 2, value);
+ * @param {?proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry.prototype.setInfo = function(value) {
+  return jspb.Message.setWrapperField(this, 2, value);
 };
 
 
 /**
- * Clears the field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry} returns this
+ * Clears the message field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry} returns this
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry.prototype.clearBalance = function() {
-  return jspb.Message.setField(this, 2, undefined);
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry.prototype.clearInfo = function() {
+  return this.setInfo(undefined);
 };
 
 
@@ -47665,7 +54013,7 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentities
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry.prototype.hasBalance = function() {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry.prototype.hasInfo = function() {
   return jspb.Message.getField(this, 2) != null;
 };
 
@@ -47676,7 +54024,7 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentities
  * @private {!Array}
  * @const
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances.repeatedFields_ = [1];
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos.repeatedFields_ = [1];
 
 
 
@@ -47693,8 +54041,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos.toObject(opt_includeInstance, this);
 };
 
 
@@ -47703,14 +54051,14 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentities
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos.toObject = function(includeInstance, msg) {
   var f, obj = {
-    identityTokenBalancesList: jspb.Message.toObjectList(msg.getIdentityTokenBalancesList(),
-    proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry.toObject, includeInstance)
+    tokenInfosList: jspb.Message.toObjectList(msg.getTokenInfosList(),
+    proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry.toObject, includeInstance)
   };
 
   if (includeInstance) {
@@ -47724,23 +54072,23 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentities
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances}
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances;
-  return proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos;
+  return proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances}
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -47748,9 +54096,9 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentities
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry.deserializeBinaryFromReader);
-      msg.addIdentityTokenBalances(value);
+      var value = new proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry.deserializeBinaryFromReader);
+      msg.addTokenInfos(value);
       break;
     default:
       reader.skipField();
@@ -47765,9 +54113,9 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentities
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -47775,86 +54123,86 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentities
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getIdentityTokenBalancesList();
+  f = message.getTokenInfosList();
   if (f.length > 0) {
     writer.writeRepeatedMessage(
       1,
       f,
-      proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry.serializeBinaryToWriter
     );
   }
 };
 
 
 /**
- * repeated IdentityTokenBalanceEntry identity_token_balances = 1;
- * @return {!Array}
+ * repeated TokenInfoEntry token_infos = 1;
+ * @return {!Array}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances.prototype.getIdentityTokenBalancesList = function() {
-  return /** @type{!Array} */ (
-    jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry, 1));
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos.prototype.getTokenInfosList = function() {
+  return /** @type{!Array} */ (
+    jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry, 1));
 };
 
 
 /**
- * @param {!Array} value
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances} returns this
+ * @param {!Array} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos} returns this
 */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances.prototype.setIdentityTokenBalancesList = function(value) {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos.prototype.setTokenInfosList = function(value) {
   return jspb.Message.setRepeatedWrapperField(this, 1, value);
 };
 
 
 /**
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry=} opt_value
+ * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry=} opt_value
  * @param {number=} opt_index
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry}
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances.prototype.addIdentityTokenBalances = function(opt_value, opt_index) {
-  return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalanceEntry, opt_index);
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos.prototype.addTokenInfos = function(opt_value, opt_index) {
+  return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry, opt_index);
 };
 
 
 /**
  * Clears the list making it empty but non-null.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos} returns this
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances.prototype.clearIdentityTokenBalancesList = function() {
-  return this.setIdentityTokenBalancesList([]);
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos.prototype.clearTokenInfosList = function() {
+  return this.setTokenInfosList([]);
 };
 
 
 /**
- * optional IdentityTokenBalances identity_token_balances = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances}
+ * optional IdentityTokenInfos identity_token_infos = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.prototype.getIdentityTokenBalances = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances, 1));
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.prototype.getIdentityTokenInfos = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos, 1));
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.IdentityTokenBalances|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0} returns this
+ * @param {?proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0} returns this
 */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.prototype.setIdentityTokenBalances = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.oneofGroups_[0], value);
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.prototype.setIdentityTokenInfos = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.oneofGroups_[0], value);
 };
 
 
 /**
  * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.prototype.clearIdentityTokenBalances = function() {
-  return this.setIdentityTokenBalances(undefined);
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.prototype.clearIdentityTokenInfos = function() {
+  return this.setIdentityTokenInfos(undefined);
 };
 
 
@@ -47862,7 +54210,7 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentities
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.prototype.hasIdentityTokenBalances = function() {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.prototype.hasIdentityTokenInfos = function() {
   return jspb.Message.getField(this, 1) != null;
 };
 
@@ -47871,7 +54219,7 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentities
  * optional Proof proof = 2;
  * @return {?proto.org.dash.platform.dapi.v0.Proof}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.prototype.getProof = function() {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.prototype.getProof = function() {
   return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ (
     jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2));
 };
@@ -47879,18 +54227,18 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentities
 
 /**
  * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0} returns this
 */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.prototype.setProof = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.oneofGroups_[0], value);
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.prototype.setProof = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.oneofGroups_[0], value);
 };
 
 
 /**
  * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.prototype.clearProof = function() {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.prototype.clearProof = function() {
   return this.setProof(undefined);
 };
 
@@ -47899,7 +54247,7 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentities
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.prototype.hasProof = function() {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.prototype.hasProof = function() {
   return jspb.Message.getField(this, 2) != null;
 };
 
@@ -47908,7 +54256,7 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentities
  * optional ResponseMetadata metadata = 3;
  * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.prototype.getMetadata = function() {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.prototype.getMetadata = function() {
   return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ (
     jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3));
 };
@@ -47916,18 +54264,18 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentities
 
 /**
  * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0} returns this
 */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.prototype.setMetadata = function(value) {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.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.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.prototype.clearMetadata = function() {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.prototype.clearMetadata = function() {
   return this.setMetadata(undefined);
 };
 
@@ -47936,35 +54284,35 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentities
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0.prototype.hasMetadata = function() {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.prototype.hasMetadata = function() {
   return jspb.Message.getField(this, 3) != null;
 };
 
 
 /**
- * optional GetIdentitiesTokenBalancesResponseV0 v0 = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0}
+ * optional GetIdentitiesTokenInfosResponseV0 v0 = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.prototype.getV0 = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0, 1));
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.prototype.getV0 = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0, 1));
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.GetIdentitiesTokenBalancesResponseV0|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse} returns this
+ * @param {?proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse} returns this
 */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.prototype.setV0 = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.oneofGroups_[0], value);
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.prototype.setV0 = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.oneofGroups_[0], value);
 };
 
 
 /**
  * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse} returns this
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.prototype.clearV0 = function() {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.prototype.clearV0 = function() {
   return this.setV0(undefined);
 };
 
@@ -47973,7 +54321,7 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.prototype.cle
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.prototype.hasV0 = function() {
+proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.prototype.hasV0 = function() {
   return jspb.Message.getField(this, 1) != null;
 };
 
@@ -47987,21 +54335,21 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenBalancesResponse.prototype.has
  * @private {!Array>}
  * @const
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.oneofGroups_ = [[1]];
+proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.oneofGroups_ = [[1]];
 
 /**
  * @enum {number}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.VersionCase = {
+proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.VersionCase = {
   VERSION_NOT_SET: 0,
   V0: 1
 };
 
 /**
- * @return {proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.VersionCase}
+ * @return {proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.VersionCase}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.prototype.getVersionCase = function() {
-  return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.oneofGroups_[0]));
+proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.prototype.getVersionCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.oneofGroups_[0]));
 };
 
 
@@ -48019,8 +54367,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.toObject(opt_includeInstance, this);
 };
 
 
@@ -48029,13 +54377,13 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.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.GetIdentityTokenInfosRequest} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.toObject = function(includeInstance, msg) {
   var f, obj = {
-    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.toObject(includeInstance, f)
+    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0.toObject(includeInstance, f)
   };
 
   if (includeInstance) {
@@ -48049,23 +54397,23 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.toObject = function
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest;
-  return proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest;
+  return proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -48073,8 +54421,8 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.deserializeBinaryFr
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.deserializeBinaryFromReader);
+      var value = new proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0.deserializeBinaryFromReader);
       msg.setV0(value);
       break;
     default:
@@ -48090,9 +54438,9 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.deserializeBinaryFr
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -48100,18 +54448,18 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.prototype.serialize
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
   f = message.getV0();
   if (f != null) {
     writer.writeMessage(
       1,
       f,
-      proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0.serializeBinaryToWriter
     );
   }
 };
@@ -48123,7 +54471,7 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.serializeBinaryToWr
  * @private {!Array}
  * @const
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.repeatedFields_ = [2];
+proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0.repeatedFields_ = [1];
 
 
 
@@ -48140,8 +54488,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0.toObject(opt_includeInstance, this);
 };
 
 
@@ -48150,15 +54498,14 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInf
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0.toObject = function(includeInstance, msg) {
   var f, obj = {
-    identityId: msg.getIdentityId_asB64(),
     tokenIdsList: msg.getTokenIdsList_asB64(),
-    prove: jspb.Message.getBooleanFieldWithDefault(msg, 3, false)
+    prove: jspb.Message.getBooleanFieldWithDefault(msg, 2, false)
   };
 
   if (includeInstance) {
@@ -48172,23 +54519,23 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInf
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0;
-  return proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0;
+  return proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -48196,14 +54543,10 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInf
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = /** @type {!Uint8Array} */ (reader.readBytes());
-      msg.setIdentityId(value);
-      break;
-    case 2:
       var value = /** @type {!Uint8Array} */ (reader.readBytes());
       msg.addTokenIds(value);
       break;
-    case 3:
+    case 2:
       var value = /** @type {boolean} */ (reader.readBool());
       msg.setProve(value);
       break;
@@ -48220,9 +54563,9 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInf
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -48230,30 +54573,23 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInf
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getIdentityId_asU8();
-  if (f.length > 0) {
-    writer.writeBytes(
-      1,
-      f
-    );
-  }
   f = message.getTokenIdsList_asU8();
   if (f.length > 0) {
     writer.writeRepeatedBytes(
-      2,
+      1,
       f
     );
   }
   f = message.getProve();
   if (f) {
     writer.writeBool(
-      3,
+      2,
       f
     );
   }
@@ -48261,75 +54597,33 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInf
 
 
 /**
- * optional bytes identity_id = 1;
- * @return {string}
- */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.prototype.getIdentityId = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
-};
-
-
-/**
- * optional bytes identity_id = 1;
- * This is a type-conversion wrapper around `getIdentityId()`
- * @return {string}
- */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.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.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.prototype.getIdentityId_asU8 = function() {
-  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
-      this.getIdentityId()));
-};
-
-
-/**
- * @param {!(string|Uint8Array)} value
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0} returns this
- */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.prototype.setIdentityId = function(value) {
-  return jspb.Message.setProto3BytesField(this, 1, value);
-};
-
-
-/**
- * repeated bytes token_ids = 2;
+ * repeated bytes token_ids = 1;
  * @return {!Array}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.prototype.getTokenIdsList = function() {
-  return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 2));
+proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0.prototype.getTokenIdsList = function() {
+  return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1));
 };
 
 
 /**
- * repeated bytes token_ids = 2;
+ * repeated bytes token_ids = 1;
  * This is a type-conversion wrapper around `getTokenIdsList()`
  * @return {!Array}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.prototype.getTokenIdsList_asB64 = function() {
+proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0.prototype.getTokenIdsList_asB64 = function() {
   return /** @type {!Array} */ (jspb.Message.bytesListAsB64(
       this.getTokenIdsList()));
 };
 
 
 /**
- * repeated bytes token_ids = 2;
+ * repeated bytes token_ids = 1;
  * Note that Uint8Array is not supported on all browsers.
  * @see http://caniuse.com/Uint8Array
  * This is a type-conversion wrapper around `getTokenIdsList()`
  * @return {!Array}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.prototype.getTokenIdsList_asU8 = function() {
+proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0.prototype.getTokenIdsList_asU8 = function() {
   return /** @type {!Array} */ (jspb.Message.bytesListAsU8(
       this.getTokenIdsList()));
 };
@@ -48337,74 +54631,74 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInf
 
 /**
  * @param {!(Array|Array)} value
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.prototype.setTokenIdsList = function(value) {
-  return jspb.Message.setField(this, 2, value || []);
+proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0.prototype.setTokenIdsList = function(value) {
+  return jspb.Message.setField(this, 1, value || []);
 };
 
 
 /**
  * @param {!(string|Uint8Array)} value
  * @param {number=} opt_index
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.prototype.addTokenIds = function(value, opt_index) {
-  return jspb.Message.addToRepeatedField(this, 2, value, opt_index);
+proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0.prototype.addTokenIds = 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.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.prototype.clearTokenIdsList = function() {
+proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0.prototype.clearTokenIdsList = function() {
   return this.setTokenIdsList([]);
 };
 
 
 /**
- * optional bool prove = 3;
+ * optional bool prove = 2;
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.prototype.getProve = function() {
-  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 3, false));
+proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0.prototype.getProve = function() {
+  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));
 };
 
 
 /**
  * @param {boolean} value
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0.prototype.setProve = function(value) {
-  return jspb.Message.setProto3BooleanField(this, 3, value);
+proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0.prototype.setProve = function(value) {
+  return jspb.Message.setProto3BooleanField(this, 2, value);
 };
 
 
 /**
- * optional GetIdentityTokenInfosRequestV0 v0 = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0}
+ * optional GetTokenStatusesRequestV0 v0 = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.prototype.getV0 = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0, 1));
+proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.prototype.getV0 = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0, 1));
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.GetIdentityTokenInfosRequestV0|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest} returns this
+ * @param {?proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest} returns this
 */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.prototype.setV0 = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.oneofGroups_[0], value);
+proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.prototype.setV0 = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.oneofGroups_[0], value);
 };
 
 
 /**
  * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest} returns this
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.prototype.clearV0 = function() {
+proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.prototype.clearV0 = function() {
   return this.setV0(undefined);
 };
 
@@ -48413,7 +54707,7 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.prototype.clearV0 =
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.prototype.hasV0 = function() {
+proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.prototype.hasV0 = function() {
   return jspb.Message.getField(this, 1) != null;
 };
 
@@ -48427,21 +54721,21 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosRequest.prototype.hasV0 = f
  * @private {!Array>}
  * @const
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.oneofGroups_ = [[1]];
+proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.oneofGroups_ = [[1]];
 
 /**
  * @enum {number}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.VersionCase = {
+proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.VersionCase = {
   VERSION_NOT_SET: 0,
   V0: 1
 };
 
 /**
- * @return {proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.VersionCase}
+ * @return {proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.VersionCase}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.prototype.getVersionCase = function() {
-  return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.oneofGroups_[0]));
+proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.prototype.getVersionCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.oneofGroups_[0]));
 };
 
 
@@ -48459,8 +54753,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.toObject(opt_includeInstance, this);
 };
 
 
@@ -48469,13 +54763,13 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.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.GetIdentityTokenInfosResponse} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.toObject = function(includeInstance, msg) {
   var f, obj = {
-    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.toObject(includeInstance, f)
+    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.toObject(includeInstance, f)
   };
 
   if (includeInstance) {
@@ -48489,23 +54783,23 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.toObject = functio
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse;
-  return proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse;
+  return proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -48513,8 +54807,8 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.deserializeBinaryF
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.deserializeBinaryFromReader);
+      var value = new proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.deserializeBinaryFromReader);
       msg.setV0(value);
       break;
     default:
@@ -48530,9 +54824,9 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.deserializeBinaryF
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -48540,18 +54834,18 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.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.GetIdentityTokenInfosResponse} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
   f = message.getV0();
   if (f != null) {
     writer.writeMessage(
       1,
       f,
-      proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.serializeBinaryToWriter
     );
   }
 };
@@ -48566,22 +54860,22 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.serializeBinaryToW
  * @private {!Array>}
  * @const
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.oneofGroups_ = [[1,2]];
+proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.oneofGroups_ = [[1,2]];
 
 /**
  * @enum {number}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.ResultCase = {
+proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.ResultCase = {
   RESULT_NOT_SET: 0,
-  TOKEN_INFOS: 1,
+  TOKEN_STATUSES: 1,
   PROOF: 2
 };
 
 /**
- * @return {proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.ResultCase}
+ * @return {proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.ResultCase}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.prototype.getResultCase = function() {
-  return /** @type {proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.oneofGroups_[0]));
+proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.prototype.getResultCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.oneofGroups_[0]));
 };
 
 
@@ -48599,8 +54893,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.toObject(opt_includeInstance, this);
 };
 
 
@@ -48609,13 +54903,13 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenIn
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.toObject = function(includeInstance, msg) {
   var f, obj = {
-    tokenInfos: (f = msg.getTokenInfos()) && proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos.toObject(includeInstance, f),
+    tokenStatuses: (f = msg.getTokenStatuses()) && proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses.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)
   };
@@ -48631,23 +54925,23 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenIn
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0;
-  return proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0;
+  return proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -48655,9 +54949,9 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenIn
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos.deserializeBinaryFromReader);
-      msg.setTokenInfos(value);
+      var value = new proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses.deserializeBinaryFromReader);
+      msg.setTokenStatuses(value);
       break;
     case 2:
       var value = new proto.org.dash.platform.dapi.v0.Proof;
@@ -48682,9 +54976,9 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenIn
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -48692,18 +54986,18 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenIn
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getTokenInfos();
+  f = message.getTokenStatuses();
   if (f != null) {
     writer.writeMessage(
       1,
       f,
-      proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses.serializeBinaryToWriter
     );
   }
   f = message.getProof();
@@ -48741,138 +55035,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry.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.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry} msg The msg instance to transform.
- * @return {!Object}
- * @suppress {unusedLocalVariables} f is only used for nested messages
- */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry.toObject = function(includeInstance, msg) {
-  var f, obj = {
-    frozen: jspb.Message.getBooleanFieldWithDefault(msg, 1, 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.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry}
- */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry.deserializeBinary = function(bytes) {
-  var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry;
-  return proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry.deserializeBinaryFromReader(msg, reader);
-};
-
-
-/**
- * Deserializes binary data (in protobuf wire format) from the
- * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry} msg The message object to deserialize into.
- * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry}
- */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry.deserializeBinaryFromReader = function(msg, reader) {
-  while (reader.nextField()) {
-    if (reader.isEndGroup()) {
-      break;
-    }
-    var field = reader.getFieldNumber();
-    switch (field) {
-    case 1:
-      var value = /** @type {boolean} */ (reader.readBool());
-      msg.setFrozen(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.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry.prototype.serializeBinary = function() {
-  var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry.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.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry} message
- * @param {!jspb.BinaryWriter} writer
- * @suppress {unusedLocalVariables} f is only used for nested messages
- */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry.serializeBinaryToWriter = function(message, writer) {
-  var f = undefined;
-  f = message.getFrozen();
-  if (f) {
-    writer.writeBool(
-      1,
-      f
-    );
-  }
-};
-
-
-/**
- * optional bool frozen = 1;
- * @return {boolean}
- */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry.prototype.getFrozen = function() {
-  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 1, false));
-};
-
-
-/**
- * @param {boolean} value
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry} returns this
- */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry.prototype.setFrozen = function(value) {
-  return jspb.Message.setProto3BooleanField(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.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry.toObject(opt_includeInstance, this);
 };
 
 
@@ -48881,14 +55045,14 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenIn
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry.toObject = function(includeInstance, msg) {
   var f, obj = {
     tokenId: msg.getTokenId_asB64(),
-    info: (f = msg.getInfo()) && proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry.toObject(includeInstance, f)
+    paused: jspb.Message.getBooleanFieldWithDefault(msg, 2, false)
   };
 
   if (includeInstance) {
@@ -48902,23 +55066,23 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenIn
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry;
-  return proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry;
+  return proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -48930,9 +55094,8 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenIn
       msg.setTokenId(value);
       break;
     case 2:
-      var value = new proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry.deserializeBinaryFromReader);
-      msg.setInfo(value);
+      var value = /** @type {boolean} */ (reader.readBool());
+      msg.setPaused(value);
       break;
     default:
       reader.skipField();
@@ -48947,9 +55110,9 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenIn
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -48957,11 +55120,11 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenIn
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
   f = message.getTokenId_asU8();
   if (f.length > 0) {
@@ -48970,12 +55133,11 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenIn
       f
     );
   }
-  f = message.getInfo();
+  f = /** @type {boolean} */ (jspb.Message.getField(message, 2));
   if (f != null) {
-    writer.writeMessage(
+    writer.writeBool(
       2,
-      f,
-      proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry.serializeBinaryToWriter
+      f
     );
   }
 };
@@ -48985,7 +55147,7 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenIn
  * optional bytes token_id = 1;
  * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry.prototype.getTokenId = function() {
+proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry.prototype.getTokenId = function() {
   return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
 };
 
@@ -48995,7 +55157,7 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenIn
  * This is a type-conversion wrapper around `getTokenId()`
  * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry.prototype.getTokenId_asB64 = function() {
+proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry.prototype.getTokenId_asB64 = function() {
   return /** @type {string} */ (jspb.Message.bytesAsB64(
       this.getTokenId()));
 };
@@ -49008,7 +55170,7 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenIn
  * This is a type-conversion wrapper around `getTokenId()`
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry.prototype.getTokenId_asU8 = function() {
+proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry.prototype.getTokenId_asU8 = function() {
   return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
       this.getTokenId()));
 };
@@ -49016,38 +55178,37 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenIn
 
 /**
  * @param {!(string|Uint8Array)} value
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry} returns this
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry.prototype.setTokenId = function(value) {
+proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry.prototype.setTokenId = function(value) {
   return jspb.Message.setProto3BytesField(this, 1, value);
 };
 
 
 /**
- * optional TokenIdentityInfoEntry info = 2;
- * @return {?proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry}
+ * optional bool paused = 2;
+ * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry.prototype.getInfo = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry, 2));
+proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry.prototype.getPaused = function() {
+  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenIdentityInfoEntry|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry} returns this
-*/
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry.prototype.setInfo = function(value) {
-  return jspb.Message.setWrapperField(this, 2, value);
+ * @param {boolean} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry.prototype.setPaused = function(value) {
+  return jspb.Message.setField(this, 2, value);
 };
 
 
-/**
- * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry} returns this
+/**
+ * Clears the field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry} returns this
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry.prototype.clearInfo = function() {
-  return this.setInfo(undefined);
+proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry.prototype.clearPaused = function() {
+  return jspb.Message.setField(this, 2, undefined);
 };
 
 
@@ -49055,7 +55216,7 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenIn
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry.prototype.hasInfo = function() {
+proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry.prototype.hasPaused = function() {
   return jspb.Message.getField(this, 2) != null;
 };
 
@@ -49066,7 +55227,7 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenIn
  * @private {!Array}
  * @const
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos.repeatedFields_ = [1];
+proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses.repeatedFields_ = [1];
 
 
 
@@ -49083,8 +55244,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses.toObject(opt_includeInstance, this);
 };
 
 
@@ -49093,14 +55254,14 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenIn
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses.toObject = function(includeInstance, msg) {
   var f, obj = {
-    tokenInfosList: jspb.Message.toObjectList(msg.getTokenInfosList(),
-    proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry.toObject, includeInstance)
+    tokenStatusesList: jspb.Message.toObjectList(msg.getTokenStatusesList(),
+    proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry.toObject, includeInstance)
   };
 
   if (includeInstance) {
@@ -49114,23 +55275,23 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenIn
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos;
-  return proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses;
+  return proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -49138,9 +55299,9 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenIn
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry.deserializeBinaryFromReader);
-      msg.addTokenInfos(value);
+      var value = new proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry.deserializeBinaryFromReader);
+      msg.addTokenStatuses(value);
       break;
     default:
       reader.skipField();
@@ -49155,9 +55316,9 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenIn
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -49165,86 +55326,86 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenIn
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getTokenInfosList();
+  f = message.getTokenStatusesList();
   if (f.length > 0) {
     writer.writeRepeatedMessage(
       1,
       f,
-      proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry.serializeBinaryToWriter
     );
   }
 };
 
 
 /**
- * repeated TokenInfoEntry token_infos = 1;
- * @return {!Array}
+ * repeated TokenStatusEntry token_statuses = 1;
+ * @return {!Array}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos.prototype.getTokenInfosList = function() {
-  return /** @type{!Array} */ (
-    jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry, 1));
+proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses.prototype.getTokenStatusesList = function() {
+  return /** @type{!Array} */ (
+    jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry, 1));
 };
 
 
 /**
- * @param {!Array} value
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos} returns this
+ * @param {!Array} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses} returns this
 */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos.prototype.setTokenInfosList = function(value) {
+proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses.prototype.setTokenStatusesList = function(value) {
   return jspb.Message.setRepeatedWrapperField(this, 1, value);
 };
 
 
 /**
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry=} opt_value
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry=} opt_value
  * @param {number=} opt_index
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos.prototype.addTokenInfos = function(opt_value, opt_index) {
-  return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfoEntry, opt_index);
+proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses.prototype.addTokenStatuses = function(opt_value, opt_index) {
+  return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry, opt_index);
 };
 
 
 /**
  * Clears the list making it empty but non-null.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses} returns this
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos.prototype.clearTokenInfosList = function() {
-  return this.setTokenInfosList([]);
+proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses.prototype.clearTokenStatusesList = function() {
+  return this.setTokenStatusesList([]);
 };
 
 
 /**
- * optional TokenInfos token_infos = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos}
+ * optional TokenStatuses token_statuses = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.prototype.getTokenInfos = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos, 1));
+proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.prototype.getTokenStatuses = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses, 1));
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.TokenInfos|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0} returns this
+ * @param {?proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0} returns this
 */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.prototype.setTokenInfos = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.oneofGroups_[0], value);
+proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.prototype.setTokenStatuses = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.oneofGroups_[0], value);
 };
 
 
 /**
  * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.prototype.clearTokenInfos = function() {
-  return this.setTokenInfos(undefined);
+proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.prototype.clearTokenStatuses = function() {
+  return this.setTokenStatuses(undefined);
 };
 
 
@@ -49252,7 +55413,7 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenIn
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.prototype.hasTokenInfos = function() {
+proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.prototype.hasTokenStatuses = function() {
   return jspb.Message.getField(this, 1) != null;
 };
 
@@ -49261,7 +55422,7 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenIn
  * optional Proof proof = 2;
  * @return {?proto.org.dash.platform.dapi.v0.Proof}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.prototype.getProof = function() {
+proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.prototype.getProof = function() {
   return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ (
     jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2));
 };
@@ -49269,18 +55430,18 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenIn
 
 /**
  * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0} returns this
 */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.prototype.setProof = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.oneofGroups_[0], value);
+proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.prototype.setProof = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.oneofGroups_[0], value);
 };
 
 
 /**
  * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.prototype.clearProof = function() {
+proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.prototype.clearProof = function() {
   return this.setProof(undefined);
 };
 
@@ -49289,7 +55450,7 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenIn
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.prototype.hasProof = function() {
+proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.prototype.hasProof = function() {
   return jspb.Message.getField(this, 2) != null;
 };
 
@@ -49298,7 +55459,7 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenIn
  * optional ResponseMetadata metadata = 3;
  * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.prototype.getMetadata = function() {
+proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.prototype.getMetadata = function() {
   return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ (
     jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3));
 };
@@ -49306,18 +55467,18 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenIn
 
 /**
  * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0} returns this
 */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.prototype.setMetadata = function(value) {
+proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.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.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.prototype.clearMetadata = function() {
+proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.prototype.clearMetadata = function() {
   return this.setMetadata(undefined);
 };
 
@@ -49326,35 +55487,35 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenIn
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0.prototype.hasMetadata = function() {
+proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.prototype.hasMetadata = function() {
   return jspb.Message.getField(this, 3) != null;
 };
 
 
 /**
- * optional GetIdentityTokenInfosResponseV0 v0 = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0}
+ * optional GetTokenStatusesResponseV0 v0 = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.prototype.getV0 = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0, 1));
+proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.prototype.getV0 = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0, 1));
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.GetIdentityTokenInfosResponseV0|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse} returns this
+ * @param {?proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse} returns this
 */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.prototype.setV0 = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.oneofGroups_[0], value);
+proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.prototype.setV0 = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.oneofGroups_[0], value);
 };
 
 
 /**
  * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse} returns this
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.prototype.clearV0 = function() {
+proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.prototype.clearV0 = function() {
   return this.setV0(undefined);
 };
 
@@ -49363,7 +55524,7 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.prototype.clearV0
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.prototype.hasV0 = function() {
+proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.prototype.hasV0 = function() {
   return jspb.Message.getField(this, 1) != null;
 };
 
@@ -49377,21 +55538,21 @@ proto.org.dash.platform.dapi.v0.GetIdentityTokenInfosResponse.prototype.hasV0 =
  * @private {!Array>}
  * @const
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.oneofGroups_ = [[1]];
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.oneofGroups_ = [[1]];
 
 /**
  * @enum {number}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.VersionCase = {
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.VersionCase = {
   VERSION_NOT_SET: 0,
   V0: 1
 };
 
 /**
- * @return {proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.VersionCase}
+ * @return {proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.VersionCase}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.prototype.getVersionCase = function() {
-  return /** @type {proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.oneofGroups_[0]));
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.prototype.getVersionCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.oneofGroups_[0]));
 };
 
 
@@ -49409,8 +55570,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.toObject(opt_includeInstance, this);
 };
 
 
@@ -49419,13 +55580,13 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.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.GetIdentitiesTokenInfosRequest} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.toObject = function(includeInstance, msg) {
   var f, obj = {
-    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.toObject(includeInstance, f)
+    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.toObject(includeInstance, f)
   };
 
   if (includeInstance) {
@@ -49439,23 +55600,23 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.toObject = functi
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest;
-  return proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest;
+  return proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -49463,8 +55624,8 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.deserializeBinary
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.deserializeBinaryFromReader);
+      var value = new proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.deserializeBinaryFromReader);
       msg.setV0(value);
       break;
     default:
@@ -49480,9 +55641,9 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.deserializeBinary
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -49490,18 +55651,18 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.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.GetIdentitiesTokenInfosRequest} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
   f = message.getV0();
   if (f != null) {
     writer.writeMessage(
       1,
       f,
-      proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.serializeBinaryToWriter
     );
   }
 };
@@ -49513,7 +55674,7 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.serializeBinaryTo
  * @private {!Array}
  * @const
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.repeatedFields_ = [2];
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.repeatedFields_ = [1];
 
 
 
@@ -49530,8 +55691,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.toObject(opt_includeInstance, this);
 };
 
 
@@ -49540,15 +55701,14 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesToke
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.toObject = function(includeInstance, msg) {
   var f, obj = {
-    tokenId: msg.getTokenId_asB64(),
-    identityIdsList: msg.getIdentityIdsList_asB64(),
-    prove: jspb.Message.getBooleanFieldWithDefault(msg, 3, false)
+    tokenIdsList: msg.getTokenIdsList_asB64(),
+    prove: jspb.Message.getBooleanFieldWithDefault(msg, 2, false)
   };
 
   if (includeInstance) {
@@ -49562,23 +55722,23 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesToke
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0;
-  return proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0;
+  return proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -49587,13 +55747,9 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesToke
     switch (field) {
     case 1:
       var value = /** @type {!Uint8Array} */ (reader.readBytes());
-      msg.setTokenId(value);
+      msg.addTokenIds(value);
       break;
     case 2:
-      var value = /** @type {!Uint8Array} */ (reader.readBytes());
-      msg.addIdentityIds(value);
-      break;
-    case 3:
       var value = /** @type {boolean} */ (reader.readBool());
       msg.setProve(value);
       break;
@@ -49610,9 +55766,9 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesToke
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -49620,30 +55776,23 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesToke
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getTokenId_asU8();
-  if (f.length > 0) {
-    writer.writeBytes(
-      1,
-      f
-    );
-  }
-  f = message.getIdentityIdsList_asU8();
+  f = message.getTokenIdsList_asU8();
   if (f.length > 0) {
     writer.writeRepeatedBytes(
-      2,
+      1,
       f
     );
   }
   f = message.getProve();
   if (f) {
     writer.writeBool(
-      3,
+      2,
       f
     );
   }
@@ -49651,160 +55800,257 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesToke
 
 
 /**
- * optional bytes token_id = 1;
- * @return {string}
+ * repeated bytes token_ids = 1;
+ * @return {!Array}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.prototype.getTokenId = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.prototype.getTokenIdsList = function() {
+  return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1));
 };
 
 
 /**
- * optional bytes token_id = 1;
- * This is a type-conversion wrapper around `getTokenId()`
- * @return {string}
+ * repeated bytes token_ids = 1;
+ * This is a type-conversion wrapper around `getTokenIdsList()`
+ * @return {!Array}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.prototype.getTokenId_asB64 = function() {
-  return /** @type {string} */ (jspb.Message.bytesAsB64(
-      this.getTokenId()));
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.prototype.getTokenIdsList_asB64 = function() {
+  return /** @type {!Array} */ (jspb.Message.bytesListAsB64(
+      this.getTokenIdsList()));
 };
 
 
 /**
- * optional bytes token_id = 1;
+ * repeated bytes token_ids = 1;
  * Note that Uint8Array is not supported on all browsers.
  * @see http://caniuse.com/Uint8Array
- * This is a type-conversion wrapper around `getTokenId()`
- * @return {!Uint8Array}
+ * This is a type-conversion wrapper around `getTokenIdsList()`
+ * @return {!Array}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.prototype.getTokenId_asU8 = function() {
-  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
-      this.getTokenId()));
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.prototype.getTokenIdsList_asU8 = function() {
+  return /** @type {!Array} */ (jspb.Message.bytesListAsU8(
+      this.getTokenIdsList()));
 };
 
 
 /**
- * @param {!(string|Uint8Array)} value
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0} returns this
+ * @param {!(Array|Array)} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.prototype.setTokenId = function(value) {
-  return jspb.Message.setProto3BytesField(this, 1, value);
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.prototype.setTokenIdsList = function(value) {
+  return jspb.Message.setField(this, 1, value || []);
 };
 
 
 /**
- * repeated bytes identity_ids = 2;
- * @return {!Array}
+ * @param {!(string|Uint8Array)} value
+ * @param {number=} opt_index
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.prototype.getIdentityIdsList = function() {
-  return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 2));
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.prototype.addTokenIds = function(value, opt_index) {
+  return jspb.Message.addToRepeatedField(this, 1, value, opt_index);
 };
 
 
 /**
- * repeated bytes identity_ids = 2;
- * This is a type-conversion wrapper around `getIdentityIdsList()`
- * @return {!Array}
+ * Clears the list making it empty but non-null.
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.prototype.getIdentityIdsList_asB64 = function() {
-  return /** @type {!Array} */ (jspb.Message.bytesListAsB64(
-      this.getIdentityIdsList()));
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.prototype.clearTokenIdsList = function() {
+  return this.setTokenIdsList([]);
 };
 
 
 /**
- * repeated bytes identity_ids = 2;
- * Note that Uint8Array is not supported on all browsers.
- * @see http://caniuse.com/Uint8Array
- * This is a type-conversion wrapper around `getIdentityIdsList()`
- * @return {!Array}
+ * optional bool prove = 2;
+ * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.prototype.getIdentityIdsList_asU8 = function() {
-  return /** @type {!Array} */ (jspb.Message.bytesListAsU8(
-      this.getIdentityIdsList()));
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.prototype.getProve = function() {
+  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));
 };
 
 
 /**
- * @param {!(Array|Array)} value
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0} returns this
+ * @param {boolean} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.prototype.setIdentityIdsList = function(value) {
-  return jspb.Message.setField(this, 2, value || []);
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.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.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0} returns this
+ * optional GetTokenDirectPurchasePricesRequestV0 v0 = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.prototype.addIdentityIds = function(value, opt_index) {
-  return jspb.Message.addToRepeatedField(this, 2, value, opt_index);
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.prototype.getV0 = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0, 1));
 };
 
 
 /**
- * Clears the list making it empty but non-null.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0} returns this
+ * @param {?proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.prototype.setV0 = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.oneofGroups_[0], value);
+};
+
+
+/**
+ * Clears the message field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest} returns this
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.prototype.clearIdentityIdsList = function() {
-  return this.setIdentityIdsList([]);
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.prototype.clearV0 = function() {
+  return this.setV0(undefined);
 };
 
 
 /**
- * optional bool prove = 3;
+ * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.prototype.getProve = function() {
-  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 3, false));
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.prototype.hasV0 = function() {
+  return jspb.Message.getField(this, 1) != null;
 };
 
 
+
 /**
- * @param {boolean} value
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0} 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.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0.prototype.setProve = function(value) {
-  return jspb.Message.setProto3BooleanField(this, 3, value);
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.oneofGroups_ = [[1]];
+
+/**
+ * @enum {number}
+ */
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.VersionCase = {
+  VERSION_NOT_SET: 0,
+  V0: 1
+};
+
+/**
+ * @return {proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.VersionCase}
+ */
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.prototype.getVersionCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.oneofGroups_[0]));
 };
 
 
+
+if (jspb.Message.GENERATE_TO_OBJECT) {
 /**
- * optional GetIdentitiesTokenInfosRequestV0 v0 = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0}
+ * 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.GetIdentitiesTokenInfosRequest.prototype.getV0 = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0, 1));
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.toObject(opt_includeInstance, this);
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.GetIdentitiesTokenInfosRequestV0|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest} returns this
-*/
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.prototype.setV0 = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.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.GetTokenDirectPurchasePricesResponse} msg The msg instance to transform.
+ * @return {!Object}
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.toObject = function(includeInstance, msg) {
+  var f, obj = {
+    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.toObject(includeInstance, f)
+  };
+
+  if (includeInstance) {
+    obj.$jspbMessageInstance = msg;
+  }
+  return obj;
 };
+}
 
 
 /**
- * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest} returns this
+ * Deserializes binary data (in protobuf wire format).
+ * @param {jspb.ByteSource} bytes The bytes to deserialize.
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.prototype.clearV0 = function() {
-  return this.setV0(undefined);
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.deserializeBinary = function(bytes) {
+  var reader = new jspb.BinaryReader(bytes);
+  var msg = new proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse;
+  return proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.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.GetTokenDirectPurchasePricesResponse} msg The message object to deserialize into.
+ * @param {!jspb.BinaryReader} reader The BinaryReader to use.
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.prototype.hasV0 = function() {
-  return jspb.Message.getField(this, 1) != null;
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.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.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.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.GetTokenDirectPurchasePricesResponse.prototype.serializeBinary = function() {
+  var writer = new jspb.BinaryWriter();
+  proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.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.GetTokenDirectPurchasePricesResponse} message
+ * @param {!jspb.BinaryWriter} writer
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.serializeBinaryToWriter = function(message, writer) {
+  var f = undefined;
+  f = message.getV0();
+  if (f != null) {
+    writer.writeMessage(
+      1,
+      f,
+      proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.serializeBinaryToWriter
+    );
+  }
 };
 
 
@@ -49817,21 +56063,22 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosRequest.prototype.hasV0 =
  * @private {!Array>}
  * @const
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.oneofGroups_ = [[1]];
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.oneofGroups_ = [[1,2]];
 
 /**
  * @enum {number}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.VersionCase = {
-  VERSION_NOT_SET: 0,
-  V0: 1
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.ResultCase = {
+  RESULT_NOT_SET: 0,
+  TOKEN_DIRECT_PURCHASE_PRICES: 1,
+  PROOF: 2
 };
 
 /**
- * @return {proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.VersionCase}
+ * @return {proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.ResultCase}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.prototype.getVersionCase = function() {
-  return /** @type {proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.oneofGroups_[0]));
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.prototype.getResultCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.oneofGroups_[0]));
 };
 
 
@@ -49849,8 +56096,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.toObject(opt_includeInstance, this);
 };
 
 
@@ -49859,13 +56106,15 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.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.GetIdentitiesTokenInfosResponse} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.toObject = function(includeInstance, msg) {
   var f, obj = {
-    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.toObject(includeInstance, f)
+    tokenDirectPurchasePrices: (f = msg.getTokenDirectPurchasePrices()) && proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices.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) {
@@ -49879,23 +56128,23 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.toObject = funct
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse;
-  return proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0;
+  return proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -49903,9 +56152,19 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.deserializeBinar
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.deserializeBinaryFromReader);
-      msg.setV0(value);
+      var value = new proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices.deserializeBinaryFromReader);
+      msg.setTokenDirectPurchasePrices(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();
@@ -49920,9 +56179,9 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.deserializeBinar
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -49930,50 +56189,40 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.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.GetIdentitiesTokenInfosResponse} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getV0();
+  f = message.getTokenDirectPurchasePrices();
   if (f != null) {
     writer.writeMessage(
       1,
       f,
-      proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices.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
     );
   }
 };
 
 
 
-/**
- * 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.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.oneofGroups_ = [[1,2]];
-
-/**
- * @enum {number}
- */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.ResultCase = {
-  RESULT_NOT_SET: 0,
-  IDENTITY_TOKEN_INFOS: 1,
-  PROOF: 2
-};
-
-/**
- * @return {proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.ResultCase}
- */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.prototype.getResultCase = function() {
-  return /** @type {proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.oneofGroups_[0]));
-};
-
 
 
 if (jspb.Message.GENERATE_TO_OBJECT) {
@@ -49989,8 +56238,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity.toObject(opt_includeInstance, this);
 };
 
 
@@ -49999,15 +56248,14 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTok
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity.toObject = function(includeInstance, msg) {
   var f, obj = {
-    identityTokenInfos: (f = msg.getIdentityTokenInfos()) && proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos.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)
+    quantity: jspb.Message.getFieldWithDefault(msg, 1, 0),
+    price: jspb.Message.getFieldWithDefault(msg, 2, 0)
   };
 
   if (includeInstance) {
@@ -50021,23 +56269,23 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTok
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0;
-  return proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity;
+  return proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -50045,19 +56293,12 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTok
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos.deserializeBinaryFromReader);
-      msg.setIdentityTokenInfos(value);
+      var value = /** @type {number} */ (reader.readUint64());
+      msg.setQuantity(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.readUint64());
+      msg.setPrice(value);
       break;
     default:
       reader.skipField();
@@ -50072,9 +56313,9 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTok
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -50082,39 +56323,72 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTok
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getIdentityTokenInfos();
-  if (f != null) {
-    writer.writeMessage(
+  f = message.getQuantity();
+  if (f !== 0) {
+    writer.writeUint64(
       1,
-      f,
-      proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos.serializeBinaryToWriter
+      f
     );
   }
-  f = message.getProof();
-  if (f != null) {
-    writer.writeMessage(
+  f = message.getPrice();
+  if (f !== 0) {
+    writer.writeUint64(
       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 uint64 quantity = 1;
+ * @return {number}
+ */
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity.prototype.getQuantity = function() {
+  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
+};
+
+
+/**
+ * @param {number} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity.prototype.setQuantity = function(value) {
+  return jspb.Message.setProto3IntField(this, 1, value);
+};
+
+
+/**
+ * optional uint64 price = 2;
+ * @return {number}
+ */
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity.prototype.getPrice = function() {
+  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
+};
+
+
+/**
+ * @param {number} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity.prototype.setPrice = function(value) {
+  return jspb.Message.setProto3IntField(this, 2, value);
+};
+
+
+
+/**
+ * List of repeated fields within this message type.
+ * @private {!Array}
+ * @const
+ */
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule.repeatedFields_ = [1];
 
 
 
@@ -50131,8 +56405,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule.toObject(opt_includeInstance, this);
 };
 
 
@@ -50141,13 +56415,14 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTok
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule.toObject = function(includeInstance, msg) {
   var f, obj = {
-    frozen: jspb.Message.getBooleanFieldWithDefault(msg, 1, false)
+    priceForQuantityList: jspb.Message.toObjectList(msg.getPriceForQuantityList(),
+    proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity.toObject, includeInstance)
   };
 
   if (includeInstance) {
@@ -50161,23 +56436,23 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTok
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry;
-  return proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule;
+  return proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -50185,8 +56460,9 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTok
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = /** @type {boolean} */ (reader.readBool());
-      msg.setFrozen(value);
+      var value = new proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity.deserializeBinaryFromReader);
+      msg.addPriceForQuantity(value);
       break;
     default:
       reader.skipField();
@@ -50201,9 +56477,9 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTok
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -50211,41 +56487,88 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTok
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getFrozen();
-  if (f) {
-    writer.writeBool(
+  f = message.getPriceForQuantityList();
+  if (f.length > 0) {
+    writer.writeRepeatedMessage(
       1,
-      f
+      f,
+      proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity.serializeBinaryToWriter
     );
   }
 };
 
 
 /**
- * optional bool frozen = 1;
- * @return {boolean}
+ * repeated PriceForQuantity price_for_quantity = 1;
+ * @return {!Array}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry.prototype.getFrozen = function() {
-  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 1, false));
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule.prototype.getPriceForQuantityList = function() {
+  return /** @type{!Array} */ (
+    jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity, 1));
 };
 
 
 /**
- * @param {boolean} value
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry} returns this
+ * @param {!Array} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule.prototype.setPriceForQuantityList = function(value) {
+  return jspb.Message.setRepeatedWrapperField(this, 1, value);
+};
+
+
+/**
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity=} opt_value
+ * @param {number=} opt_index
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry.prototype.setFrozen = function(value) {
-  return jspb.Message.setProto3BooleanField(this, 1, value);
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule.prototype.addPriceForQuantity = function(opt_value, opt_index) {
+  return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity, opt_index);
+};
+
+
+/**
+ * Clears the list making it empty but non-null.
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule.prototype.clearPriceForQuantityList = function() {
+  return this.setPriceForQuantityList([]);
 };
 
 
 
+/**
+ * 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.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.oneofGroups_ = [[2,3]];
+
+/**
+ * @enum {number}
+ */
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.PriceCase = {
+  PRICE_NOT_SET: 0,
+  FIXED_PRICE: 2,
+  VARIABLE_PRICE: 3
+};
+
+/**
+ * @return {proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.PriceCase}
+ */
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.prototype.getPriceCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.PriceCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.oneofGroups_[0]));
+};
+
 
 
 if (jspb.Message.GENERATE_TO_OBJECT) {
@@ -50261,8 +56584,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.toObject(opt_includeInstance, this);
 };
 
 
@@ -50271,14 +56594,15 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTok
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.toObject = function(includeInstance, msg) {
   var f, obj = {
-    identityId: msg.getIdentityId_asB64(),
-    info: (f = msg.getInfo()) && proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry.toObject(includeInstance, f)
+    tokenId: msg.getTokenId_asB64(),
+    fixedPrice: jspb.Message.getFieldWithDefault(msg, 2, 0),
+    variablePrice: (f = msg.getVariablePrice()) && proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule.toObject(includeInstance, f)
   };
 
   if (includeInstance) {
@@ -50292,23 +56616,23 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTok
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry;
-  return proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry;
+  return proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -50317,12 +56641,16 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTok
     switch (field) {
     case 1:
       var value = /** @type {!Uint8Array} */ (reader.readBytes());
-      msg.setIdentityId(value);
+      msg.setTokenId(value);
       break;
     case 2:
-      var value = new proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry.deserializeBinaryFromReader);
-      msg.setInfo(value);
+      var value = /** @type {number} */ (reader.readUint64());
+      msg.setFixedPrice(value);
+      break;
+    case 3:
+      var value = new proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule.deserializeBinaryFromReader);
+      msg.setVariablePrice(value);
       break;
     default:
       reader.skipField();
@@ -50337,9 +56665,9 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTok
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -50347,97 +56675,140 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTok
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getIdentityId_asU8();
+  f = message.getTokenId_asU8();
   if (f.length > 0) {
     writer.writeBytes(
       1,
       f
     );
   }
-  f = message.getInfo();
+  f = /** @type {number} */ (jspb.Message.getField(message, 2));
   if (f != null) {
-    writer.writeMessage(
+    writer.writeUint64(
       2,
+      f
+    );
+  }
+  f = message.getVariablePrice();
+  if (f != null) {
+    writer.writeMessage(
+      3,
       f,
-      proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule.serializeBinaryToWriter
     );
   }
 };
 
 
 /**
- * optional bytes identity_id = 1;
+ * optional bytes token_id = 1;
  * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry.prototype.getIdentityId = function() {
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.prototype.getTokenId = function() {
   return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
 };
 
 
 /**
- * optional bytes identity_id = 1;
- * This is a type-conversion wrapper around `getIdentityId()`
+ * optional bytes token_id = 1;
+ * This is a type-conversion wrapper around `getTokenId()`
  * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry.prototype.getIdentityId_asB64 = function() {
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.prototype.getTokenId_asB64 = function() {
   return /** @type {string} */ (jspb.Message.bytesAsB64(
-      this.getIdentityId()));
+      this.getTokenId()));
 };
 
 
 /**
- * optional bytes identity_id = 1;
+ * optional bytes token_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 `getTokenId()`
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry.prototype.getIdentityId_asU8 = function() {
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.prototype.getTokenId_asU8 = function() {
   return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
-      this.getIdentityId()));
+      this.getTokenId()));
 };
 
 
 /**
  * @param {!(string|Uint8Array)} value
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry} returns this
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry.prototype.setIdentityId = function(value) {
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.prototype.setTokenId = function(value) {
   return jspb.Message.setProto3BytesField(this, 1, value);
 };
 
 
 /**
- * optional TokenIdentityInfoEntry info = 2;
- * @return {?proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry}
+ * optional uint64 fixed_price = 2;
+ * @return {number}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry.prototype.getInfo = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry, 2));
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.prototype.getFixedPrice = function() {
+  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenIdentityInfoEntry|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry} returns this
+ * @param {number} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.prototype.setFixedPrice = function(value) {
+  return jspb.Message.setOneofField(this, 2, proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.oneofGroups_[0], value);
+};
+
+
+/**
+ * Clears the field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.prototype.clearFixedPrice = function() {
+  return jspb.Message.setOneofField(this, 2, proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.oneofGroups_[0], undefined);
+};
+
+
+/**
+ * Returns whether this field is set.
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.prototype.hasFixedPrice = function() {
+  return jspb.Message.getField(this, 2) != null;
+};
+
+
+/**
+ * optional PricingSchedule variable_price = 3;
+ * @return {?proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule}
+ */
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.prototype.getVariablePrice = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule, 3));
+};
+
+
+/**
+ * @param {?proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry} returns this
 */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry.prototype.setInfo = function(value) {
-  return jspb.Message.setWrapperField(this, 2, value);
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.prototype.setVariablePrice = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 3, proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.oneofGroups_[0], value);
 };
 
 
 /**
  * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry} returns this
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry.prototype.clearInfo = function() {
-  return this.setInfo(undefined);
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.prototype.clearVariablePrice = function() {
+  return this.setVariablePrice(undefined);
 };
 
 
@@ -50445,8 +56816,8 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTok
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry.prototype.hasInfo = function() {
-  return jspb.Message.getField(this, 2) != null;
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.prototype.hasVariablePrice = function() {
+  return jspb.Message.getField(this, 3) != null;
 };
 
 
@@ -50456,7 +56827,7 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTok
  * @private {!Array}
  * @const
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos.repeatedFields_ = [1];
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices.repeatedFields_ = [1];
 
 
 
@@ -50473,8 +56844,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices.toObject(opt_includeInstance, this);
 };
 
 
@@ -50483,14 +56854,14 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTok
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices.toObject = function(includeInstance, msg) {
   var f, obj = {
-    tokenInfosList: jspb.Message.toObjectList(msg.getTokenInfosList(),
-    proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry.toObject, includeInstance)
+    tokenDirectPurchasePriceList: jspb.Message.toObjectList(msg.getTokenDirectPurchasePriceList(),
+    proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.toObject, includeInstance)
   };
 
   if (includeInstance) {
@@ -50504,23 +56875,23 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTok
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos.deserializeBinary = function(bytes) {
-  var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos;
-  return proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos.deserializeBinaryFromReader(msg, reader);
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices.deserializeBinary = function(bytes) {
+  var reader = new jspb.BinaryReader(bytes);
+  var msg = new proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices;
+  return proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -50528,9 +56899,9 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTok
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry.deserializeBinaryFromReader);
-      msg.addTokenInfos(value);
+      var value = new proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.deserializeBinaryFromReader);
+      msg.addTokenDirectPurchasePrice(value);
       break;
     default:
       reader.skipField();
@@ -50545,9 +56916,9 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTok
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -50555,86 +56926,86 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTok
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getTokenInfosList();
+  f = message.getTokenDirectPurchasePriceList();
   if (f.length > 0) {
     writer.writeRepeatedMessage(
       1,
       f,
-      proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.serializeBinaryToWriter
     );
   }
 };
 
 
 /**
- * repeated TokenInfoEntry token_infos = 1;
- * @return {!Array}
+ * repeated TokenDirectPurchasePriceEntry token_direct_purchase_price = 1;
+ * @return {!Array}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos.prototype.getTokenInfosList = function() {
-  return /** @type{!Array} */ (
-    jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry, 1));
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices.prototype.getTokenDirectPurchasePriceList = function() {
+  return /** @type{!Array} */ (
+    jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry, 1));
 };
 
 
 /**
- * @param {!Array} value
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos} returns this
+ * @param {!Array} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices} returns this
 */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos.prototype.setTokenInfosList = function(value) {
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices.prototype.setTokenDirectPurchasePriceList = function(value) {
   return jspb.Message.setRepeatedWrapperField(this, 1, value);
 };
 
 
 /**
- * @param {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry=} opt_value
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry=} opt_value
  * @param {number=} opt_index
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos.prototype.addTokenInfos = function(opt_value, opt_index) {
-  return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.TokenInfoEntry, opt_index);
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices.prototype.addTokenDirectPurchasePrice = function(opt_value, opt_index) {
+  return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry, opt_index);
 };
 
 
 /**
  * Clears the list making it empty but non-null.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices} returns this
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos.prototype.clearTokenInfosList = function() {
-  return this.setTokenInfosList([]);
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices.prototype.clearTokenDirectPurchasePriceList = function() {
+  return this.setTokenDirectPurchasePriceList([]);
 };
 
 
 /**
- * optional IdentityTokenInfos identity_token_infos = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos}
+ * optional TokenDirectPurchasePrices token_direct_purchase_prices = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.prototype.getIdentityTokenInfos = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos, 1));
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.prototype.getTokenDirectPurchasePrices = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices, 1));
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.IdentityTokenInfos|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0} returns this
+ * @param {?proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0} returns this
 */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.prototype.setIdentityTokenInfos = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.oneofGroups_[0], value);
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.prototype.setTokenDirectPurchasePrices = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.oneofGroups_[0], value);
 };
 
 
 /**
  * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.prototype.clearIdentityTokenInfos = function() {
-  return this.setIdentityTokenInfos(undefined);
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.prototype.clearTokenDirectPurchasePrices = function() {
+  return this.setTokenDirectPurchasePrices(undefined);
 };
 
 
@@ -50642,7 +57013,7 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTok
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.prototype.hasIdentityTokenInfos = function() {
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.prototype.hasTokenDirectPurchasePrices = function() {
   return jspb.Message.getField(this, 1) != null;
 };
 
@@ -50651,7 +57022,7 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTok
  * optional Proof proof = 2;
  * @return {?proto.org.dash.platform.dapi.v0.Proof}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.prototype.getProof = function() {
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.prototype.getProof = function() {
   return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ (
     jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2));
 };
@@ -50659,18 +57030,18 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTok
 
 /**
  * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0} returns this
 */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.prototype.setProof = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.oneofGroups_[0], value);
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.prototype.setProof = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.oneofGroups_[0], value);
 };
 
 
 /**
  * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.prototype.clearProof = function() {
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.prototype.clearProof = function() {
   return this.setProof(undefined);
 };
 
@@ -50679,7 +57050,7 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTok
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.prototype.hasProof = function() {
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.prototype.hasProof = function() {
   return jspb.Message.getField(this, 2) != null;
 };
 
@@ -50688,7 +57059,7 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTok
  * optional ResponseMetadata metadata = 3;
  * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.prototype.getMetadata = function() {
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.prototype.getMetadata = function() {
   return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ (
     jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3));
 };
@@ -50696,18 +57067,18 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTok
 
 /**
  * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0} returns this
 */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.prototype.setMetadata = function(value) {
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.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.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.prototype.clearMetadata = function() {
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.prototype.clearMetadata = function() {
   return this.setMetadata(undefined);
 };
 
@@ -50716,35 +57087,35 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTok
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0.prototype.hasMetadata = function() {
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.prototype.hasMetadata = function() {
   return jspb.Message.getField(this, 3) != null;
 };
 
 
 /**
- * optional GetIdentitiesTokenInfosResponseV0 v0 = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0}
+ * optional GetTokenDirectPurchasePricesResponseV0 v0 = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.prototype.getV0 = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0, 1));
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.prototype.getV0 = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0, 1));
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.GetIdentitiesTokenInfosResponseV0|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse} returns this
+ * @param {?proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse} returns this
 */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.prototype.setV0 = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.oneofGroups_[0], value);
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.prototype.setV0 = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.oneofGroups_[0], value);
 };
 
 
 /**
  * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse} returns this
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.prototype.clearV0 = function() {
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.prototype.clearV0 = function() {
   return this.setV0(undefined);
 };
 
@@ -50753,7 +57124,7 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.prototype.clearV
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.prototype.hasV0 = function() {
+proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.prototype.hasV0 = function() {
   return jspb.Message.getField(this, 1) != null;
 };
 
@@ -50767,21 +57138,21 @@ proto.org.dash.platform.dapi.v0.GetIdentitiesTokenInfosResponse.prototype.hasV0
  * @private {!Array>}
  * @const
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.oneofGroups_ = [[1]];
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.oneofGroups_ = [[1]];
 
 /**
  * @enum {number}
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.VersionCase = {
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.VersionCase = {
   VERSION_NOT_SET: 0,
   V0: 1
 };
 
 /**
- * @return {proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.VersionCase}
+ * @return {proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.VersionCase}
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.prototype.getVersionCase = function() {
-  return /** @type {proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.oneofGroups_[0]));
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.prototype.getVersionCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.oneofGroups_[0]));
 };
 
 
@@ -50799,8 +57170,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.toObject(opt_includeInstance, this);
 };
 
 
@@ -50809,13 +57180,13 @@ proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.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.GetTokenStatusesRequest} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.toObject = function(includeInstance, msg) {
   var f, obj = {
-    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0.toObject(includeInstance, f)
+    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0.toObject(includeInstance, f)
   };
 
   if (includeInstance) {
@@ -50829,23 +57200,23 @@ proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.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.GetTokenStatusesRequest}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest}
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest;
-  return proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest;
+  return proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest}
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -50853,8 +57224,8 @@ proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.deserializeBinaryFromRea
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0.deserializeBinaryFromReader);
+      var value = new proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0.deserializeBinaryFromReader);
       msg.setV0(value);
       break;
     default:
@@ -50870,9 +57241,9 @@ proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.deserializeBinaryFromRea
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -50880,31 +57251,24 @@ proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.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.GetTokenStatusesRequest} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
   f = message.getV0();
   if (f != null) {
     writer.writeMessage(
       1,
       f,
-      proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0.serializeBinaryToWriter
     );
   }
 };
 
 
 
-/**
- * List of repeated fields within this message type.
- * @private {!Array}
- * @const
- */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0.repeatedFields_ = [1];
-
 
 
 if (jspb.Message.GENERATE_TO_OBJECT) {
@@ -50920,8 +57284,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0.toObject(opt_includeInstance, this);
 };
 
 
@@ -50930,13 +57294,13 @@ proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0.toObject = function(includeInstance, msg) {
   var f, obj = {
-    tokenIdsList: msg.getTokenIdsList_asB64(),
+    tokenId: msg.getTokenId_asB64(),
     prove: jspb.Message.getBooleanFieldWithDefault(msg, 2, false)
   };
 
@@ -50951,23 +57315,23 @@ proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0}
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0;
-  return proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0;
+  return proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0}
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -50976,7 +57340,7 @@ proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV
     switch (field) {
     case 1:
       var value = /** @type {!Uint8Array} */ (reader.readBytes());
-      msg.addTokenIds(value);
+      msg.setTokenId(value);
       break;
     case 2:
       var value = /** @type {boolean} */ (reader.readBool());
@@ -50995,9 +57359,9 @@ proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -51005,15 +57369,15 @@ proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getTokenIdsList_asU8();
+  f = message.getTokenId_asU8();
   if (f.length > 0) {
-    writer.writeRepeatedBytes(
+    writer.writeBytes(
       1,
       f
     );
@@ -51029,63 +57393,44 @@ proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV
 
 
 /**
- * repeated bytes token_ids = 1;
- * @return {!Array}
+ * optional bytes token_id = 1;
+ * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0.prototype.getTokenIdsList = function() {
-  return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1));
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0.prototype.getTokenId = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
 };
 
 
 /**
- * repeated bytes token_ids = 1;
- * This is a type-conversion wrapper around `getTokenIdsList()`
- * @return {!Array}
+ * optional bytes token_id = 1;
+ * This is a type-conversion wrapper around `getTokenId()`
+ * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0.prototype.getTokenIdsList_asB64 = function() {
-  return /** @type {!Array} */ (jspb.Message.bytesListAsB64(
-      this.getTokenIdsList()));
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0.prototype.getTokenId_asB64 = function() {
+  return /** @type {string} */ (jspb.Message.bytesAsB64(
+      this.getTokenId()));
 };
 
 
 /**
- * repeated bytes token_ids = 1;
+ * optional bytes token_id = 1;
  * Note that Uint8Array is not supported on all browsers.
  * @see http://caniuse.com/Uint8Array
- * This is a type-conversion wrapper around `getTokenIdsList()`
- * @return {!Array}
- */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0.prototype.getTokenIdsList_asU8 = function() {
-  return /** @type {!Array} */ (jspb.Message.bytesListAsU8(
-      this.getTokenIdsList()));
-};
-
-
-/**
- * @param {!(Array|Array)} value
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0} returns this
+ * This is a type-conversion wrapper around `getTokenId()`
+ * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0.prototype.setTokenIdsList = function(value) {
-  return jspb.Message.setField(this, 1, value || []);
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0.prototype.getTokenId_asU8 = function() {
+  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
+      this.getTokenId()));
 };
 
 
 /**
  * @param {!(string|Uint8Array)} value
- * @param {number=} opt_index
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0} returns this
- */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0.prototype.addTokenIds = 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.GetTokenStatusesRequest.GetTokenStatusesRequestV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0.prototype.clearTokenIdsList = function() {
-  return this.setTokenIdsList([]);
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0.prototype.setTokenId = function(value) {
+  return jspb.Message.setProto3BytesField(this, 1, value);
 };
 
 
@@ -51093,44 +57438,44 @@ proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV
  * optional bool prove = 2;
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0.prototype.getProve = function() {
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0.prototype.getProve = function() {
   return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));
 };
 
 
 /**
  * @param {boolean} value
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0.prototype.setProve = function(value) {
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0.prototype.setProve = function(value) {
   return jspb.Message.setProto3BooleanField(this, 2, value);
 };
 
 
 /**
- * optional GetTokenStatusesRequestV0 v0 = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0}
+ * optional GetTokenContractInfoRequestV0 v0 = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0}
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.prototype.getV0 = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0, 1));
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.prototype.getV0 = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0, 1));
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.GetTokenStatusesRequestV0|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest} returns this
+ * @param {?proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.GetTokenContractInfoRequestV0|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest} returns this
 */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.prototype.setV0 = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.oneofGroups_[0], value);
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.prototype.setV0 = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.oneofGroups_[0], value);
 };
 
 
 /**
  * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest} returns this
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.prototype.clearV0 = function() {
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.prototype.clearV0 = function() {
   return this.setV0(undefined);
 };
 
@@ -51139,7 +57484,7 @@ proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.prototype.clearV0 = func
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.prototype.hasV0 = function() {
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoRequest.prototype.hasV0 = function() {
   return jspb.Message.getField(this, 1) != null;
 };
 
@@ -51153,21 +57498,21 @@ proto.org.dash.platform.dapi.v0.GetTokenStatusesRequest.prototype.hasV0 = functi
  * @private {!Array>}
  * @const
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.oneofGroups_ = [[1]];
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.oneofGroups_ = [[1]];
 
 /**
  * @enum {number}
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.VersionCase = {
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.VersionCase = {
   VERSION_NOT_SET: 0,
   V0: 1
 };
 
 /**
- * @return {proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.VersionCase}
+ * @return {proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.VersionCase}
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.prototype.getVersionCase = function() {
-  return /** @type {proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.oneofGroups_[0]));
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.prototype.getVersionCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.oneofGroups_[0]));
 };
 
 
@@ -51185,8 +57530,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.toObject(opt_includeInstance, this);
 };
 
 
@@ -51195,13 +57540,13 @@ proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.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.GetTokenStatusesResponse} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.toObject = function(includeInstance, msg) {
   var f, obj = {
-    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.toObject(includeInstance, f)
+    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.toObject(includeInstance, f)
   };
 
   if (includeInstance) {
@@ -51215,23 +57560,23 @@ proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.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.GetTokenStatusesResponse}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse}
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse;
-  return proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse;
+  return proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse}
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -51239,8 +57584,8 @@ proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.deserializeBinaryFromRe
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.deserializeBinaryFromReader);
+      var value = new proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.deserializeBinaryFromReader);
       msg.setV0(value);
       break;
     default:
@@ -51256,9 +57601,9 @@ proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.deserializeBinaryFromRe
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -51266,18 +57611,18 @@ proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.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.GetTokenStatusesResponse} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
   f = message.getV0();
   if (f != null) {
     writer.writeMessage(
       1,
       f,
-      proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.serializeBinaryToWriter
     );
   }
 };
@@ -51292,22 +57637,22 @@ proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.serializeBinaryToWriter
  * @private {!Array>}
  * @const
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.oneofGroups_ = [[1,2]];
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.oneofGroups_ = [[1,2]];
 
 /**
  * @enum {number}
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.ResultCase = {
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.ResultCase = {
   RESULT_NOT_SET: 0,
-  TOKEN_STATUSES: 1,
+  DATA: 1,
   PROOF: 2
 };
 
 /**
- * @return {proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.ResultCase}
+ * @return {proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.ResultCase}
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.prototype.getResultCase = function() {
-  return /** @type {proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.oneofGroups_[0]));
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.prototype.getResultCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.oneofGroups_[0]));
 };
 
 
@@ -51325,8 +57670,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.toObject(opt_includeInstance, this);
 };
 
 
@@ -51335,13 +57680,13 @@ proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesRespons
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.toObject = function(includeInstance, msg) {
   var f, obj = {
-    tokenStatuses: (f = msg.getTokenStatuses()) && proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses.toObject(includeInstance, f),
+    data: (f = msg.getData()) && proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData.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)
   };
@@ -51357,23 +57702,23 @@ proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesRespons
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0}
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0;
-  return proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0;
+  return proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0}
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -51381,9 +57726,9 @@ proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesRespons
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses.deserializeBinaryFromReader);
-      msg.setTokenStatuses(value);
+      var value = new proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData.deserializeBinaryFromReader);
+      msg.setData(value);
       break;
     case 2:
       var value = new proto.org.dash.platform.dapi.v0.Proof;
@@ -51408,9 +57753,9 @@ proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesRespons
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -51418,18 +57763,18 @@ proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesRespons
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getTokenStatuses();
+  f = message.getData();
   if (f != null) {
     writer.writeMessage(
       1,
       f,
-      proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData.serializeBinaryToWriter
     );
   }
   f = message.getProof();
@@ -51467,8 +57812,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData.toObject(opt_includeInstance, this);
 };
 
 
@@ -51477,14 +57822,14 @@ proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesRespons
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData.toObject = function(includeInstance, msg) {
   var f, obj = {
-    tokenId: msg.getTokenId_asB64(),
-    paused: jspb.Message.getBooleanFieldWithDefault(msg, 2, false)
+    contractId: msg.getContractId_asB64(),
+    tokenContractPosition: jspb.Message.getFieldWithDefault(msg, 2, 0)
   };
 
   if (includeInstance) {
@@ -51498,23 +57843,23 @@ proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesRespons
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData}
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry;
-  return proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData;
+  return proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData}
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -51523,11 +57868,11 @@ proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesRespons
     switch (field) {
     case 1:
       var value = /** @type {!Uint8Array} */ (reader.readBytes());
-      msg.setTokenId(value);
+      msg.setContractId(value);
       break;
     case 2:
-      var value = /** @type {boolean} */ (reader.readBool());
-      msg.setPaused(value);
+      var value = /** @type {number} */ (reader.readUint32());
+      msg.setTokenContractPosition(value);
       break;
     default:
       reader.skipField();
@@ -51542,9 +57887,9 @@ proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesRespons
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -51552,22 +57897,22 @@ proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesRespons
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getTokenId_asU8();
+  f = message.getContractId_asU8();
   if (f.length > 0) {
     writer.writeBytes(
       1,
       f
     );
   }
-  f = /** @type {boolean} */ (jspb.Message.getField(message, 2));
-  if (f != null) {
-    writer.writeBool(
+  f = message.getTokenContractPosition();
+  if (f !== 0) {
+    writer.writeUint32(
       2,
       f
     );
@@ -51576,268 +57921,90 @@ proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesRespons
 
 
 /**
- * optional bytes token_id = 1;
- * @return {string}
- */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry.prototype.getTokenId = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
-};
-
-
-/**
- * optional bytes token_id = 1;
- * This is a type-conversion wrapper around `getTokenId()`
- * @return {string}
- */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry.prototype.getTokenId_asB64 = function() {
-  return /** @type {string} */ (jspb.Message.bytesAsB64(
-      this.getTokenId()));
-};
-
-
-/**
- * optional bytes token_id = 1;
- * Note that Uint8Array is not supported on all browsers.
- * @see http://caniuse.com/Uint8Array
- * This is a type-conversion wrapper around `getTokenId()`
- * @return {!Uint8Array}
- */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry.prototype.getTokenId_asU8 = function() {
-  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
-      this.getTokenId()));
-};
-
-
-/**
- * @param {!(string|Uint8Array)} value
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry} returns this
- */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry.prototype.setTokenId = function(value) {
-  return jspb.Message.setProto3BytesField(this, 1, value);
-};
-
-
-/**
- * optional bool paused = 2;
- * @return {boolean}
- */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry.prototype.getPaused = function() {
-  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));
-};
-
-
-/**
- * @param {boolean} value
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry} returns this
- */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry.prototype.setPaused = function(value) {
-  return jspb.Message.setField(this, 2, value);
-};
-
-
-/**
- * Clears the field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry} returns this
- */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry.prototype.clearPaused = function() {
-  return jspb.Message.setField(this, 2, undefined);
-};
-
-
-/**
- * Returns whether this field is set.
- * @return {boolean}
- */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry.prototype.hasPaused = 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.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses.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.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses.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.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses} msg The msg instance to transform.
- * @return {!Object}
- * @suppress {unusedLocalVariables} f is only used for nested messages
- */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses.toObject = function(includeInstance, msg) {
-  var f, obj = {
-    tokenStatusesList: jspb.Message.toObjectList(msg.getTokenStatusesList(),
-    proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry.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.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses}
- */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses.deserializeBinary = function(bytes) {
-  var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses;
-  return proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses.deserializeBinaryFromReader(msg, reader);
-};
-
-
-/**
- * Deserializes binary data (in protobuf wire format) from the
- * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses} msg The message object to deserialize into.
- * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses}
- */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses.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.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry.deserializeBinaryFromReader);
-      msg.addTokenStatuses(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.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses.prototype.serializeBinary = function() {
-  var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses.serializeBinaryToWriter(this, writer);
-  return writer.getResultBuffer();
+ * optional bytes contract_id = 1;
+ * @return {string}
+ */
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData.prototype.getContractId = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
 };
 
 
 /**
- * Serializes the given message to binary data (in protobuf wire
- * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses} message
- * @param {!jspb.BinaryWriter} writer
- * @suppress {unusedLocalVariables} f is only used for nested messages
+ * optional bytes contract_id = 1;
+ * This is a type-conversion wrapper around `getContractId()`
+ * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses.serializeBinaryToWriter = function(message, writer) {
-  var f = undefined;
-  f = message.getTokenStatusesList();
-  if (f.length > 0) {
-    writer.writeRepeatedMessage(
-      1,
-      f,
-      proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry.serializeBinaryToWriter
-    );
-  }
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData.prototype.getContractId_asB64 = function() {
+  return /** @type {string} */ (jspb.Message.bytesAsB64(
+      this.getContractId()));
 };
 
 
 /**
- * repeated TokenStatusEntry token_statuses = 1;
- * @return {!Array}
+ * 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.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses.prototype.getTokenStatusesList = function() {
-  return /** @type{!Array} */ (
-    jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry, 1));
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData.prototype.getContractId_asU8 = function() {
+  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
+      this.getContractId()));
 };
 
 
 /**
- * @param {!Array} value
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses} returns this
-*/
-proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses.prototype.setTokenStatusesList = function(value) {
-  return jspb.Message.setRepeatedWrapperField(this, 1, value);
+ * @param {!(string|Uint8Array)} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData.prototype.setContractId = function(value) {
+  return jspb.Message.setProto3BytesField(this, 1, value);
 };
 
 
 /**
- * @param {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry=} opt_value
- * @param {number=} opt_index
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry}
+ * optional uint32 token_contract_position = 2;
+ * @return {number}
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses.prototype.addTokenStatuses = function(opt_value, opt_index) {
-  return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatusEntry, opt_index);
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData.prototype.getTokenContractPosition = function() {
+  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
 };
 
 
 /**
- * Clears the list making it empty but non-null.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses} returns this
+ * @param {number} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData} returns this
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses.prototype.clearTokenStatusesList = function() {
-  return this.setTokenStatusesList([]);
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData.prototype.setTokenContractPosition = function(value) {
+  return jspb.Message.setProto3IntField(this, 2, value);
 };
 
 
 /**
- * optional TokenStatuses token_statuses = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses}
+ * optional TokenContractInfoData data = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData}
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.prototype.getTokenStatuses = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses, 1));
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.prototype.getData = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData, 1));
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.TokenStatuses|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0} returns this
+ * @param {?proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.TokenContractInfoData|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0} returns this
 */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.prototype.setTokenStatuses = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.oneofGroups_[0], value);
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.prototype.setData = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.oneofGroups_[0], value);
 };
 
 
 /**
  * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.prototype.clearTokenStatuses = function() {
-  return this.setTokenStatuses(undefined);
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.prototype.clearData = function() {
+  return this.setData(undefined);
 };
 
 
@@ -51845,7 +58012,7 @@ proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesRespons
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.prototype.hasTokenStatuses = function() {
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.prototype.hasData = function() {
   return jspb.Message.getField(this, 1) != null;
 };
 
@@ -51854,7 +58021,7 @@ proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesRespons
  * optional Proof proof = 2;
  * @return {?proto.org.dash.platform.dapi.v0.Proof}
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.prototype.getProof = function() {
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.prototype.getProof = function() {
   return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ (
     jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2));
 };
@@ -51862,18 +58029,18 @@ proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesRespons
 
 /**
  * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0} returns this
 */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.prototype.setProof = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.oneofGroups_[0], value);
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.prototype.setProof = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.oneofGroups_[0], value);
 };
 
 
 /**
  * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.prototype.clearProof = function() {
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.prototype.clearProof = function() {
   return this.setProof(undefined);
 };
 
@@ -51882,7 +58049,7 @@ proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesRespons
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.prototype.hasProof = function() {
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.prototype.hasProof = function() {
   return jspb.Message.getField(this, 2) != null;
 };
 
@@ -51891,7 +58058,7 @@ proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesRespons
  * optional ResponseMetadata metadata = 3;
  * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata}
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.prototype.getMetadata = function() {
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.prototype.getMetadata = function() {
   return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ (
     jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3));
 };
@@ -51899,18 +58066,18 @@ proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesRespons
 
 /**
  * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0} returns this
 */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.prototype.setMetadata = function(value) {
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.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.GetTokenStatusesResponse.GetTokenStatusesResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.prototype.clearMetadata = function() {
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.prototype.clearMetadata = function() {
   return this.setMetadata(undefined);
 };
 
@@ -51919,35 +58086,35 @@ proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesRespons
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0.prototype.hasMetadata = function() {
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0.prototype.hasMetadata = function() {
   return jspb.Message.getField(this, 3) != null;
 };
 
 
 /**
- * optional GetTokenStatusesResponseV0 v0 = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0}
+ * optional GetTokenContractInfoResponseV0 v0 = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0}
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.prototype.getV0 = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0, 1));
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.prototype.getV0 = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0, 1));
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.GetTokenStatusesResponseV0|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse} returns this
+ * @param {?proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.GetTokenContractInfoResponseV0|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse} returns this
 */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.prototype.setV0 = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.oneofGroups_[0], value);
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.prototype.setV0 = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.oneofGroups_[0], value);
 };
 
 
 /**
  * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse} returns this
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.prototype.clearV0 = function() {
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.prototype.clearV0 = function() {
   return this.setV0(undefined);
 };
 
@@ -51956,7 +58123,7 @@ proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.prototype.clearV0 = fun
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.prototype.hasV0 = function() {
+proto.org.dash.platform.dapi.v0.GetTokenContractInfoResponse.prototype.hasV0 = function() {
   return jspb.Message.getField(this, 1) != null;
 };
 
@@ -51970,21 +58137,21 @@ proto.org.dash.platform.dapi.v0.GetTokenStatusesResponse.prototype.hasV0 = funct
  * @private {!Array>}
  * @const
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.oneofGroups_ = [[1]];
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.oneofGroups_ = [[1]];
 
 /**
  * @enum {number}
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.VersionCase = {
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.VersionCase = {
   VERSION_NOT_SET: 0,
   V0: 1
 };
 
 /**
- * @return {proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.VersionCase}
+ * @return {proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.VersionCase}
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.prototype.getVersionCase = function() {
-  return /** @type {proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.oneofGroups_[0]));
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.prototype.getVersionCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.oneofGroups_[0]));
 };
 
 
@@ -52002,8 +58169,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.toObject(opt_includeInstance, this);
 };
 
 
@@ -52012,13 +58179,13 @@ proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.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.GetTokenDirectPurchasePricesResponse} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.toObject = function(includeInstance, msg) {
   var f, obj = {
-    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.toObject(includeInstance, f)
+    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.toObject(includeInstance, f)
   };
 
   if (includeInstance) {
@@ -52032,23 +58199,23 @@ proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.toObject =
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest}
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse;
-  return proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest;
+  return proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest}
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -52056,8 +58223,8 @@ proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.deserialize
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.deserializeBinaryFromReader);
+      var value = new proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.deserializeBinaryFromReader);
       msg.setV0(value);
       break;
     default:
@@ -52073,9 +58240,9 @@ proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.deserialize
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -52083,50 +58250,24 @@ proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.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.GetTokenDirectPurchasePricesResponse} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
   f = message.getV0();
   if (f != null) {
     writer.writeMessage(
       1,
       f,
-      proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.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.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.oneofGroups_ = [[1,2]];
-
-/**
- * @enum {number}
- */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.ResultCase = {
-  RESULT_NOT_SET: 0,
-  TOKEN_DIRECT_PURCHASE_PRICES: 1,
-  PROOF: 2
-};
-
-/**
- * @return {proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.ResultCase}
- */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.prototype.getResultCase = function() {
-  return /** @type {proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.oneofGroups_[0]));
-};
-
 
 
 if (jspb.Message.GENERATE_TO_OBJECT) {
@@ -52142,8 +58283,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.toObject(opt_includeInstance, this);
 };
 
 
@@ -52152,15 +58293,16 @@ proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDir
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.toObject = function(includeInstance, msg) {
   var f, obj = {
-    tokenDirectPurchasePrices: (f = msg.getTokenDirectPurchasePrices()) && proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices.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)
+    tokenId: msg.getTokenId_asB64(),
+    startAtInfo: (f = msg.getStartAtInfo()) && proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.toObject(includeInstance, f),
+    limit: jspb.Message.getFieldWithDefault(msg, 3, 0),
+    prove: jspb.Message.getBooleanFieldWithDefault(msg, 4, false)
   };
 
   if (includeInstance) {
@@ -52174,23 +58316,23 @@ proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDir
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0}
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0;
-  return proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0;
+  return proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0}
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -52198,19 +58340,21 @@ proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDir
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices.deserializeBinaryFromReader);
-      msg.setTokenDirectPurchasePrices(value);
+      var value = /** @type {!Uint8Array} */ (reader.readBytes());
+      msg.setTokenId(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.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.deserializeBinaryFromReader);
+      msg.setStartAtInfo(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.setLimit(value);
+      break;
+    case 4:
+      var value = /** @type {boolean} */ (reader.readBool());
+      msg.setProve(value);
       break;
     default:
       reader.skipField();
@@ -52225,9 +58369,9 @@ proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDir
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -52235,34 +58379,39 @@ proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDir
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getTokenDirectPurchasePrices();
-  if (f != null) {
-    writer.writeMessage(
+  f = message.getTokenId_asU8();
+  if (f.length > 0) {
+    writer.writeBytes(
       1,
-      f,
-      proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices.serializeBinaryToWriter
+      f
     );
   }
-  f = message.getProof();
+  f = message.getStartAtInfo();
   if (f != null) {
     writer.writeMessage(
       2,
       f,
-      proto.org.dash.platform.dapi.v0.Proof.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.serializeBinaryToWriter
     );
   }
-  f = message.getMetadata();
+  f = /** @type {number} */ (jspb.Message.getField(message, 3));
   if (f != null) {
-    writer.writeMessage(
+    writer.writeUint32(
       3,
-      f,
-      proto.org.dash.platform.dapi.v0.ResponseMetadata.serializeBinaryToWriter
+      f
+    );
+  }
+  f = message.getProve();
+  if (f) {
+    writer.writeBool(
+      4,
+      f
     );
   }
 };
@@ -52284,8 +58433,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.toObject(opt_includeInstance, this);
 };
 
 
@@ -52294,14 +58443,15 @@ proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDir
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.toObject = function(includeInstance, msg) {
   var f, obj = {
-    quantity: jspb.Message.getFieldWithDefault(msg, 1, 0),
-    price: jspb.Message.getFieldWithDefault(msg, 2, 0)
+    startTimeMs: jspb.Message.getFieldWithDefault(msg, 1, 0),
+    startRecipient: msg.getStartRecipient_asB64(),
+    startRecipientIncluded: jspb.Message.getBooleanFieldWithDefault(msg, 3, false)
   };
 
   if (includeInstance) {
@@ -52315,23 +58465,23 @@ proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDir
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo}
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity;
-  return proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo;
+  return proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo}
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -52340,11 +58490,15 @@ proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDir
     switch (field) {
     case 1:
       var value = /** @type {number} */ (reader.readUint64());
-      msg.setQuantity(value);
+      msg.setStartTimeMs(value);
       break;
     case 2:
-      var value = /** @type {number} */ (reader.readUint64());
-      msg.setPrice(value);
+      var value = /** @type {!Uint8Array} */ (reader.readBytes());
+      msg.setStartRecipient(value);
+      break;
+    case 3:
+      var value = /** @type {boolean} */ (reader.readBool());
+      msg.setStartRecipientIncluded(value);
       break;
     default:
       reader.skipField();
@@ -52359,9 +58513,9 @@ proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDir
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -52369,222 +58523,317 @@ proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDir
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getQuantity();
+  f = message.getStartTimeMs();
   if (f !== 0) {
     writer.writeUint64(
       1,
       f
     );
   }
-  f = message.getPrice();
-  if (f !== 0) {
-    writer.writeUint64(
+  f = /** @type {!(string|Uint8Array)} */ (jspb.Message.getField(message, 2));
+  if (f != null) {
+    writer.writeBytes(
       2,
       f
     );
   }
+  f = /** @type {boolean} */ (jspb.Message.getField(message, 3));
+  if (f != null) {
+    writer.writeBool(
+      3,
+      f
+    );
+  }
 };
 
 
 /**
- * optional uint64 quantity = 1;
+ * optional uint64 start_time_ms = 1;
  * @return {number}
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity.prototype.getQuantity = function() {
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.prototype.getStartTimeMs = function() {
   return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
 };
 
 
 /**
  * @param {number} value
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo} returns this
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity.prototype.setQuantity = function(value) {
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.prototype.setStartTimeMs = function(value) {
   return jspb.Message.setProto3IntField(this, 1, value);
 };
 
 
 /**
- * optional uint64 price = 2;
- * @return {number}
+ * optional bytes start_recipient = 2;
+ * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity.prototype.getPrice = function() {
-  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.prototype.getStartRecipient = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
 };
 
 
 /**
- * @param {number} value
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity} returns this
+ * optional bytes start_recipient = 2;
+ * This is a type-conversion wrapper around `getStartRecipient()`
+ * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity.prototype.setPrice = function(value) {
-  return jspb.Message.setProto3IntField(this, 2, value);
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.prototype.getStartRecipient_asB64 = function() {
+  return /** @type {string} */ (jspb.Message.bytesAsB64(
+      this.getStartRecipient()));
 };
 
 
+/**
+ * optional bytes start_recipient = 2;
+ * Note that Uint8Array is not supported on all browsers.
+ * @see http://caniuse.com/Uint8Array
+ * This is a type-conversion wrapper around `getStartRecipient()`
+ * @return {!Uint8Array}
+ */
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.prototype.getStartRecipient_asU8 = function() {
+  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
+      this.getStartRecipient()));
+};
+
 
 /**
- * List of repeated fields within this message type.
- * @private {!Array}
- * @const
+ * @param {!(string|Uint8Array)} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo} returns this
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule.repeatedFields_ = [1];
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.prototype.setStartRecipient = function(value) {
+  return jspb.Message.setField(this, 2, value);
+};
 
 
+/**
+ * Clears the field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.prototype.clearStartRecipient = function() {
+  return jspb.Message.setField(this, 2, 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.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.prototype.hasStartRecipient = 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.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule} msg The msg instance to transform.
- * @return {!Object}
- * @suppress {unusedLocalVariables} f is only used for nested messages
+ * optional bool start_recipient_included = 3;
+ * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule.toObject = function(includeInstance, msg) {
-  var f, obj = {
-    priceForQuantityList: jspb.Message.toObjectList(msg.getPriceForQuantityList(),
-    proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity.toObject, includeInstance)
-  };
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.prototype.getStartRecipientIncluded = function() {
+  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 3, false));
+};
+
+
+/**
+ * @param {boolean} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.prototype.setStartRecipientIncluded = function(value) {
+  return jspb.Message.setField(this, 3, value);
+};
+
+
+/**
+ * Clears the field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.prototype.clearStartRecipientIncluded = function() {
+  return jspb.Message.setField(this, 3, undefined);
+};
+
+
+/**
+ * Returns whether this field is set.
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.prototype.hasStartRecipientIncluded = function() {
+  return jspb.Message.getField(this, 3) != null;
+};
+
+
+/**
+ * optional bytes token_id = 1;
+ * @return {string}
+ */
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.prototype.getTokenId = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
+};
+
+
+/**
+ * optional bytes token_id = 1;
+ * This is a type-conversion wrapper around `getTokenId()`
+ * @return {string}
+ */
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.prototype.getTokenId_asB64 = function() {
+  return /** @type {string} */ (jspb.Message.bytesAsB64(
+      this.getTokenId()));
+};
+
+
+/**
+ * optional bytes token_id = 1;
+ * Note that Uint8Array is not supported on all browsers.
+ * @see http://caniuse.com/Uint8Array
+ * This is a type-conversion wrapper around `getTokenId()`
+ * @return {!Uint8Array}
+ */
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.prototype.getTokenId_asU8 = function() {
+  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
+      this.getTokenId()));
+};
+
+
+/**
+ * @param {!(string|Uint8Array)} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.prototype.setTokenId = function(value) {
+  return jspb.Message.setProto3BytesField(this, 1, value);
+};
+
+
+/**
+ * optional StartAtInfo start_at_info = 2;
+ * @return {?proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo}
+ */
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.prototype.getStartAtInfo = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo, 2));
+};
+
+
+/**
+ * @param {?proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.prototype.setStartAtInfo = function(value) {
+  return jspb.Message.setWrapperField(this, 2, value);
+};
+
+
+/**
+ * Clears the message field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.prototype.clearStartAtInfo = function() {
+  return this.setStartAtInfo(undefined);
+};
+
+
+/**
+ * Returns whether this field is set.
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.prototype.hasStartAtInfo = function() {
+  return jspb.Message.getField(this, 2) != null;
+};
+
+
+/**
+ * optional uint32 limit = 3;
+ * @return {number}
+ */
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.prototype.getLimit = function() {
+  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));
+};
 
-  if (includeInstance) {
-    obj.$jspbMessageInstance = msg;
-  }
-  return obj;
+
+/**
+ * @param {number} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.prototype.setLimit = function(value) {
+  return jspb.Message.setField(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.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule}
+ * Clears the field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule.deserializeBinary = function(bytes) {
-  var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule;
-  return proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule.deserializeBinaryFromReader(msg, reader);
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.prototype.clearLimit = function() {
+  return jspb.Message.setField(this, 3, undefined);
 };
 
 
 /**
- * Deserializes binary data (in protobuf wire format) from the
- * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule} msg The message object to deserialize into.
- * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule}
+ * Returns whether this field is set.
+ * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule.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.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity.deserializeBinaryFromReader);
-      msg.addPriceForQuantity(value);
-      break;
-    default:
-      reader.skipField();
-      break;
-    }
-  }
-  return msg;
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.prototype.hasLimit = function() {
+  return jspb.Message.getField(this, 3) != null;
 };
 
 
 /**
- * Serializes the message to binary data (in protobuf wire format).
- * @return {!Uint8Array}
+ * optional bool prove = 4;
+ * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule.prototype.serializeBinary = function() {
-  var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule.serializeBinaryToWriter(this, writer);
-  return writer.getResultBuffer();
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.prototype.getProve = function() {
+  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 4, false));
 };
 
 
 /**
- * Serializes the given message to binary data (in protobuf wire
- * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule} message
- * @param {!jspb.BinaryWriter} writer
- * @suppress {unusedLocalVariables} f is only used for nested messages
+ * @param {boolean} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule.serializeBinaryToWriter = function(message, writer) {
-  var f = undefined;
-  f = message.getPriceForQuantityList();
-  if (f.length > 0) {
-    writer.writeRepeatedMessage(
-      1,
-      f,
-      proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity.serializeBinaryToWriter
-    );
-  }
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.prototype.setProve = function(value) {
+  return jspb.Message.setProto3BooleanField(this, 4, value);
 };
 
 
 /**
- * repeated PriceForQuantity price_for_quantity = 1;
- * @return {!Array}
+ * optional GetTokenPreProgrammedDistributionsRequestV0 v0 = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0}
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule.prototype.getPriceForQuantityList = function() {
-  return /** @type{!Array} */ (
-    jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity, 1));
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.prototype.getV0 = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0, 1));
 };
 
 
 /**
- * @param {!Array} value
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule} returns this
+ * @param {?proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest} returns this
 */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule.prototype.setPriceForQuantityList = function(value) {
-  return jspb.Message.setRepeatedWrapperField(this, 1, value);
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.prototype.setV0 = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.oneofGroups_[0], value);
 };
 
 
 /**
- * @param {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity=} opt_value
- * @param {number=} opt_index
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity}
+ * Clears the message field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest} returns this
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule.prototype.addPriceForQuantity = function(opt_value, opt_index) {
-  return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PriceForQuantity, opt_index);
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.prototype.clearV0 = function() {
+  return this.setV0(undefined);
 };
 
 
 /**
- * Clears the list making it empty but non-null.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule} returns this
+ * Returns whether this field is set.
+ * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule.prototype.clearPriceForQuantityList = function() {
-  return this.setPriceForQuantityList([]);
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.prototype.hasV0 = function() {
+  return jspb.Message.getField(this, 1) != null;
 };
 
 
@@ -52597,22 +58846,21 @@ proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDir
  * @private {!Array>}
  * @const
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.oneofGroups_ = [[2,3]];
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.oneofGroups_ = [[1]];
 
 /**
  * @enum {number}
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.PriceCase = {
-  PRICE_NOT_SET: 0,
-  FIXED_PRICE: 2,
-  VARIABLE_PRICE: 3
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.VersionCase = {
+  VERSION_NOT_SET: 0,
+  V0: 1
 };
 
 /**
- * @return {proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.PriceCase}
+ * @return {proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.VersionCase}
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.prototype.getPriceCase = function() {
-  return /** @type {proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.PriceCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.oneofGroups_[0]));
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.prototype.getVersionCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.oneofGroups_[0]));
 };
 
 
@@ -52630,8 +58878,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.toObject(opt_includeInstance, this);
 };
 
 
@@ -52640,15 +58888,13 @@ proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDir
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.toObject = function(includeInstance, msg) {
   var f, obj = {
-    tokenId: msg.getTokenId_asB64(),
-    fixedPrice: jspb.Message.getFieldWithDefault(msg, 2, 0),
-    variablePrice: (f = msg.getVariablePrice()) && proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule.toObject(includeInstance, f)
+    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.toObject(includeInstance, f)
   };
 
   if (includeInstance) {
@@ -52662,23 +58908,23 @@ proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDir
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse}
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry;
-  return proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse;
+  return proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse}
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -52686,17 +58932,9 @@ proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDir
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = /** @type {!Uint8Array} */ (reader.readBytes());
-      msg.setTokenId(value);
-      break;
-    case 2:
-      var value = /** @type {number} */ (reader.readUint64());
-      msg.setFixedPrice(value);
-      break;
-    case 3:
-      var value = new proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule.deserializeBinaryFromReader);
-      msg.setVariablePrice(value);
+      var value = new proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.deserializeBinaryFromReader);
+      msg.setV0(value);
       break;
     default:
       reader.skipField();
@@ -52711,9 +58949,9 @@ proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDir
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -52721,162 +58959,52 @@ proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDir
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getTokenId_asU8();
-  if (f.length > 0) {
-    writer.writeBytes(
-      1,
-      f
-    );
-  }
-  f = /** @type {number} */ (jspb.Message.getField(message, 2));
-  if (f != null) {
-    writer.writeUint64(
-      2,
-      f
-    );
-  }
-  f = message.getVariablePrice();
+  f = message.getV0();
   if (f != null) {
     writer.writeMessage(
-      3,
+      1,
       f,
-      proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.serializeBinaryToWriter
     );
   }
 };
 
 
-/**
- * optional bytes token_id = 1;
- * @return {string}
- */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.prototype.getTokenId = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
-};
-
-
-/**
- * optional bytes token_id = 1;
- * This is a type-conversion wrapper around `getTokenId()`
- * @return {string}
- */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.prototype.getTokenId_asB64 = function() {
-  return /** @type {string} */ (jspb.Message.bytesAsB64(
-      this.getTokenId()));
-};
-
-
-/**
- * optional bytes token_id = 1;
- * Note that Uint8Array is not supported on all browsers.
- * @see http://caniuse.com/Uint8Array
- * This is a type-conversion wrapper around `getTokenId()`
- * @return {!Uint8Array}
- */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.prototype.getTokenId_asU8 = function() {
-  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
-      this.getTokenId()));
-};
-
-
-/**
- * @param {!(string|Uint8Array)} value
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry} returns this
- */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.prototype.setTokenId = function(value) {
-  return jspb.Message.setProto3BytesField(this, 1, value);
-};
-
-
-/**
- * optional uint64 fixed_price = 2;
- * @return {number}
- */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.prototype.getFixedPrice = function() {
-  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
-};
-
-
-/**
- * @param {number} value
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry} returns this
- */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.prototype.setFixedPrice = function(value) {
-  return jspb.Message.setOneofField(this, 2, proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.oneofGroups_[0], value);
-};
-
-
-/**
- * Clears the field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry} returns this
- */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.prototype.clearFixedPrice = function() {
-  return jspb.Message.setOneofField(this, 2, proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.oneofGroups_[0], undefined);
-};
-
-
-/**
- * Returns whether this field is set.
- * @return {boolean}
- */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.prototype.hasFixedPrice = function() {
-  return jspb.Message.getField(this, 2) != null;
-};
-
 
 /**
- * optional PricingSchedule variable_price = 3;
- * @return {?proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule}
+ * 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.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.prototype.getVariablePrice = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule, 3));
-};
-
-
-/**
- * @param {?proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.PricingSchedule|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry} returns this
-*/
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.prototype.setVariablePrice = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 3, proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.oneofGroups_[0], value);
-};
-
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.oneofGroups_ = [[1,2]];
 
 /**
- * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry} returns this
+ * @enum {number}
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.prototype.clearVariablePrice = function() {
-  return this.setVariablePrice(undefined);
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.ResultCase = {
+  RESULT_NOT_SET: 0,
+  TOKEN_DISTRIBUTIONS: 1,
+  PROOF: 2
 };
 
-
 /**
- * Returns whether this field is set.
- * @return {boolean}
+ * @return {proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.ResultCase}
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.prototype.hasVariablePrice = function() {
-  return jspb.Message.getField(this, 3) != null;
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.prototype.getResultCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.oneofGroups_[0]));
 };
 
 
 
-/**
- * List of repeated fields within this message type.
- * @private {!Array}
- * @const
- */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices.repeatedFields_ = [1];
-
-
-
 if (jspb.Message.GENERATE_TO_OBJECT) {
 /**
  * Creates an object representation of this proto.
@@ -52890,8 +59018,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.toObject(opt_includeInstance, this);
 };
 
 
@@ -52900,14 +59028,15 @@ proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDir
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.toObject = function(includeInstance, msg) {
   var f, obj = {
-    tokenDirectPurchasePriceList: jspb.Message.toObjectList(msg.getTokenDirectPurchasePriceList(),
-    proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.toObject, includeInstance)
+    tokenDistributions: (f = msg.getTokenDistributions()) && proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions.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) {
@@ -52921,23 +59050,23 @@ proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDir
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0}
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices;
-  return proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0;
+  return proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0}
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -52945,9 +59074,19 @@ proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDir
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.deserializeBinaryFromReader);
-      msg.addTokenDirectPurchasePrice(value);
+      var value = new proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions.deserializeBinaryFromReader);
+      msg.setTokenDistributions(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();
@@ -52962,9 +59101,9 @@ proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDir
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -52972,234 +59111,230 @@ proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDir
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getTokenDirectPurchasePriceList();
-  if (f.length > 0) {
-    writer.writeRepeatedMessage(
+  f = message.getTokenDistributions();
+  if (f != null) {
+    writer.writeMessage(
       1,
       f,
-      proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions.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
     );
   }
 };
 
 
-/**
- * repeated TokenDirectPurchasePriceEntry token_direct_purchase_price = 1;
- * @return {!Array}
- */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices.prototype.getTokenDirectPurchasePriceList = function() {
-  return /** @type{!Array} */ (
-    jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry, 1));
-};
-
-
-/**
- * @param {!Array} value
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices} returns this
-*/
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices.prototype.setTokenDirectPurchasePriceList = function(value) {
-  return jspb.Message.setRepeatedWrapperField(this, 1, value);
-};
-
-
-/**
- * @param {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry=} opt_value
- * @param {number=} opt_index
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry}
- */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices.prototype.addTokenDirectPurchasePrice = function(opt_value, opt_index) {
-  return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePriceEntry, opt_index);
-};
-
-
-/**
- * Clears the list making it empty but non-null.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices} returns this
- */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices.prototype.clearTokenDirectPurchasePriceList = function() {
-  return this.setTokenDirectPurchasePriceList([]);
-};
-
-
-/**
- * optional TokenDirectPurchasePrices token_direct_purchase_prices = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices}
- */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.prototype.getTokenDirectPurchasePrices = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices, 1));
-};
-
-
-/**
- * @param {?proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.TokenDirectPurchasePrices|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0} returns this
-*/
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.prototype.setTokenDirectPurchasePrices = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.oneofGroups_[0], value);
-};
-
 
-/**
- * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0} returns this
- */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.prototype.clearTokenDirectPurchasePrices = function() {
-  return this.setTokenDirectPurchasePrices(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.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.prototype.hasTokenDirectPurchasePrices = function() {
-  return jspb.Message.getField(this, 1) != null;
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry.toObject(opt_includeInstance, this);
 };
 
 
 /**
- * optional Proof proof = 2;
- * @return {?proto.org.dash.platform.dapi.v0.Proof}
+ * 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.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry} msg The msg instance to transform.
+ * @return {!Object}
+ * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.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.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry.toObject = function(includeInstance, msg) {
+  var f, obj = {
+    recipientId: msg.getRecipientId_asB64(),
+    amount: jspb.Message.getFieldWithDefault(msg, 2, 0)
+  };
 
-/**
- * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0} returns this
-*/
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.prototype.setProof = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.oneofGroups_[0], value);
+  if (includeInstance) {
+    obj.$jspbMessageInstance = msg;
+  }
+  return obj;
 };
+}
 
 
 /**
- * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0} returns this
+ * Deserializes binary data (in protobuf wire format).
+ * @param {jspb.ByteSource} bytes The bytes to deserialize.
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry}
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.prototype.clearProof = function() {
-  return this.setProof(undefined);
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry.deserializeBinary = function(bytes) {
+  var reader = new jspb.BinaryReader(bytes);
+  var msg = new proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry;
+  return proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry.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.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry} msg The message object to deserialize into.
+ * @param {!jspb.BinaryReader} reader The BinaryReader to use.
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry}
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.prototype.hasProof = function() {
-  return jspb.Message.getField(this, 2) != null;
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry.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.setRecipientId(value);
+      break;
+    case 2:
+      var value = /** @type {number} */ (reader.readUint64());
+      msg.setAmount(value);
+      break;
+    default:
+      reader.skipField();
+      break;
+    }
+  }
+  return msg;
 };
 
 
 /**
- * optional ResponseMetadata metadata = 3;
- * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata}
+ * Serializes the message to binary data (in protobuf wire format).
+ * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.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.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry.prototype.serializeBinary = function() {
+  var writer = new jspb.BinaryWriter();
+  proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry.serializeBinaryToWriter(this, writer);
+  return writer.getResultBuffer();
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0} returns this
-*/
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.prototype.setMetadata = function(value) {
-  return jspb.Message.setWrapperField(this, 3, value);
+ * Serializes the given message to binary data (in protobuf wire
+ * format), writing to the given BinaryWriter.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry} message
+ * @param {!jspb.BinaryWriter} writer
+ * @suppress {unusedLocalVariables} f is only used for nested messages
+ */
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry.serializeBinaryToWriter = function(message, writer) {
+  var f = undefined;
+  f = message.getRecipientId_asU8();
+  if (f.length > 0) {
+    writer.writeBytes(
+      1,
+      f
+    );
+  }
+  f = message.getAmount();
+  if (f !== 0) {
+    writer.writeUint64(
+      2,
+      f
+    );
+  }
 };
 
 
 /**
- * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0} returns this
+ * optional bytes recipient_id = 1;
+ * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.prototype.clearMetadata = function() {
-  return this.setMetadata(undefined);
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry.prototype.getRecipientId = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
 };
 
 
 /**
- * Returns whether this field is set.
- * @return {boolean}
+ * optional bytes recipient_id = 1;
+ * This is a type-conversion wrapper around `getRecipientId()`
+ * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0.prototype.hasMetadata = function() {
-  return jspb.Message.getField(this, 3) != null;
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry.prototype.getRecipientId_asB64 = function() {
+  return /** @type {string} */ (jspb.Message.bytesAsB64(
+      this.getRecipientId()));
 };
 
 
 /**
- * optional GetTokenDirectPurchasePricesResponseV0 v0 = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0}
+ * optional bytes recipient_id = 1;
+ * Note that Uint8Array is not supported on all browsers.
+ * @see http://caniuse.com/Uint8Array
+ * This is a type-conversion wrapper around `getRecipientId()`
+ * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.prototype.getV0 = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0, 1));
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry.prototype.getRecipientId_asU8 = function() {
+  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
+      this.getRecipientId()));
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.GetTokenDirectPurchasePricesResponseV0|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse} returns this
-*/
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.prototype.setV0 = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.oneofGroups_[0], value);
+ * @param {!(string|Uint8Array)} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry.prototype.setRecipientId = function(value) {
+  return jspb.Message.setProto3BytesField(this, 1, value);
 };
 
 
 /**
- * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse} returns this
+ * optional uint64 amount = 2;
+ * @return {number}
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.prototype.clearV0 = function() {
-  return this.setV0(undefined);
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry.prototype.getAmount = function() {
+  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
 };
 
 
 /**
- * Returns whether this field is set.
- * @return {boolean}
+ * @param {number} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry} returns this
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesResponse.prototype.hasV0 = function() {
-  return jspb.Message.getField(this, 1) != null;
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry.prototype.setAmount = function(value) {
+  return jspb.Message.setProto3IntField(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>}
+ * List of repeated fields within this message type.
+ * @private {!Array}
  * @const
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.oneofGroups_ = [[1]];
-
-/**
- * @enum {number}
- */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.VersionCase = {
-  VERSION_NOT_SET: 0,
-  V0: 1
-};
-
-/**
- * @return {proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.VersionCase}
- */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.prototype.getVersionCase = function() {
-  return /** @type {proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.oneofGroups_[0]));
-};
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry.repeatedFields_ = [2];
 
 
 
@@ -53216,8 +59351,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry.toObject(opt_includeInstance, this);
 };
 
 
@@ -53226,13 +59361,15 @@ proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.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.GetTokenDirectPurchasePricesRequest} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry.toObject = function(includeInstance, msg) {
   var f, obj = {
-    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.toObject(includeInstance, f)
+    timestamp: jspb.Message.getFieldWithDefault(msg, 1, 0),
+    distributionsList: jspb.Message.toObjectList(msg.getDistributionsList(),
+    proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry.toObject, includeInstance)
   };
 
   if (includeInstance) {
@@ -53246,23 +59383,23 @@ proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.toObject = f
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry}
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest;
-  return proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry;
+  return proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry}
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -53270,9 +59407,13 @@ proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.deserializeB
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.deserializeBinaryFromReader);
-      msg.setV0(value);
+      var value = /** @type {number} */ (reader.readUint64());
+      msg.setTimestamp(value);
+      break;
+    case 2:
+      var value = new proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry.deserializeBinaryFromReader);
+      msg.addDistributions(value);
       break;
     default:
       reader.skipField();
@@ -53287,9 +59428,9 @@ proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.deserializeB
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -53297,30 +59438,93 @@ proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.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.GetTokenDirectPurchasePricesRequest} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getV0();
-  if (f != null) {
-    writer.writeMessage(
+  f = message.getTimestamp();
+  if (f !== 0) {
+    writer.writeUint64(
       1,
+      f
+    );
+  }
+  f = message.getDistributionsList();
+  if (f.length > 0) {
+    writer.writeRepeatedMessage(
+      2,
       f,
-      proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry.serializeBinaryToWriter
     );
   }
 };
 
 
+/**
+ * optional uint64 timestamp = 1;
+ * @return {number}
+ */
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry.prototype.getTimestamp = function() {
+  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
+};
+
+
+/**
+ * @param {number} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry.prototype.setTimestamp = function(value) {
+  return jspb.Message.setProto3IntField(this, 1, value);
+};
+
+
+/**
+ * repeated TokenDistributionEntry distributions = 2;
+ * @return {!Array}
+ */
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry.prototype.getDistributionsList = function() {
+  return /** @type{!Array} */ (
+    jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry, 2));
+};
+
+
+/**
+ * @param {!Array} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry.prototype.setDistributionsList = function(value) {
+  return jspb.Message.setRepeatedWrapperField(this, 2, value);
+};
+
+
+/**
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry=} opt_value
+ * @param {number=} opt_index
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry}
+ */
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry.prototype.addDistributions = function(opt_value, opt_index) {
+  return jspb.Message.addToRepeatedWrapperField(this, 2, opt_value, proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry, opt_index);
+};
+
+
+/**
+ * Clears the list making it empty but non-null.
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry.prototype.clearDistributionsList = function() {
+  return this.setDistributionsList([]);
+};
+
+
 
 /**
  * List of repeated fields within this message type.
  * @private {!Array}
  * @const
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.repeatedFields_ = [1];
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions.repeatedFields_ = [1];
 
 
 
@@ -53337,8 +59541,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions.toObject(opt_includeInstance, this);
 };
 
 
@@ -53347,14 +59551,14 @@ proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDire
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions.toObject = function(includeInstance, msg) {
   var f, obj = {
-    tokenIdsList: msg.getTokenIdsList_asB64(),
-    prove: jspb.Message.getBooleanFieldWithDefault(msg, 2, false)
+    tokenDistributionsList: jspb.Message.toObjectList(msg.getTokenDistributionsList(),
+    proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry.toObject, includeInstance)
   };
 
   if (includeInstance) {
@@ -53368,23 +59572,23 @@ proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDire
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions}
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0;
-  return proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions;
+  return proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions}
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -53392,12 +59596,9 @@ proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDire
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = /** @type {!Uint8Array} */ (reader.readBytes());
-      msg.addTokenIds(value);
-      break;
-    case 2:
-      var value = /** @type {boolean} */ (reader.readBool());
-      msg.setProve(value);
+      var value = new proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry.deserializeBinaryFromReader);
+      msg.addTokenDistributions(value);
       break;
     default:
       reader.skipField();
@@ -53412,9 +59613,9 @@ proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDire
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -53422,132 +59623,196 @@ proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDire
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getTokenIdsList_asU8();
+  f = message.getTokenDistributionsList();
   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.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry.serializeBinaryToWriter
     );
   }
 };
 
 
 /**
- * repeated bytes token_ids = 1;
- * @return {!Array}
+ * repeated TokenTimedDistributionEntry token_distributions = 1;
+ * @return {!Array}
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.prototype.getTokenIdsList = function() {
-  return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1));
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions.prototype.getTokenDistributionsList = function() {
+  return /** @type{!Array} */ (
+    jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry, 1));
 };
 
 
 /**
- * repeated bytes token_ids = 1;
- * This is a type-conversion wrapper around `getTokenIdsList()`
- * @return {!Array}
+ * @param {!Array} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions.prototype.setTokenDistributionsList = function(value) {
+  return jspb.Message.setRepeatedWrapperField(this, 1, value);
+};
+
+
+/**
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry=} opt_value
+ * @param {number=} opt_index
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry}
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.prototype.getTokenIdsList_asB64 = function() {
-  return /** @type {!Array} */ (jspb.Message.bytesListAsB64(
-      this.getTokenIdsList()));
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions.prototype.addTokenDistributions = function(opt_value, opt_index) {
+  return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry, opt_index);
 };
 
 
 /**
- * repeated bytes token_ids = 1;
- * Note that Uint8Array is not supported on all browsers.
- * @see http://caniuse.com/Uint8Array
- * This is a type-conversion wrapper around `getTokenIdsList()`
- * @return {!Array}
+ * Clears the list making it empty but non-null.
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions} returns this
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.prototype.getTokenIdsList_asU8 = function() {
-  return /** @type {!Array} */ (jspb.Message.bytesListAsU8(
-      this.getTokenIdsList()));
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions.prototype.clearTokenDistributionsList = function() {
+  return this.setTokenDistributionsList([]);
 };
 
 
 /**
- * @param {!(Array|Array)} value
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0} returns this
+ * optional TokenDistributions token_distributions = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions}
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.prototype.setTokenIdsList = function(value) {
-  return jspb.Message.setField(this, 1, value || []);
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.prototype.getTokenDistributions = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions, 1));
 };
 
 
 /**
- * @param {!(string|Uint8Array)} value
- * @param {number=} opt_index
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0} returns this
+ * @param {?proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.prototype.setTokenDistributions = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.oneofGroups_[0], value);
+};
+
+
+/**
+ * Clears the message field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.prototype.addTokenIds = function(value, opt_index) {
-  return jspb.Message.addToRepeatedField(this, 1, value, opt_index);
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.prototype.clearTokenDistributions = function() {
+  return this.setTokenDistributions(undefined);
 };
 
 
 /**
- * Clears the list making it empty but non-null.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0} returns this
+ * Returns whether this field is set.
+ * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.prototype.clearTokenIdsList = function() {
-  return this.setTokenIdsList([]);
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.prototype.hasTokenDistributions = 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.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.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.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.prototype.setProof = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.oneofGroups_[0], value);
+};
+
+
+/**
+ * Clears the message field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.prototype.clearProof = function() {
+  return this.setProof(undefined);
+};
+
+
+/**
+ * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.prototype.getProve = function() {
-  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.prototype.hasProof = function() {
+  return jspb.Message.getField(this, 2) != null;
 };
 
 
 /**
- * @param {boolean} value
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0} returns this
+ * optional ResponseMetadata metadata = 3;
+ * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata}
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0.prototype.setProve = function(value) {
-  return jspb.Message.setProto3BooleanField(this, 2, value);
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.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 GetTokenDirectPurchasePricesRequestV0 v0 = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0}
+ * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0} returns this
+*/
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.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.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.prototype.getV0 = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0, 1));
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.prototype.clearMetadata = function() {
+  return this.setMetadata(undefined);
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.GetTokenDirectPurchasePricesRequestV0|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest} returns this
+ * Returns whether this field is set.
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.prototype.hasMetadata = function() {
+  return jspb.Message.getField(this, 3) != null;
+};
+
+
+/**
+ * optional GetTokenPreProgrammedDistributionsResponseV0 v0 = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0}
+ */
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.prototype.getV0 = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0, 1));
+};
+
+
+/**
+ * @param {?proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse} returns this
 */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.prototype.setV0 = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.oneofGroups_[0], value);
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.prototype.setV0 = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.oneofGroups_[0], value);
 };
 
 
 /**
  * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse} returns this
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.prototype.clearV0 = function() {
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.prototype.clearV0 = function() {
   return this.setV0(undefined);
 };
 
@@ -53556,7 +59821,7 @@ proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.prototype.cl
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.prototype.hasV0 = function() {
+proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.prototype.hasV0 = function() {
   return jspb.Message.getField(this, 1) != null;
 };
 
@@ -53570,21 +59835,21 @@ proto.org.dash.platform.dapi.v0.GetTokenDirectPurchasePricesRequest.prototype.ha
  * @private {!Array>}
  * @const
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.oneofGroups_ = [[1]];
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.oneofGroups_ = [[1]];
 
 /**
  * @enum {number}
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.VersionCase = {
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.VersionCase = {
   VERSION_NOT_SET: 0,
   V0: 1
 };
 
 /**
- * @return {proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.VersionCase}
+ * @return {proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.VersionCase}
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.prototype.getVersionCase = function() {
-  return /** @type {proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.oneofGroups_[0]));
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.prototype.getVersionCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.oneofGroups_[0]));
 };
 
 
@@ -53602,8 +59867,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.toObject(opt_includeInstance, this);
 };
 
 
@@ -53612,13 +59877,13 @@ proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.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.GetTokenPreProgrammedDistributionsRequest} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.toObject = function(includeInstance, msg) {
   var f, obj = {
-    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.toObject(includeInstance, f)
+    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0.toObject(includeInstance, f)
   };
 
   if (includeInstance) {
@@ -53632,23 +59897,23 @@ proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.toObje
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest}
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest;
-  return proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest;
+  return proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest}
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -53656,8 +59921,8 @@ proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.deseri
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.deserializeBinaryFromReader);
+      var value = new proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0.deserializeBinaryFromReader);
       msg.setV0(value);
       break;
     default:
@@ -53673,9 +59938,9 @@ proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.deseri
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -53683,18 +59948,18 @@ proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.protot
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
   f = message.getV0();
   if (f != null) {
     writer.writeMessage(
       1,
       f,
-      proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.serializeBinaryToWriter
+      proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0.serializeBinaryToWriter
     );
   }
 };
@@ -53716,8 +59981,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo.toObject(opt_includeInstance, this);
 };
 
 
@@ -53726,16 +59991,14 @@ proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTok
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo.toObject = function(includeInstance, msg) {
   var f, obj = {
-    tokenId: msg.getTokenId_asB64(),
-    startAtInfo: (f = msg.getStartAtInfo()) && proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.toObject(includeInstance, f),
-    limit: jspb.Message.getFieldWithDefault(msg, 3, 0),
-    prove: jspb.Message.getBooleanFieldWithDefault(msg, 4, false)
+    contractId: msg.getContractId_asB64(),
+    tokenContractPosition: jspb.Message.getFieldWithDefault(msg, 2, 0)
   };
 
   if (includeInstance) {
@@ -53749,23 +60012,23 @@ proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTok
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo}
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0;
-  return proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo;
+  return proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo}
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -53774,20 +60037,11 @@ proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTok
     switch (field) {
     case 1:
       var value = /** @type {!Uint8Array} */ (reader.readBytes());
-      msg.setTokenId(value);
+      msg.setContractId(value);
       break;
     case 2:
-      var value = new proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.deserializeBinaryFromReader);
-      msg.setStartAtInfo(value);
-      break;
-    case 3:
       var value = /** @type {number} */ (reader.readUint32());
-      msg.setLimit(value);
-      break;
-    case 4:
-      var value = /** @type {boolean} */ (reader.readBool());
-      msg.setProve(value);
+      msg.setTokenContractPosition(value);
       break;
     default:
       reader.skipField();
@@ -53802,9 +60056,9 @@ proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTok
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -53812,44 +60066,89 @@ proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTok
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getTokenId_asU8();
+  f = message.getContractId_asU8();
   if (f.length > 0) {
     writer.writeBytes(
       1,
       f
     );
   }
-  f = message.getStartAtInfo();
-  if (f != null) {
-    writer.writeMessage(
-      2,
-      f,
-      proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.serializeBinaryToWriter
-    );
-  }
-  f = /** @type {number} */ (jspb.Message.getField(message, 3));
-  if (f != null) {
+  f = message.getTokenContractPosition();
+  if (f !== 0) {
     writer.writeUint32(
-      3,
-      f
-    );
-  }
-  f = message.getProve();
-  if (f) {
-    writer.writeBool(
-      4,
+      2,
       f
     );
   }
 };
 
 
+/**
+ * optional bytes contract_id = 1;
+ * @return {string}
+ */
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo.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.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo.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.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo.prototype.getContractId_asU8 = function() {
+  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
+      this.getContractId()));
+};
+
+
+/**
+ * @param {!(string|Uint8Array)} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo.prototype.setContractId = function(value) {
+  return jspb.Message.setProto3BytesField(this, 1, value);
+};
+
+
+/**
+ * optional uint32 token_contract_position = 2;
+ * @return {number}
+ */
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo.prototype.getTokenContractPosition = function() {
+  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
+};
+
+
+/**
+ * @param {number} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo.prototype.setTokenContractPosition = function(value) {
+  return jspb.Message.setProto3IntField(this, 2, value);
+};
+
+
 
 
 
@@ -53866,8 +60165,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0.toObject(opt_includeInstance, this);
 };
 
 
@@ -53876,15 +60175,16 @@ proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTok
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0.toObject = function(includeInstance, msg) {
   var f, obj = {
-    startTimeMs: jspb.Message.getFieldWithDefault(msg, 1, 0),
-    startRecipient: msg.getStartRecipient_asB64(),
-    startRecipientIncluded: jspb.Message.getBooleanFieldWithDefault(msg, 3, false)
+    tokenId: msg.getTokenId_asB64(),
+    contractInfo: (f = msg.getContractInfo()) && proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo.toObject(includeInstance, f),
+    identityId: msg.getIdentityId_asB64(),
+    prove: jspb.Message.getBooleanFieldWithDefault(msg, 5, false)
   };
 
   if (includeInstance) {
@@ -53898,23 +60198,23 @@ proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTok
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0}
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo;
-  return proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0;
+  return proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0}
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -53922,16 +60222,21 @@ proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTok
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = /** @type {number} */ (reader.readUint64());
-      msg.setStartTimeMs(value);
+      var value = /** @type {!Uint8Array} */ (reader.readBytes());
+      msg.setTokenId(value);
       break;
     case 2:
+      var value = new proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo.deserializeBinaryFromReader);
+      msg.setContractInfo(value);
+      break;
+    case 4:
       var value = /** @type {!Uint8Array} */ (reader.readBytes());
-      msg.setStartRecipient(value);
+      msg.setIdentityId(value);
       break;
-    case 3:
+    case 5:
       var value = /** @type {boolean} */ (reader.readBool());
-      msg.setStartRecipientIncluded(value);
+      msg.setProve(value);
       break;
     default:
       reader.skipField();
@@ -53946,9 +60251,9 @@ proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTok
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -53956,155 +60261,49 @@ proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTok
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getStartTimeMs();
-  if (f !== 0) {
-    writer.writeUint64(
+  f = message.getTokenId_asU8();
+  if (f.length > 0) {
+    writer.writeBytes(
       1,
       f
     );
   }
-  f = /** @type {!(string|Uint8Array)} */ (jspb.Message.getField(message, 2));
+  f = message.getContractInfo();
   if (f != null) {
-    writer.writeBytes(
+    writer.writeMessage(
       2,
+      f,
+      proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo.serializeBinaryToWriter
+    );
+  }
+  f = message.getIdentityId_asU8();
+  if (f.length > 0) {
+    writer.writeBytes(
+      4,
       f
     );
   }
-  f = /** @type {boolean} */ (jspb.Message.getField(message, 3));
-  if (f != null) {
+  f = message.getProve();
+  if (f) {
     writer.writeBool(
-      3,
+      5,
       f
     );
   }
 };
 
 
-/**
- * optional uint64 start_time_ms = 1;
- * @return {number}
- */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.prototype.getStartTimeMs = function() {
-  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
-};
-
-
-/**
- * @param {number} value
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo} returns this
- */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.prototype.setStartTimeMs = function(value) {
-  return jspb.Message.setProto3IntField(this, 1, value);
-};
-
-
-/**
- * optional bytes start_recipient = 2;
- * @return {string}
- */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.prototype.getStartRecipient = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
-};
-
-
-/**
- * optional bytes start_recipient = 2;
- * This is a type-conversion wrapper around `getStartRecipient()`
- * @return {string}
- */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.prototype.getStartRecipient_asB64 = function() {
-  return /** @type {string} */ (jspb.Message.bytesAsB64(
-      this.getStartRecipient()));
-};
-
-
-/**
- * optional bytes start_recipient = 2;
- * Note that Uint8Array is not supported on all browsers.
- * @see http://caniuse.com/Uint8Array
- * This is a type-conversion wrapper around `getStartRecipient()`
- * @return {!Uint8Array}
- */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.prototype.getStartRecipient_asU8 = function() {
-  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
-      this.getStartRecipient()));
-};
-
-
-/**
- * @param {!(string|Uint8Array)} value
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo} returns this
- */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.prototype.setStartRecipient = function(value) {
-  return jspb.Message.setField(this, 2, value);
-};
-
-
-/**
- * Clears the field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo} returns this
- */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.prototype.clearStartRecipient = function() {
-  return jspb.Message.setField(this, 2, undefined);
-};
-
-
-/**
- * Returns whether this field is set.
- * @return {boolean}
- */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.prototype.hasStartRecipient = function() {
-  return jspb.Message.getField(this, 2) != null;
-};
-
-
-/**
- * optional bool start_recipient_included = 3;
- * @return {boolean}
- */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.prototype.getStartRecipientIncluded = function() {
-  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 3, false));
-};
-
-
-/**
- * @param {boolean} value
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo} returns this
- */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.prototype.setStartRecipientIncluded = function(value) {
-  return jspb.Message.setField(this, 3, value);
-};
-
-
-/**
- * Clears the field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo} returns this
- */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.prototype.clearStartRecipientIncluded = function() {
-  return jspb.Message.setField(this, 3, undefined);
-};
-
-
-/**
- * Returns whether this field is set.
- * @return {boolean}
- */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo.prototype.hasStartRecipientIncluded = function() {
-  return jspb.Message.getField(this, 3) != null;
-};
-
-
 /**
  * optional bytes token_id = 1;
  * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.prototype.getTokenId = function() {
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0.prototype.getTokenId = function() {
   return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
 };
 
@@ -54114,7 +60313,7 @@ proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTok
  * This is a type-conversion wrapper around `getTokenId()`
  * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.prototype.getTokenId_asB64 = function() {
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0.prototype.getTokenId_asB64 = function() {
   return /** @type {string} */ (jspb.Message.bytesAsB64(
       this.getTokenId()));
 };
@@ -54127,7 +60326,7 @@ proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTok
  * This is a type-conversion wrapper around `getTokenId()`
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.prototype.getTokenId_asU8 = function() {
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0.prototype.getTokenId_asU8 = function() {
   return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
       this.getTokenId()));
 };
@@ -54135,38 +60334,38 @@ proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTok
 
 /**
  * @param {!(string|Uint8Array)} value
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.prototype.setTokenId = function(value) {
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0.prototype.setTokenId = function(value) {
   return jspb.Message.setProto3BytesField(this, 1, value);
 };
 
 
 /**
- * optional StartAtInfo start_at_info = 2;
- * @return {?proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo}
+ * optional ContractTokenInfo contract_info = 2;
+ * @return {?proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo}
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.prototype.getStartAtInfo = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo, 2));
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0.prototype.getContractInfo = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo, 2));
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.StartAtInfo|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0} returns this
+ * @param {?proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.ContractTokenInfo|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0} returns this
 */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.prototype.setStartAtInfo = function(value) {
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0.prototype.setContractInfo = function(value) {
   return jspb.Message.setWrapperField(this, 2, value);
 };
 
 
 /**
  * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.prototype.clearStartAtInfo = function() {
-  return this.setStartAtInfo(undefined);
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0.prototype.clearContractInfo = function() {
+  return this.setContractInfo(undefined);
 };
 
 
@@ -54174,89 +60373,95 @@ proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTok
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.prototype.hasStartAtInfo = function() {
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0.prototype.hasContractInfo = function() {
   return jspb.Message.getField(this, 2) != null;
 };
 
 
 /**
- * optional uint32 limit = 3;
- * @return {number}
+ * optional bytes identity_id = 4;
+ * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.prototype.getLimit = function() {
-  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0.prototype.getIdentityId = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, ""));
 };
 
 
 /**
- * @param {number} value
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0} returns this
+ * optional bytes identity_id = 4;
+ * This is a type-conversion wrapper around `getIdentityId()`
+ * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.prototype.setLimit = function(value) {
-  return jspb.Message.setField(this, 3, value);
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0.prototype.getIdentityId_asB64 = function() {
+  return /** @type {string} */ (jspb.Message.bytesAsB64(
+      this.getIdentityId()));
 };
 
 
 /**
- * Clears the field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0} returns this
+ * optional bytes identity_id = 4;
+ * 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.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.prototype.clearLimit = function() {
-  return jspb.Message.setField(this, 3, undefined);
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0.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.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.prototype.hasLimit = function() {
-  return jspb.Message.getField(this, 3) != null;
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0.prototype.setIdentityId = function(value) {
+  return jspb.Message.setProto3BytesField(this, 4, value);
 };
 
 
 /**
- * optional bool prove = 4;
+ * optional bool prove = 5;
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.prototype.getProve = function() {
-  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 4, false));
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0.prototype.getProve = function() {
+  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 5, false));
 };
 
 
 /**
  * @param {boolean} value
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0.prototype.setProve = function(value) {
-  return jspb.Message.setProto3BooleanField(this, 4, value);
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0.prototype.setProve = function(value) {
+  return jspb.Message.setProto3BooleanField(this, 5, value);
 };
 
 
 /**
- * optional GetTokenPreProgrammedDistributionsRequestV0 v0 = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0}
+ * optional GetTokenPerpetualDistributionLastClaimRequestV0 v0 = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0}
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.prototype.getV0 = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0, 1));
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.prototype.getV0 = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0, 1));
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.GetTokenPreProgrammedDistributionsRequestV0|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest} returns this
+ * @param {?proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.GetTokenPerpetualDistributionLastClaimRequestV0|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest} returns this
 */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.prototype.setV0 = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.oneofGroups_[0], value);
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.prototype.setV0 = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.oneofGroups_[0], value);
 };
 
 
 /**
  * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest} returns this
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.prototype.clearV0 = function() {
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.prototype.clearV0 = function() {
   return this.setV0(undefined);
 };
 
@@ -54265,7 +60470,7 @@ proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.protot
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.prototype.hasV0 = function() {
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimRequest.prototype.hasV0 = function() {
   return jspb.Message.getField(this, 1) != null;
 };
 
@@ -54279,161 +60484,21 @@ proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsRequest.protot
  * @private {!Array>}
  * @const
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.oneofGroups_ = [[1]];
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.oneofGroups_ = [[1]];
 
 /**
  * @enum {number}
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.VersionCase = {
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.VersionCase = {
   VERSION_NOT_SET: 0,
   V0: 1
 };
 
 /**
- * @return {proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.VersionCase}
- */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.prototype.getVersionCase = function() {
-  return /** @type {proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.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.GetTokenPreProgrammedDistributionsResponse.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.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.GetTokenPreProgrammedDistributionsResponse} msg The msg instance to transform.
- * @return {!Object}
- * @suppress {unusedLocalVariables} f is only used for nested messages
- */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.toObject = function(includeInstance, msg) {
-  var f, obj = {
-    v0: (f = msg.getV0()) && proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.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.GetTokenPreProgrammedDistributionsResponse}
- */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.deserializeBinary = function(bytes) {
-  var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse;
-  return proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.deserializeBinaryFromReader(msg, reader);
-};
-
-
-/**
- * Deserializes binary data (in protobuf wire format) from the
- * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse} msg The message object to deserialize into.
- * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse}
- */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.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.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.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.GetTokenPreProgrammedDistributionsResponse.prototype.serializeBinary = function() {
-  var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.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.GetTokenPreProgrammedDistributionsResponse} message
- * @param {!jspb.BinaryWriter} writer
- * @suppress {unusedLocalVariables} f is only used for nested messages
- */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.serializeBinaryToWriter = function(message, writer) {
-  var f = undefined;
-  f = message.getV0();
-  if (f != null) {
-    writer.writeMessage(
-      1,
-      f,
-      proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.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.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.oneofGroups_ = [[1,2]];
-
-/**
- * @enum {number}
- */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.ResultCase = {
-  RESULT_NOT_SET: 0,
-  TOKEN_DISTRIBUTIONS: 1,
-  PROOF: 2
-};
-
-/**
- * @return {proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.ResultCase}
+ * @return {proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.VersionCase}
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.prototype.getResultCase = function() {
-  return /** @type {proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.oneofGroups_[0]));
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.prototype.getVersionCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.VersionCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.oneofGroups_[0]));
 };
 
 
@@ -54451,8 +60516,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.toObject(opt_includeInstance, this);
 };
 
 
@@ -54461,15 +60526,13 @@ proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTo
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.toObject = function(includeInstance, msg) {
   var f, obj = {
-    tokenDistributions: (f = msg.getTokenDistributions()) && proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions.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.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.toObject(includeInstance, f)
   };
 
   if (includeInstance) {
@@ -54483,23 +60546,23 @@ proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTo
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse}
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0;
-  return proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse;
+  return proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse}
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -54507,19 +60570,9 @@ proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTo
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = new proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions.deserializeBinaryFromReader);
-      msg.setTokenDistributions(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.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.deserializeBinaryFromReader);
+      msg.setV0(value);
       break;
     default:
       reader.skipField();
@@ -54534,9 +60587,9 @@ proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTo
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -54544,40 +60597,50 @@ proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTo
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getTokenDistributions();
+  f = message.getV0();
   if (f != null) {
     writer.writeMessage(
       1,
       f,
-      proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions.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.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.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.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.oneofGroups_ = [[1,2]];
+
+/**
+ * @enum {number}
+ */
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.ResultCase = {
+  RESULT_NOT_SET: 0,
+  LAST_CLAIM: 1,
+  PROOF: 2
+};
+
+/**
+ * @return {proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.ResultCase}
+ */
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.prototype.getResultCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.ResultCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.oneofGroups_[0]));
+};
+
 
 
 if (jspb.Message.GENERATE_TO_OBJECT) {
@@ -54593,8 +60656,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.toObject(opt_includeInstance, this);
 };
 
 
@@ -54603,14 +60666,15 @@ proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTo
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.toObject = function(includeInstance, msg) {
   var f, obj = {
-    recipientId: msg.getRecipientId_asB64(),
-    amount: jspb.Message.getFieldWithDefault(msg, 2, 0)
+    lastClaim: (f = msg.getLastClaim()) && proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo.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) {
@@ -54624,23 +60688,23 @@ proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTo
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0}
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry;
-  return proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0;
+  return proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0}
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -54648,12 +60712,19 @@ proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTo
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = /** @type {!Uint8Array} */ (reader.readBytes());
-      msg.setRecipientId(value);
+      var value = new proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo;
+      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo.deserializeBinaryFromReader);
+      msg.setLastClaim(value);
       break;
     case 2:
-      var value = /** @type {number} */ (reader.readUint64());
-      msg.setAmount(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();
@@ -54668,9 +60739,9 @@ proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTo
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -54678,99 +60749,70 @@ proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTo
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getRecipientId_asU8();
-  if (f.length > 0) {
-    writer.writeBytes(
+  f = message.getLastClaim();
+  if (f != null) {
+    writer.writeMessage(
       1,
-      f
+      f,
+      proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo.serializeBinaryToWriter
     );
   }
-  f = message.getAmount();
-  if (f !== 0) {
-    writer.writeUint64(
+  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 recipient_id = 1;
- * @return {string}
- */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry.prototype.getRecipientId = function() {
-  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
-};
-
-
-/**
- * optional bytes recipient_id = 1;
- * This is a type-conversion wrapper around `getRecipientId()`
- * @return {string}
- */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry.prototype.getRecipientId_asB64 = function() {
-  return /** @type {string} */ (jspb.Message.bytesAsB64(
-      this.getRecipientId()));
-};
-
-
-/**
- * optional bytes recipient_id = 1;
- * Note that Uint8Array is not supported on all browsers.
- * @see http://caniuse.com/Uint8Array
- * This is a type-conversion wrapper around `getRecipientId()`
- * @return {!Uint8Array}
- */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry.prototype.getRecipientId_asU8 = function() {
-  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
-      this.getRecipientId()));
-};
-
 
 /**
- * @param {!(string|Uint8Array)} value
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry} 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.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry.prototype.setRecipientId = function(value) {
-  return jspb.Message.setProto3BytesField(this, 1, value);
-};
-
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo.oneofGroups_ = [[1,2,3,4]];
 
 /**
- * optional uint64 amount = 2;
- * @return {number}
+ * @enum {number}
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry.prototype.getAmount = function() {
-  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo.PaidAtCase = {
+  PAID_AT_NOT_SET: 0,
+  TIMESTAMP_MS: 1,
+  BLOCK_HEIGHT: 2,
+  EPOCH: 3,
+  RAW_BYTES: 4
 };
 
-
 /**
- * @param {number} value
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry} returns this
+ * @return {proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo.PaidAtCase}
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry.prototype.setAmount = function(value) {
-  return jspb.Message.setProto3IntField(this, 2, value);
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo.prototype.getPaidAtCase = function() {
+  return /** @type {proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo.PaidAtCase} */(jspb.Message.computeOneofCase(this, proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo.oneofGroups_[0]));
 };
 
 
 
-/**
- * List of repeated fields within this message type.
- * @private {!Array}
- * @const
- */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry.repeatedFields_ = [2];
-
-
-
 if (jspb.Message.GENERATE_TO_OBJECT) {
 /**
  * Creates an object representation of this proto.
@@ -54784,8 +60826,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
  *     http://goto/soy-param-migration
  * @return {!Object}
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo.prototype.toObject = function(opt_includeInstance) {
+  return proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo.toObject(opt_includeInstance, this);
 };
 
 
@@ -54794,15 +60836,16 @@ proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTo
  * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  *     the JSPB instance for transitional soy proto support:
  *     http://goto/soy-param-migration
- * @param {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry} msg The msg instance to transform.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo} msg The msg instance to transform.
  * @return {!Object}
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry.toObject = function(includeInstance, msg) {
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo.toObject = function(includeInstance, msg) {
   var f, obj = {
-    timestamp: jspb.Message.getFieldWithDefault(msg, 1, 0),
-    distributionsList: jspb.Message.toObjectList(msg.getDistributionsList(),
-    proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry.toObject, includeInstance)
+    timestampMs: jspb.Message.getFieldWithDefault(msg, 1, "0"),
+    blockHeight: jspb.Message.getFieldWithDefault(msg, 2, "0"),
+    epoch: jspb.Message.getFieldWithDefault(msg, 3, 0),
+    rawBytes: msg.getRawBytes_asB64()
   };
 
   if (includeInstance) {
@@ -54816,23 +60859,23 @@ proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTo
 /**
  * Deserializes binary data (in protobuf wire format).
  * @param {jspb.ByteSource} bytes The bytes to deserialize.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo}
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry.deserializeBinary = function(bytes) {
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo.deserializeBinary = function(bytes) {
   var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry;
-  return proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry.deserializeBinaryFromReader(msg, reader);
+  var msg = new proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo;
+  return proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo.deserializeBinaryFromReader(msg, reader);
 };
 
 
 /**
  * Deserializes binary data (in protobuf wire format) from the
  * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry} msg The message object to deserialize into.
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo} msg The message object to deserialize into.
  * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry}
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo}
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry.deserializeBinaryFromReader = function(msg, reader) {
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo.deserializeBinaryFromReader = function(msg, reader) {
   while (reader.nextField()) {
     if (reader.isEndGroup()) {
       break;
@@ -54840,13 +60883,20 @@ proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTo
     var field = reader.getFieldNumber();
     switch (field) {
     case 1:
-      var value = /** @type {number} */ (reader.readUint64());
-      msg.setTimestamp(value);
+      var value = /** @type {string} */ (reader.readUint64String());
+      msg.setTimestampMs(value);
       break;
     case 2:
-      var value = new proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry.deserializeBinaryFromReader);
-      msg.addDistributions(value);
+      var value = /** @type {string} */ (reader.readUint64String());
+      msg.setBlockHeight(value);
+      break;
+    case 3:
+      var value = /** @type {number} */ (reader.readUint32());
+      msg.setEpoch(value);
+      break;
+    case 4:
+      var value = /** @type {!Uint8Array} */ (reader.readBytes());
+      msg.setRawBytes(value);
       break;
     default:
       reader.skipField();
@@ -54861,9 +60911,9 @@ proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTo
  * Serializes the message to binary data (in protobuf wire format).
  * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry.prototype.serializeBinary = function() {
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo.prototype.serializeBinary = function() {
   var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry.serializeBinaryToWriter(this, writer);
+  proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo.serializeBinaryToWriter(this, writer);
   return writer.getResultBuffer();
 };
 
@@ -54871,271 +60921,236 @@ proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTo
 /**
  * Serializes the given message to binary data (in protobuf wire
  * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry} message
+ * @param {!proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo} message
  * @param {!jspb.BinaryWriter} writer
  * @suppress {unusedLocalVariables} f is only used for nested messages
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry.serializeBinaryToWriter = function(message, writer) {
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo.serializeBinaryToWriter = function(message, writer) {
   var f = undefined;
-  f = message.getTimestamp();
-  if (f !== 0) {
-    writer.writeUint64(
+  f = /** @type {string} */ (jspb.Message.getField(message, 1));
+  if (f != null) {
+    writer.writeUint64String(
       1,
       f
     );
   }
-  f = message.getDistributionsList();
-  if (f.length > 0) {
-    writer.writeRepeatedMessage(
+  f = /** @type {string} */ (jspb.Message.getField(message, 2));
+  if (f != null) {
+    writer.writeUint64String(
       2,
-      f,
-      proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry.serializeBinaryToWriter
+      f
+    );
+  }
+  f = /** @type {number} */ (jspb.Message.getField(message, 3));
+  if (f != null) {
+    writer.writeUint32(
+      3,
+      f
+    );
+  }
+  f = /** @type {!(string|Uint8Array)} */ (jspb.Message.getField(message, 4));
+  if (f != null) {
+    writer.writeBytes(
+      4,
+      f
     );
   }
 };
 
 
 /**
- * optional uint64 timestamp = 1;
- * @return {number}
+ * optional uint64 timestamp_ms = 1;
+ * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry.prototype.getTimestamp = function() {
-  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo.prototype.getTimestampMs = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "0"));
 };
 
 
 /**
- * @param {number} value
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry} returns this
+ * @param {string} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo} returns this
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry.prototype.setTimestamp = function(value) {
-  return jspb.Message.setProto3IntField(this, 1, value);
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo.prototype.setTimestampMs = function(value) {
+  return jspb.Message.setOneofField(this, 1, proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo.oneofGroups_[0], value);
 };
 
 
 /**
- * repeated TokenDistributionEntry distributions = 2;
- * @return {!Array}
+ * Clears the field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo} returns this
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry.prototype.getDistributionsList = function() {
-  return /** @type{!Array} */ (
-    jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry, 2));
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo.prototype.clearTimestampMs = function() {
+  return jspb.Message.setOneofField(this, 1, proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo.oneofGroups_[0], undefined);
 };
 
 
 /**
- * @param {!Array} value
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry} returns this
-*/
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry.prototype.setDistributionsList = function(value) {
-  return jspb.Message.setRepeatedWrapperField(this, 2, value);
+ * Returns whether this field is set.
+ * @return {boolean}
+ */
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo.prototype.hasTimestampMs = function() {
+  return jspb.Message.getField(this, 1) != null;
 };
 
 
 /**
- * @param {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry=} opt_value
- * @param {number=} opt_index
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry}
+ * optional uint64 block_height = 2;
+ * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry.prototype.addDistributions = function(opt_value, opt_index) {
-  return jspb.Message.addToRepeatedWrapperField(this, 2, opt_value, proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributionEntry, opt_index);
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo.prototype.getBlockHeight = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "0"));
 };
 
 
 /**
- * Clears the list making it empty but non-null.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry} returns this
+ * @param {string} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo} returns this
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry.prototype.clearDistributionsList = function() {
-  return this.setDistributionsList([]);
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo.prototype.setBlockHeight = function(value) {
+  return jspb.Message.setOneofField(this, 2, proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo.oneofGroups_[0], value);
 };
 
 
-
 /**
- * List of repeated fields within this message type.
- * @private {!Array}
- * @const
+ * Clears the field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo} returns this
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions.repeatedFields_ = [1];
-
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo.prototype.clearBlockHeight = function() {
+  return jspb.Message.setOneofField(this, 2, proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo.oneofGroups_[0], 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.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions.prototype.toObject = function(opt_includeInstance) {
-  return proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions.toObject(opt_includeInstance, this);
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo.prototype.hasBlockHeight = 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.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions} msg The msg instance to transform.
- * @return {!Object}
- * @suppress {unusedLocalVariables} f is only used for nested messages
+ * optional uint32 epoch = 3;
+ * @return {number}
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions.toObject = function(includeInstance, msg) {
-  var f, obj = {
-    tokenDistributionsList: jspb.Message.toObjectList(msg.getTokenDistributionsList(),
-    proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry.toObject, includeInstance)
-  };
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo.prototype.getEpoch = function() {
+  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));
+};
 
-  if (includeInstance) {
-    obj.$jspbMessageInstance = msg;
-  }
-  return obj;
+
+/**
+ * @param {number} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo.prototype.setEpoch = function(value) {
+  return jspb.Message.setOneofField(this, 3, proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo.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.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions}
+ * Clears the field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo} returns this
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions.deserializeBinary = function(bytes) {
-  var reader = new jspb.BinaryReader(bytes);
-  var msg = new proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions;
-  return proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions.deserializeBinaryFromReader(msg, reader);
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo.prototype.clearEpoch = function() {
+  return jspb.Message.setOneofField(this, 3, proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo.oneofGroups_[0], undefined);
 };
 
 
 /**
- * Deserializes binary data (in protobuf wire format) from the
- * given reader into the given message object.
- * @param {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions} msg The message object to deserialize into.
- * @param {!jspb.BinaryReader} reader The BinaryReader to use.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions}
+ * Returns whether this field is set.
+ * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions.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.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry;
-      reader.readMessage(value,proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry.deserializeBinaryFromReader);
-      msg.addTokenDistributions(value);
-      break;
-    default:
-      reader.skipField();
-      break;
-    }
-  }
-  return msg;
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo.prototype.hasEpoch = function() {
+  return jspb.Message.getField(this, 3) != null;
 };
 
 
 /**
- * Serializes the message to binary data (in protobuf wire format).
- * @return {!Uint8Array}
+ * optional bytes raw_bytes = 4;
+ * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions.prototype.serializeBinary = function() {
-  var writer = new jspb.BinaryWriter();
-  proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions.serializeBinaryToWriter(this, writer);
-  return writer.getResultBuffer();
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo.prototype.getRawBytes = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, ""));
 };
 
 
 /**
- * Serializes the given message to binary data (in protobuf wire
- * format), writing to the given BinaryWriter.
- * @param {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions} message
- * @param {!jspb.BinaryWriter} writer
- * @suppress {unusedLocalVariables} f is only used for nested messages
+ * optional bytes raw_bytes = 4;
+ * This is a type-conversion wrapper around `getRawBytes()`
+ * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions.serializeBinaryToWriter = function(message, writer) {
-  var f = undefined;
-  f = message.getTokenDistributionsList();
-  if (f.length > 0) {
-    writer.writeRepeatedMessage(
-      1,
-      f,
-      proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry.serializeBinaryToWriter
-    );
-  }
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo.prototype.getRawBytes_asB64 = function() {
+  return /** @type {string} */ (jspb.Message.bytesAsB64(
+      this.getRawBytes()));
 };
 
 
 /**
- * repeated TokenTimedDistributionEntry token_distributions = 1;
- * @return {!Array}
+ * optional bytes raw_bytes = 4;
+ * Note that Uint8Array is not supported on all browsers.
+ * @see http://caniuse.com/Uint8Array
+ * This is a type-conversion wrapper around `getRawBytes()`
+ * @return {!Uint8Array}
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions.prototype.getTokenDistributionsList = function() {
-  return /** @type{!Array} */ (
-    jspb.Message.getRepeatedWrapperField(this, proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry, 1));
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo.prototype.getRawBytes_asU8 = function() {
+  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
+      this.getRawBytes()));
 };
 
 
 /**
- * @param {!Array} value
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions} returns this
-*/
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions.prototype.setTokenDistributionsList = function(value) {
-  return jspb.Message.setRepeatedWrapperField(this, 1, value);
+ * @param {!(string|Uint8Array)} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo.prototype.setRawBytes = function(value) {
+  return jspb.Message.setOneofField(this, 4, proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo.oneofGroups_[0], value);
 };
 
 
 /**
- * @param {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry=} opt_value
- * @param {number=} opt_index
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry}
+ * Clears the field making it undefined.
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo} returns this
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions.prototype.addTokenDistributions = function(opt_value, opt_index) {
-  return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenTimedDistributionEntry, opt_index);
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo.prototype.clearRawBytes = function() {
+  return jspb.Message.setOneofField(this, 4, proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo.oneofGroups_[0], undefined);
 };
 
 
 /**
- * Clears the list making it empty but non-null.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions} returns this
+ * Returns whether this field is set.
+ * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions.prototype.clearTokenDistributionsList = function() {
-  return this.setTokenDistributionsList([]);
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo.prototype.hasRawBytes = function() {
+  return jspb.Message.getField(this, 4) != null;
 };
 
 
 /**
- * optional TokenDistributions token_distributions = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions}
+ * optional LastClaimInfo last_claim = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo}
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.prototype.getTokenDistributions = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions, 1));
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.prototype.getLastClaim = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo, 1));
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.TokenDistributions|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0} returns this
+ * @param {?proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.LastClaimInfo|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0} returns this
 */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.prototype.setTokenDistributions = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.oneofGroups_[0], value);
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.prototype.setLastClaim = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.oneofGroups_[0], value);
 };
 
 
 /**
  * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.prototype.clearTokenDistributions = function() {
-  return this.setTokenDistributions(undefined);
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.prototype.clearLastClaim = function() {
+  return this.setLastClaim(undefined);
 };
 
 
@@ -55143,7 +61158,7 @@ proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTo
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.prototype.hasTokenDistributions = function() {
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.prototype.hasLastClaim = function() {
   return jspb.Message.getField(this, 1) != null;
 };
 
@@ -55152,7 +61167,7 @@ proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTo
  * optional Proof proof = 2;
  * @return {?proto.org.dash.platform.dapi.v0.Proof}
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.prototype.getProof = function() {
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.prototype.getProof = function() {
   return /** @type{?proto.org.dash.platform.dapi.v0.Proof} */ (
     jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.Proof, 2));
 };
@@ -55160,18 +61175,18 @@ proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTo
 
 /**
  * @param {?proto.org.dash.platform.dapi.v0.Proof|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0} returns this
 */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.prototype.setProof = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.oneofGroups_[0], value);
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.prototype.setProof = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 2, proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.oneofGroups_[0], value);
 };
 
 
 /**
  * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.prototype.clearProof = function() {
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.prototype.clearProof = function() {
   return this.setProof(undefined);
 };
 
@@ -55180,7 +61195,7 @@ proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTo
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.prototype.hasProof = function() {
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.prototype.hasProof = function() {
   return jspb.Message.getField(this, 2) != null;
 };
 
@@ -55189,7 +61204,7 @@ proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTo
  * optional ResponseMetadata metadata = 3;
  * @return {?proto.org.dash.platform.dapi.v0.ResponseMetadata}
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.prototype.getMetadata = function() {
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.prototype.getMetadata = function() {
   return /** @type{?proto.org.dash.platform.dapi.v0.ResponseMetadata} */ (
     jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.ResponseMetadata, 3));
 };
@@ -55197,18 +61212,18 @@ proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTo
 
 /**
  * @param {?proto.org.dash.platform.dapi.v0.ResponseMetadata|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0} returns this
 */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.prototype.setMetadata = function(value) {
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.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.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0} returns this
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.prototype.clearMetadata = function() {
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.prototype.clearMetadata = function() {
   return this.setMetadata(undefined);
 };
 
@@ -55217,35 +61232,35 @@ proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTo
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0.prototype.hasMetadata = function() {
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0.prototype.hasMetadata = function() {
   return jspb.Message.getField(this, 3) != null;
 };
 
 
 /**
- * optional GetTokenPreProgrammedDistributionsResponseV0 v0 = 1;
- * @return {?proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0}
+ * optional GetTokenPerpetualDistributionLastClaimResponseV0 v0 = 1;
+ * @return {?proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0}
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.prototype.getV0 = function() {
-  return /** @type{?proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0} */ (
-    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0, 1));
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.prototype.getV0 = function() {
+  return /** @type{?proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0} */ (
+    jspb.Message.getWrapperField(this, proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0, 1));
 };
 
 
 /**
- * @param {?proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.GetTokenPreProgrammedDistributionsResponseV0|undefined} value
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse} returns this
+ * @param {?proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.GetTokenPerpetualDistributionLastClaimResponseV0|undefined} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse} returns this
 */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.prototype.setV0 = function(value) {
-  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.oneofGroups_[0], value);
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.prototype.setV0 = function(value) {
+  return jspb.Message.setOneofWrapperField(this, 1, proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.oneofGroups_[0], value);
 };
 
 
 /**
  * Clears the message field making it undefined.
- * @return {!proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse} returns this
+ * @return {!proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse} returns this
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.prototype.clearV0 = function() {
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.prototype.clearV0 = function() {
   return this.setV0(undefined);
 };
 
@@ -55254,7 +61269,7 @@ proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.proto
  * Returns whether this field is set.
  * @return {boolean}
  */
-proto.org.dash.platform.dapi.v0.GetTokenPreProgrammedDistributionsResponse.prototype.hasV0 = function() {
+proto.org.dash.platform.dapi.v0.GetTokenPerpetualDistributionLastClaimResponse.prototype.hasV0 = function() {
   return jspb.Message.getField(this, 1) != null;
 };
 
@@ -60579,7 +66594,8 @@ proto.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV
 proto.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.BurnEvent.toObject = function(includeInstance, msg) {
   var f, obj = {
     amount: jspb.Message.getFieldWithDefault(msg, 1, 0),
-    publicNote: jspb.Message.getFieldWithDefault(msg, 2, "")
+    burnFromId: msg.getBurnFromId_asB64(),
+    publicNote: jspb.Message.getFieldWithDefault(msg, 3, "")
   };
 
   if (includeInstance) {
@@ -60621,6 +66637,10 @@ proto.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV
       msg.setAmount(value);
       break;
     case 2:
+      var value = /** @type {!Uint8Array} */ (reader.readBytes());
+      msg.setBurnFromId(value);
+      break;
+    case 3:
       var value = /** @type {string} */ (reader.readString());
       msg.setPublicNote(value);
       break;
@@ -60660,10 +66680,17 @@ proto.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV
       f
     );
   }
-  f = /** @type {string} */ (jspb.Message.getField(message, 2));
+  f = message.getBurnFromId_asU8();
+  if (f.length > 0) {
+    writer.writeBytes(
+      2,
+      f
+    );
+  }
+  f = /** @type {string} */ (jspb.Message.getField(message, 3));
   if (f != null) {
     writer.writeString(
-      2,
+      3,
       f
     );
   }
@@ -60689,20 +66716,62 @@ proto.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV
 
 
 /**
- * optional string public_note = 2;
+ * optional bytes burn_from_id = 2;
  * @return {string}
  */
-proto.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.BurnEvent.prototype.getPublicNote = function() {
+proto.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.BurnEvent.prototype.getBurnFromId = function() {
   return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
 };
 
 
+/**
+ * optional bytes burn_from_id = 2;
+ * This is a type-conversion wrapper around `getBurnFromId()`
+ * @return {string}
+ */
+proto.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.BurnEvent.prototype.getBurnFromId_asB64 = function() {
+  return /** @type {string} */ (jspb.Message.bytesAsB64(
+      this.getBurnFromId()));
+};
+
+
+/**
+ * optional bytes burn_from_id = 2;
+ * Note that Uint8Array is not supported on all browsers.
+ * @see http://caniuse.com/Uint8Array
+ * This is a type-conversion wrapper around `getBurnFromId()`
+ * @return {!Uint8Array}
+ */
+proto.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.BurnEvent.prototype.getBurnFromId_asU8 = function() {
+  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
+      this.getBurnFromId()));
+};
+
+
+/**
+ * @param {!(string|Uint8Array)} value
+ * @return {!proto.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.BurnEvent} returns this
+ */
+proto.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.BurnEvent.prototype.setBurnFromId = function(value) {
+  return jspb.Message.setProto3BytesField(this, 2, value);
+};
+
+
+/**
+ * optional string public_note = 3;
+ * @return {string}
+ */
+proto.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.BurnEvent.prototype.getPublicNote = function() {
+  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, ""));
+};
+
+
 /**
  * @param {string} value
  * @return {!proto.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.BurnEvent} returns this
  */
 proto.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.BurnEvent.prototype.setPublicNote = function(value) {
-  return jspb.Message.setField(this, 2, value);
+  return jspb.Message.setField(this, 3, value);
 };
 
 
@@ -60711,7 +66780,7 @@ proto.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV
  * @return {!proto.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.BurnEvent} returns this
  */
 proto.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.BurnEvent.prototype.clearPublicNote = function() {
-  return jspb.Message.setField(this, 2, undefined);
+  return jspb.Message.setField(this, 3, undefined);
 };
 
 
@@ -60720,7 +66789,7 @@ proto.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV
  * @return {boolean}
  */
 proto.org.dash.platform.dapi.v0.GetGroupActionsResponse.GetGroupActionsResponseV0.BurnEvent.prototype.hasPublicNote = function() {
-  return jspb.Message.getField(this, 2) != null;
+  return jspb.Message.getField(this, 3) != 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 50c9e73794..a236851901 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
@@ -148,6 +148,15 @@ type PlatformgetIdentityByPublicKeyHash = {
   readonly responseType: typeof platform_pb.GetIdentityByPublicKeyHashResponse;
 };
 
+type PlatformgetIdentityByNonUniquePublicKeyHash = {
+  readonly methodName: string;
+  readonly service: typeof Platform;
+  readonly requestStream: false;
+  readonly responseStream: false;
+  readonly requestType: typeof platform_pb.GetIdentityByNonUniquePublicKeyHashRequest;
+  readonly responseType: typeof platform_pb.GetIdentityByNonUniquePublicKeyHashResponse;
+};
+
 type PlatformwaitForStateTransitionResult = {
   readonly methodName: string;
   readonly service: typeof Platform;
@@ -193,6 +202,15 @@ type PlatformgetEpochsInfo = {
   readonly responseType: typeof platform_pb.GetEpochsInfoResponse;
 };
 
+type PlatformgetFinalizedEpochInfos = {
+  readonly methodName: string;
+  readonly service: typeof Platform;
+  readonly requestStream: false;
+  readonly responseStream: false;
+  readonly requestType: typeof platform_pb.GetFinalizedEpochInfosRequest;
+  readonly responseType: typeof platform_pb.GetFinalizedEpochInfosResponse;
+};
+
 type PlatformgetContestedResources = {
   readonly methodName: string;
   readonly service: typeof Platform;
@@ -337,6 +355,15 @@ type PlatformgetTokenDirectPurchasePrices = {
   readonly responseType: typeof platform_pb.GetTokenDirectPurchasePricesResponse;
 };
 
+type PlatformgetTokenContractInfo = {
+  readonly methodName: string;
+  readonly service: typeof Platform;
+  readonly requestStream: false;
+  readonly responseStream: false;
+  readonly requestType: typeof platform_pb.GetTokenContractInfoRequest;
+  readonly responseType: typeof platform_pb.GetTokenContractInfoResponse;
+};
+
 type PlatformgetTokenPreProgrammedDistributions = {
   readonly methodName: string;
   readonly service: typeof Platform;
@@ -346,6 +373,15 @@ type PlatformgetTokenPreProgrammedDistributions = {
   readonly responseType: typeof platform_pb.GetTokenPreProgrammedDistributionsResponse;
 };
 
+type PlatformgetTokenPerpetualDistributionLastClaim = {
+  readonly methodName: string;
+  readonly service: typeof Platform;
+  readonly requestStream: false;
+  readonly responseStream: false;
+  readonly requestType: typeof platform_pb.GetTokenPerpetualDistributionLastClaimRequest;
+  readonly responseType: typeof platform_pb.GetTokenPerpetualDistributionLastClaimResponse;
+};
+
 type PlatformgetTokenTotalSupply = {
   readonly methodName: string;
   readonly service: typeof Platform;
@@ -409,11 +445,13 @@ export class Platform {
   static readonly getDataContracts: PlatformgetDataContracts;
   static readonly getDocuments: PlatformgetDocuments;
   static readonly getIdentityByPublicKeyHash: PlatformgetIdentityByPublicKeyHash;
+  static readonly getIdentityByNonUniquePublicKeyHash: PlatformgetIdentityByNonUniquePublicKeyHash;
   static readonly waitForStateTransitionResult: PlatformwaitForStateTransitionResult;
   static readonly getConsensusParams: PlatformgetConsensusParams;
   static readonly getProtocolVersionUpgradeState: PlatformgetProtocolVersionUpgradeState;
   static readonly getProtocolVersionUpgradeVoteStatus: PlatformgetProtocolVersionUpgradeVoteStatus;
   static readonly getEpochsInfo: PlatformgetEpochsInfo;
+  static readonly getFinalizedEpochInfos: PlatformgetFinalizedEpochInfos;
   static readonly getContestedResources: PlatformgetContestedResources;
   static readonly getContestedResourceVoteState: PlatformgetContestedResourceVoteState;
   static readonly getContestedResourceVotersForIdentity: PlatformgetContestedResourceVotersForIdentity;
@@ -430,7 +468,9 @@ export class Platform {
   static readonly getIdentitiesTokenInfos: PlatformgetIdentitiesTokenInfos;
   static readonly getTokenStatuses: PlatformgetTokenStatuses;
   static readonly getTokenDirectPurchasePrices: PlatformgetTokenDirectPurchasePrices;
+  static readonly getTokenContractInfo: PlatformgetTokenContractInfo;
   static readonly getTokenPreProgrammedDistributions: PlatformgetTokenPreProgrammedDistributions;
+  static readonly getTokenPerpetualDistributionLastClaim: PlatformgetTokenPerpetualDistributionLastClaim;
   static readonly getTokenTotalSupply: PlatformgetTokenTotalSupply;
   static readonly getGroupInfo: PlatformgetGroupInfo;
   static readonly getGroupInfos: PlatformgetGroupInfos;
@@ -614,6 +654,15 @@ export class PlatformClient {
     requestMessage: platform_pb.GetIdentityByPublicKeyHashRequest,
     callback: (error: ServiceError|null, responseMessage: platform_pb.GetIdentityByPublicKeyHashResponse|null) => void
   ): UnaryResponse;
+  getIdentityByNonUniquePublicKeyHash(
+    requestMessage: platform_pb.GetIdentityByNonUniquePublicKeyHashRequest,
+    metadata: grpc.Metadata,
+    callback: (error: ServiceError|null, responseMessage: platform_pb.GetIdentityByNonUniquePublicKeyHashResponse|null) => void
+  ): UnaryResponse;
+  getIdentityByNonUniquePublicKeyHash(
+    requestMessage: platform_pb.GetIdentityByNonUniquePublicKeyHashRequest,
+    callback: (error: ServiceError|null, responseMessage: platform_pb.GetIdentityByNonUniquePublicKeyHashResponse|null) => void
+  ): UnaryResponse;
   waitForStateTransitionResult(
     requestMessage: platform_pb.WaitForStateTransitionResultRequest,
     metadata: grpc.Metadata,
@@ -659,6 +708,15 @@ export class PlatformClient {
     requestMessage: platform_pb.GetEpochsInfoRequest,
     callback: (error: ServiceError|null, responseMessage: platform_pb.GetEpochsInfoResponse|null) => void
   ): UnaryResponse;
+  getFinalizedEpochInfos(
+    requestMessage: platform_pb.GetFinalizedEpochInfosRequest,
+    metadata: grpc.Metadata,
+    callback: (error: ServiceError|null, responseMessage: platform_pb.GetFinalizedEpochInfosResponse|null) => void
+  ): UnaryResponse;
+  getFinalizedEpochInfos(
+    requestMessage: platform_pb.GetFinalizedEpochInfosRequest,
+    callback: (error: ServiceError|null, responseMessage: platform_pb.GetFinalizedEpochInfosResponse|null) => void
+  ): UnaryResponse;
   getContestedResources(
     requestMessage: platform_pb.GetContestedResourcesRequest,
     metadata: grpc.Metadata,
@@ -803,6 +861,15 @@ export class PlatformClient {
     requestMessage: platform_pb.GetTokenDirectPurchasePricesRequest,
     callback: (error: ServiceError|null, responseMessage: platform_pb.GetTokenDirectPurchasePricesResponse|null) => void
   ): UnaryResponse;
+  getTokenContractInfo(
+    requestMessage: platform_pb.GetTokenContractInfoRequest,
+    metadata: grpc.Metadata,
+    callback: (error: ServiceError|null, responseMessage: platform_pb.GetTokenContractInfoResponse|null) => void
+  ): UnaryResponse;
+  getTokenContractInfo(
+    requestMessage: platform_pb.GetTokenContractInfoRequest,
+    callback: (error: ServiceError|null, responseMessage: platform_pb.GetTokenContractInfoResponse|null) => void
+  ): UnaryResponse;
   getTokenPreProgrammedDistributions(
     requestMessage: platform_pb.GetTokenPreProgrammedDistributionsRequest,
     metadata: grpc.Metadata,
@@ -812,6 +879,15 @@ export class PlatformClient {
     requestMessage: platform_pb.GetTokenPreProgrammedDistributionsRequest,
     callback: (error: ServiceError|null, responseMessage: platform_pb.GetTokenPreProgrammedDistributionsResponse|null) => void
   ): UnaryResponse;
+  getTokenPerpetualDistributionLastClaim(
+    requestMessage: platform_pb.GetTokenPerpetualDistributionLastClaimRequest,
+    metadata: grpc.Metadata,
+    callback: (error: ServiceError|null, responseMessage: platform_pb.GetTokenPerpetualDistributionLastClaimResponse|null) => void
+  ): UnaryResponse;
+  getTokenPerpetualDistributionLastClaim(
+    requestMessage: platform_pb.GetTokenPerpetualDistributionLastClaimRequest,
+    callback: (error: ServiceError|null, responseMessage: platform_pb.GetTokenPerpetualDistributionLastClaimResponse|null) => void
+  ): UnaryResponse;
   getTokenTotalSupply(
     requestMessage: platform_pb.GetTokenTotalSupplyRequest,
     metadata: grpc.Metadata,
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 fed2c4a460..53ee1b9da3 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
@@ -154,6 +154,15 @@ Platform.getIdentityByPublicKeyHash = {
   responseType: platform_pb.GetIdentityByPublicKeyHashResponse
 };
 
+Platform.getIdentityByNonUniquePublicKeyHash = {
+  methodName: "getIdentityByNonUniquePublicKeyHash",
+  service: Platform,
+  requestStream: false,
+  responseStream: false,
+  requestType: platform_pb.GetIdentityByNonUniquePublicKeyHashRequest,
+  responseType: platform_pb.GetIdentityByNonUniquePublicKeyHashResponse
+};
+
 Platform.waitForStateTransitionResult = {
   methodName: "waitForStateTransitionResult",
   service: Platform,
@@ -199,6 +208,15 @@ Platform.getEpochsInfo = {
   responseType: platform_pb.GetEpochsInfoResponse
 };
 
+Platform.getFinalizedEpochInfos = {
+  methodName: "getFinalizedEpochInfos",
+  service: Platform,
+  requestStream: false,
+  responseStream: false,
+  requestType: platform_pb.GetFinalizedEpochInfosRequest,
+  responseType: platform_pb.GetFinalizedEpochInfosResponse
+};
+
 Platform.getContestedResources = {
   methodName: "getContestedResources",
   service: Platform,
@@ -343,6 +361,15 @@ Platform.getTokenDirectPurchasePrices = {
   responseType: platform_pb.GetTokenDirectPurchasePricesResponse
 };
 
+Platform.getTokenContractInfo = {
+  methodName: "getTokenContractInfo",
+  service: Platform,
+  requestStream: false,
+  responseStream: false,
+  requestType: platform_pb.GetTokenContractInfoRequest,
+  responseType: platform_pb.GetTokenContractInfoResponse
+};
+
 Platform.getTokenPreProgrammedDistributions = {
   methodName: "getTokenPreProgrammedDistributions",
   service: Platform,
@@ -352,6 +379,15 @@ Platform.getTokenPreProgrammedDistributions = {
   responseType: platform_pb.GetTokenPreProgrammedDistributionsResponse
 };
 
+Platform.getTokenPerpetualDistributionLastClaim = {
+  methodName: "getTokenPerpetualDistributionLastClaim",
+  service: Platform,
+  requestStream: false,
+  responseStream: false,
+  requestType: platform_pb.GetTokenPerpetualDistributionLastClaimRequest,
+  responseType: platform_pb.GetTokenPerpetualDistributionLastClaimResponse
+};
+
 Platform.getTokenTotalSupply = {
   methodName: "getTokenTotalSupply",
   service: Platform,
@@ -900,6 +936,37 @@ PlatformClient.prototype.getIdentityByPublicKeyHash = function getIdentityByPubl
   };
 };
 
+PlatformClient.prototype.getIdentityByNonUniquePublicKeyHash = function getIdentityByNonUniquePublicKeyHash(requestMessage, metadata, callback) {
+  if (arguments.length === 2) {
+    callback = arguments[1];
+  }
+  var client = grpc.unary(Platform.getIdentityByNonUniquePublicKeyHash, {
+    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.waitForStateTransitionResult = function waitForStateTransitionResult(requestMessage, metadata, callback) {
   if (arguments.length === 2) {
     callback = arguments[1];
@@ -1055,6 +1122,37 @@ PlatformClient.prototype.getEpochsInfo = function getEpochsInfo(requestMessage,
   };
 };
 
+PlatformClient.prototype.getFinalizedEpochInfos = function getFinalizedEpochInfos(requestMessage, metadata, callback) {
+  if (arguments.length === 2) {
+    callback = arguments[1];
+  }
+  var client = grpc.unary(Platform.getFinalizedEpochInfos, {
+    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.getContestedResources = function getContestedResources(requestMessage, metadata, callback) {
   if (arguments.length === 2) {
     callback = arguments[1];
@@ -1551,6 +1649,37 @@ PlatformClient.prototype.getTokenDirectPurchasePrices = function getTokenDirectP
   };
 };
 
+PlatformClient.prototype.getTokenContractInfo = function getTokenContractInfo(requestMessage, metadata, callback) {
+  if (arguments.length === 2) {
+    callback = arguments[1];
+  }
+  var client = grpc.unary(Platform.getTokenContractInfo, {
+    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.getTokenPreProgrammedDistributions = function getTokenPreProgrammedDistributions(requestMessage, metadata, callback) {
   if (arguments.length === 2) {
     callback = arguments[1];
@@ -1582,6 +1711,37 @@ PlatformClient.prototype.getTokenPreProgrammedDistributions = function getTokenP
   };
 };
 
+PlatformClient.prototype.getTokenPerpetualDistributionLastClaim = function getTokenPerpetualDistributionLastClaim(requestMessage, metadata, callback) {
+  if (arguments.length === 2) {
+    callback = arguments[1];
+  }
+  var client = grpc.unary(Platform.getTokenPerpetualDistributionLastClaim, {
+    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.getTokenTotalSupply = function getTokenTotalSupply(requestMessage, metadata, callback) {
   if (arguments.length === 2) {
     callback = arguments[1];
diff --git a/packages/dashmate/configs/defaults/getBaseConfigFactory.js b/packages/dashmate/configs/defaults/getBaseConfigFactory.js
index 96e6bae557..09353d6520 100644
--- a/packages/dashmate/configs/defaults/getBaseConfigFactory.js
+++ b/packages/dashmate/configs/defaults/getBaseConfigFactory.js
@@ -313,7 +313,7 @@ export default function getBaseConfigFactory() {
           tenderdash: {
             mode: 'full',
             docker: {
-              image: 'dashpay/tenderdash:1',
+              image: 'dashpay/tenderdash:1-dev',
             },
             p2p: {
               host: '0.0.0.0',
diff --git a/packages/dashmate/configs/getConfigFileMigrationsFactory.js b/packages/dashmate/configs/getConfigFileMigrationsFactory.js
index 360128a31a..9aa5870c94 100644
--- a/packages/dashmate/configs/getConfigFileMigrationsFactory.js
+++ b/packages/dashmate/configs/getConfigFileMigrationsFactory.js
@@ -1106,6 +1106,7 @@ export default function getConfigFileMigrationsFactory(homeDir, defaultConfigs)
 
             options.platform.drive.abci.docker.image = 'dashpay/drive:2-dev';
             options.platform.dapi.api.docker.image = 'dashpay/dapi:2-dev';
+            options.platform.drive.tenderdash.docker.image = 'dashpay/tenderdash:1-dev';
           });
         return configFile;
       },

From 999a5291f2c07b445060a72c7bac6e272750eccd Mon Sep 17 00:00:00 2001
From: Ivan Shumkov 
Date: Wed, 24 Sep 2025 20:23:09 +0700
Subject: [PATCH 3/3] docs: added new commit to changeling

---
 CHANGELOG.md | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index ebfbeee916..6a396e1f94 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -6,6 +6,10 @@
 * **drive:** document filter for state transition subscriptions part 2 ([#2781](https://github.com/dashpay/platform/issues/2781))
 * **sdk:** add more SDK methods ([#2784](https://github.com/dashpay/platform/issues/2784))
 
+### Bug Fixes
+
+* **dashmate:** incompatible tenderdash version ([#2786](https://github.com/dashpay/platform/issues/2786))
+
 
 ### Performance Improvements